# $Id$ PNAME="sun-jdk" PVER="1.6.0.17" PBUILD="r1" PCATEGORIE="dev-java" STATE="unstable" DESCRIPTION="Sun Java Development Kit ${PVER}." HOMEPAGE="http://java.sun.com/javase/6/" DEPEND="== dev-java/sun-jre-${PVER}" SDEPEND=">= app-arch/unzip-5 >= sys-apps/sed-4" PROVIDE="virtual/java-jdk" # 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'" 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 || die sh ${CONSTRUCTSH} unbundle-jdk linux-jdk linux-jre || die # remove the sources, they are 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 this baby mv linux-jdk ${BINDIR}/opt/sun-java-${PVER} || die local PLATFORM="${ARCH}" [[ ${ARCH} = i*86 ]] && export PLATFORM="i386" [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64" # installs 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 } preinstall() { # force java env update [ -f ${MROOT}/etc/env.d/20java-jdk ] && rm ${MROOT}/etc/env.d/20java-jdk }