commit: 0ac1ad65963d2db7667de699c92ac9dd5694c280
Author: Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Thu May 12 10:00:11 2022 +0000
Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu May 12 10:00:11 2022 +0000
URL: https://gitweb.gentoo.org/proj/java.git/commit/?id=0ac1ad65
dev-java/openjdk-bin: new package, add 18.0.1_p10
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>
dev-java/openjdk-bin/Manifest | 6 +
dev-java/openjdk-bin/files/openjdk-bin-18.env.sh | 16 +++
dev-java/openjdk-bin/metadata.xml | 22 +++
dev-java/openjdk-bin/openjdk-bin-18.0.1_p10.ebuild | 147 +++++++++++++++++++++
4 files changed, 191 insertions(+)
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
new file mode 100644
index 00000000..1d8ea3b8
--- /dev/null
+++ b/dev-java/openjdk-bin/Manifest
@@ -0,0 +1,6 @@
+DIST OpenJDK18U-jdk_aarch64_linux_hotspot_18.0.1_10.tar.gz 191259769 BLAKE2B
bf65463bd2d09c2546e272d3972f24ed1b92223125b474e40ab3166f7ee190b831d9a021a74b72279ce404517158b0cc144aec8eb3a20e164e8a86b73f20126e
SHA512
c0127793551bb4f335c3970b53b515265f9e53cca02cd597ac854ceb88bc479bbb96b865ac31e194eda14c5a1b9f08a6d0f3922a3d763a54a1994478c2526afc
+DIST OpenJDK18U-jdk_arm_linux_hotspot_18.0.1_10.tar.gz 189528067 BLAKE2B
05485aaf4ae8071afe0a988f893fdc1611b4841003b5c01ea6ae8ed83905191e9d7a4848e4a0b3b3f9d69e6246e1df354f57ebbd6460a53834b3562dfa971fea
SHA512
93c45e7f3549018dc10a83e19052504352a7e242b2c5e40a5a9bfc30813e5c21b23f6f06c4ae5e94b9ab0a6b9be7397dceb7ebd871e2e45f49e6023c76bf6ca0
+DIST OpenJDK18U-jdk_ppc64le_linux_hotspot_18.0.1_10.tar.gz 191894570 BLAKE2B
4d9c34bfc24bd8edd25546a66c2ab7fe7fec0a4e813ad8ca4908736d37e64e65f19ab8b5f5058084189390acd9cfb7eb52c6c477ce7f055b2ed1792dfb722db7
SHA512
c9c2ba2734c66546cbaaeea64063b196be87ee93141244d6910159287cddbc1d3a05e4436b0edf3d22be38f7169a1d8da003525d8ebe650a2ccabe1928a5199d
+DIST OpenJDK18U-jdk_x64_alpine-linux_hotspot_18.0.1_10.tar.gz 192338187
BLAKE2B
043cedf394fdc2abd28d0845de6603c13155fa0799dc08e38c246033e71bf718d96e33c8dfb0136f98bf494e935f176190a1bf8a42ea07e4aae6ace5fe02729d
SHA512
7eb45639f8b8883b3f7fb0547a45df38fdeee12c6083b6f6237c557a388a511e655129c9d09997ea155c4e47333dfcffeb5a52fc1c7528b7eeae19a18c555f3e
+DIST OpenJDK18U-jdk_x64_linux_hotspot_18.0.1_10.tar.gz 192550912 BLAKE2B
0bc56715f9747b35a48e82176bf42db637286e91492350ab6dbb77b8cbd1a9f806b1eef1654036d0e538fbd3199d3484d57edcc8f89b6f7c03c1ae5de132e6f1
SHA512
695b2c1776362d3f32462b63e64d3c4ba4ed1b7557b4a8f821f4df518af5ddf96450bc46165815827e2d2f240f04a09dd66c6ede59f6d111ad84414c57b0a759
+DIST OpenJDK18U-jdk_x64_mac_hotspot_18.0.1_10.tar.gz 188268875 BLAKE2B
94954e3ae9e0ba2ba93d4a71c605935d239a364ffd07720bf91eafaed320ce912ebfd93ca3eb283f6e44fb39de2553019a8b6484222e1a8446ff4fcbd824c514
SHA512
f63f35dbe5d757b194a01286a3feb3b0aa8a0740ffb2d75ee200db675bd1c653d930c51aa7c2e35deeadc301fc59583d83cc83ceefba8786793747101422beac
diff --git a/dev-java/openjdk-bin/files/openjdk-bin-18.env.sh
b/dev-java/openjdk-bin/files/openjdk-bin-18.env.sh
new file mode 100644
index 00000000..f6d25d57
--- /dev/null
+++ b/dev-java/openjdk-bin/files/openjdk-bin-18.env.sh
@@ -0,0 +1,16 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+VERSION="Eclipse Temurin JDK ${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"
diff --git a/dev-java/openjdk-bin/metadata.xml
b/dev-java/openjdk-bin/metadata.xml
new file mode 100644
index 00000000..37e5947f
--- /dev/null
+++ b/dev-java/openjdk-bin/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>Georgy Yakovlev</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>[email protected]</email>
+ <name>Java</name>
+ </maintainer>
+ <longdescription>
+ Java™ is the world's leading programming language and platform.
+ The code for Java is open source and available at OpenJDK™.
+ AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully
open source set of build scripts and infrastructure.
+ </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/openjdk-bin/openjdk-bin-18.0.1_p10.ebuild
b/dev-java/openjdk-bin/openjdk-bin-18.0.1_p10.ebuild
new file mode 100644
index 00000000..bbd9df9f
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-18.0.1_p10.ebuild
@@ -0,0 +1,147 @@
+# 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() {
+ 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 aarch64 arm64)
+ $(abi_uri arm)
+ $(abi_uri x64 amd64)
+ $(abi_uri x64 amd64 musl)
+ $(abi_uri ppc64le ppc64)
+ $(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:* )
+ 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-${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 -r /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
+}