summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc
diff options
context:
space:
mode:
authorChristoph Hrdinka <c.github@hrdinka.at>2014-07-10 09:55:50 +0200
committerChristoph Hrdinka <c.github@hrdinka.at>2014-07-10 09:55:50 +0200
commitd82c95cf170b9c46ff64afa283cb15b8cd4f5c3d (patch)
tree6e162ce11b920d3b670a344071f695440f21842d /pkgs/development/libraries/glibc
parent0114a972c7411edb90af2ecc7a240386ca6834a6 (diff)
downloadnixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar.gz
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar.bz2
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar.lz
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar.xz
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.tar.zst
nixlib-d82c95cf170b9c46ff64afa283cb15b8cd4f5c3d.zip
glibc_multi: move glibc_multi script out of all-packages.nix
Diffstat (limited to 'pkgs/development/libraries/glibc')
-rw-r--r--pkgs/development/libraries/glibc/2.19/multi.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/pkgs/development/libraries/glibc/2.19/multi.nix b/pkgs/development/libraries/glibc/2.19/multi.nix
new file mode 100644
index 000000000000..ad4a34152b65
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.19/multi.nix
@@ -0,0 +1,31 @@
+{ runCommand, glibc, glibc32
+}:
+
+runCommand "${glibc.name}-multi"
+  { inherit glibc32;
+   glibc64 = glibc;
+  }
+  ''
+    mkdir -p $out
+    ln -s $glibc64/* $out/
+
+    rm $out/lib $out/lib64
+    mkdir -p $out/lib
+    ln -s $glibc64/lib/* $out/lib
+    ln -s $glibc32/lib $out/lib/32
+    ln -s lib $out/lib64
+
+    # fixing ldd RLTDLIST
+    rm $out/bin
+    cp -rs $glibc64/bin $out
+    chmod u+w $out/bin
+    rm $out/bin/ldd
+    sed -e "s|^RTLDLIST=.*$|RTLDLIST=\"$out/lib/ld-2.19.so $out/lib/32/ld-linux.so.2\"|g" \
+        $glibc64/bin/ldd > $out/bin/ldd
+    chmod 555 $out/bin/ldd
+
+    rm $out/include
+    cp -rs $glibc32/include $out
+    chmod -R u+w $out/include
+    cp -rsf $glibc64/include $out
+  ''