commit:     903778d910b218e3f1fafdce0c06514a1cc213fb
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 27 21:04:12 2021 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Nov 27 21:07:19 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=903778d9

dev-java/openjdk-bin: bump to eapi8

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../openjdk-bin/openjdk-bin-11.0.13_p8-r1.ebuild   | 136 +++++++++++++++++++
 .../openjdk-bin/openjdk-bin-17.0.1_p12-r1.ebuild   | 147 +++++++++++++++++++++
 .../openjdk-bin/openjdk-bin-8.312_p07-r1.ebuild    | 123 +++++++++++++++++
 3 files changed, 406 insertions(+)

diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.13_p8-r1.ebuild 
b/dev-java/openjdk-bin/openjdk-bin-11.0.13_p8-r1.ebuild
new file mode 100644
index 000000000000..95bcdeba00a6
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-11.0.13_p8-r1.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+       local os=linux
+       case ${2} in
+               *-macos)    os=mac      ;;
+               *-solaris)  os=solaris  ;;
+       esac
+       echo "${2-$1}? (
+                       
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
+               )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+       $(abi_uri arm)
+       $(abi_uri aarch64 arm64)
+       $(abi_uri ppc64le ppc64)
+       $(abi_uri x64 amd64)
+       $(abi_uri x64 x64-macos)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net";
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
+IUSE="alsa cups +gentoo-vm 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
+               >=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-${MY_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 ../../../../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}-${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"
+               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/openjdk-bin/openjdk-bin-17.0.1_p12-r1.ebuild 
b/dev-java/openjdk-bin/openjdk-bin-17.0.1_p12-r1.ebuild
new file mode 100644
index 000000000000..e95578814cd8
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-17.0.1_p12-r1.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2 toolchain-funcs
+
+abi_uri() {
+       local 
baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/";
+       local musl=
+       local os=linux
+
+       case ${2} in
+               *-macos)    os=mac      ;;
+               *-solaris)  os=solaris  ;;
+       esac
+
+       if [[ ${3} == musl ]]; then
+               os=alpine-linux
+               musl=true
+       fi
+
+       echo "${2-$1}? (
+               ${musl:+ elibc_musl? ( }
+                       
${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
+               ${musl:+ ) } )"
+}
+
+MY_PV=${PV/_p/+}
+SLOT=${MY_PV%%[.+]*}
+
+SRC_URI="
+       $(abi_uri arm)
+       $(abi_uri aarch64 arm64)
+       $(abi_uri ppc64le ppc64)
+       $(abi_uri x64 amd64)
+       $(abi_uri x64 amd64 musl)
+       $(abi_uri x64 x64-macos)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net";
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
+IUSE="alsa cups +gentoo-vm 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:* )
+               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-${MY_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 ../../../../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}-${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"
+               ewarn "many java ebuilds as they are not ready for 
openjdk-${SLOT}"
+       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 ${SLOT}. This JDK must therefore be 
invoked using its"
+               ewarn "absolute location under ${EPREFIX}/opt/${P}."
+       fi
+}

diff --git a/dev-java/openjdk-bin/openjdk-bin-8.312_p07-r1.ebuild 
b/dev-java/openjdk-bin/openjdk-bin-8.312_p07-r1.ebuild
new file mode 100644
index 000000000000..465e0a290547
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-8.312_p07-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit java-vm-2
+
+abi_uri() {
+       local os=linux
+       case ${2} in
+               *-macos)    os=mac      ;;
+               *-solaris)  os=solaris  ;;
+       esac
+       echo "${2-$1}? (
+                       
https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jdk_${1}_${os}_hotspot_${3-${MY_PV/-/}}.tar.gz
+               )"
+}
+
+# they have different tarball names for different arches...
+# 
https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz
+# 
https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz
+
+MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b})
+SLOT="$(ver_cut 1)"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net";
+SRC_URI="
+       $(abi_uri aarch64 arm64)
+       $(abi_uri arm)
+       $(abi_uri ppc64le ppc64)
+       $(abi_uri x64 amd64)
+       $(abi_uri x64 x64-macos)
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos"
+
+IUSE="alsa cups examples headless-awt selinux source"
+
+RDEPEND="
+       >=sys-apps/baselayout-java-0.1.0-r1
+       kernel_linux? (
+               media-libs/fontconfig:1.0
+               media-libs/freetype:2
+               >=sys-libs/glibc-2.2.5:*
+               sys-libs/zlib
+               alsa? ( media-libs/alsa-lib )
+               arm? ( dev-libs/libffi-compat:6 )
+               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 strip"
+QA_PREBUILT="*"
+
+S="${WORKDIR}/jdk${MY_PV}"
+
+src_unpack() {
+       default
+       # 753575
+       if use arm; then
+               mv -v "${S}"* "${S}" || die
+       elif [[ ${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#/}"
+
+       rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die
+
+       # 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
+               # this does not exist on arm64 hence -f
+               rm -fv jre/lib/*/libfreetype.so* || die
+
+               if ! use alsa ; then
+                       rm -v jre/lib/*/libjsoundalsa.so* || die
+               fi
+
+               if ! use examples ; then
+                       rm -vr sample || die
+               fi
+
+               if use headless-awt ; then
+                       rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \
+                               {,jre/}bin/policytool bin/appletviewer || die
+               fi
+       fi
+
+       if ! use source ; then
+               rm -v src.zip || die
+       fi
+
+       rm -v jre/lib/security/cacerts || die
+       dosym ../../../../../etc/ssl/certs/java/cacerts \
+               "${dest}"/jre/lib/security/cacerts
+
+       dodir "${dest}"
+       cp -pPR * "${ddest}" || die
+
+       # provide stable symlink
+       dosym "${P}" "/opt/${PN}-${SLOT}"
+
+       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
+}

Reply via email to