diff options
-rw-r--r-- | nix/buildLisp/default.nix | 7 | ||||
-rw-r--r-- | third_party/lisp/closer-mop.nix | 4 | ||||
-rw-r--r-- | third_party/overlays/ecl-static.nix | 24 |
3 files changed, 13 insertions, 22 deletions
diff --git a/nix/buildLisp/default.nix b/nix/buildLisp/default.nix index 442ac7dfe14f..ab23b302107d 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 diff --git a/third_party/lisp/closer-mop.nix b/third_party/lisp/closer-mop.nix index 419772ba97c3..145b9cfd4325 100644 --- a/third_party/lisp/closer-mop.nix +++ b/third_party/lisp/closer-mop.nix @@ -16,8 +16,4 @@ in depot.nix.buildLisp.library { ccl = "${src}/closer-clozure.lisp"; } ]; - - brokenOn = [ - "ecl" # https://github.com/pcostanza/closer-mop/issues/20 - ]; } diff --git a/third_party/overlays/ecl-static.nix b/third_party/overlays/ecl-static.nix index beda6641a0a6..66579c33abce 100644 --- a/third_party/overlays/ecl-static.nix +++ b/third_party/overlays/ecl-static.nix @@ -19,20 +19,16 @@ self: super: # See https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic ecl-static = (super.pkgsMusl.ecl.override { inherit (self.pkgsStatic) gmp libffi boehmgc; - }).overrideAttrs (drv: { - # Patches that make .fasc files concatenable again - patches = drv.patches ++ [ - (self.fetchpatch { - name = "make-bytecode-fasl-concatenatable-1.patch"; - url = "https://gitlab.com/embeddable-common-lisp/ecl/-/commit/fbb75a0fc524e3280d89d8abf3be2ee9924955c8.patch"; - sha256 = "0k6cx1bh835rl0j0wbbi5nj0aa2rwbyfyz5q2jw643iqc62l16kv"; - }) - (self.fetchpatch { - name = "make-bytecode-fasl-concatenatable-2.patch"; - url = "https://gitlab.com/embeddable-common-lisp/ecl/-/commit/a8b1c0da43f89800d09c23a27832d0b4c9dcc1e8.patch"; - sha256 = "18hl79lss0dxglpa34hszqb6ajvs8rs4b4g1qlrqrvgh1gs667n0"; - }) - ]; + }).overrideAttrs (drv: rec { + # version must not be changed as it indicates where to find the bundled libs, + # using ecl HEAD is necessary for us since it includes multiple fixes to do + # with bytecode compilation and allows to concatenate fasc files again. + src = self.fetchFromGitLab { + owner = "embeddable-common-lisp"; + repo = "ecl"; + rev = "1c989247c1b0bf1d38a76aec30b9ca5e41afe1e3"; + sha256 = "0bzjqw6m1kk5z5b81yizic347k931msp5lf78x65dcw3fqfwv3xn"; + }; configureFlags = drv.configureFlags ++ [ "--disable-shared" "--with-dffi=no" # will fail at runtime anyways if statically linked |