diff options
Diffstat (limited to 'pkgs/build-support/libredirect/default.nix')
-rw-r--r-- | pkgs/build-support/libredirect/default.nix | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix index 5545c93c19e..9ed00c8a8f6 100644 --- a/pkgs/build-support/libredirect/default.nix +++ b/pkgs/build-support/libredirect/default.nix @@ -44,7 +44,7 @@ else stdenv.mkDerivation rec { -isystem ${llvmPackages_13.clang.libc}/include \ -isystem ${llvmPackages_13.libclang.lib}/lib/clang/*/include \ -L${llvmPackages_13.clang.libc}/lib \ - -Wl,-install_name,$out/lib/$libName \ + -Wl,-install_name,$libName \ -Wall -std=c99 -O3 -fPIC libredirect.c \ -ldl -shared -o "$libName" '' else if stdenv.isDarwin then '' @@ -73,6 +73,12 @@ else stdenv.mkDerivation rec { install -vD "$libName" "$out/lib/$libName" + '' + lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) '' + # dylib will be rejected unless dylib rpath gets explictly set + install_name_tool \ + -change $libName $out/lib/$libName \ + $out/lib/$libName + '' + '' # Provide a setup hook that injects our library into every process. mkdir -p "$hook/nix-support" cat <<SETUP_HOOK > "$hook/nix-support/setup-hook" |