summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2017-12-25 22:11:38 +0000
committerDomen Kožar <domen@dev.si>2017-12-25 22:56:32 +0000
commitbd7c8ea2553b11249e987046f88b104902d5644b (patch)
tree5331f002ed4fef5ebdfae8bda9b6aac35af027be
parentghc binaries: fix eval (diff)
downloadnixpkgs-bd7c8ea2553b11249e987046f88b104902d5644b.tar.gz
ghc binaries: compile on darwinorigin/ghc-prebuilt
-rw-r--r--pkgs/development/compilers/ghc/7.10.3-binary.nix9
-rw-r--r--pkgs/development/compilers/ghc/7.8.4-binary.nix9
-rw-r--r--pkgs/development/compilers/ghc/8.2.1-binary.nix10
3 files changed, 25 insertions, 3 deletions
diff --git a/pkgs/development/compilers/ghc/7.10.3-binary.nix b/pkgs/development/compilers/ghc/7.10.3-binary.nix
index d52a8251a72f..4733da06098c 100644
--- a/pkgs/development/compilers/ghc/7.10.3-binary.nix
+++ b/pkgs/development/compilers/ghc/7.10.3-binary.nix
@@ -2,6 +2,7 @@
, fetchurl, perl
, ncurses5, gmp, libiconv
, enableIntegerSimple ? false
+, gcc
}:
let
@@ -50,6 +51,12 @@ stdenv.mkDerivation rec {
# during linking
stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
+ # not enough room in the object files for the full path to libiconv :(
+ for exe in $(find . -type f -executable); do
+ isScript $exe && continue
+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/5/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
+ done
'' +
# Some scripts used during the build need to have their shebangs patched
@@ -118,7 +125,7 @@ stdenv.mkDerivation rec {
for exe in $(find "$out" -type f -executable); do
isScript $exe && continue
ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
- install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/5/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
done
for file in $(find "$out" -name setup-config); do
diff --git a/pkgs/development/compilers/ghc/7.8.4-binary.nix b/pkgs/development/compilers/ghc/7.8.4-binary.nix
index dae7cfd4d9fa..0a6892615e4b 100644
--- a/pkgs/development/compilers/ghc/7.8.4-binary.nix
+++ b/pkgs/development/compilers/ghc/7.8.4-binary.nix
@@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
# during linking
stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
+ # not enough room in the object files for the full path to libiconv :(
+ for exe in $(find . -type f -executable); do
+ isScript $exe && continue
+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
+ for file in $(find . -name setup-config); do
+ substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
+ done
+ done
'' +
# Some scripts used during the build need to have their shebangs patched
diff --git a/pkgs/development/compilers/ghc/8.2.1-binary.nix b/pkgs/development/compilers/ghc/8.2.1-binary.nix
index 8148e483a41c..8ddf8a941993 100644
--- a/pkgs/development/compilers/ghc/8.2.1-binary.nix
+++ b/pkgs/development/compilers/ghc/8.2.1-binary.nix
@@ -1,5 +1,5 @@
{ stdenv
-, fetchurl, perl
+, fetchurl, perl, gcc
, ncurses5, gmp, libiconv
, enableIntegerSimple ? false
}:
@@ -54,6 +54,12 @@ stdenv.mkDerivation rec {
# during linking
stdenv.lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
+ # not enough room in the object files for the full path to libiconv :(
+ for exe in $(find . -type f -executable); do
+ isScript $exe && continue
+ ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
+ done
'' +
# Some scripts used during the build need to have their shebangs patched
@@ -122,7 +128,7 @@ stdenv.mkDerivation rec {
for exe in $(find "$out" -type f -executable); do
isScript $exe && continue
ln -fs ${libiconv}/lib/libiconv.dylib $(dirname $exe)/libiconv.dylib
- install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib $exe
+ install_name_tool -change /usr/lib/libiconv.2.dylib @executable_path/libiconv.dylib -change /usr/local/lib/gcc/6/libgcc_s.1.dylib ${gcc.cc.lib}/lib/libgcc_s.1.dylib $exe
done
for file in $(find "$out" -name setup-config); do