From f198c4051ad0a59c878572f0b7c34c2a31496718 Mon Sep 17 00:00:00 2001
From: "Alex Xu (Hello71)" <alex_y_xu@yahoo.ca>
Date: Sat, 4 Mar 2023 17:12:27 -0500
Subject: dev-java/openj9-openjdk: upgrade to 0.36.x, sync ::gentoo

---
 dev-java/openj9-openjdk/Manifest                   |  10 +-
 .../openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild | 287 ------------------
 .../openj9-openjdk/openj9-openjdk-11.0.36.1.ebuild | 287 ++++++++++++++++++
 .../openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild | 315 --------------------
 .../openj9-openjdk/openj9-openjdk-17.0.36.0.ebuild | 319 +++++++++++++++++++++
 5 files changed, 612 insertions(+), 606 deletions(-)
 delete mode 100644 dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild
 create mode 100644 dev-java/openj9-openjdk/openj9-openjdk-11.0.36.1.ebuild
 delete mode 100644 dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild
 create mode 100644 dev-java/openj9-openjdk/openj9-openjdk-17.0.36.0.ebuild

(limited to 'dev-java/openj9-openjdk')

diff --git a/dev-java/openj9-openjdk/Manifest b/dev-java/openj9-openjdk/Manifest
index ffc3344..e6f3473 100644
--- a/dev-java/openj9-openjdk/Manifest
+++ b/dev-java/openj9-openjdk/Manifest
@@ -1,4 +1,6 @@
-DIST openj9-0.33.1.tar.gz 17354965 BLAKE2B c5b9c64ea45eefb2a0c67cd414844e52486481b939b8c62c68444f28f9490ebc2bf04913229576e4fff616b63ef6c242e4748a7ad9dea212714e40d9dbb3bd17 SHA512 fdb75916c868473465687c4fc15eafc1abf02ecff4c88b9998bcbc88e6583868ae3012be89f75734c08b636cf41d04946ec3e7bf29afef0575c8b1146616c9a5
-DIST openj9-omr-0.33.1.tar.gz 7932300 BLAKE2B 9fe2d80119dd7a61058d88ea04220db884e95d781f140247a95014acc80da90783849999f6fbe4e0cfb02e95675265875cbf3dfc1309c09e79226bc4d3b5c603 SHA512 b9322aba18bd487407e77f97a751c9e268577e6a03762070bb7c612276ee149891f6177affb2cabfccdacb2eb1e95c500f4a4473095651cc3f30debe10897d10
-DIST openj9-openjdk-jdk11-openj9-0.33.1.tar.gz 109332234 BLAKE2B c289f81a3fdeb4331fe11f0de7e0a6b78f784025048844b3118e5cff12c68623e989b8d776388956c8c5ed056dd91799d06e20410b0036ca7e50ffdba054eb21 SHA512 fb7e4627d1505887aeb67a1feccd3260f2f997190b9081acd5f22fbad395683e3fbefadab4073b119317744bb7afad54befa7bf9f9ceb15db59c806a5d1e4f81
-DIST openj9-openjdk-jdk17-openj9-0.33.1.tar.gz 94013661 BLAKE2B f5f4155fa3b449b09582782ac2c64a69cd37caa10dd731c6fdb0441b87149f1c867a3d622fd04c242e45a5ad9e07f55c824db1c77baa83493ef7314f63c509b9 SHA512 d5a2cefa683b2ec254db0bf636e02f312db4153c25daff41afdd41c8d8aa529aa87f60476edd229dfb5bb5cb9a67030ab67efac44282f355a9b6d5128a169a2e
+DIST openj9-0.36.0.tar.gz 17735233 BLAKE2B 5575fb674aa36c1962fbae908f96fb33a014faa3d8413ccb4e7c90d2c3c2978b3a8da2c8a7d51984e31aad48af96c6f7da2b23f6e18cd86c775c1ab9d1693d80 SHA512 d344ffb457ba28f489e200e86f381099e45cae23ae1715119236e79ec24d44fecf5b90a4db3c9f53df4e0aee0eafc5bb2813ec3f561c09771bb186195d944e1b
+DIST openj9-0.36.1.tar.gz 17735548 BLAKE2B 75bbeebcd75cbf5a198bbd69a988e0cfb6cf66c81b5268b3d1b54285957b04ee46a0fbbf5933b8ac2b2fb2891355c3433bd7cf6b24c824cbfb513c181aeb6d68 SHA512 35991f16ad39d1cb442fcbeef7de63f9131118549980630fc70d1e9f0ce41078bebb3506508b320330be3155441750952aefaf9c7e39e6ee538b9fe0cddbab5e
+DIST openj9-omr-0.36.0.tar.gz 8013184 BLAKE2B 936b2608e67a1e3787a995f48835c7b00f907c3922ac68050f40354b8fb0da2cce05b48e6689ba8c704ec3efdd5b0f1137717616a094995a4a242993739b00dc SHA512 4754636fc526eb520110a08bc0ba7194d1375af80ff1ad1b23ec99fd3c8a149c85b696ba137740e1df79c620c1377e6606c08fc6931e1b0681356d51da986cf4
+DIST openj9-omr-0.36.1.tar.gz 8013180 BLAKE2B 652d33ed82872ac97782468af75755014492e44183a127d8582731a281f1c8f57e012ba20130641a3720c8eceb1211a0f039a54b6d3c1ae98dc7df38cfa113cc SHA512 0c1c72879173812a1d7737c1c338e6cef30c2ec60ef6695616236f56bd16cde537ecce5b57efa951819bc112edc028fee643d3b4e153eb73766a3cf58bab8544
+DIST openj9-openjdk-jdk11-openj9-0.36.1.tar.gz 109563999 BLAKE2B 0d13ec90a625a57d91a7261555360e64ca0bf22798bd063461845d56ef71214a783893a55b1c2b280a986310b5daa64572d83f7195901ad45b76397e8ff589fb SHA512 77b22adc3385e5c4f1f4ac5ee4ab1980e00897862156ec7c1f78ca2286e4a61d1641cfa3b0a83d1eec8314194bb54c94f50ff5279a986bb32f06acae6bd986eb
+DIST openj9-openjdk-jdk17-openj9-0.36.0.tar.gz 94358932 BLAKE2B 6a93fb149843df526e810fa2d63409906c45d53bb4de242dfcb45a626b179d5af5ef16374d41c3fff8f00249fa0ed8f33ad96827e6f64338c97648a52c1ddd64 SHA512 b37c7a7875ac731a8df7f3ec3c28404e5a165b8cd27777fa893ff63e5e730f8992fc06d7470c448d6bb2c0e8c0b4484b33b5439915f020ec5bb4462234cca1a0
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild
deleted file mode 100644
index 11e1f9f..0000000
--- a/dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild
+++ /dev/null
@@ -1,287 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-SLOT="$(ver_cut 1)"
-OPENJ9_PV="$(ver_cut 2-4)"
-OPENJ9_P=openj9-${OPENJ9_PV}
-
-DESCRIPTION="Extensions for OpenJDK for Eclipse OpenJ9"
-HOMEPAGE="https://www.eclipse.org/openj9/"
-if [[ ${OPENJ9_PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}.git"
-	OPENJ9_EGIT_REPO_URI="https://github.com/eclipse/openj9.git"
-	OPENJ9_OMR_EGIT_REPO_URI="https://github.com/eclipse/openj9-omr.git"
-else
-	SRC_URI="
-		https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/v${OPENJ9_PV}-release.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
-		https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz
-		https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
-	"
-fi
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64"
-
-IUSE="alsa cups ddr debug doc +gentoo-vm headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
-
-REQUIRED_USE="
-	javafx? ( alsa !headless-awt )
-"
-
-COMMON_DEPEND="
-	media-libs/freetype:2=
-	media-libs/giflib:0/7
-	media-libs/harfbuzz:=
-	media-libs/libpng:0=
-	media-libs/lcms:2=
-	sys-libs/zlib
-	media-libs/libjpeg-turbo:0=
-	systemtap? ( dev-util/systemtap )
-
-	dev-libs/elfutils
-	ddr? ( dev-libs/libdwarf )
-	numa? ( sys-process/numactl )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
-	${COMMON_DEPEND}
-	>=sys-apps/baselayout-java-0.1.0-r1
-	!headless-awt? (
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libXt
-		x11-libs/libXtst
-	)
-	alsa? ( media-libs/alsa-lib )
-	cups? ( net-print/cups )
-	selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	app-arch/zip
-	dev-lang/nasm
-	media-libs/alsa-lib
-	net-print/cups
-	x11-base/xorg-proto
-	x11-libs/libX11
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXt
-	x11-libs/libXtst
-	javafx? ( dev-java/openjfx:${SLOT}= )
-	|| (
-		dev-java/openj9-openjdk-bin:${SLOT}[gentoo-vm(+)]
-		dev-java/openj9-openjdk:${SLOT}[gentoo-vm(+)]
-		dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)]
-		dev-java/openjdk:${SLOT}[gentoo-vm(+)]
-	)
-"
-
-S="${WORKDIR}/openj9-openjdk-jdk${SLOT}-${OPENJ9_PV}-release"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 3GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
-	local M
-	M=3192
-	M=$(( $(usex jbootstrap 2 1) * $M ))
-	M=$(( $(usex debug 3 1) * $M ))
-	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
-	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
-	openjdk_check_requirements
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
-
-		if use jitserver && tc-is-clang; then
-			die "jitserver does not compile with clang"
-		fi
-	fi
-}
-
-pkg_setup() {
-	openjdk_check_requirements
-	java-vm-2_pkg_setup
-
-	[[ ${MERGE_TYPE} == "binary" ]] && return
-
-	JAVA_PKG_WANT_BUILD_VM="openj9-openjdk-${SLOT} openj9-openjdk-bin-${SLOT} openjdk-${SLOT} openjdk-bin-${SLOT}"
-	JAVA_PKG_WANT_SOURCE="${SLOT}"
-	JAVA_PKG_WANT_TARGET="${SLOT}"
-
-	java-pkg-2_pkg_setup
-}
-
-src_unpack() {
-	if [[ ${OPENJ9_PV} == 9999 ]]; then
-		EGIT_CHECKOUT_DIR=openj9 EGIT_REPO_URI=${OPENJ9_EGIT_REPO_URI} git-r3_src_unpack
-		EGIT_CHECKOUT_DIR=openj9-omr EGIT_REPO_URI=${OPENJ9_OMR_EGIT_REPO_URI} git-r3_src_unpack
-		# unpack openjdk last to save correct EGIT_VERSION
-		EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack
-	else
-		default
-	fi
-}
-
-src_prepare() {
-	if [[ ${OPENJ9_PV} == 9999 ]]; then
-		ln -s ../openj9 openj9 || die
-		ln -s ../openj9-omr omr || die
-	else
-		ln -s ../openj9-${OPENJ9_P} openj9 || die
-		ln -s ../openj9-omr-${OPENJ9_P} omr || die
-	fi
-
-	default
-
-	eapply -- "${FILESDIR}/openj9-openjdk-override-version.patch"
-	eapply -d openj9 -- "${FILESDIR}/openj9-no-o3.patch"
-	eapply -d omr -- "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
-
-	find openj9/ omr/ -name CMakeLists.txt -exec sed -i -e '/set(OMR_WARNINGS_AS_ERRORS ON/s/ON/OFF/' {} + || die
-	sed -i -e '/^  OPENJ9_CONFIGURE_NUMA$/d' closed/autoconf/custom-hook.m4 || die
-
-	chmod +x configure || die
-}
-
-src_configure() {
-	# Work around stack alignment issue, bug #647954. in case we ever have x86
-	use x86 && append-flags -mincoming-stack-boundary=2
-
-	# Enabling full docs appears to break doc building. If not
-	# explicitly disabled, the flag will get auto-enabled if pandoc and
-	# graphviz are detected. pandoc has loads of dependencies anyway.
-
-	local myconf=(
-		--disable-ccache
-		--disable-precompiled-headers
-		--disable-warnings-as-errors{,-omr,-openj9}
-		--enable-full-docs=no
-		--with-boot-jdk="${JDK_HOME}"
-		--with-extra-cflags="${CFLAGS}"
-		--with-extra-cxxflags="${CXXFLAGS}"
-		--with-extra-ldflags="${LDFLAGS}"
-		--with-stdc++lib=dynamic
-		--with-freetype=system
-		--with-giflib=system
-		--with-harfbuzz=system
-		--with-lcms=system
-		--with-libjpeg=system
-		--with-libpng=system
-		--with-native-debug-symbols=$(usex debug internal none)
-		--with-vendor-name="Gentoo"
-		--with-vendor-url="https://gentoo.org"
-		--with-vendor-bug-url="https://bugs.gentoo.org"
-		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
-		--with-vendor-version-string="${PVR}"
-		--with-version-pre=""
-		--with-zlib=system
-		--enable-dtrace=$(usex systemtap yes no)
-		--enable-headless-only=$(usex headless-awt yes no)
-		$(tc-is-clang && echo "--with-toolchain-type=clang")
-
-		--with-cmake
-		$(use_enable ddr)
-		$(use_enable jitserver)
-	)
-
-	if use javafx; then
-		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
-		if [[ -r ${zip} ]]; then
-			myconf+=( --with-import-modules="${zip}" )
-		else
-			die "${zip} not found or not readable"
-		fi
-	fi
-
-	(
-		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
-		CFLAGS= CXXFLAGS= LDFLAGS= \
-		CONFIG_SITE=/dev/null \
-		econf "${myconf[@]}"
-	)
-}
-
-src_compile() {
-	local mycmakeargsx=(
-		"-DCMAKE_C_FLAGS='${CFLAGS}'"
-		"-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
-		"-DCMAKE_CXX_FLAGS='${CXXFLAGS}'"
-		"-DJ9JIT_EXTRA_CXXFLAGS='${CXXFLAGS}'"
-		"-DCMAKE_EXE_LINKER_FLAGS='${LDFLAGS}'"
-		-DOMR_WARNINGS_AS_ERRORS=OFF
-		-DOMR_PORT_NUMA_SUPPORT=$(usex numa)
-	)
-	local myemakeargs=(
-		JOBS=$(makeopts_jobs)
-		LOG=debug
-		$(usex doc docs '')
-		$(usex jbootstrap bootcycle-images product-images)
-
-		EXTRA_CMAKE_ARGS="${mycmakeargsx[*]}"
-		OPENJDK_SHA=$(ver_cut 1-3)
-		OPENJ9_SHA=${OPENJ9_P}
-		OPENJ9_TAG=${OPENJ9_P}
-		OPENJ9OMR_SHA=${OPENJ9_P}
-	)
-	emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
-	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
-	local ddest="${ED}/${dest#/}"
-
-	cd "${S}"/build/*-release/images/jdk || die
-
-	# Create files used as storage for system preferences.
-	mkdir .systemPrefs || die
-	touch .systemPrefs/.system.lock || die
-	touch .systemPrefs/.systemRootModFile || die
-
-	# Oracle and IcedTea have libjsoundalsa.so depending on
-	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
-	if ! use alsa ; then
-		rm -v lib/libjsound.* || die
-	fi
-
-	if ! use source ; then
-		rm -v lib/src.zip || die
-	fi
-
-	rm -v lib/security/cacerts || die
-
-	dodir "${dest}"
-	cp -pPR * "${ddest}" || die
-
-	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
-	# must be done before running itself
-	java-vm_set-pax-markings "${ddest}"
-
-	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
-	java-vm_revdep-mask
-	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
-	if use doc ; then
-		docinto html
-		dodoc -r "${S}"/build/*-release/images/docs/*
-		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
-	fi
-}
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-11.0.36.1.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-11.0.36.1.ebuild
new file mode 100644
index 0000000..35bc082
--- /dev/null
+++ b/dev-java/openj9-openjdk/openj9-openjdk-11.0.36.1.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+SLOT="$(ver_cut 1)"
+OPENJ9_PV="$(ver_cut 2-4)"
+OPENJ9_P=openj9-${OPENJ9_PV}
+
+DESCRIPTION="Extensions for OpenJDK for Eclipse OpenJ9"
+HOMEPAGE="https://www.eclipse.org/openj9/"
+if [[ ${OPENJ9_PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}.git"
+	OPENJ9_EGIT_REPO_URI="https://github.com/eclipse/openj9.git"
+	OPENJ9_OMR_EGIT_REPO_URI="https://github.com/eclipse/openj9-omr.git"
+else
+	SRC_URI="
+		https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/${OPENJ9_P}.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
+		https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz
+		https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
+	"
+fi
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+IUSE="alsa cups ddr debug doc headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
+
+REQUIRED_USE="
+	javafx? ( alsa !headless-awt )
+"
+
+COMMON_DEPEND="
+	media-libs/freetype:2=
+	media-libs/giflib:0/7
+	media-libs/harfbuzz:=
+	media-libs/libpng:0=
+	media-libs/lcms:2=
+	sys-libs/zlib
+	media-libs/libjpeg-turbo:0=
+	systemtap? ( dev-util/systemtap )
+
+	dev-libs/elfutils
+	ddr? ( dev-libs/libdwarf )
+	numa? ( sys-process/numactl )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+	${COMMON_DEPEND}
+	>=sys-apps/baselayout-java-0.1.0-r1
+	!headless-awt? (
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		x11-libs/libXt
+		x11-libs/libXtst
+	)
+	alsa? ( media-libs/alsa-lib )
+	cups? ( net-print/cups )
+	selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	app-arch/zip
+	dev-lang/nasm
+	media-libs/alsa-lib
+	net-print/cups
+	x11-base/xorg-proto
+	x11-libs/libX11
+	x11-libs/libXext
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXt
+	x11-libs/libXtst
+	javafx? ( dev-java/openjfx:${SLOT}= )
+	|| (
+		dev-java/openj9-openjdk-bin:${SLOT}
+		dev-java/openj9-openjdk:${SLOT}
+		dev-java/openjdk-bin:${SLOT}
+		dev-java/openjdk:${SLOT}
+	)
+"
+
+S="${WORKDIR}/${PN}-jdk${SLOT}-${OPENJ9_P}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 3GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+	local M
+	M=3192
+	M=$(( $(usex jbootstrap 2 1) * $M ))
+	M=$(( $(usex debug 3 1) * $M ))
+	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+	openjdk_check_requirements
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+
+		if use jitserver && tc-is-clang; then
+			die "jitserver does not compile with clang"
+		fi
+	fi
+}
+
+pkg_setup() {
+	openjdk_check_requirements
+	java-vm-2_pkg_setup
+
+	[[ ${MERGE_TYPE} == "binary" ]] && return
+
+	JAVA_PKG_WANT_BUILD_VM="openj9-openjdk-${SLOT} openj9-openjdk-bin-${SLOT} openjdk-${SLOT} openjdk-bin-${SLOT}"
+	JAVA_PKG_WANT_SOURCE="${SLOT}"
+	JAVA_PKG_WANT_TARGET="${SLOT}"
+
+	java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+	if [[ ${OPENJ9_PV} == 9999 ]]; then
+		EGIT_CHECKOUT_DIR=openj9 EGIT_REPO_URI=${OPENJ9_EGIT_REPO_URI} git-r3_src_unpack
+		EGIT_CHECKOUT_DIR=openj9-omr EGIT_REPO_URI=${OPENJ9_OMR_EGIT_REPO_URI} git-r3_src_unpack
+		# unpack openjdk last to save correct EGIT_VERSION
+		EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	if [[ ${OPENJ9_PV} == 9999 ]]; then
+		ln -s ../openj9 openj9 || die
+		ln -s ../openj9-omr omr || die
+	else
+		ln -s ../openj9-${OPENJ9_P} openj9 || die
+		ln -s ../openj9-omr-${OPENJ9_P} omr || die
+	fi
+
+	default
+
+	eapply -- "${FILESDIR}/openj9-openjdk-override-version.patch"
+	eapply -d openj9 -- "${FILESDIR}/openj9-no-o3.patch"
+	eapply -d omr -- "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
+
+	find openj9/ omr/ -name CMakeLists.txt -exec sed -i -e '/set(OMR_WARNINGS_AS_ERRORS ON/s/ON/OFF/' {} + || die
+	sed -i -e '/^  OPENJ9_CONFIGURE_NUMA$/d' closed/autoconf/custom-hook.m4 || die
+
+	chmod +x configure || die
+}
+
+src_configure() {
+	# Work around stack alignment issue, bug #647954. in case we ever have x86
+	use x86 && append-flags -mincoming-stack-boundary=2
+
+	# Enabling full docs appears to break doc building. If not
+	# explicitly disabled, the flag will get auto-enabled if pandoc and
+	# graphviz are detected. pandoc has loads of dependencies anyway.
+
+	local myconf=(
+		--disable-ccache
+		--disable-precompiled-headers
+		--disable-warnings-as-errors{,-omr,-openj9}
+		--enable-full-docs=no
+		--with-boot-jdk="${JDK_HOME}"
+		--with-extra-cflags="${CFLAGS}"
+		--with-extra-cxxflags="${CXXFLAGS}"
+		--with-extra-ldflags="${LDFLAGS}"
+		--with-stdc++lib=dynamic
+		--with-freetype=system
+		--with-giflib=system
+		--with-harfbuzz=system
+		--with-lcms=system
+		--with-libjpeg=system
+		--with-libpng=system
+		--with-native-debug-symbols=$(usex debug internal none)
+		--with-vendor-name="Gentoo"
+		--with-vendor-url="https://gentoo.org"
+		--with-vendor-bug-url="https://bugs.gentoo.org"
+		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+		--with-vendor-version-string="${PVR}"
+		--with-version-pre=""
+		--with-zlib=system
+		--enable-dtrace=$(usex systemtap yes no)
+		--enable-headless-only=$(usex headless-awt yes no)
+		$(tc-is-clang && echo "--with-toolchain-type=clang")
+
+		--with-cmake
+		$(use_enable ddr)
+		$(use_enable jitserver)
+	)
+
+	if use javafx; then
+		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+		if [[ -r ${zip} ]]; then
+			myconf+=( --with-import-modules="${zip}" )
+		else
+			die "${zip} not found or not readable"
+		fi
+	fi
+
+	(
+		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+		CFLAGS= CXXFLAGS= LDFLAGS= \
+		CONFIG_SITE=/dev/null \
+		econf "${myconf[@]}"
+	)
+}
+
+src_compile() {
+	local mycmakeargsx=(
+		"-DCMAKE_C_FLAGS='${CFLAGS}'"
+		"-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
+		"-DCMAKE_CXX_FLAGS='${CXXFLAGS}'"
+		"-DJ9JIT_EXTRA_CXXFLAGS='${CXXFLAGS}'"
+		"-DCMAKE_EXE_LINKER_FLAGS='${LDFLAGS}'"
+		-DOMR_WARNINGS_AS_ERRORS=OFF
+		-DOMR_PORT_NUMA_SUPPORT=$(usex numa)
+	)
+	local myemakeargs=(
+		JOBS=$(makeopts_jobs)
+		LOG=debug
+		$(usex doc docs '')
+		$(usex jbootstrap bootcycle-images product-images)
+
+		EXTRA_CMAKE_ARGS="${mycmakeargsx[*]}"
+		OPENJDK_SHA=$(ver_cut 1-3)
+		OPENJ9_SHA=${OPENJ9_P}
+		OPENJ9_TAG=${OPENJ9_P}
+		OPENJ9OMR_SHA=${OPENJ9_P}
+	)
+	emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+	local ddest="${ED}/${dest#/}"
+
+	cd "${S}"/build/*-release/images/jdk || die
+
+	# Create files used as storage for system preferences.
+	mkdir .systemPrefs || die
+	touch .systemPrefs/.system.lock || die
+	touch .systemPrefs/.systemRootModFile || die
+
+	# Oracle and IcedTea have libjsoundalsa.so depending on
+	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+	if ! use alsa ; then
+		rm -v lib/libjsound.* || die
+	fi
+
+	if ! use source ; then
+		rm -v lib/src.zip || die
+	fi
+
+	rm -v lib/security/cacerts || die
+
+	dodir "${dest}"
+	cp -pPR * "${ddest}" || die
+
+	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+	# must be done before running itself
+	java-vm_set-pax-markings "${ddest}"
+
+	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+	java-vm_revdep-mask
+	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+	if use doc ; then
+		docinto html
+		dodoc -r "${S}"/build/*-release/images/docs/*
+		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+	fi
+}
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild
deleted file mode 100644
index 8a7494e..0000000
--- a/dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-SLOT="$(ver_cut 1)"
-OPENJ9_PV="$(ver_cut 2-4)"
-OPENJ9_P=openj9-${OPENJ9_PV}
-
-DESCRIPTION="Extensions for OpenJDK for Eclipse OpenJ9"
-HOMEPAGE="https://www.eclipse.org/openj9/"
-if [[ ${OPENJ9_PV} == 9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}.git"
-	OPENJ9_EGIT_REPO_URI="https://github.com/eclipse/openj9.git"
-	OPENJ9_OMR_EGIT_REPO_URI="https://github.com/eclipse/openj9-omr.git"
-else
-	SRC_URI="
-		https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/v${OPENJ9_PV}-release.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
-		https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz
-		https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
-	"
-fi
-
-LICENSE="GPL-2"
-KEYWORDS="~amd64"
-
-IUSE="alsa cups ddr debug doc +gentoo-vm headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
-
-REQUIRED_USE="
-	javafx? ( alsa !headless-awt )
-"
-
-COMMON_DEPEND="
-	media-libs/freetype:2=
-	media-libs/giflib:0/7
-	media-libs/harfbuzz:=
-	media-libs/libpng:0=
-	media-libs/lcms:2=
-	sys-libs/zlib
-	media-libs/libjpeg-turbo:0=
-	systemtap? ( dev-util/systemtap )
-
-	dev-libs/elfutils
-	ddr? ( dev-libs/libdwarf )
-	numa? ( sys-process/numactl )
-"
-
-# Many libs are required to build, but not to run, make is possible to remove
-# by listing conditionally in RDEPEND unconditionally in DEPEND
-RDEPEND="
-	${COMMON_DEPEND}
-	>=sys-apps/baselayout-java-0.1.0-r1
-	!headless-awt? (
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXi
-		x11-libs/libXrandr
-		x11-libs/libXrender
-		x11-libs/libXt
-		x11-libs/libXtst
-	)
-	alsa? ( media-libs/alsa-lib )
-	cups? ( net-print/cups )
-	selinux? ( sec-policy/selinux-java )
-"
-
-DEPEND="
-	${COMMON_DEPEND}
-	app-arch/zip
-	dev-lang/nasm
-	media-libs/alsa-lib
-	net-print/cups
-	x11-base/xorg-proto
-	x11-libs/libX11
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	x11-libs/libXrender
-	x11-libs/libXt
-	x11-libs/libXtst
-	javafx? ( dev-java/openjfx:${SLOT}= )
-	|| (
-		dev-java/openj9-openjdk-bin:${SLOT}
-		dev-java/openj9-openjdk:${SLOT}
-		dev-java/openjdk-bin:${SLOT}
-		dev-java/openjdk:${SLOT}
-	)
-"
-
-S="${WORKDIR}/openj9-openjdk-jdk${SLOT}-${OPENJ9_PV}-release"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 3GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
-	local M
-	M=3192
-	M=$(( $(usex jbootstrap 2 1) * $M ))
-	M=$(( $(usex debug 3 1) * $M ))
-	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
-	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
-	openjdk_check_requirements
-	if [[ ${MERGE_TYPE} != binary ]]; then
-		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
-
-		if use jitserver && tc-is-clang; then
-			die "jitserver does not compile with clang"
-		fi
-	fi
-}
-
-pkg_setup() {
-	openjdk_check_requirements
-	java-vm-2_pkg_setup
-
-	[[ ${MERGE_TYPE} == "binary" ]] && return
-
-	JAVA_PKG_WANT_BUILD_VM="openj9-openjdk-${SLOT} openj9-openjdk-bin-${SLOT} openjdk-${SLOT} openjdk-bin-${SLOT}"
-	JAVA_PKG_WANT_SOURCE="${SLOT}"
-	JAVA_PKG_WANT_TARGET="${SLOT}"
-
-	# The nastiness below is necessary while the gentoo-vm USE flag is
-	# masked. First we call java-pkg-2_pkg_setup if it looks like the
-	# flag was unmasked against one of the possible build VMs. If not,
-	# we try finding one of them in their expected locations. This would
-	# have been slightly less messy if openjdk-bin had been installed to
-	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
-	# file but disable it so that it would not normally be selectable.
-
-	local vm
-	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
-		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
-			java-pkg-2_pkg_setup
-			return
-		fi
-	done
-}
-
-src_unpack() {
-	if [[ ${OPENJ9_PV} == 9999 ]]; then
-		EGIT_CHECKOUT_DIR=openj9 EGIT_REPO_URI=${OPENJ9_EGIT_REPO_URI} git-r3_src_unpack
-		EGIT_CHECKOUT_DIR=openj9-omr EGIT_REPO_URI=${OPENJ9_OMR_EGIT_REPO_URI} git-r3_src_unpack
-		# unpack openjdk last to save correct EGIT_VERSION
-		EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack
-	else
-		default
-	fi
-}
-
-src_prepare() {
-	if [[ ${OPENJ9_PV} == 9999 ]]; then
-		ln -s ../openj9 openj9 || die
-		ln -s ../openj9-omr omr || die
-	else
-		ln -s ../openj9-${OPENJ9_P} openj9 || die
-		ln -s ../openj9-omr-${OPENJ9_P} omr || die
-	fi
-
-	default
-
-	eapply -- "${FILESDIR}/openj9-openjdk-override-version.patch"
-	eapply -d openj9 -- "${FILESDIR}/openj9-no-o3.patch"
-	eapply -d omr -- "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
-
-	find openj9/ omr/ -name CMakeLists.txt -exec sed -i -e '/set(OMR_WARNINGS_AS_ERRORS ON/s/ON/OFF/' {} + || die
-	sed -i -e '/^  OPENJ9_CONFIGURE_NUMA$/d' closed/autoconf/custom-hook.m4 || die
-
-	chmod +x configure || die
-}
-
-src_configure() {
-	for variant in openj9- ''; do
-		if has_version dev-java/${variant}openjdk:${SLOT}; then
-			JDK_HOME=${EPREFIX}/usr/$(get_libdir)/${variant}openjdk-${SLOT}
-			break
-		elif has_version dev-java/${variant}openjdk-bin:${SLOT}; then
-			JDK_HOME=$(best_version dev-java/${variant}openjdk-bin:${SLOT})
-			JDK_HOME=${JDK_HOME#*/}
-			JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
-			break
-		fi
-	done
-	[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
-	export JDK_HOME
-
-	# Work around stack alignment issue, bug #647954. in case we ever have x86
-	use x86 && append-flags -mincoming-stack-boundary=2
-
-	# Enabling full docs appears to break doc building. If not
-	# explicitly disabled, the flag will get auto-enabled if pandoc and
-	# graphviz are detected. pandoc has loads of dependencies anyway.
-
-	local myconf=(
-		--disable-ccache
-		--disable-precompiled-headers
-		--disable-warnings-as-errors{,-omr,-openj9}
-		--enable-full-docs=no
-		--with-boot-jdk="${JDK_HOME}"
-		--with-extra-cflags="${CFLAGS}"
-		--with-extra-cxxflags="${CXXFLAGS}"
-		--with-extra-ldflags="${LDFLAGS}"
-		--with-stdc++lib=dynamic
-		--with-freetype=system
-		--with-giflib=system
-		--with-harfbuzz=system
-		--with-lcms=system
-		--with-libjpeg=system
-		--with-libpng=system
-		--with-native-debug-symbols=$(usex debug internal none)
-		--with-vendor-name="Gentoo"
-		--with-vendor-url="https://gentoo.org"
-		--with-vendor-bug-url="https://bugs.gentoo.org"
-		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
-		--with-vendor-version-string="${PVR}"
-		--with-version-pre=""
-		--with-zlib=system
-		--enable-dtrace=$(usex systemtap yes no)
-		--enable-headless-only=$(usex headless-awt yes no)
-		$(tc-is-clang && echo "--with-toolchain-type=clang")
-
-		--with-cmake
-		$(use_enable ddr)
-		$(use_enable jitserver)
-	)
-
-	if use javafx; then
-		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
-		if [[ -r ${zip} ]]; then
-			myconf+=( --with-import-modules="${zip}" )
-		else
-			die "${zip} not found or not readable"
-		fi
-	fi
-
-	(
-		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
-		CFLAGS= CXXFLAGS= LDFLAGS= \
-		CONFIG_SITE=/dev/null \
-		econf "${myconf[@]}"
-	)
-}
-
-src_compile() {
-	local mycmakeargsx=(
-		"-DCMAKE_C_FLAGS='${CFLAGS}'"
-		"-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
-		"-DCMAKE_CXX_FLAGS='${CXXFLAGS}'"
-		"-DJ9JIT_EXTRA_CXXFLAGS='${CXXFLAGS}'"
-		"-DCMAKE_EXE_LINKER_FLAGS='${LDFLAGS}'"
-		-DOMR_WARNINGS_AS_ERRORS=OFF
-		-DOMR_PORT_NUMA_SUPPORT=$(usex numa)
-	)
-	local myemakeargs=(
-		JOBS=$(makeopts_jobs)
-		LOG=debug
-		$(usex doc docs '')
-		$(usex jbootstrap bootcycle-images product-images)
-
-		EXTRA_CMAKE_ARGS="${mycmakeargsx[*]}"
-		OPENJDK_SHA=$(ver_cut 1-3)
-		OPENJ9_SHA=${OPENJ9_P}
-		OPENJ9_TAG=${OPENJ9_P}
-		OPENJ9OMR_SHA=${OPENJ9_P}
-	)
-	emake "${myemakeargs[@]}" -j1 #nowarn
-}
-
-src_install() {
-	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
-	local ddest="${ED}/${dest#/}"
-
-	cd "${S}"/build/*-release/images/jdk || die
-
-	# Create files used as storage for system preferences.
-	mkdir .systemPrefs || die
-	touch .systemPrefs/.system.lock || die
-	touch .systemPrefs/.systemRootModFile || die
-
-	# Oracle and IcedTea have libjsoundalsa.so depending on
-	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
-	if ! use alsa ; then
-		rm -v lib/libjsound.* || die
-	fi
-
-	if ! use source ; then
-		rm -v lib/src.zip || die
-	fi
-
-	rm -v lib/security/cacerts || die
-
-	dodir "${dest}"
-	cp -pPR * "${ddest}" || die
-
-	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
-	# must be done before running itself
-	java-vm_set-pax-markings "${ddest}"
-
-	use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh
-	java-vm_revdep-mask
-	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
-	if use doc ; then
-		docinto html
-		dodoc -r "${S}"/build/*-release/images/docs/*
-		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
-	fi
-}
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-17.0.36.0.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-17.0.36.0.ebuild
new file mode 100644
index 0000000..ca64ddd
--- /dev/null
+++ b/dev-java/openj9-openjdk/openj9-openjdk-17.0.36.0.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+
+SLOT="$(ver_cut 1)"
+OPENJ9_PV="$(ver_cut 2-4)"
+OPENJ9_P=openj9-${OPENJ9_PV}
+
+DESCRIPTION="Extensions for OpenJDK for Eclipse OpenJ9"
+HOMEPAGE="https://www.eclipse.org/openj9/"
+if [[ ${OPENJ9_PV} == 9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}.git"
+	OPENJ9_EGIT_REPO_URI="https://github.com/eclipse/openj9.git"
+	OPENJ9_OMR_EGIT_REPO_URI="https://github.com/eclipse/openj9-omr.git"
+else
+	SRC_URI="
+		https://github.com/ibmruntimes/openj9-openjdk-jdk${SLOT}/archive/${OPENJ9_P}.tar.gz -> openj9-openjdk-jdk${SLOT}-${OPENJ9_P}.tar.gz
+		https://github.com/eclipse/openj9/archive/${OPENJ9_P}.tar.gz
+		https://github.com/eclipse/openj9-omr/archive/${OPENJ9_P}.tar.gz -> openj9-omr-${OPENJ9_PV}.tar.gz
+	"
+fi
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64"
+
+IUSE="alsa cups ddr debug doc headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
+
+REQUIRED_USE="
+	javafx? ( alsa !headless-awt )
+"
+
+COMMON_DEPEND="
+	media-libs/freetype:2=
+	media-libs/giflib:0/7
+	media-libs/harfbuzz:=
+	media-libs/libpng:0=
+	media-libs/lcms:2=
+	sys-libs/zlib
+	media-libs/libjpeg-turbo:0=
+	systemtap? ( dev-util/systemtap )
+
+	dev-libs/elfutils
+	ddr? ( dev-libs/libdwarf )
+	numa? ( sys-process/numactl )
+"
+
+# Many libs are required to build, but not to run, make is possible to remove
+# by listing conditionally in RDEPEND unconditionally in DEPEND
+RDEPEND="
+	${COMMON_DEPEND}
+	>=sys-apps/baselayout-java-0.1.0-r1
+	!headless-awt? (
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXi
+		x11-libs/libXrandr
+		x11-libs/libXrender
+		x11-libs/libXt
+		x11-libs/libXtst
+	)
+	alsa? ( media-libs/alsa-lib )
+	cups? ( net-print/cups )
+	selinux? ( sec-policy/selinux-java )
+"
+
+DEPEND="
+	${COMMON_DEPEND}
+	app-arch/zip
+	dev-lang/nasm
+	media-libs/alsa-lib
+	net-print/cups
+	x11-base/xorg-proto
+	x11-libs/libX11
+	x11-libs/libXext
+	x11-libs/libXi
+	x11-libs/libXrandr
+	x11-libs/libXrender
+	x11-libs/libXt
+	x11-libs/libXtst
+	javafx? ( dev-java/openjfx:${SLOT}= )
+	|| (
+		dev-java/openj9-openjdk-bin:${SLOT}
+		dev-java/openj9-openjdk:${SLOT}
+		dev-java/openjdk-bin:${SLOT}
+		dev-java/openjdk:${SLOT}
+	)
+"
+
+S="${WORKDIR}/${PN}-jdk${SLOT}-${OPENJ9_P}"
+
+# The space required to build varies wildly depending on USE flags,
+# ranging from 3GB to 16GB. This function is certainly not exact but
+# should be close enough to be useful.
+openjdk_check_requirements() {
+	local M
+	M=3192
+	M=$(( $(usex jbootstrap 2 1) * $M ))
+	M=$(( $(usex debug 3 1) * $M ))
+	M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
+
+	CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
+}
+
+pkg_pretend() {
+	openjdk_check_requirements
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
+
+		if use jitserver && tc-is-clang; then
+			die "jitserver does not compile with clang"
+		fi
+	fi
+}
+
+pkg_setup() {
+	openjdk_check_requirements
+	java-vm-2_pkg_setup
+
+	[[ ${MERGE_TYPE} == "binary" ]] && return
+
+	JAVA_PKG_WANT_BUILD_VM="openj9-openjdk-${SLOT} openj9-openjdk-bin-${SLOT} openjdk-${SLOT} openjdk-bin-${SLOT}"
+	JAVA_PKG_WANT_SOURCE="${SLOT}"
+	JAVA_PKG_WANT_TARGET="${SLOT}"
+
+	# The nastiness below is necessary while the gentoo-vm USE flag is
+	# masked. First we call java-pkg-2_pkg_setup if it looks like the
+	# flag was unmasked against one of the possible build VMs. If not,
+	# we try finding one of them in their expected locations. This would
+	# have been slightly less messy if openjdk-bin had been installed to
+	# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
+	# file but disable it so that it would not normally be selectable.
+
+	local vm
+	for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
+		if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
+			java-pkg-2_pkg_setup
+			return
+		fi
+	done
+}
+
+src_unpack() {
+	if [[ ${OPENJ9_PV} == 9999 ]]; then
+		EGIT_CHECKOUT_DIR=openj9 EGIT_REPO_URI=${OPENJ9_EGIT_REPO_URI} git-r3_src_unpack
+		EGIT_CHECKOUT_DIR=openj9-omr EGIT_REPO_URI=${OPENJ9_OMR_EGIT_REPO_URI} git-r3_src_unpack
+		# unpack openjdk last to save correct EGIT_VERSION
+		EGIT_CHECKOUT_DIR=${S} git-r3_src_unpack
+	else
+		default
+	fi
+}
+
+src_prepare() {
+	if [[ ${OPENJ9_PV} == 9999 ]]; then
+		ln -s ../openj9 openj9 || die
+		ln -s ../openj9-omr omr || die
+	else
+		ln -s ../openj9-${OPENJ9_P} openj9 || die
+		ln -s ../openj9-omr-${OPENJ9_P} omr || die
+	fi
+
+	default
+
+	eapply -- "${FILESDIR}/openj9-openjdk-override-version.patch"
+	eapply -d openj9 -- "${FILESDIR}/openj9-no-o3.patch"
+	eapply -d omr -- "${FILESDIR}/omr-omrstr-iconv-failure-overflow.patch"
+
+	find openj9/ omr/ -name CMakeLists.txt -exec sed -i -e '/set(OMR_WARNINGS_AS_ERRORS ON/s/ON/OFF/' {} + || die
+	sed -i -e '/^  OPENJ9_CONFIGURE_NUMA$/d' closed/autoconf/custom-hook.m4 || die
+
+	chmod +x configure || die
+}
+
+src_configure() {
+	for variant in openj9- ''; do
+		if has_version dev-java/${variant}openjdk:${SLOT}; then
+			JDK_HOME=${EPREFIX}/usr/$(get_libdir)/${variant}openjdk-${SLOT}
+			break
+		elif has_version dev-java/${variant}openjdk-bin:${SLOT}; then
+			JDK_HOME=$(best_version dev-java/${variant}openjdk-bin:${SLOT})
+			JDK_HOME=${JDK_HOME#*/}
+			JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*}
+			break
+		fi
+	done
+	[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
+	export JDK_HOME
+
+	# Work around stack alignment issue, bug #647954. in case we ever have x86
+	use x86 && append-flags -mincoming-stack-boundary=2
+
+	# Enabling full docs appears to break doc building. If not
+	# explicitly disabled, the flag will get auto-enabled if pandoc and
+	# graphviz are detected. pandoc has loads of dependencies anyway.
+
+	local myconf=(
+		--disable-ccache
+		--disable-precompiled-headers
+		--disable-warnings-as-errors{,-omr,-openj9}
+		--enable-full-docs=no
+		--with-boot-jdk="${JDK_HOME}"
+		--with-extra-cflags="${CFLAGS}"
+		--with-extra-cxxflags="${CXXFLAGS}"
+		--with-extra-ldflags="${LDFLAGS}"
+		--with-stdc++lib=dynamic
+		--with-freetype=system
+		--with-giflib=system
+		--with-harfbuzz=system
+		--with-lcms=system
+		--with-libjpeg=system
+		--with-libpng=system
+		--with-native-debug-symbols=$(usex debug internal none)
+		--with-vendor-name="Gentoo"
+		--with-vendor-url="https://gentoo.org"
+		--with-vendor-bug-url="https://bugs.gentoo.org"
+		--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
+		--with-vendor-version-string="${PVR}"
+		--with-version-pre=""
+		--with-zlib=system
+		--enable-dtrace=$(usex systemtap yes no)
+		--enable-headless-only=$(usex headless-awt yes no)
+		$(tc-is-clang && echo "--with-toolchain-type=clang")
+
+		--with-cmake
+		$(use_enable ddr)
+		$(use_enable jitserver)
+	)
+
+	if use javafx; then
+		local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
+		if [[ -r ${zip} ]]; then
+			myconf+=( --with-import-modules="${zip}" )
+		else
+			die "${zip} not found or not readable"
+		fi
+	fi
+
+	(
+		unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
+		CFLAGS= CXXFLAGS= LDFLAGS= \
+		CONFIG_SITE=/dev/null \
+		econf "${myconf[@]}"
+	)
+}
+
+src_compile() {
+	local mycmakeargsx=(
+		"-DCMAKE_C_FLAGS='${CFLAGS}'"
+		"-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
+		"-DCMAKE_CXX_FLAGS='${CXXFLAGS}'"
+		"-DJ9JIT_EXTRA_CXXFLAGS='${CXXFLAGS}'"
+		"-DCMAKE_EXE_LINKER_FLAGS='${LDFLAGS}'"
+		-DOMR_WARNINGS_AS_ERRORS=OFF
+		-DOMR_PORT_NUMA_SUPPORT=$(usex numa)
+	)
+	local myemakeargs=(
+		JOBS=$(makeopts_jobs)
+		LOG=debug
+		$(usex doc docs '')
+		$(usex jbootstrap bootcycle-images product-images)
+
+		EXTRA_CMAKE_ARGS="${mycmakeargsx[*]}"
+		OPENJDK_SHA=$(ver_cut 1-3)
+		OPENJ9_SHA=${OPENJ9_P}
+		OPENJ9_TAG=${OPENJ9_P}
+		OPENJ9OMR_SHA=${OPENJ9_P}
+	)
+	emake "${myemakeargs[@]}" -j1 #nowarn
+}
+
+src_install() {
+	local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
+	local ddest="${ED}/${dest#/}"
+
+	cd "${S}"/build/*-release/images/jdk || die
+
+	# Create files used as storage for system preferences.
+	mkdir .systemPrefs || die
+	touch .systemPrefs/.system.lock || die
+	touch .systemPrefs/.systemRootModFile || die
+
+	# Oracle and IcedTea have libjsoundalsa.so depending on
+	# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
+	if ! use alsa ; then
+		rm -v lib/libjsound.* || die
+	fi
+
+	if ! use source ; then
+		rm -v lib/src.zip || die
+	fi
+
+	rm -v lib/security/cacerts || die
+
+	dodir "${dest}"
+	cp -pPR * "${ddest}" || die
+
+	dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+	# must be done before running itself
+	java-vm_set-pax-markings "${ddest}"
+
+	java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+	java-vm_revdep-mask
+	java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+
+	if use doc ; then
+		docinto html
+		dodoc -r "${S}"/build/*-release/images/docs/*
+		dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+	fi
+}
+
+pkg_postinst() {
+	java-vm-2_pkg_postinst
+}
-- 
cgit v1.2.3-70-g09d2