From 6908d960b24072043923adcd6ecc0aa128496187 Mon Sep 17 00:00:00 2001 From: sterni Date: Thu, 27 Jan 2022 12:42:23 +0100 Subject: feat(3p/overlays/ecl-static): 21.2.1 -> 1c98924 Seems like some issues to do with bytecode compilation have been fixed at HEAD. closer-mop compiles again and an ironclad failure with the next quicklisp/channel bump is avoided. In this change pathname handling in ECL also changed somehow, causing it to make the :directory part absolute by prefixing it with a slash which made ld.bfd unhappy while linking an output path that began with a double slash. This problem can be avoided by constructing the path as ANSI Common Lisp intended. The truename on the out path is important to make it recognize that it is indeed a directory. Change-Id: I5e744022b92502f99ac0b33411a6be443707e200 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5076 Tested-by: BuildkiteCI Reviewed-by: tazjin --- nix/buildLisp/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'nix') diff --git a/nix/buildLisp/default.nix b/nix/buildLisp/default.nix index 442ac7dfe1..ab23b30210 100644 --- a/nix/buildLisp/default.nix +++ b/nix/buildLisp/default.nix @@ -413,10 +413,9 @@ let (ext:install-c-compiler) (c:build-program - (make-pathname :name "${name}" - :directory (concatenate 'string - (getenv-or-fail "out") - "/bin")) + (merge-pathnames (make-pathname :directory '(:relative "bin") + :name "${name}") + (truename (getenv-or-fail "out"))) :epilogue-code `(progn ;; UIOP doesn't understand ECL, so we need to make it ;; aware that we are a proper executable, causing it -- cgit 1.4.1