changeset 486:6ed1ab937e60

add ebuild for the current openjdk 12
author Dirk Olmes <dirk@xanthippe.ping.de>
date Mon, 16 Sep 2019 08:45:06 +0200
parents 60c97b7bf5cc
children 6df6fb0af440
files dev-java/openjdk-bin/Manifest dev-java/openjdk-bin/files/openjdk-bin-12.env.sh dev-java/openjdk-bin/openjdk-bin-12.0.2_p10.ebuild
diffstat 3 files changed, 120 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev-java/openjdk-bin/Manifest	Mon Sep 16 08:45:06 2019 +0200
@@ -0,0 +1,3 @@
+AUX openjdk-bin-12.env.sh 496 BLAKE2B 6a99de9730f8e84f6082a08fc925126a2fa1579f040b7f083af371218c4523956d5a86777e1bfbca7a63a717992d1a170d539d04f26f5317c3fbb9a14972c191 SHA512 94ec17c26c7305c57fb53356a4477711fd987c4d48af114f481579f316c20ed487ec40124361bd0cf2c947f59eaf93ca629975f9e999d47f5025269187db82ad
+DIST OpenJDK12U-jdk_x64_linux_hotspot_12.0.2_10.tar.gz 207650938 BLAKE2B 84344ab2bee9b42adda388fd862aab15249938d4fa7a72f19a3aa5b9fba138074efed529f79c3fa56c790a29dc22ea3e250a5554410641142fe2b3374c17e137 SHA512 49776f851edbd6037220d00839abed8c1cc4120e2cea29828c7704e2fed1cac508b2c008360b25d5b4797a51952b86aee50c44541e52af9ab9d9c2d4373589b4
+EBUILD openjdk-bin-12.0.2_p10.ebuild 2719 BLAKE2B fa3bc2d29ead40bae119d5922547684d0612ac117557d3ad99dff2b8359fd847e0a86002f12f362b6bbd5db2033a3d4e4f5c18331c53acbf6e0930b16d716b3d SHA512 94f78bd9968083bcbaf72e990ce8f4071183e406c6f98fad0702845cb4f3c720a15fb088e390a70c97659e462b86993190565198e32f31d8c56f03aebde10b38
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev-java/openjdk-bin/files/openjdk-bin-12.env.sh	Mon Sep 16 08:45:06 2019 +0200
@@ -0,0 +1,16 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="AdoptOpenJDK ${PV}"
+JAVA_HOME="${EPREFIX}/opt/${P}"
+JDK_HOME="${EPREFIX}/opt/${P}"
+JAVAC="\${JAVA_HOME}/bin/javac"
+PATH="\${JAVA_HOME}/bin"
+ROOTPATH="\${JAVA_HOME}/bin"
+LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
+MANPATH=""
+PROVIDES_TYPE="JDK JRE"
+PROVIDES_VERSION="${SLOT}"
+BOOTCLASSPATH=""
+GENERATION="2"
+ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dev-java/openjdk-bin/openjdk-bin-12.0.2_p10.ebuild	Mon Sep 16 08:45:06 2019 +0200
@@ -0,0 +1,101 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit java-vm-2
+
+abi_uri() {
+	echo "${2-$1}? (
+			https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
+		)"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+	$(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by AdoptOpenJDK"
+HOMEPAGE="https://adoptopenjdk.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64"
+IUSE="alsa cups doc examples +gentoo-vm headless-awt nsplugin selinux source +webstart"
+
+RDEPEND="
+	media-libs/fontconfig:1.0
+	media-libs/freetype:2
+	>=sys-libs/glibc-2.2.5:*
+	sys-libs/zlib
+	alsa? ( media-libs/alsa-lib )
+	cups? ( net-print/cups )
+	doc? ( dev-java/java-sdk-docs:${SLOT} )
+	selinux? ( sec-policy/selinux-java )
+	!headless-awt? (
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXrender
+		x11-libs/libXtst
+	)"
+
+PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
+	nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${MY_PV}"
+
+src_install() {
+	local dest="/opt/${P}"
+	local ddest="${ED}${dest#/}"
+
+	# Not sure why they bundle this as it's commonly available and they
+	# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
+	# also has an explicit dependency while Oracle seemingly dlopens it.
+	rm -vf lib/libfreetype.so || die
+
+	# Oracle and IcedTea have libjsoundalsa.so depending on
+	# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
+	if ! use alsa ; then
+		rm -v lib/libjsound.* || die
+	fi
+
+	if ! use examples ; then
+		rm -vr demo/ || die
+	fi
+
+	if use headless-awt ; then
+		rm -v lib/lib*{[jx]awt,splashscreen}* || die
+	fi
+
+	if ! use source ; then
+		rm -v lib/src.zip || die
+	fi
+
+	dodir "${dest}"
+	cp -pPR * "${ddest}" || die
+
+	use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
+	java-vm_set-pax-markings "${ddest}"
+	java-vm_revdep-mask
+	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
+
+pkg_postinst() {
+	java-vm-2_pkg_postinst
+
+	if use gentoo-vm ; then
+		ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
+		ewarn "recognised by the system. This will almost certainly break things."
+	else
+		ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
+		ewarn "will not be recognised by the system. For example, simply calling"
+		ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
+		ewarn "fully supports Java 11. This JDK must therefore be invoked using its"
+		ewarn "absolute location under ${EPREFIX}/opt/${P}."
+	fi
+}