# $Id$ PNAME="sun-jre" PVER="1.6.0.13" PBUILD="r1" PCATEGORIE="dev-java" STATE="unstable" DESCRIPTION="Sun Java Runtime Environment ${PVER}." HOMEPAGE="http://java.sun.com/javase/6/" DEPEND=">= virtual/glibc" SDEPEND=">= app-arch/unzip-5 >= sys-apps/sed-4" PROVIDE="virtual/java" # both files must be fetch or our md5-logic breaks SRCFILE_x86="jdk-${PVER:2:1}u$(echo ${PVER:6} | sed 's/0\([0-9]\)/\1/')-dlj-linux-i586.bin" SRCFILE_x86_64="jdk-${PVER:2:1}u$(echo ${PVER:6} | sed 's/0\([0-9]\)/\1/')-dlj-linux-amd64.bin" # decide between x86 and x86_64 arch SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" # official script from sun; fetch it at # https://jdk-distros.dev.java.net/source/browse/*checkout*/jdk-distros/trunk/utils/construct.sh CONSTRUCTSH="construct-rev148.sh" sminclude mtools # commented backup sun uri; supports no resume -> downloads everything twice SRC_URI=( http://dlc.sun.com/dlj/binaries/${SRCFILE_x86} http://dlc.sun.com/dlj/binaries/${SRCFILE_x86_64} #http://download.java.net/dlj/binaries/${SRCFILE_x86} #http://download.java.net/dlj/binaries/${SRCFILE_x86_64} mirror://sun-jdk/${SRCFILE_x86} mirror://sun-jdk/${SRCFILE_x86_64} mirror://sun-jdk/${CONSTRUCTSH} mirror://sun-jdk/construct-magellan-fix.patch ) # upstream pver is something like 6u6 UP2PVER="${PVER:2:1}u$(echo ${PVER:6} | sed 's/0\([0-9]\)/\1/')" UP2DATE="updatecmd https://jdk-distros.dev.java.net/developer.html | grep 'jdk-[0-9].*bin$' | sed 's/.*jdk-\(.*\)-dlj-linux.*/\1/;q'" src_prepare() { install -d ${SRCDIR} || die cd ${SRCDIR} cp ${SOURCEDIR}/${PNAME}/${CONSTRUCTSH} ${SRCDIR} || die # fix some issues with construct mpatch construct-magellan-fix.patch || die install -d ${SRCDIR}/unbundle-jdk || die cd ${SRCDIR}/unbundle-jdk sh ${SOURCEDIR}/${PNAME}/${SRCFILE} --accept-license || die } src_install() { cd ${SRCDIR} # needed directories minstalldir /etc/env.d || die minstalldir /opt/sun-java-${PVER} || die minstalldir /usr/lib/nsbrowser/plugins || die sh ${CONSTRUCTSH} unbundle-jdk linux-jdk linux-jre || die # now install this baby mv linux-jdk/jre ${BINDIR}/opt/sun-java-${PVER} || die # install mozilla plugin (only x86) if [[ ${ARCH} = i*86 ]] then mlink /opt/sun-java-${PVER}/jre/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/lib/nsbrowser/plugins || die fi local PLATFORM="${ARCH}" [[ ${ARCH} = i*86 ]] && export PLATFORM="i386" [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64" # installs java environment into /etc/env.d echo "JAVA_HOME=\"/opt/sun-java-${PVER}\" JRE_HOME=\"/opt/sun-java-${PVER}\" CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/rt.jar:/opt/sun-java-${PVER}/jre/lib/i18n.jar:/opt/sun-java-${PVER}/jre/lib/sunrsasign.jar:/opt/sun-java-${PVER}/jre/lib/jsse.jar:/opt/sun-java-${PVER}/jre/lib/jce.jar:/opt/sun-java-${PVER}/jre/lib/charsets.jar\" PATH=\"/opt/sun-java-${PVER}/jre/bin\" ROOTPATH=\"/opt/sun-java-${PVER}/jre/bin\" LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/\" LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/native_threads/\" LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/xawt/\" LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/server/ LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/jli/\"" > ${BINDIR}/etc/env.d/21java || die echo 'CLASSPATH="."' > ${BINDIR}/etc/env.d/30java-eof-classpath || die # fixme: remove this if fixed upstream # java is somewhat broken with libxcb and needs the sloppy-lock variable # we force this system-wide by exporting this variable via the environment echo "LIBXCB_ALLOW_SLOPPY_LOCK=1" >> ${BINDIR}/etc/env.d/21java || die } preinstall() { # force java env update [ -f ${MROOT}/etc/env.d/21java ] && rm ${MROOT}/etc/env.d/21java [ -f ${MROOT}/etc/env.d/30java-eof-classpath ] && \ rm ${MROOT}/etc/env.d/30java-eof-classpath }