From 342559e0a1ef81ca1df1c2230095468069ddef93 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Mon, 2 Apr 2012 14:15:01 +0000 Subject: [PATCH] glibc: Fixed gencat and librt impurities. Patch submitted by Jack Cummings to the nix-dev mailing list in message <20120309092909.GG39859@ice9.mudshark.org>. svn path=/nixpkgs/branches/stdenv-updates/; revision=33536 --- pkgs/development/libraries/glibc/2.13/builder.sh | 6 ++++++ pkgs/development/libraries/glibc/2.14/builder.sh | 7 +++++++ pkgs/tools/misc/coreutils/default.nix | 8 ++++++++ 3 files changed, 21 insertions(+) diff --git a/pkgs/development/libraries/glibc/2.13/builder.sh b/pkgs/development/libraries/glibc/2.13/builder.sh index 9a1c1490019..f979b91200d 100644 --- a/pkgs/development/libraries/glibc/2.13/builder.sh +++ b/pkgs/development/libraries/glibc/2.13/builder.sh @@ -51,5 +51,11 @@ postInstall() { rm -f $out/lib/libgcc_s.so.1 } +postFixup() { + # libelf uses gencat, so we need to fix it's rpath so that it doesn't pick up the system rpath. + patchelf --set-rpath $out/lib $out/bin/gencat + # librt (used by acl, used by coreutils) links against pthread, try *not* to pick up the system one. + patchelf --set-rpath $out/lib $out/lib/librt-*.so +} genericBuild diff --git a/pkgs/development/libraries/glibc/2.14/builder.sh b/pkgs/development/libraries/glibc/2.14/builder.sh index 9a1c1490019..7d829816fb7 100644 --- a/pkgs/development/libraries/glibc/2.14/builder.sh +++ b/pkgs/development/libraries/glibc/2.14/builder.sh @@ -51,5 +51,12 @@ postInstall() { rm -f $out/lib/libgcc_s.so.1 } +postFixup() { + # libelf uses gencat, so we need to fix it's rpath so that it doesn't pick up the system rpath. + patchelf --set-rpath $out/lib $out/bin/gencat + # librt (used by acl, used by coreutils) links against pthread, try *not* to pick up the system one. + patchelf --set-rpath $out/lib $out/lib/librt-*.so +} + genericBuild diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index 597ab802d74..9ccb5226ced 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -44,6 +44,14 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = stdenv.lib.optionalString selinuxSupport "-lsepol"; + # the coreutils install calls the ginstall just compiled, before we have + # a chance to patchelf it. + libPath = stdenv.lib.makeLibraryPath ([stdenv.gcc.libc] ++ buildInputs); + + preInstall = '' + patchelf --set-rpath $libPath src/ginstall + ''; + meta = { homepage = http://www.gnu.org/software/coreutils/; description = "The basic file, shell and text manipulation utilities of the GNU operating system";