From 510fe9ea61c267f0cd219e99af02d60079be30ea Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Sun, 24 Aug 2025 19:01:23 +0000 Subject: Adding metadata --- dev-java/openjdk-bin/Manifest | 12 +- .../openjdk-bin/openjdk-bin-25_p30_beta.ebuild | 139 -------- .../openjdk-bin/openjdk-bin-25_p36_beta.ebuild | 139 ++++++++ dev-java/openjdk/Manifest | 4 +- dev-java/openjdk/openjdk-11.0.28_p6.ebuild | 2 +- dev-java/openjdk/openjdk-17.0.16_p8.ebuild | 2 +- dev-java/openjdk/openjdk-21.0.8_p9.ebuild | 2 +- dev-java/openjdk/openjdk-25_beta36.ebuild | 353 ++++++++++++++++++++ dev-java/openjdk/openjdk-25_p31.ebuild | 332 ------------------- dev-java/openjdk/openjdk-26_alpha12.ebuild | 356 +++++++++++++++++++++ dev-java/openjdk/openjdk-26_p6.ebuild | 335 ------------------- dev-java/openjdk/openjdk-8.462_p08.ebuild | 2 +- 12 files changed, 860 insertions(+), 818 deletions(-) delete mode 100644 dev-java/openjdk-bin/openjdk-bin-25_p30_beta.ebuild create mode 100644 dev-java/openjdk-bin/openjdk-bin-25_p36_beta.ebuild create mode 100644 dev-java/openjdk/openjdk-25_beta36.ebuild delete mode 100644 dev-java/openjdk/openjdk-25_p31.ebuild create mode 100644 dev-java/openjdk/openjdk-26_alpha12.ebuild delete mode 100644 dev-java/openjdk/openjdk-26_p6.ebuild (limited to 'dev-java') diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index fc8d8f7599ea..110f0f6fca5d 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -17,12 +17,12 @@ DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.8_9.tar.gz 206888226 BLAKE2B ac10 DIST OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.8_9.tar.gz 203092492 BLAKE2B 3e992baeef59648453f1a46b6bfeafe1248b21ed0ff93a01ccea3117d444ea0f2d1802c08fed5a2181a0bd6843b4a9c4769b734359c4bac808d1d1dceeb922f4 SHA512 0e700769ea7a0f7df25f13f341553a4da3f5725d872dd8e393a9b5269c5b4e60d057fdd6bdbab85d80c3bc1d03e51ee17898e40ee9739783e10f6e38e3bc2a06 DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.8_9.tar.gz 207302643 BLAKE2B 5766f599304b3a5ef5ec386b556f5813a3280226ea9d7eb7be72c0766539925c1bc7f431b2b97cc1eef30e195bb58eaa457417ea03491bdd090f802c8791cadd SHA512 f9e267f25f6e90124a591d84e52f9c630701e470479e602f466030cbea1df2b8011139b8f149050582ebd4d5efd4b839621dbfe6bf3148da1a6e70622f5d2813 DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz 207098019 BLAKE2B ea5599d74219cd69400553c1253b69a5d2a7468fccd31075b2d67f406793b6066a2ba811173231338f010bb9a1fd06be219ab77ab00b8d74210c4b114e87c64f SHA512 f5904c0ec0b927e35bc35d55bc67ad70cbb0b22566f367f2db519ad6867a8185e819cb0aea35c97741f7df2a10788a8f5aca10cd2c799423d0d561c915812556 -DIST OpenJDK25U-jdk_aarch64_alpine-linux_hotspot_25_30-ea.tar.gz 138715204 BLAKE2B d789e376fb344c1e04cfc8ab9a171e9b91bf672033dffa1e7674c474866f9a52554833ad06b7e1ff413888c7ce52fee3d1873865501430905a82d7cf296c8666 SHA512 d9c839e588843b1ad590a0044aa754004d4e411b0981f42e1af738f33beeeb660c2d9c76517cd19a24c15788d94b92fabd85a44bb1b375824699b8b06c98f6c5 -DIST OpenJDK25U-jdk_aarch64_linux_hotspot_25_30-ea.tar.gz 138765565 BLAKE2B 793e4f0cfccf8fd79f1570036de717b70580762690d519107f9fa5832227747f0b68cc9129425534bee9f337aa1c4caa247ac9c129736a862f49e88eb94253a7 SHA512 a63f869b53296b26b8c5f00659626bf2370674cf82d7aa39b3a261546714c1f6263c05d496ea0e4028cd247ec3f6bf7b78f4643d4c94205b22b55bd523df6d90 -DIST OpenJDK25U-jdk_ppc64le_linux_hotspot_25_30-ea.tar.gz 139237868 BLAKE2B 098e933f240c8fd7624804f2ce7a6573b5beb8f439f29766afc596d41c342d391620af5abfdb31088ff853bbb3c229c06848ed70441db984e5a9bde5bc7463e6 SHA512 00504ada36f1f4df8e63d7f787c5ad758ebdd3fd3004f49431b500aea4f34625765cec4415177e451956ce4485e6dd546fee269c625980340d4b28f9530a252c -DIST OpenJDK25U-jdk_riscv64_linux_hotspot_25_30-ea.tar.gz 139468716 BLAKE2B e8bf4f946061fc196f210ee6976624ada6d4cf57961488ba61e99631614faed5419e28930357ea9ebef6aead9c19cede94058a36a8bc960ec5e90885d5419954 SHA512 2a3f2b0f0d77012d8daf916df21eb9ae27699acc8574e68a531b81a4b3d9d44169c41bec2a71981199032787bd84dc043621c6fa77190537ab8234fa574cb1de -DIST OpenJDK25U-jdk_x64_alpine-linux_hotspot_25_30-ea.tar.gz 139906481 BLAKE2B 90e7125d98b254f5f3a3229c7e33414c5f4ef70ecb1d92f625d5a5c04122e0ff3b3fc568755e84e00eb6b6ce7822ab90a3421f88cc86ee2d44bff1b9b740bcda SHA512 e03a1cc97d66fd868c09603214b02598ba1d134f151cf42f2cb79f700f38410581b0287fffb83fdc809746cd34383769234dee56671f343872a4c87f4af782dd -DIST OpenJDK25U-jdk_x64_linux_hotspot_25_30-ea.tar.gz 139739083 BLAKE2B a604c06041d1827284d0b77c76d84c4580b630cd5895817876d98feec37f6c0f577984665047e7cefc4958f1e6a1bee6a962759314fbac6d1b81677b254447a0 SHA512 521adba326caa91135d65e65ba3560ce5ff42e396187cb00a9ac8f7c218ed0b6bf87f04ad38df316b4e2505302c8e1dc24f72ac44aa3305f80766a9b6403e892 +DIST OpenJDK25U-jdk_aarch64_alpine-linux_hotspot_25_36-ea.tar.gz 138721553 BLAKE2B 837aabe2aa36139451bf5c1431fa1c3dff5add2b0ce2cdcb14412211fd1c59ac5ea789c8d420342d271807e81986d4dbf08370a309be8b5ab0bf37711b06b848 SHA512 10491c32554da98d437d82f7c7bdb331ac39df65ca3cffa097da804a57abb0ab29b409f591e7967c63543066b8343252a85637bf8c85e46168800c25af522f63 +DIST OpenJDK25U-jdk_aarch64_linux_hotspot_25_36-ea.tar.gz 138759824 BLAKE2B 0a3f97adb74bbd23916c7c0757b787c4d5f02fd801411f9cf0cff83eda0f638b1f6528749539e092f0cbc6f5cd117910e12cd2bfad3ad266d0ada89ce3157565 SHA512 d25051e818882688bdb0dde811a09de0919c9bec51a364082b4284cc6609635db1a2d4fd3af68bd99c09abd5f8243313c5bebc7c6e9111ef1bc0b86c09e11041 +DIST OpenJDK25U-jdk_ppc64le_linux_hotspot_25_36-ea.tar.gz 139243042 BLAKE2B d7e0b0dca5629de1e3bf3d0bb0bde110108ca18b5d474f9535659bb4193aa8d59941e9d1066ea0ef7e48726d6815c7df969539685de69054779c5f0520b24513 SHA512 545658ab89cc5c501f2b443f43bcee3cf56640d53647b065dbb6e3211a725e6cd7c11fd6580c79bf646dcd3534b64ce95f8660298dda5d31536924b7d71d7ddc +DIST OpenJDK25U-jdk_riscv64_linux_hotspot_25_36-ea.tar.gz 139478168 BLAKE2B 41041ff6de4d24fb9bacc6a50863786cf87777caa13f80dd49c37369f0f0b06e60aa7f7182052edf6c99d659b1fc2aa9db71a4b7b31b711bd015741a76e75b15 SHA512 ffa0da8e393098c414c19157dfaf74f11a8a7c3050baab4dda4a09076380a53bad21201a62934bd546d84bb9ec89b5fa1273cc53a4f34292ade067486310d47b +DIST OpenJDK25U-jdk_x64_alpine-linux_hotspot_25_36-ea.tar.gz 139914692 BLAKE2B ea0fe7eea93f0bc1c1fd54b6e45855caedc26e507ec84ce02a5744389b3a5e80d50a61997810c3a2375183b8e61539307b018ed2dbd7b367bf509f136f42b8ed SHA512 e2de1b7464da536cc6c8f3ea120694de001fc2be10220b86602fe524889dc2f9c046778660c34c9595fe7dee3e3e29f7b70f064245174f12c3a3a15f9ffe58ea +DIST OpenJDK25U-jdk_x64_linux_hotspot_25_36-ea.tar.gz 139748177 BLAKE2B 1d86be6951d9bd8d6de92e8d098525e9f155ae3fd125426eee79e2821fa7ebcbd536d49f71ab2c288de194ade0893300252f4ad41e7dcb5f0e2787c8ea8256d6 SHA512 7de48b50bf3e00aeffbf99271b5e67df3b3a48595fd0b5fb9c5426a3ca2026b7827ba278b226a7270e40b812ce04092893f5d82a36cacc38505c8ded5db9de55 DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u462b08.tar.gz 102210204 BLAKE2B 2b722a0c9f987e89bdf88283937b7c935e912cee1ede9414c55d8f4b040ea54c96ff6e14562fdf2227a51eedc1918424042d755e98ce5286c6e042214ebf248f SHA512 b94ceac4184ef1e26c154bef208372b5756ed1edd1db0da9d9bedb2944ad517c3c13fe649029a49bf159494f6221ecea8f94f26dbcd6a830f48072c20bd8b2ff DIST OpenJDK8U-jdk_arm_linux_hotspot_8u462b08.tar.gz 98402076 BLAKE2B 3c5e4a1c3d1e7a0154fa8de780364f6a3dd01d8b9b480f7d76b160a36bfe9083213e2a67b663f2614abb86d11502d41f5df2f6804532c7b0f7ba7893916a9505 SHA512 07e7a7cf2342ffec8673f15c8b67ce601e07b641d32119f207add2e067e428ee108497623bf67ba6e18b983c6a7bf31a276f3a8640a4a4eca6a08305a5fb98ea DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u462b08.tar.gz 100593234 BLAKE2B dea44e4dae65465349a70ad144d47115fe35b0cbb6cac91dd0476c20cd1ee7998d2069ab9956566ec340281a334783855b68e5baa6dcc690636ab7035b037544 SHA512 9e673da9cd74e38d432ead97f464b068948ee98b636a7d2c210c618389956423b57c385ccddc4628d8426ce5850b0d2ab8780f7a82ad44e3643a38fb6e0c63a3 diff --git a/dev-java/openjdk-bin/openjdk-bin-25_p30_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-25_p30_beta.ebuild deleted file mode 100644 index 84b8f0e2a314..000000000000 --- a/dev-java/openjdk-bin/openjdk-bin-25_p30_beta.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 1999-2025 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$(ver_cut 1)-binaries/releases/download/jdk-${MY_PV1}/" - 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$(ver_cut 1)U-jdk_${1}_${os}_hotspot_${MY_PV2//+/_}.tar.gz - ${musl:+ ) } )" -} - -MY_PV=${PV/_p/+} -MY_PV1=${MY_PV/_beta/-ea-beta} -MY_PV2=${MY_PV1/-beta/} - -DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" -HOMEPAGE="https://adoptium.net" -SRC_URI=" - $(abi_uri aarch64 arm64) - $(abi_uri aarch64 arm64 musl) - $(abi_uri ppc64le ppc64) - $(abi_uri x64 amd64) - $(abi_uri x64 amd64 musl) - $(abi_uri riscv64 riscv) -" -S="${WORKDIR}/jdk-${MY_PV%_beta}" - -LICENSE="GPL-2-with-classpath-exception" -SLOT=$(ver_cut 1) -# KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -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="*" - -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#/}" - - # https://bugs.gentoo.org/922741 - docompress "${dest}/man" - - # 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-25_p36_beta.ebuild b/dev-java/openjdk-bin/openjdk-bin-25_p36_beta.ebuild new file mode 100644 index 000000000000..84b8f0e2a314 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-25_p36_beta.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2025 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$(ver_cut 1)-binaries/releases/download/jdk-${MY_PV1}/" + 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$(ver_cut 1)U-jdk_${1}_${os}_hotspot_${MY_PV2//+/_}.tar.gz + ${musl:+ ) } )" +} + +MY_PV=${PV/_p/+} +MY_PV1=${MY_PV/_beta/-ea-beta} +MY_PV2=${MY_PV1/-beta/} + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +SRC_URI=" + $(abi_uri aarch64 arm64) + $(abi_uri aarch64 arm64 musl) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri riscv64 riscv) +" +S="${WORKDIR}/jdk-${MY_PV%_beta}" + +LICENSE="GPL-2-with-classpath-exception" +SLOT=$(ver_cut 1) +# KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +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="*" + +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#/}" + + # https://bugs.gentoo.org/922741 + docompress "${dest}/man" + + # 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 6dc4b9be9a8b..a07e0f92bc8c 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -2,8 +2,8 @@ DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f DIST openjdk-11.0.28_p6.tar.gz 116599809 BLAKE2B 57ab3c6d469ae75d45ed806fb1973626678c24f8aea125ce8cbd49b9db1eaba5108a70743c7c4966027741a1408f3d8f8fcde64465797c69547d6f73eda283c4 SHA512 01d166fa8a4914c402a340409096530ab6313f5850d13b866ba354e02343a8b567bccee563b1d8b9b4ac5101f16d31c73a6549e21a96dd306da4b644d4609f89 DIST openjdk-17.0.16_p8.tar.gz 107868532 BLAKE2B 993fea8e3e27fe7e2dfb602544fe5b04d6549bdb6b277ebca824212e2a89bc2fa3c47e04678e7235cb4c400832a7aba976e9f4e3e78c5ad49ca6ac5eb8071ec6 SHA512 df6cf32fa5884a004c1edc8de6fac9210efb740dd962860d415e97cfd3d2a232f19210c3d7fc21d1248e3424a160ca9e087db92c509eb79e815aeec0a40f212c DIST openjdk-21.0.8_p9.tar.gz 113761547 BLAKE2B ba9c280a72a1d02860578f9d688297a9e85f841e53c678b69dce1a8c2a6a92eac708d36174a28efb25c7840835a5519b98493653d475a4118c3e949a65e889d0 SHA512 be96bfa216efedd0cb094c8b4a2307f84ff6fa8a3a2c30f2f6610023e24979eee7be6b96305d893eb7cf19ed3750167a76436201cfdbc623713236c852eea917 -DIST openjdk-25_p31.tar.gz 119343874 BLAKE2B 80477d71433895f9baabcc3659764e2fe7e4e9a56514a8678bc3da1e567320e3a7af57e16ea01ad5861d9c5a2f2028ad087d4de416d87ad12150b784dad877c6 SHA512 008c5a1b5d60b95afd8d56441733a77287be208e7b32dd58c35b11e4b731a1d5bcc59c3a79ea3baf9ecea90bb6a42b32ee187bce41665c461483b5e3478a2a61 -DIST openjdk-26_p6.tar.gz 119435939 BLAKE2B 7928a217245d1453d366d90c8c8f64ded5ef12f54d7ad95e8c5a37d8ca6710ccdc7bfd1ca9d8c182f2bf70add792e51eecf930e441c0dab08029c23270b86deb SHA512 ecea219c619f4033c3fd4629304ff96bfe827db96378a596ab4df257b044e51d67993f802577274a8c26b2545f31bf0dd77c165894271f947979a73f03920b8c +DIST openjdk-25_beta36.tar.gz 119358567 BLAKE2B e791fa4651f57ed0e4199159c64dd8167207dc456ad1d0c631123648dfb75a6d9515cbb1025a44f9d1a5d044713867fc5e75986eaf8624f7a14ee44a11807704 SHA512 3a1075486cc471162234b4f7f6390625a832307856b5eaba335072052f49e64ee48f964d39701885185acade65889dec210c1b5af7ed4c439c9c0584df0c747f +DIST openjdk-26_alpha12.tar.gz 119580613 BLAKE2B 27ddc2a03ccd131f684f6106cf6e822b17d141c61dfc61f19ba9b81f9a05b8c9cad3bbfc72c02284d913e80f2421ca0a25be36cbc43cc974f47e433fd31f8d62 SHA512 89d628c604fec29ac89ea574f142c3d4c79ac88de536cc74e7acbadf661ce0f8f78bc3c4dc003ea19356e5c49729fd5a19b9bbf841426f16e3aa6bdd76928eb3 DIST openjdk-8.462_p08.tar.gz 92819223 BLAKE2B 4ff02b05348b963799a230756cc7e00eb86bc0c7037da55e38f2b3ef9864e9be6bb38b8f86674741153cbe7e2213de9e5b945231def57dce92a69f8e5ca586fe SHA512 e444fb52190c1464a5707615e2f3046bad5e5273c553a1b04cf93450b32e9bfdd49f06fbbe5d91217b6d22c6398db35c9bcb91010dfb237c760a95de02f6073e 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 diff --git a/dev-java/openjdk/openjdk-11.0.28_p6.ebuild b/dev-java/openjdk/openjdk-11.0.28_p6.ebuild index 0690ffbd75ea..c7edddc4bc4f 100644 --- a/dev-java/openjdk/openjdk-11.0.28_p6.ebuild +++ b/dev-java/openjdk/openjdk-11.0.28_p6.ebuild @@ -52,7 +52,7 @@ SRC_URI=" S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" LICENSE="GPL-2-with-classpath-exception" -SLOT="${MY_PV%%[.+]*}" +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" diff --git a/dev-java/openjdk/openjdk-17.0.16_p8.ebuild b/dev-java/openjdk/openjdk-17.0.16_p8.ebuild index 13ebf1b1239d..dd115e04f630 100644 --- a/dev-java/openjdk/openjdk-17.0.16_p8.ebuild +++ b/dev-java/openjdk/openjdk-17.0.16_p8.ebuild @@ -52,7 +52,7 @@ SRC_URI=" S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" LICENSE="GPL-2-with-classpath-exception" -SLOT="${MY_PV%%[.+]*}" +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" diff --git a/dev-java/openjdk/openjdk-21.0.8_p9.ebuild b/dev-java/openjdk/openjdk-21.0.8_p9.ebuild index ec15ef13a305..2528a9205931 100644 --- a/dev-java/openjdk/openjdk-21.0.8_p9.ebuild +++ b/dev-java/openjdk/openjdk-21.0.8_p9.ebuild @@ -48,7 +48,7 @@ SRC_URI=" S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" LICENSE="GPL-2-with-classpath-exception" -SLOT="${MY_PV%%[.+]*}" +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" diff --git a/dev-java/openjdk/openjdk-25_beta36.ebuild b/dev-java/openjdk/openjdk-25_beta36.ebuild new file mode 100644 index 000000000000..92798f722f2a --- /dev/null +++ b/dev-java/openjdk/openjdk-25_beta36.ebuild @@ -0,0 +1,353 @@ +# Copyright 1999-2025 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: _XPAK +PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# 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="" # LTS but not yet released + +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= + 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} + ) + ) +" + +# 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/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-25_p31.ebuild b/dev-java/openjdk/openjdk-25_p31.ebuild deleted file mode 100644 index 7d06fee39f01..000000000000 --- a/dev-java/openjdk/openjdk-25_p31.ebuild +++ /dev/null @@ -1,332 +0,0 @@ -# Copyright 1999-2025 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: _XPAK -PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball - -# Usage: bootstrap_uri [extracond] -# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) -# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) -bootstrap_uri() { - local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" - local suff="tar.xz" - local kw="${1:?${FUNCNAME[0]}: keyword not specified}" - local ver="${2:?${FUNCNAME[0]}: version not specified}" - local cond="${3-}" - [[ ${cond} == elibc_musl* ]] && local musl=yes - - # here be dragons - echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" -} - -# 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" # '-ga' isn't available -MY_PV="${PV/_p/+}" - -DESCRIPTION="Open source implementation of the Java programming language" -HOMEPAGE="https://openjdk.org" -SRC_URI=" - https://github.com/${PN}/jdk/archive/jdk-${MY_PV}.tar.gz - - -> ${P}.tar.gz - !system-bootstrap? ( - $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) - ) -" -# S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" -S="${WORKDIR}/jdk-jdk-${MY_PV//+/-}" - -LICENSE="GPL-2-with-classpath-exception" -SLOT="${MY_PV%%[.+]*}" -# KEYWORDS="" # LTS but not yet released - -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= - 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} - ) - ) -" - -# 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="${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/* - dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" - fi -} - -pkg_postinst() { - java-vm-2_pkg_postinst -} diff --git a/dev-java/openjdk/openjdk-26_alpha12.ebuild b/dev-java/openjdk/openjdk-26_alpha12.ebuild new file mode 100644 index 000000000000..b5a9de53d697 --- /dev/null +++ b/dev-java/openjdk/openjdk-26_alpha12.ebuild @@ -0,0 +1,356 @@ +# Copyright 1999-2025 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: _XPAK +PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# 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= + 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: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:25; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-25 + elif 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/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-26_p6.ebuild b/dev-java/openjdk/openjdk-26_p6.ebuild deleted file mode 100644 index f0a842aebc24..000000000000 --- a/dev-java/openjdk/openjdk-26_p6.ebuild +++ /dev/null @@ -1,335 +0,0 @@ -# Copyright 1999-2025 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: _XPAK -PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball - -# Usage: bootstrap_uri [extracond] -# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) -# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) -bootstrap_uri() { - local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" - local suff="tar.xz" - local kw="${1:?${FUNCNAME[0]}: keyword not specified}" - local ver="${2:?${FUNCNAME[0]}: version not specified}" - local cond="${3-}" - [[ ${cond} == elibc_musl* ]] && local musl=yes - - # here be dragons - echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" -} - -# 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" # '-ga' isn't available -MY_PV="${PV/_p/+}" - -DESCRIPTION="Open source implementation of the Java programming language" -HOMEPAGE="https://openjdk.org" -SRC_URI=" - https://github.com/${PN}/jdk/archive/jdk-${MY_PV}.tar.gz - - -> ${P}.tar.gz - !system-bootstrap? ( - $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) - ) -" -# S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" -S="${WORKDIR}/jdk-jdk-${MY_PV//+/-}" - -LICENSE="GPL-2-with-classpath-exception" -SLOT="${MY_PV%%[.+]*}" -# 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= - 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: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:25; then - export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-25 - elif 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="${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/* - dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" - fi -} - -pkg_postinst() { - java-vm-2_pkg_postinst -} diff --git a/dev-java/openjdk/openjdk-8.462_p08.ebuild b/dev-java/openjdk/openjdk-8.462_p08.ebuild index d2061194f3c3..b830afcc1968 100644 --- a/dev-java/openjdk/openjdk-8.462_p08.ebuild +++ b/dev-java/openjdk/openjdk-8.462_p08.ebuild @@ -49,7 +49,7 @@ SRC_URI=" S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}" LICENSE="GPL-2-with-classpath-exception" -SLOT="${PV%%[.+]*}" +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" -- cgit v1.3