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:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user