diff options
author | sterni <sternenseemann@systemli.org> | 2022-01-27T11·42+0100 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2022-01-28T10·43+0000 |
commit | 6908d960b24072043923adcd6ecc0aa128496187 (patch) | |
tree | bef57de5351f9de85f9c7d005664b4394eefcc16 /third_party | |
parent | 1673fe95c8e0187844b3607e02e37963cb79dba2 (diff) |
feat(3p/overlays/ecl-static): 21.2.1 -> 1c98924 r/3692
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 <tazjin@tvl.su>
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/lisp/closer-mop.nix | 4 | ||||
-rw-r--r-- | third_party/overlays/ecl-static.nix | 24 |
2 files changed, 10 insertions, 18 deletions
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 |