diff options
-rw-r--r-- | dev-java/openjdk-bin/Manifest | 7 | ||||
-rw-r--r-- | dev-java/openjdk-bin/files/openjdk-bin.env.sh | 13 | ||||
-rw-r--r-- | dev-java/openjdk-bin/openjdk-bin-19.0.1_p10.ebuild | 136 |
3 files changed, 156 insertions, 0 deletions
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index 1d8ea3b8..6a0e6fa3 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -4,3 +4,10 @@ DIST OpenJDK18U-jdk_ppc64le_linux_hotspot_18.0.1_10.tar.gz 191894570 BLAKE2B 4d9 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 +DIST OpenJDK19U-jdk_aarch64_linux_hotspot_19.0.1_10.tar.gz 198664330 BLAKE2B bb738ac74b7daf3d6bd4fcb3c61ddcb7f1c98a04473f1e82987048d934a85bde86c4db7ef2e784e8c5ff1af45e332ee1107e307f541dd3c77ad8fac2c49222f9 SHA512 8a2c63b41a111aaa87c75f7999ceb67bdc5a7aae081ad4a16dcc1fd71400a0b7dd1b2a135e1fac32256b4df97e77738851880ef3483823304292ae88f89dcf8d +DIST OpenJDK19U-jdk_aarch64_mac_hotspot_19.0.1_10.tar.gz 185292307 BLAKE2B 19f90bd2ca4b25823981c608ce74f00e59b1223bb93560718b44e960324fb94a6b736f43f344b70155eff8338d2f04e76b1d036a814ec9e0df87a13194e9edf5 SHA512 86a0896c2f4411c45b92393b8a1f40ad25a185ec1ef6e01fc5541fd0f81bda75ccbd10f332333f36915646cb2b9e6abbe3da06b087e31c9a622497c0b8ff4a95 +DIST OpenJDK19U-jdk_arm_linux_hotspot_19.0.1_10.tar.gz 196359965 BLAKE2B 1cb4dfa7a4fba9dc5d89b08059dbc9a5be8f2d3f7e04fbb8559b79e85f422817c292f17d08f3fc6478dbec1853eae5e91961618075b8060571f0380313702f05 SHA512 3e5cf535b5145639d8617199c042db25186f9fb4ba4707dabbdef6ebf92010281b930596e22b925f5515f8975f51e71b518d552ef41927ecace4408602f32645 +DIST OpenJDK19U-jdk_ppc64le_linux_hotspot_19.0.1_10.tar.gz 199219789 BLAKE2B 9e69e915115990c02a90d48acc4b4d27ab5655051c976e3a4771868a718bbbcd2a39be8ed638992f20900c4b2d341c3c636c68749d07c90b76733cf5b8b7cd15 SHA512 f4dd0e1f96be3cadf76100efe93a6318fb7e1cb5cc31d1f039e8352778b7fd25acba0d8b67a9e1b5f9bf54435a980c75eaa6f571dbd7d0a7df3c6c995da25c71 +DIST OpenJDK19U-jdk_x64_alpine-linux_hotspot_19.0.1_10.tar.gz 199287890 BLAKE2B c928c3bdc6a60adc5bdf6c57646316f349f4a8c7e17d63d60f527bcded3a131f0f0478dd79245eb87a49869a35de8477afbba4026aa7771ca6ca62da0d8b798e SHA512 031f456de650b2536279ec9c3102e74ccce41ce37c8844589387ed1fd56887acc3a1649b0c0ba37a1e8ee4d4f2e073ce9fa182b9fbf4ed00fa72e52c275dcce8 +DIST OpenJDK19U-jdk_x64_linux_hotspot_19.0.1_10.tar.gz 200089336 BLAKE2B 8a4b3dc862fde3960afe89b255afe950dce354d76b8d21fad60e111bea7fffd11eacb00e152420e4aa5e0c4df15f537106e63fcf861605ab9449986be538420a SHA512 4e617eade65156db9049ec7fc0c7b2bd9cc867413eba74bde1766d42b293a44500ee10f896206d9f17104fab68afa7e5c80265a53c0d01022769cd5727d6dbfc +DIST OpenJDK19U-jdk_x64_mac_hotspot_19.0.1_10.tar.gz 195454218 BLAKE2B 86f6ac9f871061858448d924c696d7d621c8b9d2ef69483fc5ebda439b217b44b3b3dc88c9487c01c4cd1e288fe544001c99237f2f1e805eb5fadd7d093c6ea7 SHA512 58bdfc934e23c83445c93e61623bb6fdc831578fd44fccb61f3ae2943586701cadc956ac23c01e6df14890167b3622ffefd82489c057480d059c7ff30bb9fbdf diff --git a/dev-java/openjdk-bin/files/openjdk-bin.env.sh b/dev-java/openjdk-bin/files/openjdk-bin.env.sh new file mode 100644 index 00000000..64619f60 --- /dev/null +++ b/dev-java/openjdk-bin/files/openjdk-bin.env.sh @@ -0,0 +1,13 @@ +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/openjdk-bin-19.0.1_p10.ebuild b/dev-java/openjdk-bin/openjdk-bin-19.0.1_p10.ebuild new file mode 100644 index 00000000..10cf917b --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-19.0.1_p10.ebuild @@ -0,0 +1,136 @@ +# 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=$(ver_cut 1) + +SRC_URI=" + $(abi_uri aarch64 arm64) + $(abi_uri arm) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri aarch64 arm64-macos) + $(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 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}" + + 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 +} |