summaryrefslogtreecommitdiff
path: root/dev-java/openjdk
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/openjdk')
-rw-r--r--dev-java/openjdk/Manifest20
-rw-r--r--dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch13
-rw-r--r--dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch16
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch41
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch48
-rw-r--r--dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch61
-rw-r--r--dev-java/openjdk/files/openjdk-8.env.sh13
-rw-r--r--dev-java/openjdk/files/openjdk.env.sh13
-rw-r--r--dev-java/openjdk/metadata.xml34
-rw-r--r--dev-java/openjdk/openjdk-11.0.31_p11.ebuild324
-rw-r--r--dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild345
-rw-r--r--dev-java/openjdk/openjdk-17.0.19_p10.ebuild334
-rw-r--r--dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild344
-rw-r--r--dev-java/openjdk/openjdk-21.0.11_p10.ebuild333
-rw-r--r--dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild363
-rw-r--r--dev-java/openjdk/openjdk-25.0.3_p9.ebuild352
-rw-r--r--dev-java/openjdk/openjdk-26.0.1_p8.ebuild355
-rw-r--r--dev-java/openjdk/openjdk-27_alpha21.ebuild359
-rw-r--r--dev-java/openjdk/openjdk-8.492_p09.ebuild301
19 files changed, 0 insertions, 3669 deletions
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
deleted file mode 100644
index 9cdc84c78f52..000000000000
--- a/dev-java/openjdk/Manifest
+++ /dev/null
@@ -1,20 +0,0 @@
-DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
-DIST openjdk-11.0.31_p11.tar.gz 116714248 BLAKE2B 67e4dd3e3383a67c82e41d6ab66f415ac18833b3bbfad9741ee07c9b8b050bcba811aa4188075b26e465017355392851b2b5fd813ced2c37572b6d75c92ac22f SHA512 78e2e96395b0fa17f4565924abc3e034bb660763e6a3a278380232c17d0aff64d000bcec0e6ff0a37e24c5affcb0ffbdacb5565d52375f41dedfdc000e5c0dc6
-DIST openjdk-17.0.19_p10.tar.gz 108200542 BLAKE2B 4a556fa52abc25457a8dab8d17002d2b60bef568bdab6052e91164c67097e4b25d65211024c15317f33cbe45474bfc84e75e64735b1d0f349c917a06dd5e9a5a SHA512 fb37c130bccaf1de37640a0cb0f74b8114c7c8756d28767972b57dedd6b2d86b9da71db57903659497a5e2f2a44b3eea634e551c75ba93a5ec896df1c637a463
-DIST openjdk-21.0.11_p10.tar.gz 114063372 BLAKE2B 3c5542b2169c6aa9c597a0a20ae879ab4890e7e39466d01c639e05653e90aa8198378f6fe6d9daa6d9ad7237f09cdd2320db517b83d4886f292c25d15c1dba4e SHA512 a2283a4bb07018d89b45b8dfabb34b058a3279f3cc96cddbd17c351df3e137ada401d2940d55f59f75bc5483c645415542a3af01658fbc82754e5f454055956a
-DIST openjdk-25.0.3_p9.tar.gz 119542671 BLAKE2B 51d04064ceb052cc09133f4f406ed04fe5d0bb72ada943ec663c9e6405dd6a5ac41e9edd2a5e7079282de717b62db437c41c75dd959ddfdb57852cec6f0f7f34 SHA512 3784667a41df9faf8e9da96a6f83f03372fb362a3c1878a4d368816996c20b2efddc3154ba42ab6e0b180b981f1202debcb93ef67117d96dcdfa1b8dd51f8709
-DIST openjdk-26.0.1_p8.tar.gz 121616225 BLAKE2B 6731182c3c69e86702164704986a97003ba7fb568014306786c18a93c579d08151bcce5161aa35ae1dcedd47743db76494ebac73ade123fda89723700973e5d3 SHA512 4fe9306c0d8cd50abbfe2c0d03f9907fb42a1d7182e6047f6c7b39f3238b6939897788c46d36748298022884e29538213555b8622a846d20e73096fccd15c9a6
-DIST openjdk-27_alpha21.tar.gz 121763152 BLAKE2B 361f8a3b228812800769b84e3b4403165b40495364751eb48ad6a4ac6b71ab3f0ce9b939f0f253aab111df455042fd0f8a071b917ddf349f734b16df333c644f SHA512 49a1cef341ef9466b0de41bebf720a5443d911cde636b87f779f6257beb19921d683645e8c01449c6ca83f33789dd1994bb9fa6890f8ceb99649fff098a21c66
-DIST openjdk-8.492_p09.tar.gz 93934156 BLAKE2B 7b0236327d911139b4d8995c3807f115c8ea2ce2807c7026413d6eebe4bf86575868ceb727af754ca19bfaa84e7d9c82453ca2a0c7c80d367ceedf393d02d94d SHA512 9abde3b53581e41cc47d9a70a768be02aeb4942e03e9a3797f034188f4d99cdc7475305583ec72176011ac8b02a9a2e879df15977ae6a0c8b691409acb8a4e51
-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
-DIST openjdk-bootstrap-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db SHA512 580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64
-DIST openjdk-bootstrap-17.0.1_p12-ppc64.tar.xz 116557680 BLAKE2B d20e45a5a76e30ee60446993bf5dcf0fa10b8b668ebec637ea02b458a472c642f22740e18f28cbf9923ea4cceb17702115c038b13137442e5f0572477d37f12f SHA512 92e0343f493d094300911625a561f42c47402ca4cdbd2ac18414089e8ed8a50ca58f02ec1ef9a3dce017ab7af99a22ab465ddf732ab9e55728e2b146de56fba7
-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
-DIST openjdk-bootstrap-25_p36-ppc64.tar.xz 140209032 BLAKE2B 29f4cd87386543e611e70824abbacc1c433d0f5400fb115e4e0905fb9d92a9961c2fc8ee9f126739ce1695e9b6f657015c4fbfceb854e09127bdbb14a6106773 SHA512 98cc7b46d213d01846468a35108bd1c2ffedd3b51f5180561717b07aefaca98d08a642b2118d38b9822c29b2e61bc046833d2524fe63926c3ad4777b135d7026
-DIST openjdk-bootstrap-8.402_p06-ppc64.tar.xz 34476368 BLAKE2B 1f896772f5e40a2793c5d9294e65e429c94204f91e91bfd76ff780e1d6318741c2052c3f20e59abcfb7018924983b5c9f386f14f912660e3e86296185f348482 SHA512 7bace068c5ac7604ad9db3ed655a52a4a90195efbf2fc342389cf7929d82d3f7b861fe700c16f513599bf9c064a87c9aa5966d7bd45aa7ed5e55ec317667be6a
-DIST openjdk-bootstrap-8.402_p06-x86.tar.xz 37076244 BLAKE2B bd50f84e8ac2ee9850c158c7e7d9fae9741112230dcd6e314163911921d63e3222cd3f4ab9d08bbaacbf6d9bfce9a1a9336e21088fba6396613489a701b30797 SHA512 fe5719e0bbf9bcd6eb9790ebd4da34e7f6c99fe4b7d41de2b5d00b20ebe76a77d857c726d1a71b7f40657ca2a9aa08eaa9efc1ab4be60016f66af95530b454b5
diff --git a/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch b/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch
deleted file mode 100644
index 0b0253839810..000000000000
--- a/dev-java/openjdk/files/openjdk-17.0.16_p8-lto-memory.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/960257
-https://gcc.gnu.org/PR77472
---- a/src/hotspot/share/utilities/globalDefinitions_gcc.hpp
-+++ b/src/hotspot/share/utilities/globalDefinitions_gcc.hpp
-@@ -170,7 +170,7 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
- // Inlining support
- #define NOINLINE __attribute__ ((noinline))
- #define ALWAYSINLINE inline __attribute__ ((always_inline))
--#define ATTRIBUTE_FLATTEN __attribute__ ((flatten))
-+#define ATTRIBUTE_FLATTEN
-
- // Alignment
- //
diff --git a/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch b/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch
deleted file mode 100644
index ba5283f15771..000000000000
--- a/dev-java/openjdk/files/openjdk-8-insantiate-arrayallocator.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Workarounds build error:
-Error: dl failure on line 895
-Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found
-
-Possibly due to g++ 10.x error on not properly instantiating the template.
-
---- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig 2020-11-10 14:07:08.372045326 +0200
-+++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp 2020-11-10 14:08:07.911412813 +0200
-@@ -42,6 +42,7 @@
- # include "os_bsd.inline.hpp"
- #endif
-
-+template class ArrayAllocator<BitMap::bm_word_t, mtInternal>;
-
- BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) :
- _map(map), _size(size_in_bits), _map_allocator(false)
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch
deleted file mode 100644
index 317f1aa226b3..000000000000
--- a/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From cc568d4d246ffc9bf08a96db0889d3b89c852718 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 6 Mar 2024 11:22:11 +0000
-Subject: [PATCH 1/4] Fix -Wint-conversion
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Backport of upstream commit https://github.com/openjdk/jdk21u-dev/commit/7b1455163ed893639059b3d62b71b2ff347c2e3f.
-
-Fixes the following warning/error:
-```
-jdk8u-jdk8u402-ga/jdk/src/share/bin/splashscreen_stubs.c:64:5: error: returning ‘void *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
-```
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- jdk/src/share/bin/splashscreen_stubs.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/jdk/src/share/bin/splashscreen_stubs.c b/jdk/src/share/bin/splashscreen_stubs.c
-index 9c1f514..666634f 100644
---- a/jdk/src/share/bin/splashscreen_stubs.c
-+++ b/jdk/src/share/bin/splashscreen_stubs.c
-@@ -61,11 +61,11 @@ typedef char* (*SplashGetScaledImageName_t)(const char* fileName,
- #define INVOKEV(name) _INVOKE(name, ,;)
-
- int DoSplashLoadMemory(void* pdata, int size) {
-- INVOKE(SplashLoadMemory, NULL)(pdata, size);
-+ INVOKE(SplashLoadMemory, 0)(pdata, size);
- }
-
- int DoSplashLoadFile(const char* filename) {
-- INVOKE(SplashLoadFile, NULL)(filename);
-+ INVOKE(SplashLoadFile, 0)(filename);
- }
-
- void DoSplashInit(void) {
---
-2.44.0
-
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch
deleted file mode 100644
index 3e8a5d17113c..000000000000
--- a/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 57b8fef20b090ffdf99bcf2c3f5fc8d0d4472788 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 6 Mar 2024 11:54:24 +0000
-Subject: [PATCH 2/4] Fix -Wincompatible-pointer-types
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Backport https://github.com/openjdk/jdk17u/commit/6632e6c6ca74101b45b052fb7962376fbe97605e.
-
-```
-jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: In function ‘Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage’:
-jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2853:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types]
- 2853 | freeArray(scale, numBands);
- | ^~~~~
- | |
- | UINT8 ** {aka unsigned char **}
-jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2689:30: note: expected ‘void **’ but argument is of type ‘UINT8 **’ {aka ‘unsigned char **’}
- 2689 | static void freeArray(void** arr, jint size) {
- | ~~~~~~~^~~
-jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2860:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types]
- 2860 | freeArray(scale, numBands);
- | ^~~~~
- | |
- | UINT8 ** {aka unsigned char **}
-```
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
-index 7e1d8c9..163003c 100644
---- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
-+++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c
-@@ -2686,7 +2686,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables
- RELEASE_ARRAYS(env, data, NULL);
- }
-
--static void freeArray(void** arr, jint size) {
-+static void freeArray(UINT8** arr, jint size) {
- int i;
- if (arr != NULL) {
- for (i = 0; i < size; i++) {
---
-2.44.0
-
diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch
deleted file mode 100644
index 44c5268646d8..000000000000
--- a/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 24f51a75b79aec29bd1631d320e051a646b9fae4 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 6 Mar 2024 12:23:41 +0000
-Subject: [PATCH 4/4] Fix misc. warnings
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Backport of https://github.com/openjdk/jdk11u/commit/49dec121161c162f4aa94caf8c09413253d89377.
-
-```
-jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘_jobject* Java_com_sun_java_util_jar_Unpack_getUnusedInput(JNIEnv*, jobject)’:
-jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:295:12: error: cannot convert ‘bool’ to ‘jobject’ {aka ‘_jobject*’} in return
- 295 | return false;
- | ^~~~~
-jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘jlong Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv*, jobject)’:
-jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null]
- 315 | CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL);
- | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
-jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null]
-[...]
-```
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
-index 5fbc726..4c002e7 100644
---- a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
-+++ b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp
-@@ -292,7 +292,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject
-
- if (uPtr->aborting()) {
- THROW_IOE(uPtr->get_abort_message());
-- return false;
-+ return null;
- }
-
- // We have fetched all the files.
-@@ -312,7 +312,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) {
- // There's no need to create a new unpacker here if we don't already have one
- // just to immediatly free it afterwards.
- unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true);
-- CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL);
-+ CHECK_EXCEPTION_RETURN_VALUE(uPtr, 0);
- size_t consumed = uPtr->input_consumed();
- // free_unpacker() will set the unpacker field on 'pObj' to null
- free_unpacker(env, pObj, uPtr);
-@@ -323,6 +323,7 @@ JNIEXPORT jboolean JNICALL
- Java_com_sun_java_util_jar_pack_NativeUnpack_setOption(JNIEnv *env, jobject pObj,
- jstring pProp, jstring pValue) {
- unpacker* uPtr = get_unpacker(env, pObj);
-+ CHECK_EXCEPTION_RETURN_VALUE(uPtr, false);
- const char* prop = env->GetStringUTFChars(pProp, JNI_FALSE);
- CHECK_EXCEPTION_RETURN_VALUE(prop, false);
- const char* value = env->GetStringUTFChars(pValue, JNI_FALSE);
---
-2.44.0
-
diff --git a/dev-java/openjdk/files/openjdk-8.env.sh b/dev-java/openjdk/files/openjdk-8.env.sh
deleted file mode 100644
index cc0bc80b474b..000000000000
--- a/dev-java/openjdk/files/openjdk-8.env.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-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}/jre/lib/$(get_system_arch)/:\${JAVA_HOME}/jre/lib/$(get_system_arch)/server/"
-MANPATH="\${JAVA_HOME}/man"
-PROVIDES_TYPE="JDK JRE"
-PROVIDES_VERSION="1.${SLOT}"
-BOOTCLASSPATH="\${JAVA_HOME}/jre/lib/resources.jar:\${JAVA_HOME}/jre/lib/rt.jar:\${JAVA_HOME}/jre/lib/jsse.jar:\${JAVA_HOME}/jre/lib/jce.jar:\${JAVA_HOME}/jre/lib/charsets.jar:\${JAVA_HOME}/jre/lib/jfr.jar"
-GENERATION="2"
-ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"
diff --git a/dev-java/openjdk/files/openjdk.env.sh b/dev-java/openjdk/files/openjdk.env.sh
deleted file mode 100644
index 287c0578b7c2..000000000000
--- a/dev-java/openjdk/files/openjdk.env.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-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/metadata.xml b/dev-java/openjdk/metadata.xml
deleted file mode 100644
index 10b985453847..000000000000
--- a/dev-java/openjdk/metadata.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <longdescription>
- Java™ is the world's leading programming language and platform.
- The code for Java is open source and available at OpenJDK™.
- </longdescription>
- <slots>
- <slot name="8">Java™ 8 is Java™ 1.8, where 8 is the version number, and 1.8 is the version string</slot>
- <slot name="11">Java™ version 11</slot>
- <slot name="17">Java™ version 17</slot>
- <slot name="25">Java™ version 25</slot>
- </slots>
- <use>
- <flag name="headless-awt">Don't install the X backend for AWT, needed by some GUIs</flag>
- <flag name="javafx" restrict="&lt;=dev-java/openjdk-9">Provide JavaFX support via <pkg>dev-java/openjfx</pkg></flag>
- <flag name="javafx" restrict="&gt;=dev-java/openjdk-11">Import OpenJFX modules at build time, via <pkg>dev-java/openjfx</pkg></flag>
- <flag name="jbootstrap">Build OpenJDK twice, the second time using the result of the first</flag>
- <flag name="source">Install JVM sources</flag>
- <flag name="system-bootstrap">Bootstrap using installed openjdk</flag>
- <flag name="systemtap" restrict="&gt;=dev-java/openjdk-11">Enable SystemTap/DTrace tracing</flag>
- </use>
- <upstream>
- <remote-id type="github">openjdk/jdk8u</remote-id>
- <remote-id type="github">openjdk/jdk11u</remote-id>
- <remote-id type="github">openjdk/jdk17u</remote-id>
- <remote-id type="github">openjdk/jdk21u</remote-id>
- <remote-id type="github">openjdk/jdk25u</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-java/openjdk/openjdk-11.0.31_p11.ebuild b/dev-java/openjdk/openjdk-11.0.31_p11.ebuild
deleted file mode 100644
index 500687be620e..000000000000
--- a/dev-java/openjdk/openjdk-11.0.31_p11.ebuild
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# 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.
-# 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"
-
-# variable name format: <UPPERCASE_KEYWORD>_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 <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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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.org"
-SRC_URI="
- https://github.com/${PN}/jdk11u/archive/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.18-riscv.patch.xz )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-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=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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(+)]
- )
- )
-"
-
-# 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.18-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # bug #945282
- append-cflags -std=gnu17
-
- # 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.
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild b/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild
deleted file mode 100644
index 5b0d561d0383..000000000000
--- a/dev-java/openjdk/openjdk-17.0.19_p10-r1.ebuild
+++ /dev/null
@@ -1,345 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs dot-a flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_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 <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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk17u/archive/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})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs 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=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/openjdk-17.0.16_p8-lto-memory.patch"
-)
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- if use static-libs ; then
- lto-guarantee-fat
- fi
-
- # 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.
-
- 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")
- )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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)
- $(usev static-libs static-libs-image)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-
- if use static-libs ; then
- cd "${S}"/build/*-release/images/static-libs || die
- cp -pPR * "${ddest}" || die
- strip-lto-bytecode "${ddest}" || die
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-17.0.19_p10.ebuild b/dev-java/openjdk/openjdk-17.0.19_p10.ebuild
deleted file mode 100644
index edb63f1b2484..000000000000
--- a/dev-java/openjdk/openjdk-17.0.19_p10.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_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 <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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk17u/archive/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})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-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=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/openjdk-17.0.16_p8-lto-memory.patch"
-)
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- 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.
-
- 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")
- )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild b/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild
deleted file mode 100644
index 50146be7ca7f..000000000000
--- a/dev-java/openjdk/openjdk-21.0.11_p10-r1.ebuild
+++ /dev/null
@@ -1,344 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs dot-a 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk21u/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +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=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- if use static-libs ; then
- lto-guarantee-fat
- fi
-
- # 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.
-
- 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-stdc++lib=dynamic
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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)
- $(usev static-libs static-libs-image)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-
- if use static-libs ; then
- cd "${S}"/build/*-release/images/static-libs || die
- cp -pPR * "${ddest}" || die
- strip-lto-bytecode "${ddest}" || die
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-21.0.11_p10.ebuild b/dev-java/openjdk/openjdk-21.0.11_p10.ebuild
deleted file mode 100644
index fdc9966fa96b..000000000000
--- a/dev-java/openjdk/openjdk-21.0.11_p10.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk21u/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 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 )
- !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=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- 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.
-
- 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-stdc++lib=dynamic
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild b/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild
deleted file mode 100644
index f2b8c29669c9..000000000000
--- a/dev-java/openjdk/openjdk-25.0.3_p9-r1.ebuild
+++ /dev/null
@@ -1,363 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs dot-a flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="25_p36" # big-endian bootstrap tarball
-
-# 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-# Upstream starts new major versions usually in https://github.com/openjdk/jdk.
-# In ebuilds for those early versions, use '_alpha' in the version string.
-# Exapmle: openjdk-26_alpha10.ebuild
-# Later, upstream creates the versioned repository like e.g.
-# https://github.com/openjdk/jdk25u.
-# In ebuilds for those later versions, use '_beta' in the version string.
-# Example: openjdk-25_beta35.ebuild
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
- MY_PV="${PV/_alpha/+}"
- JDK_REPO="jdk"
- MY_VERSION_STRING="${PV%_alpha*}"
- MY_VERSION_BUILD="${PV#*_alpha}"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
- MY_PV="${PV/_beta/+}"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_beta*}"
- MY_VERSION_BUILD="${PV#*_beta}"
-else
- MY_PV="${PV%_p*}-ga"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_p*}"
- MY_VERSION_BUILD="${PV#*_p}"
-fi
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/${JDK_REPO}/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- )
-"
-S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
- !system-bootstrap? ( ppc64 )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- if use static-libs ; then
- lto-guarantee-fat
- fi
-
- # 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.
-
- 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-stdc++lib=dynamic
- --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="${MY_VERSION_STRING}"
- --with-version-build="${MY_VERSION_BUILD}"
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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)
- $(usev static-libs static-libs-image)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-
- if use static-libs ; then
- cd "${S}"/build/*-release/images/static-libs || die
- cp -pPR * "${ddest}" || die
- strip-lto-bytecode "${ddest}" || die
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-25.0.3_p9.ebuild b/dev-java/openjdk/openjdk-25.0.3_p9.ebuild
deleted file mode 100644
index 147c1c7806b5..000000000000
--- a/dev-java/openjdk/openjdk-25.0.3_p9.ebuild
+++ /dev/null
@@ -1,352 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="25_p36" # big-endian bootstrap tarball
-
-# 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-# Upstream starts new major versions usually in https://github.com/openjdk/jdk.
-# In ebuilds for those early versions, use '_alpha' in the version string.
-# Exapmle: openjdk-26_alpha10.ebuild
-# Later, upstream creates the versioned repository like e.g.
-# https://github.com/openjdk/jdk25u.
-# In ebuilds for those later versions, use '_beta' in the version string.
-# Example: openjdk-25_beta35.ebuild
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
- MY_PV="${PV/_alpha/+}"
- JDK_REPO="jdk"
- MY_VERSION_STRING="${PV%_alpha*}"
- MY_VERSION_BUILD="${PV#*_alpha}"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
- MY_PV="${PV/_beta/+}"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_beta*}"
- MY_VERSION_BUILD="${PV#*_beta}"
-else
- MY_PV="${PV%_p*}-ga"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_p*}"
- MY_VERSION_BUILD="${PV#*_p}"
-fi
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/${JDK_REPO}/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- )
-"
-S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ppc64 ~riscv"
-
-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 )
- !system-bootstrap? ( ppc64 )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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}
- )
- )
-"
-
-# 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() {
- local myconf=()
-
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- 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.
-
- 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-stdc++lib=dynamic
- --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="${MY_VERSION_STRING}"
- --with-version-build="${MY_VERSION_BUILD}"
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-26.0.1_p8.ebuild b/dev-java/openjdk/openjdk-26.0.1_p8.ebuild
deleted file mode 100644
index 99fe99701351..000000000000
--- a/dev-java/openjdk/openjdk-26.0.1_p8.ebuild
+++ /dev/null
@@ -1,355 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="25_p36" # big-endian bootstrap tarball
-
-# 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-# Upstream starts new major versions usually in https://github.com/openjdk/jdk.
-# In ebuilds for those early versions, use '_alpha' in the version string.
-# Exapmle: openjdk-26_alpha10.ebuild
-# Later, upstream creates the versioned repository like e.g.
-# https://github.com/openjdk/jdk25u.
-# In ebuilds for those later versions, use '_beta' in the version string.
-# Example: openjdk-25_beta35.ebuild
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
- MY_PV="${PV/_alpha/+}"
- JDK_REPO="jdk"
- MY_VERSION_STRING="${PV%_alpha*}"
- MY_VERSION_BUILD="${PV#*_alpha}"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
- MY_PV="${PV/_beta/+}"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_beta*}"
- MY_VERSION_BUILD="${PV#*_beta}"
-else
- MY_PV="${PV%_p*}-ga"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_p*}"
- MY_VERSION_BUILD="${PV#*_p}"
-fi
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/${JDK_REPO}/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- )
-"
-S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-# KEYWORDS="" # Not an LTS candidate
-
-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 )
- !system-bootstrap? ( ppc64 )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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:25
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-# 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-25 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() {
- local myconf=()
-
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif has_version dev-java/openjdk:25; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-25
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- 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.
-
- 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-stdc++lib=dynamic
- --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="${MY_VERSION_STRING}"
- --with-version-build="${MY_VERSION_BUILD}"
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-27_alpha21.ebuild b/dev-java/openjdk/openjdk-27_alpha21.ebuild
deleted file mode 100644
index 428cd865af60..000000000000
--- a/dev-java/openjdk/openjdk-27_alpha21.ebuild
+++ /dev/null
@@ -1,359 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs dot-a flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-PPC64_XPAK="25_p36" # big-endian bootstrap tarball
-
-# 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://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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"
-
-# Upstream starts new major versions usually in https://github.com/openjdk/jdk.
-# In ebuilds for those early versions, use '_alpha' in the version string.
-# Exapmle: openjdk-26_alpha10.ebuild
-# Later, upstream creates the versioned repository like e.g.
-# https://github.com/openjdk/jdk25u.
-# In ebuilds for those later versions, use '_beta' in the version string.
-# Example: openjdk-25_beta35.ebuild
-if [[ "${PV%_alpha*}" != "${PV}" ]]; then # version string contains "_alpha"
- MY_PV="${PV/_alpha/+}"
- JDK_REPO="jdk"
- MY_VERSION_STRING="${PV%_alpha*}"
- MY_VERSION_BUILD="${PV#*_alpha}"
-elif [[ "${PV%_beta*}" != "${PV}" ]]; then # version string contains "_beta"
- MY_PV="${PV/_beta/+}"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_beta*}"
- MY_VERSION_BUILD="${PV#*_beta}"
-else
- MY_PV="${PV%_p*}-ga"
- JDK_REPO="jdk$(ver_cut 1)u"
- MY_VERSION_STRING="${PV%_p*}"
- MY_VERSION_BUILD="${PV#*_p}"
-fi
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/${JDK_REPO}/archive/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- )
-"
-S="${WORKDIR}/${JDK_REPO}-jdk-${MY_PV//+/-}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-# KEYWORDS="" # Not an LTS candidate
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source static-libs +system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
- !system-bootstrap? ( ppc64 )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- virtual/zlib:=
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrandr
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- )
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-debug/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
- 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
- !headless-awt? ( x11-base/xorg-proto )
- javafx? ( dev-java/openjfx:${SLOT}= )
- system-bootstrap? (
- || (
- dev-java/openjdk:26
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-# 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-25 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() {
- local myconf=()
-
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif has_version dev-java/openjdk:26; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-26
- 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
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # See bug #833097 and bug #833098.
- #
- # .. but because of -Werror=odr (bug #916735), we disable it
- # entirely for now.
- #tc-is-lto && myconf+=( --with-jvm-features=link-time-opt )
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- if use static-libs ; then
- lto-guarantee-fat
- fi
-
- # 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.
-
- 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-stdc++lib=dynamic
- --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="${MY_VERSION_STRING}"
- --with-version-build="${MY_VERSION_BUILD}"
- --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" )
-
- 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
-
- # Workaround for bug #938302
- if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then
- myconf+=( DTRACE="${BROOT}"/usr/bin/stap-dtrace )
- 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)
- $(usev static-libs static-libs-image)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- 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
-
- dosym -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/*
- fi
-
- if use static-libs ; then
- cd "${S}"/build/*-release/images/static-libs || die
- cp -pPR * "${ddest}" || die
- strip-lto-bytecode "${ddest}" || die
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-8.492_p09.ebuild b/dev-java/openjdk/openjdk-8.492_p09.ebuild
deleted file mode 100644
index 8e1b85fdffe9..000000000000
--- a/dev-java/openjdk/openjdk-8.492_p09.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Avoid circular dependency
-JAVA_DISABLE_DEPEND_ON_JAVA_DEP_CHECK="true"
-
-inherit check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# 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.
-# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to
-# set build version properly
-MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)"
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-X86_XPAK="8.402_p06"
-PPC64_XPAK="8.402_p06"
-
-# Usage: bootstrap_uri <keyword> <version> [extracond]
-# Example: $(bootstrap_uri x86 8.402_p06)
-# Output: ppc64? ( big-endian? ( https://...8.402_p06-x86.tar.xz ) )
-bootstrap_uri() {
- local baseuri="https://distfiles.gentoo.org/pub/dev/arthurzam@gentoo.org/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.org"
-SRC_URI="
- https://github.com/openjdk/jdk8u/archive/jdk${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- )
-"
-S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}"
-
-LICENSE="GPL-2-with-classpath-exception"
-SLOT="$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ppc64 x86"
-IUSE="alsa big-endian debug cups doc examples headless-awt javafx +jbootstrap selinux system-bootstrap source"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- virtual/zlib:=
-"
-# 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/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
- virtual/pkgconfig
- x11-base/xorg-proto
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXt
- x11-libs/libXtst
- system-bootstrap? (
- || (
- dev-java/openjdk-bin:${SLOT}
- dev-java/openjdk:${SLOT}
- )
- )
-"
-
-BDEPEND="
- virtual/pkgconfig
- sys-devel/gcc:*
-"
-
-PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )"
-
-PATCHES=(
- "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch"
- "${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch"
- "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch"
-)
-
-# 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 debug 3 1) * $M ))
- M=$(( $(usex jbootstrap 2 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() {
- default
-
- # new warnings in new gcc https://bugs.gentoo.org/685426
- sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \
- hotspot/make/linux/makefiles/gcc.make || die
-
- chmod +x configure || die
-
- # Force gcc because build failed with modern clang, #918655
- if ! tc-is-gcc; then
- ewarn "openjdk/8 can be built with gcc only."
- ewarn "Ignoring CC=$(tc-getCC) and forcing ${CHOST}-gcc"
- export CC=${CHOST}-gcc
- export CXX=${CHOST}-g++
- tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}"
- fi
-}
-
-src_configure() {
- local myconf=()
-
- if ! use system-bootstrap; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- fi
-
- # general build info found here:
- # https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html
-
- # -Wregister use (bug #918655)
- append-cxxflags -std=gnu++14
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on --with-jvm-features=link-time-opt
- # in newer JDKs. See bug #833097 and bug #833098.
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # bug #954888
- append-cflags -std=gnu17
-
- tc-export_build_env CC CXX PKG_CONFIG STRIP
-
- myconf+=(
- --disable-ccache
- --disable-precompiled-headers
- --enable-unlimited-crypto
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype=system
- --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )"
- --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-jtreg=no
- --with-jobs=1
- --with-num-cores=1
- --with-update-version="$(ver_cut 2)"
- --with-build-number="b$(ver_cut 4)"
- --with-milestone="fcs" # magic variable that means "release version"
- --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-zlib="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- $(usex headless-awt --disable-headful '')
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- CONFIG_SHELL="${BROOT}/bin/bash"
- 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 images)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- # https://bugs.gentoo.org/922741
- docompress "${dest}/man"
-
- cd "${S}"/build/*-release/images/j2sdk-image || die
-
- if ! use alsa; then
- rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die
- fi
-
- # build system does not remove that
- if use headless-awt ; then
- rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \
- {,jre/}bin/policytool bin/appletviewer || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v src.zip || die
- fi
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts
-
- 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
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/docs/*
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
- einfo "JavaWebStart functionality provided by icedtea-web package"
-}