nixpkgs/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
Eelco Dolstra faba06ce54 * firefox-wrapper: plugins no longer have to declare additional
LD_LIBRARY_PATH elements, since they can use patchelf --rpath if
  necessary.
* Flashplayer / JRE: do just that.
* JRE: libstdcpp5 no longer seems to be necessary for the plugin.

svn path=/nixpkgs/trunk/; revision=12094
2008-06-14 21:42:07 +00:00

54 lines
1.3 KiB
Bash

source $stdenv/setup
echo "Unpacking distribution"
unzip ${src} || true
# set the dynamic linker of unpack200, necessary for construct script
echo "patching unpack200"
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath "" */bin/unpack200
echo "constructing JDK and JRE installations"
if test -z "$installjdk"; then
sh ${construct} . tmp-linux-jdk tmp-linux-jre
ensureDir $out
cp -R tmp-linux-jre/* $out
else
sh ${construct} . $out tmp-linux-jre
fi
echo "removing files at top level of installation"
for file in $out/*
do
if test -f $file ; then
rm $file
fi
done
rm -rf $out/docs
# construct the rpath
rpath=
for i in $libraries; do
rpath=$rpath${rpath:+:}$i/lib
done
if test -z "$installjdk"; then
jrePath=$out
else
jrePath=$out/jre
fi
rpath=$rpath${rpath:+:}$jrePath/lib/$architecture/jli
# set all the dynamic linkers
find $out -type f -perm +100 \
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath "$rpath" {} \;
find $out -name "*.so" -exec patchelf --set-rpath "$rpath" {} \;
if test -z "$pluginSupport"; then
rm -f $out/bin/javaws
fi
# Workaround for assertions in xlib, see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373.
substituteInPlace $jrePath/lib/*/xawt/libmawt.so --replace XINERAMA FAKEEXTN