about summary refs log tree commit diff
path: root/pkgs/development/compilers/jdk/builder.sh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2005-10-07 22:27:42 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2005-10-07 22:27:42 +0000
commit5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7 (patch)
tree600c2ab6abd221d77c2b2733f6b6b04601a3ed88 /pkgs/development/compilers/jdk/builder.sh
parent881f4b0db1cacf2d5e451482c7f98a4281aff5c8 (diff)
downloadnixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar.gz
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar.bz2
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar.lz
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar.xz
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.tar.zst
nixlib-5b63bb66f7cce977ac94a2e3c6e0034cb80c16e7.zip
* Purification of JDK 5. At runtime it now uses the Nix-deployed
  Glibc and X11 client libraries.  The latter are actually optional
  dependencies: if the function is called with `swingSupport' set to
  `false', they are not needed.  This is nice for, e.g., server
  environments.

  All hail Patchelf!

svn path=/nixpkgs/trunk/; revision=4030
Diffstat (limited to 'pkgs/development/compilers/jdk/builder.sh')
-rw-r--r--pkgs/development/compilers/jdk/builder.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/development/compilers/jdk/builder.sh b/pkgs/development/compilers/jdk/builder.sh
index cc70c09b3c85..b1a8528b9385 100644
--- a/pkgs/development/compilers/jdk/builder.sh
+++ b/pkgs/development/compilers/jdk/builder.sh
@@ -30,6 +30,16 @@ do
   fi
 done
 
+# Set the dynamic linker.
+rpath=
+for i in $libraries; do
+    rpath=$rpath${rpath:+:}$i/lib
+done
+glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
+find $out -type f -perm +100 \
+    -exec patchelf --interpreter $glibc/lib/ld-linux.so.* \
+    --set-rpath "$rpath" {} \;
+
 # Unpack .pack files.
 for i in $(find $out -name "*.pack"); do
     echo "unpacking $i..."