summary refs log tree commit diff
path: root/pkgs/development/compilers/ecl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/ecl/default.nix')
-rw-r--r--pkgs/development/compilers/ecl/default.nix24
1 files changed, 14 insertions, 10 deletions
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 083998049c1..d75418b41ef 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -47,20 +47,24 @@ stdenv.mkDerivation {
     (if threadSupport then "--enable-threads" else "--disable-threads")
     "--with-gmp-prefix=${gmp.dev}"
     "--with-libffi-prefix=${libffi.dev}"
-    ]
-    ++
-    (lib.optional (! noUnicode)
-      "--enable-unicode")
-    ;
+  ]
+  ++
+  (lib.optional useBoehmgc
+    "--with-libgc-prefix=${boehmgc.dev}")
+  ++
+  (lib.optional (! noUnicode)
+    "--enable-unicode")
+  ;
 
   hardeningDisable = [ "format" ];
 
-  postInstall = ''
+  postInstall = let
+    ldArgs = lib.strings.concatMapStringsSep " "
+      (l: ''--prefix NIX_LDFLAGS ' ' "-L${l.lib or l.out or l}/lib"'')
+      ([ gmp libffi ] ++ lib.optional useBoehmgc boehmgc);
+  in ''
     sed -e 's/@[-a-zA-Z_]*@//g' -i $out/bin/ecl-config
-    wrapProgram "$out/bin/ecl" \
-      --prefix PATH ':' "${gcc}/bin" \
-      --prefix NIX_LDFLAGS ' ' "-L${gmp.lib or gmp.out or gmp}/lib" \
-      --prefix NIX_LDFLAGS ' ' "-L${libffi.lib or libffi.out or libffi}/lib"
+    wrapProgram "$out/bin/ecl" --prefix PATH ':' "${gcc}/bin" ${ldArgs}
   '';
 
   meta = {