summary refs log tree commit diff
path: root/pkgs/build-support/libredirect
diff options
context:
space:
mode:
authorJonathan Ringer <jonringer@users.noreply.github.com>2022-01-24 03:20:51 -0800
committerGitHub <noreply@github.com>2022-01-24 12:20:51 +0100
commit4bde5a3a68d8d7095017f57c831b6f9540848e16 (patch)
tree5ebccd6c7432cb9c8d4925a5ad6d4abfce766d6f /pkgs/build-support/libredirect
parentfde0b2e2f28aeac074e424bb0a17917ceeee43b9 (diff)
downloadnixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar.gz
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar.bz2
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar.lz
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar.xz
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.tar.zst
nixpkgs-4bde5a3a68d8d7095017f57c831b6f9540848e16.zip
libredirect: fix build for aarch64-darwin (PR #156460)
Diffstat (limited to 'pkgs/build-support/libredirect')
-rw-r--r--pkgs/build-support/libredirect/default.nix8
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"