# $Id$ PNAME="sun-jdk" PVER="1.6.0.20" PBUILD="r1" PCATEGORIE="dev-java" STATE="unstable" HOMEPAGE="http://java.sun.com/javase/6/" SDEPEND=">= app-arch/unzip-5 >= sys-apps/sed-4" # 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 SPLIT_PACKAGES="sun-jre sun-jdk" # 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://${PNAME}/${SRCFILE_x86} mirror://${PNAME}/${SRCFILE_x86_64} mirror://${PNAME}/${CONSTRUCTSH} mirror://${PNAME}/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'" split_info_sun-jre() { DESCRIPTION="Sun Java Runtime Environment ${PVER}." DEPEND=">= virtual/glibc" PROVIDE="virtual/java" 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 } } split_info_sun-jdk() { DESCRIPTION="Sun Java Development Kit ${PVER}." DEPEND="== dev-java/sun-jre-${PVER}" PROVIDE="virtual/java-jdk" preinstall() { # force java env update [ -f ${MROOT}/etc/env.d/20java-jdk ] && rm ${MROOT}/etc/env.d/20java-jdk } } 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 # unbundle java sh ${CONSTRUCTSH} unbundle-jdk linux-jdk linux-jre || die } src_install_sun-jre() { cd ${SRCDIR} # needed directories minstalldir /etc/env.d || die minstalldir /opt/sun-java-${PVER} || die minstalldir /usr/$(mlibdir)/nsbrowser/plugins || die # now install the jre mv linux-jdk/jre ${BINDIR}/opt/sun-java-${PVER} || die local PLATFORM="${ARCH}" [[ ${ARCH} = i*86 ]] && export PLATFORM="i386" [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64" # install mozilla plugin oji (x86 only) - only <=firefox-2.x if [[ ${ARCH} = i*86 ]] then mlink /opt/sun-java-${PVER}/jre/plugin/${PLATFORM}/ns7/libjavaplugin_oji.so \ /usr/$(mlibdir)/nsbrowser/plugins || die fi # install mozilla plugin libnpjp2 (x86 & x86_64) - only >=firefox-3.x mlink /opt/sun-java-${PVER}/jre/${PLATFORM}/libnpjp2.so \ /usr/$(mlibdir)/nsbrowser/plugins || die # install 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 } src_install_sun-jdk() { cd ${SRCDIR} # needed directories minstalldir /etc/env.d || die minstalldir /opt || die # remove the sources, they are way to big rm -f ${SRCDIR}/linux-jdk/src.zip || die # same for the demos rm -rf ${SRCDIR}/linux-jdk/demos || die # jre is provided by sun-jre rm -rf ${SRCDIR}/linux-jdk/jre || die # now install the jdk mv linux-jdk ${BINDIR}/opt/sun-java-${PVER} || die local PLATFORM="${ARCH}" [[ ${ARCH} = i*86 ]] && export PLATFORM="i386" [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64" # install java environment into /etc/env.d echo "JDK_HOME=\"/opt/sun-java-${PVER}\" JAVAC=\"/opt/sun-java-${PVER}/bin/javac\" PATH=\"/opt/sun-java-${PVER}/bin\" ROOTPATH=\"/opt/sun-java-${PVER}/bin\" MANPATH=\"/opt/sun-java-${PVER}/man\"" > ${BINDIR}/etc/env.d/20java-jdk || die }