From b09a788e13712f694f12ea1d0fdbf630395effd2 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 25 May 2014 03:29:24 -0500 Subject: [PATCH] Correct patch the rpath for GHC-built executables on Darwin @peti This addresses #2488. --- pkgs/build-support/cabal/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix index 70fb72f99fb..7605d863c21 100644 --- a/pkgs/build-support/cabal/default.nix +++ b/pkgs/build-support/cabal/default.nix @@ -197,6 +197,9 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) '' configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"; ''} + ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) '' + configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"; + ''} echo "configure flags: $extraConfigureFlags $configureFlags" ./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \ @@ -256,6 +259,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version; ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages fi + ${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) '' + for exe in $out/bin/* ; do + install_name_tool -add_rpath \ + $out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe + done + ''} + eval "$postInstall" '';