diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-06-27 11:15:28 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-09 12:44:49 +0200 |
commit | 83a41771abbfcfc027270671be55eb3ed1606a46 (patch) | |
tree | 88edc307d9adc91a0f6d91ddefec6a9044a5b173 /pkgs/development/tools/misc/patchelf | |
parent | b23dbb1a5dffbfa3abb47fcd0f1579ac2e6f29fc (diff) | |
download | nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar.gz nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar.bz2 nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar.lz nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar.xz nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.tar.zst nixpkgs-83a41771abbfcfc027270671be55eb3ed1606a46.zip |
Move RPATH shrinking from stdenv to a setup hook provided by patchelf
Diffstat (limited to 'pkgs/development/tools/misc/patchelf')
-rw-r--r-- | pkgs/development/tools/misc/patchelf/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/tools/misc/patchelf/setup-hook.sh | 18 |
2 files changed, 20 insertions, 0 deletions
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix index 06b5c2ef516..5aa81e46bed 100644 --- a/pkgs/development/tools/misc/patchelf/default.nix +++ b/pkgs/development/tools/misc/patchelf/default.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation rec { sha256 = "c99f84d124347340c36707089ec8f70530abd56e7827c54d506eb4cc097a17e7"; }; + setupHook = [ ./setup-hook.sh ]; + meta = { homepage = http://nixos.org/patchelf.html; license = "GPL"; diff --git a/pkgs/development/tools/misc/patchelf/setup-hook.sh b/pkgs/development/tools/misc/patchelf/setup-hook.sh new file mode 100644 index 00000000000..e27d1ed5b00 --- /dev/null +++ b/pkgs/development/tools/misc/patchelf/setup-hook.sh @@ -0,0 +1,18 @@ +# This setup hook calls patchelf to automatically remove unneeded +# directories from the RPATH of every library or executable in every +# output. + +if [ -z "$dontPatchELF" ]; then + addHook fixupOutput 'patchELF "$prefix"' +fi + +patchELF() { + header "patching ELF executables and libraries in $prefix" + if [ -e "$prefix" ]; then + find "$prefix" \( \ + \( -type f -a -name "*.so*" \) -o \ + \( -type f -a -perm +0100 \) \ + \) -print -exec patchelf --shrink-rpath '{}' \; + fi + stopNest +} |