From 07f7435a0b3afa339fa55e782fc5fce9c6c6b834 Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Mon, 4 Jul 2022 12:49:48 +0000 Subject: Adding metadata --- dev-java/openjdk-bin/files/openjdk-bin-11.env.sh | 16 -- dev-java/openjdk-bin/files/openjdk-bin-17.env.sh | 16 -- dev-java/openjdk-bin/files/openjdk-bin-8.env.sh | 3 - dev-java/openjdk-bin/files/openjdk-bin.env.sh | 13 + .../openjdk-bin/openjdk-bin-11.0.15_p10.ebuild | 2 +- dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild | 2 +- .../files/openjdk-jre-bin-11.env.sh | 14 - .../files/openjdk-jre-bin-17.env.sh | 14 - .../openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh | 3 - .../openjdk-jre-bin/files/openjdk-jre-bin.env.sh | 11 + .../openjdk-jre-bin-11.0.14_p9-r1.ebuild | 2 +- .../openjdk-jre-bin-11.0.15_p10.ebuild | 2 +- .../openjdk-jre-bin-17.0.3_p7.ebuild | 2 +- dev-java/openjdk/files/openjdk-11.env.sh | 16 -- dev-java/openjdk/files/openjdk-17.env.sh | 16 -- dev-java/openjdk/files/openjdk-8.env.sh | 3 - dev-java/openjdk/files/openjdk.env.sh | 13 + dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild | 294 ++++++++++++++++++++ dev-java/openjdk/openjdk-11.0.15_p10.ebuild | 292 -------------------- dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild | 307 +++++++++++++++++++++ dev-java/openjdk/openjdk-17.0.3_p7.ebuild | 307 --------------------- dev-java/openjdk/openjdk-8.332_p09.ebuild | 2 +- 22 files changed, 644 insertions(+), 706 deletions(-) delete mode 100644 dev-java/openjdk-bin/files/openjdk-bin-11.env.sh delete mode 100644 dev-java/openjdk-bin/files/openjdk-bin-17.env.sh create mode 100644 dev-java/openjdk-bin/files/openjdk-bin.env.sh delete mode 100644 dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh delete mode 100644 dev-java/openjdk-jre-bin/files/openjdk-jre-bin-17.env.sh create mode 100644 dev-java/openjdk-jre-bin/files/openjdk-jre-bin.env.sh delete mode 100644 dev-java/openjdk/files/openjdk-11.env.sh delete mode 100644 dev-java/openjdk/files/openjdk-17.env.sh create mode 100644 dev-java/openjdk/files/openjdk.env.sh create mode 100644 dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild delete mode 100644 dev-java/openjdk/openjdk-11.0.15_p10.ebuild create mode 100644 dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild delete mode 100644 dev-java/openjdk/openjdk-17.0.3_p7.ebuild (limited to 'dev-java') diff --git a/dev-java/openjdk-bin/files/openjdk-bin-11.env.sh b/dev-java/openjdk-bin/files/openjdk-bin-11.env.sh deleted file mode 100644 index 073e66f7ee9c..000000000000 --- a/dev-java/openjdk-bin/files/openjdk-bin-11.env.sh +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2018 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/files/openjdk-bin-17.env.sh b/dev-java/openjdk-bin/files/openjdk-bin-17.env.sh deleted file mode 100644 index f6d25d57c4a1..000000000000 --- a/dev-java/openjdk-bin/files/openjdk-bin-17.env.sh +++ /dev/null @@ -1,16 +0,0 @@ -# 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/files/openjdk-bin-8.env.sh b/dev-java/openjdk-bin/files/openjdk-bin-8.env.sh index fe1b484edfa1..9bb340ba4db4 100644 --- a/dev-java/openjdk-bin/files/openjdk-bin-8.env.sh +++ b/dev-java/openjdk-bin/files/openjdk-bin-8.env.sh @@ -1,6 +1,3 @@ -# Copyright 1999-2019 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}" 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 000000000000..64619f60c7c5 --- /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-11.0.15_p10.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild index 1bb314be9d5d..eb2458b279a2 100644 --- a/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild +++ b/dev-java/openjdk-bin/openjdk-bin-11.0.15_p10.ebuild @@ -124,7 +124,7 @@ src_install() { # provide stable symlink dosym "${P}" "/opt/${PN}-${SLOT}" - java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + 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/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild index 1ad02aaacb18..bba49ad388a3 100644 --- a/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild +++ b/dev-java/openjdk-bin/openjdk-bin-17.0.3_p7.ebuild @@ -125,7 +125,7 @@ src_install() { # provide stable symlink dosym "${P}" "/opt/${PN}-${SLOT}" - use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + 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 diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh deleted file mode 100644 index 5ccace8029b9..000000000000 --- a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-11.env.sh +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -VERSION="Eclipse Temurin JRE ${PV}" -JAVA_HOME="${EPREFIX}/opt/${PN}-${SLOT}" -PATH="\${JAVA_HOME}/bin" -ROOTPATH="\${JAVA_HOME}/bin" -LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/" -MANPATH="\${JAVA_HOME}/man" -PROVIDES_TYPE="JRE" -PROVIDES_VERSION="${SLOT}" -BOOTCLASSPATH="" -GENERATION="2" -ENV_VARS="JAVA_HOME PATH ROOTPATH LDPATH MANPATH" diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-17.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-17.env.sh deleted file mode 100644 index 5ccace8029b9..000000000000 --- a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-17.env.sh +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -VERSION="Eclipse Temurin JRE ${PV}" -JAVA_HOME="${EPREFIX}/opt/${PN}-${SLOT}" -PATH="\${JAVA_HOME}/bin" -ROOTPATH="\${JAVA_HOME}/bin" -LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/" -MANPATH="\${JAVA_HOME}/man" -PROVIDES_TYPE="JRE" -PROVIDES_VERSION="${SLOT}" -BOOTCLASSPATH="" -GENERATION="2" -ENV_VARS="JAVA_HOME PATH ROOTPATH LDPATH MANPATH" diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh index e3f380e33c60..091a43a4efc9 100644 --- a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh +++ b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin-8.env.sh @@ -1,6 +1,3 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - VERSION="Eclipse Temurin JRE ${PV}" JAVA_HOME="${EPREFIX}/opt/${P}" JDK_HOME="${EPREFIX}/opt/${P}" diff --git a/dev-java/openjdk-jre-bin/files/openjdk-jre-bin.env.sh b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin.env.sh new file mode 100644 index 000000000000..3d5130c67fd2 --- /dev/null +++ b/dev-java/openjdk-jre-bin/files/openjdk-jre-bin.env.sh @@ -0,0 +1,11 @@ +VERSION="Eclipse Temurin JRE ${PV}" +JAVA_HOME="${EPREFIX}/opt/${PN}-${SLOT}" +PATH="\${JAVA_HOME}/bin" +ROOTPATH="\${JAVA_HOME}/bin" +LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/" +MANPATH="\${JAVA_HOME}/man" +PROVIDES_TYPE="JRE" +PROVIDES_VERSION="${SLOT}" +BOOTCLASSPATH="" +GENERATION="2" +ENV_VARS="JAVA_HOME PATH ROOTPATH LDPATH MANPATH" diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild index d7a2d14be024..ae3ecf2e8fe9 100644 --- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.14_p9-r1.ebuild @@ -72,7 +72,7 @@ src_install() { dodir "${dest}" cp -pPR * "${ddest}" || die - java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + 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/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild index d7a2d14be024..ae3ecf2e8fe9 100644 --- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.15_p10.ebuild @@ -72,7 +72,7 @@ src_install() { dodir "${dest}" cp -pPR * "${ddest}" || die - java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + 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/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild index d7a2d14be024..ae3ecf2e8fe9 100644 --- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.3_p7.ebuild @@ -72,7 +72,7 @@ src_install() { dodir "${dest}" cp -pPR * "${ddest}" || die - java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + 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/openjdk/files/openjdk-11.env.sh b/dev-java/openjdk/files/openjdk-11.env.sh deleted file mode 100644 index 96c4be79c33f..000000000000 --- a/dev-java/openjdk/files/openjdk-11.env.sh +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -VERSION="OpenJDK ${PV}" -JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" -JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" -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/files/openjdk-17.env.sh b/dev-java/openjdk/files/openjdk-17.env.sh deleted file mode 100644 index 7db6461bf48f..000000000000 --- a/dev-java/openjdk/files/openjdk-17.env.sh +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -VERSION="OpenJDK ${PV}" -JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" -JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" -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/files/openjdk-8.env.sh b/dev-java/openjdk/files/openjdk-8.env.sh index 8f863e4c869a..cc0bc80b474b 100644 --- a/dev-java/openjdk/files/openjdk-8.env.sh +++ b/dev-java/openjdk/files/openjdk-8.env.sh @@ -1,6 +1,3 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - VERSION="OpenJDK ${PV}" JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" diff --git a/dev-java/openjdk/files/openjdk.env.sh b/dev-java/openjdk/files/openjdk.env.sh new file mode 100644 index 000000000000..287c0578b7c2 --- /dev/null +++ b/dev-java/openjdk/files/openjdk.env.sh @@ -0,0 +1,13 @@ +VERSION="OpenJDK ${PV}" +JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" +JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}" +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/openjdk-11.0.15_p10-r1.ebuild b/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild new file mode 100644 index 000000000000..4b7612e1259b --- /dev/null +++ b/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly +MY_PV="${PV%_p*}-ga" +SLOT="${MY_PV%%[.+]*}" + +# variable name format: _XPAK +PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball +RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball +X86_XPAK="11.0.13_p8" + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })" +} + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.java.net" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri riscv ${RISCV_XPAK}) + $(bootstrap_uri x86 ${X86_XPAK}) + ) + riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.14-riscv.patch.xz ) +" + +LICENSE="GPL-2" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-util/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)] + dev-java/openjdk:${SLOT}[gentoo-vm(+)] + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + if use system-bootstrap; then + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + fi +} + +src_prepare() { + use riscv && eapply "${WORKDIR}"/openjdk-11.0.14-riscv.patch + default + chmod +x configure || die +} + +src_configure() { + if ! use system-bootstrap; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + fi + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # Work around -fno-common ( GCC10 default ), bug #713180 + append-flags -fcommon + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + ! use riscv && myconf+=( --with-jvm-features=shenandoahgc ) + + if use javafx; then + # this is not useful for users, just for upstream developers + # build system compares mesa version in md file + # https://bugs.gentoo.org/822612 + export LEGAL_EXCLUDES=mesa3d.md + + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 #nowarn +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-11.0.15_p10.ebuild b/dev-java/openjdk/openjdk-11.0.15_p10.ebuild deleted file mode 100644 index c9dc36e2d7bd..000000000000 --- a/dev-java/openjdk/openjdk-11.0.15_p10.ebuild +++ /dev/null @@ -1,292 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs - -# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to -# set build version properly -MY_PV="${PV%_p*}-ga" -SLOT="${MY_PV%%[.+]*}" - -# variable name format: _XPAK -PPC64_XPAK="11.0.13_p8" # big-endian bootstrap tarball -RISCV_XPAK="11.0.14_p9" # lp64d bootstrap tarball -X86_XPAK="11.0.13_p8" - -# Usage: bootstrap_uri [extracond] -# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) -# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) -bootstrap_uri() { - local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" - local suff="tar.xz" - local kw="${1:?${FUNCNAME[0]}: keyword not specified}" - local ver="${2:?${FUNCNAME[0]}: version not specified}" - local cond="${3-}" - - # here be dragons - echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })" -} - -DESCRIPTION="Open source implementation of the Java programming language" -HOMEPAGE="https://openjdk.java.net" -SRC_URI=" - https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz - -> ${P}.tar.gz - !system-bootstrap? ( - $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) - $(bootstrap_uri riscv ${RISCV_XPAK}) - $(bootstrap_uri x86 ${X86_XPAK}) - ) - riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.14-riscv.patch.xz ) -" - -LICENSE="GPL-2" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" - -IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" - -REQUIRED_USE=" - javafx? ( alsa !headless-awt ) - !system-bootstrap? ( jbootstrap ) -" - -COMMON_DEPEND=" - media-libs/freetype:2= - media-libs/giflib:0/7 - media-libs/harfbuzz:= - media-libs/libpng:0= - media-libs/lcms:2= - sys-libs/zlib - virtual/jpeg:0= - systemtap? ( dev-util/systemtap ) -" - -# Many libs are required to build, but not to run, make is possible to remove -# by listing conditionally in RDEPEND unconditionally in DEPEND -RDEPEND=" - ${COMMON_DEPEND} - >=sys-apps/baselayout-java-0.1.0-r1 - !headless-awt? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXtst - ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - selinux? ( sec-policy/selinux-java ) -" - -DEPEND=" - ${COMMON_DEPEND} - app-arch/zip - media-libs/alsa-lib - net-print/cups - x11-base/xorg-proto - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXtst - javafx? ( dev-java/openjfx:${SLOT}= ) - system-bootstrap? ( - || ( - dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)] - dev-java/openjdk:${SLOT}[gentoo-vm(+)] - ) - ) -" - -S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" - -# The space required to build varies wildly depending on USE flags, -# ranging from 2GB to 16GB. This function is certainly not exact but -# should be close enough to be useful. -openjdk_check_requirements() { - local M - M=2048 - M=$(( $(usex jbootstrap 2 1) * $M )) - M=$(( $(usex debug 3 1) * $M )) - M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) - - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -pkg_pretend() { - openjdk_check_requirements - if [[ ${MERGE_TYPE} != binary ]]; then - has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" - fi -} - -pkg_setup() { - openjdk_check_requirements - java-vm-2_pkg_setup - - [[ ${MERGE_TYPE} == "binary" ]] && return - - JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" - JAVA_PKG_WANT_SOURCE="${SLOT}" - JAVA_PKG_WANT_TARGET="${SLOT}" - - if use system-bootstrap; then - for vm in ${JAVA_PKG_WANT_BUILD_VM}; do - if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then - java-pkg-2_pkg_setup - return - fi - done - else - local xpakvar="${ARCH^^}_XPAK" - export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" - fi -} - -src_prepare() { - use riscv && eapply "${WORKDIR}"/openjdk-11.0.14-riscv.patch - default - chmod +x configure || die -} - -src_configure() { - # Work around stack alignment issue, bug #647954. - use x86 && append-flags -mincoming-stack-boundary=2 - - # Work around -fno-common ( GCC10 default ), bug #713180 - append-flags -fcommon - - # Strip some flags users may set, but should not. #818502 - filter-flags -fexceptions - - # Enabling full docs appears to break doc building. If not - # explicitly disabled, the flag will get auto-enabled if pandoc and - # graphviz are detected. pandoc has loads of dependencies anyway. - - local myconf=( - --disable-ccache - --disable-precompiled-headers - --enable-full-docs=no - --with-boot-jdk="${JDK_HOME}" - --with-extra-cflags="${CFLAGS}" - --with-extra-cxxflags="${CXXFLAGS}" - --with-extra-ldflags="${LDFLAGS}" - --with-freetype="${XPAK_BOOTSTRAP:-system}" - --with-giflib="${XPAK_BOOTSTRAP:-system}" - --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" - --with-lcms="${XPAK_BOOTSTRAP:-system}" - --with-libjpeg="${XPAK_BOOTSTRAP:-system}" - --with-libpng="${XPAK_BOOTSTRAP:-system}" - --with-native-debug-symbols=$(usex debug internal none) - --with-vendor-name="Gentoo" - --with-vendor-url="https://gentoo.org" - --with-vendor-bug-url="https://bugs.gentoo.org" - --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" - --with-vendor-version-string="${PVR}" - --with-version-pre="" - --with-version-string="${PV%_p*}" - --with-version-build="${PV#*_p}" - --with-zlib="${XPAK_BOOTSTRAP:-system}" - --enable-dtrace=$(usex systemtap yes no) - --enable-headless-only=$(usex headless-awt yes no) - $(tc-is-clang && echo "--with-toolchain-type=clang") - ) - ! use riscv && myconf+=( --with-jvm-features=shenandoahgc ) - - if use javafx; then - # this is not useful for users, just for upstream developers - # build system compares mesa version in md file - # https://bugs.gentoo.org/822612 - export LEGAL_EXCLUDES=mesa3d.md - - local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" - if [[ -r ${zip} ]]; then - myconf+=( --with-import-modules="${zip}" ) - else - die "${zip} not found or not readable" - fi - fi - - if use !system-bootstrap ; then - addpredict /dev/random - addpredict /proc/self/coredump_filter - fi - - ( - unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS - CFLAGS= CXXFLAGS= LDFLAGS= \ - CONFIG_SITE=/dev/null \ - econf "${myconf[@]}" - ) -} - -src_compile() { - local myemakeargs=( - JOBS=$(makeopts_jobs) - LOG=debug - CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror - NICE= # Use PORTAGE_NICENESS, don't adjust further down - $(usex doc docs '') - $(usex jbootstrap bootcycle-images product-images) - ) - emake "${myemakeargs[@]}" -j1 #nowarn -} - -src_install() { - local dest="/usr/$(get_libdir)/${PN}-${SLOT}" - local ddest="${ED}/${dest#/}" - - cd "${S}"/build/*-release/images/jdk || die - - # Create files used as storage for system preferences. - mkdir .systemPrefs || die - touch .systemPrefs/.system.lock || die - touch .systemPrefs/.systemRootModFile || die - - # Oracle and IcedTea have libjsoundalsa.so depending on - # libasound.so.2 but OpenJDK only has libjsound.so. Weird. - if ! use alsa ; then - rm -v lib/libjsound.* || die - fi - - if ! use examples ; then - rm -vr demo/ || die - fi - - if ! use source ; then - rm -v lib/src.zip || die - fi - - rm -v lib/security/cacerts || die - - dodir "${dest}" - cp -pPR * "${ddest}" || die - - dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts - - # must be done before running itself - java-vm_set-pax-markings "${ddest}" - - einfo "Creating the Class Data Sharing archives and disabling usage tracking" - "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die - - java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh - java-vm_revdep-mask - java-vm_sandbox-predict /dev/random /proc/self/coredump_filter - - if use doc ; then - docinto html - dodoc -r "${S}"/build/*-release/images/docs/* - dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" - fi -} - -pkg_postinst() { - java-vm-2_pkg_postinst -} diff --git a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild new file mode 100644 index 000000000000..226b675fbd2f --- /dev/null +++ b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild @@ -0,0 +1,307 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# variable name format: _XPAK +ARM64_XPAK="17.0.2_p8" # musl bootstrap install +PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball +RISCV_XPAK="17.0.3_p7" +X86_XPAK="17.0.1_p12" + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +MY_PV="${PV//_p/+}" +SLOT="$(ver_cut 1)" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.java.net" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl) + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri x86 ${X86_XPAK}) + $(bootstrap_uri riscv ${RISCV_XPAK}) + ) + riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz ) +" + +LICENSE="GPL-2" +KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" + +IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-util/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done +} + +src_prepare() { + use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch + default + chmod +x configure || die +} + +src_configure() { + if has_version dev-java/openjdk:${SLOT}; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT} + elif use !system-bootstrap ; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + else + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*} + export JDK_HOME + fi + + # Work around stack alignment issue, bug #647954. in case we ever have x86 + use x86 && append-flags -mincoming-stack-boundary=2 + + # Work around -fno-common ( GCC10 default ), bug #713180 + append-flags -fcommon + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --disable-warnings-as-errors + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" ) + + if use javafx; then + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 #nowarn +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-17.0.3_p7.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7.ebuild deleted file mode 100644 index aa78810445e0..000000000000 --- a/dev-java/openjdk/openjdk-17.0.3_p7.ebuild +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs - -# variable name format: _XPAK -ARM64_XPAK="17.0.2_p8" # musl bootstrap install -PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball -RISCV_XPAK="17.0.3_p7" -X86_XPAK="17.0.1_p12" - -# Usage: bootstrap_uri [extracond] -# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) -# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) -bootstrap_uri() { - local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" - local suff="tar.xz" - local kw="${1:?${FUNCNAME[0]}: keyword not specified}" - local ver="${2:?${FUNCNAME[0]}: version not specified}" - local cond="${3-}" - [[ ${cond} == elibc_musl* ]] && local musl=yes - - # here be dragons - echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" -} - -MY_PV="${PV//_p/+}" -SLOT="$(ver_cut 1)" - -DESCRIPTION="Open source implementation of the Java programming language" -HOMEPAGE="https://openjdk.java.net" -SRC_URI=" - https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz - -> ${P}.tar.gz - !system-bootstrap? ( - $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl) - $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) - $(bootstrap_uri x86 ${X86_XPAK}) - $(bootstrap_uri riscv ${RISCV_XPAK}) - ) - riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-17.0.3-riscv.patch.xz ) -" - -LICENSE="GPL-2" -KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86" - -IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" - -REQUIRED_USE=" - javafx? ( alsa !headless-awt ) - !system-bootstrap? ( jbootstrap ) -" - -COMMON_DEPEND=" - media-libs/freetype:2= - media-libs/giflib:0/7 - media-libs/harfbuzz:= - media-libs/libpng:0= - media-libs/lcms:2= - sys-libs/zlib - virtual/jpeg:0= - systemtap? ( dev-util/systemtap ) -" - -# Many libs are required to build, but not to run, make is possible to remove -# by listing conditionally in RDEPEND unconditionally in DEPEND -RDEPEND=" - ${COMMON_DEPEND} - >=sys-apps/baselayout-java-0.1.0-r1 - !headless-awt? ( - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXtst - ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups ) - selinux? ( sec-policy/selinux-java ) -" - -DEPEND=" - ${COMMON_DEPEND} - app-arch/zip - media-libs/alsa-lib - net-print/cups - x11-base/xorg-proto - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXi - x11-libs/libXrandr - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXtst - javafx? ( dev-java/openjfx:${SLOT}= ) - system-bootstrap? ( - || ( - dev-java/openjdk-bin:${SLOT} - dev-java/openjdk:${SLOT} - ) - ) -" - -S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" - -# The space required to build varies wildly depending on USE flags, -# ranging from 2GB to 16GB. This function is certainly not exact but -# should be close enough to be useful. -openjdk_check_requirements() { - local M - M=2048 - M=$(( $(usex jbootstrap 2 1) * $M )) - M=$(( $(usex debug 3 1) * $M )) - M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) - - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -pkg_pretend() { - openjdk_check_requirements - if [[ ${MERGE_TYPE} != binary ]]; then - has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" - fi -} - -pkg_setup() { - openjdk_check_requirements - java-vm-2_pkg_setup - - [[ ${MERGE_TYPE} == "binary" ]] && return - - JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" - JAVA_PKG_WANT_SOURCE="${SLOT}" - JAVA_PKG_WANT_TARGET="${SLOT}" - - # The nastiness below is necessary while the gentoo-vm USE flag is - # masked. First we call java-pkg-2_pkg_setup if it looks like the - # flag was unmasked against one of the possible build VMs. If not, - # we try finding one of them in their expected locations. This would - # have been slightly less messy if openjdk-bin had been installed to - # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env - # file but disable it so that it would not normally be selectable. - - local vm - for vm in ${JAVA_PKG_WANT_BUILD_VM}; do - if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then - java-pkg-2_pkg_setup - return - fi - done - - if has_version dev-java/openjdk:${SLOT}; then - export JDK_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT} - elif use !system-bootstrap ; then - local xpakvar="${ARCH^^}_XPAK" - export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" - else - JDK_HOME=$(best_version dev-java/openjdk-bin:${SLOT}) - [[ -n ${JDK_HOME} ]] || die "Build VM not found!" - JDK_HOME=${JDK_HOME#*/} - JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*} - export JDK_HOME - fi -} - -src_prepare() { - use riscv && eapply "${WORKDIR}"/openjdk-17.0.3-riscv.patch - default - chmod +x configure || die -} - -src_configure() { - # Work around stack alignment issue, bug #647954. in case we ever have x86 - use x86 && append-flags -mincoming-stack-boundary=2 - - # Work around -fno-common ( GCC10 default ), bug #713180 - append-flags -fcommon - - # Strip some flags users may set, but should not. #818502 - filter-flags -fexceptions - - # Enabling full docs appears to break doc building. If not - # explicitly disabled, the flag will get auto-enabled if pandoc and - # graphviz are detected. pandoc has loads of dependencies anyway. - - local myconf=( - --disable-ccache - --disable-precompiled-headers - --disable-warnings-as-errors - --enable-full-docs=no - --with-boot-jdk="${JDK_HOME}" - --with-extra-cflags="${CFLAGS}" - --with-extra-cxxflags="${CXXFLAGS}" - --with-extra-ldflags="${LDFLAGS}" - --with-freetype="${XPAK_BOOTSTRAP:-system}" - --with-giflib="${XPAK_BOOTSTRAP:-system}" - --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" - --with-lcms="${XPAK_BOOTSTRAP:-system}" - --with-libjpeg="${XPAK_BOOTSTRAP:-system}" - --with-libpng="${XPAK_BOOTSTRAP:-system}" - --with-native-debug-symbols=$(usex debug internal none) - --with-vendor-name="Gentoo" - --with-vendor-url="https://gentoo.org" - --with-vendor-bug-url="https://bugs.gentoo.org" - --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" - --with-vendor-version-string="${PVR}" - --with-version-pre="" - --with-version-string="${PV%_p*}" - --with-version-build="${PV#*_p}" - --with-zlib="${XPAK_BOOTSTRAP:-system}" - --enable-dtrace=$(usex systemtap yes no) - --enable-headless-only=$(usex headless-awt yes no) - $(tc-is-clang && echo "--with-toolchain-type=clang") - ) - - use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" ) - - if use javafx; then - local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" - if [[ -r ${zip} ]]; then - myconf+=( --with-import-modules="${zip}" ) - else - die "${zip} not found or not readable" - fi - fi - - if use !system-bootstrap ; then - addpredict /dev/random - addpredict /proc/self/coredump_filter - fi - - ( - unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS - CFLAGS= CXXFLAGS= LDFLAGS= \ - CONFIG_SITE=/dev/null \ - econf "${myconf[@]}" - ) -} - -src_compile() { - local myemakeargs=( - JOBS=$(makeopts_jobs) - LOG=debug - CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror - NICE= # Use PORTAGE_NICENESS, don't adjust further down - $(usex doc docs '') - $(usex jbootstrap bootcycle-images product-images) - ) - emake "${myemakeargs[@]}" -j1 #nowarn -} - -src_install() { - local dest="/usr/$(get_libdir)/${PN}-${SLOT}" - local ddest="${ED}/${dest#/}" - - cd "${S}"/build/*-release/images/jdk || die - - # Create files used as storage for system preferences. - mkdir .systemPrefs || die - touch .systemPrefs/.system.lock || die - touch .systemPrefs/.systemRootModFile || die - - # Oracle and IcedTea have libjsoundalsa.so depending on - # libasound.so.2 but OpenJDK only has libjsound.so. Weird. - if ! use alsa ; then - rm -v lib/libjsound.* || die - fi - - if ! use examples ; then - rm -vr demo/ || die - fi - - if ! use source ; then - rm -v lib/src.zip || die - fi - - rm -v lib/security/cacerts || die - - dodir "${dest}" - cp -pPR * "${ddest}" || die - - dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts - - # must be done before running itself - java-vm_set-pax-markings "${ddest}" - - einfo "Creating the Class Data Sharing archives and disabling usage tracking" - "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die - - use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh - java-vm_revdep-mask - java-vm_sandbox-predict /dev/random /proc/self/coredump_filter - - if use doc ; then - docinto html - dodoc -r "${S}"/build/*-release/images/docs/* - dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" - fi -} - -pkg_postinst() { - java-vm-2_pkg_postinst -} diff --git a/dev-java/openjdk/openjdk-8.332_p09.ebuild b/dev-java/openjdk/openjdk-8.332_p09.ebuild index 56ae18e26e00..a375e49ff167 100644 --- a/dev-java/openjdk/openjdk-8.332_p09.ebuild +++ b/dev-java/openjdk/openjdk-8.332_p09.ebuild @@ -161,7 +161,7 @@ src_configure() { unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS CFLAGS= CXXFLAGS= LDFLAGS= \ CONFIG_SITE=/dev/null \ - CONFIG_SHELL="${EPREFIX}/bin/bash" + CONFIG_SHELL="${BROOT}/bin/bash" econf "${myconf[@]}" ) } -- cgit v1.3