# $Id$ PNAME="java8-openjdk-bin" PVER="1.8.0.131" PBUILD="r1" SPLIT_PACKAGES="java8-jre-openjdk-bin java8-jdk-openjdk-bin java8-src-openjdk-bin java8-demos-openjdk-bin" STATE="disabled" PCAT="dev-java" HOMEPAGE="http://openjdk.java.net" JRE_DEPEND=">= dev-java/java-environment-1 >= virtual/glibc" SDEPEND=">= app-arch/unzip-5 >= sys-apps/sed-4" # provided java version JAVA_PVER="1.8.0-openjdk-bin-${PVER}" SRCFILE_x86="OpenJDK-${PVER}-i686-bin.tar.xz" SRCFILE_x86_64="OpenJDK-${PVER}-x86_64-bin.tar.xz" SRCDIR_x86="${BUILDDIR}/OpenJDK-${PVER}-i686-bin" SRCDIR_x86_64="${BUILDDIR}/OpenJDK-${PVER}-x86_64-bin" # decide between x86 and x86_64 arch SRCFILE="$(marchsrcfile)" SRCDIR="$(marchsrcdir)" sminclude mtools # only use local mirrors SRC_URI=( mirror://java8-openjdk/${SRCFILE_x86} mirror://java8-openjdk/${SRCFILE_x86_64} ) # upstream pver is something like 6u6 UP2PVER="${PVER:2:1}u$(echo ${PVER:6} | sed 's/0\([0-9]\)/\1/')" UP2DATE="updatecmd http://java.com/de/download/manual.jsp | grep 'Version.*Update' | sed 's:.*Version\ \(.*\)\ Update\ \(.*\):\1u\2:'" split_info_java8-jre-openjdk-bin() { DESCRIPTION="Binary OpenJDK Java8 Runtime Environment ${PVER}." DEPEND="${JRE_DEPEND}" PROVIDE="virtual/java" } split_info_java8-jdk-openjdk-bin() { DESCRIPTION="Binary OpenJDK Java8 Development Kit ${PVER}." DEPEND="== dev-java/java8-jre-openjdk-bin-${PVER}" PROVIDE="virtual/java-jdk" } split_info_java8-src-openjdk-bin() { DESCRIPTION="Binary OpenJDK Java8 developmend source." DEPEND="== dev-java/java8-jdk-openjdk-bin-${PVER}" } split_info_java8-demos-openjdk-bin() { DESCRIPTION="Binary OpenJDK Java8 samples and demos." DEPEND="== dev-java/java8-jdk-openjdk-bin-${PVER}" } src_prepare() { munpack ${SRCFILE} || die } src_install_java8-jre-openjdk-bin() { cd ${SRCDIR} local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}" # needed directories minstalldir ${JAVA_DIR} || die mcopy -R ${SRCDIR}/jre ${JAVA_DIR} || die mchown -R root:root ${JAVA_DIR} || die local PLATFORM="${ARCH}" [[ ${ARCH} = i*86 ]] && export PLATFORM="i386" [[ ${ARCH} = x86_64 ]] && export PLATFORM="amd64" # not included # # install mozilla plugin libnpjp2 (x86 & x86_64) - only >=firefox-3.x # minstalldir /usr/$(mlibdir)/nsbrowser/plugins || die # mlink ${JAVA_DIR}/jre/lib/${PLATFORM}/libnpjp2.so \ # /usr/$(mlibdir)/nsbrowser/plugins || die # install java environment into /etc/java MCONFIG="/etc/java/java8-openjdk-bin/jre.conf" 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=\"${JAVA_DIR}/jre\"" || die maddconfig "JRE_HOME=\"${JAVA_DIR}/jre\"" || die maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/rt.jar\"" || die # maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/i18n.jar\"" || die # maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/sunrsasign.jar\"" || die maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/jsse.jar\"" || die maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/jce.jar\"" || die maddconfig "CLASSPATH=\"${JAVA_DIR}/jre/lib/charsets.jar\"" || die maddconfig "PATH=\"${JAVA_DIR}/jre/bin\"" || die maddconfig "ROOTPATH=\"${JAVA_DIR}/jre/bin\"" || die maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/\"" || die maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/headless/\"" || die maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/xawt/\"" || die maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/server/\"" || die maddconfig "LDPATH=\"${JAVA_DIR}/jre/lib/${PLATFORM}/jli/\"" || die } src_install_java8-jdk-openjdk-bin() { cd ${SRCDIR} local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}" minstalldir /usr/$(mlibdir)/jvm || die mcopy -R ${SRCDIR} ${JAVA_DIR} || die mchown -R root:root ${JAVA_DIR} || die # save space and symlink some twice installed binaries local i for i in $(find ${SRCDIR}/jre/bin -type f -printf '%f\n') do if [[ -x ${BINDIR}/${JAVA_DIR}/bin/${i} ]] then rm ${BINDIR}/${JAVA_DIR}/bin/${i} || die mlink ../jre/bin/${i} ${JAVA_DIR}/bin/${i} || die fi done # now remove the jre if [[ -d ${BINDIR}/${JAVA_DIR}/jre ]] then rm -r ${BINDIR}/${JAVA_DIR}/jre || die fi # remove sources if [[ -f ${BINDIR}/${JAVA_DIR}/src.zip ]] then rm -r ${BINDIR}/${JAVA_DIR}/src.zip || die fi # now demos and samples if [[ -d ${BINDIR}/${JAVA_DIR}/demo ]] then rm -r ${BINDIR}/${JAVA_DIR}/demo || die fi if [[ -d ${BINDIR}/${JAVA_DIR}/sample ]] then rm -r ${BINDIR}/${JAVA_DIR}/sample || die fi if [[ -f ${BINDIR}/${JAVA_DIR}/bin/java-rmi.cgi ]] then rm -f ${BINDIR}/${JAVA_DIR}/bin/java-rmi.cgi || die fi # install java environment into /etc/java MCONFIG="/etc/java/java8-openjdk-bin/jdk.conf" mclearconfig || die maddconfig "JAVA_HOME=\"${JAVA_DIR}\"" || die maddconfig "JDK_HOME=\"${JAVA_DIR}\"" || die maddconfig "JAVAC=\"${JAVA_DIR}/bin/javac\"" || die maddconfig "PATH=\"${JAVA_DIR}/bin\"" || die maddconfig "ROOTPATH=\"${JAVA_DIR}/bin\"" || die maddconfig "MANPATH=\"${JAVA_DIR}/man\"" || die } src_install_java8-src-openjdk-bin() { cd ${SRCDIR} local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}" minstalldir ${JAVA_DIR} || die mcopy -R ${SRCDIR}/src.zip ${JAVA_DIR} || die mchown -R root:root ${JAVA_DIR} || die } src_install_java8-demos-openjdk-bin() { cd ${SRCDIR} local JAVA_DIR="/usr/$(mlibdir)/jvm/java-${JAVA_PVER}" minstalldir ${JAVA_DIR} || die mcopy -R ${SRCDIR}/demo ${JAVA_DIR}/ || die mcopy -R ${SRCDIR}/sample ${JAVA_DIR}/ || die minstalldir ${JAVA_DIR}/sample/rmi || die minstallexec ${SRCDIR}/bin/java-rmi.cgi ${JAVA_DIR}/sample/rmi || die mchown -R root:root ${JAVA_DIR} || die } postinstall_java8-jre-openjdk-bin() { ${MROOT}/usr/sbin/java-update --use-old java8-openjdk-bin } preinstall_java8-jdk-openjdk-bin() { # delete the deprecated one [ -f ${MROOT}/etc/env.d/20java-jdk ] && rm ${MROOT}/etc/env.d/20java-jdk } postinstall_java8-jdk-openjdk-bin() { ${MROOT}/usr/sbin/java-update --use-old java8-openjdk-bin }