summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-10-07 15:04:13 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-10-07 15:04:13 +0200
commit51f1b4ec48d53e01f219d3285a5f0acdb7fb6422 (patch)
tree61a5e9eadd0eb699a7d66264ee6d3dcb427af234 /pkgs
parentab04b7d0bba24d068ee57c25050ecf73a428c552 (diff)
downloadnixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar.gz
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar.bz2
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar.lz
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar.xz
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.tar.zst
nixlib-51f1b4ec48d53e01f219d3285a5f0acdb7fb6422.zip
Automatically move stuff in lib64 to lib
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/build-support/setup-hooks/move-lib64.sh21
-rw-r--r--pkgs/build-support/setup-hooks/move-sbin.sh2
-rw-r--r--pkgs/stdenv/generic/default.nix1
3 files changed, 23 insertions, 1 deletions
diff --git a/pkgs/build-support/setup-hooks/move-lib64.sh b/pkgs/build-support/setup-hooks/move-lib64.sh
new file mode 100644
index 000000000000..46c90fcea6bd
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/move-lib64.sh
@@ -0,0 +1,21 @@
+# This setup hook, for each output, moves everything in $output/lib64
+# to $output/lib, and replaces $output/lib64 with a symlink to
+# $output/lib. The rationale is that lib64 directories are unnecessary
+# in Nix (since 32-bit and 64-bit builds of a package are in different
+# store paths anyway).
+
+fixupOutputHooks+=(_moveLib64)
+
+_moveLib64() {
+    if [ "$dontMoveLib64" = 1 ]; then return; fi
+    if [ ! -e "$prefix/lib64" -o -L "$prefix/lib64" ]; then return; fi
+    echo "moving $prefix/lib64/* to $prefix/lib"
+    mkdir -p $prefix/lib
+    shopt -s dotglob
+    for i in $prefix/lib64/*; do
+        mv "$i" $prefix/lib
+    done
+    shopt -u dotglob
+    rmdir $prefix/lib64
+    ln -s lib $prefix/lib64
+}
diff --git a/pkgs/build-support/setup-hooks/move-sbin.sh b/pkgs/build-support/setup-hooks/move-sbin.sh
index 5db97afbbb63..cc51c27cafdf 100644
--- a/pkgs/build-support/setup-hooks/move-sbin.sh
+++ b/pkgs/build-support/setup-hooks/move-sbin.sh
@@ -6,7 +6,7 @@ fixupOutputHooks+=(_moveSbin)
 
 _moveSbin() {
     if [ "$dontMoveSbin" = 1 ]; then return; fi
-    if ! [ -e "$prefix/sbin" ]; then return; fi
+    if [ ! -e "$prefix/sbin" -o -L "$prefix/sbin" ]; then return; fi
     echo "moving $prefix/sbin/* to $prefix/bin"
     mkdir -p $prefix/bin
     shopt -s dotglob
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 66afda486041..7351155bbd00 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -45,6 +45,7 @@ let
       ../../build-support/setup-hooks/strip.sh
       ../../build-support/setup-hooks/patch-shebangs.sh
       ../../build-support/setup-hooks/move-sbin.sh
+      ../../build-support/setup-hooks/move-lib64.sh
       gcc
     ];