summaryrefslogtreecommitdiff
path: root/dev-java/openj9-openjdk
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/openj9-openjdk')
-rw-r--r--dev-java/openj9-openjdk/Manifest8
-rw-r--r--dev-java/openj9-openjdk/metadata.xml1
-rw-r--r--dev-java/openj9-openjdk/openj9-openjdk-11.0.48.0.ebuild (renamed from dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild)52
-rw-r--r--dev-java/openj9-openjdk/openj9-openjdk-21.0.48.0.ebuild (renamed from dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild)36
4 files changed, 66 insertions, 31 deletions
diff --git a/dev-java/openj9-openjdk/Manifest b/dev-java/openj9-openjdk/Manifest
index ffc3344..533a846 100644
--- a/dev-java/openj9-openjdk/Manifest
+++ b/dev-java/openj9-openjdk/Manifest
@@ -1,4 +1,4 @@
-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.48.0.tar.gz 18480709 BLAKE2B 4d3d593ce295c0ba40ef32cc79f0e00b4864d2bc5d36e26c0bd0e2c3aa3406888e8a764472c212ff45ab59d092055e9e9775231fd8d979643d91d022911bd147 SHA512 28247eb763056becf881f1a3f431a073f4605d062e26bfc30a8cad86cab7b7a9a114a44faff40743957315d808a42ff7636554ff794dac640578ec75e9328749
+DIST openj9-omr-0.48.0.tar.gz 8126272 BLAKE2B d343b0129d639cd2887c98fe64b92c66ff2932537520158faa2dbaa465cfb32d6ff0c5c7bf0a5591a8f57e25f85cfc1a85f34c7f6bd9f07e04a35d5b50eb09f7 SHA512 090aee202bb7dd46fcc93f94a7168d22f3b2546d86456d40ba12aba7d76699345502aafc25ca5b675ba7683cfa2414564113c91ba31ad720d1f6867d63f70aab
+DIST openj9-openjdk-jdk11-openj9-0.48.0.tar.gz 102800187 BLAKE2B 82a04892e389a5e24c59a17d2efa95a37e092480dfbbf89f47da965179aaead0b56c1cbe26efcd905bfeb018667880faf077e410bf0d689a1b99178acf398fb4 SHA512 9288f83706aeb945a479b4478b365911408a92ac703f43418f3f98fc1beaefb008c8d0b46dd055200122a9d549da89cd727a2eef8598b7ba069cf36055d1207d
+DIST openj9-openjdk-jdk21-openj9-0.48.0.tar.gz 100484633 BLAKE2B c23d1325c8db43a7076cc589ea0a485cae2d0d26668f8da5cb2a2db2cc6b43052a7e848d04e7c66f03f7696a19690a0812f9aff92deedf7c426ede03b9aa36c7 SHA512 5b4a390c53643ee10affd5b0c6277f5ac6be873f34035c28fb7b75fca04f9e08e91b66ed505e8a5c0eb114f0cf00d6af2bb8c42f2495e3b6913cc253a7969836
diff --git a/dev-java/openj9-openjdk/metadata.xml b/dev-java/openj9-openjdk/metadata.xml
index 7148c44..dadf469 100644
--- a/dev-java/openj9-openjdk/metadata.xml
+++ b/dev-java/openj9-openjdk/metadata.xml
@@ -8,7 +8,6 @@
<use>
<flag name="ddr">Enable Direct Dump Reader</flag>
<flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs</flag>
- <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
<flag name="javafx">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
<flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
<flag name="jitserver">OpenJ9 JITServer support</flag>
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-11.0.48.0.ebuild
index 11e1f9f..4e7eb58 100644
--- a/dev-java/openj9-openjdk/openj9-openjdk-11.0.33.1.ebuild
+++ b/dev-java/openj9-openjdk/openj9-openjdk-11.0.48.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
SLOT="$(ver_cut 1)"
OPENJ9_PV="$(ver_cut 2-4)"
@@ -18,16 +18,16 @@ if [[ ${OPENJ9_PV} == 9999 ]]; then
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/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"
+LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="~amd64"
-IUSE="alsa cups ddr debug doc +gentoo-vm headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
+IUSE="alsa cups ddr debug doc headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
@@ -41,7 +41,7 @@ COMMON_DEPEND="
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
+ systemtap? ( dev-debug/systemtap )
dev-libs/elfutils
ddr? ( dev-libs/libdwarf )
@@ -83,14 +83,14 @@ DEPEND="
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(+)]
+ 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"
+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
@@ -162,9 +162,18 @@ src_prepare() {
}
src_configure() {
- # Work around stack alignment issue, bug #647954. in case we ever have x86
+ # Work around stack alignment issue, bug #647954.
use x86 && append-flags -mincoming-stack-boundary=2
+ # Strip some flags users may set, but should not. #818502
+ filter-flags -fexceptions
+
+ # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
# 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.
@@ -202,7 +211,14 @@ src_configure() {
$(use_enable jitserver)
)
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
if use javafx; then
+ # this is not useful for users, just for upstream developers
+ # build system compares mesa version in md file
+ # https://bugs.gentoo.org/822612
+ export LEGAL_EXCLUDES=mesa3d.md
+
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
@@ -220,6 +236,10 @@ src_configure() {
}
src_compile() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
local mycmakeargsx=(
"-DCMAKE_C_FLAGS='${CFLAGS}'"
"-DJ9JIT_EXTRA_CFLAGS='${CFLAGS}'"
@@ -282,6 +302,10 @@ src_install() {
if use doc ; then
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ dosym -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild b/dev-java/openj9-openjdk/openj9-openjdk-21.0.48.0.ebuild
index 8a7494e..6bf8ca9 100644
--- a/dev-java/openj9-openjdk/openj9-openjdk-17.0.33.1.ebuild
+++ b/dev-java/openj9-openjdk/openj9-openjdk-21.0.48.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
+inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
SLOT="$(ver_cut 1)"
OPENJ9_PV="$(ver_cut 2-4)"
@@ -18,16 +18,16 @@ if [[ ${OPENJ9_PV} == 9999 ]]; then
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/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"
+LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="~amd64"
-IUSE="alsa cups ddr debug doc +gentoo-vm headless-awt javafx +jbootstrap jitserver numa selinux source systemtap"
+IUSE="alsa cups ddr debug doc headless-awt javafx +jbootstrap jitserver lto numa selinux source systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
@@ -41,7 +41,7 @@ COMMON_DEPEND="
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
- systemtap? ( dev-util/systemtap )
+ systemtap? ( dev-debug/systemtap )
dev-libs/elfutils
ddr? ( dev-libs/libdwarf )
@@ -90,7 +90,7 @@ DEPEND="
)
"
-S="${WORKDIR}/openj9-openjdk-jdk${SLOT}-${OPENJ9_PV}-release"
+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
@@ -193,6 +193,12 @@ src_configure() {
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
+ # /tmp/portage/dev-java/openj9-openjdk-21.0.48.0/work/openj9-openjdk-jdk21-openj9-0.48.0/openj9/runtime/codert_vm/thunkcrt.c:95: error: function 'icallVMprJavaSendVirtualL' redeclared as variable
+ # 95 | extern void * icallVMprJavaSendVirtualL;
+ # /tmp/portage/dev-java/openj9-openjdk-21.0.48.0/work/openj9-openjdk-jdk21-openj9-0.48.0/openj9/runtime/compiler/runtime/Runtime.cpp:341:1: note: previously declared here
+ # 341 | JIT_HELPER(icallVMprJavaSendVirtualL);
+ filter-lto
+
# 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.
@@ -221,7 +227,7 @@ src_configure() {
--with-vendor-version-string="${PVR}"
--with-version-pre=""
--with-zlib=system
- --enable-dtrace=$(usex systemtap yes no)
+ --enable-jvm-feature-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
@@ -230,6 +236,8 @@ src_configure() {
$(use_enable jitserver)
)
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
if use javafx; then
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
@@ -269,7 +277,7 @@ src_compile() {
OPENJ9_TAG=${OPENJ9_P}
OPENJ9OMR_SHA=${OPENJ9_P}
)
- emake "${myemakeargs[@]}" -j1 #nowarn
+ emake "${myemakeargs[@]}" -j1
}
src_install() {
@@ -298,12 +306,12 @@ src_install() {
dodir "${dest}"
cp -pPR * "${ddest}" || die
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+ dosym -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_install-env "${FILESDIR}"/${PN}.env.sh
java-vm_revdep-mask
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
@@ -313,3 +321,7 @@ src_install() {
dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}