about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nix/buildLisp/default.nix7
-rw-r--r--third_party/lisp/closer-mop.nix4
-rw-r--r--third_party/overlays/ecl-static.nix24
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