# $Id$ PNAME="sun-jdk" PVER="1.6.0.26" PBUILD="r3" SPLIT_PACKAGES="sun-jre sun-jdk" PCAT="dev-java" HOMEPAGE="http://java.sun.com/javase/6/" JRE_DEPEND=">= dev-java/java-environment-1 >= virtual/glibc" 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 # 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="${JRE_DEPEND}" PROVIDE="virtual/java" } split_info_sun-jdk() { DESCRIPTION="Sun Java Development Kit ${PVER}." DEPEND="== dev-java/sun-jre-${PVER}" PROVIDE="virtual/java-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 cd ${SRCDIR} 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/lib/${PLATFORM}/libnpjp2.so \ /usr/$(mlibdir)/nsbrowser/plugins || die # install java environment into /etc/env.d MCONFIG="/etc/env.d/21java" mclearconfig || die # if no jdk installed, the java_home has the suffix /jre # gets overriden with installed jdk (22-java-jdk env) maddconfig "JAVA_HOME=\"/opt/sun-java-${PVER}/jre\"" || die maddconfig "JRE_HOME=\"/opt/sun-java-${PVER}/jre\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/rt.jar\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/i18n.jar\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/sunrsasign.jar\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/jsse.jar\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/jce.jar\"" || die maddconfig "CLASSPATH=\"/opt/sun-java-${PVER}/jre/lib/charsets.jar\"" || die maddconfig "PATH=\"/opt/sun-java-${PVER}/jre/bin\"" || die maddconfig "ROOTPATH=\"/opt/sun-java-${PVER}/jre/bin\"" || die maddconfig "LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/\"" || die maddconfig "LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/native_threads/\"" || die maddconfig "LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/xawt/\"" || die maddconfig "LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/server/\"" || die maddconfig "LDPATH=\"/opt/sun-java-${PVER}/jre/lib/${PLATFORM}/jli/\"" || 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 rm -rf ${SRCDIR}/linux-jdk/demo || die rm -rf ${SRCDIR}/linux-jdk/db/demo || die rm -rf ${SRCDIR}/linux-jdk/sample || 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 MCONFIG="/etc/env.d/22java-jdk" mclearconfig || die maddconfig "JAVA_HOME=\"/opt/sun-java-${PVER}\"" || die maddconfig "JDK_HOME=\"/opt/sun-java-${PVER}\"" || die maddconfig "JAVAC=\"/opt/sun-java-${PVER}/bin/javac\"" || die maddconfig "PATH=\"/opt/sun-java-${PVER}/bin\"" || die maddconfig "ROOTPATH=\"/opt/sun-java-${PVER}/bin\"" || die maddconfig "MANPATH=\"/opt/sun-java-${PVER}/man\"" || die } preinstall_sun-jre() { # force java env update [ -f ${MROOT}/etc/env.d/21java ] && rm ${MROOT}/etc/env.d/21java } preinstall_sun-jdk() { # delete the deprecated one [ -f ${MROOT}/etc/env.d/20java-jdk ] && rm ${MROOT}/etc/env.d/20java-jdk # force java env update [ -f ${MROOT}/etc/env.d/22java-jdk ] && rm ${MROOT}/etc/env.d/22java-jdk }