# HG changeset patch # User holger # Date 1325114074 -3600 # Node ID f5a9fbd46ae031547bdc351cbee4dc35c51cad61 # Parent 355741ef907c90e7c8b8b194e458da388c0db467 bump to 7u4b05 diff -r 355741ef907c -r f5a9fbd46ae0 dev-java/oracle-jdk-bin/oracle-jdk-bin-1.7.0.4.ebuild --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.7.0.4.ebuild Thu Dec 29 00:14:34 2011 +0100 @@ -0,0 +1,167 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.7.0.ebuild,v 1.1 2011/09/08 07:28:32 caster Exp $ + +EAPI="4" + +inherit java-vm-2 eutils pax-utils prefix versionator + +UPDATE="$(get_version_component_range 4)" +UPDATE="${UPDATE#0}" +#MY_PV="$(get_version_component_range 2)u${UPDATE}" +MY_PV="7u4-ea-bin-b05" +MY_PV_DATE="21_dec_2011" +S_PV="$(get_version_component_range 1-3)_0${UPDATE}" + +X86_AT="jdk-${MY_PV}-linux-i586-${MY_PV_DATE}.tar.gz" +AMD64_AT="jdk-${MY_PV}-linux-x64-${MY_PV_DATE}.tar.gz" + +# check the URIs when bumping, no idea about their stability yet +JDK_URI="http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html" +JCE_URI="http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html" + +JCE_DIR="UnlimitedJCEPolicy" +JCE_FILE="${JCE_DIR}JDK7.zip" + +DESCRIPTION="Oracle's Java SE Development Kit" +HOMEPAGE="http://www.oracle.com/technetwork/java/javase/" +SRC_URI="x86? ( ${X86_AT} ) + amd64? ( ${AMD64_AT} ) + jce? ( ${JCE_FILE} )" +SLOT="1.7" +LICENSE="Oracle-BCLA-JavaSE" +KEYWORDS="~amd64 ~x86" +RESTRICT="fetch strip" +IUSE="X alsa derby doc examples jce nsplugin" + +QA_TEXTRELS_x86=" + opt/${P}/jre/lib/i386/client/libjvm.so + opt/${P}/jre/lib/i386/server/libjvm.so" + +DEPEND="jce? ( app-arch/unzip )" +RDEPEND="${DEPEND} + doc? ( dev-java/java-sdk-docs:1.7 ) + !prefix? ( sys-libs/glibc ) + alsa? ( media-libs/alsa-lib ) + X? ( + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + x11-libs/libX11 + )" + +S="${WORKDIR}/jdk${S_PV}" + +pkg_nofetch() { + if use x86; then + AT=${X86_AT} + elif use amd64; then + AT=${AMD64_AT} + fi + + einfo "Please download ${AT} from:" + einfo "${JDK_URI}" + einfo "and move it to ${DISTDIR}" + + if use jce; then + einfo "Also download ${JCE_FILE} from:" + einfo ${JCE_URI} + einfo "and move it to ${DISTDIR}" + fi +} + +src_prepare() { + if use jce; then + mv "${WORKDIR}"/${JCE_DIR} "${S}"/jre/lib/security/ || die + fi +} + +src_compile() { + # Set PaX markings on all JDK/JRE executables to allow code-generation on + # the heap by the JIT compiler. This needs to be done before CDS - #215225 + pax-mark m $(list-paxables "${S}"{,/jre}/bin/*) + + # see bug #207282 + einfo "Creating the Class Data Sharing archives" + if use x86; then + "${S}"/bin/java -client -Xshare:dump || die + fi + "${S}"/bin/java -server -Xshare:dump || die + + # Create files used as storage for system preferences. + mkdir jre/.systemPrefs || die + touch jre/.systemPrefs/.system.lock || die + touch jre/.systemPrefs/.systemRootModFile || die +} + +src_install() { + # We should not need the ancient plugin for Firefox 2 anymore, plus it has + # writable executable segments + if use x86; then + rm -vf {,jre/}lib/i386/libjavaplugin_oji.so \ + {,jre/}lib/i386/libjavaplugin_nscp*.so + rm -vrf jre/plugin/i386 + fi + # Without nsplugin flag, also remove the new plugin + local arch=${ARCH}; + use x86 && arch=i386; + if ! use nsplugin; then + rm -vf {,jre/}lib/${arch}/libnpjp2.so \ + {,jre/}lib/${arch}/libjavaplugin_jni.so + fi + + dodir /opt/${P} + cp -pPR bin include jre lib man src.zip "${ED}"/opt/${P} || die + + if use derby; then + cp -pPR db "${ED}"/opt/${P} || die + fi + + if use examples; then + cp -pPR demo sample "${ED}"/opt/${P} || die + fi + + # Remove empty dirs we might have copied + rmdir -v $(find "${D}" -type d -empty) || die + + dodoc COPYRIGHT + dohtml README.html + + if use jce; then + dodir /opt/${P}/jre/lib/security/strong-jce + mv "${ED}"/opt/${P}/jre/lib/security/US_export_policy.jar \ + "${ED}"/opt/${P}/jre/lib/security/strong-jce || die + mv "${ED}"/opt/${P}/jre/lib/security/local_policy.jar \ + "${ED}"/opt/${P}/jre/lib/security/strong-jce || die + dosym /opt/${P}/jre/lib/security/${JCE_DIR}/US_export_policy.jar \ + /opt/${P}/jre/lib/security/ + dosym /opt/${P}/jre/lib/security/${JCE_DIR}/local_policy.jar \ + /opt/${P}/jre/lib/security/ + fi + + if use nsplugin; then + install_mozilla_plugin /opt/${P}/jre/lib/${arch}/libnpjp2.so + fi + + # Install desktop file for the Java Control Panel. Using VMHANDLE as file + # name to prevent file collision with jre and or other slots. + [[ -f "${ED}"/opt/${P}/jre/lib/desktop/applications/sun_java.desktop ]] || die + sed -e "s/\(Name=\)Java/\1 Java Control Panel for Oracle JDK ${SLOT}/" \ + -e "s#Exec=.*#Exec=/opt/${P}/jre/bin/jcontrol#" \ + -e "s#Icon=.*#Icon=/opt/${P}/jre/lib/desktop/icons/hicolor/48x48/apps/sun-jcontrol.png#" \ + "${ED}"/opt/${P}/jre/lib/desktop/applications/sun_java.desktop > \ + "${T}"/${VMHANDLE}.desktop + + domenu "${T}"/${VMHANDLE}.desktop + + # bug #56444 + cp "${FILESDIR}"/fontconfig.Gentoo.properties "${T}"/fontconfig.properties || die + eprefixify "${T}"/fontconfig.properties + insinto /opt/${P}/jre/lib/ + doins "${T}"/fontconfig.properties + + set_java_env + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +}