summaryrefslogtreecommitdiff
path: root/dev-java/openj9-openjdk-bin
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/openj9-openjdk-bin')
-rw-r--r--dev-java/openj9-openjdk-bin/Manifest28
-rw-r--r--dev-java/openj9-openjdk-bin/files/openj9-openjdk-bin.env.sh5
-rw-r--r--dev-java/openj9-openjdk-bin/metadata.xml1
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.12.7.0.27.0.ebuild117
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.21_p9.ebuild117
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-16.0.2.7.0.27.0.ebuild117
-rw-r--r--dev-java/openj9-openjdk-bin/openj9-openjdk-bin-17.0.9_p9.ebuild117
7 files changed, 247 insertions, 255 deletions
diff --git a/dev-java/openj9-openjdk-bin/Manifest b/dev-java/openj9-openjdk-bin/Manifest
index 5c0a132..b36e1ce 100644
--- a/dev-java/openj9-openjdk-bin/Manifest
+++ b/dev-java/openj9-openjdk-bin/Manifest
@@ -1,16 +1,12 @@
-DIST ibm-semeru-open-debugimage_aarch64_linux_11.0.12_7_openj9-0.27.0.tar.gz 257296341 SHA256 c80416fd8e9f100746ca06166dd50a724d3b4b077162350f2b88ff6b746aefb8
-DIST ibm-semeru-open-debugimage_aarch64_linux_16.0.2_7_openj9-0.27.0.tar.gz 260567193 SHA256 bd8c8f9a07444c5b4c5e88de3bf952d27ef93e1f95485a027d84b4158141593f
-DIST ibm-semeru-open-debugimage_ppc64le_linux_11.0.12_7_openj9-0.27.0.tar.gz 310406729 SHA256 b3f2a7de056bd6a817a28baaca93b7337163941fe88a49ea2460ce677f4144d5
-DIST ibm-semeru-open-debugimage_ppc64le_linux_16.0.2_7_openj9-0.27.0.tar.gz 313671311 SHA256 92535ef6c071e6e00dba4988fb4ec2533cb1c27232d1b308cc872043ed4ffc98
-DIST ibm-semeru-open-debugimage_s390x_linux_11.0.12_7_openj9-0.27.0.tar.gz 275761551 SHA256 eb7b44331d65771f4ef72978b8088166007a340330c8eda0de0a6a29d566842c
-DIST ibm-semeru-open-debugimage_s390x_linux_16.0.2_7_openj9-0.27.0.tar.gz 279233218 SHA256 b771cd97b91cf9233b5ae3fa4970debac036c434ebce03c833bc73113f03986c
-DIST ibm-semeru-open-debugimage_x64_linux_11.0.12_7_openj9-0.27.0.tar.gz 320291464 SHA256 a3bf2cf972394b0dfd4f984dfe2d71fea3552ba448c0c050057091c587bf4be3
-DIST ibm-semeru-open-debugimage_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz 323689143 SHA256 24a871c4ea86fec1bca82df385ef28d2315703d62c841344839b52a1ac21d6ad
-DIST ibm-semeru-open-jdk_aarch64_linux_11.0.12_7_openj9-0.27.0.tar.gz 197763167 SHA256 f025af94a65872653baeb6f889ec6d592ce9d92391fa04e82fb68a50b96178a7
-DIST ibm-semeru-open-jdk_aarch64_linux_16.0.2_7_openj9-0.27.0.tar.gz 200907027 SHA256 022cda1210331488c3db3d0d1282ea74467397fdabc34cb482cdfe81c45f6a15
-DIST ibm-semeru-open-jdk_ppc64le_linux_11.0.12_7_openj9-0.27.0.tar.gz 203013889 SHA256 7d49a5b29a84831526f7bffaaee399ac9a26d05712ac4b9cb7ca0a370ed3f020
-DIST ibm-semeru-open-jdk_ppc64le_linux_16.0.2_7_openj9-0.27.0.tar.gz 206337625 SHA256 d5901996f2c0889b2b92de97fed0b36d5068da308be0fbd6c8293a6b6b91634d
-DIST ibm-semeru-open-jdk_s390x_linux_11.0.12_7_openj9-0.27.0.tar.gz 200393575 SHA256 991f8df53079378782b9de3bbfd4c52a19920ea9ba90e9a54c871ce47b599cdb
-DIST ibm-semeru-open-jdk_s390x_linux_16.0.2_7_openj9-0.27.0.tar.gz 203152325 SHA256 3a2741a2e14b9934405a6c0b6af9e865687a70814af355e62dd84025707ccfdc
-DIST ibm-semeru-open-jdk_x64_linux_11.0.12_7_openj9-0.27.0.tar.gz 202156239 SHA256 4c2d776f69e3ff7d01cd57c0938b7a7f058264425faf18e3708b905e93f915c4
-DIST ibm-semeru-open-jdk_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz 205317058 SHA256 1349eb9a1d9af491a1984d66a80126730357c4a5c4fcbe7112a2c832f6c0886e
+DIST ibm-semeru-open-debugimage_aarch64_linux_11.0.21_9_openj9-0.41.0.tar.gz 344573477 SHA256 cbeb1b48be7ebe090d7998ff903cdfc120597f0c291e063f2173786ebc4d1e7a
+DIST ibm-semeru-open-debugimage_aarch64_linux_17.0.9_9_openj9-0.41.0.tar.gz 359634686 SHA256 d8e0a70145f7f160a1c26ad5196f521bf68ad0ecd6a784faf81ab59868ffb81b
+DIST ibm-semeru-open-debugimage_ppc64le_linux_11.0.21_9_openj9-0.41.0.tar.gz 357090764 SHA256 39efd2b530b3061c11c490e75ebbb20a4ec72448aec268bdb8449ee00021a138
+DIST ibm-semeru-open-debugimage_ppc64le_linux_17.0.9_9_openj9-0.41.0.tar.gz 372992490 SHA256 093579d76dda1fff44da05f08a9450d4e435e2f6be5d538113b96ccf0d2a559e
+DIST ibm-semeru-open-debugimage_x64_linux_11.0.21_9_openj9-0.41.0.tar.gz 369014125 SHA256 d2cda3fb77f3cad6870f2c868ad4bb3fc6c86e2a82522426a732733ce0fdb2d6
+DIST ibm-semeru-open-debugimage_x64_linux_17.0.9_9_openj9-0.41.0.tar.gz 386149336 SHA256 cf947725632aa736e9bd0e5b7b3f5af9b427f62fdde2b9c16c4aaf3e1231526d
+DIST ibm-semeru-open-jdk_aarch64_linux_11.0.21_9_openj9-0.41.0.tar.gz 202866166 SHA256 64f9cc164906b65fb1cb88287d64e40e02371ae1366bce28802d90cbd91df1be
+DIST ibm-semeru-open-jdk_aarch64_linux_17.0.9_9_openj9-0.41.0.tar.gz 206857922 SHA256 cfdff21ce44ae6af494cba75c1f323bef83a982f2c11944988bab2125f85b906
+DIST ibm-semeru-open-jdk_ppc64le_linux_11.0.21_9_openj9-0.41.0.tar.gz 206559764 SHA256 c23d62e5e2c3613357f6904cfc9a8229709bbc12d6aeb814875e0c4c471bb350
+DIST ibm-semeru-open-jdk_ppc64le_linux_17.0.9_9_openj9-0.41.0.tar.gz 211958174 SHA256 6934275c8045df881db8693caa219ef566d15f4a0d0b0154583f12370b996c5b
+DIST ibm-semeru-open-jdk_x64_linux_11.0.21_9_openj9-0.41.0.tar.gz 205707724 SHA256 d11ec92737b9f97bdd9bb553c3e476981f4ac38039963a15c2e1ca9ec163a304
+DIST ibm-semeru-open-jdk_x64_linux_17.0.9_9_openj9-0.41.0.tar.gz 209702777 SHA256 9b945e58f024108a20eb907015cca4a452332b7644e8dd8e051149a3ec62e3a3
diff --git a/dev-java/openj9-openjdk-bin/files/openj9-openjdk-bin.env.sh b/dev-java/openj9-openjdk-bin/files/openj9-openjdk-bin.env.sh
index 2e200d9..f4e3c9a 100644
--- a/dev-java/openj9-openjdk-bin/files/openj9-openjdk-bin.env.sh
+++ b/dev-java/openj9-openjdk-bin/files/openj9-openjdk-bin.env.sh
@@ -1,7 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-VERSION="AdoptOpenJDK ${DL_PV}"
+VERSION="IBM Semeru JDK ${DL_PV}"
JAVA_HOME="${EPREFIX}/opt/${P}"
JDK_HOME="${EPREFIX}/opt/${P}"
JAVAC="\${JAVA_HOME}/bin/javac"
diff --git a/dev-java/openj9-openjdk-bin/metadata.xml b/dev-java/openj9-openjdk-bin/metadata.xml
index 4c0b1aa..532f0f1 100644
--- a/dev-java/openj9-openjdk-bin/metadata.xml
+++ b/dev-java/openj9-openjdk-bin/metadata.xml
@@ -8,7 +8,6 @@
</longdescription>
<use>
<flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs (used to be X flag)</flag>
- <flag name="gentoo-vm">Allow this JDK to be recognised by Gentoo (package manager, eselect, java-config, EXPERIMENTAL!)</flag>
<flag name="source">Install JVM sources</flag>
</use>
</pkgmetadata>
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.12.7.0.27.0.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.12.7.0.27.0.ebuild
deleted file mode 100644
index 2473ff0..0000000
--- a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.12.7.0.27.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit java-vm-2 toolchain-funcs versionator
-
-abi_uri() {
- echo "${2-$1}? (
- debug? (
- https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-debugimage_${1}_linux_${DL_PV/+/_}.tar.gz
- )
- https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-jdk_${1}_linux_${DL_PV/+/_}.tar.gz
- )"
-}
-
-JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
-DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
-SLOT=$(get_major_version)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri ppc64le ppc64)
- $(abi_uri s390x s390)
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt IBM Semeru JDK binaries provided by IBM"
-HOMEPAGE="https://developer.ibm.com/languages/java/semeru-runtimes/"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~s390"
-IUSE="alsa cups debug +gentoo-vm headless-awt selinux source"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${JDK_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-do_rm() {
- rm -v $1 || die
- if use debug ; then
- rm -v "${S}-debug-image"/$1 || die
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED%/}/${dest#/}"
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- do_rm 'lib/libjsound.*'
- fi
-
- if use headless-awt ; then
- do_rm 'lib/lib*{[jx]awt,splashscreen}*'
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym ../../../../etc/ssl/certs/java/cacerts \
- "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.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"
- ewarn "many java ebuilds as they are not ready for openjdk-11"
- 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
-}
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.21_p9.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.21_p9.ebuild
new file mode 100644
index 0000000..f41e70a
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-11.0.21_p9.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ echo "${2-$1}? (
+ debug? (
+ https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-debugimage_${1}_linux_${DL_PV/+/_}.tar.gz
+ )
+ https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-jdk_${1}_linux_${DL_PV/+/_}.tar.gz
+ )"
+}
+
+JDK_PV=${PV//_p/+}
+DL_PV=${JDK_PV}_openj9-0.41.0
+SLOT=$(ver_cut 1)
+
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt IBM Semeru JDK binaries provided by IBM"
+HOMEPAGE="https://developer.ibm.com/languages/java/semeru-runtimes/"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="alsa cups debug headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${JDK_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # 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
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.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 headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-16.0.2.7.0.27.0.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-16.0.2.7.0.27.0.ebuild
deleted file mode 100644
index 2473ff0..0000000
--- a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-16.0.2.7.0.27.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit java-vm-2 toolchain-funcs versionator
-
-abi_uri() {
- echo "${2-$1}? (
- debug? (
- https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-debugimage_${1}_linux_${DL_PV/+/_}.tar.gz
- )
- https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-jdk_${1}_linux_${DL_PV/+/_}.tar.gz
- )"
-}
-
-JDK_PV=$(get_version_component_range 1-3)+$(get_version_component_range 4)
-DL_PV=${JDK_PV}_openj9-$(get_version_component_range 5-7)
-SLOT=$(get_major_version)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri ppc64le ppc64)
- $(abi_uri s390x s390)
- $(abi_uri x64 amd64)
-"
-
-DESCRIPTION="Prebuilt IBM Semeru JDK binaries provided by IBM"
-HOMEPAGE="https://developer.ibm.com/languages/java/semeru-runtimes/"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~s390"
-IUSE="alsa cups debug +gentoo-vm headless-awt selinux source"
-
-RDEPEND="
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- >=sys-apps/baselayout-java-0.1.0-r1
- >=sys-libs/glibc-2.2.5:*
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${JDK_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-do_rm() {
- rm -v $1 || die
- if use debug ; then
- rm -v "${S}-debug-image"/$1 || die
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED%/}/${dest#/}"
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- do_rm 'lib/libjsound.*'
- fi
-
- if use headless-awt ; then
- do_rm 'lib/lib*{[jx]awt,splashscreen}*'
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym ../../../../etc/ssl/certs/java/cacerts \
- "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.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"
- ewarn "many java ebuilds as they are not ready for openjdk-11"
- 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
-}
diff --git a/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-17.0.9_p9.ebuild b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-17.0.9_p9.ebuild
new file mode 100644
index 0000000..f41e70a
--- /dev/null
+++ b/dev-java/openj9-openjdk-bin/openj9-openjdk-bin-17.0.9_p9.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+ echo "${2-$1}? (
+ debug? (
+ https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-debugimage_${1}_linux_${DL_PV/+/_}.tar.gz
+ )
+ https://github.com/ibmruntimes/semeru${SLOT}-binaries/releases/download/jdk-${DL_PV/+/%2B}/ibm-semeru-open-jdk_${1}_linux_${DL_PV/+/_}.tar.gz
+ )"
+}
+
+JDK_PV=${PV//_p/+}
+DL_PV=${JDK_PV}_openj9-0.41.0
+SLOT=$(ver_cut 1)
+
+SRC_URI="
+ $(abi_uri aarch64 arm64)
+ $(abi_uri ppc64le ppc64)
+ $(abi_uri x64 amd64)
+"
+
+DESCRIPTION="Prebuilt IBM Semeru JDK binaries provided by IBM"
+HOMEPAGE="https://developer.ibm.com/languages/java/semeru-runtimes/"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+IUSE="alsa cups debug headless-awt selinux source"
+
+RDEPEND="
+ >=sys-apps/baselayout-java-0.1.0-r1
+ kernel_linux? (
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ media-libs/harfbuzz
+ elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
+ elibc_musl? ( sys-libs/musl )
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ selinux? ( sec-policy/selinux-java )
+ !headless-awt? (
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ x11-libs/libXtst
+ )
+ )"
+
+RESTRICT="preserve-libs splitdebug"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk-${JDK_PV}"
+
+pkg_pretend() {
+ if [[ "$(tc-is-softfloat)" != "no" ]]; then
+ die "These binaries require a hardfloat system."
+ fi
+}
+
+src_unpack() {
+ default
+ if [[ ${A} == *_mac_* ]] ; then
+ mv -v "${S}/Contents/Home/"* "${S}" || die
+ rm -Rf "${S}/Contents" # drop macOS executable
+ fi
+}
+
+src_install() {
+ local dest="/opt/${P}"
+ local ddest="${ED}/${dest#/}"
+
+ # on macOS if they would exist they would be called .dylib, but most
+ # importantly, there are no different providers, so everything
+ # that's shipped works.
+ if [[ ${A} != *_mac_* ]] ; then
+ # 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
+
+ # prefer system copy # https://bugs.gentoo.org/776676
+ rm -vf lib/libharfbuzz.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 headless-awt ; then
+ rm -v lib/lib*{[jx]awt,splashscreen}* || die
+ fi
+ fi
+
+ if ! use source ; then
+ rm -v lib/src.zip || die
+ fi
+
+ rm -v lib/security/cacerts || die
+ dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
+
+ dodir "${dest}"
+ cp -pPR * "${ddest}" || die
+
+ # provide stable symlink
+ dosym "${P}" "/opt/${PN}-${SLOT}"
+
+ java-vm_install-env "${FILESDIR}"/${PN}.env.sh
+ java-vm_set-pax-markings "${ddest}"
+ java-vm_revdep-mask
+ java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
+}