summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-10-27 18:22:33 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-10-27 18:22:33 +0000
commit15785d54860b2db49ed89464a55923343d80118c (patch)
treef7df35a7429ef7819b142fd801251fa21b775d1c /dev-java
parent532d6c10f84767f12eb9d80cbbb5564795c6e2fd (diff)
downloadbaldeagleos-repo-15785d54860b2db49ed89464a55923343d80118c.tar.gz
baldeagleos-repo-15785d54860b2db49ed89464a55923343d80118c.tar.xz
baldeagleos-repo-15785d54860b2db49ed89464a55923343d80118c.zip
Adding metadata
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/icu4j/icu4j-73.2.ebuild2
-rw-r--r--dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild33
-rw-r--r--dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild2
-rw-r--r--dev-java/openjdk-bin/Manifest3
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-21.0.1_p12.ebuild132
-rw-r--r--dev-java/openjdk/Manifest3
-rw-r--r--dev-java/openjdk/files/openjdk-17.0.6-multihead-fix.patch24
-rw-r--r--dev-java/openjdk/openjdk-21.0.1_p12.ebuild320
-rw-r--r--dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild2
-rw-r--r--dev-java/xalan-serializer/Manifest1
-rw-r--r--dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild41
-rw-r--r--dev-java/xalan/Manifest2
-rw-r--r--dev-java/xalan/xalan-2.7.2-r1.ebuild67
13 files changed, 461 insertions, 171 deletions
diff --git a/dev-java/icu4j/icu4j-73.2.ebuild b/dev-java/icu4j/icu4j-73.2.ebuild
index 045c5ef4f162..ff98741c1af2 100644
--- a/dev-java/icu4j/icu4j-73.2.ebuild
+++ b/dev-java/icu4j/icu4j-73.2.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/icu-release-${PV/./-}/icu4j/main"
LICENSE="icu"
SLOT="70"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
DEPEND=">=virtual/jdk-1.8:*
test? ( dev-java/junitparams:0 )"
diff --git a/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild b/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild
deleted file mode 100644
index 982f73ce8c98..000000000000
--- a/dev-java/java-getopt/java-getopt-1.0.14-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-ant-2
-
-DESCRIPTION="Java command line option parser"
-HOMEPAGE="https://www.urbanophile.com/arenn/hacking/download.html"
-SRC_URI="https://www.urbanophile.com/arenn/hacking/getopt/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="1"
-KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-DEPEND=">=virtual/jdk-1.8:*"
-RDEPEND=">=virtual/jre-1.8:*"
-
-S="${WORKDIR}"
-
-src_prepare() {
- default
- mv gnu/getopt/buildx.xml build.xml || die
-}
-
-src_install() {
- java-pkg_dojar build/lib/gnu.getopt.jar
- dodoc gnu/getopt/COPYING.LIB gnu/getopt/ChangeLog gnu/getopt/README
- use doc && java-pkg_dojavadoc build/api
- use source && java-pkg_dosrc gnu
-}
diff --git a/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild b/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild
index 2053e322c47a..9350a857e77e 100644
--- a/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild
+++ b/dev-java/javax-persistence-api/javax-persistence-api-2.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://repo1.maven.org/maven2/javax/persistence/${PN/-/.}/${PV}/${PN/-
LICENSE="CDDL"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
BDEPEND="app-arch/unzip"
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 07985e75c013..b0ce2ae92307 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -11,6 +11,9 @@ DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz 191404507 BLAKE2B 9f
DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.8.1_1.tar.gz 191374032 BLAKE2B f7f6eb577cc9cffd8e9326a7cf262adeb35e18bd4262973c81030c2fddb8077101968161a7d8239f8b78265925ba03fad393e60054a6e3651702d983c98e4f03 SHA512 c68d3ccacbe5d065b41948e3d02257185185679747d803e9c6387a8ce0e8e51a38757d1a43d15a19a27228b7b10629d64dfb274f882a0abca8781ac71ec4aae9
DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz 192053612 BLAKE2B bd59524805f7af5883b7fd20ff13b77594ec6841c28b028ff589419ff31cc7f152c6b177bc133b7749c413c22a7e8bdeab6e2f705ceb49617bb89dd6be6727a4 SHA512 3856cea7abfacfeda499200ff09427ce7f2e96f25eb556cb27eecc83f0f8c5b3fcb831a00dcf0202d6dbb191e2a23e2d0f928dcfc503dbfc582193245ecd2522
DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.8.1_1.tar.gz 187618128 BLAKE2B 0413bb2bb928906f8aa09a6dae161fd91b4cc17a81ec822d4553322f1505f8141d10d308ddfb632c1678d2685dd95d999d09de5888aee056ca95847cca26b29e SHA512 b2ba614ca966acc6c03563a248638051abe0851b9b6932e8d93748307250f32b5fd8cef70c8c308aba4f97c02c4791cc7193b19f5b2f407f6c2d003fcf2416a6
+DIST OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz 205976031 BLAKE2B 86b00c0c8da5c7ef97e993c1a863c715eca4384f892bf184e094ea4abdeac5e47a54159d1aadedd420e3c4e0d3644ce33589aa8bd1f83f5d67bd19c340951a8d SHA512 ed05b9733e8270fe73dab86fb9320689a6613dd2d6a5807a47a2e22f081feefd9729e39521c85f3f443687bd103918850a9bd3a27d1a64b8519bb37c7454e5e8
+DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.1_12.tar.gz 206892255 BLAKE2B f51f7093e3c94c3ae766a36d2ab9da83e5789a6eb586b5ca2f6417c1b58134a1debe80a64fcd80ca7ec8605670bd73ba6cfca2e6a299b12423b7f8a5fcc46f22 SHA512 28dc24c8023c06f1ca765b81d06ea17a6ba2448ac0a2190633266211b82a78be03e3a0f27e52ee9a23919696b8c744ba9e2cf1a325f99b7a29fb276a9428735a
+DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz 207852818 BLAKE2B 294b849b8a0e851c034d63533fe844e528b05886a4803b3f5c73e0e9b5db1a79462963d0c90da2ae5967f1b7eac1521ddc199cdbff8fadd1875bace5a0f0d2f5 SHA512 496ed15dcba607cd1b9e6786932429f9d213d2ea22203bf8cbed61880655ee046bfc4c07b7b0d54285081ddf242fd8957ba34c8be75f5fb2ae0aac16f9b8ef3a
DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u382b05.tar.gz 102105707 BLAKE2B 5edec97bb60d983bcc299914c5bad8e89aef70f31ff1f5b26cbd430cbacc8b41c6d04906a9ea3a1eb6cf2601ae81279a871a1eb77c3297abb5454e213f2583b0 SHA512 11219c825f8ac0fcdd16120f89b2e7951c651595eb0be762cb511bad8cf44d3bc3136ba6f71b5ded8a9745fe5a143416b0ef4422c1cbbe62f110e4fa5f39c7ed
DIST OpenJDK8U-jdk_arm_linux_hotspot_8u382b05.tar.gz 98311130 BLAKE2B b2158aca6fef4e8a404b9dace05817f5fefd0b201281351126d422f35d66d733510943246c22a47f03e65d711f25d424935ae8788057722c71cbb30a4f7a4a1e SHA512 70d79c385ebb1cfe286781eb8da0d622a61140a0abc3b6bc559c8213ace93b9ce2a77aa55a3ef32936ee512b406044c1708624b4d040b62dd2462b4ea6e71572
DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u382b05.tar.gz 100512595 BLAKE2B e2d0c97d0b68e649e11755fe258035a307ab8b96331ec0e6e431ec126857b60869d9c2bae966955a929fe87572b59e898603b32284bc76ce49c8086b06b838e6 SHA512 04a58d50c4fe0ced94b48e3018a6853c836a4f53cb4f310bad2ca7e913380a023655230ff5bb421f012cf2cdc037767f9e11aaa8f5b1b9f722b100c4417ccca4
diff --git a/dev-java/openjdk-bin/openjdk-bin-21.0.1_p12.ebuild b/dev-java/openjdk-bin/openjdk-bin-21.0.1_p12.ebuild
new file mode 100644
index 000000000000..3d125fc60923
--- /dev/null
+++ b/dev-java/openjdk-bin/openjdk-bin-21.0.1_p12.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2023 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 x64 amd64)
+ $(abi_uri x64 amd64 musl)
+"
+
+DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
+HOMEPAGE="https://adoptium.net"
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64"
+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
+}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 402a522c0612..4bda6b86f359 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -2,6 +2,7 @@ DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6
DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
DIST openjdk-11.0.20.1_p1.tar.gz 116165519 BLAKE2B 3f3627d6535770c6654226ca2c188ac4aa0f332c7f66d79ab1991274e019ee4aee5194b285bace03175593543017a2ec75494e8e50b5488df82c7d437bf31398 SHA512 765f90a24629e5db5afb23b09edc38a3d460ba27d1de53980942e711783fe9fdf1c4ef29a75d2ffd6d93864611ffce60d515e032180917cd053967a0d4ecfc69
DIST openjdk-17.0.8.1_p1.tar.gz 105878760 BLAKE2B e4d752dc87717855bfe4bd84c97056f0d93b554c67bdbb3e750e20479e2156628c85aea7b404577ea6ff40d49669d5f53aab06d0c4cf9aa926b060a0cd93cd03 SHA512 0d8e9e54173be855c15d121d4d6cd36996700e1e2fb194ad93ba8ad794a342c87b7d2f81a32d0bb215e45f1dc1f4efdfe1be5e8de99395730902d443ac773813
+DIST openjdk-21.0.1_p12.tar.gz 112241360 BLAKE2B 68a542a1dd65cf74b826e255d08350ec662c37337e45aec18d91e0dbdcce5c6e50172ad482cc21f1aacbf356722e009d4b6431aecf5a1d6b67b74a5007ca702a SHA512 def4b6688f063758235bc454bbbdb4caefa45d2724a9f2296af11d684801f05f1375f0be771b52d9235676e7f89dec816a34b3a1a1cc972662ee50de89600455
DIST openjdk-8.382_p05.tar.gz 93105951 BLAKE2B 07e2961dbbd8de153650a1f92fd88960e6b1b39e7d212cc158bd943d35da5fdab0595583226ac12134eb176b1c550576e7aef5dfaf4a76ac0060daa42f4b4495 SHA512 5879cfbd5795f0260897c52fe2503754767faf1e229832e0c4c6dd9957055fd7105d14403d82ccf92eed0adfecc5bc858a89643e68d3c81d437fd543fbfce49a
DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f
@@ -10,3 +11,5 @@ DIST openjdk-bootstrap-17.0.1_p12-ppc64.tar.xz 116557680 BLAKE2B d20e45a5a76e30e
DIST openjdk-bootstrap-17.0.1_p12-x86.tar.xz 111479904 BLAKE2B 17d33f8ee81c2846f417d8e7cd1429eb611e916a6b375c76127179dc6afc55b0254248360c892ce37a178fd553934d952ec8955ff5d0613eb66678b8ecefe917 SHA512 094bcc960801e5fd7e1c966c8101c195ac7fa5e222d9c8e79ca64f8a3e6812613c17a0356211e7dd831325fa11af88cc22ed56c434d65504f18dd4f4ceaedfdf
DIST openjdk-bootstrap-17.0.2_p8-arm64-musl.tar.xz 115353932 BLAKE2B 0cc4ab078085f094bbcc65448458d98a0f521e3b754c5118b1b4f957cfa00c24e896c811c2a477822c469ffcfe0de1ad6a8d0b7db23b0b09ae3b459eaf8c4fc8 SHA512 e30acd6c64a0095f4203129ecf2cff4c6b4293bc017457465d3abb746d280a2f5d89028eed22f7f3d236890d047149c7aa257e3b49593d7a6ab4dd6b777a7c26
DIST openjdk-bootstrap-17.0.3_p7-riscv.tar.xz 113344052 BLAKE2B 69ae326c600ecf1840a0874b1e26545779434b979e195a3bc7975615f873cd9ffce324f291e56a2800edc304447845baec774b2a08964afde274bd8e0dd3f704 SHA512 4a483faa32b26758f6fae605fdb3d3b77814c627a3a560e91ca88e2d36a88543a53f019a59b5a6456b87ca671e8b7129d5766210bd5cd52125cb3a040ec2a23f
+DIST openjdk-bootstrap-21.0.0_p35-ppc64.tar.xz 125375264 BLAKE2B 28802995f393dc76362dae766f8b598fd56085051418075d4c426293e6431b441ea38a2d2e4676fc89173d10324e3aafac52c97a5d9459bb0199168a07807e16 SHA512 cbd3992450c44764373c25313f6ce32f0c8a47abec557e4a10f7f8517435bf450ba5ac9fa9c8cdfb41f1536b55829d733426dc12dc2b5a2eebf5a94e9094752a
+DIST openjdk-bootstrap-21.0.0_p35-x86.tar.xz 120906212 BLAKE2B c3a56f4e51a8aca1c318b9c32bebdb4c09e42d80416ce1843bc80077f09466b7f54627ab6992f9149fdabdb4d5557c3cad6b5e93b37ba3d89d84f736fc07a57a SHA512 40f0cf60adaebd0c6ae11badb6b71727a5cc64c89077731b0f7cc82f203297b9b780ae43ec74eca9dd5a64de1209f519c2ad0f9083c017cf474d1020206f762c
diff --git a/dev-java/openjdk/files/openjdk-17.0.6-multihead-fix.patch b/dev-java/openjdk/files/openjdk-17.0.6-multihead-fix.patch
deleted file mode 100644
index 46f503dd8e0b..000000000000
--- a/dev-java/openjdk/files/openjdk-17.0.6-multihead-fix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From cfc9a881afd300bd7c1ce784287d1669308e89fc Mon Sep 17 00:00:00 2001
-From: Sergey Bylokhov <serb@openjdk.org>
-Date: Sat, 2 Jul 2022 00:25:20 +0000
-Subject: [PATCH] 8288854: getLocalGraphicsEnvironment() on for multi-screen
- setups throws exception NPE
-
-Reviewed-by: azvegint, aivanov
----
- .../unix/classes/sun/awt/X11GraphicsEnvironment.java | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java b/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java
-index 5c9d2a1b695..93f5eaf6656 100644
---- a/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java
-+++ b/src/java.desktop/unix/classes/sun/awt/X11GraphicsEnvironment.java
-@@ -236,7 +236,7 @@ private synchronized void initDevices() {
- throw new AWTError("no screen devices");
- }
- int index = getDefaultScreenNum();
-- mainScreen = 0 < index && index < screens.length ? index : 0;
-+ mainScreen = 0 < index && index < numScreens ? index : 0;
-
- for (int id = 0; id < numScreens; ++id) {
- devices.put(id, old.containsKey(id) ? old.remove(id) :
diff --git a/dev-java/openjdk/openjdk-21.0.1_p12.ebuild b/dev-java/openjdk/openjdk-21.0.1_p12.ebuild
new file mode 100644
index 000000000000..7332163ebc89
--- /dev/null
+++ b/dev-java/openjdk/openjdk-21.0.1_p12.ebuild
@@ -0,0 +1,320 @@
+# Copyright 1999-2023 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: <UPPERCASE_KEYWORD>_XPAK
+PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball
+X86_XPAK="21.0.0_p35"
+
+# Usage: bootstrap_uri <keyword> <version> [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:+) })"
+}
+
+# don't change versioning scheme
+# to find correct _p number, look at
+# https://github.com/openjdk/jdk${SLOT}u/tags
+# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
+# to exact same commit sha. we should always use the full version.
+# -ga tag is just for humans to easily identify General Availability release tag.
+MY_PV="${PV%_p*}-ga"
+SLOT="${MY_PV%%[.+]*}"
+
+DESCRIPTION="Open source implementation of the Java programming language"
+HOMEPAGE="https://openjdk.org"
+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 x86 ${X86_XPAK})
+ )
+"
+
+LICENSE="GPL-2-with-classpath-exception"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
+
+REQUIRED_USE="
+ javafx? ( alsa !headless-awt )
+ !system-bootstrap? ( jbootstrap )
+ !system-bootstrap? ( || ( ppc64 x86 ) )
+"
+
+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() {
+ 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
+
+ # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
+ # https://bugs.gentoo.org/833097
+ # https://bugs.gentoo.org/833098
+ filter-lto
+ filter-flags -fdevirtualize-at-ltrans
+
+ # 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-jvm-feature-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" )
+
+ use lto && myconf+=( --with-jvm-features=link-time-opt )
+
+ 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() {
+ # Too brittle - gets confused by e.g. -Oline
+ export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
+ unset GNUMAKEFLAGS MAKEFLAGS
+
+ 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/*
+ dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
+ fi
+}
+
+pkg_postinst() {
+ java-vm-2_pkg_postinst
+}
diff --git a/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild b/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild
index c9f707d59066..e697776b3d95 100644
--- a/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild
+++ b/dev-java/osgi-cmpn/osgi-cmpn-8.0.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://docs.osgi.org/download/r$(ver_cut 1)/${PN/-/.}-${PV}.jar -> ${P
LICENSE="Apache-2.0 OSGi-Specification-2.0"
SLOT="8"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ppc64 x86"
CP_DEPEND="
dev-java/cdi-api:0
diff --git a/dev-java/xalan-serializer/Manifest b/dev-java/xalan-serializer/Manifest
index b901e3096c7c..47e6dc2239af 100644
--- a/dev-java/xalan-serializer/Manifest
+++ b/dev-java/xalan-serializer/Manifest
@@ -1,3 +1,2 @@
-DIST xalan-j_2_7_2-src.tar.gz 8416261 BLAKE2B be67c9f2f7ec1140965dc148aea94347e60a2969deb1fac5834c1458d10b3dca91b448a44ed6ebbbb227e4f04780ce0142e812cd99d8862a4cbbf5e8e2af4cb3 SHA512 2f1fa105b3cb8082594e3121a245464e1b7c15464b1ead2d10e306e51ef61ded5d7fcd70c034fa46f41c4a8c14316e376cc14d8045c8aadfce80f2e4bd1b61d8
DIST xalan-j_2_7_3-src.tar.gz 13686458 BLAKE2B e19373aa22dad13945917d8f041f56e6ff9cc434a70e88b96764e0547a0a122a9197eeb23bb7757a5483beead334f4af62e7e1b70531b23c31199ec4733756ef SHA512 fe4b2b9471f95a2cd3607550a6c97b46b7d2576d1e814305f4564df88aaf4fdc9f88ba43dad4a5741521b2c2f5137e3e70d2d4e31b232d403a66dc1e889c8b6b
DIST xalan-j_2_7_3-src.tar.gz.asc 849 BLAKE2B 623fefefa3ab88bfdef5376101f26a9c6602c30a34c0db369159bdb7af34ccb2602011071dd3e79304e6dd4e8b8a198729347f5dbee9a06ae12af12d351de82a SHA512 5c7ed7e71f8a0c2739a64f9ba34edb28d749924d1a581b9963bed3376151a090c2c1af2b1111612822cf20d27a814e22917660f034912e8e5fa913b434e66bf2
diff --git a/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild b/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild
deleted file mode 100644
index 559185ec0734..000000000000
--- a/dev-java/xalan-serializer/xalan-serializer-2.7.2-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-JAVA_PKG_IUSE="doc source"
-
-inherit java-pkg-2 java-pkg-simple
-
-MY_PV="$(ver_rs 1- '_')"
-MY_P="xalan-j_${MY_PV}"
-
-DESCRIPTION="DOM Level 3 serializer from Apache Xalan, shared by Xalan and Xerces"
-HOMEPAGE="https://xalan.apache.org/"
-SRC_URI="mirror://apache/xalan/xalan-j/source/${MY_P}-src.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND=">=virtual/jre-1.8:*"
-DEPEND=">=virtual/jdk-1.8:*"
-
-JAVA_SRC_DIR="src"
-JAVA_RESOURCE_DIRS="resources"
-
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
- # kill all non-serializer sources to ease javadocs and dosrc
- find src/org/ -type f ! -path "src/org/apache/xml/serializer/*" -delete || die
-
- # remove bundled jars
- find -name "*.jar" -delete || die
- rm src/*.tar.gz || die
-
- # move resources elsewhere
- mkdir -p resources/org/apache/xml/serializer || die
- mv src/org/apache/xml/serializer/*.properties resources/org/apache/xml/serializer/ || die
-}
diff --git a/dev-java/xalan/Manifest b/dev-java/xalan/Manifest
index 8c6187b284e4..47e6dc2239af 100644
--- a/dev-java/xalan/Manifest
+++ b/dev-java/xalan/Manifest
@@ -1,4 +1,2 @@
-DIST xalan-j_2_7_2-bin.zip 17740075 BLAKE2B 244fd71011fa957ff1988dbbb58e40af4ad218aafbd92f2a6ec305d59ec0fb221a283442b24e4290f6d2e853cfad39d689c1397b4d18f34f4c94403610079328 SHA512 ae2be0bfc5e794b159c2d16718275a6ce6e8f63d681e2d13875f233d334a37aba872206c6c1f70565698ceaf4c66261c7df6db6c524e6e8da5dafe2f17cefddf
-DIST xalan-j_2_7_2-src.tar.gz 8416261 BLAKE2B be67c9f2f7ec1140965dc148aea94347e60a2969deb1fac5834c1458d10b3dca91b448a44ed6ebbbb227e4f04780ce0142e812cd99d8862a4cbbf5e8e2af4cb3 SHA512 2f1fa105b3cb8082594e3121a245464e1b7c15464b1ead2d10e306e51ef61ded5d7fcd70c034fa46f41c4a8c14316e376cc14d8045c8aadfce80f2e4bd1b61d8
DIST xalan-j_2_7_3-src.tar.gz 13686458 BLAKE2B e19373aa22dad13945917d8f041f56e6ff9cc434a70e88b96764e0547a0a122a9197eeb23bb7757a5483beead334f4af62e7e1b70531b23c31199ec4733756ef SHA512 fe4b2b9471f95a2cd3607550a6c97b46b7d2576d1e814305f4564df88aaf4fdc9f88ba43dad4a5741521b2c2f5137e3e70d2d4e31b232d403a66dc1e889c8b6b
DIST xalan-j_2_7_3-src.tar.gz.asc 849 BLAKE2B 623fefefa3ab88bfdef5376101f26a9c6602c30a34c0db369159bdb7af34ccb2602011071dd3e79304e6dd4e8b8a198729347f5dbee9a06ae12af12d351de82a SHA512 5c7ed7e71f8a0c2739a64f9ba34edb28d749924d1a581b9963bed3376151a090c2c1af2b1111612822cf20d27a814e22917660f034912e8e5fa913b434e66bf2
diff --git a/dev-java/xalan/xalan-2.7.2-r1.ebuild b/dev-java/xalan/xalan-2.7.2-r1.ebuild
deleted file mode 100644
index 898db61934e7..000000000000
--- a/dev-java/xalan/xalan-2.7.2-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# NOTE: Building the docs is much more hassle than it's worth. It
-# requires com.sun.image.codec, which has long gone from JDKs, and
-# Apache StyleBook, which is long dead though it is bundled here.
-
-JAVA_PKG_IUSE="doc source"
-MAVEN_ID="xalan:xalan:2.7.2"
-
-inherit java-pkg-2 java-ant-2
-
-MY_PN="${PN}-j"
-MY_PV="$(ver_rs 1- _)"
-MY_P="${MY_PN}_${MY_PV}"
-SRC_DIST="${MY_P}-src.tar.gz"
-BIN_DIST="${MY_P}-bin.zip"
-
-DESCRIPTION="Transforming XML documents into HTML, text, or other XML document types"
-HOMEPAGE="https://xalan.apache.org/"
-SRC_URI="mirror://apache/${PN}/${MY_PN}/source/${SRC_DIST}
- doc? ( mirror://apache/${PN}/${MY_PN}/binaries/${BIN_DIST} )"
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-CDEPEND="dev-java/javacup:0
- dev-java/bcel:0"
-
-BDEPEND="doc? ( app-arch/unzip )"
-RDEPEND="${CDEPEND}
- >=virtual/jre-1.8:*
- ~dev-java/xalan-serializer-${PV}:${SLOT}"
-
-DEPEND="${CDEPEND}
- virtual/jdk:1.8"
-
-EANT_GENTOO_CLASSPATH="bcel,javacup"
-EANT_BUILD_TARGET="unbundledjar"
-EANT_DOC_TARGET=""
-
-JAVA_ANT_REWRITE_CLASSPATH="true"
-S="${WORKDIR}/${MY_P}"
-
-src_prepare() {
- default
-
- # disable building of serializer.jar
- sed -i -e 's/depends="prepare,serializer.jar"/depends="prepare"/' \
- build.xml || die "sed build.xml failed"
-
- # remove bundled jars
- find -name "*.jar" -delete || die
- rm src/*.tar.gz || die
-}
-
-src_install() {
- java-pkg_newjar build/${PN}-unbundled.jar
- java-pkg_dolauncher ${PN} --main org.apache.xalan.xslt.Process
- java-pkg_register-dependency ${PN}-serializer
-
- dodoc NOTICE.txt readme.html
- use doc && java-pkg_dohtml -r docs/*
- use source && java-pkg_dosrc src/org
-}