diff options
author | Anthony Cowley <acowley@gmail.com> | 2016-09-24 15:28:10 -0400 |
---|---|---|
committer | Anthony Cowley <acowley@gmail.com> | 2016-09-25 20:47:16 -0400 |
commit | 3835a1917fe063408658afb5f006bbe2f6f32042 (patch) | |
tree | f375f333ba6c3b45f71c431d9f9339ade63d0221 | |
parent | 0593ad2b1613e22efa88307ee6ee4115563721fb (diff) | |
download | nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar.gz nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar.bz2 nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar.lz nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar.xz nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.tar.zst nixlib-3835a1917fe063408658afb5f006bbe2f6f32042.zip |
mlton: darwin bootstrap fixes
Allow mlton to compile in a more barren sandbox. The bootstrapping binaries for darwin have dynamic linking dependencies outside of the nix store. This patch shifts them to point to the appropriate library within the nix store.
-rw-r--r-- | pkgs/development/compilers/mlton/default.nix | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix index 9c5ce109b86b..583f6f80137f 100644 --- a/pkgs/development/compilers/mlton/default.nix +++ b/pkgs/development/compilers/mlton/default.nix @@ -63,6 +63,8 @@ stdenv.mkDerivation rec { substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton '' + stdenv.lib.optionalString stdenv.cc.isClang '' sed -i "s_ patch -s -p0 <gdtoa.hide-public-fns.patch_ patch -s -p0 <gdtoa.hide-public-fns.patch\n\tsed -i 's|printf(emptyfmt|printf(\"\"|g' ./gdtoa/arithchk.c_" ./runtime/Makefile + '' + stdenv.lib.optionalString stdenv.isDarwin '' + sed -i 's|XCFLAGS += -I/usr/local/include -I/sw/include -I/opt/local/include||' ./runtime/Makefile ''; preBuild = '' @@ -83,6 +85,11 @@ stdenv.mkDerivation rec { for e in mllex mlyacc ; do patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e done + '' + stdenv.lib.optionalString stdenv.isDarwin '' + # Patch libgmp linking + install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile + install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mlyacc + install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mllex ''; doCheck = true; |