summaryrefslogtreecommitdiff
path: root/dev-java
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java')
-rw-r--r--dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild2
-rw-r--r--dev-java/openjdk-bin/Manifest13
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-11.0.20.1_p1.ebuild135
-rw-r--r--dev-java/openjdk-bin/openjdk-bin-17.0.8.1_p1.ebuild136
-rw-r--r--dev-java/openjdk/Manifest2
-rw-r--r--dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild315
-rw-r--r--dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild330
7 files changed, 1 insertions, 932 deletions
diff --git a/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
index a85b35c482a6..44e5c0c826be 100644
--- a/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
+++ b/dev-java/eclipse-ecj/eclipse-ecj-4.31.ebuild
@@ -13,7 +13,7 @@ inherit java-pkg-2 java-pkg-simple prefix
DMF="R-${PV/_rc/RC}-202402290520"
DESCRIPTION="Eclipse Compiler for Java"
-HOMEPAGE="https://www.eclipse.org/"
+HOMEPAGE="https://projects.eclipse.org/projects/eclipse.jdt"
SRC_URI="https://download.eclipse.org/eclipse/downloads/drops4/${DMF}/ecjsrc-${PV/_rc/RC}.jar"
S="${WORKDIR}"
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest
index 6b833c847995..eed4ebaa2d60 100644
--- a/dev-java/openjdk-bin/Manifest
+++ b/dev-java/openjdk-bin/Manifest
@@ -1,29 +1,16 @@
-DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20.1_1.tar.gz 191278260 BLAKE2B e3ed7bb97a8b244f7aaa7ced808a55d632634d8c6422c44b7bb37d5e51ac1cc8b1e03f2b404a3654bd5cfeecdc1051cad57ef6617c908a52f04f5bcd8f55c545 SHA512 72db8438ec936d2594bc62cc02cfeca348cdf4854c162ea6cdb5ae6051120e771d48cb510d2c0145e5a243f544f8963e9210efa6f57edc6f667c5761b0088b5b
DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.22_7.tar.gz 191713436 BLAKE2B 2d0381ca8dc4bdc07330f79c7e290bdb60a28fe21122d4db1810dc036e7213071d327470b20361db1435fe2d5492e7d3815f3e244597d3d76a9f7894b515783f SHA512 a0772607ede5642051446dc742180fd4e42fbe78602eb3b874b00930ea4ba19eefdcf6a130f378b6cc7dde414a3db2259edb1ad570da4a7951a73bebc5a90b9b
-DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.20.1_1.tar.gz 182177832 BLAKE2B 404d628e2ad7392ad6ee5906a9ddccff82778fc1303a7877738b7646c4c50fc1eda4b98212d43b200c00ca49090216f9609608f2e1356a74d483e9ed1d90bda0 SHA512 802c39f52d941905997f5b975a69a74d937aaee14eb7ab3825d764e76d65681bdcea366fe2f34b581b6a96e9fa91bcf82164ead1fbbefe936f7e86ee7bcebd42
DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.22_7.tar.gz 182591395 BLAKE2B 858c6033c161dfe6c1475037bce5d538ca7b95b95b65a75edff03d0292e64d1ac2e3c2ed008b52938d9811e35a94ed694df2801605b55d6732c6c1c1b68b547b SHA512 aa0be475706f6cca490ff81389e131fb512efaa948d722b108a7060355af77134210c2509711f9c8bf4d32130cba813dc460c093d831ac8de539571ab3d08f20
-DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.20.1_1.tar.gz 176708583 BLAKE2B b88652df8c51648243525f2f6a5f127a764ca9caf140eb3c8b70783acc4b8146418800bb239ffd34d5039daace3fef4930f605692bde7f96d43229f9cb802d9b SHA512 12c6c638456a7031138f8f8ca91b24dc400a6cb792ee47e2a0d526a193a030762b223cd1652a9363141219cac13df5cdf4b096f879f84f0ec59f2358d89809e2
DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.22_7.tar.gz 177146946 BLAKE2B 2e285abcde91eb578c88e81c6a737d6c6e00d58001325eaed7fd332d4d42588779192ae73f3de598cf725c9cd08860ff3a0db29f7fae54a6a404cbdf0db0b2ad SHA512 6288e599a54f1e2e02dd0eef5f0aae051ae8b15ed30e924c7018ac52d2eeb2572934557b7e722df7f704568656c8a8f93797dd2e86fdc3f0f32ffd004f803419
-DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.20.1_1.tar.gz 193412811 BLAKE2B e790ad546350ae4a4c1b59dfe9641ce4ea2c89f71276f684d7535ad0d2cb0dfc2c42f21d420bf3c7b370bbbe9a342cd1cb073f3f051bcb082ecf310923914a33 SHA512 f39357c0c25e69241c67647ffddd143eb01979d332d6ec98d89ff8e0f19b0fed9e1cffa5155bb995441ae33bc50357fbf9381080bb652caea39d4166f491ae35
DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.22_7.tar.gz 193744131 BLAKE2B 2cdbf676ecc860dd8ec13d959f9f63537e4b14feb0627cc360602a377c8a7193a2db67cb71f462939ab252f2ff3be1b46a15c25a7c1c1f1632254b1ea09eeef9 SHA512 81dabded0d6cee459ade96992d4002910448aa5fa091fd1b6c376a585c382d449bc63f5e51ba0c21e5fdd81f3e1d58e1d27f0b6016daca775644610087f3b090
-DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz 194530299 BLAKE2B 295c1e78cde1dbc18f906b9b355cd433bfa61e9f60fa9648ab3b58bc5fca2c19f6f64569eeb51f44066e21d0e39952773deb22d39011d79b8dda6490b6ba3a46 SHA512 2286aa5a26093bba55360e5fea14942bd2ddc1011f1db28529e7ddf2f879125b5c910aa14cc21b24dc1235b22f7052d912af7b6c4986834f813ec04c9e98c141
DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz 195002045 BLAKE2B 1898bcc1c1d97668238a13c70226b14f325a7c5be55f393ce2e6373fa0764a38633511a485257d05e173670e20b8c0195fb63d7143f41a1296556e5d59a8fe00 SHA512 00d75269a88c3d879907408f76ca1ee5a1ed48914e1ac27fa4faadf66a12fbccd6235d23be6c0d096a508c6ed996884ff2fe206290c061c2542835050476cfa5
-DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.20.1_1.tar.gz 186910284 BLAKE2B 701e498de41831387cb1e72d08e4b50b63daa04a8bcaa81a928a67572c73dd9ace4aecf82eeb572463bb00a10b320ee539ef20418fde6252acfebf14eeccb973 SHA512 b47123db2480d5533da6231a808a66cf7f1844e9343d540152d60473675e43af01352d00fc396801a6221dfe6a4fa3a717ceb0df6d0fa2c03242878e53bb6804
DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.22_7.tar.gz 187409838 BLAKE2B edbbb534fad7d6b50c79253d7c8bc1369f413fd1748a4f160003db2e01d8b907c115a5a3815de85e25a16c74bf0d316cccf7e0a508a488c51c476511876d5d54 SHA512 3371785f6bcc27dea59b074798795c91f3a0fc2241ea24d9e04bdb98fd77ebc1ccb058d1b34ea56660a7bac92e60192396a9d8b85b8983f1617bddf50d118276
DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.10_7.tar.gz 190867185 BLAKE2B dfac2c4383af080b8101e73d141f6ecaf38f44a0b8e88fddf8e33eb0454fccb22075e00a8eb3031c33a0d63a079da634b128766f4ab4fed70c8da999c8f8a568 SHA512 74447bacae664b5a1a420605d1c3b68a7be8deb230cc08700b23bb159ef10acb613595505f711906aa132aec2a25d5151f178cd9982d0d254a4d31a7396b4aef
-DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.8.1_1.tar.gz 190656874 BLAKE2B 43846cf6c7962e7e30a90d945db0c93835d38e51f5459b10a1adb291c7f7aa1e14f0b58997f0d146376260976713aa2dae2494eef3310d8c80978c4b02662bb9 SHA512 674a49bb0a52a6f880c829287ed80aa663e864a11586bf21ad3deef40755d1be0a711d6e26cc3d532d1cb4843cd091aeb4bd52d06fb6bef838e1f5be4d361114
DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.10_7.tar.gz 178168341 BLAKE2B 425cac786cd7bd758d40ad76bdfc96969e2ca2b1ecf20c449a7e42b77020881f7c7414099b7ff9df482ce4698c680af4d819a928efb4e4608c54266412fcb2f5 SHA512 006773423fa46d61d1111a74bf1a41d50cb419d4a2855d0257a11282f9ab966a59e6bf22044b46d3a29041c37942f2f69780ee38002e8443da2bd40543ce0948
-DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.8.1_1.tar.gz 177735753 BLAKE2B df5dba287781b84e67ae99345bc96dbd64bd85c6dda5317a7dd12f522111c80601492640f6ed4ac60b683e14ce23df625f7de49faf18e4d74344855a83d33545 SHA512 ab2fa97f8fe2b94fe3f91ffbe0f9a99bd6cca2a85d5d8434c80b0f3bf0cc5890e90c38591600cc0bd210400790be6b7fa118df4a8583ad349535886a7eee6ea0
DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.10_7.tar.gz 189087918 BLAKE2B e8c70966cd362ac26e748c4efb16bbe3816d27bbec5d3b2448b77bc07f8f17b6c77dd7cddcccd1256e621db93653e3aed2ebf1f895606023b00fdf3a98232b57 SHA512 17d540bfa9fd458fb214dc550df4bd1bd563630712b23549d61182d3c5dcf39cf016510b2318655e9bff594e40b960d7754200ba6184ea23bab40ed2d8e9c06f
-DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.8.1_1.tar.gz 188790162 BLAKE2B f3d69f13542a55aff361041539ef1a1d2eeda02ae8b37c94b377d5bed0fef2000e407fa02e7efb3e7fcf93e8716349d36f19d35ddbd8de2b54053d0687c3b356 SHA512 480f814d7ff517d6c970ee98dd99312eb9d2367e21bba788ca4ef3e1f7772419f4aa66bedce60e216e50a094c5d6bde8362613dd6ade86b1532daac38aea875a
DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.10_7.tar.gz 191584458 BLAKE2B 77ad2b213ee0957afdf6c204b2c987f568f62071ef282b8eb44d041980e44d5b964e4403324555f98caccd8736278ede2b486a4647ffbe669d4a285d19bf6507 SHA512 f808ad1d20ec025925653f6fe4566d6075c242b0f60f3dca3d0b46ec309ff3dd30637b9d2d2937b0fd2dff5a3ffd9e675766ea56a6bccc00a991266101d63db0
-DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz 191404507 BLAKE2B 9fd93378c3a0e42b7af5e2d1c5af240aa2854a0e84ae4a66aad897686e90fda62a630a85d6765046a759f0ee8477d009937b6a6102317cc48a4c8d601f15b318 SHA512 7bb83ed8e9990413e363d8d62f9424b9057896220f820d7b71c95112a46a1f9cfba9c67eda3fb20082dc630acc0c139928d64534bc4ee34e9650caab1e81ef4b
DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.10_7.tar.gz 191453728 BLAKE2B 61e54448c7540f43c11ec55ffffe07ba43bbb60bcbc2acd07a3a06562ffbf7bd5b25c2a91540ead82978c43ef30ac2adbae1554d0718156b28bb34d46882020a SHA512 b7eded9bef2bbfa38b6350914df472e10daf82600af8090b59ce01cd0d2e6efd02f0bf28920cbcd3f7da2018e5642d8e5a282337ad969c8b9a8c35c0ae4890d3
-DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.8.1_1.tar.gz 191374032 BLAKE2B f7f6eb577cc9cffd8e9326a7cf262adeb35e18bd4262973c81030c2fddb8077101968161a7d8239f8b78265925ba03fad393e60054a6e3651702d983c98e4f03 SHA512 c68d3ccacbe5d065b41948e3d02257185185679747d803e9c6387a8ce0e8e51a38757d1a43d15a19a27228b7b10629d64dfb274f882a0abca8781ac71ec4aae9
DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz 192205930 BLAKE2B 1c1ae9515a273ff7d7d4ef806fcb6d101e127f224912626982fbe848375f240bfca69815173b65c8c3ecc7019bb681ef43665bf3fe82d5c4333da057a35c976d SHA512 fcbb1bc62d484a8b851ea22d725921f72a4ce7ace33c1db737e7294aac17b74cd7ae9a366cac09d328be66e742916f0191fafaf531641610e652d24390df591a
-DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz 192053612 BLAKE2B bd59524805f7af5883b7fd20ff13b77594ec6841c28b028ff589419ff31cc7f152c6b177bc133b7749c413c22a7e8bdeab6e2f705ceb49617bb89dd6be6727a4 SHA512 3856cea7abfacfeda499200ff09427ce7f2e96f25eb556cb27eecc83f0f8c5b3fcb831a00dcf0202d6dbb191e2a23e2d0f928dcfc503dbfc582193245ecd2522
DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.10_7.tar.gz 180364858 BLAKE2B ded64698ee98c051b4f2bdbf7d30eb27bbc5418742306bd07fe87b0cf7cc579adc553bc2a16f8b15d2fe1950b463195ca3f3d414494491435fca052faedb8bf8 SHA512 4c199bbf2584d4a360caced88bb6f297417469334d3a3007f5a172f2fd3a41a492968fc0ad32a4f8424e4d6712d01060aef2531957edccc100f6cb58bbfce000
-DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.8.1_1.tar.gz 187618128 BLAKE2B 0413bb2bb928906f8aa09a6dae161fd91b4cc17a81ec822d4553322f1505f8141d10d308ddfb632c1678d2685dd95d999d09de5888aee056ca95847cca26b29e SHA512 b2ba614ca966acc6c03563a248638051abe0851b9b6932e8d93748307250f32b5fd8cef70c8c308aba4f97c02c4791cc7193b19f5b2f407f6c2d003fcf2416a6
DIST OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.2_13.tar.gz 206857501 BLAKE2B 108d924b2f41d179ece7678a18b5805b76eb187608c4a698bd77d21a5db7956f0aad34764addb507846c11e41af576c0e99c578325db9f2f5aebed02b0bff4e8 SHA512 a41a31915ea64cbdae4e9b81057df579d8456a5ca5e224497e862dbb207275f9d84dd91d9c9cce4d81b03d21d3d4305e3276d064ec1e32b6d1f272f157c82f56
DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz 208115806 BLAKE2B 1462c0cc0488d02109035b06e17c68d5ee21c62b8565e214f91980af8f1bd0e689c439fb546d3e9556b6df42b545c6d349601cf1bbed77c175dc7d5b1b8e0959 SHA512 7991d8779aea00f9016a37dd290b3b4bd5189201cd87425fd337f346907887a61e7030d4180cb3d60af3f5f478135bec1698235c0ef2c2b2cac73a4e1d1b630b
DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.2_13.tar.gz 207838511 BLAKE2B 1c2dd157fadd7d8ab0660dd181de223431fdcb5f4ca201ba3c827bd044c435d8ffd059600f38b378984bb002f03403c16addf999ace7128a426b0948ce9b4971 SHA512 1b2f58c224bb6fde53a4e5d2693d881ce61b47ac36ff735558fb38a8d30e4826fec046048d3681ce18e1c63a60e1f999b8f474ac6794dd1197bd88926df3d0ca
diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.20.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.20.1_p1.ebuild
deleted file mode 100644
index dfe26d9c3c3a..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-11.0.20.1_p1.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri arm)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 x64-macos)
- $(abi_uri x64 amd64 musl)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk-bin/openjdk-bin-17.0.8.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.8.1_p1.ebuild
deleted file mode 100644
index b0024619e0fe..000000000000
--- a/dev-java/openjdk-bin/openjdk-bin-17.0.8.1_p1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-vm-2 toolchain-funcs
-
-abi_uri() {
- local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/"
- local musl=
- local os=linux
-
- case ${2} in
- *-macos) os=mac ;;
- *-solaris) os=solaris ;;
- esac
-
- if [[ ${3} == musl ]]; then
- os=alpine-linux
- musl=true
- fi
-
- echo "${2-$1}? (
- ${musl:+ elibc_musl? ( }
- ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz
- ${musl:+ ) } )"
-}
-
-MY_PV=${PV/_p/+}
-SLOT=$(ver_cut 1)
-
-SRC_URI="
- $(abi_uri aarch64 arm64)
- $(abi_uri aarch64 arm64-macos)
- $(abi_uri arm)
- $(abi_uri ppc64le ppc64)
- $(abi_uri x64 amd64)
- $(abi_uri x64 amd64 musl)
- $(abi_uri x64 x64-macos)
-"
-
-DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin"
-HOMEPAGE="https://adoptium.net"
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~x64-macos"
-IUSE="alsa cups headless-awt selinux source"
-
-RDEPEND="
- >=sys-apps/baselayout-java-0.1.0-r1
- kernel_linux? (
- media-libs/fontconfig:1.0
- media-libs/freetype:2
- media-libs/harfbuzz
- elibc_glibc? ( >=sys-libs/glibc-2.2.5:* )
- elibc_musl? ( sys-libs/musl )
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- cups? ( net-print/cups )
- selinux? ( sec-policy/selinux-java )
- !headless-awt? (
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXi
- x11-libs/libXrender
- x11-libs/libXtst
- )
- )"
-
-RESTRICT="preserve-libs splitdebug"
-QA_PREBUILT="*"
-
-S="${WORKDIR}/jdk-${MY_PV}"
-
-pkg_pretend() {
- if [[ "$(tc-is-softfloat)" != "no" ]]; then
- die "These binaries require a hardfloat system."
- fi
-}
-
-src_unpack() {
- default
- if [[ ${A} == *_mac_* ]] ; then
- mv -v "${S}/Contents/Home/"* "${S}" || die
- rm -Rf "${S}/Contents" # drop macOS executable
- fi
-}
-
-src_install() {
- local dest="/opt/${P}"
- local ddest="${ED}/${dest#/}"
-
- # on macOS if they would exist they would be called .dylib, but most
- # importantly, there are no different providers, so everything
- # that's shipped works.
- if [[ ${A} != *_mac_* ]] ; then
- # Not sure why they bundle this as it's commonly available and they
- # only do so on x86_64. It's needed by libfontmanager.so. IcedTea
- # also has an explicit dependency while Oracle seemingly dlopens it.
- rm -vf lib/libfreetype.so || die
-
- # prefer system copy # https://bugs.gentoo.org/776676
- rm -vf lib/libharfbuzz.so || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if use headless-awt ; then
- rm -v lib/lib*{[jx]awt,splashscreen}* || die
- fi
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
- dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- # provide stable symlink
- dosym "${P}" "/opt/${PN}-${SLOT}"
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_set-pax-markings "${ddest}"
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest
index 9ca436122e65..8e8a113c54e7 100644
--- a/dev-java/openjdk/Manifest
+++ b/dev-java/openjdk/Manifest
@@ -1,9 +1,7 @@
DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6bbdf68dd74b2f996b70e0ecdd2b87bc4a02394f67ded5e664efb41f8dd03bb312fbfcffd84c289afdcbf7868de SHA512 06230b121e1f28189877025a4eab99e6d8cba176a17c88f073498fec6c73ab26130ce1500ea4f83235cc6abbc1742e47b227d60b5ff77465740048abdc52d165
DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45
-DIST openjdk-11.0.20.1_p1.tar.gz 116165519 BLAKE2B 3f3627d6535770c6654226ca2c188ac4aa0f332c7f66d79ab1991274e019ee4aee5194b285bace03175593543017a2ec75494e8e50b5488df82c7d437bf31398 SHA512 765f90a24629e5db5afb23b09edc38a3d460ba27d1de53980942e711783fe9fdf1c4ef29a75d2ffd6d93864611ffce60d515e032180917cd053967a0d4ecfc69
DIST openjdk-11.0.22_p7.tar.gz 116235391 BLAKE2B 50b845b8f1e316da37e45c94a1890939659b554a314a1a455903e8cc58465cd69cd485548b6b42c445150187e37df5cf946d52bca754236a198f6aa10d7de37e SHA512 b88d0db9750d8201dfb4b027045de4023be766e42cca7a3ff5e0cb28db4c6da3f146a57819a6b81cb33e5837726986bcc3780ecf88bf525f445c2cd35a3993d8
DIST openjdk-17.0.10_p7.tar.gz 106398664 BLAKE2B 48cb2bc7d063da25a62834734ba4a887d26a27a8d84c535255df67419bf4f6d8b060c48ef37bd7324e14e957a141791380d4d9e42335a90f72dc34bc7b1d12fe SHA512 c2dfd66debdce488de044efcfc3f57cc9eb07ead2cfb7dd6e28e5748d48ec89f0c326a4c3f4a5c740019b8e5a02b858d93dd74a0c6626de445144b9840d3a426
-DIST openjdk-17.0.8.1_p1.tar.gz 105878760 BLAKE2B e4d752dc87717855bfe4bd84c97056f0d93b554c67bdbb3e750e20479e2156628c85aea7b404577ea6ff40d49669d5f53aab06d0c4cf9aa926b060a0cd93cd03 SHA512 0d8e9e54173be855c15d121d4d6cd36996700e1e2fb194ad93ba8ad794a342c87b7d2f81a32d0bb215e45f1dc1f4efdfe1be5e8de99395730902d443ac773813
DIST openjdk-21.0.2_p13.tar.gz 112252812 BLAKE2B a7cbdc67d05a4e7db75ddb7043f06928c599139bd6eab02a23749194eb340f82038061036e84961ed124b8c8a0320bc3a2a890100b643765e1a87b8b129f30f9 SHA512 01a2f57dc432ea31f64d79092ae722f752e7ff111291cb5fb874046079a0fee985ede9d3aac991d946c9c6e712854827dd45284ff4cf39592add3629dbb94ace
DIST openjdk-8.402_p06.tar.gz 93136112 BLAKE2B 023422ca2b4dfc08fd3642e3cb3ec0503d57d09dbcb54841e4a04f67a6cd118712cba90b7760eaf9135f9f001f7c15221c4bcb19986547fb2b6b3fb852bb8af4 SHA512 476d195ef500d8dd2013b17de0669a77ef8076b55c2753eb88b1a13f7a48526b1be7a1befabd284eb9ee8411df19ab1f39c81287ab659984d2d67e8aa7192d79
DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e
diff --git a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild b/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild
deleted file mode 100644
index dbb9da687c7f..000000000000
--- a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# 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"
-SLOT="${MY_PV%%[.+]*}"
-
-# 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://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })"
-}
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri 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 )
-"
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-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(+)]
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- if use system-bootstrap; then
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
- fi
-}
-
-src_prepare() {
- use riscv && eapply "${WORKDIR}"/openjdk-11.0.18-riscv.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if ! use system-bootstrap; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- fi
-
- # Work around stack alignment issue, bug #647954.
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
- # https://bugs.gentoo.org/833097
- # https://bugs.gentoo.org/833098
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --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 )
-
- use lto && myconf+=( --with-jvm-features=link-time-opt )
-
- if use javafx; then
- # this is not useful for users, just for upstream developers
- # build system compares mesa version in md file
- # https://bugs.gentoo.org/822612
- export LEGAL_EXCLUDES=mesa3d.md
-
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- # 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#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}
diff --git a/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild b/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild
deleted file mode 100644
index 715fd2f4e5e5..000000000000
--- a/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild
+++ /dev/null
@@ -1,330 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
-
-# variable name format: <UPPERCASE_KEYWORD>_XPAK
-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://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap"
- local suff="tar.xz"
- local kw="${1:?${FUNCNAME[0]}: keyword not specified}"
- local ver="${2:?${FUNCNAME[0]}: version not specified}"
- local cond="${3-}"
- [[ ${cond} == elibc_musl* ]] && local musl=yes
-
- # here be dragons
- echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })"
-}
-
-# don't change versioning scheme
-# to find correct _p number, look at
-# https://github.com/openjdk/jdk${SLOT}u/tags
-# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
-# to exact same commit sha. we should always use the full version.
-# -ga tag is just for humans to easily identify General Availability release tag.
-MY_PV="${PV%_p*}-ga"
-SLOT="${MY_PV%%[.+]*}"
-
-DESCRIPTION="Open source implementation of the Java programming language"
-HOMEPAGE="https://openjdk.org"
-SRC_URI="
- https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
- -> ${P}.tar.gz
- !system-bootstrap? (
- $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl)
- $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian)
- $(bootstrap_uri x86 ${X86_XPAK})
- $(bootstrap_uri riscv ${RISCV_XPAK})
- )
- riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
-"
-# riscv patch origin:
-# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
-
-LICENSE="GPL-2-with-classpath-exception"
-KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv x86"
-
-IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap"
-
-REQUIRED_USE="
- javafx? ( alsa !headless-awt )
- !system-bootstrap? ( jbootstrap )
-"
-
-COMMON_DEPEND="
- media-libs/freetype:2=
- media-libs/giflib:0/7
- media-libs/harfbuzz:=
- media-libs/libpng:0=
- media-libs/lcms:2=
- sys-libs/zlib
- media-libs/libjpeg-turbo:0=
- systemtap? ( dev-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}
- )
- )
-"
-
-S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
-
-# The space required to build varies wildly depending on USE flags,
-# ranging from 2GB to 16GB. This function is certainly not exact but
-# should be close enough to be useful.
-openjdk_check_requirements() {
- local M
- M=2048
- M=$(( $(usex jbootstrap 2 1) * $M ))
- M=$(( $(usex debug 3 1) * $M ))
- M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
-
- CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
-}
-
-pkg_pretend() {
- openjdk_check_requirements
- if [[ ${MERGE_TYPE} != binary ]]; then
- has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
- fi
-}
-
-pkg_setup() {
- openjdk_check_requirements
- java-vm-2_pkg_setup
-
- [[ ${MERGE_TYPE} == "binary" ]] && return
-
- JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}"
- JAVA_PKG_WANT_SOURCE="${SLOT}"
- JAVA_PKG_WANT_TARGET="${SLOT}"
-
- # The nastiness below is necessary while the gentoo-vm USE flag is
- # masked. First we call java-pkg-2_pkg_setup if it looks like the
- # flag was unmasked against one of the possible build VMs. If not,
- # we try finding one of them in their expected locations. This would
- # have been slightly less messy if openjdk-bin had been installed to
- # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
- # file but disable it so that it would not normally be selectable.
-
- local vm
- for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
- if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
- java-pkg-2_pkg_setup
- return
- fi
- done
-}
-
-src_prepare() {
- use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
- default
- chmod +x configure || die
-}
-
-src_configure() {
- if has_version dev-java/openjdk:${SLOT}; then
- export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
- elif use !system-bootstrap ; then
- local xpakvar="${ARCH^^}_XPAK"
- export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}"
- else
- JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
- [[ -n ${JDK_HOME} ]] || die "Build VM not found!"
- JDK_HOME=${JDK_HOME#*/}
- JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
- export JDK_HOME
- fi
-
- # Work around stack alignment issue, bug #647954. in case we ever have x86
- use x86 && append-flags -mincoming-stack-boundary=2
-
- # bug 906987; append-cppflags doesnt work
- use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
-
- # Work around -fno-common ( GCC10 default ), bug #713180
- append-flags -fcommon
-
- # Strip some flags users may set, but should not. #818502
- filter-flags -fexceptions
-
- # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
- # https://bugs.gentoo.org/833097
- # https://bugs.gentoo.org/833098
- filter-lto
- filter-flags -fdevirtualize-at-ltrans
-
- # Enabling full docs appears to break doc building. If not
- # explicitly disabled, the flag will get auto-enabled if pandoc and
- # graphviz are detected. pandoc has loads of dependencies anyway.
-
- local myconf=(
- --disable-ccache
- --disable-precompiled-headers
- --disable-warnings-as-errors
- --enable-full-docs=no
- --with-boot-jdk="${JDK_HOME}"
- --with-extra-cflags="${CFLAGS}"
- --with-extra-cxxflags="${CXXFLAGS}"
- --with-extra-ldflags="${LDFLAGS}"
- --with-freetype="${XPAK_BOOTSTRAP:-system}"
- --with-giflib="${XPAK_BOOTSTRAP:-system}"
- --with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
- --with-lcms="${XPAK_BOOTSTRAP:-system}"
- --with-libjpeg="${XPAK_BOOTSTRAP:-system}"
- --with-libpng="${XPAK_BOOTSTRAP:-system}"
- --with-native-debug-symbols=$(usex debug internal none)
- --with-vendor-name="Gentoo"
- --with-vendor-url="https://gentoo.org"
- --with-vendor-bug-url="https://bugs.gentoo.org"
- --with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
- --with-vendor-version-string="${PVR}"
- --with-version-pre=""
- --with-version-string="${PV%_p*}"
- --with-version-build="${PV#*_p}"
- --with-zlib="${XPAK_BOOTSTRAP:-system}"
- --enable-jvm-feature-dtrace=$(usex systemtap yes no)
- --enable-headless-only=$(usex headless-awt yes no)
- $(tc-is-clang && echo "--with-toolchain-type=clang")
- )
-
- use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
-
- use lto && myconf+=( --with-jvm-features=link-time-opt )
-
- if use javafx; then
- local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
- if [[ -r ${zip} ]]; then
- myconf+=( --with-import-modules="${zip}" )
- else
- die "${zip} not found or not readable"
- fi
- fi
-
- if use !system-bootstrap ; then
- addpredict /dev/random
- addpredict /proc/self/coredump_filter
- fi
-
- (
- unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
- CFLAGS= CXXFLAGS= LDFLAGS= \
- CONFIG_SITE=/dev/null \
- econf "${myconf[@]}"
- )
-}
-
-src_compile() {
- # Too brittle - gets confused by e.g. -Oline
- export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
- unset GNUMAKEFLAGS MAKEFLAGS
-
- local myemakeargs=(
- JOBS=$(makeopts_jobs)
- LOG=debug
- CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
- NICE= # Use PORTAGE_NICENESS, don't adjust further down
- $(usex doc docs '')
- $(usex jbootstrap bootcycle-images product-images)
- )
- emake "${myemakeargs[@]}" -j1
-}
-
-src_install() {
- local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
- local ddest="${ED}/${dest#/}"
-
- cd "${S}"/build/*-release/images/jdk || die
-
- # Create files used as storage for system preferences.
- mkdir .systemPrefs || die
- touch .systemPrefs/.system.lock || die
- touch .systemPrefs/.systemRootModFile || die
-
- # Oracle and IcedTea have libjsoundalsa.so depending on
- # libasound.so.2 but OpenJDK only has libjsound.so. Weird.
- if ! use alsa ; then
- rm -v lib/libjsound.* || die
- fi
-
- if ! use examples ; then
- rm -vr demo/ || die
- fi
-
- if ! use source ; then
- rm -v lib/src.zip || die
- fi
-
- rm -v lib/security/cacerts || die
-
- dodir "${dest}"
- cp -pPR * "${ddest}" || die
-
- dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
-
- # must be done before running itself
- java-vm_set-pax-markings "${ddest}"
-
- einfo "Creating the Class Data Sharing archives and disabling usage tracking"
- "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
-
- java-vm_install-env "${FILESDIR}"/${PN}.env.sh
- java-vm_revdep-mask
- java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
-
- if use doc ; then
- docinto html
- dodoc -r "${S}"/build/*-release/images/docs/*
- dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
- fi
-}
-
-pkg_postinst() {
- java-vm-2_pkg_postinst
-}