Add openjdk versions up to 21.

This commit is contained in:
Andrius Štikonas 2023-09-24 16:18:39 +01:00
parent 4e47854c94
commit c2deff1d59
6 changed files with 1238 additions and 16 deletions

View File

@ -57,6 +57,7 @@ AUX openjdk-17.env.sh 537 BLAKE2B 404aeaf3d4df54b66193b8e09521ad2e55a23dc0603bee
AUX openjdk-7.env.sh 746 BLAKE2B b8a18bb5e2dd3c4722b78531428d4291236a6295973fdcd65c64469b3a49a520686ff8d884c0b3d5dd9017ff4027d2fc1d78d57f062a4cf8910e0bab3ed444cc SHA512 2c65d1875406deabbfadb798501de15850775a4a049f073cdfda684ca1bff4b531b93596ee91a7caf77ff6c377457093f72c7bde4b995bce9ffbc4a8fcceb6dd
AUX openjdk-8.env.sh 746 BLAKE2B b8a18bb5e2dd3c4722b78531428d4291236a6295973fdcd65c64469b3a49a520686ff8d884c0b3d5dd9017ff4027d2fc1d78d57f062a4cf8910e0bab3ed444cc SHA512 2c65d1875406deabbfadb798501de15850775a4a049f073cdfda684ca1bff4b531b93596ee91a7caf77ff6c377457093f72c7bde4b995bce9ffbc4a8fcceb6dd
AUX openjdk-9.env.sh 537 BLAKE2B 404aeaf3d4df54b66193b8e09521ad2e55a23dc0603beea9911e4c91ab96e30c0f4aa4a0e96b1982874e055af3b9923689657b58dc02b37f91163659343ed2f9 SHA512 f4a41891b0187048a21b1af43053375e62de249e3ba210c3cfd59178c9f4c667ff83f10ee85f9ae37db097e862ff7233f5136569d0cb1399dbf48cea075cfc6e
AUX openjdk.env.sh 537 BLAKE2B 404aeaf3d4df54b66193b8e09521ad2e55a23dc0603beea9911e4c91ab96e30c0f4aa4a0e96b1982874e055af3b9923689657b58dc02b37f91163659343ed2f9 SHA512 f4a41891b0187048a21b1af43053375e62de249e3ba210c3cfd59178c9f4c667ff83f10ee85f9ae37db097e862ff7233f5136569d0cb1399dbf48cea075cfc6e
AUX patches/10/aarch64_gcc_fix.patch 371 BLAKE2B 4662b97aba0022cfbf8f781425ffbf6ac68c444a468d4a8f2f70584f76c3d8ba04a65c600604e15ba2d0ace4a33b7c74ad2a060fcd6174d6212122a7b7eb2744 SHA512 f4f1bd49bb459caf62a5ef6bf96e0f7c69e8c40dec9a5413549d3b90dc29c8edf8d57e79d3810c5052253eea3d91131a94ea1ebade0f1e0b904724bae4dd5c3f
AUX patches/10/make-4.3.patch 741 BLAKE2B 6dab3601e6a6260f9813fab663211d8afe7fc08ff1af243bbd8ad90f8c58df5c713aec5cea7788eeabee9fce17e0aec5cf9b6f19becd5baf37a772773a445b36 SHA512 7d6ada121fbd7a4b29459b000fca225b3fb7d95d855459d43749d6ece60b8282418bd349cf235ccd41b86ac36b158e81f3184884883a551c240cb30dfe66fccd
AUX patches/10/pointer-comparison.patch 471 BLAKE2B 807c0970dc766d5fea54b8af1d2d0cdddfe75368bca32c6a8cb2c516db21c5e8056fce7715eb1b33ece68970ce6e0686bd061194ac2829432ad44da010767858 SHA512 48faf682eeb2d57873148d3fd948c66d20eebab360ce31352761ff5400bafbeca55a85dded04c38a0e4263d14521b4da41fd02b608b774e4d8e3784452c5c847
@ -69,6 +70,7 @@ AUX patches/9/aarch64_gcc_fix.patch 377 BLAKE2B b94336be65f16831c63cb3288d71b48c
AUX patches/9/fix-no-such-field-ipv6-error.patch 309 BLAKE2B aa76a8cf41bc902dd9175e9ae03b12343290fb021f6fde6dcd3bf07557ca78297a4b36d3383aafb2b49b5116975249f79445b4a7f94e5d28cbe266abed31794c SHA512 40fbf7ab0efb280e3d59c73efa9f2eeb75223b68457774def4620e217e275e5f993ec503e8ff449513b90d5e70109b655074fd6075430be08e35499951febd48
AUX patches/9/make-4.3.patch 740 BLAKE2B c155e808f69221c6720841c6ce9bb2fb58b413ad2864fd5b5b3e661e57796d75ac5740d2873d9222174045015c8ad96e6b3b966b3361a3a7cd164ad0968552e0 SHA512 8460dde4d40d57254f14e995090bc4255ee7662d18c19f127d56a1d12d53ec56731574a784ed5d68e89aef1133da760f30ae0982389cf1512ccab1d5f62c4b75
AUX patches/9/pointer-comparison.patch 1162 BLAKE2B 048b67bfe50d658bb0e4756b66a307fb680d0e1c6f18458eff3a666334f5d94425138ba343907247b284402f47d78a6fc85df5aa6381ad78b3d7a7e116d822c7 SHA512 8d92d8be4a3a0227d602b99e581f05a16f54ad633111abf3355bd933db344c726e22e285b33f936d6e70c7da9087bc113477aba78554f37b273a70e784aaca5a
DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6bbdf68dd74b2f996b70e0ecdd2b87bc4a02394f67ded5e664efb41f8dd03bb312fbfcffd84c289afdcbf7868de SHA512 06230b121e1f28189877025a4eab99e6d8cba176a17c88f073498fec6c73ab26130ce1500ea4f83235cc6abbc1742e47b227d60b5ff77465740048abdc52d165
DIST jdk-10.0.2+13.tar.bz2 88365048 BLAKE2B f898a0976cff12cca439ccdba2bf7eff7fcbc5f00709fa41302fd781819a44165fa864d5e551023c507ad18dc957abd24b15744fc6dc5304ee1a26bd4cb8cb86 SHA512 7491da11d5e0013db75d33e09be7a91ac0dbcde6282541a39fe471fd5368d49b15403bc7508b330ca60210b3ca02730743ba280657283a231853f6882a3ca74d
DIST openjdk-11.0.9_p11.tar.bz2 91638327 BLAKE2B a04b7fb5ebde3b6c024e5f3931a2efe796e08ad66c0190cddfa4268d5181f46f24685d9d51ae328547916e8ece723967bf653feeac87347ee14ecbe213ad657a SHA512 a0a6726d5adbe95904b78d8b4319bc4386c594a563f80f63d59072cf72d00928b451163b91258b44193a80851400ce8b8d142fecfd2bd902ff7a5e47cb4a9976
DIST openjdk-12.0.2_p01.tar.bz2 83912905 BLAKE2B cf81872dc9a68758bd46a0c486893321461323872d204028b84c36fdd8f9de54c88bb70d4f0c50b7370f589a424852e74a383dea71e17c227ac740283dd933e4 SHA512 53c66ae9bdc6aa47b05f57845d696edf55c5e5eeb6c7dd6cd46b9a0cfad9864db846ac88e00aefbc86ff9ffa77ab9bcf9cf3c73b7f3b797ad68d9e8609438dd9
@ -77,29 +79,33 @@ DIST openjdk-14.0.2_p01.tar.bz2 83827689 BLAKE2B acd8a61156800941781a2f4c2d3acc6
DIST openjdk-15.0.0_p36.tar.gz 101812870 BLAKE2B 1028ab04825941452b603998f05e2a7e419931979a19855f6ea6c1578c331704ac19ae77043a4f44b2f5d9d481b9a9eaad6c3e3eec9154789d54980ba0295bb7 SHA512 c08d2818de06569278b67954556221ed7c6ab6848ffc57823b789f370ebdd332d2803979a5a254e8f9f669ea161bb479f66ad4e1490b37889d38233b6cca4357
DIST openjdk-16.0.0_p36.tar.gz 104327489 BLAKE2B 7d20f72000155829cf5c36c430bde5ce7d22000b363583da25de9bc7b070b601141ad49b11f3505a344baea36ea846936e148e80c1fadf6e4ace53582f92480c SHA512 082d8a7fdc3f096fdc843869af7d43aa1eb9ac6b0538fbb5f8a0f4d942051a90e49932b30f3d2c3620845fb98373097e509a8432d16f1d44742f44286dccb46d
DIST openjdk-17.0.0_p35.tar.gz 104595247 BLAKE2B e5cefa2d5f00757ca2ff88fe8ebfa268d8bfd74c9046349b6298c5a73bd98212ff7c38157d23b1c83dd2ef86fdc8a297425a2fe66b3f88f6081c6464e4085465 SHA512 0323909edbddc8e889a0daa226e184a6f8474ecd6917f97eadf0752475b99f15cbdca75220f96fd1d4b98b31660d7b5bb518c8a91efed15bdfba4faacd4e74ca
DIST openjdk-8.272_p10.tar.bz2 457222 BLAKE2B 51e487d36c1922c5fc04d8922f1000a776e4872142517933ef5e8d5fd825f221fa02325bd755bf3f48f7f3221a2da3ca182301fb303675cb7d712d7b2f1c7751 SHA512 488b7fa0ed725936d483efd54242dbf4409752c685f29277023fb47c4375b5700b34e743d819d7d7c2406a2f8845d1c3d4fc548c156b6c7c30e43574c1b51527
DIST openjdk-18.0.2_p05.tar.gz 105481285 BLAKE2B afa72940dd0a90b4c71465f540b94d3409d3f1f4b6b1b98f1c0afb9f196b327bdbe780348276b8dd381bb9edf9fe6b3cf2edaac3c364f981e181e145a9789132 SHA512 2ceac9ed85a65725615caa769e92eea89a12e52e424b3aae45d6b4a152126296f7746d43a9185ced69c9c9ec1e1528c306f26a057b430640bdfdafe423a8c842
DIST openjdk-19.0.2_p07.tar.gz 108190694 BLAKE2B e45ab5339240ae965f780b931895473020f10d86f76bbb65897df9c24a49b75da3de552adecb7d82440931cc2e0a300e49003d57082bc643fad0717eb9256b9b SHA512 55a9c421ddc676a870effd2ea691057af8b2a9dcaed63c350f8ec59bbe403b0a7ebe303aca876666560050875a15f6cdb51bb144daf5bb441fad935ef4ee8cda
DIST openjdk-20.0.2_p09.tar.gz 109625812 BLAKE2B ea3e9e306c2a5e1593977095db7c775d2925b5daa088e940cb2cdfb6c386878f0004cb7c2cd63ee0097286c19abbf3041ff8e70af526f9389217379aa397509a SHA512 77b46f43318288c7923cc63522410872df5b191af1ecd65d9fe0cb587be18bfdb370c7859476356f2e4ed5ed6d9c099542d7dca3fb948bed3a9674f95ba63237
DIST openjdk-21.0.0_p35.tar.gz 112178860 BLAKE2B 03a81df4c2e16194c66299109e70a61093eec6885b615d8a1a4bff34139474876a290889b46f51065f473a5b0ab37aff1c1cf166d067f0dca16096fe67d06aae SHA512 97800cf55dc03fb1baa8da65ed5d991033c0023d4e9ada65ea79ebc2b2cb691add8e093b18efea238a95dab47daff21fcf29cca993fa7d11516ece72478383c8
DIST openjdk-8.272_p10.tar.bz2 457494 BLAKE2B 231a6c3175d84b0177f9664fe3c6af339f4897c45c217a0f7a37693c56af309724fab85403fb9eee4816ed33ea3ca869490ba4134c84ddcbe4ae944e9537c4b7 SHA512 10af386f05cffeb1be096ec4d01d3522a7b3530e21bc1c6291f75ba3759dcefb340de04ac180455fcca7a703755fe61f65220c23e74ce39cc7bbe79a00bd0741
DIST openjdk-9.0.4_p12.tar.bz2 823756 BLAKE2B f1b457655520b983597b15254323abdb0c39feaff78ce36d88ef556a086d9f9333ceddec63d945ca28bb06f4a06c2bc1344051ac2c1df55a01728016ff7255c1 SHA512 cef3655ae7db657e6c81aa86587e451e58896bb6ee786495f6d757096334435b6a4de26ec3ec927da2487e135f09ce26414f8d6b9b9c508a28d3087be286b1ec
DIST openjdk-aarch64-shenandoah-8.272_p10.tar.bz2 462755 BLAKE2B abeabf704d2135da9df6746545209f5a658ec547be5852041bb9bd1dfc4546cef143541df61b4705b6d2181ae7ec91a8c64e2b27347c24d146da49bbf8c228ef SHA512 7cae0cf80e09e1d2ad3eef8bf6740942788d0af4d3c9821bb0785ea42d4b38319d0ec57a8d21add25a40eebdc5ecba8234c9f04e6922e87c80480f71b04e2e3d
DIST openjdk-aarch64-shenandoah-corba-8.272_p10.tar.bz2 1052989 BLAKE2B 8d6f79758ccf1719396fb56fd47c258c2440beea79516025b4911027a59b6cf4b5826c5eb01ba3a4c45847915531989c74665cbedf6349541df38732e7b828de SHA512 12547c8b5f1fe4efcc58f5b148977d519c954b964e814fc3fce717bd6d6221c2e7eda98a0e1e8157ed2f509f3b89e1e7b529da81cd1ee768daf4ad6369c57e8b
DIST openjdk-aarch64-shenandoah-hotspot-8.272_p10.tar.bz2 8767088 BLAKE2B 85b2dcbd696c58db72a7aeb4dc9a4752d742ed90bfd2e06ce5ddd8ed4ec5c63ab2de40a41aab5747fa120d8865c1d57f02a99b27a6ebf7c68c0891e19f5a7f27 SHA512 7866495487b271228f1a2d95cecfa6b76bb912d8c1c63d3d92e7b2cda88dd151b3b6c4c3bc717e37a0bd972762620ae7fb456c1aee281772a145a1dd1b11758b
DIST openjdk-aarch64-shenandoah-jaxp-8.272_p10.tar.bz2 2718084 BLAKE2B 1e6cc999d84a49c03731a2a2ca73dfe684940509a64199ad52571ef51b3da035e41b41bf262ea88af9f77418c7b1b5721724d86f67a5f737e53eaf3673f4eab8 SHA512 a73e5a4628c936cf9b19082ad49ed2134984d15a1165c45206c74dff45118c50922fd0a668efe93a46c3839775ec567d56eee19cd0e3a9f90e7995d1b6a42f11
DIST openjdk-aarch64-shenandoah-jaxws-8.272_p10.tar.bz2 2558262 BLAKE2B 3b00ca162f3b758ee65090011551f074f7675f499f179ae0d4c8c62b1d70c942d7d2082d48e84cece6cd2be7ea319c1707fc6239e82fd5e79297f796838688e4 SHA512 d64a15cf35df014c4dca2edddea2015905bafe252d3d2bdfd1bc8f72683ac827e5d0347e36d5d94cda354b31a6b0782017b1cea6571443e073caf9f26c7bebda
DIST openjdk-aarch64-shenandoah-jdk-8.272_p10.tar.bz2 48370921 BLAKE2B 98026a28463ce3f520feab2b146830bf91acdccac5aa28488ffdbe4328b9a2cbbc17e95eeb36a60364cab470eeb26efcfa06a588e1bebcb6e978821459536feb SHA512 1bc5baa799282a2d7c0014d2cf55b350c7d99dbd129643d2cfeadebd467b2f6f9a8b8a97d34f66c656103db3ee3d5a57d6ff57dc45bc655258dd5093506d89b5
DIST openjdk-aarch64-shenandoah-langtools-8.272_p10.tar.bz2 2397200 BLAKE2B 1d985e852f07ab69e0af01a17cc3874cf903b1e3e2c4a909b7403087b3243beaf57a1e9b7792b52469a80764c7db614e3bb6ec4b43527d022219f3e79af21457 SHA512 76118b6c56481bcd3a6a709006d0d114faeef2b2a3c353e4a5ef2af5f03429dddd78d2d5951e9245fb5e41443e871e43634921825c0dbae8907f3f49fb3dea0c
DIST openjdk-aarch64-shenandoah-nashorn-jdk8.272_p10.tar.bz2 2838876 BLAKE2B 40d011a11122b2dd19349282468c756a58afbc1ff2a33424d6c4e82cde1f664e3317eb1616533b0d2bc24604c68ffd0b1b92d3271dd633f3a39aad22c84ca781 SHA512 1f50c2c1a6a5d271d63906cb1cf3e87d7b6fe61e92c90cf2974ec40e956be0e8388c2694d189c85ec7072abfd21566671498b8652c2ae9cb2021c6ec4d548f66
DIST openjdk-corba-8.272_p10.tar.bz2 1033649 BLAKE2B db9d72dabe4b1727dbbe1de01e46f62676c48668e7ec960e10643c19374a2553dee3c2b5b576f85d09b541b570756b20980e1307fc614e4b4bee9789affc650e SHA512 1426b3ce6983429fe6399da77fb102fb5d54ebf65ab83ad4e3c0ee789e33e2a0afc1bbfb7b8f942334ff9b03be0696494919c374ce1b793b179ecc43e2c4384a
DIST openjdk-aarch64-shenandoah-8.272_p10.tar.bz2 463150 BLAKE2B f4326faf4605606005f335250f621841639c4997e139d73df98d8919a6cabe833a06e9a240243c0f99ac527d3ecb31e4ce947bafde8f11704630092bfd14d136 SHA512 5a7cb52536222da187d0a05fe392c8d701739733c3c0496242ef3d3b2afc3b083a13a6148f1261f5a418f81eb32fcdb86d1c1f798a1fab62c4c2ba0fcdfe6dd0
DIST openjdk-aarch64-shenandoah-corba-8.272_p10.tar.bz2 1049711 BLAKE2B 524bc29f99d0ad40229afb5d3be4e1b798888f72ff06cac9f5df2a27c9a39b8ae0d4a3417b1651d514ed22f463df358c21679595697d1e81ce117a569c6d3a42 SHA512 6fb6c88addcf853dfea0661610e52362edf54797ad9859fdb1303b6e422b35d10b42dbaa2875654f6b33b07a468f78b6da23804fc82f822493df672165df69a5
DIST openjdk-aarch64-shenandoah-hotspot-8.272_p10.tar.bz2 8756461 BLAKE2B 63f46a21fb52bef108ad144a9232867b6dd5d5e23f3104d437dcb560bd0af4bea17267c0cf25f83fed9689dc44ec46836676700cdffda16d7672f405e9c0d9ce SHA512 61dd41616387d5e3694e344f5473e959c91003c630a4acd52939991cd21e8cd42bdbf6b03a5a79256fd5788fa00e93c8b148725a5e5355916f547897649977c9
DIST openjdk-aarch64-shenandoah-jaxp-8.272_p10.tar.bz2 2722609 BLAKE2B 0b957315b5809e2d4da27882c76cee2b86353cd54b801be4bae825f5e0ad1205888b47522f816e31dea4cc5a75e543afc7cbcf5a99429dcc7b27b8eea9203c73 SHA512 259db471c804ed103f38e24752c920755f70704b379d6c52e5b7b20b4e11e7976faf58e2ee87ea6086c05dbbed1f7d6cec992518ae368e78a86eb9091e6df53f
DIST openjdk-aarch64-shenandoah-jaxws-8.272_p10.tar.bz2 2553476 BLAKE2B 3593e5b7d9bfaa166b915a07b18f19e92ea7513e2d8bb9ff90a1d5e239bdaddafd344eec3f1193d76de2a6c6b91b126adbcfecaeb6839da331264afd0de33327 SHA512 517bbda83869bb14f170c9ed971b7ca3e6f2cc138525d74955a58ea1a7ff60e42b102dba7ad7874c9beb23d0cd81d32090fc3a70f235b897ea832bd9ecc50999
DIST openjdk-aarch64-shenandoah-jdk-8.272_p10.tar.bz2 48355280 BLAKE2B 3e61fdd5f0c4b507abf85bd697b063652dac2fbeeccf755a9fe34a3b507d25d3a0d648404375217a8eb14e911c08321aeeeda48e41722049319337112fc9c75d SHA512 3a1f8fd04696315d612b3fda07e17b2e74bed6cf50612c9c855d617e9fe0c5e851c7e8952594bbcc8214bae1f60889509c90e1728351582edc502609d0c86499
DIST openjdk-aarch64-shenandoah-langtools-8.272_p10.tar.bz2 2399564 BLAKE2B 0c20644e35ccf56918073682cb3d2bf891a35e6be9bfdddb42ec8f095e64bf45d4946565b475e846e618002c56b17a842a25f557baef066e6270f2c589252c65 SHA512 2f3134443cfb278ede70e016dff62f84e841666d981352ab89d8a99a3b7e6d2a9d21a0e90c0cd792f32ff5abed754193aa988f1522e38d32fa984bcfdf332557
DIST openjdk-aarch64-shenandoah-nashorn-jdk8.272_p10.tar.bz2 2813709 BLAKE2B 1bb78931ddd65c377427eab2d8f23a382bf4c8d9d72a545fd0494e86ab65b2e9a031a9bc7db7d283f2b4aed4245ee30482241598c4874f59b373bcdf1234897b SHA512 3d0997ad41cd4c6ffb53efe652d92ada195e2ee9ed85cf639b15964d1047e5abee60480989d865f7918f992cf4ac9be27e089281b5d04bf27fddfe2aa9d702d0
DIST openjdk-corba-8.272_p10.tar.bz2 1035037 BLAKE2B 4020c33c13a9a085f129654832f3963b4c8d8f3588c1a54e4f0843a3d0905a229155d31709e6cb80865fd0c5e6184ff6fbbb71ae1f2d3765adfad9b958b599af SHA512 6f0ce9dd5fb35fb4fb640965871fe8ffdf41005b0eeba0c8363ee0df2e9ac443e89fbf750febf8a4335668fced04d33fbd23fb718e4a51d026b318928af8b922
DIST openjdk-corba-9.0.4_p12.tar.bz2 1002503 BLAKE2B 789664686432cee36e7e165aa4ac6e9a2ed1a1a85a961cd362d9bbdf59d7c7077b71bd2fc59e03f3e3a8cdbc4443a7e359fbfbbbaebfe29bbd220e3cafc3a298 SHA512 455998437a9e3ff538b921025d57e19e6fb5148b3f124c9c427c3604689884d81b3ce5c9dbd93d88de26bf1b43ce76d75f75afd95e473a94973a668575e41748
DIST openjdk-hotspot-8.272_p10.tar.bz2 8206390 BLAKE2B 6822635a29f919696c7a260bf7db20a749ec8598e6c751a8a5e3973c780c17f3ff16a1ed64eb44353be72136fd1ea945dc6620f18d0d876a5773c897bca8705f SHA512 48444d86bacaef503303fb160dca538546e74f7bd71fd34fc2b9faa4e0b1cf7710a6262e9ead161c1b0e8e02e8f96e56a6407d442bbfb01ff8ab835cd840d834
DIST openjdk-hotspot-8.272_p10.tar.bz2 8205314 BLAKE2B 0c04aa23f808121bc8908db9b9d577b46eb2b734e8dd749edccd2d397297504ebdbdf91979c136341a5036f91d186122232ba3d50f6b4181335054792d521b30 SHA512 8c93118614e642e378c5243f95f0e9246895642f2a187718db5e7f2fdbf7c1f04b8f9b55b01922f5ebc7a99e40eaa9c599792dd75068ef706de61f83f7054562
DIST openjdk-hotspot-9.0.4_p12.tar.bz2 11411231 BLAKE2B a21a5003266f6d8f60adaf78b109d496e46058841d0ab2c8f17256a503124b36e18908240f04fdbb16c056a1f68608f891fed1dbb9c9a0b2bb2326a303a32a4f SHA512 49d93764b13085a5626bec1c3d4e790f8748c24577a4e990e76bd1006721a5b8b9a256c40bf6419df4dda6f6390e457485f90c1b1101c010476a04d9056e9f16
DIST openjdk-jaxp-8.272_p10.tar.bz2 2692905 BLAKE2B e8fa9e6a7fd4c4ebeba82a3c55b17e4eba9cb03660baa8d478a8cfced1ab9673465faa1a0f690ebbe2634b2cf2741d7321f2c20c748339237eba7b772a2cea14 SHA512 15efb3db0dc28fd375d769037f248b3527e40d2c190fed57ca1d6a09e59aa79465c0e6516d2a122f6c7ee55f7cfeadaa76669884f74fa34b11ccfdfd76e71f6d
DIST openjdk-jaxp-8.272_p10.tar.bz2 2688209 BLAKE2B dff9849a17d66429638bd1efdbe48be52da0e16d8f3a5a378b15d7be4fd335c96ff76709cb5ad6aae408077c91b3dc0a449d75f7b2b099ba8024357048d279be SHA512 ff0ebe2a78fc5b596a98a4f28be4341216ddd725537e7f510e3c2bf1ee92eca645558e52324c5533a4d246c81f49b5bec51ebc447342a906e323326f85a64c4e
DIST openjdk-jaxp-9.0.4_p12.tar.bz2 3215994 BLAKE2B 57061280601277706ef263e19a8a8ff7eadeaa8d60edc9fe195d15669b554684f5b4132d4899d9031888f3140a6acbab8b0d7ba950d304d7e83b1e3f74253259 SHA512 82f28586fd576cc01062e2ff37a917987775838910e4a5ecdfd096abec1c8d23028b77bfc87a38ada53bc30d71d89bde7408c1ae572a43c87a71ced64fd08d3a
DIST openjdk-jaxws-8.272_p10.tar.bz2 2543199 BLAKE2B 3deae4cef17a5f3d513c1a748a72b50bacb3a0d9b6fb33e5ded121f4d209cc2eb2d59d7b7c182015811426e49eb3e2b463279fa201992c51a5c4a94a184931c9 SHA512 51c0ee76a7e0587ac9c2533d62717f24224ec8bc643df6af2e2fac89cd79cc4f228c7c57427e43f354a594568d16bb5bbf3295af9ce52717339c35b56d6c375a
DIST openjdk-jaxws-8.272_p10.tar.bz2 2537194 BLAKE2B 68545d2344fb4ffcb72772bab182030e96c1f1957ef2bba97d127a056e19779656174810361288c9467041d225ff69fd196279345436bae01802b7499dd2def3 SHA512 4d66edd0681c87d27d3262fdad8224f92a5c2af730eaeb42ae4ffe0d04c3c25811e69b87aecfadeb96242f3908cb67af4c7b6829eb700e64bd755b9da125343f
DIST openjdk-jaxws-9.0.4_p12.tar.bz2 2517916 BLAKE2B 650fbaf93349ce12ba7426e626a6c6e3468183a44f65abb16c139a4b09a2a0d91aed0f9fdfbb7fe779a335a66a003da001229e5504a60396023504ad6c1e3b90 SHA512 459978a5e3ca21910781daed848229e043eea5bd82dcd20e9249934ec97a2a982126c6e37aac1a36719e3b73a5e6c8a92a50b63033149913614d8f3edfc0846e
DIST openjdk-jdk-8.272_p10.tar.bz2 48273590 BLAKE2B 80717a644df7d9741e5786708c816483f4fea1cfeb02438df17fb4183c0702fe6e3fcbeaefcee84a4f847d5cbafb0a9e80af63b56cf0c6381e0fbeb535d2f147 SHA512 85d20763f6cda66f2eac3b2a1e672e6b828c437386575d16a1c70b27a56c718fc0f44c712e6261eb89f6dd273fd2c21a2c4baa3f562cafa2911a5e2467d7ba13
DIST openjdk-jdk-8.272_p10.tar.bz2 48349333 BLAKE2B a93284c03112e81430710093ab2c2bc7c70d2053c9a91c647ae2d41b728c6044def877d7ecb32cc3133d3643339cd88b8c3976b76b898932853b725a3f594c2c SHA512 b5198cf3c9f81599bbdb0471a463f8fc55252e18468516f92a76107b934900b0a21ee6add222ad0fced825439d728640f6c1a580011d4f93fe544b99e0979e82
DIST openjdk-jdk-9.0.4_p12.tar.bz2 55469786 BLAKE2B 92f6b30c4c23d99492ff85f61099dcbb4dd1adfc4f4a297801d26e5b0c44be76fb40d482ad0752ac3abdf1d9db0e940a2dd5ba2c5f37d658689147c8eacca26d SHA512 259228d3f439dde239e38cdebb8c3bbb83804ab141d87a9c236310707de9c58cd78cd80ceb4c17755cc1048071f24462839988112c2698f7ec1453a8810610f2
DIST openjdk-langtools-8.272_p10.tar.bz2 2399755 BLAKE2B 34ffa30993fa9f42ed2fa96ae658c3c43ecbc54750c3b854cc90efdbd3c4d5abdda012d55c4e81d4ab805d9184b5ea7429fba5927bf3192fcce2a17d9ef11744 SHA512 54698e8a74119f39971024ee165707fa9e27cd0008b59801f05a194362d723ba67269b1f34c181e2a0b1ce9cd36f52cf3ad3ad980c4670f7cfa476a0fa78fec8
DIST openjdk-langtools-8.272_p10.tar.bz2 2405037 BLAKE2B 97d3928f6b61a9196c6b267167789664c97574920f59f904633f41f0828d68e3c17fea8d2b4f9ca187a8a8d85a77eacd0235c34d1b7cae4f0d6fcdec62b35674 SHA512 a2acb72d1eede4be90217280d48cb887741d5e4fee861f7898f1f286145c904e509c40a0ca98a563929f0f181e86dd7c74b1f387d410f502e7aa4d5d3a2caf9a
DIST openjdk-langtools-9.0.4_p12.tar.bz2 4497608 BLAKE2B 382bfa6119345f1983cf5a168fa0d2e523a6dad5ad35f446cd11d6f6f24bb5850e65d1d0aab7fe8298ba7a2d7fe3ebb8a472c567a46577dff17ab80ea32abae9 SHA512 ef3c70be906a4b0dd9c9195c88da045909ee3ef144941fb7b4495ed66b4162f481095cad87626d2bd38e5a62134b440223cd008dd6123b6b43c00e338610a692
DIST openjdk-nashorn-8.272_p10.tar.bz2 2850055 BLAKE2B 2348c0f45916101d9fcb4aaa283d2c03be5b28decf12248ec930b9d726e346d0884dd64a22627e2f2fd8260c8755d0bc46a1cf6fecf691a30a7f4b54f6a293a9 SHA512 754fcdca5e0ce523d73cbdfbdcaaa13677ed8c2b72c5ae04ff1cc77fd73469f3366e51add68b13bac3c43800fecfcbb93bf4fcf7469258c4adc57e414b105ef5
DIST openjdk-nashorn-8.272_p10.tar.bz2 2879142 BLAKE2B fd60da7bb32a8791ab945bdb7c048b6d361c03387fb6c4ed3145b84a8123f51e75e327e871726fadbe52d22db9713f0c56119ff4af3e4f36bce30c3197c7a73c SHA512 c10f692cde21313f195b3d7ad193e5fdf859fde642b706f48f1b84a8275f4b695f77ca85065941351b4ef9e9bfed3b05c3463ccfa208c2eec877085360876bda
DIST openjdk-nashorn-9.0.4_p12.tar.bz2 8961760 BLAKE2B 2ff03adf87a0e0561d52529cf95b8fb827e75773462be7ecddd60dc966e1a229b897eb65a0301a531dfcaff884122e612f1a24b5d5fbc8f0352a8d84218423d7 SHA512 848c6ece418e250561572ad704baeb565580098cfc5f849d4e1a3b41b916aae3487eb4d8d0b319f3a503d122ec064ed4de0678d06821c9a2bdb09c990e589c97
EBUILD openjdk-10.0.2_p13.ebuild 8328 BLAKE2B c738c7bfa47070edc8e3aa20d238cdd251ded7e44d0fe1e138154424f56141d42e91f7e4c5c619b40cea7696b96f277b1af579a67a59a4fdb70e0474dc758a51 SHA512 3a5efdf6148c2c92068f09dd5219b90cb3bf27dedd17f653fef658dc7b47c96605b1a80fa85bf5ac1c25b69312bf56268f318a2e2c9867ae4ccb7f535757d753
EBUILD openjdk-11.0.9_p11.ebuild 8321 BLAKE2B 68259ff36688d96c9f48989ea9f015e41d47562307b65d0191e997779c92342d1e8be40a0210df69bacec5fcf9ee9d3c5a4a6c60234c9c7c14f6d3eff88e017c SHA512 404d35e206d34eb6aa67450a65ef9d694a7c9cf73521e7d7c390f2107fbdea5f6f65e21cb24225df357258fcecbd5a4e5f37034b8a8a61ee98a92b42faf321ab
@ -109,6 +115,10 @@ EBUILD openjdk-14.0.2_p01.ebuild 8298 BLAKE2B 50baebff02087e9572ba0f9b66c7063276
EBUILD openjdk-15.0.0_p36.ebuild 8530 BLAKE2B 87603ce71c6074b1037066ce698fb28e2f8052641c895c72c321e65c7809ba9e969fa79794b3cb2d0fba959d1e9c57d03b54cd4c34fc062cbc6965233e1a14d9 SHA512 ad08ad88bf287d94f2617fd2f73e5dbc678791a67b273532155c181393dffa587e48cfcdaef95c99b7f5c6d82e7dc4cc64c123771dee4d2daa3554dc9b55c86f
EBUILD openjdk-16.0.0_p36.ebuild 8348 BLAKE2B 9bb4fbde967017709c252ccae3bab0d308f4189456218e29960f3b0e2b31fb7e3569915f5c932f6c294417bc08aed64ca9f7de9fb3f6bb97c92541d4962e1148 SHA512 544c2b996b79aee0c08fa4a985076f7965d803f1ebf3de95e295c1c35c6c0c707a4d5152559b838696321809e270c65a4a8d78a813c9ea99dc52b75bf3f56e17
EBUILD openjdk-17.0.0_p35.ebuild 8350 BLAKE2B 7dd8c922cb389cfd95aafe140692cb267cfca39b3a3634058605cc9bacd822fb4ba8d4bf1242c18de311d9d310e544d074db821ecfc8e3a5335082e3be083228 SHA512 36ebe391d81a1cb9abe0ba2dcc8645d808bb18745e316857dbd219aee3533a7c7b2d69785686907cc9ffae6725ced7adac81eca8f43aa907c54605cdb3007403
EBUILD openjdk-18.0.2_p05.ebuild 8631 BLAKE2B f3fb02b69de5eedcf63dcef41cd75571de31bde5faddd84cba1acd974c843483ccfb2ff11b988d73744cfb54da96d5628c7ab440b896336e2e4d9c8414c5abda SHA512 cefecd7ebc30d5c82eddccb6ff899fe8a2c71a4b7cd4032cdee8c96250405043808a8c8bebd9711eee0d2a1e5ecfa92a2925fec0ebe512935b41cc0f61010306
EBUILD openjdk-19.0.2_p07.ebuild 8631 BLAKE2B f3fb02b69de5eedcf63dcef41cd75571de31bde5faddd84cba1acd974c843483ccfb2ff11b988d73744cfb54da96d5628c7ab440b896336e2e4d9c8414c5abda SHA512 cefecd7ebc30d5c82eddccb6ff899fe8a2c71a4b7cd4032cdee8c96250405043808a8c8bebd9711eee0d2a1e5ecfa92a2925fec0ebe512935b41cc0f61010306
EBUILD openjdk-20.0.2_p09.ebuild 8631 BLAKE2B f3fb02b69de5eedcf63dcef41cd75571de31bde5faddd84cba1acd974c843483ccfb2ff11b988d73744cfb54da96d5628c7ab440b896336e2e4d9c8414c5abda SHA512 cefecd7ebc30d5c82eddccb6ff899fe8a2c71a4b7cd4032cdee8c96250405043808a8c8bebd9711eee0d2a1e5ecfa92a2925fec0ebe512935b41cc0f61010306
EBUILD openjdk-21.0.0_p35.ebuild 8635 BLAKE2B d67baa2215981d5d904b189b0008c101d326b1fad1287b92b534e63d7fddf205d2a84822da9f4cf72fc1f66c18276bb6f9d3998ac028238e1cf053581090dc32 SHA512 489e84670d82fcab3872ae526f847ab0b08e9cac8dd317b4ba7095789dc8bc4d0888d2a4bf47b63574c49a87aa5c2f530fb6df7edd20cce7619de1c9b3d81204
EBUILD openjdk-8.272_p10.ebuild 8076 BLAKE2B fab8d8c50433428a8aa063e978009e899721ff6b3aa17e868ddabdd688d55b447d0064284f3b63a6580545586dd4c28a37c60095ab257d52408b1c65983a205e SHA512 610c0397a8c6e258e5be91239cacd1d3d00b48c839cb54cb2990f41614e86299c87bb39d97518532e1e875dbee9bcc03e2e6e89372690731e3bf35e379eb3d6d
EBUILD openjdk-9.0.4_p12.ebuild 8296 BLAKE2B 79b6a13687e067d1a00066857cd88ee167deec0a37c6772f799e04aea46a95558617472916bcc4f3662d45a45607a39ad15a895f31637c384868ceacc21bdb5c SHA512 d80d10008de8e24c12dc05419c8ce9c549ee15ce53cf25370e1922969cdf89905af89507105c4f9ab9cd3b2077ac4624322f4bfa3d0609182bf628b4e842b1d7
MISC metadata.xml 1432 BLAKE2B 36a11642c99127a5f97fc0b095a142705c6b4e077ed24604f1886e4d1beaa47b4fa30359600797d5e6a085befd11a2851196fe97a75a0f0907461679946b4cbf SHA512 ecc66015da3a0fc616b91dd5aaffb5b050c9f66e936cad02ec12fb56dd7c6b3b3c331d8856402c0deee16c415ea083e088cce7414703f9d659f551883b055ff0

View File

@ -0,0 +1,16 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
VERSION="OpenJDK ${PV}"
JAVA_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
JDK_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}-${SLOT}"
JAVAC="\${JAVA_HOME}/bin/javac"
PATH="\${JAVA_HOME}/bin"
ROOTPATH="\${JAVA_HOME}/bin"
LDPATH="\${JAVA_HOME}/lib/:\${JAVA_HOME}/lib/server/"
MANPATH=""
PROVIDES_TYPE="JDK JRE"
PROVIDES_VERSION="${SLOT}"
BOOTCLASSPATH=""
GENERATION="2"
ENV_VARS="JAVA_HOME JDK_HOME JAVAC PATH ROOTPATH LDPATH MANPATH"

View File

@ -0,0 +1,299 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# don't change versioning scheme
# to find correct _p number, look at
# https://github.com/openjdk/jdk${SLOT}u/tags
# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
# to exact same commit sha. we should always use the full version.
# -ga tag is just for humans to easily identify General Availability release tag.
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
DESCRIPTION="Open source implementation of the Java programming language"
HOMEPAGE="https://openjdk.org"
SRC_URI="
https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-> ${P}.tar.gz
riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
"
# riscv patch origin:
# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
"
COMMON_DEPEND="
media-libs/freetype:2=
media-libs/giflib:0/7
media-libs/harfbuzz:=
media-libs/libpng:0=
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
systemtap? ( dev-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:$((SLOT-1))
dev-java/openjdk:${SLOT}
)
)
"
S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
# The space required to build varies wildly depending on USE flags,
# ranging from 2GB to 16GB. This function is certainly not exact but
# should be close enough to be useful.
openjdk_check_requirements() {
local M
M=2048
M=$(( $(usex jbootstrap 2 1) * $M ))
M=$(( $(usex debug 3 1) * $M ))
M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
pkg_pretend() {
openjdk_check_requirements
if [[ ${MERGE_TYPE} != binary ]]; then
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
fi
}
pkg_setup() {
openjdk_check_requirements
java-vm-2_pkg_setup
[[ ${MERGE_TYPE} == "binary" ]] && return
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
# The nastiness below is necessary while the gentoo-vm USE flag is
# masked. First we call java-pkg-2_pkg_setup if it looks like the
# flag was unmasked against one of the possible build VMs. If not,
# we try finding one of them in their expected locations. This would
# have been slightly less messy if openjdk-bin had been installed to
# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
# file but disable it so that it would not normally be selectable.
local vm
for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
java-pkg-2_pkg_setup
return
fi
done
}
src_prepare() {
use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
default
chmod +x configure || die
}
src_configure() {
if has_version dev-java/openjdk:${SLOT}; then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
elif has_version dev-java/openjdk:$((SLOT-1)); then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-$((SLOT-1))
else
JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
JDK_HOME=${JDK_HOME#*/}
JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
export JDK_HOME
fi
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
# Work around -fno-common ( GCC10 default ), bug #713180
append-flags -fcommon
# Strip some flags users may set, but should not. #818502
filter-flags -fexceptions
# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
# https://bugs.gentoo.org/833097
# https://bugs.gentoo.org/833098
filter-lto
filter-flags -fdevirtualize-at-ltrans
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
local myconf=(
--disable-ccache
--disable-precompiled-headers
--disable-warnings-as-errors
--enable-full-docs=no
--with-boot-jdk="${JDK_HOME}"
--with-extra-cflags="${CFLAGS}"
--with-extra-cxxflags="${CXXFLAGS}"
--with-extra-ldflags="${LDFLAGS}"
--with-freetype="${XPAK_BOOTSTRAP:-system}"
--with-giflib="${XPAK_BOOTSTRAP:-system}"
--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
--with-lcms="${XPAK_BOOTSTRAP:-system}"
--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
--with-libpng="${XPAK_BOOTSTRAP:-system}"
--with-native-debug-symbols=$(usex debug internal none)
--with-vendor-name="Gentoo"
--with-vendor-url="https://gentoo.org"
--with-vendor-bug-url="https://bugs.gentoo.org"
--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
--with-vendor-version-string="${PVR}"
--with-version-pre=""
--with-version-string="${PV%_p*}"
--with-version-build="${PV#*_p}"
--with-zlib="${XPAK_BOOTSTRAP:-system}"
--enable-jvm-feature-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
use lto && myconf+=( --with-jvm-features=link-time-opt )
if use javafx; then
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
else
die "${zip} not found or not readable"
fi
fi
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
fi
(
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
CFLAGS= CXXFLAGS= LDFLAGS= \
CONFIG_SITE=/dev/null \
econf "${myconf[@]}"
)
}
src_compile() {
# Too brittle - gets confused by e.g. -Oline
export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
unset GNUMAKEFLAGS MAKEFLAGS
local myemakeargs=(
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
)
emake "${myemakeargs[@]}" -j1 #nowarn
}
src_install() {
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
local ddest="${ED}/${dest#/}"
cd "${S}"/build/*-release/images/jdk || die
# Create files used as storage for system preferences.
mkdir .systemPrefs || die
touch .systemPrefs/.system.lock || die
touch .systemPrefs/.systemRootModFile || die
# Oracle and IcedTea have libjsoundalsa.so depending on
# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
if ! use alsa ; then
rm -v lib/libjsound.* || die
fi
if ! use examples ; then
rm -vr demo/ || die
fi
if ! use source ; then
rm -v lib/src.zip || die
fi
rm -v lib/security/cacerts || die
dodir "${dest}"
cp -pPR * "${ddest}" || die
dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
# must be done before running itself
java-vm_set-pax-markings "${ddest}"
einfo "Creating the Class Data Sharing archives and disabling usage tracking"
"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
java-vm_revdep-mask
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
if use doc ; then
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
}

View File

@ -0,0 +1,299 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# don't change versioning scheme
# to find correct _p number, look at
# https://github.com/openjdk/jdk${SLOT}u/tags
# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
# to exact same commit sha. we should always use the full version.
# -ga tag is just for humans to easily identify General Availability release tag.
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
DESCRIPTION="Open source implementation of the Java programming language"
HOMEPAGE="https://openjdk.org"
SRC_URI="
https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-> ${P}.tar.gz
riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
"
# riscv patch origin:
# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
"
COMMON_DEPEND="
media-libs/freetype:2=
media-libs/giflib:0/7
media-libs/harfbuzz:=
media-libs/libpng:0=
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
systemtap? ( dev-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:$((SLOT-1))
dev-java/openjdk:${SLOT}
)
)
"
S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
# The space required to build varies wildly depending on USE flags,
# ranging from 2GB to 16GB. This function is certainly not exact but
# should be close enough to be useful.
openjdk_check_requirements() {
local M
M=2048
M=$(( $(usex jbootstrap 2 1) * $M ))
M=$(( $(usex debug 3 1) * $M ))
M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
pkg_pretend() {
openjdk_check_requirements
if [[ ${MERGE_TYPE} != binary ]]; then
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
fi
}
pkg_setup() {
openjdk_check_requirements
java-vm-2_pkg_setup
[[ ${MERGE_TYPE} == "binary" ]] && return
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
# The nastiness below is necessary while the gentoo-vm USE flag is
# masked. First we call java-pkg-2_pkg_setup if it looks like the
# flag was unmasked against one of the possible build VMs. If not,
# we try finding one of them in their expected locations. This would
# have been slightly less messy if openjdk-bin had been installed to
# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
# file but disable it so that it would not normally be selectable.
local vm
for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
java-pkg-2_pkg_setup
return
fi
done
}
src_prepare() {
use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
default
chmod +x configure || die
}
src_configure() {
if has_version dev-java/openjdk:${SLOT}; then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
elif has_version dev-java/openjdk:$((SLOT-1)); then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-$((SLOT-1))
else
JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
JDK_HOME=${JDK_HOME#*/}
JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
export JDK_HOME
fi
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
# Work around -fno-common ( GCC10 default ), bug #713180
append-flags -fcommon
# Strip some flags users may set, but should not. #818502
filter-flags -fexceptions
# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
# https://bugs.gentoo.org/833097
# https://bugs.gentoo.org/833098
filter-lto
filter-flags -fdevirtualize-at-ltrans
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
local myconf=(
--disable-ccache
--disable-precompiled-headers
--disable-warnings-as-errors
--enable-full-docs=no
--with-boot-jdk="${JDK_HOME}"
--with-extra-cflags="${CFLAGS}"
--with-extra-cxxflags="${CXXFLAGS}"
--with-extra-ldflags="${LDFLAGS}"
--with-freetype="${XPAK_BOOTSTRAP:-system}"
--with-giflib="${XPAK_BOOTSTRAP:-system}"
--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
--with-lcms="${XPAK_BOOTSTRAP:-system}"
--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
--with-libpng="${XPAK_BOOTSTRAP:-system}"
--with-native-debug-symbols=$(usex debug internal none)
--with-vendor-name="Gentoo"
--with-vendor-url="https://gentoo.org"
--with-vendor-bug-url="https://bugs.gentoo.org"
--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
--with-vendor-version-string="${PVR}"
--with-version-pre=""
--with-version-string="${PV%_p*}"
--with-version-build="${PV#*_p}"
--with-zlib="${XPAK_BOOTSTRAP:-system}"
--enable-jvm-feature-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
use lto && myconf+=( --with-jvm-features=link-time-opt )
if use javafx; then
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
else
die "${zip} not found or not readable"
fi
fi
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
fi
(
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
CFLAGS= CXXFLAGS= LDFLAGS= \
CONFIG_SITE=/dev/null \
econf "${myconf[@]}"
)
}
src_compile() {
# Too brittle - gets confused by e.g. -Oline
export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
unset GNUMAKEFLAGS MAKEFLAGS
local myemakeargs=(
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
)
emake "${myemakeargs[@]}" -j1 #nowarn
}
src_install() {
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
local ddest="${ED}/${dest#/}"
cd "${S}"/build/*-release/images/jdk || die
# Create files used as storage for system preferences.
mkdir .systemPrefs || die
touch .systemPrefs/.system.lock || die
touch .systemPrefs/.systemRootModFile || die
# Oracle and IcedTea have libjsoundalsa.so depending on
# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
if ! use alsa ; then
rm -v lib/libjsound.* || die
fi
if ! use examples ; then
rm -vr demo/ || die
fi
if ! use source ; then
rm -v lib/src.zip || die
fi
rm -v lib/security/cacerts || die
dodir "${dest}"
cp -pPR * "${ddest}" || die
dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
# must be done before running itself
java-vm_set-pax-markings "${ddest}"
einfo "Creating the Class Data Sharing archives and disabling usage tracking"
"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
java-vm_revdep-mask
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
if use doc ; then
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
}

View File

@ -0,0 +1,299 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# don't change versioning scheme
# to find correct _p number, look at
# https://github.com/openjdk/jdk${SLOT}u/tags
# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point
# to exact same commit sha. we should always use the full version.
# -ga tag is just for humans to easily identify General Availability release tag.
MY_PV="${PV%_p*}-ga"
SLOT="${MY_PV%%[.+]*}"
DESCRIPTION="Open source implementation of the Java programming language"
HOMEPAGE="https://openjdk.org"
SRC_URI="
https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-> ${P}.tar.gz
riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
"
# riscv patch origin:
# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
"
COMMON_DEPEND="
media-libs/freetype:2=
media-libs/giflib:0/7
media-libs/harfbuzz:=
media-libs/libpng:0=
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
systemtap? ( dev-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:$((SLOT-1))
dev-java/openjdk:${SLOT}
)
)
"
S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
# The space required to build varies wildly depending on USE flags,
# ranging from 2GB to 16GB. This function is certainly not exact but
# should be close enough to be useful.
openjdk_check_requirements() {
local M
M=2048
M=$(( $(usex jbootstrap 2 1) * $M ))
M=$(( $(usex debug 3 1) * $M ))
M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
pkg_pretend() {
openjdk_check_requirements
if [[ ${MERGE_TYPE} != binary ]]; then
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
fi
}
pkg_setup() {
openjdk_check_requirements
java-vm-2_pkg_setup
[[ ${MERGE_TYPE} == "binary" ]] && return
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
# The nastiness below is necessary while the gentoo-vm USE flag is
# masked. First we call java-pkg-2_pkg_setup if it looks like the
# flag was unmasked against one of the possible build VMs. If not,
# we try finding one of them in their expected locations. This would
# have been slightly less messy if openjdk-bin had been installed to
# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
# file but disable it so that it would not normally be selectable.
local vm
for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
java-pkg-2_pkg_setup
return
fi
done
}
src_prepare() {
use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
default
chmod +x configure || die
}
src_configure() {
if has_version dev-java/openjdk:${SLOT}; then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
elif has_version dev-java/openjdk:$((SLOT-1)); then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-$((SLOT-1))
else
JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
JDK_HOME=${JDK_HOME#*/}
JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
export JDK_HOME
fi
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
# Work around -fno-common ( GCC10 default ), bug #713180
append-flags -fcommon
# Strip some flags users may set, but should not. #818502
filter-flags -fexceptions
# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
# https://bugs.gentoo.org/833097
# https://bugs.gentoo.org/833098
filter-lto
filter-flags -fdevirtualize-at-ltrans
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
local myconf=(
--disable-ccache
--disable-precompiled-headers
--disable-warnings-as-errors
--enable-full-docs=no
--with-boot-jdk="${JDK_HOME}"
--with-extra-cflags="${CFLAGS}"
--with-extra-cxxflags="${CXXFLAGS}"
--with-extra-ldflags="${LDFLAGS}"
--with-freetype="${XPAK_BOOTSTRAP:-system}"
--with-giflib="${XPAK_BOOTSTRAP:-system}"
--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
--with-lcms="${XPAK_BOOTSTRAP:-system}"
--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
--with-libpng="${XPAK_BOOTSTRAP:-system}"
--with-native-debug-symbols=$(usex debug internal none)
--with-vendor-name="Gentoo"
--with-vendor-url="https://gentoo.org"
--with-vendor-bug-url="https://bugs.gentoo.org"
--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
--with-vendor-version-string="${PVR}"
--with-version-pre=""
--with-version-string="${PV%_p*}"
--with-version-build="${PV#*_p}"
--with-zlib="${XPAK_BOOTSTRAP:-system}"
--enable-jvm-feature-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
use lto && myconf+=( --with-jvm-features=link-time-opt )
if use javafx; then
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
else
die "${zip} not found or not readable"
fi
fi
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
fi
(
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
CFLAGS= CXXFLAGS= LDFLAGS= \
CONFIG_SITE=/dev/null \
econf "${myconf[@]}"
)
}
src_compile() {
# Too brittle - gets confused by e.g. -Oline
export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
unset GNUMAKEFLAGS MAKEFLAGS
local myemakeargs=(
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
)
emake "${myemakeargs[@]}" -j1 #nowarn
}
src_install() {
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
local ddest="${ED}/${dest#/}"
cd "${S}"/build/*-release/images/jdk || die
# Create files used as storage for system preferences.
mkdir .systemPrefs || die
touch .systemPrefs/.system.lock || die
touch .systemPrefs/.systemRootModFile || die
# Oracle and IcedTea have libjsoundalsa.so depending on
# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
if ! use alsa ; then
rm -v lib/libjsound.* || die
fi
if ! use examples ; then
rm -vr demo/ || die
fi
if ! use source ; then
rm -v lib/src.zip || die
fi
rm -v lib/security/cacerts || die
dodir "${dest}"
cp -pPR * "${ddest}" || die
dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
# must be done before running itself
java-vm_set-pax-markings "${ddest}"
einfo "Creating the Class Data Sharing archives and disabling usage tracking"
"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
java-vm_revdep-mask
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
if use doc ; then
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
}

View File

@ -0,0 +1,299 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs
# 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%.0.0_p*}-ga"
SLOT="${MY_PV%%[-+]*}"
DESCRIPTION="Open source implementation of the Java programming language"
HOMEPAGE="https://openjdk.org"
SRC_URI="
https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz
-> ${P}.tar.gz
riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch )
"
# riscv patch origin:
# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch
LICENSE="GPL-2-with-classpath-exception"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source +system-bootstrap systemtap"
REQUIRED_USE="
javafx? ( alsa !headless-awt )
!system-bootstrap? ( jbootstrap )
"
COMMON_DEPEND="
media-libs/freetype:2=
media-libs/giflib:0/7
media-libs/harfbuzz:=
media-libs/libpng:0=
media-libs/lcms:2=
sys-libs/zlib
media-libs/libjpeg-turbo:0=
systemtap? ( dev-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:$((SLOT-1))
dev-java/openjdk:${SLOT}
)
)
"
S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}"
# The space required to build varies wildly depending on USE flags,
# ranging from 2GB to 16GB. This function is certainly not exact but
# should be close enough to be useful.
openjdk_check_requirements() {
local M
M=2048
M=$(( $(usex jbootstrap 2 1) * $M ))
M=$(( $(usex debug 3 1) * $M ))
M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M ))
CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE}
}
pkg_pretend() {
openjdk_check_requirements
if [[ ${MERGE_TYPE} != binary ]]; then
has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876"
fi
}
pkg_setup() {
openjdk_check_requirements
java-vm-2_pkg_setup
[[ ${MERGE_TYPE} == "binary" ]] && return
JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-$((SLOT-1))"
JAVA_PKG_WANT_SOURCE="${SLOT}"
JAVA_PKG_WANT_TARGET="${SLOT}"
# The nastiness below is necessary while the gentoo-vm USE flag is
# masked. First we call java-pkg-2_pkg_setup if it looks like the
# flag was unmasked against one of the possible build VMs. If not,
# we try finding one of them in their expected locations. This would
# have been slightly less messy if openjdk-bin had been installed to
# /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env
# file but disable it so that it would not normally be selectable.
local vm
for vm in ${JAVA_PKG_WANT_BUILD_VM}; do
if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then
java-pkg-2_pkg_setup
return
fi
done
}
src_prepare() {
use riscv && eapply "${DISTDIR}"/java17-riscv64.patch
default
chmod +x configure || die
}
src_configure() {
if has_version dev-java/openjdk:${SLOT}; then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT}
elif has_version dev-java/openjdk:$((SLOT-1)); then
export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-$((SLOT-1))
else
JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT})
[[ -n ${JDK_HOME} ]] || die "Build VM not found!"
JDK_HOME=${JDK_HOME#*/}
JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*}
export JDK_HOME
fi
# Work around stack alignment issue, bug #647954. in case we ever have x86
use x86 && append-flags -mincoming-stack-boundary=2
# Work around -fno-common ( GCC10 default ), bug #713180
append-flags -fcommon
# Strip some flags users may set, but should not. #818502
filter-flags -fexceptions
# Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt
# https://bugs.gentoo.org/833097
# https://bugs.gentoo.org/833098
filter-lto
filter-flags -fdevirtualize-at-ltrans
# Enabling full docs appears to break doc building. If not
# explicitly disabled, the flag will get auto-enabled if pandoc and
# graphviz are detected. pandoc has loads of dependencies anyway.
local myconf=(
--disable-ccache
--disable-precompiled-headers
--disable-warnings-as-errors
--enable-full-docs=no
--with-boot-jdk="${JDK_HOME}"
--with-extra-cflags="${CFLAGS}"
--with-extra-cxxflags="${CXXFLAGS}"
--with-extra-ldflags="${LDFLAGS}"
--with-freetype="${XPAK_BOOTSTRAP:-system}"
--with-giflib="${XPAK_BOOTSTRAP:-system}"
--with-harfbuzz="${XPAK_BOOTSTRAP:-system}"
--with-lcms="${XPAK_BOOTSTRAP:-system}"
--with-libjpeg="${XPAK_BOOTSTRAP:-system}"
--with-libpng="${XPAK_BOOTSTRAP:-system}"
--with-native-debug-symbols=$(usex debug internal none)
--with-vendor-name="Gentoo"
--with-vendor-url="https://gentoo.org"
--with-vendor-bug-url="https://bugs.gentoo.org"
--with-vendor-vm-bug-url="https://bugs.openjdk.java.net"
--with-vendor-version-string="${PVR}"
--with-version-pre=""
--with-version-string="${PV%_p*}"
--with-version-build="${PV#*_p}"
--with-zlib="${XPAK_BOOTSTRAP:-system}"
--enable-jvm-feature-dtrace=$(usex systemtap yes no)
--enable-headless-only=$(usex headless-awt yes no)
$(tc-is-clang && echo "--with-toolchain-type=clang")
)
use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" )
use lto && myconf+=( --with-jvm-features=link-time-opt )
if use javafx; then
local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip"
if [[ -r ${zip} ]]; then
myconf+=( --with-import-modules="${zip}" )
else
die "${zip} not found or not readable"
fi
fi
if use !system-bootstrap ; then
addpredict /dev/random
addpredict /proc/self/coredump_filter
fi
(
unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS
CFLAGS= CXXFLAGS= LDFLAGS= \
CONFIG_SITE=/dev/null \
econf "${myconf[@]}"
)
}
src_compile() {
# Too brittle - gets confused by e.g. -Oline
export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)"
unset GNUMAKEFLAGS MAKEFLAGS
local myemakeargs=(
JOBS=$(makeopts_jobs)
LOG=debug
CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror
NICE= # Use PORTAGE_NICENESS, don't adjust further down
$(usex doc docs '')
$(usex jbootstrap bootcycle-images product-images)
)
emake "${myemakeargs[@]}" -j1 #nowarn
}
src_install() {
local dest="/usr/$(get_libdir)/${PN}-${SLOT}"
local ddest="${ED}/${dest#/}"
cd "${S}"/build/*-release/images/jdk || die
# Create files used as storage for system preferences.
mkdir .systemPrefs || die
touch .systemPrefs/.system.lock || die
touch .systemPrefs/.systemRootModFile || die
# Oracle and IcedTea have libjsoundalsa.so depending on
# libasound.so.2 but OpenJDK only has libjsound.so. Weird.
if ! use alsa ; then
rm -v lib/libjsound.* || die
fi
if ! use examples ; then
rm -vr demo/ || die
fi
if ! use source ; then
rm -v lib/src.zip || die
fi
rm -v lib/security/cacerts || die
dodir "${dest}"
cp -pPR * "${ddest}" || die
dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts
# must be done before running itself
java-vm_set-pax-markings "${ddest}"
einfo "Creating the Class Data Sharing archives and disabling usage tracking"
"${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die
java-vm_install-env "${FILESDIR}"/${PN}.env.sh
java-vm_revdep-mask
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
if use doc ; then
docinto html
dodoc -r "${S}"/build/*-release/images/docs/*
dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}"
fi
}
pkg_postinst() {
java-vm-2_pkg_postinst
}