diff options
Diffstat (limited to 'dev-java')
16 files changed, 1237 insertions, 13 deletions
diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index c02f9dbe7e25..1313e2c3cc1e 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -1,18 +1,36 @@ DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.15_10.tar.gz 189998414 BLAKE2B 6cf30a34a8a3e040895763fbf740e370469ecb9f71ab0d10d7b3c313f922981dfdf2eddaa64badac92d45db1a9945ed1389f1794a434b366034d43af263bf57c SHA512 51a2fc7ddff7d64eadfb7e2f496c33176dbfceea2cdcd479528195ce00454d3d9bb5ad82714e59bdae8cf2cf7f75ce9f1dcb9c5d62aeffda9d1ec9ff0262e04a +DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.16.1_1.tar.gz 190493431 BLAKE2B 22e11711048b1e3e45eabd298c4ad25b2162e794561a4aa704ca2cf9612282b40203a6f16337416d16e065ec4764051a199af5b20803aab1c29c3aea6c2e39c3 SHA512 e61529d6782adcb9ccb78b0f3996bd2927b41a199210e6abec969880763e1b2234ddf04fe254110cc332df499616d67156a3b8376012cd3e6640f37e52ef132d DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.15_10.tar.gz 181012868 BLAKE2B b52d2330291ae8f8d74ba98b4679414e86c9018ad364bb27f09b5f192369c0b934654e5b4d8a07027e001da96fb89bd62a18ab5c1acea3c2cea2cc31e20a1481 SHA512 abe8469f5fa4f46f71e35785c6972b2901f003e311086352df6eff6911393c31c01ff965c74772656e2255e0bbb15eee6b761db472c886b60a8cda046fb46764 +DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.16.1_1.tar.gz 181437038 BLAKE2B d87e38a9600e2f4289637f9b54044bb25777cd7a434eae89800945515ecb3965eae8f4660d18e96f1fb95e2401133e6630d98b3b23d826425bff5bd88e5b99b8 SHA512 72e2846718fc2e2a85a23cb97f49acf9314b7da78a79d3fe9cd0a91d34867bb2a3b6ace359b366caf564bb5d026f19400564e31064691016e9827a450b5e1a6a DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.15_10.tar.gz 175250283 BLAKE2B 4b4fe6a5018cfa40ac71cfcf41c261887890e339d9e5f57aac55f494abb7a4e99263db151d85698690513caf670acfef29a83616e49d6f845e02cef024624fd6 SHA512 98adf9689782aa78d61f485e671c434cfdfae7ba92a7ce0c2401164250b7def2f881e201835e1ca2ab56a3ae4967c0923f4856171c2a4918f7190adf4b5e0bca +DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.16.1_1.tar.gz 175833123 BLAKE2B c027ac3c128ee8cc6e62e375c66a642931a9344bd7d06cad6025094a8569d135a2982ead3057da7841ebcc5a02fc8c8db653f8aa09bcc8179122e1c1e6018be0 SHA512 f3af5dc335d0573ed89037a6227e96e75ec2031af6653f3a034b2d5e0737f1edc875aa883050783c6d556ce5a55ce4f9cd7859b574915b994b58fb26d906fbfd DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.15_10.tar.gz 193336087 BLAKE2B 0f61aba6b76b019ef7271dd92cd4b6db432318d629b5485e2f85a9ca586f1ce6b6d3e2c48486a4f3d90f8730e3fc7dd4f0975849f7c0f820812625556331db87 SHA512 360a349b34f2194498d0800145b54e5532b8a2137d7526a692a855a036d1cb6ef185bdeffaff63bb8cce71c7a0b10fee6acfb1024db8d2ec0cd485baa0683304 +DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.16.1_1.tar.gz 192644240 BLAKE2B c7e77e1b620f6df33d63656a09203bd3d700579a8730141ea4a20424f844c6afc09f4c6681fa66c3fabab0cc9505293cdeed04fa16b0accc49209e0ea4877ba6 SHA512 457df026841f11a424e8f8fe789ba4968d60b0a06deef01a69911ec2084fd4f14ae5dfae543bb646881ce8e4e34665c65670943a43cb2a83c6923122801de468 DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.15_10.tar.gz 193245074 BLAKE2B 0a559bd0513984c2bc93e31ab7afcb8f5fc152c9984d957359bf1901e46b25b25ddee81c4c8fc0f560e65b343f74e39c55a1af61526fceec0eb530309eb65383 SHA512 85b21da3ff777b6239df5534ee3539b256a1de5d02abf4f537bca38d2cbf8006b4130d8bde2e24835a8da7a651fc8852df2c5060d26b9d594927f4d609912554 +DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.16.1_1.tar.gz 193754645 BLAKE2B 5ab76378de497da3e59b5c33025322aacfa67edfa9766fbee346399f8dca71309aa9e6c6ad43a59c2bc7033fc01806b045832ee6b57f08956a2d696e760c247d SHA512 38aa02b8ab14b678b226891ffb2d2ab1248202d595e8c37ded3479d3d0a210355df75cabb62b03ccfae5369965e80ab4872cf7f530d0ddbc4cbf4c9a0f922e37 DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.15_10.tar.gz 186328533 BLAKE2B 72f662e4aed529de853e47b848b46c15fade1a8c120f83b3409492801084114724f1d3875fedf1607133192ef5a612dbab828e578bff98adf1605fd990a24b21 SHA512 af69ea99e3d3b7ae84405190a12f788348162fd235aa5df8ce7ea3127d961e015b51cf70277aefa0e29a434ba10876812e997a063c5aaedafa460fc5451783c7 +DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.16.1_1.tar.gz 186335152 BLAKE2B ce97404fe164c89cc43d053e14a4abd596c104a6dfa355cc011de274aa5e1b9d2d5cb881299fad7877fd0b49bf1f738672eb565d4c543720d059663b34fd5da6 SHA512 6ccbbf271e23d6d2315ac62e5ea574991e728a4298cbf217aa7fffb3717c6a13cd82a467d15a0be9699e7b9e9a062ed0f10772165a40604f2f3c8e02729a6eaa DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.3_7.tar.gz 190142132 BLAKE2B e6b0fb199ba788a31b6238d3bc458216baf37f1517a449be63668c412dfe7662d644ffdb312194533d4af089ac2753c164059978d65eddd951bb98bfc108da87 SHA512 f406ae289659e902dd3314d40485c1f3b04915451794c2bebfb1eeda7c83dbf051c26461aec7fe07c1a43f5319f80044aefc99c9177e2a9ca0a31a9c9f06c157 +DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.4.1_1.tar.gz 189797923 BLAKE2B 8732ba8ce23d8ebdcac7fbb2c6035c3cafd11eda4853b948327c6c9839a88294d5c89a03006d542c8ab797b3d4d570aefc6289ff97338d68089387d0ed742d3c SHA512 d2bcf2b766e3135320f28de1df47c3d3f9012281501390ffb6a4c01f59c72fccd348139f4eeb0a9bcce747ed8cfb04f2c8d78161dda2f2f6e0728993f8953061 DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.3_7.tar.gz 177467402 BLAKE2B 38b8508e81bcbaf90a1db9bfe3f804da9838cc43b6043c328d19523c83dc5d953465a1018a9054979163140a28f5e213815634005cf096f6932407e8f7ccf9a6 SHA512 0433dc839a98b810cad9fe0d98c46cabccec5ceb44fd5bc67fff0c27962f183a3814b9aab521768b578d8f11bda97934629bf9fce5c010cdc93c685b842566e7 +DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.4.1_1.tar.gz 177121101 BLAKE2B bfbbdfdf77e5f52bdef3bc9ab387590f2d02ed7f039ab49b15127b9a09430b0a9cfadde04cdb70668812d68ed4279dce3fceee6183d469e0ff4b37f43bff60cb SHA512 36403f81c06c4d7bb76058bae6a4e5c94d3c134f9b6ff9ec4b9f8ab9437195f0e2e2c2770cea4d765a182a0b2fdfc4b7fc4343fa5170af5720343d3fe0302e02 DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.3_7.tar.gz 188309462 BLAKE2B e47b98ebcb661631732e3238ce3cd1630a0a2103d7e32beabb49d1a0ff216c34c0c39fac11a848474a36dd2c98f6724c58900e3026d04cb7e4f7f00adbe1fe18 SHA512 9158821b22633177866ac0a5c4ffd774d2d750adea2de2adce661060ab7d28cf67fc703eb9e0e200149fa03eb040a05dc45ac944dacd140e0d0fa06515584795 +DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.4.1_1.tar.gz 187944772 BLAKE2B 6e04360ff4abec1bb76d5e73bc21716a935224ccd799ab4ee09f989a996ba4684677cd28545f90ef9a5d53e1ecb46a0e1d641c6c41aa93f74992b53cc19ece5e SHA512 850a0241ee1c67b5f8c2350432de82d3d264015cad7455f98d392b5bf32bc0b44aeaf1fc9b42035a2a13f157f57e833667329970e61f4626b88bbb4fcfd39482 DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.3_7.tar.gz 190898839 BLAKE2B b5188190ab30393ff789724ca99ce89232d8a4d81c22205111da4cc60cc258fe5bee47a5550cf032937542d7fb677af0de9aebbe39fe20b4af223a6d7d3211e5 SHA512 e1f1ade72f12c21eef9d34d05e2a4a8228320138d0c626c4eb31431ac9d5e5123ec8ef24c168005e3bb3508537c826399122461a0ce8de1310ccab40d8d21145 +DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.4.1_1.tar.gz 190474121 BLAKE2B ac8b741cf29816960de615999d5030f03677fc3a370c0c430d408802535cbbb2b304aa18d036529d29c1939c2d43ff84bdddeb15dde5a22bbda7c807ddc900db SHA512 04c9182fc503369b7dcf53729e3c5e7f16828477e168d279806c7968482588ee5a04b1c31407c2baa1c1d24468592e1e416a9ea2115391113b83e792457e31b1 DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.3_7.tar.gz 191298712 BLAKE2B abcb97374d38cb7457139865617d7570627d390c0db47ed572048dbb9f35b7cf6cf1a7d973684607ce3f7477f9b03b85ba43b8b4447b04f9fe1bfe419a18d190 SHA512 4e69597c134f37db83b44fd86e13c25ded20d8a1b2d8e959b6ddee29e5cc8c2a7bfd449636399f2d7bf030d93b2a29236e614a1578f9bbd37ca7e12249dc80bc +DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.4.1_1.tar.gz 190514211 BLAKE2B 07f802438dffcd54b07ea5342ee78fcfecaf51bac90666aadce34c871f25df6e21a30565e17952dd13fc5da9f032eaa931b66a725f416c98bcbcad0a1d584ad0 SHA512 927a83458e89ff8acd82a443cfe08d6cd93e73bec3311661d2bd4e09eba151088e0d1f40206f50c681586d6629a02c4549fc97df043edacb255e841ea17c83f4 DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.3_7.tar.gz 191514138 BLAKE2B 3e2d64cdf15c63f2f50148576bc8ed085ec808a28a07113910f7b04c5729a1a56840751da627d8012751a7b533f6730c3a9bb99914382caf82f63e5a65dad40a SHA512 144f1e1c0f9558bd0be0536b48b89081579d1232d75c00fcfb7be2460475a4eaf3a6ae89007e683fd6148b4ebf33c2d9492419db96090e07f4ae52afc71df861 +DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.4.1_1.tar.gz 191174859 BLAKE2B e6552e71279ca4a6d04a6e6d5a1707720fa7900c03fb31e312dfacf44d4dd699f657fe2f672881783a1918bac1598a99b4c56d90bb42b2c28a75762ea647f2c3 SHA512 db61842d4482da4fd5b86aee5b1c7f7c28218a58d73850513f272153a1ab09374462cd0d6f631b69f30204e5cfaca44357fa481dc4ebc67a50eda5b71a761082 DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.3_7.tar.gz 187277835 BLAKE2B 2a6766ae47281222a570485bbb67b10b78b2d17399a2fd76e254be3d30808a09002fe6fcf5814be044c4a95c3f791af4b45df9320cea5ec212f9db38329b1630 SHA512 00cb5c5628ef2fcbc44ffcb2f81b8cae8c57107df8c456b4f3bf6897269daebdbd9ce0fe78af686cebedbd2426fa85095b198d47578828404a1b046eb0cbca60 +DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.4.1_1.tar.gz 186906753 BLAKE2B e86da7cb28aa43fde9ab947fbe886ed2ce4985d15a3aabf846f5bfc647203fe330f5333c9a7bf30936b2b566424c695c83b246baeda10b32de1b59a118414fb4 SHA512 b4911f006af320acf7ce18ae981a3a29d72d6fc1190bf4a0cd47f389d415de4980f65a0007a7cdcd8f15b7434b2e0e772acf4dcb3b76daa32841c7b4016e9458 DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u332b09.tar.gz 102003248 BLAKE2B 75eb1dc4e09f868ca1a5f0ccc275e36992414e250c2815ab2a6e879942dfdd57a069d6d2cc79aee967c8d2077cecef6d65285cf870e70d22aebef607e906dbec SHA512 cf716f9a614932ccffeb8a7a2ee3a2f10543b31b8f6953933ba4785f386873fe00fee69061c70c26b55a6db13f26ba529f9953d7f3fce9b42172fe3b4e0eee52 +DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u345b01.tar.gz 102022940 BLAKE2B 40b14e0399de76c6dd2bdc9cd6b3aba7d62cddbb636a2b11a905dc432b0aa91ad62d415203f3f83c0ba82c3667f83a485ec57e71077c26c8eaf35c0f08edd713 SHA512 d932f0a0101fdce350e48a4a79754477478b6c345bdd66bd63be53a10fe6e613b89028d4ebb03d48e85284d5a1caca7f128690765e91968e01420f5fbc08ce48 DIST OpenJDK8U-jdk_arm_linux_hotspot_8u332b09.tar.gz 98261468 BLAKE2B 7fe2b5c6178af88ebf390352f67acca7216af23d6015beb8e94215d1af82b41c2b8e8790c00b5fbf363837a98ddb051a6ebede5fe78f471f09331c1014bd85ec SHA512 17c9bdc892dc479bd7c5bef2ab3a6637cc499e1c257d6ddd541e7f372d6737d644920538e0c39e8aa7c905f0f1172429cc171d608bd337e872be7b399733b25e +DIST OpenJDK8U-jdk_arm_linux_hotspot_8u345b01.tar.gz 98273349 BLAKE2B 71556f01bcd6f513af963fc9c9b2269460faa9f23ad85429fefddc169038aa1c98fb505184aa216f08b96a31d5d8e10d831ef65d7f9dba9499783eafca08b824 SHA512 8e9a5155cd8f769c25b79863ccfa8956cfd252278eca7f105d7179cca9ec2035580d959a5662aa263d852699000478344fab816301a809961cb2d1d5ccaed758 DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u332b09.tar.gz 100484069 BLAKE2B 7e3b0186947f19094d88140304e756b7b2728560299f330c84ed8f9ac77c40fb046c2731d22c5d30e5d2837b878caccb19e8f1174f272c2fb29905db15500640 SHA512 adcfa446254c7de8b80f040e7f9960625c0314dabc8b457dee9d95216050f9aedc0c59528c29f7f1bc950c3ed0b713f3234dd9f9fb2a5bab7e706dbdb2eef42d +DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u345b01.tar.gz 100474631 BLAKE2B 32c98c9b0c97b427b880589c26002fa67f90980b099090a8b43a0c4b3d71319617126b55da7102abe9d15b0b3569fdd7f4288936607258a278fe805e875d469e SHA512 37501b2c3ebe224404c34a847ed643a95ebf85aa6b8412bc3405ff3afdbecb9a69b2324b774d96d9cb5ba44170d84f6ac0026ea66c1074c13ef06c330952c9fb DIST OpenJDK8U-jdk_x64_linux_hotspot_8u332b09.tar.gz 102918585 BLAKE2B 55d7ef116ee28f37ab1a96cb8ffe021d1784b208ad248e78d6f0a7f22429364364e00ef17fe6159fac2fde6a0765a20125db6ce17694992dbc9e3b3e054adddf SHA512 9f387fb8b872b65fc6a545151c185b9ad1aaac7ad7cffac4d2b936dedbca116a7d74e56754353ffa4caed394497ca659852f0e5e3803ead10f8fa95d562e28a8 +DIST OpenJDK8U-jdk_x64_linux_hotspot_8u345b01.tar.gz 102925260 BLAKE2B ce4e79c98f5f3b2119fafd0ad43ca64bc823ff9adf20cd76e4e8c0de34ddc11cce7311d0ffc1cdcaab70632b3c18dca5b57c916a01230b22fcc74c4e8e08e3c9 SHA512 92bafba262a269ec3be7d83d8ca36468ad69d850d44b373c04c92a14c74a9aa89314f2aa68a6565c41b302c60fb8d19f1cf0f3075924a497e8be05e8a08ce95d DIST OpenJDK8U-jdk_x64_mac_hotspot_8u332b09.tar.gz 107924497 BLAKE2B f1f283b33f2e81a15f6ba01b7c2c63093b8a12dd0c9853ff9a2cea8d5352b6994266e8653135574f59a24da7294e602c5dd2fb3524065aa53e21b8313d3b0d33 SHA512 c7474e6a81d9e44e7c48388917de87733bfcb13c99a6d253ba180ac8b826ec79f1871d57dcc3e2edb4929f2687541156770c7568162a95389cdf1606d8e65397 +DIST OpenJDK8U-jdk_x64_mac_hotspot_8u345b01.tar.gz 107934646 BLAKE2B 766fc30b428283a5c4bebad76043e0d6fbdc31c747a09ce4f9440ef1493b4127dd7c0a9d0bf04ca0a6fe9215556224d157355b7cf14e685ed3791b6ca5d226fc SHA512 3a70f6587c858b675adce10063197fa97683157b4e3506dcae2649edeffe32ff8914bddee63a6856c3390c91f97fb79a11ed799f95a73526f48fb96cb92be26b diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild new file mode 100644 index 000000000000..1e11ae065419 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-11.0.16.1_p1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2022 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 arm) + $(abi_uri aarch64 arm64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri ppc64le ppc64) + $(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-bin/openjdk-bin-17.0.4.1_p1.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild new file mode 100644 index 000000000000..10cf917bc189 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-17.0.4.1_p1.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2022 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 x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri aarch64 arm64-macos) + $(abi_uri ppc64le ppc64) + $(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-bin/openjdk-bin-8.345_p01.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild new file mode 100644 index 000000000000..7834a4a17075 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-8.345_p01.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + local os=linux + case ${2} in + *-macos) os=mac ;; + *-solaris) os=solaris ;; + esac + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jdk_${1}_${os}_hotspot_${3-${MY_PV/-/}}.tar.gz + )" +} + +# they have different tarball names for different arches... +# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_x64_linux_hotspot_8u282b08.tar.gz +# https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u282-b08/OpenJDK8U-jdk_aarch64_linux_hotspot_jdk8u282-b08.tar.gz + +MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b}) +SLOT=$(ver_cut 1) + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +SRC_URI=" + $(abi_uri arm) + $(abi_uri aarch64 arm64) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 x64-macos) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos" + +IUSE="alsa cups examples headless-awt selinux source" + +RDEPEND=" + >=sys-apps/baselayout-java-0.1.0-r1 + kernel_linux? ( + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >=sys-libs/glibc-2.2.5:* + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + arm? ( dev-libs/libffi-compat:6 ) + 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 strip" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk${MY_PV}" + +src_unpack() { + default + # 753575 + if use arm; then + mv -v "${S}"* "${S}" || die + elif [[ ${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#/}" + + rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die + + # 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 + # this does not exist on arm64 hence -f + rm -fv jre/lib/*/libfreetype.so* || die + + if ! use alsa ; then + rm -v jre/lib/*/libjsoundalsa.so* || die + fi + + if ! use examples ; then + rm -vr sample || die + fi + + if use headless-awt ; then + rm -fvr {,jre/}lib/*/lib*{[jx]awt,splashscreen}* \ + {,jre/}bin/policytool bin/appletviewer || die + fi + fi + + if ! use source ; then + rm -v src.zip || die + fi + + rm -v jre/lib/security/cacerts || die + dosym ../../../../../etc/ssl/certs/java/cacerts \ + "${dest}"/jre/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + # provide stable symlink + dosym "${P}" "/opt/${PN}-${SLOT}" + + java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} diff --git a/dev-java/openjdk-jre-bin/Manifest b/dev-java/openjdk-jre-bin/Manifest index 37434dfb74dc..827378b56a02 100644 --- a/dev-java/openjdk-jre-bin/Manifest +++ b/dev-java/openjdk-jre-bin/Manifest @@ -1,5 +1,8 @@ DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.14_9.tar.gz 42435138 BLAKE2B 0f972a78221b74be4b8c87845f52d331eb6caf84eef06d291d0cd25ce4357b7072f938fd0390a9c54647d4ddcfe4c0184ddf84583e017e1bf78338b7939437bc SHA512 9ee64498d83d16cefc5a155393d9477bb78338d43a3b4b1699f4358644415a6be5601f7b2a87a82f2a95cafd6485b6db7b30bd0d21096110211b942e95deed64 DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.15_10.tar.gz 42471028 BLAKE2B a88fa041ffdcedabbcdadbb1eb4a0052456666ba779eb0f82bc27ea7f2923a1b2e538d14d5f615869e456b1bce48859211134c6bd9d31c2c082068686b68fd59 SHA512 a8a8a9c9f243aaf9b051bd0c35009ec96a28dcf47b53139dd59891a5ff2ced590e56961edb093cf67b8239d92a4b407f631b389fdff986fdb746316f420abf34 +DIST OpenJDK11U-jre_x64_linux_hotspot_11.0.16.1_1.tar.gz 42705612 BLAKE2B 02b0239a613f0738c7980105cd8595c0bbf456ba13f669dd11071313260d1fdbe1bc0c91e9fc9252cb04078ec7da36fdb4cf8a3408d1afdb7298f88bb75a75d8 SHA512 21af841b9e14ea32e13dd45fb2e693c0dfcbf65e99ebaaee44f14188c8b30c2cd76de816dc184b7bc9f376b26ab6bb9741be84f37bb99bec4dc381aa7ce9ada9 DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.3_7.tar.gz 45971131 BLAKE2B dc8a358b10b0d3a6fac60f340ee5224c348aa4b2683e5f7b3396eaca180a12212260d45b8347b472f80671ef86a91f764727897146e4d36bc08b24c7920635fa SHA512 27da884a807c980386b7295f7ea5e253c03b497eff6e21e0cb35ea050552eaf9a3f71060cbd1a2f0cd6069a55ae00b43e46edcf09ab36c142587ea2ab781ad14 +DIST OpenJDK17U-jre_x64_linux_hotspot_17.0.4.1_1.tar.gz 45941557 BLAKE2B 877a194672bfb950203d466191c1c220fffcca86559c0179c573e85152b9e63d253891989ed825181f3e034dd9d6f5cfba10986cf1c019e7faf73ad9a89bee48 SHA512 0bea14d42df99771e8e02f705f9233fc666904667607ca66e47be57fb09131b0a9d70b7bd4cc5b322805cc09cb14ad711db60348e9d17f9714884006185a928c DIST OpenJDK8U-jre_x64_linux_hotspot_8u322b06.tar.gz 41317897 BLAKE2B b96b39d4b3f7fe54f9b04698d4f24879ce617e61ade298b7de1472cb85fbf7d5f297f009c0e881a17bcdaf9baaf3187acef531b0ace97a1f2ab099811995c815 SHA512 4a3acc1330056011f0097aaca77858779e2c89d214598ef66736956984204b8de804549e42c51f8392806753f3d534d34ad93ef6df9f2f45a369e04f6a0694ac DIST OpenJDK8U-jre_x64_linux_hotspot_8u332b09.tar.gz 41336220 BLAKE2B 52eb9aa2623335bca7be71d1aca6b4292a029554ef9f9e0e1209a7fa0892931c37b670f9f90586d4ff3cd35540a3a7cb230f20789481836d20f04d4cfcc56596 SHA512 c62002aa1a28547b0b0cefea3f83af2cf6507002bf296b1b83bd04406f4c362f4c74940209ebbd3803513395bec7503882aac7f8d35dcbf6a6e02e9155a53cdd +DIST OpenJDK8U-jre_x64_linux_hotspot_8u345b01.tar.gz 41336188 BLAKE2B 05c1ff3f0561410dafb88f1ce1486decbe56f528cebde4f5d05d589e5a7c706e84bf23f89cda68b19212dbd9b109546a7b78b407a8453c9f040b9e95f5f9c35f SHA512 15cb0be04c9a516476405107fc472470b4576b3893aca8f926b8f007fcb21b6eba1d87a52a806ec698cb3a8b17bae8f557445e9201be2f2d7246a67e28df0be4 diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild new file mode 100644 index 000000000000..43ec32db6c4d --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-11.0.16.1_p1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptopenjdk.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + 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}-jre" + +src_install() { + local dest="/opt/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + # 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 + + # 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 + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + 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-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild new file mode 100644 index 000000000000..43ec32db6c4d --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-17.0.4.1_p1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jre_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz + )" +} + +MY_PV=${PV/_p/+} +SLOT=${MY_PV%%[.+]*} + +SRC_URI=" + $(abi_uri x64 amd64) +" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptopenjdk.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + 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}-jre" + +src_install() { + local dest="/opt/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + # 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 + + # 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 + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + 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-jre-bin/openjdk-jre-bin-8.345_p01.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild new file mode 100644 index 000000000000..d4b6279fcfac --- /dev/null +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.345_p01.ebuild @@ -0,0 +1,82 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +abi_uri() { + echo "${2-$1}? ( + https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk${MY_PV}/OpenJDK8U-jre_${1}_linux_hotspot_${MY_PV/-/}.tar.gz + )" +} + +MY_PV=$(ver_rs 1 'u' 2 '-' ${PV//p/b}) +SLOT="$(ver_cut 1)" + +DESCRIPTION="Prebuilt Java JRE binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +SRC_URI=" + $(abi_uri x64 amd64) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64" + +IUSE="alsa cups headless-awt selinux" + +RDEPEND=" + media-libs/fontconfig:1.0 + media-libs/freetype:2 + >net-libs/libnet-1.1 + >=sys-apps/baselayout-java-0.1.0-r1 + >=sys-libs/glibc-2.2.5:* + 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}-jre" + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + + rm ASSEMBLY_EXCEPTION LICENSE THIRD_PARTY_README || die + + # this does not exist on arm64 hence -f + rm -fv lib/*/libfreetype.so* || die + + if ! use alsa ; then + rm -v lib/*/libjsoundalsa.so* || die + fi + + if use headless-awt ; then + rm -fvr lib/*/lib*{[jx]awt,splashscreen}* \ + bin/policytool || 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}-${SLOT}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index bb7a8df0dd47..79aa1cf45ea3 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -1,10 +1,12 @@ DIST openjdk-11.0.14-riscv.patch.xz 279088 BLAKE2B f67cf5707246b22285de8217b68fb806e3c18b7289cb81428c0fe83c5a4dcd60233be10aaca0853ffb00ac24fa60cae1b1d60ed300ad6bff8b07e881bddf8650 SHA512 32bac5f0c0f5df883de344718586bf798db6c8a5738058ea5d4902f5a0a3fc841c1893dec3379a74b9468c1c37af5c31a3e296476549972d3f1305401354060d DIST openjdk-11.0.15_p10.tar.gz 122902351 BLAKE2B a2dabad415a92765d548b19261e22e2cd483a17b478c8ef98342b44e88b39b23d89d31aecc80f93b27fce8df50ba41f4e6e5f10b66035bbfc1e0c03fc4707a40 SHA512 9d9e631046769d3ad95229172f392649ef4162161eb2d6fa7371665619600a04db440e1b3d30c580e283ad2b6bd7580d1199fc854fad3cb962d79f18b2347c67 +DIST openjdk-11.0.16.1_p1.tar.gz 123134756 BLAKE2B 727294bb9d07193bb74b01a3e3e35f491b54be4cf3b6230e59df56ea7a9166b0b138f82b3d3c302c32b21efa8e9ac71437ca430a68a9ad8b69a7755d289bde17 SHA512 c694a8e6b0ff664b2c6a43ef3445d98e3b4ddf59c7fe94a21390b2d7756870ea7c7e34cb99d40bd66708ecaee93ffeb4dfc9ab7e2162bd6fc19479f23963560d DIST openjdk-17.0.3-riscv.patch.xz 296268 BLAKE2B 9b2036493a485a1e245230488a5985af4f5d5c6a85912d73d8a712742fdfc26d5eb08ca8e69dac04f0d516fb361e6ed057c95a3839b04639d129581cf00f0620 SHA512 692b5e39e5c6eb1222f25c3012e9a73366d9c98f5c29c2f2d35f41991cdcb026a644398b6f3fdd8c9d8368b4b1f5dc4d89b3dbd594a2e7751de96a140551d445 DIST openjdk-17.0.3_p7.tar.gz 104797560 BLAKE2B 025ff6be360c74288990622bce31769e5780f3f326b0eed2b78a776cc4df8bdf8cb99dfb0d7dd3f03f8558ca9a66acc5c5bd04b227ba4dffe18f8586a287b74b SHA512 3bebaaf0469cd6558a3f033b768005e880ec95d5bb2a24b8929d2f6a05f18ca9977b291ad49b220a904f661cf6b47780a1cfd776109ed11d4e34d5345be8f66c -DIST openjdk-17.0.4.1.tar.gz 104917916 BLAKE2B f01101aa5c1fa17ab92134d2d238df266a734ad0d523e0030853b4386c9e021364e1a98644a8f6fd075f42dff1ff2b0d2a0b958c6d99c10c4250043bee36f6a3 SHA512 5b134a93addf17bb9c91e7ea69e25a9db4dbdc27760de3a128e48b20bbfb004722851c27cea4f9d83e3fdab929e89af09cf7879b1d87334cffe600b12ee53150 -DIST openjdk-17.0.5_pre5.tar.gz 105040319 BLAKE2B 658df2630e1938d7787031e498474c347a10770a133d4d8234cb7450777264c07441ca56a1b09f368b837a182627d3a104848aa5e521d95b1b58e1f21f4645b1 SHA512 19b2466339db697a8564e44423878b5c5ed310478bf56aa7ace90d34458912c5f544fcea2c31eaba559c2fff33f818745e8160376eae8f6c3c694090aed7de09 +DIST openjdk-17.0.4.1_p1.tar.gz 104892822 BLAKE2B e5c4ae7e59b7f078c3927ca74cdff4fe1f378da874eca45a7655fa7419c9abac6b9f81632c104614b7f1d6c20fbc5ee7f4b0a8e2aaef39a66f31377543e926de SHA512 33396f9d8101db605aac0b064d518a800194421b211f0d903d681968beab58540367e53293fa26d4751e4bd1f459a0d07bb08b2010ac64ea5438717ea1517f76 +DIST openjdk-17.0.5_p5.tar.gz 105040319 BLAKE2B 658df2630e1938d7787031e498474c347a10770a133d4d8234cb7450777264c07441ca56a1b09f368b837a182627d3a104848aa5e521d95b1b58e1f21f4645b1 SHA512 19b2466339db697a8564e44423878b5c5ed310478bf56aa7ace90d34458912c5f544fcea2c31eaba559c2fff33f818745e8160376eae8f6c3c694090aed7de09 DIST openjdk-8.332_p09.tar.gz 88130953 BLAKE2B 9c7419851588dfbca92610f8fbb8b74fa7516282f82e8c7c37af88c776ba0c83a22fb3d4a1c2c2b98d44e394025217d095cff9c79fba53f9c5a32a43eb91ad70 SHA512 f6a717f77cc0e85bc2eb3c3c599d09e06a4004e4987a2caf0773b1197336722469e2abcca9d39c1f4c534d15cd77408d6405c9ee6edb3815bccd8e4872571aaa +DIST openjdk-8.345_p01.tar.gz 88173976 BLAKE2B f0eca11f4fcb532a8fd156a74ff6629ea2d948c5d29d9b9638b526c57598618f5c3782ace26654be61f8d9ab229f44aa46112234c2d2e8a9bdc367c1071b6e53 SHA512 bb01156f751a0ba25290d1337356f9dd78121373220e2e2df07a4536e2ab31390865ab63d628901de7983d1679dd6dfd4bc3c6304911e6c76fe4c616bdf07eab DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e DIST openjdk-bootstrap-11.0.13_p8-x86.tar.xz 105420236 BLAKE2B d3137ad497937a9a04dedf38776f3ac45bf3b115d275991fd8582b72ade48390b6aa8ad89e0b4d34fa6a787a3c413dab20b32ef347dc8733544e810150c55d29 SHA512 f71a7ef8fbf19b0595dd7d4ebe52bbe1c95b8c17f34d092472c5f5ce8caf52a053f22db8587f1649f9a96ad01c0c632be343342812f5a8cc4ff843b33b8d9b0f DIST openjdk-bootstrap-11.0.14_p9-riscv.tar.xz 104601676 BLAKE2B 5f976e8a626a829fae70ad6c007f10bfeff79e29c85d6c75fb2f5ff8984fd2a2bd44ee6e07958dbbdaaed761c6839d375e1b5ba6cffc63b02ad9e2c9178310db SHA512 580dec81626553fe3e7afd0f6385a733ba80a0502cf0f9e8bdc973048887290c9ab6171267d61d8838c4ece4de58c9ca8b78540bd52b1757495a27175057ec64 diff --git a/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild b/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild index ef15a142fec5..feaa4c78cbc9 100644 --- a/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild +++ b/dev-java/openjdk/openjdk-11.0.15_p10-r1.ebuild @@ -5,6 +5,12 @@ 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" diff --git a/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild b/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild new file mode 100644 index 000000000000..055cb96bc4a9 --- /dev/null +++ b/dev-java/openjdk/openjdk-11.0.16.1_p1.ebuild @@ -0,0 +1,300 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# 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.14-riscv.patch.xz ) +" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-util/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)] + dev-java/openjdk:${SLOT}[gentoo-vm(+)] + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + if use system-bootstrap; then + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + fi +} + +src_prepare() { + use riscv && eapply "${WORKDIR}"/openjdk-11.0.14-riscv.patch + default + chmod +x configure || die +} + +src_configure() { + if ! use system-bootstrap; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + fi + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # Work around -fno-common ( GCC10 default ), bug #713180 + append-flags -fcommon + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + ! use riscv && myconf+=( --with-jvm-features=shenandoahgc ) + + if use javafx; then + # this is not useful for users, just for upstream developers + # build system compares mesa version in md file + # https://bugs.gentoo.org/822612 + export LEGAL_EXCLUDES=mesa3d.md + + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 #nowarn +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild index c79922b35711..9f355b7b9030 100644 --- a/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild +++ b/dev-java/openjdk/openjdk-17.0.3_p7-r1.ebuild @@ -26,6 +26,12 @@ bootstrap_uri() { 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/+}" SLOT="$(ver_cut 1)" diff --git a/dev-java/openjdk/openjdk-17.0.4.1.ebuild b/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild index 5219b95c61ad..2ed126279a79 100644 --- a/dev-java/openjdk/openjdk-17.0.4.1.ebuild +++ b/dev-java/openjdk/openjdk-17.0.4.1_p1.ebuild @@ -26,7 +26,14 @@ bootstrap_uri() { echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" } -MY_PV="${PV//_pre/+}-ga" +# 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/+}" + SLOT="$(ver_cut 1)" DESCRIPTION="Open source implementation of the Java programming language" @@ -46,7 +53,7 @@ SRC_URI=" LICENSE="GPL-2" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" REQUIRED_USE=" javafx? ( alsa !headless-awt ) @@ -212,7 +219,7 @@ src_configure() { --with-vendor-version-string="${PVR}" --with-version-pre="" --with-version-string="${PV%_p*}" - --with-version-build="${SLOT}" + --with-version-build="${PV#*_p}" --with-zlib="${XPAK_BOOTSTRAP:-system}" --enable-dtrace=$(usex systemtap yes no) --enable-headless-only=$(usex headless-awt yes no) @@ -293,7 +300,7 @@ src_install() { einfo "Creating the Class Data Sharing archives and disabling usage tracking" "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die - use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_install-env "${FILESDIR}"/${PN}.env.sh java-vm_revdep-mask java-vm_sandbox-predict /dev/random /proc/self/coredump_filter diff --git a/dev-java/openjdk/openjdk-17.0.5_pre5.ebuild b/dev-java/openjdk/openjdk-17.0.5_p5.ebuild index daf4447e9d86..191467d5a34c 100644 --- a/dev-java/openjdk/openjdk-17.0.5_pre5.ebuild +++ b/dev-java/openjdk/openjdk-17.0.5_p5.ebuild @@ -26,7 +26,13 @@ bootstrap_uri() { echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" } -MY_PV="${PV//_pre/+}" +# 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/+}" SLOT="$(ver_cut 1)" DESCRIPTION="Open source implementation of the Java programming language" @@ -46,7 +52,7 @@ SRC_URI=" LICENSE="GPL-2" KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="alsa big-endian cups debug doc examples +gentoo-vm headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap selinux source system-bootstrap systemtap" REQUIRED_USE=" javafx? ( alsa !headless-awt ) @@ -210,7 +216,7 @@ src_configure() { --with-vendor-version-string="${PVR}" --with-version-pre="" --with-version-string="${PV%_p*}" - --with-version-build="${SLOT}" + --with-version-build="${PV#*_p}" --with-zlib="${XPAK_BOOTSTRAP:-system}" --enable-dtrace=$(usex systemtap yes no) --enable-headless-only=$(usex headless-awt yes no) @@ -291,7 +297,7 @@ src_install() { einfo "Creating the Class Data Sharing archives and disabling usage tracking" "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die - use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_install-env "${FILESDIR}"/${PN}.env.sh java-vm_revdep-mask java-vm_sandbox-predict /dev/random /proc/self/coredump_filter diff --git a/dev-java/openjdk/openjdk-8.332_p09.ebuild b/dev-java/openjdk/openjdk-8.332_p09.ebuild index 2ddd4bb724fa..e2f8f421b145 100644 --- a/dev-java/openjdk/openjdk-8.332_p09.ebuild +++ b/dev-java/openjdk/openjdk-8.332_p09.ebuild @@ -5,9 +5,14 @@ EAPI=7 inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs -# we need latest -ga tag from git, but want to keep build number as well -# as _p component of the gentoo version string. - +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)" SLOT="${PV%%[.+]*}" diff --git a/dev-java/openjdk/openjdk-8.345_p01.ebuild b/dev-java/openjdk/openjdk-8.345_p01.ebuild new file mode 100644 index 000000000000..0981ff23ed4e --- /dev/null +++ b/dev-java/openjdk/openjdk-8.345_p01.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly +MY_PV="$(ver_rs 1 'u' 2 '-' ${PV%_p*}-ga)" +SLOT="${PV%%[.+]*}" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI="https://github.com/openjdk/jdk${SLOT}u/archive/refs/tags/jdk${MY_PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap selinux source" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + sys-libs/zlib +" +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + virtual/pkgconfig + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/icedtea-bin:${SLOT} + dev-java/openjdk:${SLOT} + dev-java/icedtea:${SLOT} + ) +" + +BDEPEND=" + virtual/pkgconfig +" + +PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )" + +S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}" + +PATCHES=( "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" ) + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + java-vm-2_pkg_setup + java-pkg-2_pkg_setup +} + +src_prepare() { + default + + # new warnings in new gcc https://bugs.gentoo.org/685426 + sed -i '/^WARNINGS_ARE_ERRORS/ s/-Werror/-Wno-error/' \ + hotspot/make/linux/makefiles/gcc.make || die + + chmod +x configure || die +} + +src_configure() { + # general build info found here: + #https://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # Work around -fno-common ( GCC10 default ), bug #706638 + append-flags -fcommon + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + tc-export_build_env CC CXX PKG_CONFIG STRIP + + local myconf=( + --disable-ccache + --disable-freetype-bundling + --disable-precompiled-headers + --enable-unlimited-crypto + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype-lib="$( $(tc-getPKG_CONFIG) --variable=libdir freetype2 )" + --with-freetype-include="$( $(tc-getPKG_CONFIG) --variable=includedir freetype2)/freetype2" + --with-giflib=system + --with-jtreg=no + --with-jobs=1 + --with-num-cores=1 + --with-update-version="$(ver_cut 2)" + --with-build-number="b$(ver_cut 4)" + --with-milestone="fcs" # magic variable that means "release version" + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-zlib=system + --with-native-debug-symbols=$(usex debug internal none) + $(usex headless-awt --disable-headful '') + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC MAKE XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + CONFIG_SHELL="${BROOT}/bin/bash" + econf "${myconf[@]}" + ) +} + +src_compile() { + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images images) + ) + emake "${myemakeargs[@]}" -j1 #nowarn +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/j2sdk-image || die + + if ! use alsa; then + rm -v jre/lib/$(get_system_arch)/libjsoundalsa.* || die + fi + + # build system does not remove that + if use headless-awt ; then + rm -fvr jre/lib/$(get_system_arch)/lib*{[jx]awt,splashscreen}* \ + {,jre/}bin/policytool bin/appletviewer || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v src.zip || die + fi + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts + + java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/docs/* + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst + einfo "JavaWebStart functionality provided by icedtea-web package" +} |
