From f00ae41a9cc5a0874368145e7a756995821bdbfc Mon Sep 17 00:00:00 2001 From: "Liguros - Gitlab CI/CD [develop]" Date: Wed, 6 Mar 2024 18:43:52 +0000 Subject: Adding metadata --- dev-java/openjdk-bin/Manifest | 23 ++ dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild | 135 +++++++++ dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild | 136 +++++++++ dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild | 133 +++++++++ dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild | 131 +++++++++ dev-java/openjdk/Manifest | 4 + ...penjdk-8.402_p06-0001-Fix-Wint-conversion.patch | 41 +++ ..._p06-0002-Fix-Wincompatible-pointer-types.patch | 48 +++ ...02_p06-0003-Fix-negative-value-left-shift.patch | 38 +++ ...openjdk-8.402_p06-0004-Fix-misc.-warnings.patch | 61 ++++ dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild | 2 +- dev-java/openjdk/openjdk-11.0.22_p7.ebuild | 312 ++++++++++++++++++++ dev-java/openjdk/openjdk-17.0.10_p7.ebuild | 327 +++++++++++++++++++++ dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild | 2 +- dev-java/openjdk/openjdk-21.0.1_p12.ebuild | 2 +- dev-java/openjdk/openjdk-21.0.2_p13.ebuild | 320 ++++++++++++++++++++ dev-java/openjdk/openjdk-8.382_p05-r2.ebuild | 2 +- dev-java/openjdk/openjdk-8.402_p06.ebuild | 244 +++++++++++++++ dev-java/openjfx/files/11/0001-c99.patch | 22 ++ dev-java/openjfx/files/11/0002-c99.patch | 18 ++ dev-java/openjfx/files/11/0003-c99.patch | 19 ++ dev-java/openjfx/files/11/respect-cc.patch | 15 + .../files/11/strip-blank-elements-flags.patch | 29 ++ dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild | 231 +++++++++++++++ 24 files changed, 2291 insertions(+), 4 deletions(-) create mode 100644 dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild create mode 100644 dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild create mode 100644 dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild create mode 100644 dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild create mode 100644 dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch create mode 100644 dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch create mode 100644 dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch create mode 100644 dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch create mode 100644 dev-java/openjdk/openjdk-11.0.22_p7.ebuild create mode 100644 dev-java/openjdk/openjdk-17.0.10_p7.ebuild create mode 100644 dev-java/openjdk/openjdk-21.0.2_p13.ebuild create mode 100644 dev-java/openjdk/openjdk-8.402_p06.ebuild create mode 100644 dev-java/openjfx/files/11/0001-c99.patch create mode 100644 dev-java/openjfx/files/11/0002-c99.patch create mode 100644 dev-java/openjfx/files/11/0003-c99.patch create mode 100644 dev-java/openjfx/files/11/respect-cc.patch create mode 100644 dev-java/openjfx/files/11/strip-blank-elements-flags.patch create mode 100644 dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild (limited to 'dev-java') diff --git a/dev-java/openjdk-bin/Manifest b/dev-java/openjdk-bin/Manifest index 72d59e96abe7..b0c75d116a51 100644 --- a/dev-java/openjdk-bin/Manifest +++ b/dev-java/openjdk-bin/Manifest @@ -1,23 +1,46 @@ DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20.1_1.tar.gz 191278260 BLAKE2B e3ed7bb97a8b244f7aaa7ced808a55d632634d8c6422c44b7bb37d5e51ac1cc8b1e03f2b404a3654bd5cfeecdc1051cad57ef6617c908a52f04f5bcd8f55c545 SHA512 72db8438ec936d2594bc62cc02cfeca348cdf4854c162ea6cdb5ae6051120e771d48cb510d2c0145e5a243f544f8963e9210efa6f57edc6f667c5761b0088b5b +DIST OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.22_7.tar.gz 191713436 BLAKE2B 2d0381ca8dc4bdc07330f79c7e290bdb60a28fe21122d4db1810dc036e7213071d327470b20361db1435fe2d5492e7d3815f3e244597d3d76a9f7894b515783f SHA512 a0772607ede5642051446dc742180fd4e42fbe78602eb3b874b00930ea4ba19eefdcf6a130f378b6cc7dde414a3db2259edb1ad570da4a7951a73bebc5a90b9b DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.20.1_1.tar.gz 182177832 BLAKE2B 404d628e2ad7392ad6ee5906a9ddccff82778fc1303a7877738b7646c4c50fc1eda4b98212d43b200c00ca49090216f9609608f2e1356a74d483e9ed1d90bda0 SHA512 802c39f52d941905997f5b975a69a74d937aaee14eb7ab3825d764e76d65681bdcea366fe2f34b581b6a96e9fa91bcf82164ead1fbbefe936f7e86ee7bcebd42 +DIST OpenJDK11U-jdk_arm_linux_hotspot_11.0.22_7.tar.gz 182591395 BLAKE2B 858c6033c161dfe6c1475037bce5d538ca7b95b95b65a75edff03d0292e64d1ac2e3c2ed008b52938d9811e35a94ed694df2801605b55d6732c6c1c1b68b547b SHA512 aa0be475706f6cca490ff81389e131fb512efaa948d722b108a7060355af77134210c2509711f9c8bf4d32130cba813dc460c093d831ac8de539571ab3d08f20 DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.20.1_1.tar.gz 176708583 BLAKE2B b88652df8c51648243525f2f6a5f127a764ca9caf140eb3c8b70783acc4b8146418800bb239ffd34d5039daace3fef4930f605692bde7f96d43229f9cb802d9b SHA512 12c6c638456a7031138f8f8ca91b24dc400a6cb792ee47e2a0d526a193a030762b223cd1652a9363141219cac13df5cdf4b096f879f84f0ec59f2358d89809e2 +DIST OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.22_7.tar.gz 177146946 BLAKE2B 2e285abcde91eb578c88e81c6a737d6c6e00d58001325eaed7fd332d4d42588779192ae73f3de598cf725c9cd08860ff3a0db29f7fae54a6a404cbdf0db0b2ad SHA512 6288e599a54f1e2e02dd0eef5f0aae051ae8b15ed30e924c7018ac52d2eeb2572934557b7e722df7f704568656c8a8f93797dd2e86fdc3f0f32ffd004f803419 DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.20.1_1.tar.gz 193412811 BLAKE2B e790ad546350ae4a4c1b59dfe9641ce4ea2c89f71276f684d7535ad0d2cb0dfc2c42f21d420bf3c7b370bbbe9a342cd1cb073f3f051bcb082ecf310923914a33 SHA512 f39357c0c25e69241c67647ffddd143eb01979d332d6ec98d89ff8e0f19b0fed9e1cffa5155bb995441ae33bc50357fbf9381080bb652caea39d4166f491ae35 +DIST OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.22_7.tar.gz 193744131 BLAKE2B 2cdbf676ecc860dd8ec13d959f9f63537e4b14feb0627cc360602a377c8a7193a2db67cb71f462939ab252f2ff3be1b46a15c25a7c1c1f1632254b1ea09eeef9 SHA512 81dabded0d6cee459ade96992d4002910448aa5fa091fd1b6c376a585c382d449bc63f5e51ba0c21e5fdd81f3e1d58e1d27f0b6016daca775644610087f3b090 DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.tar.gz 194530299 BLAKE2B 295c1e78cde1dbc18f906b9b355cd433bfa61e9f60fa9648ab3b58bc5fca2c19f6f64569eeb51f44066e21d0e39952773deb22d39011d79b8dda6490b6ba3a46 SHA512 2286aa5a26093bba55360e5fea14942bd2ddc1011f1db28529e7ddf2f879125b5c910aa14cc21b24dc1235b22f7052d912af7b6c4986834f813ec04c9e98c141 +DIST OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz 195002045 BLAKE2B 1898bcc1c1d97668238a13c70226b14f325a7c5be55f393ce2e6373fa0764a38633511a485257d05e173670e20b8c0195fb63d7143f41a1296556e5d59a8fe00 SHA512 00d75269a88c3d879907408f76ca1ee5a1ed48914e1ac27fa4faadf66a12fbccd6235d23be6c0d096a508c6ed996884ff2fe206290c061c2542835050476cfa5 DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.20.1_1.tar.gz 186910284 BLAKE2B 701e498de41831387cb1e72d08e4b50b63daa04a8bcaa81a928a67572c73dd9ace4aecf82eeb572463bb00a10b320ee539ef20418fde6252acfebf14eeccb973 SHA512 b47123db2480d5533da6231a808a66cf7f1844e9343d540152d60473675e43af01352d00fc396801a6221dfe6a4fa3a717ceb0df6d0fa2c03242878e53bb6804 +DIST OpenJDK11U-jdk_x64_mac_hotspot_11.0.22_7.tar.gz 187409838 BLAKE2B edbbb534fad7d6b50c79253d7c8bc1369f413fd1748a4f160003db2e01d8b907c115a5a3815de85e25a16c74bf0d316cccf7e0a508a488c51c476511876d5d54 SHA512 3371785f6bcc27dea59b074798795c91f3a0fc2241ea24d9e04bdb98fd77ebc1ccb058d1b34ea56660a7bac92e60192396a9d8b85b8983f1617bddf50d118276 +DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.10_7.tar.gz 190867185 BLAKE2B dfac2c4383af080b8101e73d141f6ecaf38f44a0b8e88fddf8e33eb0454fccb22075e00a8eb3031c33a0d63a079da634b128766f4ab4fed70c8da999c8f8a568 SHA512 74447bacae664b5a1a420605d1c3b68a7be8deb230cc08700b23bb159ef10acb613595505f711906aa132aec2a25d5151f178cd9982d0d254a4d31a7396b4aef DIST OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.8.1_1.tar.gz 190656874 BLAKE2B 43846cf6c7962e7e30a90d945db0c93835d38e51f5459b10a1adb291c7f7aa1e14f0b58997f0d146376260976713aa2dae2494eef3310d8c80978c4b02662bb9 SHA512 674a49bb0a52a6f880c829287ed80aa663e864a11586bf21ad3deef40755d1be0a711d6e26cc3d532d1cb4843cd091aeb4bd52d06fb6bef838e1f5be4d361114 +DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.10_7.tar.gz 178168341 BLAKE2B 425cac786cd7bd758d40ad76bdfc96969e2ca2b1ecf20c449a7e42b77020881f7c7414099b7ff9df482ce4698c680af4d819a928efb4e4608c54266412fcb2f5 SHA512 006773423fa46d61d1111a74bf1a41d50cb419d4a2855d0257a11282f9ab966a59e6bf22044b46d3a29041c37942f2f69780ee38002e8443da2bd40543ce0948 DIST OpenJDK17U-jdk_aarch64_mac_hotspot_17.0.8.1_1.tar.gz 177735753 BLAKE2B df5dba287781b84e67ae99345bc96dbd64bd85c6dda5317a7dd12f522111c80601492640f6ed4ac60b683e14ce23df625f7de49faf18e4d74344855a83d33545 SHA512 ab2fa97f8fe2b94fe3f91ffbe0f9a99bd6cca2a85d5d8434c80b0f3bf0cc5890e90c38591600cc0bd210400790be6b7fa118df4a8583ad349535886a7eee6ea0 +DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.10_7.tar.gz 189087918 BLAKE2B e8c70966cd362ac26e748c4efb16bbe3816d27bbec5d3b2448b77bc07f8f17b6c77dd7cddcccd1256e621db93653e3aed2ebf1f895606023b00fdf3a98232b57 SHA512 17d540bfa9fd458fb214dc550df4bd1bd563630712b23549d61182d3c5dcf39cf016510b2318655e9bff594e40b960d7754200ba6184ea23bab40ed2d8e9c06f DIST OpenJDK17U-jdk_arm_linux_hotspot_17.0.8.1_1.tar.gz 188790162 BLAKE2B f3d69f13542a55aff361041539ef1a1d2eeda02ae8b37c94b377d5bed0fef2000e407fa02e7efb3e7fcf93e8716349d36f19d35ddbd8de2b54053d0687c3b356 SHA512 480f814d7ff517d6c970ee98dd99312eb9d2367e21bba788ca4ef3e1f7772419f4aa66bedce60e216e50a094c5d6bde8362613dd6ade86b1532daac38aea875a +DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.10_7.tar.gz 191584458 BLAKE2B 77ad2b213ee0957afdf6c204b2c987f568f62071ef282b8eb44d041980e44d5b964e4403324555f98caccd8736278ede2b486a4647ffbe669d4a285d19bf6507 SHA512 f808ad1d20ec025925653f6fe4566d6075c242b0f60f3dca3d0b46ec309ff3dd30637b9d2d2937b0fd2dff5a3ffd9e675766ea56a6bccc00a991266101d63db0 DIST OpenJDK17U-jdk_ppc64le_linux_hotspot_17.0.8.1_1.tar.gz 191404507 BLAKE2B 9fd93378c3a0e42b7af5e2d1c5af240aa2854a0e84ae4a66aad897686e90fda62a630a85d6765046a759f0ee8477d009937b6a6102317cc48a4c8d601f15b318 SHA512 7bb83ed8e9990413e363d8d62f9424b9057896220f820d7b71c95112a46a1f9cfba9c67eda3fb20082dc630acc0c139928d64534bc4ee34e9650caab1e81ef4b +DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.10_7.tar.gz 191453728 BLAKE2B 61e54448c7540f43c11ec55ffffe07ba43bbb60bcbc2acd07a3a06562ffbf7bd5b25c2a91540ead82978c43ef30ac2adbae1554d0718156b28bb34d46882020a SHA512 b7eded9bef2bbfa38b6350914df472e10daf82600af8090b59ce01cd0d2e6efd02f0bf28920cbcd3f7da2018e5642d8e5a282337ad969c8b9a8c35c0ae4890d3 DIST OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.8.1_1.tar.gz 191374032 BLAKE2B f7f6eb577cc9cffd8e9326a7cf262adeb35e18bd4262973c81030c2fddb8077101968161a7d8239f8b78265925ba03fad393e60054a6e3651702d983c98e4f03 SHA512 c68d3ccacbe5d065b41948e3d02257185185679747d803e9c6387a8ce0e8e51a38757d1a43d15a19a27228b7b10629d64dfb274f882a0abca8781ac71ec4aae9 +DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz 192205930 BLAKE2B 1c1ae9515a273ff7d7d4ef806fcb6d101e127f224912626982fbe848375f240bfca69815173b65c8c3ecc7019bb681ef43665bf3fe82d5c4333da057a35c976d SHA512 fcbb1bc62d484a8b851ea22d725921f72a4ce7ace33c1db737e7294aac17b74cd7ae9a366cac09d328be66e742916f0191fafaf531641610e652d24390df591a DIST OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz 192053612 BLAKE2B bd59524805f7af5883b7fd20ff13b77594ec6841c28b028ff589419ff31cc7f152c6b177bc133b7749c413c22a7e8bdeab6e2f705ceb49617bb89dd6be6727a4 SHA512 3856cea7abfacfeda499200ff09427ce7f2e96f25eb556cb27eecc83f0f8c5b3fcb831a00dcf0202d6dbb191e2a23e2d0f928dcfc503dbfc582193245ecd2522 +DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.10_7.tar.gz 180364858 BLAKE2B ded64698ee98c051b4f2bdbf7d30eb27bbc5418742306bd07fe87b0cf7cc579adc553bc2a16f8b15d2fe1950b463195ca3f3d414494491435fca052faedb8bf8 SHA512 4c199bbf2584d4a360caced88bb6f297417469334d3a3007f5a172f2fd3a41a492968fc0ad32a4f8424e4d6712d01060aef2531957edccc100f6cb58bbfce000 DIST OpenJDK17U-jdk_x64_mac_hotspot_17.0.8.1_1.tar.gz 187618128 BLAKE2B 0413bb2bb928906f8aa09a6dae161fd91b4cc17a81ec822d4553322f1505f8141d10d308ddfb632c1678d2685dd95d999d09de5888aee056ca95847cca26b29e SHA512 b2ba614ca966acc6c03563a248638051abe0851b9b6932e8d93748307250f32b5fd8cef70c8c308aba4f97c02c4791cc7193b19f5b2f407f6c2d003fcf2416a6 DIST OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz 205976031 BLAKE2B 86b00c0c8da5c7ef97e993c1a863c715eca4384f892bf184e094ea4abdeac5e47a54159d1aadedd420e3c4e0d3644ce33589aa8bd1f83f5d67bd19c340951a8d SHA512 ed05b9733e8270fe73dab86fb9320689a6613dd2d6a5807a47a2e22f081feefd9729e39521c85f3f443687bd103918850a9bd3a27d1a64b8519bb37c7454e5e8 +DIST OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.2_13.tar.gz 206857501 BLAKE2B 108d924b2f41d179ece7678a18b5805b76eb187608c4a698bd77d21a5db7956f0aad34764addb507846c11e41af576c0e99c578325db9f2f5aebed02b0bff4e8 SHA512 a41a31915ea64cbdae4e9b81057df579d8456a5ca5e224497e862dbb207275f9d84dd91d9c9cce4d81b03d21d3d4305e3276d064ec1e32b6d1f272f157c82f56 DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.1_12.tar.gz 207081261 BLAKE2B 859761c9d508f692f38369d16050f3d2c0715e84617838f728646baa90e3ce3ac1fc5fffa508f9f45aa8d01cf5a867dfc6849538ff39164e2ca70c27875a59b2 SHA512 1e955bd71b738d5260314c9ddd6b006683a1f10854d0bb41535df65dcb828f78f1f9bc021fc3c51d5bcafcae402cb16b683c31f4d854adb4d54440dada3920ac +DIST OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.2_13.tar.gz 208115806 BLAKE2B 1462c0cc0488d02109035b06e17c68d5ee21c62b8565e214f91980af8f1bd0e689c439fb546d3e9556b6df42b545c6d349601cf1bbed77c175dc7d5b1b8e0959 SHA512 7991d8779aea00f9016a37dd290b3b4bd5189201cd87425fd337f346907887a61e7030d4180cb3d60af3f5f478135bec1698235c0ef2c2b2cac73a4e1d1b630b DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.1_12.tar.gz 206892255 BLAKE2B f51f7093e3c94c3ae766a36d2ab9da83e5789a6eb586b5ca2f6417c1b58134a1debe80a64fcd80ca7ec8605670bd73ba6cfca2e6a299b12423b7f8a5fcc46f22 SHA512 28dc24c8023c06f1ca765b81d06ea17a6ba2448ac0a2190633266211b82a78be03e3a0f27e52ee9a23919696b8c744ba9e2cf1a325f99b7a29fb276a9428735a +DIST OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.2_13.tar.gz 207838511 BLAKE2B 1c2dd157fadd7d8ab0660dd181de223431fdcb5f4ca201ba3c827bd044c435d8ffd059600f38b378984bb002f03403c16addf999ace7128a426b0948ce9b4971 SHA512 1b2f58c224bb6fde53a4e5d2693d881ce61b47ac36ff735558fb38a8d30e4826fec046048d3681ce18e1c63a60e1f999b8f474ac6794dd1197bd88926df3d0ca DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz 207852818 BLAKE2B 294b849b8a0e851c034d63533fe844e528b05886a4803b3f5c73e0e9b5db1a79462963d0c90da2ae5967f1b7eac1521ddc199cdbff8fadd1875bace5a0f0d2f5 SHA512 496ed15dcba607cd1b9e6786932429f9d213d2ea22203bf8cbed61880655ee046bfc4c07b7b0d54285081ddf242fd8957ba34c8be75f5fb2ae0aac16f9b8ef3a +DIST OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz 208796351 BLAKE2B 64741e3e58c08424ba6c7f46af42e391e3172a83415fc346b22ac92c9eeb6f1b42bc02d6392f9ceaa449d4266ed58872600f6cfecf622739f7496676caeebcda SHA512 691ec4d447933c59696944cdb5d5de86fc1332b2c730dc6624f546c0d30456cb3583d53f38d7531f69195e807092c1d03d923d73d5e6883185cae935db1ed7ce DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u382b05.tar.gz 102105707 BLAKE2B 5edec97bb60d983bcc299914c5bad8e89aef70f31ff1f5b26cbd430cbacc8b41c6d04906a9ea3a1eb6cf2601ae81279a871a1eb77c3297abb5454e213f2583b0 SHA512 11219c825f8ac0fcdd16120f89b2e7951c651595eb0be762cb511bad8cf44d3bc3136ba6f71b5ded8a9745fe5a143416b0ef4422c1cbbe62f110e4fa5f39c7ed +DIST OpenJDK8U-jdk_aarch64_linux_hotspot_8u402b06.tar.gz 102121884 BLAKE2B 78d6cb02f1c264eeb47f0ed7c6ea63cb0923119fb718be4f493423e9ef16546d810fadae82321fd1465528375383f0a65c6fe1a0bb091829ad14a9fc1f91296c SHA512 3a1bb7f684032d6130006597d1665ff063490a155bcbe720bb9cb94ff0368df1d86646923dad8965e6cecc12d05618e348f1b9d260a9fab3b9fb275c3350cf91 DIST OpenJDK8U-jdk_arm_linux_hotspot_8u382b05.tar.gz 98311130 BLAKE2B b2158aca6fef4e8a404b9dace05817f5fefd0b201281351126d422f35d66d733510943246c22a47f03e65d711f25d424935ae8788057722c71cbb30a4f7a4a1e SHA512 70d79c385ebb1cfe286781eb8da0d622a61140a0abc3b6bc559c8213ace93b9ce2a77aa55a3ef32936ee512b406044c1708624b4d040b62dd2462b4ea6e71572 +DIST OpenJDK8U-jdk_arm_linux_hotspot_8u402b06.tar.gz 98319479 BLAKE2B 6b59e92767566e8abf7bd360f6b0b543ceb514c3b1677ef1610596998390dba74e54cd673cff764677c11316f88ab05fe0080549ab063eec5bf42ac6f97343af SHA512 6595b35a5d883d17de56fcac638a4936397e01c2a132269ce66e325a8cb0fc6b437ab16062c1decaf5a93b6597e72034e2aef1ddbe5442f23575f31504a3767c DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u382b05.tar.gz 100512595 BLAKE2B e2d0c97d0b68e649e11755fe258035a307ab8b96331ec0e6e431ec126857b60869d9c2bae966955a929fe87572b59e898603b32284bc76ce49c8086b06b838e6 SHA512 04a58d50c4fe0ced94b48e3018a6853c836a4f53cb4f310bad2ca7e913380a023655230ff5bb421f012cf2cdc037767f9e11aaa8f5b1b9f722b100c4417ccca4 +DIST OpenJDK8U-jdk_ppc64le_linux_hotspot_8u402b06.tar.gz 100525497 BLAKE2B b3ca75fd946ea70dd8fcbc444b361e02b3249144795b0d2786892e6ec668802ae3b2f082fabe1d9e91e5db5877d6774f5c56f5fc382b38e739070e54e95bdca5 SHA512 e00df5042f7f813153689e33e7e64b23efbe2b64d8a11e60072f50f0ba38a61cf66214c535d75175f9ed99f67c22857ccc36d62c9c34962a7385e4b9c880c5d0 DIST OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u382b05.tar.gz 100894343 BLAKE2B 78d7551652b10d71a3bfaf6639ab5cd6fc169d9cbb9010e93812d32863fc3556eaae93ccc8ad8c0bf1002feb0ae7715433dabeff62bbf91e1bd5a248b1204768 SHA512 ef82b9604994348ecf2a55c02e717af88beb616abd87482de9b9afc2ef832e29d1338839910bc64d0de07fb0b5b420eff9ce6718795c4abdf409475b17c01a3e +DIST OpenJDK8U-jdk_x64_alpine-linux_hotspot_8u402b06.tar.gz 100908305 BLAKE2B 3beb70ed7c99f80fb338fd8580f6b6ee9a4af0d7034abff59c0f8d42255fe83a3e9b9847d82dd4bb793439a64dc9d5fcc2d407f4bfd09625bf8be3ad92bf0e5f SHA512 e5563646a505923c1f2342a884c94e24c06de14dd6da21c3cb010bcf1e4c481ff7cdbae8cecfb70bf52a4c5d23a9fa87e38b1c7b8b84f99b0a8b3e8ca25242aa DIST OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz 102988783 BLAKE2B 3aa9b47e0e1dcf8fc67ebbb8d2bf70987fa7d527fbbd2cd15d43385922851d6144b96549e77b8060809a6eabf057353593e5efe9f5c02cc991bdf9c0dd734b01 SHA512 13c78f78d14856d58f692ad032664d363fb1063bdb0b16e19cd68587c9d16df152c5fc9d4ec15b53691c9146345936aab1a6c5b79a4c43740a418fa2c3871ca9 +DIST OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz 103003119 BLAKE2B c97a924fe236ec0ad30eb70fb9ad2bea19065a22622d68dabb86be02eccdb30707bc00af98f46246fc8242f0bff4be8d5becfd32bf6cb015dd443d94e2722489 SHA512 22259ee3d98ed49e38f7c78efc200f72ee1fe5c02830e79061d16cc634df3276d1e17a113354bfd3d575ebf3b56e128848d03ae3dd5c06cc1954e33ad395b9e9 DIST OpenJDK8U-jdk_x64_mac_hotspot_8u382b05.tar.gz 107309922 BLAKE2B 94a06fc998e57901b79396c47e4c1a4c82a7fb338d454267a1f8e4270665486ec259675458e24f7d2c3d55d1d206e91f46d1e4c5de7ef235f12aad93a32564c5 SHA512 5259772daa999e0668c380e8d436c3e99012b6c7c6ba09cff206efb54a102a30d9279ec6d4386927579b6e9d478fee74fc7f6266957ae4425aa29148eb5936e4 +DIST OpenJDK8U-jdk_x64_mac_hotspot_8u402b06.tar.gz 109474943 BLAKE2B e277cf06d893aa75f9aee91894fa6177c52fa556128614b80755af3c1bb16036daf972b4267c5c02d6e187c6bd52713eeeffd93e23f8d7a2897ad01149e8545c SHA512 718a120a1c6a861cba900ad267f646177e1b56d9646068121341ae9ce52a9ae9a20afa173d85c4870d539105f94b75685108c019da84bd23e973ce80e2356841 diff --git a/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild new file mode 100644 index 000000000000..5016ef81aadf --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-11.0.22_p7.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 toolchain-funcs + +abi_uri() { + local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/" + local musl= + local os=linux + + case ${2} in + *-macos) os=mac ;; + *-solaris) os=solaris ;; + esac + + if [[ ${3} == musl ]]; then + os=alpine-linux + musl=true + fi + + echo "${2-$1}? ( + ${musl:+ elibc_musl? ( } + ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz + ${musl:+ ) } )" +} + +MY_PV=${PV/_p/+} +SLOT=$(ver_cut 1) + +SRC_URI=" + $(abi_uri aarch64 arm64) + $(abi_uri arm) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 x64-macos) + $(abi_uri x64 amd64 musl) +" + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos" +IUSE="alsa cups headless-awt selinux source" + +RDEPEND=" + >=sys-apps/baselayout-java-0.1.0-r1 + kernel_linux? ( + media-libs/fontconfig:1.0 + media-libs/freetype:2 + media-libs/harfbuzz + elibc_glibc? ( >=sys-libs/glibc-2.2.5:* ) + elibc_musl? ( sys-libs/musl ) + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + ) + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk-${MY_PV}" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]]; then + die "These binaries require a hardfloat system." + fi +} + +src_unpack() { + default + if [[ ${A} == *_mac_* ]] ; then + mv -v "${S}/Contents/Home/"* "${S}" || die + rm -Rf "${S}/Contents" # drop macOS executable + fi +} + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + + # on macOS if they would exist they would be called .dylib, but most + # importantly, there are no different providers, so everything + # that's shipped works. + if [[ ${A} != *_mac_* ]] ; then + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # prefer system copy # https://bugs.gentoo.org/776676 + rm -vf lib/libharfbuzz.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + # provide stable symlink + dosym "${P}" "/opt/${PN}-${SLOT}" + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild b/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild new file mode 100644 index 000000000000..1e59953a44c8 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-17.0.10_p7.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 toolchain-funcs + +abi_uri() { + local baseuri="https://github.com/adoptium/temurin${SLOT}-binaries/releases/download/jdk-${MY_PV}/" + local musl= + local os=linux + + case ${2} in + *-macos) os=mac ;; + *-solaris) os=solaris ;; + esac + + if [[ ${3} == musl ]]; then + os=alpine-linux + musl=true + fi + + echo "${2-$1}? ( + ${musl:+ elibc_musl? ( } + ${baseuri}/OpenJDK${SLOT}U-jdk_${1}_${os}_hotspot_${MY_PV//+/_}.tar.gz + ${musl:+ ) } )" +} + +MY_PV=${PV/_p/+} +SLOT=$(ver_cut 1) + +SRC_URI=" + $(abi_uri aarch64 arm64) + $(abi_uri aarch64 arm64-macos) + $(abi_uri arm) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(abi_uri x64 x64-macos) +" + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x64-macos" +IUSE="alsa cups headless-awt selinux source" + +RDEPEND=" + >=sys-apps/baselayout-java-0.1.0-r1 + kernel_linux? ( + media-libs/fontconfig:1.0 + media-libs/freetype:2 + media-libs/harfbuzz + elibc_glibc? ( >=sys-libs/glibc-2.2.5:* ) + elibc_musl? ( sys-libs/musl ) + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrender + x11-libs/libXtst + ) + )" + +RESTRICT="preserve-libs splitdebug" +QA_PREBUILT="*" + +S="${WORKDIR}/jdk-${MY_PV}" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]]; then + die "These binaries require a hardfloat system." + fi +} + +src_unpack() { + default + if [[ ${A} == *_mac_* ]] ; then + mv -v "${S}/Contents/Home/"* "${S}" || die + rm -Rf "${S}/Contents" # drop macOS executable + fi +} + +src_install() { + local dest="/opt/${P}" + local ddest="${ED}/${dest#/}" + + # on macOS if they would exist they would be called .dylib, but most + # importantly, there are no different providers, so everything + # that's shipped works. + if [[ ${A} != *_mac_* ]] ; then + # Not sure why they bundle this as it's commonly available and they + # only do so on x86_64. It's needed by libfontmanager.so. IcedTea + # also has an explicit dependency while Oracle seemingly dlopens it. + rm -vf lib/libfreetype.so || die + + # prefer system copy # https://bugs.gentoo.org/776676 + rm -vf lib/libharfbuzz.so || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if use headless-awt ; then + rm -v lib/lib*{[jx]awt,splashscreen}* || die + fi + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + dosym -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + # provide stable symlink + dosym "${P}" "/opt/${PN}-${SLOT}" + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_set-pax-markings "${ddest}" + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild b/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild new file mode 100644 index 000000000000..c45432f5aea4 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-21.0.2_p13.ebuild @@ -0,0 +1,133 @@ +# Copyright 1999-2024 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 ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) +" + +DESCRIPTION="Prebuilt Java JDK binaries provided by Eclipse Temurin" +HOMEPAGE="https://adoptium.net" +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm64 ~ppc64" +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.402_p06.ebuild b/dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild new file mode 100644 index 000000000000..41f9b1be59a4 --- /dev/null +++ b/dev-java/openjdk-bin/openjdk-bin-8.402_p06.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-vm-2 + +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=$(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 aarch64 arm64) + $(abi_uri arm) + $(abi_uri ppc64le ppc64) + $(abi_uri x64 amd64) + $(abi_uri x64 amd64 musl) + $(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 + elibc_glibc? ( >=sys-libs/glibc-2.2.5:* ) + elibc_musl? ( sys-libs/musl ) + 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/Manifest b/dev-java/openjdk/Manifest index 4bda6b86f359..0124f26bb6f5 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -1,9 +1,13 @@ DIST java17-riscv64.patch 2253475 BLAKE2B a10a257f0b8bf590cdc011cf0c5af4854d49d6bbdf68dd74b2f996b70e0ecdd2b87bc4a02394f67ded5e664efb41f8dd03bb312fbfcffd84c289afdcbf7868de SHA512 06230b121e1f28189877025a4eab99e6d8cba176a17c88f073498fec6c73ab26130ce1500ea4f83235cc6abbc1742e47b227d60b5ff77465740048abdc52d165 DIST openjdk-11.0.18-riscv.patch.xz 272672 BLAKE2B b079612032a5bf135b05bdd1da16f2823772a5d9a18447a435f191daf78c5429a15c2e9ea64758dc9b26ee2a88275532b4f27714b2a7e4489f920c0ed2f5003b SHA512 c0426f243c5aa581d90366cb01ce811e34883a9d8a0298cab420378470e8eb427a56932ca1fbb5ed57e7430be2b38c6bc4491028ebaa25be0a938ba0bb2baf45 DIST openjdk-11.0.20.1_p1.tar.gz 116165519 BLAKE2B 3f3627d6535770c6654226ca2c188ac4aa0f332c7f66d79ab1991274e019ee4aee5194b285bace03175593543017a2ec75494e8e50b5488df82c7d437bf31398 SHA512 765f90a24629e5db5afb23b09edc38a3d460ba27d1de53980942e711783fe9fdf1c4ef29a75d2ffd6d93864611ffce60d515e032180917cd053967a0d4ecfc69 +DIST openjdk-11.0.22_p7.tar.gz 116235391 BLAKE2B 50b845b8f1e316da37e45c94a1890939659b554a314a1a455903e8cc58465cd69cd485548b6b42c445150187e37df5cf946d52bca754236a198f6aa10d7de37e SHA512 b88d0db9750d8201dfb4b027045de4023be766e42cca7a3ff5e0cb28db4c6da3f146a57819a6b81cb33e5837726986bcc3780ecf88bf525f445c2cd35a3993d8 +DIST openjdk-17.0.10_p7.tar.gz 106398664 BLAKE2B 48cb2bc7d063da25a62834734ba4a887d26a27a8d84c535255df67419bf4f6d8b060c48ef37bd7324e14e957a141791380d4d9e42335a90f72dc34bc7b1d12fe SHA512 c2dfd66debdce488de044efcfc3f57cc9eb07ead2cfb7dd6e28e5748d48ec89f0c326a4c3f4a5c740019b8e5a02b858d93dd74a0c6626de445144b9840d3a426 DIST openjdk-17.0.8.1_p1.tar.gz 105878760 BLAKE2B e4d752dc87717855bfe4bd84c97056f0d93b554c67bdbb3e750e20479e2156628c85aea7b404577ea6ff40d49669d5f53aab06d0c4cf9aa926b060a0cd93cd03 SHA512 0d8e9e54173be855c15d121d4d6cd36996700e1e2fb194ad93ba8ad794a342c87b7d2f81a32d0bb215e45f1dc1f4efdfe1be5e8de99395730902d443ac773813 DIST openjdk-21.0.1_p12.tar.gz 112241360 BLAKE2B 68a542a1dd65cf74b826e255d08350ec662c37337e45aec18d91e0dbdcce5c6e50172ad482cc21f1aacbf356722e009d4b6431aecf5a1d6b67b74a5007ca702a SHA512 def4b6688f063758235bc454bbbdb4caefa45d2724a9f2296af11d684801f05f1375f0be771b52d9235676e7f89dec816a34b3a1a1cc972662ee50de89600455 +DIST openjdk-21.0.2_p13.tar.gz 112252812 BLAKE2B a7cbdc67d05a4e7db75ddb7043f06928c599139bd6eab02a23749194eb340f82038061036e84961ed124b8c8a0320bc3a2a890100b643765e1a87b8b129f30f9 SHA512 01a2f57dc432ea31f64d79092ae722f752e7ff111291cb5fb874046079a0fee985ede9d3aac991d946c9c6e712854827dd45284ff4cf39592add3629dbb94ace DIST openjdk-8.382_p05.tar.gz 93105951 BLAKE2B 07e2961dbbd8de153650a1f92fd88960e6b1b39e7d212cc158bd943d35da5fdab0595583226ac12134eb176b1c550576e7aef5dfaf4a76ac0060daa42f4b4495 SHA512 5879cfbd5795f0260897c52fe2503754767faf1e229832e0c4c6dd9957055fd7105d14403d82ccf92eed0adfecc5bc858a89643e68d3c81d437fd543fbfce49a +DIST openjdk-8.402_p06.tar.gz 93136112 BLAKE2B 023422ca2b4dfc08fd3642e3cb3ec0503d57d09dbcb54841e4a04f67a6cd118712cba90b7760eaf9135f9f001f7c15221c4bcb19986547fb2b6b3fb852bb8af4 SHA512 476d195ef500d8dd2013b17de0669a77ef8076b55c2753eb88b1a13f7a48526b1be7a1befabd284eb9ee8411df19ab1f39c81287ab659984d2d67e8aa7192d79 DIST openjdk-bootstrap-11.0.13_p8-ppc64.tar.xz 108215404 BLAKE2B 5e6c0b905b34b437137922b73a9724da96b8832186fea945f8c73d941db822ca1cc5718f3ecb4607ed98d1f8241c9f365b54caaf978863e8b84680a94f067b5d SHA512 732e2220219d42be10589fcaf2420da87ebc8564b4afc6bd02f61f31cdca9c31b339366e34d374fb814499b92f8aa796435a18f28e10c8cb00d9a0f5953bb60e 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/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch new file mode 100644 index 000000000000..317f1aa226b3 --- /dev/null +++ b/dev-java/openjdk/files/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch @@ -0,0 +1,41 @@ +From cc568d4d246ffc9bf08a96db0889d3b89c852718 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 6 Mar 2024 11:22:11 +0000 +Subject: [PATCH 1/4] Fix -Wint-conversion +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport of upstream commit https://github.com/openjdk/jdk21u-dev/commit/7b1455163ed893639059b3d62b71b2ff347c2e3f. + +Fixes the following warning/error: +``` +jdk8u-jdk8u402-ga/jdk/src/share/bin/splashscreen_stubs.c:64:5: error: returning ‘void *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion] +``` + +Signed-off-by: Sam James +--- + jdk/src/share/bin/splashscreen_stubs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/jdk/src/share/bin/splashscreen_stubs.c b/jdk/src/share/bin/splashscreen_stubs.c +index 9c1f514..666634f 100644 +--- a/jdk/src/share/bin/splashscreen_stubs.c ++++ b/jdk/src/share/bin/splashscreen_stubs.c +@@ -61,11 +61,11 @@ typedef char* (*SplashGetScaledImageName_t)(const char* fileName, + #define INVOKEV(name) _INVOKE(name, ,;) + + int DoSplashLoadMemory(void* pdata, int size) { +- INVOKE(SplashLoadMemory, NULL)(pdata, size); ++ INVOKE(SplashLoadMemory, 0)(pdata, size); + } + + int DoSplashLoadFile(const char* filename) { +- INVOKE(SplashLoadFile, NULL)(filename); ++ INVOKE(SplashLoadFile, 0)(filename); + } + + void DoSplashInit(void) { +-- +2.44.0 + diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch new file mode 100644 index 000000000000..3e8a5d17113c --- /dev/null +++ b/dev-java/openjdk/files/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch @@ -0,0 +1,48 @@ +From 57b8fef20b090ffdf99bcf2c3f5fc8d0d4472788 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 6 Mar 2024 11:54:24 +0000 +Subject: [PATCH 2/4] Fix -Wincompatible-pointer-types +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport https://github.com/openjdk/jdk17u/commit/6632e6c6ca74101b45b052fb7962376fbe97605e. + +``` +jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c: In function ‘Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeImage’: +jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2853:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types] + 2853 | freeArray(scale, numBands); + | ^~~~~ + | | + | UINT8 ** {aka unsigned char **} +jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2689:30: note: expected ‘void **’ but argument is of type ‘UINT8 **’ {aka ‘unsigned char **’} + 2689 | static void freeArray(void** arr, jint size) { + | ~~~~~~~^~~ +jdk8u-jdk8u402-ga/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c:2860:19: error: passing argument 1 of ‘freeArray’ from incompatible pointer type [-Wincompatible-pointer-types] + 2860 | freeArray(scale, numBands); + | ^~~~~ + | | + | UINT8 ** {aka unsigned char **} +``` + +Signed-off-by: Sam James +--- + jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c +index 7e1d8c9..163003c 100644 +--- a/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c ++++ b/jdk/src/share/native/sun/awt/image/jpeg/imageioJPEG.c +@@ -2686,7 +2686,7 @@ Java_com_sun_imageio_plugins_jpeg_JPEGImageWriter_writeTables + RELEASE_ARRAYS(env, data, NULL); + } + +-static void freeArray(void** arr, jint size) { ++static void freeArray(UINT8** arr, jint size) { + int i; + if (arr != NULL) { + for (i = 0; i < size; i++) { +-- +2.44.0 + diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch new file mode 100644 index 000000000000..3e4296d21aac --- /dev/null +++ b/dev-java/openjdk/files/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch @@ -0,0 +1,38 @@ +From 685bf942bdf5b265a3b343c2b682b01b11b6e58a Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 6 Mar 2024 12:20:03 +0000 +Subject: [PATCH 3/4] Fix negative value left shift +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport of https://github.com/openjdk/jdk17u/commit/51be7db96f3fc32a7ddb24f8af19fb4fc0577aaf. + +``` +jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:37: error: left operand of shift expression ‘(-1 << 13)’ is negative [-fpermissive] +jdk/src/share/native/com/sun/java/util/jar/pack/constants.h:226:39: error: enumerator value for ‘AO_UNUSED_MBZ’ is not an integer constant + 226 | AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use. + | ^~ +``` + +Signed-off-by: Sam James +--- + jdk/src/share/native/com/sun/java/util/jar/pack/constants.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h b/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h +index f1a1f73..536003b 100644 +--- a/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h ++++ b/jdk/src/share/native/com/sun/java/util/jar/pack/constants.h +@@ -223,7 +223,7 @@ enum { + AO_HAVE_FIELD_FLAGS_HI = 1<<10, + AO_HAVE_METHOD_FLAGS_HI = 1<<11, + AO_HAVE_CODE_FLAGS_HI = 1<<12, +- AO_UNUSED_MBZ = (-1)<<13, // options bits reserved for future use. ++ AO_UNUSED_MBZ = (int)((~0U)<<13), // options bits reserved for future use. + + #define ARCHIVE_BIT_DO(F) \ + F(AO_HAVE_SPECIAL_FORMATS) \ +-- +2.44.0 + diff --git a/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch b/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch new file mode 100644 index 000000000000..44c5268646d8 --- /dev/null +++ b/dev-java/openjdk/files/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch @@ -0,0 +1,61 @@ +From 24f51a75b79aec29bd1631d320e051a646b9fae4 Mon Sep 17 00:00:00 2001 +From: Sam James +Date: Wed, 6 Mar 2024 12:23:41 +0000 +Subject: [PATCH 4/4] Fix misc. warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Backport of https://github.com/openjdk/jdk11u/commit/49dec121161c162f4aa94caf8c09413253d89377. + +``` +jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘_jobject* Java_com_sun_java_util_jar_Unpack_getUnusedInput(JNIEnv*, jobject)’: +jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:295:12: error: cannot convert ‘bool’ to ‘jobject’ {aka ‘_jobject*’} in return + 295 | return false; + | ^~~~~ +jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp: In function ‘jlong Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv*, jobject)’: +jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null] + 315 | CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ +jdk8u-jdk8u402-ga/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp:315:3: warning: converting to non-pointer type ‘long int’ from NULL [-Wconversion-null] +[...] +``` + +Signed-off-by: Sam James +--- + jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +index 5fbc726..4c002e7 100644 +--- a/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp ++++ b/jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +@@ -292,7 +292,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_getUnusedInput(JNIEnv *env, jobject + + if (uPtr->aborting()) { + THROW_IOE(uPtr->get_abort_message()); +- return false; ++ return null; + } + + // We have fetched all the files. +@@ -312,7 +312,7 @@ Java_com_sun_java_util_jar_pack_NativeUnpack_finish(JNIEnv *env, jobject pObj) { + // There's no need to create a new unpacker here if we don't already have one + // just to immediatly free it afterwards. + unpacker* uPtr = get_unpacker(env, pObj, /* noCreate= */ true); +- CHECK_EXCEPTION_RETURN_VALUE(uPtr, NULL); ++ CHECK_EXCEPTION_RETURN_VALUE(uPtr, 0); + size_t consumed = uPtr->input_consumed(); + // free_unpacker() will set the unpacker field on 'pObj' to null + free_unpacker(env, pObj, uPtr); +@@ -323,6 +323,7 @@ JNIEXPORT jboolean JNICALL + Java_com_sun_java_util_jar_pack_NativeUnpack_setOption(JNIEnv *env, jobject pObj, + jstring pProp, jstring pValue) { + unpacker* uPtr = get_unpacker(env, pObj); ++ CHECK_EXCEPTION_RETURN_VALUE(uPtr, false); + const char* prop = env->GetStringUTFChars(pProp, JNI_FALSE); + CHECK_EXCEPTION_RETURN_VALUE(prop, false); + const char* value = env->GetStringUTFChars(pValue, JNI_FALSE); +-- +2.44.0 + diff --git a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild b/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild index e05303dde86e..dbb9da687c7f 100644 --- a/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild +++ b/dev-java/openjdk/openjdk-11.0.20.1_p1.ebuild @@ -258,7 +258,7 @@ src_compile() { $(usex doc docs '') $(usex jbootstrap bootcycle-images product-images) ) - emake "${myemakeargs[@]}" -j1 #nowarn + emake "${myemakeargs[@]}" -j1 } src_install() { diff --git a/dev-java/openjdk/openjdk-11.0.22_p7.ebuild b/dev-java/openjdk/openjdk-11.0.22_p7.ebuild new file mode 100644 index 000000000000..35c84c8eae14 --- /dev/null +++ b/dev-java/openjdk/openjdk-11.0.22_p7.ebuild @@ -0,0 +1,312 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eapi8-dosym check-reqs flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +# we need -ga tag to fetch tarball and unpack it, but exact number everywhere else to +# set build version properly +MY_PV="${PV%_p*}-ga" +SLOT="${MY_PV%%[.+]*}" + +# variable name format: _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 [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}.${suff} ${cond:+) })" +} + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri riscv ${RISCV_XPAK}) + $(bootstrap_uri x86 ${X86_XPAK}) + ) + riscv? ( https://dev.gentoo.org/~arthurzam/distfiles/dev-java/openjdk/openjdk-11.0.18-riscv.patch.xz ) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT}[gentoo-vm(+)] + dev-java/openjdk:${SLOT}[gentoo-vm(+)] + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + if use system-bootstrap; then + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + fi +} + +src_prepare() { + use riscv && eapply "${WORKDIR}"/openjdk-11.0.18-riscv.patch + default + chmod +x configure || die +} + +src_configure() { + if ! use system-bootstrap; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + fi + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + ! use riscv && myconf+=( --with-jvm-features=shenandoahgc ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + # this is not useful for users, just for upstream developers + # build system compares mesa version in md file + # https://bugs.gentoo.org/822612 + export LEGAL_EXCLUDES=mesa3d.md + + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym8 -r /usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-17.0.10_p7.ebuild b/dev-java/openjdk/openjdk-17.0.10_p7.ebuild new file mode 100644 index 000000000000..2e4abb1bd319 --- /dev/null +++ b/dev-java/openjdk/openjdk-17.0.10_p7.ebuild @@ -0,0 +1,327 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# variable name format: _XPAK +ARM64_XPAK="17.0.2_p8" # musl bootstrap install +PPC64_XPAK="17.0.1_p12" # big-endian bootstrap tarball +RISCV_XPAK="17.0.3_p7" +X86_XPAK="17.0.1_p12" + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +MY_PV="${PV%_p*}-ga" +SLOT="${MY_PV%%[.+]*}" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri arm64 ${ARM64_XPAK} elibc_musl) + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri x86 ${X86_XPAK}) + $(bootstrap_uri riscv ${RISCV_XPAK}) + ) + riscv? ( https://dev.gentoo.org/~gyakovlev/distfiles/dev-java/openjdk/java17-riscv64.patch ) +" +# riscv patch origin: +# https://raw.githubusercontent.com/felixonmars/archriscv-packages/master/java17-openjdk/java17-riscv64.patch + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +IUSE="alsa big-endian cups debug doc examples headless-awt javafx +jbootstrap lto selinux source system-bootstrap systemtap" + +REQUIRED_USE=" + javafx? ( alsa !headless-awt ) + !system-bootstrap? ( jbootstrap ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done +} + +src_prepare() { + use riscv && eapply "${DISTDIR}"/java17-riscv64.patch + default + chmod +x configure || die +} + +src_configure() { + if has_version dev-java/openjdk:${SLOT}; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT} + elif use !system-bootstrap ; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + else + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*} + export JDK_HOME + fi + + # Work around stack alignment issue, bug #647954. in case we ever have x86 + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --disable-warnings-as-errors + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-jvm-feature-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild b/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild index b7024ebb2a6b..715fd2f4e5e5 100644 --- a/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild +++ b/dev-java/openjdk/openjdk-17.0.8.1_p1.ebuild @@ -273,7 +273,7 @@ src_compile() { $(usex doc docs '') $(usex jbootstrap bootcycle-images product-images) ) - emake "${myemakeargs[@]}" -j1 #nowarn + emake "${myemakeargs[@]}" -j1 } src_install() { diff --git a/dev-java/openjdk/openjdk-21.0.1_p12.ebuild b/dev-java/openjdk/openjdk-21.0.1_p12.ebuild index 7ba18116be89..8a14694848ca 100644 --- a/dev-java/openjdk/openjdk-21.0.1_p12.ebuild +++ b/dev-java/openjdk/openjdk-21.0.1_p12.ebuild @@ -266,7 +266,7 @@ src_compile() { $(usex doc docs '') $(usex jbootstrap bootcycle-images product-images) ) - emake "${myemakeargs[@]}" -j1 #nowarn + emake "${myemakeargs[@]}" -j1 } src_install() { diff --git a/dev-java/openjdk/openjdk-21.0.2_p13.ebuild b/dev-java/openjdk/openjdk-21.0.2_p13.ebuild new file mode 100644 index 000000000000..9da45c9869b2 --- /dev/null +++ b/dev-java/openjdk/openjdk-21.0.2_p13.ebuild @@ -0,0 +1,320 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# variable name format: _XPAK +PPC64_XPAK="21.0.0_p35" # big-endian bootstrap tarball +X86_XPAK="21.0.0_p35" + +# Usage: bootstrap_uri [extracond] +# Example: $(bootstrap_uri ppc64 17.0.1_p12 big-endian) +# Output: ppc64? ( big-endian? ( https://...17.0.1_p12-ppc64.tar.xz ) ) +bootstrap_uri() { + local baseuri="https://dev.gentoo.org/~arthurzam/distfiles/dev-java/${PN}/${PN}-bootstrap" + local suff="tar.xz" + local kw="${1:?${FUNCNAME[0]}: keyword not specified}" + local ver="${2:?${FUNCNAME[0]}: version not specified}" + local cond="${3-}" + [[ ${cond} == elibc_musl* ]] && local musl=yes + + # here be dragons + echo "${kw}? ( ${cond:+${cond}? (} ${baseuri}-${ver}-${kw}${musl:+-musl}.${suff} ${cond:+) })" +} + +# don't change versioning scheme +# to find correct _p number, look at +# https://github.com/openjdk/jdk${SLOT}u/tags +# you will see, for example, jdk-17.0.4.1-ga and jdk-17.0.4.1+1, both point +# to exact same commit sha. we should always use the full version. +# -ga tag is just for humans to easily identify General Availability release tag. +MY_PV="${PV%_p*}-ga" +SLOT="${MY_PV%%[.+]*}" + +DESCRIPTION="Open source implementation of the Java programming language" +HOMEPAGE="https://openjdk.org" +SRC_URI=" + https://github.com/${PN}/jdk${SLOT}u/archive/refs/tags/jdk-${MY_PV}.tar.gz + -> ${P}.tar.gz + !system-bootstrap? ( + $(bootstrap_uri ppc64 ${PPC64_XPAK} big-endian) + $(bootstrap_uri x86 ${X86_XPAK}) + ) +" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~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 ) + !system-bootstrap? ( || ( ppc64 x86 ) ) +" + +COMMON_DEPEND=" + media-libs/freetype:2= + media-libs/giflib:0/7 + media-libs/harfbuzz:= + media-libs/libpng:0= + media-libs/lcms:2= + sys-libs/zlib + media-libs/libjpeg-turbo:0= + systemtap? ( dev-debug/systemtap ) +" + +# Many libs are required to build, but not to run, make is possible to remove +# by listing conditionally in RDEPEND unconditionally in DEPEND +RDEPEND=" + ${COMMON_DEPEND} + >=sys-apps/baselayout-java-0.1.0-r1 + !headless-awt? ( + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + ) + alsa? ( media-libs/alsa-lib ) + cups? ( net-print/cups ) + selinux? ( sec-policy/selinux-java ) +" + +DEPEND=" + ${COMMON_DEPEND} + app-arch/zip + media-libs/alsa-lib + net-print/cups + x11-base/xorg-proto + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXtst + javafx? ( dev-java/openjfx:${SLOT}= ) + system-bootstrap? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +S="${WORKDIR}/jdk${SLOT}u-jdk-${MY_PV//+/-}" + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + java-vm-2_pkg_setup + + [[ ${MERGE_TYPE} == "binary" ]] && return + + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${BROOT}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done +} + +src_prepare() { + default + chmod +x configure || die +} + +src_configure() { + if has_version dev-java/openjdk:${SLOT}; then + export JDK_HOME=${BROOT}/usr/$(get_libdir)/openjdk-${SLOT} + elif use !system-bootstrap ; then + local xpakvar="${ARCH^^}_XPAK" + export JDK_HOME="${WORKDIR}/openjdk-bootstrap-${!xpakvar}" + else + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${BROOT}/opt/${JDK_HOME%-r*} + export JDK_HOME + fi + + # Work around stack alignment issue, bug #647954. in case we ever have x86 + use x86 && append-flags -mincoming-stack-boundary=2 + + # bug 906987; append-cppflags doesnt work + use elibc_musl && append-flags -D_LARGEFILE64_SOURCE + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, we rely on USE=lto and --with-jvm-features=link-time-opt + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + # Enabling full docs appears to break doc building. If not + # explicitly disabled, the flag will get auto-enabled if pandoc and + # graphviz are detected. pandoc has loads of dependencies anyway. + + local myconf=( + --disable-ccache + --disable-precompiled-headers + --disable-warnings-as-errors + --enable-full-docs=no + --with-boot-jdk="${JDK_HOME}" + --with-extra-cflags="${CFLAGS}" + --with-extra-cxxflags="${CXXFLAGS}" + --with-extra-ldflags="${LDFLAGS}" + --with-freetype="${XPAK_BOOTSTRAP:-system}" + --with-giflib="${XPAK_BOOTSTRAP:-system}" + --with-harfbuzz="${XPAK_BOOTSTRAP:-system}" + --with-lcms="${XPAK_BOOTSTRAP:-system}" + --with-libjpeg="${XPAK_BOOTSTRAP:-system}" + --with-libpng="${XPAK_BOOTSTRAP:-system}" + --with-native-debug-symbols=$(usex debug internal none) + --with-vendor-name="Gentoo" + --with-vendor-url="https://gentoo.org" + --with-vendor-bug-url="https://bugs.gentoo.org" + --with-vendor-vm-bug-url="https://bugs.openjdk.java.net" + --with-vendor-version-string="${PVR}" + --with-version-pre="" + --with-version-string="${PV%_p*}" + --with-version-build="${PV#*_p}" + --with-zlib="${XPAK_BOOTSTRAP:-system}" + --enable-jvm-feature-dtrace=$(usex systemtap yes no) + --enable-headless-only=$(usex headless-awt yes no) + $(tc-is-clang && echo "--with-toolchain-type=clang") + ) + + use riscv && myconf+=( --with-boot-jdk-jvmargs="-Djdk.lang.Process.launchMechanism=vfork" ) + + use lto && myconf+=( --with-jvm-features=link-time-opt ) + + if use javafx; then + local zip="${EPREFIX}/usr/$(get_libdir)/openjfx-${SLOT}/javafx-exports.zip" + if [[ -r ${zip} ]]; then + myconf+=( --with-import-modules="${zip}" ) + else + die "${zip} not found or not readable" + fi + fi + + if use !system-bootstrap ; then + addpredict /dev/random + addpredict /proc/self/coredump_filter + fi + + ( + unset _JAVA_OPTIONS JAVA JAVA_TOOL_OPTIONS JAVAC XARGS + CFLAGS= CXXFLAGS= LDFLAGS= \ + CONFIG_SITE=/dev/null \ + econf "${myconf[@]}" + ) +} + +src_compile() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images product-images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + cd "${S}"/build/*-release/images/jdk || die + + # Create files used as storage for system preferences. + mkdir .systemPrefs || die + touch .systemPrefs/.system.lock || die + touch .systemPrefs/.systemRootModFile || die + + # Oracle and IcedTea have libjsoundalsa.so depending on + # libasound.so.2 but OpenJDK only has libjsound.so. Weird. + if ! use alsa ; then + rm -v lib/libjsound.* || die + fi + + if ! use examples ; then + rm -vr demo/ || die + fi + + if ! use source ; then + rm -v lib/src.zip || die + fi + + rm -v lib/security/cacerts || die + + dodir "${dest}" + cp -pPR * "${ddest}" || die + + dosym8 -r /etc/ssl/certs/java/cacerts "${dest}"/lib/security/cacerts + + # must be done before running itself + java-vm_set-pax-markings "${ddest}" + + einfo "Creating the Class Data Sharing archives and disabling usage tracking" + "${ddest}/bin/java" -server -Xshare:dump -Djdk.disableLastUsageTracking || die + + java-vm_install-env "${FILESDIR}"/${PN}.env.sh + java-vm_revdep-mask + java-vm_sandbox-predict /dev/random /proc/self/coredump_filter + + if use doc ; then + docinto html + dodoc -r "${S}"/build/*-release/images/docs/* + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} + +pkg_postinst() { + java-vm-2_pkg_postinst +} diff --git a/dev-java/openjdk/openjdk-8.382_p05-r2.ebuild b/dev-java/openjdk/openjdk-8.382_p05-r2.ebuild index a0f00644cae2..bc55f5f3948c 100644 --- a/dev-java/openjdk/openjdk-8.382_p05-r2.ebuild +++ b/dev-java/openjdk/openjdk-8.382_p05-r2.ebuild @@ -189,7 +189,7 @@ src_compile() { $(usex doc docs '') $(usex jbootstrap bootcycle-images images) ) - emake "${myemakeargs[@]}" -j1 #nowarn + emake "${myemakeargs[@]}" -j1 } src_install() { diff --git a/dev-java/openjdk/openjdk-8.402_p06.ebuild b/dev-java/openjdk/openjdk-8.402_p06.ebuild new file mode 100644 index 000000000000..7fddacd1086f --- /dev/null +++ b/dev-java/openjdk/openjdk-8.402_p06.ebuild @@ -0,0 +1,244 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit check-reqs eapi8-dosym flag-o-matic java-pkg-2 java-vm-2 multiprocessing toolchain-funcs + +# 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-with-classpath-exception" +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} + ) +" + +BDEPEND=" + virtual/pkgconfig +" + +PDEPEND="javafx? ( dev-java/openjfx:${SLOT} )" + +S="${WORKDIR}/jdk${SLOT}u-jdk${MY_PV}" + +PATCHES=( + "${FILESDIR}/openjdk-8-insantiate-arrayallocator.patch" + "${FILESDIR}/openjdk-8.402_p06-0001-Fix-Wint-conversion.patch" + "${FILESDIR}/openjdk-8.402_p06-0002-Fix-Wincompatible-pointer-types.patch" + "${FILESDIR}/openjdk-8.402_p06-0003-Fix-negative-value-left-shift.patch" + "${FILESDIR}/openjdk-8.402_p06-0004-Fix-misc.-warnings.patch" +) + +# The space required to build varies wildly depending on USE flags, +# ranging from 2GB to 16GB. This function is certainly not exact but +# should be close enough to be useful. +openjdk_check_requirements() { + local M + M=2048 + M=$(( $(usex debug 3 1) * $M )) + M=$(( $(usex jbootstrap 2 1) * $M )) + M=$(( $(usex doc 320 0) + $(usex source 128 0) + 192 + $M )) + + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + openjdk_check_requirements + if [[ ${MERGE_TYPE} != binary ]]; then + has ccache ${FEATURES} && die "FEATURES=ccache doesn't work with ${PN}, bug #677876" + fi +} + +pkg_setup() { + openjdk_check_requirements + + JAVA_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 + + # -Wregister use (bug #918655) + append-cxxflags -std=gnu++14 + + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + + # Strip some flags users may set, but should not. #818502 + filter-flags -fexceptions + + # Strip lto related flags, no support in this version. + # https://bugs.gentoo.org/833097 + # https://bugs.gentoo.org/833098 + filter-lto + filter-flags -fdevirtualize-at-ltrans + + 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() { + # Too brittle - gets confused by e.g. -Oline + export MAKEOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset GNUMAKEFLAGS MAKEFLAGS + + local myemakeargs=( + JOBS=$(makeopts_jobs) + LOG=debug + CFLAGS_WARNINGS_ARE_ERRORS= # No -Werror + NICE= # Use PORTAGE_NICENESS, don't adjust further down + $(usex doc docs '') + $(usex jbootstrap bootcycle-images images) + ) + emake "${myemakeargs[@]}" -j1 +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SLOT}" + local ddest="${ED}/${dest#/}" + + 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" +} diff --git a/dev-java/openjfx/files/11/0001-c99.patch b/dev-java/openjfx/files/11/0001-c99.patch new file mode 100644 index 000000000000..f553d2858801 --- /dev/null +++ b/dev-java/openjfx/files/11/0001-c99.patch @@ -0,0 +1,22 @@ +https://bugs.gentoo.org/919413 +https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide + +commit 42321838b98d2ebb3d8384c88a764ff2b4d70581 +Author: Florian Weimer +Date: Fri Jun 16 12:19:10 2023 +0000 + + 8307542: Call to FcConfigAppFontAddFile uses wrong prototype, arguments + + Reviewed-by: kcr + +--- a/modules/javafx.graphics/src/main/native-font/pango.c ++++ b/modules/javafx.graphics/src/main/native-font/pango.c +@@ -243,7 +243,7 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(FcConfigAppFontAddFile) + if (text) { + // rc = (jboolean)FcConfigAppFontAddFile(arg0, text); + if (fp) { +- rc = (jboolean)((jboolean (*)(void *, const char *))fp)(arg0, text); ++ rc = (jboolean)((int (*)(void *, const char *))fp)((void *)arg0, text); + } + (*env)->ReleaseStringUTFChars(env, arg1, text); + } diff --git a/dev-java/openjfx/files/11/0002-c99.patch b/dev-java/openjfx/files/11/0002-c99.patch new file mode 100644 index 000000000000..4cdc5ed35e50 --- /dev/null +++ b/dev-java/openjfx/files/11/0002-c99.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/919413 +https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide + +8323078: Incorrect length argument to g_utf8_strlen in pango.c + +Submitted upstream: + +--- a/modules/javafx.graphics/src/main/native-font/pango.c ++++ b/modules/javafx.graphics/src/main/native-font/pango.c +@@ -402,7 +402,7 @@ JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf8_1strlen) + (JNIEnv *env, jclass that, jlong str, jlong pos) + { + if (!str) return 0; +- return (jlong)g_utf8_strlen((const gchar *)str, (const gchar *)pos); ++ return (jlong)g_utf8_strlen((const gchar *)str, (gssize)pos); + } + + JNIEXPORT jlong JNICALL OS_NATIVE(g_1utf16_1to_1utf8) diff --git a/dev-java/openjfx/files/11/0003-c99.patch b/dev-java/openjfx/files/11/0003-c99.patch new file mode 100644 index 000000000000..8779f882b799 --- /dev/null +++ b/dev-java/openjfx/files/11/0003-c99.patch @@ -0,0 +1,19 @@ +https://bugs.gentoo.org/919413 +https://src.fedoraproject.org/rpms/openjfx/c/9e893037f3a20273c79603220b7a18a44be60fcc?branch=rawhide + +8323077: C type error (incompatible function pointer) in X11GLContext.c + +Submitted upstream: + +--- a/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c ++++ b/modules/javafx.graphics/src/main/native-prism-es2/x11/X11GLContext.c +@@ -275,7 +275,8 @@ JNIEXPORT jlong JNICALL Java_com_sun_prism_es2_X11GLContext_nInitialize + dlsym(RTLD_DEFAULT, "glXSwapIntervalSGI"); + + if (ctxInfo->glXSwapIntervalSGI == NULL) { +- ctxInfo->glXSwapIntervalSGI = glXGetProcAddress("glXSwapIntervalSGI"); ++ ctxInfo->glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC) ++ glXGetProcAddress((const GLubyte *)"glXSwapIntervalSGI"); + } + + } diff --git a/dev-java/openjfx/files/11/respect-cc.patch b/dev-java/openjfx/files/11/respect-cc.patch new file mode 100644 index 000000000000..85b742f3a630 --- /dev/null +++ b/dev-java/openjfx/files/11/respect-cc.patch @@ -0,0 +1,15 @@ +diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle +index 2295566..ce54c3f 100644 +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -214,8 +214,8 @@ setupTools("linux_freetype_tools", + } + ) + +-def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : "${toolchainDir}gcc"; +-def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : "${toolchainDir}g++"; ++def compiler = IS_COMPILE_PARFAIT ? "parfait-gcc" : System.getenv("CC"); ++def linker = IS_STATIC_BUILD ? "ar" : IS_COMPILE_PARFAIT ? "parfait-g++" : System.getenv("CXX"); + + LINUX.glass = [:] + LINUX.glass.variants = ["glass", "glassgtk2", "glassgtk3"] diff --git a/dev-java/openjfx/files/11/strip-blank-elements-flags.patch b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch new file mode 100644 index 000000000000..87f0279979f7 --- /dev/null +++ b/dev-java/openjfx/files/11/strip-blank-elements-flags.patch @@ -0,0 +1,29 @@ +Without this, you'll get bizarre errors where linking fails because it looks for +a literal "" arg. + +https://bugs.gentoo.org/715092 +https://bugs.gentoo.org/719484 +https://bugs.gentoo.org/799227 +https://bugs.gentoo.org/915727 +--- a/buildSrc/linux.gradle ++++ b/buildSrc/linux.gradle +@@ -47,7 +47,8 @@ def commonFlags = [ + "-Wno-error=cast-function-type", + "-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=trampolines"] // warning flags + +-commonFlags.addAll(System.getenv("CFLAGS").trim().split(" ")) ++commonFlags.addAll(System.getenv("CFLAGS").strip().split(" ")) ++commonFlags.removeAll([""]) + + if (!IS_64) { + commonFlags += "-m32" +@@ -75,7 +76,8 @@ def staticLinkFlags = [].flatten() + + def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags; + +-linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" ")) ++linkFlags.addAll(System.getenv("LDFLAGS").strip().split(" ")) ++linkFlags.removeAll([""]) + + if (IS_DEBUG_NATIVE) { + linkFlags += "-g" diff --git a/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild b/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild new file mode 100644 index 000000000000..4f4331a06705 --- /dev/null +++ b/dev-java/openjfx/openjfx-11.0.11_p1-r2.ebuild @@ -0,0 +1,231 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="${PV/_p/+}" +SLOT="${MY_PV%%[.+]*}" +EGRADLE_VER="4.10.3" + +inherit flag-o-matic java-pkg-2 multiprocessing toolchain-funcs + +DESCRIPTION="Java OpenJFX client application platform" +HOMEPAGE="https://openjfx.io" + +SRC_URI=" + https://hg.openjdk.java.net/${PN}/${SLOT}-dev/rt/archive/${MY_PV}.tar.bz2 -> ${P}.tar.bz2 + https://downloads.gradle.org/distributions/gradle-${EGRADLE_VER}-bin.zip + https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-sandbox/7.1.0/lucene-sandbox-7.1.0.jar + https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-grouping/7.1.0/lucene-grouping-7.1.0.jar + https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queryparser/7.1.0/lucene-queryparser-7.1.0.jar + https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-queries/7.1.0/lucene-queries-7.1.0.jar + https://repo.maven.apache.org/maven2/org/apache/lucene/lucene-core/7.1.0/lucene-core-7.1.0.jar + https://repo.maven.apache.org/maven2/org/antlr/gunit/3.5.2/gunit-3.5.2.jar + https://repo1.maven.org/maven2/org/antlr/antlr4/4.7.2/antlr4-4.7.2-complete.jar + https://repo.maven.apache.org/maven2/org/antlr/ST4/4.0.8/ST4-4.0.8.jar +" + +S="${WORKDIR}/rt-${MY_PV}" + +LICENSE="GPL-2-with-classpath-exception" +KEYWORDS="-* ~amd64 ~ppc64" +IUSE="cpu_flags_x86_sse2 debug doc source +media" +REQUIRED_USE="amd64? ( cpu_flags_x86_sse2 )" + +RDEPEND=" + app-accessibility/at-spi2-core + dev-java/swt:4.10[cairo,opengl] + dev-libs/glib:2 + dev-libs/libxml2:2 + dev-libs/libxslt + media-libs/freetype:2 + media-libs/fontconfig:1.0 + media-libs/libjpeg-turbo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/gtk+:3 + x11-libs/cairo[glib] + x11-libs/libX11 + x11-libs/libXtst + x11-libs/libXxf86vm + x11-libs/pango + virtual/opengl + doc? ( dev-java/openjdk:${SLOT}[doc] ) + !doc? ( + || ( + dev-java/openjdk-bin:${SLOT} + dev-java/openjdk:${SLOT} + ) + ) +" + +DEPEND="${RDEPEND} + app-arch/unzip + app-arch/zip + >=dev-java/ant-core-1.10.7-r1:0 + dev-java/antlr:0 + dev-java/antlr:3.5 + dev-java/hamcrest-core:0 + dev-java/stringtemplate:0 + virtual/ttf-fonts + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/11/disable-buildSrc-tests.patch + "${FILESDIR}"/11/glibc-compatibility.patch + "${FILESDIR}"/11/respect-user-cflags-11.0.11.patch + "${FILESDIR}"/11/use-system-swt-jar.patch + "${FILESDIR}"/11/wno-error-11.0.11.patch + "${FILESDIR}"/11/don-t-force-msse-11.0.11.patch + "${FILESDIR}"/11/disable-architecture-verification.patch + "${FILESDIR}"/11/gstreamer-CVE-2021-3522.patch + "${FILESDIR}"/11/ffmpeg5.patch + "${FILESDIR}"/11/respect-cc.patch + "${FILESDIR}"/11/strip-blank-elements-flags.patch +) + +egradle() { + local GRADLE_HOME="${WORKDIR}/gradle-${EGRADLE_VER}" + local gradle="${GRADLE_HOME}/bin/gradle" + local gradle_args=( + --info + --stacktrace + --no-build-cache + --no-daemon + --offline + --gradle-user-home "${T}/gradle_user_home" + --project-cache-dir "${T}/gradle_project_cache" + #--debug + ) + + export GRADLE_HOME + + # FIXME: build.gradle believes $ANT_HOME/bin/ant shoud exist + unset ANT_HOME + + einfo "gradle "${gradle_args[@]}" ${@}" + # TERM needed, otherwise gradle may fail on terms it does not know about + TERM="xterm" "${gradle}" "${gradle_args[@]}" ${@} || die "gradle failed" +} + +pkg_setup() { + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT}" + JAVA_PKG_WANT_SOURCE="${SLOT}" + JAVA_PKG_WANT_TARGET="${SLOT}" + + # The nastiness below is necessary while the gentoo-vm USE flag is + # masked. First we call java-pkg-2_pkg_setup if it looks like the + # flag was unmasked against one of the possible build VMs. If not, + # we try finding one of them in their expected locations. This would + # have been slightly less messy if openjdk-bin had been installed to + # /opt/${PN}-${SLOT} or if there was a mechanism to install a VM env + # file but disable it so that it would not normally be selectable. + + local vm + for vm in ${JAVA_PKG_WANT_BUILD_VM}; do + if [[ -d ${EPREFIX}/usr/lib/jvm/${vm} ]]; then + java-pkg-2_pkg_setup + return + fi + done + + if has_version -b dev-java/openjdk:${SLOT}; then + export JAVA_HOME=${EPREFIX}/usr/$(get_libdir)/openjdk-${SLOT} + export JDK_HOME="${JAVA_HOME}" + export ANT_RESPECT_JAVA_HOME=true + else + if [[ ${MERGE_TYPE} != "binary" ]]; then + JDK_HOME=$(best_version -b dev-java/openjdk-bin:${SLOT}) + [[ -n ${JDK_HOME} ]] || die "Build VM not found!" + JDK_HOME=${JDK_HOME#*/} + JDK_HOME=${EPREFIX}/opt/${JDK_HOME%-r*} + export JDK_HOME + export JAVA_HOME="${JDK_HOME}" + export ANT_RESPECT_JAVA_HOME=true + fi + fi +} + +src_unpack() { + unpack "${P}.tar.bz2" + unpack "gradle-${EGRADLE_VER}-bin.zip" + + mkdir "${T}/jars" || die + + local line jar + for line in ${SRC_URI}; do + if [[ ${line} =~ (http|https)://[a-zA-Z0-9.-_]*/(maven2|m2|eclipse)/(.*[.]jar)$ ]]; then + jar=$(basename "${BASH_REMATCH[-1]}") + cp -v "${DISTDIR}/${jar}" "${T}/jars/" || die + fi + done +} + +src_prepare() { + default + + local d="${T}/jars" + + java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr + java-pkg_jar-from --build-only --with-dependencies --into "${d}" antlr-3.5 + java-pkg_jar-from --build-only --with-dependencies --into "${d}" stringtemplate + java-pkg_jar-from --build-only --with-dependencies --into "${d}" hamcrest-core + + sed -i "s#__gentoo_swt_jar__#$(java-pkg_getjars swt-4.10)#" "${S}"/build.gradle || die +} + +src_configure() { + append-flags -Wno-error -fcommon + # This package is ridiculously brittle and fails when building e.g. + # bundled gstreamer with LTO. + filter-lto + tc-export AR CC CXX + + # FIXME: still calls pkg-config etc by name without chost prefix + # FIXME: should we enable webkit? doubt so + + # build is very sensitive to doc presence, take extra steps + if use doc; then + local jdk_doc + if has_version -b dev-java/openjdk:${SLOT}[doc]; then + jdk_doc="${EPREFIX}/usr/share/doc/openjdk-${SLOT}/html/api" + fi + [[ -r ${jdk_doc}/element-list ]] || die "JDK Docs not found, terminating build early" + fi + + cat <<- _EOF_ > "${S}"/gradle.properties + COMPILE_TARGETS = linux + COMPILE_WEBKIT = false + COMPILE_MEDIA = $(usex media true false) + JDK_DOCS = https://docs.oracle.com/en/java/javase/${SLOT}/docs/api + JDK_DOCS_LINK = $(usex doc "${jdk_doc}" "") + BUILD_LIBAV_STUBS = false + GRADLE_VERSION_CHECK = false + LINT = none + CONF = $(usex debug DebugNative Release) + NUM_COMPILE_THREADS = $(makeopts_jobs) + JFX_DEPS_URL = ${T}/jars + COMPANY_NAME = "Gentoo" + _EOF_ +} + +src_compile() { + egradle zips $(usex doc "" "--exclude-task javadoc") +} + +src_install() { + if ! use source ; then + rm -v build/sdk/lib/src.zip || die + fi + + insinto "/usr/$(get_libdir)/${PN}-${SLOT}" + doins -r build/sdk/. + doins build/javafx-exports.zip + + if use doc; then + docinto html + dodoc -r build/javadoc/. + dosym ../../../usr/share/doc/"${PF}" /usr/share/doc/"${PN}-${SLOT}" + fi +} -- cgit v1.3