changeset 312:f5a9fbd46ae0

bump to 7u4b05
author holger
date Thu, 29 Dec 2011 00:14:34 +0100
parents 355741ef907c
children de7f7b862c0f
files dev-java/oracle-jdk-bin/oracle-jdk-bin-1.7.0.4.ebuild
diffstat 1 files changed, 167 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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
+}