diff options
Diffstat (limited to 'dev-java')
6 files changed, 718 insertions, 0 deletions
diff --git a/dev-java/icedtea-bin/icedtea-bin-3.16.0-r1.ebuild b/dev-java/icedtea-bin/icedtea-bin-3.16.0-r1.ebuild new file mode 100644 index 000000000000..5e58650a3852 --- /dev/null +++ b/dev-java/icedtea-bin/icedtea-bin-3.16.0-r1.ebuild @@ -0,0 +1,132 @@ +# 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() { + echo "${2-$1}? ( + ${BASE_URI}/${PN}-core-${PV}${3+-r${3}}-${1}.tar.xz + examples? ( ${BASE_URI}/${PN}-examples-${PV}${3+-r${3}}-${1}.tar.xz ) + )" +} + +BASE_URI="https://dev.gentoo.org/~gyakovlev/distfiles" +SRC_URI=" + doc? ( ${BASE_URI}/${PN}-doc-${PV}.tar.xz ) + source? ( ${BASE_URI}/${PN}-src-${PV}.tar.xz ) + big-endian? ( $(abi_uri ppc64) ) + !big-endian? ( $(abi_uri ppc64le ppc64) ) + $(abi_uri amd64) + $(abi_uri arm) + $(abi_uri arm64) + $(abi_uri x86) +" + +DESCRIPTION="A Gentoo-made binary build of the IcedTea JDK" +HOMEPAGE="https://icedtea.classpath.org" + +LICENSE="GPL-2-with-classpath-exception" +SLOT="8" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~x86" +IUSE="+alsa big-endian cups doc examples +gtk headless-awt pulseaudio selinux source" + +REQUIRED_USE="gtk? ( !headless-awt )" + +RESTRICT="preserve-libs strip" +QA_PREBUILT="opt/.*" + +DEPEND="app-arch/xz-utils" + +RDEPEND=" + >=dev-libs/glib-2.60.7:2 + >=media-libs/fontconfig-2.13:1.0 + >=media-libs/freetype-2.9.1:2 + >=media-libs/lcms-2.9:2 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/zlib-1.2.11-r2 + virtual/jpeg-compat:62 + alsa? ( >=media-libs/alsa-lib-1.2 ) + cups? ( >=net-print/cups-2.0 ) + gtk? ( + >=dev-libs/atk-2.32.0 + >=x11-libs/cairo-1.16.0 + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-2.24:2 + >=x11-libs/pango-1.42 + ) + selinux? ( sec-policy/selinux-java ) + virtual/ttf-fonts + !headless-awt? ( + media-libs/giflib:0/7 + =media-libs/libpng-1.6* + >=x11-libs/libX11-1.6 + >=x11-libs/libXcomposite-0.4 + >=x11-libs/libXext-1.3 + >=x11-libs/libXi-1.7 + >=x11-libs/libXrender-0.9.10 + >=x11-libs/libXtst-1.2 + ) +" + +PDEPEND="pulseaudio? ( dev-java/icedtea-sound )" + +S="${WORKDIR}" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]]; then + die "These binaries require a hardfloat system." + fi +} + +src_prepare() { + default + + # I wouldn't normally use -f below but symlinks in the arm files + # make this fail otherwise and any other approach would be tedious. + + if ! use alsa; then + rm -fv */jre/lib/*/libjsoundalsa.* || die + fi + + if use headless-awt; then + rm -fvr */jre/lib/*/lib*{[jx]awt,splashscreen}* \ + */{,jre/}bin/policytool */bin/appletviewer || die + fi +} + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + dodir "${dest}" + + dodoc ${P}-${ABI}/doc/{ASSEMBLY_EXCEPTION,AUTHORS,NEWS,README,THIRD_PARTY_README} + use doc && dodoc -r ${P}/doc/html + + # doins doesn't preserve executable bits. + cp -pRP ${P}-${ABI}/{bin,include,jre,lib,man} "${ddest}" || die + + if use examples; then + cp -pRP ${P}-${ABI}/{demo,sample} "${ddest}" || die + fi + + if use source; then + cp ${P}/src.zip "${ddest}" || die + fi + + # use system-wide cacert store + rm "${ddest}"/jre/lib/security/cacerts || die + dosym ../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts + + java-vm_install-env "${FILESDIR}/icedtea-bin.env.sh" + + # Both icedtea itself and the icedtea ebuild set PAX markings but we + # disable them for the icedtea-bin build because the line below will + # respect end-user settings when icedtea-bin is actually installed. + java-vm_set-pax-markings "${ddest}" + + # Each invocation appends to the config. + java-vm_revdep-mask "${EPREFIX}${dest}" + java-vm_sandbox-predict /proc/self/coredump_filter +} 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 +} diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.13_p8-r1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.13_p8-r1.ebuild new file mode 100644 index 000000000000..57f5b0dac68d --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.13_p8-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by AdoptOpenJDK" +HOMEPAGE="https://adoptopenjdk.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" +IUSE="alsa cups +gentoo-vm headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=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-${MY_PV}-jre" + +src_install() { + local dest="/opt/${P}" + local ddest="${ED%/}/${dest#/}" + + # 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 + + # 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 + + 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 JRE" + ewarn "recognised by the system. This will almost certainly break things." + else + ewarn "The experimental gentoo-vm USE flag has not been enabled so this JRE" + 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 JRE must therefore be invoked using its" + ewarn "absolute location under ${EPREFIX}/opt/${P}." + fi +} diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.312_p07-r1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.312_p07-r1.ebuild new file mode 100644 index 000000000000..2d5ee85aa434 --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.312_p07-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz + )" +} + +MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b}) +SLOT="$(ver_cut 1)" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +SRC_URI=" + $(abi_uri x64 amd64) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" + +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=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${MY_PV}-jre" + +src_install() { + local dest="/opt/${P}" + local ddest="${ED%/}/${dest#/}" + + rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die + + # this does not exist on arm64 hence -f + rm -fv lib/*/libfreetype.so* || die + + if ! use alsa ; then + rm -v lib/*/libjsoundalsa.so* || die + fi + + if use headless-awt ; then + rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \ + bin/policytool || 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}" + + 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 +} |
