3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs/development/compilers/jdk/builder.sh
Eelco Dolstra b90781ec21 * Renamed orig-glibc -> orig-libc in some places, and in others, use
the new $NIX_GCC/nix-support/dynamic-linker file to locate the
  dynamic linker directly (don't hardcode ld-linux.so.2).

svn path=/nixpkgs/trunk/; revision=6873
2006-10-27 12:43:32 +00:00

51 lines
1 KiB
Bash

source $stdenv/setup
src=$filename.bin
if ! test -e "$pathname"; then
echo ""
echo "SORRY!"
echo "You should download \`$(basename $pathname)' from Sun and place it in $(dirname $pathname)."
echo "Blame Sun, not us."
echo ""
exit 1
fi
actual=$(md5sum -b $pathname | cut -c1-32)
if test "$actual" != "$md5"; then
echo "hash is $actual, expected $md5"
exit 1
fi
unzip $pathname || true
ensureDir $out
mv $dirname/* $out/
# Remove crap in the root directory.
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done
# Set the dynamic linker.
rpath=
for i in $libraries; do
rpath=$rpath${rpath:+:}$i/lib
done
find $out -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
# Unpack .pack files.
for i in $(find $out -name "*.pack"); do
echo "unpacking $i..."
$out/bin/unpack200 "$i" "$(dirname $i)/$(basename $i .pack).jar"
rm "$i"
done
# Put the *_md.h files in the right place.
cd $out/include && ln -s */*_md.h .