Author: simons
Date: Mon Apr  2 14:15:01 2012
New Revision: 33536
URL: https://nixos.org/websvn/nix/?rev=33536&sc=1

Log:
glibc: Fixed gencat and librt impurities.

Patch submitted by Jack Cummings <[email protected]> to the nix-dev
mailing list in message <[email protected]>.

Modified:
   
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.13/builder.sh
   
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.14/builder.sh
   nixpkgs/branches/stdenv-updates/pkgs/tools/misc/coreutils/default.nix

Modified: 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.13/builder.sh
==============================================================================
--- 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.13/builder.sh
    Mon Apr  2 10:24:30 2012        (r33535)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.13/builder.sh
    Mon Apr  2 14:15:01 2012        (r33536)
@@ -51,5 +51,11 @@
     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

Modified: 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.14/builder.sh
==============================================================================
--- 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.14/builder.sh
    Mon Apr  2 10:24:30 2012        (r33535)
+++ 
nixpkgs/branches/stdenv-updates/pkgs/development/libraries/glibc/2.14/builder.sh
    Mon Apr  2 14:15:01 2012        (r33536)
@@ -51,5 +51,12 @@
     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

Modified: nixpkgs/branches/stdenv-updates/pkgs/tools/misc/coreutils/default.nix
==============================================================================
--- nixpkgs/branches/stdenv-updates/pkgs/tools/misc/coreutils/default.nix       
Mon Apr  2 10:24:30 2012        (r33535)
+++ nixpkgs/branches/stdenv-updates/pkgs/tools/misc/coreutils/default.nix       
Mon Apr  2 14:15:01 2012        (r33536)
@@ -44,6 +44,14 @@
 
   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";
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to