From 9f7a9fb6846405c1bb4e6201fa2fb69d6cc3519b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 10 Dec 2021 21:43:57 +0000 Subject: [PATCH] Add icedtea-3.21 ebuild At the moment it's not yet patched to support musl libc. --- dev-java/icedtea/Manifest | 16 +- .../openjdk-8-hotspot-arrayallocator.patch | 16 + ...dk-8-jdk-revert-improve-stub-classes.patch | 33 ++ dev-java/icedtea/icedtea-3.21.0.ebuild | 384 ++++++++++++++++++ dev-java/icedtea/icedtea-7.2.6.9.ebuild | 2 +- dev-java/openjdk/Manifest | 2 +- dev-java/openjdk/openjdk-8.272_p10.ebuild | 9 +- 7 files changed, 454 insertions(+), 8 deletions(-) create mode 100644 dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch create mode 100644 dev-java/icedtea/files/openjdk-8-jdk-revert-improve-stub-classes.patch create mode 100644 dev-java/icedtea/icedtea-3.21.0.ebuild diff --git a/dev-java/icedtea/Manifest b/dev-java/icedtea/Manifest index 1fdb384..57ef323 100644 --- a/dev-java/icedtea/Manifest +++ b/dev-java/icedtea/Manifest @@ -23,6 +23,8 @@ AUX icedtea8-jdk-musl.patch 5024 BLAKE2B ec3854ccbe434e71eabf81821820613c4322eb0 AUX icedtea8-os_linux-remove-glibc-dependencies.patch 2954 BLAKE2B 0983be4b18a5a28722a21bc70780559197df4553ce5deff34cfe40819c92deb48242e7792ad8e773dabe534945a1d0e067c96516393c3708c595a7d757d9caef SHA512 64fd0392235d826ded265e5b2ab5a3aecff0f45e44abf4af7815a42fd0bb7880313d585a16c15c72a365472b8429985ca7c2570bb44467e34292e35ec642a50d AUX jamvm-1.6.0-aarch64-support.patch 23347 BLAKE2B b80462ea9d8ceb54f8039d1a2c6e161a45eceabcd5e27993dec602605397d70754bcc4c70fcc6be197f17a7d1383d6d91ae57c01063dbc55c61537f50fb71de6 SHA512 aa602103865d64dc0d53d8d46002888b99afb7b92e95f39dacd36a2d3b937006f7816826efc418d0e3b9e7b3eec5b0b01a1642e37875635577c0c5653418596c AUX jamvm-1.6.0-opcode-guard.patch 1416 BLAKE2B 4e866f4dde142d591d3dce89f10589fd3fbd290b1429ad83ba4ba4d4dfcb91d7e9da4ea7797859337690e24a8f1ebcf39eaa5aad085d03233306db02147f18cb SHA512 396d18eaad17bc76d8316bfc8fa2553e081389deade1ce0cd72f082226a91dbd70ec983636d324243be0a502ae9e0dd91d40952f13bf77c991601e61385af728 +AUX openjdk-8-hotspot-arrayallocator.patch 647 BLAKE2B b2403d842ace7198520a25bf7c2027e6d74b5d418b52321722b21cac866df883d47e53e4f5e040aed55a9cc4bf03b5a62d008a0877add6c649a41f6230d78a38 SHA512 4bf002ec25844f4e55b588d0516e658c548700d3bcae79be74bf75d9cf30cf9cd448767db36935924dd3b07f34d0cf087321cb35abb4943690353d11485ab0de +AUX openjdk-8-jdk-revert-improve-stub-classes.patch 1416 BLAKE2B 12bfe1946fc2487abacfa71fd1a8bb35ef0ca607241c84162043269fe057f49745961fc4482bed4ae81a09c3f2c96465e8abc23f61e0a4e573f2792a2a7edc7d SHA512 c5374dc8754a6dd983f4c5dca046464941675332dae9525715c27e73300045fc731935660560eba9db527aea42aad5d40b6467f4b4d0f4c3bfc94c68501d1854 DIST icedtea-2.6-corba-737fd3fbf139.tar.bz2 1073197 BLAKE2B af7a9a9c91511ba63835e2930e71ad442c45215f66043c6d05c636b8f3ab2803c4a0afb8ebf099b1f707ccb4850a9c4a2ecd78d7434f7c0b6ec38d1f56ba65b9 SHA512 77e81659d3314172c2b80fb1441d268edc52e0ec0bd25f9a9596e3c7a545f0694a11cc2298952d72c85965529b344493d1f2c2187cf4d38749278018fc85a6b8 DIST icedtea-2.6-hotspot-9fc0d63c2a74.tar.bz2 8195300 BLAKE2B d56487ac634367d50c605e9b782d51a5950c89a588b6b98863378e4727056c5af201e0c15d9006d608e6dade79a8a239fe33fb3fd519035dc62c2597579f1a45 SHA512 9bd3b2fea69c9e7c27ad9e157a44a20c113acc41bb0c830f18395df61d919dea1cd6bb69f9849ca449be25a9244ccc7bf05a51b3c64521362b0d765bfd59fb32 DIST icedtea-2.6-jaxp-aa1c302a99fb.tar.bz2 2733907 BLAKE2B 29afc8449c8c7c2f58266f18ab798b3ed31b426e39671a9ceef64425fafb064476fb22f677474fb18da42a601540da37447cbab9f55ae6af4e664b768a1f34aa SHA512 c1dd1b00d4f232ee8e3f365caa8502069bcf7cbda28e0900891ad9e63905a9bdeed00ae6e661148f181949494aae9bed6e2b0422711f24b2413c0bf484c08522 @@ -31,6 +33,17 @@ DIST icedtea-2.6-jdk-ce87b1399385.tar.bz2 32812887 BLAKE2B 2ce5c2318d9bde2cec6c8 DIST icedtea-2.6-langtools-dd8e22d986c8.tar.bz2 1711235 BLAKE2B 274196b0784a696a1106a2c35903fd091db641abfee139f116cb4887932dd22c6fc54a10cbda5b08d2339caaae8dd61057ec87075beeeacab470fbadf1e0419e SHA512 880924b19d3c021f137368eea51c380b0df8222c0148d8442b1b786d13a3698dc567d8783af1798a31364bdaa31b7580fcf02dfb82147a890407cd33c6a5595e DIST icedtea-2.6-openjdk-2dd04ef37829.tar.bz2 130401 BLAKE2B 4f724258553d8055e661c3ac8f2fb61eab29651364679cd819681025b9c5674df420e862df7e134abe5bd799301eee6722d61f1346b0c111b569d72a52bc4903 SHA512 67493785ec7aa3093f3d558a82e45c3f699bea63ccefacf273754b046d0a10b5cd19bb9a3dad7803a19e5d242ac06082729d1ac73088479db5712ccd08fdd223 DIST icedtea-2.6.9.tar.xz 2107156 BLAKE2B f14babb6d52c85473bef75a4a4b10b4a52d0def45a0e3c9d036dcffe8c4c28c3f0428fa33b743311ca75ed1a13c2146a3860978cdcfebe316fb14f81d3a83717 SHA512 6362e7329bdf5224d1c6340d4c03fe3ca6e5a879395c3af75390fcff9a8e8a599517a3f287d36110c301ba908e5bc4bcc8aa89cd605aa76f0e51f7a9aced6b3e +DIST icedtea-3.21-aarch32-3.21.0.tar.xz 7207712 BLAKE2B bb9001aa31011fd0b29141caa1ba48344f2ca08e5dbe69cb3501a4830886d02b7a8782336a84273aad2ea721f26db2d3f51cdc72a9eccde1ad45a2790fb2caf1 SHA512 fc44c3c59164f6904ad92e04cb8023f39e82d6a2704fb5a91bf84d41066183ca6140273fa4c13d08a0dda47f263bd2d7d5138a5c45f205c58f649e6b87f15a9e +DIST icedtea-3.21-corba-3.21.0.tar.xz 949700 BLAKE2B b845a46b5dcb22545073f894fbc5464e014f8f0e02e0cc66bccda0db6bd5566908a886823189ecf476847adb7f3fa5c009814e54c69d65a3a4a6c3cfc692564d SHA512 55110b92c6eddeb29eab97cbe644d8cc171a489b9fa806c81e4af88a1e5e3e6776fb97371715782935222944464f68e7d6783c46bd0d0de5659123f46c577a7a +DIST icedtea-3.21-hotspot-3.21.0.tar.xz 7121192 BLAKE2B 64813c6a71405c5c093792dadf8613361a056b590fa4fa7453887ac5eb1eda1da63777a2f1e529e50eefe033d6f7f757d3235d53ba8f0f45d40dad6f0c215334 SHA512 678f6c53db5858ba828e063eeeddb727dbeb0586ff26a4287f9735dc01ad00ddcd9f41fa65343b81d5f5c512a944f47a447d4bdc929ca26ba78a68a7e3dfc1cd +DIST icedtea-3.21-jaxp-3.21.0.tar.xz 2269276 BLAKE2B a1848fa6832a8c87c9a6edcfc5ac45fc487b5378368c07bafe5a3e54b849b81b781fb3652593e3506ffbd220a933cb5a04ae6dee86b3a44be7a1138813f5454c SHA512 ff14c9b63cee2a7b9213872b8710b1c5b901ccaf4122c8ddf5d8437d1cdd35cf9af50f461d05f004b74802ba8a21c7e9f288ec080b2b5f7daad065d40dc39258 +DIST icedtea-3.21-jaxws-3.21.0.tar.xz 2278396 BLAKE2B 1fb8608df94937447e192d010465379b2c3aa578f9c1ebd2eba445b1cd92ea9427511fd72351537ae78796d90d130497b02bc3e89b9e1ff1765013c681e6cf83 SHA512 e21bd36b6cfa92f648856532647150243f2184943dc6f5003fea02cf69aa9b6a94fb18d6478db28d5ee5e3af9b780122c0539fd3207cf4dfcb69a042835c13d6 +DIST icedtea-3.21-jdk-3.21.0.tar.xz 40714380 BLAKE2B be2bda5027d20515717ffecef71996bd56c4246a2a0e4d670bb386ea9ed2ff71c91ca8faa17ee209a5894784dff8e1b7d8df544c0b88b8f9da946514d9070bc7 SHA512 06385f14d093be250aa530d0659576d75aed57b0264ec7329d6b2c9309cf4ed660a9ecbfb6f199868ae23aedfbdb97036fccda501c00e9d2e3b1562c92b0ed37 +DIST icedtea-3.21-langtools-3.21.0.tar.xz 2081452 BLAKE2B 97c0820a9c734fc8d155fd5ec8fa9c56b4eaa0bf6fe5df5235b2dc5680f8c1989e608210007faa8e0120ad7dadfe682f4fe174e5cdae64d34624f239a7b1bb16 SHA512 949366138278104fc06452d8227bbe5d0829a9124503928cab34e5e9df37e25d25964a5c755e46d9ca74e63f1b318b2e3366f8f08e144524a8043bc2a7ca626e +DIST icedtea-3.21-nashorn-3.21.0.tar.xz 2324264 BLAKE2B d7bcd9dd6df244004e3cb3ea1cdc178d781dd7f1b1d7b97df32385b67829bc3d9cb168caa64dc13fc15f27a9eeab276576d22cb804de5bc0d0209b98308a7105 SHA512 eda17f94ed2f34dd5bc4670dd3340d50de956723213948fd15963b0a589433bbe2e0ba8be7761974754b6a5d875ef58c31839daa6fef7215af552842f787bb44 +DIST icedtea-3.21-openjdk-3.21.0.tar.xz 367068 BLAKE2B 7fe212e84f1f527c229a854212617cd99457c0a4c5fdbd41a1ae65098706a22843e52a108cbf62fac341b9aa85e22f00746bb5a84e7d249ebbd605630bee127a SHA512 6a1706dfcb5e5d79191c01db6da30ca0ca48cea628a26a3a35f6e43c710091e25c97ec95122e8bc19b4ac69ede27a8dae37b49e1a7e4db07a635ded69e2e0336 +DIST icedtea-3.21-shenandoah-3.21.0.tar.xz 7295776 BLAKE2B c139711d81ccf593a93f786c398371eaddbaa9aa5044683669204ef9671cd17e80488ba2d290565ba5f1e27a62fa696c3d331c215442ddd29f3067b60682adec SHA512 c0282207854ad13d57dc7e1dd73412fb184406e7783d720cacbf58152177ae70af51bb4d577442bc1bebc75e88458cdb86356b79857b01eafb1eb214dbc439f4 +DIST icedtea-3.21.0.tar.xz 1574548 BLAKE2B 55dca04bf55a272a92f161a96a1cabe7c0e1f46289d95d74e9253c4da45d8df00e292e5d806118805241ea5c4b914643e380b05ad7996d850a8e5eebd7a2959a SHA512 874f91f3c3311d7017efb91aaff4e2fb660f55c58a626bcf5b120b7158df15e9b94abda7cd28f9620ad76c50bfa89cc8c1d251c193404c0db51ff1430167b018 DIST icedtea-3.7-aarch32-1cd346521065.tar.xz 6756352 BLAKE2B dce797dd03cb84631367a6536fdc3fdc98d4f47c7414a2782f1f18f7efbba96d042efb3f044d02af6a83f2c1f5ddf48656aed9a18d121a193077210f95c071c0 SHA512 3ed8d17c2209da39b21b57c96ee87453cf5dcacb6060f88bcbc0247a905eed07f2e763d3dbe34f3fba797b28b19d0c6e73603cb7d9ea145fa515ceb9ca807403 DIST icedtea-3.7-corba-872ca6c060bb.tar.xz 941016 BLAKE2B 30424376c9050bf144feeafb350325fec3402751e521bd2224e22e45a95d2c13251c81641f89661c98a90e4b4132f9bdad9c2d72a200a2474d7652e4c96a8645 SHA512 5fae98bec6b54c4bcc374db940256163fa9db2c8f9447c78e61887ecbce16f98bbd00720e9fe78f860bb2d83bc062e3beb430b637ea200d935aaae1f3e905243 DIST icedtea-3.7-hotspot-074a569c30e4.tar.xz 6832164 BLAKE2B 86d563253094a5da07fc193bae073c936b4f6e35b3bd39dac7af3768877b7ecf2570b9150bfad5b957b5b3b22e2472e6a8223fbb5548abe72138ab7418901fef SHA512 c7c2e4ccccdc4fd9ac2f4c71e9a89997dd68fbd73a966015f9e764489cdf0027479d4c335c8f339d5ee2eb2968bc187a12e3c5e72d94ad59556cfb452a732658 @@ -45,5 +58,6 @@ DIST icedtea-3.7.0.tar.xz 1487360 BLAKE2B efef75c5ac615c21310f16f50fc425c5a76076 DIST icedtea-cacao-c182f119eaad.tar.gz 4485353 BLAKE2B 5c1faa3cbbfea62f819562a01ec389f3682cf3164d06f5404d1d16359c87b37d6ae4101f7c33cde30bad4f3d52af18f0f410e36868b2c9d1280661d2340e683b SHA512 2ccb947d71b80d84b83295d473c19952e98698a1fd944fc7c12004ff1af29af2989d46fbd95b5daf95eae2fda9de7c7f88f964fa887a6345b4f57d0c490bee23 DIST icedtea-cacao-c182f119eaad.tar.xz 3056520 BLAKE2B 6b1be66ce19f491d49f1591babcd8c088e8e327f828dca3f30b8f8b04c132140f8b9f487ef6d91aed212aebab2c7c3052d79fa3f2d76d3832341d94d48e77089 SHA512 22e8a031db5f93f82b276b310c175f1e926e48d64e1e50bebe51138e0f66391cd005501491a959d31663f338f27a29ec984ac29f77078f59472856e4d08edef7 DIST icedtea-jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz 317187 BLAKE2B 1ca581a02be4cf5c09162687bbc90ec01b58b4910d866d11512cf17a1caff181fdc69e42f7498b2df9deb875ddc6efc6bc2888428f411da94bbc2313ddf5a2c9 SHA512 a31348481e1c02747f5bb9db333f855c45a1555aa187ee35de5ef553a10a8a47dfcc1beb1e69502046c1758438b91958a328e0a0015812c153221f67734a70a6 +EBUILD icedtea-3.21.0.ebuild 12532 BLAKE2B f686511e2164d8f51a517c59a68d6e7117e9f68edea9401f7572e4ec2f6037468096c9eef92d51a8d1700427b78f20a3828aa35587fb814a40550504c5f707b0 SHA512 f3d1e4fb83ff52669f9f276bea4ead0ee78756029c59eb0d7a25237bc614d8501d488bb1d311c5b5d6c0cfce9d619cb283ae2fddfa183aa887145dfde05253fa EBUILD icedtea-3.7.0.ebuild 14544 BLAKE2B 644ac218fab4963db958f442d3c294818bc5aa579b0547c5a88b8cfb0553823065ae4c57f5da34422c8ad8516b2bfd25b6d86f543ac82b825590038f0544c5c8 SHA512 8c014f7bd04643abfadf1b8f4ec259acd5898111eb38f42d48f92c19b7355d4b7ac1468d2e9cace04a3060a3ab0228e921ee689dab023c131cda55b84073e655 -EBUILD icedtea-7.2.6.9.ebuild 13098 BLAKE2B 4faf61d794692201657305b37781d729d989119191fdb7f3d4abb1639b873d517569f6490844f14b5b33b32fa0c644be710cffcea16b9690407742a4745372bc SHA512 d49755aa7ac493c60f9e524e9ad6113673729c347532bcf17adceddbc3e90f12033cf9bacb83696a36c9567389091e166b674b5d2fd88295824759479cd3ad18 +EBUILD icedtea-7.2.6.9.ebuild 13085 BLAKE2B d5dc7405a12a86fe1030e301c7723934736c0f8c517e1f438d8ef3b1b2a79a20e2bae7fe4d4e412a0c60449c39116c31b7339185b22ea2e810098468db959e20 SHA512 70011881b40c8cd636f8933bab459c3dc4c3be3188230b27c0534070ff8436747c256d47ea359a1030ecdb632370d0905ea29afdffcb3cd5c3d9b955f57cbe5d diff --git a/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch b/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch new file mode 100644 index 0000000..ba5283f --- /dev/null +++ b/dev-java/icedtea/files/openjdk-8-hotspot-arrayallocator.patch @@ -0,0 +1,16 @@ +Workarounds build error: +Error: dl failure on line 895 +Error relocating .../libjvm.so: _ZN14ArrayAllocatorImL10MemoryType7EE4freeEv: symbol not found + +Possibly due to g++ 10.x error on not properly instantiating the template. + +--- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp.orig 2020-11-10 14:07:08.372045326 +0200 ++++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp 2020-11-10 14:08:07.911412813 +0200 +@@ -42,6 +42,7 @@ + # include "os_bsd.inline.hpp" + #endif + ++template class ArrayAllocator; + + BitMap::BitMap(bm_word_t* map, idx_t size_in_bits) : + _map(map), _size(size_in_bits), _map_allocator(false) diff --git a/dev-java/icedtea/files/openjdk-8-jdk-revert-improve-stub-classes.patch b/dev-java/icedtea/files/openjdk-8-jdk-revert-improve-stub-classes.patch new file mode 100644 index 0000000..4cb8e67 --- /dev/null +++ b/dev-java/icedtea/files/openjdk-8-jdk-revert-improve-stub-classes.patch @@ -0,0 +1,33 @@ +--- openjdk/corba/src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java Wed Feb 07 00:10:57 2018 -0800 ++++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java Tue Feb 13 12:14:04 2018 -0800 +@@ -33,7 +33,7 @@ + + import java.io.IOException; + import java.io.ObjectOutputStream; +-import sun.corba.SharedSecrets; ++import java.io.StringWriter ; + + import org.omg.CORBA.ORB ; + +@@ -124,20 +124,15 @@ + { + // read the IOR from the ObjectInputStream + int typeLength = stream.readInt(); +- SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, typeLength); + typeData = new byte[typeLength]; + stream.readFully(typeData); + + int numProfiles = stream.readInt(); +- SharedSecrets.getJavaOISAccess().checkArray(stream, int[].class, numProfiles); +- SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, numProfiles); + profileTags = new int[numProfiles]; + profileData = new byte[numProfiles][]; + for (int i = 0; i < numProfiles; i++) { + profileTags[i] = stream.readInt(); +- int dataSize = stream.readInt(); +- SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, dataSize); +- profileData[i] = new byte[dataSize]; ++ profileData[i] = new byte[stream.readInt()]; + stream.readFully(profileData[i]); + } + } diff --git a/dev-java/icedtea/icedtea-3.21.0.ebuild b/dev-java/icedtea/icedtea-3.21.0.ebuild new file mode 100644 index 0000000..f3dfce3 --- /dev/null +++ b/dev-java/icedtea/icedtea-3.21.0.ebuild @@ -0,0 +1,384 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Build written by Andrew John Hughes (gnu_andrew@member.fsf.org) + +# ********************************************************* +# * IF YOU CHANGE THIS EBUILD, CHANGE ICEDTEA-6.* AS WELL * +# ********************************************************* + +EAPI=6 +SLOT="8" + +inherit check-reqs eapi7-ver flag-o-matic java-pkg-2 java-vm-2 multiprocessing pax-utils toolchain-funcs xdg-utils + +ICEDTEA_VER=$(ver_cut 1-3) +ICEDTEA_BRANCH=$(ver_cut 1-2) +ICEDTEA_PKG=icedtea-${ICEDTEA_VER} + +CORBA_TARBALL="${PV}.tar.xz" +JAXP_TARBALL="${PV}.tar.xz" +JAXWS_TARBALL="${PV}.tar.xz" +JDK_TARBALL="${PV}.tar.xz" +LANGTOOLS_TARBALL="${PV}.tar.xz" +OPENJDK_TARBALL="${PV}.tar.xz" +NASHORN_TARBALL="${PV}.tar.xz" +HOTSPOT_TARBALL="${PV}.tar.xz" +SHENANDOAH_TARBALL="${PV}.tar.xz" +AARCH32_TARBALL="${PV}.tar.xz" + +CACAO_TARBALL="cacao-c182f119eaad.tar.xz" +JAMVM_TARBALL="jamvm-ec18fb9e49e62dce16c5094ef1527eed619463aa.tar.gz" + +CORBA_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-corba-${CORBA_TARBALL}" +JAXP_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxp-${JAXP_TARBALL}" +JAXWS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jaxws-${JAXWS_TARBALL}" +JDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-jdk-${JDK_TARBALL}" +LANGTOOLS_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-langtools-${LANGTOOLS_TARBALL}" +OPENJDK_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-openjdk-${OPENJDK_TARBALL}" +NASHORN_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-nashorn-${NASHORN_TARBALL}" +HOTSPOT_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-hotspot-${HOTSPOT_TARBALL}" +SHENANDOAH_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-shenandoah-${SHENANDOAH_TARBALL}" +AARCH32_GENTOO_TARBALL="icedtea-${ICEDTEA_BRANCH}-aarch32-${AARCH32_TARBALL}" + +CACAO_GENTOO_TARBALL="icedtea-${CACAO_TARBALL}" +JAMVM_GENTOO_TARBALL="icedtea-${JAMVM_TARBALL}" + +DROP_URL="https://icedtea.classpath.org/download/drops" +ICEDTEA_URL="${DROP_URL}/icedtea${SLOT}/${ICEDTEA_VER}" + +DESCRIPTION="A harness to build OpenJDK using Free Software build tools and dependencies" +HOMEPAGE="https://icedtea.classpath.org" +SRC_PKG="${ICEDTEA_PKG}.tar.xz" +SRC_URI=" + https://icedtea.classpath.org/download/source/${SRC_PKG} + ${ICEDTEA_URL}/openjdk.tar.xz -> ${OPENJDK_GENTOO_TARBALL} + ${ICEDTEA_URL}/corba.tar.xz -> ${CORBA_GENTOO_TARBALL} + ${ICEDTEA_URL}/jaxp.tar.xz -> ${JAXP_GENTOO_TARBALL} + ${ICEDTEA_URL}/jaxws.tar.xz -> ${JAXWS_GENTOO_TARBALL} + ${ICEDTEA_URL}/jdk.tar.xz -> ${JDK_GENTOO_TARBALL} + ${ICEDTEA_URL}/hotspot.tar.xz -> ${HOTSPOT_GENTOO_TARBALL} + ${ICEDTEA_URL}/nashorn.tar.xz -> ${NASHORN_GENTOO_TARBALL} + ${ICEDTEA_URL}/langtools.tar.xz -> ${LANGTOOLS_GENTOO_TARBALL} + shenandoah? ( ${ICEDTEA_URL}/shenandoah.tar.xz -> ${SHENANDOAH_GENTOO_TARBALL} ) + arm? ( ${ICEDTEA_URL}/aarch32.tar.xz -> ${AARCH32_GENTOO_TARBALL} ) + ${DROP_URL}/cacao/${CACAO_TARBALL} -> ${CACAO_GENTOO_TARBALL} + ${DROP_URL}/jamvm/${JAMVM_TARBALL} -> ${JAMVM_GENTOO_TARBALL}" + +LICENSE="Apache-1.1 Apache-2.0 GPL-1 GPL-2 GPL-2-with-linking-exception LGPL-2 MPL-1.0 MPL-1.1 public-domain W3C" +KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86" + +IUSE="+alsa cacao +cups doc examples +gtk headless-awt + jamvm +jbootstrap kerberos pax-kernel +pch + pulseaudio sctp selinux shenandoah smartcard +source +system-lcms test zero" + +RESTRICT="!test? ( test )" +REQUIRED_USE="gtk? ( !headless-awt )" + +# Ideally the following were optional at build time. +ALSA_COMMON_DEP=">=media-libs/alsa-lib-1.0" +CUPS_COMMON_DEP=">=net-print/cups-1.2.12" + +X_COMMON_DEP=" + >=media-libs/giflib-4.1.6:0= + >=media-libs/libpng-1.2:0= + >=x11-libs/libX11-1.1.3 + >=x11-libs/libXext-1.1.1 + >=x11-libs/libXi-1.1.3 + >=x11-libs/libXrender-0.9.4 + >=x11-libs/libXtst-1.0.3 + x11-libs/libXcomposite +" + +X_DEPEND=" + x11-base/xorg-proto + >=x11-libs/libXau-1.0.3 + >=x11-libs/libXdmcp-1.0.2 + >=x11-libs/libXinerama-1.0.2 +" + +# The Javascript requirement is obsolete; OpenJDK 8+ has Nashorn +COMMON_DEP=" + >=dev-libs/glib-2.26:2= + >=dev-util/systemtap-1 + media-libs/fontconfig:1.0= + >=media-libs/freetype-2.5.3:2= + >=sys-libs/zlib-1.2.3 + virtual/jpeg:0= + gtk? ( + >=dev-libs/atk-1.30.0 + >=x11-libs/cairo-1.8.8 + x11-libs/gdk-pixbuf:2 + >=x11-libs/gtk+-2.8:2 + >=x11-libs/pango-1.24.5 + ) + kerberos? ( virtual/krb5 ) + sctp? ( net-misc/lksctp-tools ) + smartcard? ( sys-apps/pcsc-lite ) + system-lcms? ( >=media-libs/lcms-2.9:2= ) +" + +RDEPEND="${COMMON_DEP} + !dev-java/icedtea:0 + !dev-java/icedtea-web:7 + >=gnome-base/gsettings-desktop-schemas-3.12.2 + >=sys-apps/baselayout-java-0.1.0-r1 + virtual/ttf-fonts + alsa? ( ${ALSA_COMMON_DEP} ) + cups? ( ${CUPS_COMMON_DEP} ) + !headless-awt? ( ${X_COMMON_DEP} ) + selinux? ( sec-policy/selinux-java ) +" + +# perl is needed for running the SystemTap tests and the bootstrap javac +# lsb-release is used to obtain distro information for the version & crash dump output +# attr is needed for xattr.h which defines the extended attribute syscalls used by NIO2 +# x11-libs/libXt is needed for headers only (Intrinsic.h, IntrinsicP.h, Shell.h, StringDefs.h) +# Ant is no longer needed under the new build system +DEPEND="${COMMON_DEP} ${ALSA_COMMON_DEP} ${CUPS_COMMON_DEP} ${X_COMMON_DEP} ${X_DEPEND} + || ( + dev-java/openjdk:${SLOT} + dev-java/icedtea:${SLOT} + dev-java/icedtea:$((SLOT-1)) + ) + app-arch/cpio + app-arch/unzip + app-arch/zip + app-misc/ca-certificates + dev-lang/perl + dev-libs/openssl:0 + sys-apps/attr + sys-apps/lsb-release + x11-libs/libXt + virtual/pkgconfig + pax-kernel? ( sys-apps/elfix )" + +PDEPEND="pulseaudio? ( dev-java/icedtea-sound )" + +S="${WORKDIR}"/${ICEDTEA_PKG} + +icedtea_check_requirements() { + local CHECKREQS_DISK_BUILD + + if use doc; then + CHECKREQS_DISK_BUILD="9000M" + else + CHECKREQS_DISK_BUILD="8500M" + fi + + check-reqs_pkg_${EBUILD_PHASE} +} + +pkg_pretend() { + icedtea_check_requirements +} + +pkg_setup() { + icedtea_check_requirements + + JAVA_PKG_WANT_BUILD_VM="openjdk-8 icedtea-8 icedtea-7" + JAVA_PKG_WANT_SOURCE="1.5" + JAVA_PKG_WANT_TARGET="1.5" + + java-vm-2_pkg_setup + java-pkg-2_pkg_setup +} + +src_unpack() { + unpack ${SRC_PKG} +} + +src_configure() { + # GCC10/-fno-common handling, #723102 + if [[ $(gcc-major-version) -ge 10 ]]; then + append-flags -fcommon + append-flags -fno-delete-null-pointer-checks -fno-lifetime-dse + fi + # this patch helps with gcc10 as well + # since build system unpacks tarballs itself, this is a way to force makefile + # to apply our patch. it expects relative path inside source, so we can't specify + # ${FILESDIR} directly. + mkdir -v gentoo_patches || die + cp -v "${FILESDIR}/openjdk-8-hotspot-arrayallocator.patch" gentoo_patches || die + cp -v "${FILESDIR}/openjdk-8-jdk-revert-improve-stub-classes.patch" gentoo_patches || die + export DISTRIBUTION_PATCHES="gentoo_patches//openjdk-8-hotspot-arrayallocator.patch" + export DISTRIBUTION_PATCHES="gentoo_patches//openjdk-8-jdk-revert-improve-stub-classes.patch" + + # For bootstrap builds as the sandbox control file might not yet exist. + addpredict /proc/self/coredump_filter #nowarn + + # icedtea doesn't like some locales. #330433 #389717 + export LANG="C" LC_ALL="C" + + local cacao_config config hotspot_port hs_config jamvm_config use_cacao use_jamvm use_zero zero_config + local vm=$(java-pkg_get-current-vm) + + # gcj-jdk ensures ecj is present. + if use jbootstrap || has "${vm}" gcj-jdk; then + use jbootstrap || einfo "bootstrap is necessary when building with ${vm}, ignoring USE=\"-jbootstrap\"" + config+=" --enable-bootstrap" + else + config+=" --disable-bootstrap" + fi + + # Use Zero if requested + if use zero; then + use_zero="yes" + fi + + # Use JamVM if requested + if use jamvm; then + use_jamvm="yes" + fi + + # Use CACAO if requested + if use cacao; then + use_cacao="yes" + fi + + # Are we on a architecture with a HotSpot port? + # In-tree JIT ports are available for amd64, arm, arm64, ppc64 (be&le), SPARC and x86. + if { use amd64 || use arm || use arm64 || use ppc64 || use sparc || use x86; }; then + hotspot_port="yes" + # Work around stack alignment issue, bug #647954. + use x86 && append-flags -mincoming-stack-boundary=2 + fi + + # Always use HotSpot as the primary VM if available. #389521 #368669 #357633 ... + # Otherwise use Zero for now until alternate VMs are working + if test "x${hotspot_port}" != "xyes"; then + use_zero="yes" + fi + + if use shenandoah; then + if { use amd64 || use arm64; }; then + hs_config="--with-hotspot-build=shenandoah" + hs_config+=" --with-hotspot-src-zip="${DISTDIR}/${SHENANDOAH_GENTOO_TARBALL}"" + else + eerror "Shenandoah is only supported on arm64 and x86_64. Please re-build with USE="-shenandoah"" + fi + else + if use arm ; then + hs_config="--with-hotspot-src-zip="${DISTDIR}/${AARCH32_GENTOO_TARBALL}"" + else + hs_config="--with-hotspot-src-zip="${DISTDIR}/${HOTSPOT_GENTOO_TARBALL}"" + fi + fi + + # Turn on JamVM if needed (non-HS archs) or requested + if test "x${use_jamvm}" = "xyes"; then + if test "x${hotspot_port}" = "xyes"; then + ewarn 'Enabling JamVM on an architecture with HotSpot support; issues may result.' + ewarn 'If so, please rebuild with USE="-jamvm"' + fi + ewarn 'JamVM is known to still have issues with IcedTea 3.x; please rebuild with USE="-jamvm"' + jamvm_config="--enable-jamvm" + fi + + # Turn on CACAO if needed (non-HS archs) or requested + if test "x${use_cacao}" = "xyes"; then + if test "x${hotspot_port}" = "xyes"; then + ewarn 'Enabling CACAO on an architecture with HotSpot support; issues may result.' + ewarn 'If so, please rebuild with USE="-cacao"' + fi + ewarn 'CACAO is known to still have issues with IcedTea 3.x; please rebuild with USE="-cacao"' + cacao_config="--enable-cacao" + fi + + # Turn on Zero if needed (non-HS/CACAO archs) or requested + if test "x${use_zero}" = "xyes"; then + if test "x${hotspot_port}" = "xyes"; then + ewarn 'Enabling Zero on an architecture with HotSpot support; performance will be significantly reduced.' + fi + zero_config="--enable-zero" + fi + + # PaX breaks pch, bug #601016 + if use pch && ! host-is-pax; then + config+=" --enable-precompiled-headers" + else + config+=" --disable-precompiled-headers" + fi + + config+=" --with-parallel-jobs=$(makeopts_jobs)" + + unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS + + # force bash for now https://bugs.gentoo.org/722292 + CONFIG_SHELL="${EPREFIX}/bin/bash" econf ${config} \ + --with-openjdk-src-zip="${DISTDIR}/${OPENJDK_GENTOO_TARBALL}" \ + --with-corba-src-zip="${DISTDIR}/${CORBA_GENTOO_TARBALL}" \ + --with-jaxp-src-zip="${DISTDIR}/${JAXP_GENTOO_TARBALL}" \ + --with-jaxws-src-zip="${DISTDIR}/${JAXWS_GENTOO_TARBALL}" \ + --with-jdk-src-zip="${DISTDIR}/${JDK_GENTOO_TARBALL}" \ + --with-langtools-src-zip="${DISTDIR}/${LANGTOOLS_GENTOO_TARBALL}" \ + --with-nashorn-src-zip="${DISTDIR}/${NASHORN_GENTOO_TARBALL}" \ + --with-cacao-src-zip="${DISTDIR}/${CACAO_GENTOO_TARBALL}" \ + --with-jamvm-src-zip="${DISTDIR}/${JAMVM_GENTOO_TARBALL}" \ + --with-jdk-home="$(java-config -O)" \ + --prefix="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}" \ + --mandir="${EPREFIX}/usr/$(get_libdir)/icedtea${SLOT}/man" \ + --with-pkgversion="Gentoo ${PF}" \ + --disable-ccache \ + --disable-downloading --disable-Werror --disable-tests \ + --disable-systemtap-tests --enable-improved-font-rendering \ + --enable-system-jpeg --enable-system-zlib \ + $(use_enable headless-awt headless) \ + $(use_enable !headless-awt system-gif) \ + $(use_enable !headless-awt system-png) \ + $(use_enable doc docs) \ + $(use_enable kerberos system-kerberos) \ + $(use_enable system-lcms) \ + $(use_with pax-kernel pax "${EPREFIX}/usr/sbin/paxmark.sh") \ + $(use_enable sctp system-sctp) \ + $(use_enable smartcard system-pcsc) \ + ${zero_config} ${cacao_config} ${jamvm_config} ${hs_config} +} + +src_compile() { + default +} + +src_test() { + default +} + +src_install() { + default + + local dest="/usr/$(get_libdir)/icedtea${SLOT}" + local ddest="${ED}${dest#/}" + + if ! use alsa; then + rm -v "${ddest}"/jre/lib/$(get_system_arch)/libjsoundalsa.* || die + fi + + if ! use examples; then + rm -r "${ddest}"/demo "${ddest}"/sample || die + fi + + if ! use source; then + rm -v "${ddest}"/src.zip || die + fi + + dosym ../../../usr/share/doc/"${PF}" usr/share/doc/"${PN}${SLOT}" + + # Fix the permissions. + find "${ddest}" \! -type l \( -perm /111 -exec chmod 755 {} \; -o -exec chmod 644 {} \; \) || die + + dosym ../../../../../../etc/ssl/certs/java/cacerts "${dest}"/jre/lib/security/cacerts + + java-vm_install-env "${FILESDIR}/icedtea.env.sh" + java-vm_sandbox-predict /proc/self/coredump_filter +} + +pkg_postinst() { + xdg_icon_cache_update + java-vm-2_pkg_postinst + einfo "JavaWebStart functionality provided by icedtea-web package" +} + +pkg_postrm() { + xdg_icon_cache_update + java-vm-2_pkg_postrm +} diff --git a/dev-java/icedtea/icedtea-7.2.6.9.ebuild b/dev-java/icedtea/icedtea-7.2.6.9.ebuild index 81f0639..6a54350 100644 --- a/dev-java/icedtea/icedtea-7.2.6.9.ebuild +++ b/dev-java/icedtea/icedtea-7.2.6.9.ebuild @@ -243,7 +243,7 @@ src_configure() { # Are we on a architecture with a HotSpot port? # In-tree JIT ports are available for amd64, arm, arm64, ppc64 (be&le), SPARC and x86. - if { use amd64 || use arm || use arm64 || use ppc64 || use sparc || use x86; }; then + if { use amd64 || use arm || use ppc64 || use sparc || use x86; }; then hotspot_port="yes" fi diff --git a/dev-java/openjdk/Manifest b/dev-java/openjdk/Manifest index c732e94..86a8273 100644 --- a/dev-java/openjdk/Manifest +++ b/dev-java/openjdk/Manifest @@ -104,6 +104,6 @@ EBUILD openjdk-14.0.2_p01.ebuild 8419 BLAKE2B cdf793ba4d051f57c89027fca2a4266622 EBUILD openjdk-15.0.0_p36.ebuild 8645 BLAKE2B 8a4516e98f32bb038b6a5b0123bba4615842c6d19ed1fc1416c71f789d5ca6e366d8a71501d650c3a77304d80f3140a1e437b98b3045186ee538a81307d5f457 SHA512 7e637fae9f756c290479602175f8c9ca5d31a5d75fe69b21fb54e0aba2b559d4329e03f20935b8109a946bcf6063996f6f42a25693c3f2ad62590ff6bbb1a379 EBUILD openjdk-16.0.0_p36.ebuild 8496 BLAKE2B a98e9f85c96b6d0098ce21e337b5764c88c9933eb8abf94c0906430b60a85657360fb903eec0973262a268b8781324deea8d21a9025e91dbdf19796dc07b9c27 SHA512 b02a2fed9ae8ff387ae6691e21f2dba0b3f3cc1c636a9c5ea328f9dd41effb11e809bc77ca0ac84e980f07480413066b1f76f5f3f923d32e290ecb757f8fa687 EBUILD openjdk-17.0.0_p35.ebuild 8437 BLAKE2B 630c114db9825acc447a637fced52c7dd72e272243b71b5c8c154e005d363663479cfa0477357981ebed87d40548b3c179329af26538f12fa16cc83bb17d3718 SHA512 59689cbc3133200fb0bde1cd8e5c113abd5488105e75aaaea6166942067a04710e9326da7a9f2ade02d0fc8308b00ce1d3ce2e902a7a4bbcc15830be8f891b22 -EBUILD openjdk-8.272_p10.ebuild 8142 BLAKE2B aab86f22139e847331a358065fc42da80385a3cffe937ee5cf68703f242117641f4d89d67bafb396cd2ec908e07be9e5b17b8c98e777308c3293ad9b7b3ca3c7 SHA512 06210cb2ba5f910a32abb400b8c9a6523899f3f23ad5785940e1de8f823d36767556a3af7b542670bef4a18a0f7c9421bbdaa214bcf7f605c49b3e7cc1418b9f +EBUILD openjdk-8.272_p10.ebuild 8089 BLAKE2B b4389633ce651fe874103a98e07c2b97b0b737d105a73c9c136f83341ce62e6c6f8cb3ba7399056dc59db051330305c74ed491e01f40de623bf264bf9a66c325 SHA512 7e2bc5cc6a23835cc001b0a1d29661e2044c8060015561b455e2598aeced1463f75d3ffcd464ce1eeae6b0f89e87e825757326255c982843c4628c9f56f4c0bd EBUILD openjdk-9.0.4_p12.ebuild 8403 BLAKE2B fa383f2a695eb354b5f09aca909691950f9f835849941397bf1fc50068304fd9ad7463885a7264b0071c4026b360251f13141777f8bd204ea3131692c4d0c743 SHA512 09e061069abedb764aff6a39e30bbc87feedaf4b818e776154d091f00d42a41f8c4bdd700465f331a0a2310ecc6493454979c309cd3811f2981e61cdd498bfa4 MISC metadata.xml 1432 BLAKE2B 36a11642c99127a5f97fc0b095a142705c6b4e077ed24604f1886e4d1beaa47b4fa30359600797d5e6a085befd11a2851196fe97a75a0f0907461679946b4cbf SHA512 ecc66015da3a0fc616b91dd5aaffb5b050c9f66e936cad02ec12fb56dd7c6b3b3c331d8856402c0deee16c415ea083e088cce7414703f9d659f551883b055ff0 diff --git a/dev-java/openjdk/openjdk-8.272_p10.ebuild b/dev-java/openjdk/openjdk-8.272_p10.ebuild index 3b8ca14..cbcb4ee 100644 --- a/dev-java/openjdk/openjdk-8.272_p10.ebuild +++ b/dev-java/openjdk/openjdk-8.272_p10.ebuild @@ -43,7 +43,7 @@ SRC_URI=" LICENSE="GPL-2" SLOT="$(ver_cut 1)" -KEYWORDS="amd64 ~arm64 ppc64 x86" +KEYWORDS="amd64 arm64 ppc64 x86" IUSE="alsa debug cups doc examples headless-awt javafx +jbootstrap +pch selinux source" COMMON_DEPEND=" @@ -82,10 +82,9 @@ DEPEND=" x11-libs/libXt x11-libs/libXtst || ( - dev-java/openjdk-bin:${SLOT} - dev-java/icedtea-bin:${SLOT} dev-java/openjdk:${SLOT} dev-java/icedtea:${SLOT} + dev-java/icedtea:$((SLOT-1)) ) " @@ -114,7 +113,7 @@ pkg_pretend() { pkg_setup() { openjdk_check_requirements - JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} openjdk-bin-${SLOT} icedtea-${SLOT} icedtea-bin-${SLOT}" + JAVA_PKG_WANT_BUILD_VM="openjdk-${SLOT} icedtea-${SLOT} icedtea-$((SLOT-1))" JAVA_PKG_WANT_SOURCE="${SLOT}" JAVA_PKG_WANT_TARGET="${SLOT}" @@ -160,7 +159,7 @@ src_prepare() { # apply this patch here as the sources are not available unless ARCH == arm64 if use elibc_musl && use arm64; then - eapply "${FILESDIR}/patches/${PN}-${SLOT}/0003_musl_hotspot_aarch64.patch" + eapply "${FILESDIR}/patches/musl/${SLOT}/0003_musl_hotspot_aarch64.patch" fi chmod +x configure || die