Add a setup hook for fixing dylib install names on Darwin

Install names need to be absolute paths, otherwise programs that link
against the dylib won't work without setting $DYLD_LIBRARY_PATH.  Most
packages do this correctly, but some (like Boost and ICU) do not.
This setup hook absolutizes all install names.
This commit is contained in:
Eelco Dolstra
2014-01-15 13:41:09 +01:00
parent abf6896aaf
commit 8622548160
5 changed files with 51 additions and 10 deletions
+5 -1
View File
@@ -1,4 +1,4 @@
{stdenv, fetchurl}:
{ stdenv, fetchurl, fixDarwinDylibNames }:
let
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
sha256 = "14l0kl17nirc34frcybzg0snknaks23abhdxkmsqg3k9sil5wk9g";
};
# FIXME: This fixes dylib references in the dylibs themselves, but
# not in the programs in $out/bin.
buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
postUnpack = ''
sourceRoot=''${sourceRoot}/source
echo Source root reset to ''${sourceRoot}