diff options
Diffstat (limited to 'dev-lang')
93 files changed, 4502 insertions, 2460 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex 8c421dfc5152..b4b8c9f506be 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/ada-bootstrap/Manifest b/dev-lang/ada-bootstrap/Manifest index 8a3d0b450295..84cfafb31615 100644 --- a/dev-lang/ada-bootstrap/Manifest +++ b/dev-lang/ada-bootstrap/Manifest @@ -1,4 +1,52 @@ AUX ada-bootstrap-0_p2021-gentoo.patch 2615 BLAKE2B 16607a3a88edc6918f077171b424b86a0d696bd0897405a466b62937f74371d23efcf3477b3f106d6e19a8e15d8366c98fbbd92c588ffdc24e4bee3975d6bc42 SHA512 27b6a4907dfd80f6af950141b27e8acc5b2868a9414e9215c001a107479a0ddc54e35a6221a7d349070023e41a448029414d9f6d092fcd7a59b7d6aaee80e3bf +DIST ada-bootstrap-11-aarch64-unknown-linux-gnu.gpkg.tar 39997440 BLAKE2B 36157ee05d5f0d319ad80c0115400fc2ceda505d724a3d1d80a22b5a71a95fa89d544d6e6b51dcea5b3081584cdd12332ead2c7ff9b7d9c4cd8ba0a4f84e51ac SHA512 d0b6ecbe29958da76b4073734bc075b95e719580128c7315fee5d8f8dbaae7dd4162632153826a9c03cb3858f3411bc78eec7ea7d7b1e7db0cc11383cc29a8bd +DIST ada-bootstrap-11-alpha-unknown-linux-gnu.gpkg.tar 42086400 BLAKE2B ecbb65ae6929eb3ed21b6e3506276be280f986c5a98b404951124bb994e123da49442811f7018f6e89348a13beddf33d0c223d8af054f11960a1cbe722236304 SHA512 e1a658c8caa71a9353e0230c3d2706e8efe47d1da207bbcebe07772e229305c6d3ab2719c9999eba47cf748c2f81540a2acc33b19266e6ae2bdc55fd3604ecb9 +DIST ada-bootstrap-11-armv6j-softfp-linux-gnueabi.gpkg.tar 34734080 BLAKE2B ec65023d551fb47da597c10c0aab89771fed1f06d7f4f6b48a2e17e0bb7b2420b2c3d5f6a29107624783f8911b02d22ddcec50b9e4cc4edfb9ec1969ea4633af SHA512 1015e4bb7f6fdde9c07522e85fe5fa0e1e42fc43834a36a6882aea6b807521aecb544cb47c2f5d04dcfbdfe70a696cb6794476c98e346fe639db5d257b42a909 +DIST ada-bootstrap-11-armv6j-unknown-linux-gnueabihf.gpkg.tar 34682880 BLAKE2B 5d573265c86f5901dc3f1928c04483513a2a527e975f7d7e90d798fc4298f315bc4bbf2864d48483c0dc4f17510cbe87fefda96760942a1af81c44b3b4f7fc7c SHA512 1c380839c91c3d57eee84e24dc238d5ba7541b11c9d48e37b2beb8147d7db7d6b2c2bad5819323c2374e41ebbdd87f017d8faca5321c1f413ded5b83a9207f84 +DIST ada-bootstrap-11-armv7a-softfp-linux-gnueabi.gpkg.tar 34519040 BLAKE2B 6460c2e7b2df02481990a124405026178e47cb2348872f4a323ca4f7e80fe1a528816c34b606c73ede866ca83e22860b7f038bb636e59a1327ca1d0e02fadce8 SHA512 3f5b94bb719c73380e6e132043ecef80537c0e3b555f5496032f479d9775cbe6695c45f6873677572db87974ef245d6c43f6c4018ec74c194262cfa6fe38ae93 +DIST ada-bootstrap-11-armv7a-unknown-linux-gnueabihf.gpkg.tar 34467840 BLAKE2B 12a72a8fc940c957858d6f10f713b01a21eee1badfcaad170e2949d0a38a600345ace6a042d5401e2e95585410803d15659fb95385698e129430b85def2a4337 SHA512 5ad2ff2a0db61a1174d0a2b23f6256a7fc5b56cd942ea60fe90ece83d3f7961daf0b0481c7dbf1f1aa603c5149da35cd596eb4760a1fdc5553b54d9400362088 +DIST ada-bootstrap-11-hppa1.1-unknown-linux-gnu.gpkg.tar 34273280 BLAKE2B afc3a4ce5a0c696fcf0b59a5125c42f3b1417899c01df24ed72d24bcf9b22eae52872576152d438c0b0dce90e50353cd6a6cc6341df23ed04d493aea8e2b419d SHA512 83be09347da0069b5650c8a6cef4d444903586ef4f6229349c19150cef750dcc0a50803fe8932e8b0e3b6c13f095bbca7b4208d55e72efda62f63fea59ffa88c +DIST ada-bootstrap-11-hppa2.0-unknown-linux-gnu.gpkg.tar 34129920 BLAKE2B 82e4f59fda3f10a2152995bf845c398cbae8f098d72a0c74c66eb9718bb73dfdd2ffa0aa2394aca26ccd38a0dbe1968c6af18951b12e5985602e5d32f08187fb SHA512 d782f407f8ab4a7ac251b443dcf2465a158dae8fd5b8e16fc45b8eb6927e4a2c5fb56a38f2a7f1c32aa3ab62908da24a41c1e244e82acace6b5814c0563b6e8b +DIST ada-bootstrap-11-powerpc-unknown-linux-gnu.gpkg.tar 33863680 BLAKE2B 9452f9940d39780ebb4afd57a9b660a3804d6fb7bdd014d482a777b51af761905c746400c0f3662ea3a4c559cfcb42a732959db0854d3762b799ed6a2b8b6557 SHA512 ccebbc74abd918f2faf7a664fd36536f23ccf96302515815d2b35d0cf5b60225d3d0f5e5420c5a71a7bd1ccd73e0a2b12ee9f2c209c05539c07529e8fe95733f +DIST ada-bootstrap-11-powerpc64-unknown-linux-gnu.gpkg.tar 34304000 BLAKE2B d11c14b695eb3b5218c59e1003e6dbbfde890cc8e411beceafe35acff9c79ece64b7924e9144336daf0a9c473a312809172a327fe20e3e22f62b5a49830bbfca SHA512 44e22967eee1b3fb138661392b4c7bbcfaf69127ff3ec7cbc38030fecd35952e12b162ef621ce1f617ead9c1a44af2cfb4e159f2ea57a7b5828ac3dce24f0a36 +DIST ada-bootstrap-11-powerpc64le-unknown-linux-gnu.gpkg.tar 35522560 BLAKE2B 6322a509638415fe43ac08b0c34c16bbc864fdd62ee5dc6ac4ad7de44c25525fc36af41fb98507cfa28ee396b06601b5ee568bbde526077c1ce8da917642ba03 SHA512 d2ee85a74eecf27447f80a6f2c256c26621bd874b29a4cbab02612d831e5fa0126118530ea5bd9953ebc5e48afcbdf1aaeb27240d2f1c0176667c09cabcf166f +DIST ada-bootstrap-11-riscv64-unknown-linux-gnu.gpkg.tar 38205440 BLAKE2B 4c93fa6483beeb38e590543bef2fcb45be707adce3373a5a3cd7529997367ca84047af1e7fbaa754d67ba8e5116f0519e8ee2f834137ea5f6a2c3aa659d8ea04 SHA512 e1540a814c4dee14410f90b0e3c1d5fe2cab22be43938027d06dfaeb4b7481aa1e860aa4e578f763cdedd63afeae88e0a0b2175f059ccc31aadac704fc3444cf +DIST ada-bootstrap-11-s390-ibm-linux-gnu.gpkg.tar 25968640 BLAKE2B 87148caadf5a80706bdaafec9147ae6723d95a9e8e2d4f437342309a10e7c8fffe96d443d0f89ff2f87f0c49b97bb5136ec23beef8a631aeb9144282c0eab04f SHA512 327e1edb6b5b27c45352d4e205cf143051e485d0dbc548d42713a0e46e117af415b915e273f24eb6832fa529838d11dee2ade816cc706d8918a0bf90ddfc5a01 +DIST ada-bootstrap-11-s390x-ibm-linux-gnu.gpkg.tar 26900480 BLAKE2B 48ba41b0427135f2bff58cd9253cbcd09100c46d4cc1fd3aca795e9e274843d36842ab1c9db28377e6ace29c8391f215a569e114ebe708d0f04d8d038faaceb7 SHA512 f3f17cd8f337e8a7362e59cb1abe7c28d2c33d64f020a4641668dc374281c9760b1118b43f2a609622cfaf1341e3f7487f0021c6349f8d5411a00f2e2be10957 +DIST ada-bootstrap-11-sparc64-unknown-linux-gnu.gpkg.tar 24842240 BLAKE2B da5a8058d0dc0c1dce54c0478488d9c2f25952f9e614d2cec34355dda4d480699dbb09a369b5537bf5f017b0f4cf60c9213174b86739bb1587f305afbd676abe SHA512 ba46fbc72014d7d43ba85679e3a0c394a5b8fa812ac7bf981c2563f7361e585b9db6f3cf65193dacff1cd9d2f000c15d8b34db646ec109f5b34d511d44e3f003 +DIST ada-bootstrap-11-x86_64-pc-linux-gnu.gpkg.tar 45793280 BLAKE2B 05837b1a44e9127fbeabdedde783bd79d917041ed1ba2e5f2110fd2624f8d4a1a376bc4743e647c3e43296486cc310d024e3b3431e01c7ba62089e3ff162dc6d SHA512 1c8b33b2bd8705f54f6ac1aa85c1faa1938bd1389e3b300af47645cc9f71ce8d2abdc38ece6e4302b678e374e9bfa7b0d0cfdd0fb616365da391914e8ed32b4b +DIST ada-bootstrap-12-aarch64-unknown-linux-gnu.gpkg.tar 37099520 BLAKE2B 408e38b64fa027098b7d815a43c10306735449f947f0b10e2d3014bac4b76e3dd834097529e6b7ca10d83f27acb3b3ef8bfe1faae498407bd306d8cb67341a37 SHA512 c6366169012c463ca10fe560bd1c33f9b147f7a6e1c025954d7f5ac1ba8fb2a4ebf0eac5fa76bfc295bb3a1f74bc98a96773b2bcc55672405b576e0854b1088f +DIST ada-bootstrap-12-alpha-unknown-linux-gnu.gpkg.tar 38246400 BLAKE2B 5ed3e1e5dd6e356142df2062897dc856ccfbbc076d8aa479b81a8a0831a6f4a70a8b09827ea7b569ac5085d75a07a50d18eb682d2c3421fd29743c3260bfe102 SHA512 ab212c3a92384290b40702fb396fbe85fa118c1304617a7a2ddc475b36e9410c0588b88c038a4e7bb9e12610e3d65513efc5cb7189fd131d2472c2768e6ba19a +DIST ada-bootstrap-12-armv6j-softfp-linux-gnueabi.gpkg.tar 28948480 BLAKE2B e65b455718c5d70e5eb17ed09067e8eb5a4a901065da1f7c0a6f2818756b2a684de7a3d2aecd046c0e92e5b6282dd080a9d10772a79e3a0b58ba5e2a1a5ee21f SHA512 a3034c2937ba6f61518f789e237f4f3759c7acdcdd994914c891a3543b7e6540190a694cb6f7af73f2abdaf57f43ee54bb098a3d83afdcb66224413a871fb15f +DIST ada-bootstrap-12-armv6j-unknown-linux-gnueabihf.gpkg.tar 28733440 BLAKE2B 3284df86d30cdde59bc6aedbc62022288acb4ea9d384050382071472b8f1e536fd0d55125cf9d73f2a616c7adcc8ad107f061c0e9c966988e584d12ac507e74c SHA512 bab67cfbd623996e9e095c5ab95b380020f8517bc3815976d6274ce802ef175438afc348b36ce8e6631b7fc62d51ed5af8f57748457d304e1590006399ea656d +DIST ada-bootstrap-12-armv7a-softfp-linux-gnueabi.gpkg.tar 28579840 BLAKE2B aecc4661c3de5ebc1b6c271efc018d52707f727cb2a1af7168621937ab35c58bd5da788f2b8e3993e8b1d8b45b957026ce02b12cfd28a3afd4891572a8e315a9 SHA512 4eb43ecfadbc6cbe57be312567c049ffb6a4b955692f081ddf896d1f9f19140631c2bf65596f69677e8f6bdecc82ec79aee8a9da6d94d7291a9ff925597d074a +DIST ada-bootstrap-12-armv7a-unknown-linux-gnueabihf.gpkg.tar 28426240 BLAKE2B 2b98f358f327ce4114cf91bcf21973d173dcfafeb0b509f5dddc41d4911015c17d41029aec615f415606c009dfd506989e28ba83822fa31fc027393664a4d776 SHA512 bc2c28e8d776ae57a9a6689ef112df26d0e2a817f8e3d8c55c80c9509bcb710cd5052cec090c8d062a4c1711b2449282fb8821ae375c1b235d436f25a475c414 +DIST ada-bootstrap-12-hppa1.1-unknown-linux-gnu.gpkg.tar 29132800 BLAKE2B d66b5a47521ec1a152f3f805a3e2e8d7d87780412171cd58f4a37e094332a96ab5ccbd7ac4fb97470174249c9ac295ac65c39efb2bf7e248cbbba9851dd4775b SHA512 9bcbd6f99dd541f0eaa9c08bc616da577d54e01afa4d3f1e4174c8aa40c8d19c49253c7b686eee85d1ee0a1bf396783f064646a36f037b78eeae9103f58ef660 +DIST ada-bootstrap-12-hppa2.0-unknown-linux-gnu.gpkg.tar 28897280 BLAKE2B 77ef1f368083d190ca1322c601b5d7300a7f653297e28aa05d37c41b8885109d471d664de4b2e71e9889d0e2cc02c73fa832404e490a2ebf4d6714d4ecd30028 SHA512 2756b14dcd2f1fe9c8a23ea86d18ea04e59d3e5dff0433aff97dc7aa70562f9311922fece3ed75ec5339b8ead14cd14a7f8557bde4d42568a9adb0feb43ed4ce +DIST ada-bootstrap-12-powerpc-unknown-linux-gnu.gpkg.tar 25845760 BLAKE2B 61fcae620cb16b9f6be90d02b112f13283e746dfaea02693971e5cecc2a105d9c04a08baf34c96a43c09da3de25c57aa7ca0e7077affe49503d794e63539f099 SHA512 d19b4457f0581b8b49f209ded27789622c34cc95f605fe02e1f96250cfc45207d7fbf38ce53057ba7cd638bcc99febe347b582995f1afa480122d64454b5aa8f +DIST ada-bootstrap-12-powerpc64-unknown-linux-gnu.gpkg.tar 30289920 BLAKE2B ec177ccca0115da4a15e8ffe3ddb13e04ffbdd14098aaa5f1a48182c809823ea00b9ce45cf83565d8666bcdb3a5313b8294e488cf4162a85ae1e3336024709bb SHA512 4598fff58a87360b5eacfaceea4de1bf3167a41a7063a964e71ce91bd849090376b77fe352cf2521afffc35f2b6e5d28157ac822018f4e5ea444a1e91a1eaf2f +DIST ada-bootstrap-12-powerpc64le-unknown-linux-gnu.gpkg.tar 30167040 BLAKE2B e6093fd663714c05ed77ba320997c17cd8f3d1de5e3200c7429a87f0ae7895a880653f1af69a0646ea420becb21dd07a79eeb6ad52b858a84ca454e08a979912 SHA512 0e29b47e971c7722e457b373993a4168b82edadd941aa74292a5638e5a3a8030753c5052c500f376bfc756d7d0798fdc425f6a1e4b034683162325566256dc08 +DIST ada-bootstrap-12-riscv64-unknown-linux-gnu.gpkg.tar 35594240 BLAKE2B cf810466f05fd495e2094a3518d79bfd120ff574d045f3930bc4a0dfa77febbc60c335774ac7af40940c9248b11bc7372e3b49a6164175e93f33c3adf07863e0 SHA512 041b247ea08f4739a2933d0b78aa164ac294cb1c627c19af560f52fe6f1c9130836c1810703a83ed9d67c79004ef922d3e48e8cba43889bcc945b98153d85d5b +DIST ada-bootstrap-12-s390-ibm-linux-gnu.gpkg.tar 24535040 BLAKE2B 5933ef5d17d5fe65e3be538e25d5a13144d5debcca1cc1346051df266065bb4d4c16ba5ea5c7206ab34fede09c1c364ce1fe5770e3b9fe37fb007e59449ebe40 SHA512 bc040b816260e6e4e6fa297ff7a595f3ecd11e49b08565f0fee6d3ce2c9ea64fda6c559506db8ebfbfc07211cff5d2386407032f1e58d408ae11db2db450ef8d +DIST ada-bootstrap-12-s390x-ibm-linux-gnu.gpkg.tar 25466880 BLAKE2B 3960c1d8c5723e82257b4ebf4c154757ba7e8c4fdebde912d25b00f37304e626f2fc8d2c9cb1b8a2e6d15331a2c0828d1b004d67f2d4401613127dbb0289f261 SHA512 4c9c46055914617d46327b70b21861cefee7ffc06651aab5b3ebf64e27f11ec576bffbcf84ab64b28e0a4e0f98e8fdfea6be9896e36cee4453bd66d36711c60e +DIST ada-bootstrap-12-sparc64-unknown-linux-gnu.gpkg.tar 23060480 BLAKE2B b4655c7958fe98179ab55b46b71db66caee430b27400ccb9ee8f67ae39edad0354381af2fc1c426b82870c82969d4f5b2208e4ba06dc5b161986dbacea32ecf4 SHA512 5a4f86bd8ce616c46478dd90e3c63b37c4c3838b5944afc0bb1a67d4a394b103fce037dacbdb7faee190f44f2b93f89c5f76bf7f1a4620c54afce84078fccf97 +DIST ada-bootstrap-12-x86_64-pc-linux-gnu.gpkg.tar 50155520 BLAKE2B 4b0e9681d1b1b4d4773eac81d50e5755e40e50b6c0cfc1093fbde43dbf8ecc4406b33c3cd21acc5bca1ad26f5c4c7e2416b9e6f8cb63eb51412d23ebe5e8c81b SHA512 914337c4ec2ba84ff67c7d5a08665dfe08f7cd9f975cc96138aeee0a506c26b3576490b9b7d832f7ae0ff863fef6aad353193d055241a05e75320397eab545a3 +DIST ada-bootstrap-13-aarch64-unknown-linux-gnu.gpkg.tar 39895040 BLAKE2B f76ece756dddc2cb4b776d14d088b9e9e61c6342b26d4b0fc1778b894e195a06c514678e9ae8dc448102aac2c8ec6f45ee59137bcae73beca46e12ac897f473d SHA512 6edb8b557f567bfce837063aa7eb28a420d3d7a0b7aa8c15dbb71931715ddb9c8cd890cfee072b606c8bd16371efc3aec56d9090f70dbf249e91c64c3a27349e +DIST ada-bootstrap-13-alpha-unknown-linux-gnu.gpkg.tar 40355840 BLAKE2B 054d9d6d732eea3354e5714d191a4b3f27dcdcdbcf65aebfc04b71d8833757fcef7fe4ac2bebbd414e8a5b3502eb2ef245e65dc952883781b89757438c05fa14 SHA512 2531c61b99c25c09d2b84fde1b7da7c1e0b9884d3782caec63f27c8d0a92d0e5a3873d2f5ab1a624ec0989431017e6ca32b3b855e75cb333bb7ddccd564e2c8b +DIST ada-bootstrap-13-armv6j-softfp-linux-gnueabi.gpkg.tar 33945600 BLAKE2B ab235b364db3567fb0f448414129d8983fe7f9c93e955ef86c961f481654aa09cbd9c18e2a7d31b7452da89edac74a8df2346d8a703b277ff913d955e6495f3f SHA512 3103c9b8ae3db9ef369455ac06c1f33bc7bd18e7f290c54fc4b858ff795c8cfdf5bc67bf3c2211b643f73587ce3e04b6a4617bae3d42b98e929787eee57a1d76 +DIST ada-bootstrap-13-armv6j-unknown-linux-gnueabihf.gpkg.tar 33720320 BLAKE2B 6df26999e7d6afb6eac01ad2cd271c85df2200bc85a8ec9383fd26cedbfec8cadabdf3d2c226d42594b2c0e10a7bbcbdb408adc0de06427a42dd3e28178de30e SHA512 b0c83c4f4e966ac3aaa9c1c39325e78f9a1800baf6cc5bb251f68d965316b06c74e3e174f1645769dad182866ae65db996fed23473abab3290ba44f4957a461a +DIST ada-bootstrap-13-armv7a-softfp-linux-gnueabi.gpkg.tar 33515520 BLAKE2B 7c4196c4378cb9f05d7daa6bca735828f82793ee38b4a2ca1306d871fecb7e7ed64a3bfa14eba6ad7d52e8c48dedec67e8d5ea2fb1b06cfd4583dce32deb5144 SHA512 7f2ae11d6ca32771e3c69542a62f26e61316f1cd08541ac6ea8075c487a89f4fc9b72477876b95e88baedae7f98274bab235c66360f90bfce346ca427496a372 +DIST ada-bootstrap-13-armv7a-unknown-linux-gnueabihf.gpkg.tar 33290240 BLAKE2B 457ab21565b5979c450245f10962ce157c638857bc01accb41825db93b71d213be93dfa786989ec6e5d0b9ab8e8a810b4b72e6c45d4871dd98d85a8ad2226775 SHA512 8400c4ce69a4b9576ffdf07a3473ca384b65367ed39f40169ea4773c328c6004e82c87a2365d4eb39a41ddf785a1a7708daae40b37d59f92c3f93080dec44509 +DIST ada-bootstrap-13-hppa1.1-unknown-linux-gnu.gpkg.tar 32563200 BLAKE2B 5d94fe1a243bdcd78292443ad963f41f7d4a8d08643dfbde05f87a2e7408515316ab4fe5b51a02c863dc0259f68791349d8a3a6cb84a76cbe3adf59f0814b356 SHA512 5ed875bf53bb8bbf0e57ac2a19aefaa4e9ccf26c2c63cb38b564423dac20056655d5055f6f9f72e0606a03c5eb625d098090e261b37bc911af56ee7d1fc51c9b +DIST ada-bootstrap-13-hppa2.0-unknown-linux-gnu.gpkg.tar 32368640 BLAKE2B 1c608e26b7c224617a2c3967380cb2ab74e592648c943df6bfa7dacfd0b30df089185e46620f41c3ec82f610033a5eb6202792c654d7d278259e952ccba12fdf SHA512 e9d56aee05c1a2717f54b17322b90693c36ee6b285a7c9d7837a19dcd3c434bf3ef37bb6faeb9b3b9849545db21d9e110e84c27bb4f7e9386bc32e67af414a93 +DIST ada-bootstrap-13-powerpc-unknown-linux-gnu.gpkg.tar 27207680 BLAKE2B bd9971c4e86267bfe4b45421d33eeec324392c9980dcc3fc204a0e9d5ee7856f565732de50d749c14aaba7a1c52752d31ed5a985945deb76aa22110e94ca376e SHA512 b83beafa56eda356755c2519d255ca0ff17b9511a809dc814b63263c4bfd812478e700beb25e1968e336565d0d16c754d286d65560721f9d69c4aa7e0a3921e2 +DIST ada-bootstrap-13-powerpc64-unknown-linux-gnu.gpkg.tar 32655360 BLAKE2B 6cd924dcf41884b1e895097b9e514550e421358aad5c4879423a186f17a37c7d6e8f00c10ea037dc5830101435935cfe5b29f4e3803c7b73eddc8a6dff82be6b SHA512 a36a5cb229e21018aa3ea733ae81ca86d6fe6a719ae6166ed773d5cf9b2d423b9d67c97c75e89d85e401aab85bf81eb2560c36ba88471766b60e5805c3d00a35 +DIST ada-bootstrap-13-powerpc64le-unknown-linux-gnu.gpkg.tar 33751040 BLAKE2B 5c4457c290486d2740f04e4269cc214ce8ad80c22d3416c364161b1ccf117bce11afdaa5716a89aff7b5f3f863648e753f40fb1bf107bf1b89ab04916f0107fa SHA512 5b7c715ad7cd550460e26414382c06fd154b73ffea405df64d6ea0d8a8afa3d9a3d0b61458046beea25360672096c23fa2d7d0605b2a33c0ecea43ccce8e0e3a +DIST ada-bootstrap-13-riscv64-unknown-linux-gnu.gpkg.tar 38963200 BLAKE2B 88ec358fb5b9a1dedc5bec08cc1842c58c8ac8aad6f96a6ed4c077b323c8f17643686ee5eff8e1af4044328832a739439ec5b682be7fbe63c09dccc4be5cf76c SHA512 2061fcec3b875d9b42fca13c3e355dfb5dc78abd65e757df908dabbcd62f82c752b387aad1c59f0a421b2146556511c93615e7e2a52b190763d3be751ee31b8e +DIST ada-bootstrap-13-s390-ibm-linux-gnu.gpkg.tar 26890240 BLAKE2B f1e996ab793a1ad8f0e3220ffd94beee6a573ebcc32c4956c70e289fc7183f2996e9f61fc454f9f4a2860c8a82478ade9ff5f4a40656c16f02877b38d9369fb4 SHA512 eec4cd68104dc585ce691fab76fb328bc9da65fbd4fe45db37b40b64b1a4c3c6aa14dac0a249c883956de9054a3d34c61fb716badf1e9bf9072872a1dad160a6 +DIST ada-bootstrap-13-s390x-ibm-linux-gnu.gpkg.tar 28907520 BLAKE2B 8b5aecb74be8e36e5d36ec664729350b1e9112fbcf69ce7a49120c69ff001d41e7efe814cd092dafcc24fd866ce28f9a6c1c9d80d76c841c3733cfc1d5e49332 SHA512 806b87a7022806b5c92ad3f9af1f28140ec3a36f2fe511ce281e7fb8ef05bb99f8a029c3fa308c5bd6a100b9471db4e2bccdcb26538a8e3d6a5b97d195653d39 +DIST ada-bootstrap-13-sparc64-unknown-linux-gnu.gpkg.tar 24391680 BLAKE2B 5a513a277b0d3b24184476b7fe204d1dad81bafaea430191d7b74c7cbb09602f735ee4ae3aeb138c3739179802a792d0aa5984d6c727a9a4a0d6367ace50e74b SHA512 ab0c6d416c1ea7d8239eff54422fa9cd0410ce604bfdded0c6b522dc07549267b409cb63fa8a2aaf4950c437678fdf3ab0b7afc9937ad3148dbeb5938425f853 +DIST ada-bootstrap-13-x86_64-pc-linux-gnu.gpkg.tar 51701760 BLAKE2B 662a3f24075cbc75e8bfb9842128aeb6fa29198cc171cfcb6322dfa1a0125cb1547927f5efddbd823ee1c19fb0c4b7b12a58df5bdf4674bdcc467755bf82624d SHA512 66ed44941a4f93805c954df80428db03383e045927916bd3f2c6d33b1d20c94b0b8f95e1b877461e5b949fadf6ff3770cbf0e467d6f8fbfab44ce7f465afef58 DIST ada-bootstrap-14-aarch64-unknown-linux-gnu.gpkg.tar 44759040 BLAKE2B 4c3440bf35f14dc93e7d9265f90bca0cf534bbc2cd913f2d7356d674d9f4bc6a691b812c3c5f7d54d4fc63ad7f67ff06dd09afb5c3d008666e747dace5d3940a SHA512 8253ac27650398192081ebc8f352679b2e6fdad0cc8d52df176a1944a6da373e0adce6acc0bdbdbb3c6c37f1d666d2839fae06b86814e6e1ab7c6f6efea128ba DIST ada-bootstrap-14-alpha-unknown-linux-gnu.gpkg.tar 44359680 BLAKE2B 8ca83caa392356901fbe299c83efce9e22501e9251d4a8bac68c113630507b209e4efb4b3a094f4dcf73ff9a3714b1f881ae42ea373e02bd8d720cb02cb11427 SHA512 67ba8c0e63a69744fc34a04fa1dda34d2958fd693f4a0f1449b897a541854ef8c1f2a09a0375223392430313184a6db87b72fbee5fecb10af7ef40db7517edbe DIST ada-bootstrap-14-armv6j-softfp-linux-gnueabi.gpkg.tar 38379520 BLAKE2B 6ad7988780d1961a5b8c743ad2bc83c8da7173b53ecae3a3d82e02e4d425cdd49555bc6bb76f17f08cb4378b13e2a98bcfbcc8ff54e6a63397893ec9a0c3b6b4 SHA512 b253218ddfaeff7216b8770f251a4ffd3fbcf6b3d487e505bab7ebc3730bb9f616ee4f46d5c77a2c6a76c2bca0257dfff6428bb75c86bb977ea1f4a49e3cb103 @@ -22,5 +70,8 @@ DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5d DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2 DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e EBUILD ada-bootstrap-0_p2021-r1.ebuild 5755 BLAKE2B 0a68cb9f9bed35a7f1fcfbaca6f6122153afbf8c8b6fce92a3eb101d1f1761cf156f99131ddf4f67e9eb74a3d85398570582bcaae4078a39fb18c63cb4749120 SHA512 db32136657d6735fddcfd5a15de5fdea5c4689c855b27c4471d406873f751a3f2588ff7d3c6ff576c03448a653d0b14e29b5201fb8dd6af09ca8f29ab8626d44 -EBUILD ada-bootstrap-14.ebuild 4610 BLAKE2B 42c026d6ce7f4e60f5e61840c6a7e9e4fc6cea07fbb44f5cbc503befece56faf350eef1825811f16a318b5ae1899bd68bb2c2a0199f756050ed8c3950c5b6269 SHA512 2a12a53f7e5417f0f4f581a697a7f028835e3d1657b1dd9fe892ae546304f538cc14b3f1ddcc9b9316e6e74355117bfb828a3bef3027790f4fef3c217e935361 +EBUILD ada-bootstrap-11.ebuild 4497 BLAKE2B 19361a1dad72fb173673ad62b9abb85833476b862bdc806cc358fbc60cf1dc4360f61518dd717b51f696fe3f88c95128f82c0f93d1b62d824a367c83cbabbd64 SHA512 4c155735fd9b908d7c5deb04c9420eee363d9db863011afa7e2ae906f3bead713bebb61ac1525bb27d5e2dd4c5cb06864d622373ca545c5987cde83eca0f3883 +EBUILD ada-bootstrap-12.ebuild 4497 BLAKE2B 19361a1dad72fb173673ad62b9abb85833476b862bdc806cc358fbc60cf1dc4360f61518dd717b51f696fe3f88c95128f82c0f93d1b62d824a367c83cbabbd64 SHA512 4c155735fd9b908d7c5deb04c9420eee363d9db863011afa7e2ae906f3bead713bebb61ac1525bb27d5e2dd4c5cb06864d622373ca545c5987cde83eca0f3883 +EBUILD ada-bootstrap-13.ebuild 4497 BLAKE2B 19361a1dad72fb173673ad62b9abb85833476b862bdc806cc358fbc60cf1dc4360f61518dd717b51f696fe3f88c95128f82c0f93d1b62d824a367c83cbabbd64 SHA512 4c155735fd9b908d7c5deb04c9420eee363d9db863011afa7e2ae906f3bead713bebb61ac1525bb27d5e2dd4c5cb06864d622373ca545c5987cde83eca0f3883 +EBUILD ada-bootstrap-14.ebuild 4619 BLAKE2B 4d548ae57d2e302e8098199eb544efd7a20ff9a230a1e8bd2f9c47b8a1d8f5b1e08ce93e1c6f5bfce5e40b968bcabc3328609bd6587391f0ca6f8b9ff48e6979 SHA512 f0b02c557245b33ec48a4adbbba8a6eb6f8f2ad415093f8bac385247d21ab82a7fac458bec12e7c53f5aa5c1b10c995daa3a7c2cb967242b65f77fd59c029193 MISC metadata.xml 216 BLAKE2B 921055d990617104de7e3437bc9fd4598cb830193bfcdc34254102a1df2c6025916af7025843f161dff8de731f9726641906b86f831375c5d29303ba64991da2 SHA512 8c43f5f2be76799c8ace4df222de22380c389e058bc7e36bd9b19564cbd4b90ab7515b90f822139a18b3a2cba70e76d3b4eb5426f88a0508798175893073d732 diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-11.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-11.ebuild new file mode 100644 index 000000000000..186d73ede3ed --- /dev/null +++ b/dev-lang/ada-bootstrap/ada-bootstrap-11.ebuild @@ -0,0 +1,124 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# The binaries in SRC_URI are generated by the following (roughly): +# * taking an amd64 stage3 +# * adding USE=ada to make.conf +# * running `crossdev ${CHOST} --ex-gcc -S` +# * running `USE=ada ${CHOST}-emerge -v1 gcc` +# * copy /usr/${CHOST}/var/cache/binpkgs/sys-devel/gcc* into +# ada-bootstrap-${PV}-${CHOST}.gpkg.tar +# +# The full script is at https://github.com/thesamesam/sam-gentoo-scripts/blob/91558fb51c56a661d6f374507888ff67725ca660/build-ada-bootstraps. +# +# Binaries in SRC_URI are regular Gentoo binpkgs in the GPKG format. +# +# Note: of course, the used GCC on both CBUILD and CHOST +# must be the same version, correspond to ${PV} in ada-bootstrap, +# and be at most the newest stable GCC (ideally older). +inherit unpacker + +DESCRIPTION="Binary bootstrap compiler for GNAT (Ada compiler)" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Ada" +SRC_URI=" + alpha? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-alpha-unknown-linux-gnu.gpkg.tar + ) + amd64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-x86_64-pc-linux-gnu.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-aarch64-unknown-linux-gnu.gpkg.tar + ) + arm? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-unknown-linux-gnueabihf.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-unknown-linux-gnueabihf.gpkg.tar + ) + hppa? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa1.1-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa2.0-unknown-linux-gnu.gpkg.tar + ) + ppc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc-unknown-linux-gnu.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64le-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64-unknown-linux-gnu.gpkg.tar + ) + riscv? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-riscv64-unknown-linux-gnu.gpkg.tar + ) + sparc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sparc64-unknown-linux-gnu.gpkg.tar + ) + s390? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390-ibm-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390x-ibm-linux-gnu.gpkg.tar + ) +" +S=${WORKDIR} + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="-* amd64 arm arm64 hppa ppc ppc64 ~riscv sparc" + +RDEPEND=" + >=dev-libs/gmp-4.3.2:0/10.4 + >=dev-libs/mpfr-2.4.2:0/6 + >=dev-libs/mpc-0.8.1:0/3 + sys-libs/zlib + virtual/libiconv +" + +src_unpack() { + # We want to unpack only the appropriate tarball for CHOST (e.g. on arm). + TARBALL_TO_UNPACK= + + local archive + for archive in ${A} ; do + local tarball_chost=${archive/${P}-} + tarball_chost=${tarball_chost%%.gpkg.tar} + + if [[ ${tarball_chost} == ${CHOST} ]] ; then + TARBALL_TO_UNPACK=${archive} + break + fi + done + + if [[ -z ${TARBALL_TO_UNPACK} ]] ; then + die "No tarball found for CHOST=${CHOST}. Please file a bug at bugs.gentoo.org." + fi + + unpack_gpkg "${TARBALL_TO_UNPACK}" +} + +src_install() { + local chost=${TARBALL_TO_UNPACK/${P}-} + chost=${chost%%.gpkg.tar} + + BINPKG=$(find "${WORKDIR}"/ -type d -mindepth 1 -maxdepth 1 -iname 'gcc-*') + BINPKG="${BINPKG#${WORKDIR}}" + + dodir /usr/lib/ada-bootstrap + mv "${WORKDIR}"/${BINPKG}/image/usr/ "${ED}"/usr/lib/ada-bootstrap || die + + # Make `gcc-config`-style symlinks + insinto /usr/lib/ada-bootstrap/bin + local tool + for tool in gcc gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool}-${PV} + done + + rm -rf "${ED}"/usr/lib/ada-bootstrap/usr/bin || die + # This gives us the same layout as older dev-lang/ada-bootstrap + dosym -r /usr/lib/ada-bootstrap/bin /usr/lib/ada-bootstrap/usr/bin + dosym -r /usr/lib/ada-bootstrap/usr/libexec /usr/lib/ada-bootstrap/libexec +} + +# TODO: pkg_postinst warning/log? diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild new file mode 100644 index 000000000000..186d73ede3ed --- /dev/null +++ b/dev-lang/ada-bootstrap/ada-bootstrap-12.ebuild @@ -0,0 +1,124 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# The binaries in SRC_URI are generated by the following (roughly): +# * taking an amd64 stage3 +# * adding USE=ada to make.conf +# * running `crossdev ${CHOST} --ex-gcc -S` +# * running `USE=ada ${CHOST}-emerge -v1 gcc` +# * copy /usr/${CHOST}/var/cache/binpkgs/sys-devel/gcc* into +# ada-bootstrap-${PV}-${CHOST}.gpkg.tar +# +# The full script is at https://github.com/thesamesam/sam-gentoo-scripts/blob/91558fb51c56a661d6f374507888ff67725ca660/build-ada-bootstraps. +# +# Binaries in SRC_URI are regular Gentoo binpkgs in the GPKG format. +# +# Note: of course, the used GCC on both CBUILD and CHOST +# must be the same version, correspond to ${PV} in ada-bootstrap, +# and be at most the newest stable GCC (ideally older). +inherit unpacker + +DESCRIPTION="Binary bootstrap compiler for GNAT (Ada compiler)" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Ada" +SRC_URI=" + alpha? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-alpha-unknown-linux-gnu.gpkg.tar + ) + amd64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-x86_64-pc-linux-gnu.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-aarch64-unknown-linux-gnu.gpkg.tar + ) + arm? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-unknown-linux-gnueabihf.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-unknown-linux-gnueabihf.gpkg.tar + ) + hppa? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa1.1-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa2.0-unknown-linux-gnu.gpkg.tar + ) + ppc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc-unknown-linux-gnu.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64le-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64-unknown-linux-gnu.gpkg.tar + ) + riscv? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-riscv64-unknown-linux-gnu.gpkg.tar + ) + sparc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sparc64-unknown-linux-gnu.gpkg.tar + ) + s390? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390-ibm-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390x-ibm-linux-gnu.gpkg.tar + ) +" +S=${WORKDIR} + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="-* amd64 arm arm64 hppa ppc ppc64 ~riscv sparc" + +RDEPEND=" + >=dev-libs/gmp-4.3.2:0/10.4 + >=dev-libs/mpfr-2.4.2:0/6 + >=dev-libs/mpc-0.8.1:0/3 + sys-libs/zlib + virtual/libiconv +" + +src_unpack() { + # We want to unpack only the appropriate tarball for CHOST (e.g. on arm). + TARBALL_TO_UNPACK= + + local archive + for archive in ${A} ; do + local tarball_chost=${archive/${P}-} + tarball_chost=${tarball_chost%%.gpkg.tar} + + if [[ ${tarball_chost} == ${CHOST} ]] ; then + TARBALL_TO_UNPACK=${archive} + break + fi + done + + if [[ -z ${TARBALL_TO_UNPACK} ]] ; then + die "No tarball found for CHOST=${CHOST}. Please file a bug at bugs.gentoo.org." + fi + + unpack_gpkg "${TARBALL_TO_UNPACK}" +} + +src_install() { + local chost=${TARBALL_TO_UNPACK/${P}-} + chost=${chost%%.gpkg.tar} + + BINPKG=$(find "${WORKDIR}"/ -type d -mindepth 1 -maxdepth 1 -iname 'gcc-*') + BINPKG="${BINPKG#${WORKDIR}}" + + dodir /usr/lib/ada-bootstrap + mv "${WORKDIR}"/${BINPKG}/image/usr/ "${ED}"/usr/lib/ada-bootstrap || die + + # Make `gcc-config`-style symlinks + insinto /usr/lib/ada-bootstrap/bin + local tool + for tool in gcc gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool}-${PV} + done + + rm -rf "${ED}"/usr/lib/ada-bootstrap/usr/bin || die + # This gives us the same layout as older dev-lang/ada-bootstrap + dosym -r /usr/lib/ada-bootstrap/bin /usr/lib/ada-bootstrap/usr/bin + dosym -r /usr/lib/ada-bootstrap/usr/libexec /usr/lib/ada-bootstrap/libexec +} + +# TODO: pkg_postinst warning/log? diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild new file mode 100644 index 000000000000..186d73ede3ed --- /dev/null +++ b/dev-lang/ada-bootstrap/ada-bootstrap-13.ebuild @@ -0,0 +1,124 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# The binaries in SRC_URI are generated by the following (roughly): +# * taking an amd64 stage3 +# * adding USE=ada to make.conf +# * running `crossdev ${CHOST} --ex-gcc -S` +# * running `USE=ada ${CHOST}-emerge -v1 gcc` +# * copy /usr/${CHOST}/var/cache/binpkgs/sys-devel/gcc* into +# ada-bootstrap-${PV}-${CHOST}.gpkg.tar +# +# The full script is at https://github.com/thesamesam/sam-gentoo-scripts/blob/91558fb51c56a661d6f374507888ff67725ca660/build-ada-bootstraps. +# +# Binaries in SRC_URI are regular Gentoo binpkgs in the GPKG format. +# +# Note: of course, the used GCC on both CBUILD and CHOST +# must be the same version, correspond to ${PV} in ada-bootstrap, +# and be at most the newest stable GCC (ideally older). +inherit unpacker + +DESCRIPTION="Binary bootstrap compiler for GNAT (Ada compiler)" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Ada" +SRC_URI=" + alpha? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-alpha-unknown-linux-gnu.gpkg.tar + ) + amd64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-x86_64-pc-linux-gnu.gpkg.tar + ) + arm64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-aarch64-unknown-linux-gnu.gpkg.tar + ) + arm? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv6j-unknown-linux-gnueabihf.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-softfp-linux-gnueabi.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-armv7a-unknown-linux-gnueabihf.gpkg.tar + ) + hppa? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa1.1-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-hppa2.0-unknown-linux-gnu.gpkg.tar + ) + ppc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc-unknown-linux-gnu.gpkg.tar + ) + ppc64? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64le-unknown-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-powerpc64-unknown-linux-gnu.gpkg.tar + ) + riscv? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-riscv64-unknown-linux-gnu.gpkg.tar + ) + sparc? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-sparc64-unknown-linux-gnu.gpkg.tar + ) + s390? ( + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390-ibm-linux-gnu.gpkg.tar + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-s390x-ibm-linux-gnu.gpkg.tar + ) +" +S=${WORKDIR} + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="-* amd64 arm arm64 hppa ppc ppc64 ~riscv sparc" + +RDEPEND=" + >=dev-libs/gmp-4.3.2:0/10.4 + >=dev-libs/mpfr-2.4.2:0/6 + >=dev-libs/mpc-0.8.1:0/3 + sys-libs/zlib + virtual/libiconv +" + +src_unpack() { + # We want to unpack only the appropriate tarball for CHOST (e.g. on arm). + TARBALL_TO_UNPACK= + + local archive + for archive in ${A} ; do + local tarball_chost=${archive/${P}-} + tarball_chost=${tarball_chost%%.gpkg.tar} + + if [[ ${tarball_chost} == ${CHOST} ]] ; then + TARBALL_TO_UNPACK=${archive} + break + fi + done + + if [[ -z ${TARBALL_TO_UNPACK} ]] ; then + die "No tarball found for CHOST=${CHOST}. Please file a bug at bugs.gentoo.org." + fi + + unpack_gpkg "${TARBALL_TO_UNPACK}" +} + +src_install() { + local chost=${TARBALL_TO_UNPACK/${P}-} + chost=${chost%%.gpkg.tar} + + BINPKG=$(find "${WORKDIR}"/ -type d -mindepth 1 -maxdepth 1 -iname 'gcc-*') + BINPKG="${BINPKG#${WORKDIR}}" + + dodir /usr/lib/ada-bootstrap + mv "${WORKDIR}"/${BINPKG}/image/usr/ "${ED}"/usr/lib/ada-bootstrap || die + + # Make `gcc-config`-style symlinks + insinto /usr/lib/ada-bootstrap/bin + local tool + for tool in gcc gnat{,bind,chop,clean,kr,link,ls,make,name,prep} ; do + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool} + dosym -r /usr/lib/ada-bootstrap/usr/${chost}/gcc-bin/${PV}/${tool} /usr/lib/ada-bootstrap/bin/${chost}-${tool}-${PV} + done + + rm -rf "${ED}"/usr/lib/ada-bootstrap/usr/bin || die + # This gives us the same layout as older dev-lang/ada-bootstrap + dosym -r /usr/lib/ada-bootstrap/bin /usr/lib/ada-bootstrap/usr/bin + dosym -r /usr/lib/ada-bootstrap/usr/libexec /usr/lib/ada-bootstrap/libexec +} + +# TODO: pkg_postinst warning/log? diff --git a/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild b/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild index 172f527ea631..07ee017e49b2 100644 --- a/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild +++ b/dev-lang/ada-bootstrap/ada-bootstrap-14.ebuild @@ -70,9 +70,9 @@ SLOT="0" KEYWORDS="-* amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc" RDEPEND=" - >=dev-libs/gmp-4.3.2:= - >=dev-libs/mpfr-2.4.2:= - >=dev-libs/mpc-0.8.1:= + >=dev-libs/gmp-4.3.2:0/10.4 + >=dev-libs/mpfr-2.4.2:0/6 + >=dev-libs/mpc-0.8.1:0/3 sys-libs/zlib virtual/libiconv " diff --git a/dev-lang/algol68g/Manifest b/dev-lang/algol68g/Manifest index dfafd797077c..3651d034ea96 100644 --- a/dev-lang/algol68g/Manifest +++ b/dev-lang/algol68g/Manifest @@ -1,8 +1,8 @@ AUX algol68g-3.3.21-configure-implicit.patch 236 BLAKE2B e59d1e65f6d1b83ac1bb43f00614d44ca13b0b2ad77fbc2da944b163487f679302e73d23bbe7d4adeb9a3168466bf38e53a38a3001b2e64725682f7e0edbbeac SHA512 11d9d38d98e210a2b20ef464ae365b4a1eab72befdb5daae15ad031cfda0d65f5d7134fe2c9c26d2929c172ebfef3acafd9072977c68a383784f2ccdefc41ff1 DIST algol68g-3.5.10.tar.gz 662366 BLAKE2B 74adac724abb49dd2a418687b428d945741c9ec3ae47f742f9f2baafcbc9545226ceb18963a2fd65c8dd1496ab6ae935ef398cadfb119a58c89785c7d905301c SHA512 d0103e0c5bcb1723ac8a4d4550d1257c352feeba6f8e9717f6119df31f51769ff983198955dd84fb14fb114cdfd93f8c258f4a7e19d17f2766f9fc0f8940e83b DIST algol68g-3.5.11.tar.gz 662345 BLAKE2B 67eca74972539071eda7e8dc5d3667b64d2ff6b7f37f03db4b28d5f38b968461babf6e8e4fb770c63f7faab219bf38275ba09dcc9b931863a77d3cdf3113caa5 SHA512 63c539b4003b893166f70fa59787c6c899402e0d2387bc1a8c206097011d6e38130f1273f1a0344dcbf67bd0a87594ab654ae00756ae7f0b1903f239e783f5ce -DIST algol68g-3.5.9.tar.gz 664322 BLAKE2B 6c97863239caf5c8e1d5c0281340b1ad82a6b31e32cb428ef3bab4a1b0d22193876b9f422e53448e99323f39c7dede6149595a2cc4557d741ea6e19c24d7dbf6 SHA512 516470b8a14c1d237396855a04fc6a7af4dd676b721c644f9ba9f66e74de903d83fc18a24eb674203392ccc9464ee17a85ef4bb750df948d9be7805666350c9f +DIST algol68g-3.5.12.tar.gz 662372 BLAKE2B 52d855b4dce6ddefcba5013a0c66a84c4c86109b5cf63cb806f26fef1a165f4383bfd29bfed37460e332874eb1754900a3b6ad8b816970410911b67a5573145c SHA512 f6dcde81376b8150c763c449fa9ad5a58607e5f9d1d5a85f2095cd66433b686e18c6c4a6ab18b2c9144ecc98bf677abb33113962861b8e3b6c7efccba9f4b001 EBUILD algol68g-3.5.10.ebuild 946 BLAKE2B 367040f0b742d6374bc889448698f008a5b6aedebd5520371386e3f1db6ba4ac11d813cecfa979194cf59eb7a029a5051242adb50326793d3352a9fbf4241e19 SHA512 8f27f1e5dca69e89e9c5ebdd8f09c6db13f7a241d3dd8862ac7f59964265f77367b52d7b3f86a8b09fc55fb2354dbc4728f421b50ab1873c5279c67444b0e202 EBUILD algol68g-3.5.11.ebuild 947 BLAKE2B 93ee95aa832af217345027acefc5ea9491e71ff2cde134321fb090b51fb754d6c693623ac11d4983d47f3cfc69e74f805e66a7137d7522f5e16701aeee906626 SHA512 d0882449b545d799ea5bc8b5939b68ec5bb1c0aec04dd84111dbb190d76ae554e73c40689b76a0e58b60e3b5d534fd5fc88f85ec6e69e5fb31133119ba64e7a4 -EBUILD algol68g-3.5.9.ebuild 946 BLAKE2B 7826e7dd8c13921585c3056103f6ad3e241e1599e45ed7854fd1f2da334d057bd5c92d6178491387cbdf391b7bc3bda1d2f1ca1eb458a0eb2d1b4251157ef29d SHA512 509e4b99469fcf59a74871f4d5f28ec22d2b6ae6c361abfa9305ef666580f27154cd33ffa3c923df665229c581bb56d8a57f33d16dc0d0b546cf1509cf6f1d39 +EBUILD algol68g-3.5.12.ebuild 947 BLAKE2B 93ee95aa832af217345027acefc5ea9491e71ff2cde134321fb090b51fb754d6c693623ac11d4983d47f3cfc69e74f805e66a7137d7522f5e16701aeee906626 SHA512 d0882449b545d799ea5bc8b5939b68ec5bb1c0aec04dd84111dbb190d76ae554e73c40689b76a0e58b60e3b5d534fd5fc88f85ec6e69e5fb31133119ba64e7a4 MISC metadata.xml 665 BLAKE2B 2b9b283f86666d64dd77164c5afb0d76403c63f9f0dfac3170eb2ade95bcc382b09d14248cb720edf7c1b055e78ca5ca0017b6784caf4381d970a011301058bd SHA512 b3171d505f9f9e4dcdd5b5a0c6d302849fa017538402832dd3db205c48c68a39867089aae4d1f3c158a45bfc170b21f83789cba16511f251d70300020e102b0a diff --git a/dev-lang/algol68g/algol68g-3.5.9.ebuild b/dev-lang/algol68g/algol68g-3.5.12.ebuild index 3b5c40da8f55..703e6c6c442f 100644 --- a/dev-lang/algol68g/algol68g-3.5.9.ebuild +++ b/dev-lang/algol68g/algol68g-3.5.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="~amd64 ~x86" IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline" RDEPEND=" diff --git a/dev-lang/c-intercal/Manifest b/dev-lang/c-intercal/Manifest index 7bc02b7225a4..89cec11d9f06 100644 --- a/dev-lang/c-intercal/Manifest +++ b/dev-lang/c-intercal/Manifest @@ -2,5 +2,7 @@ AUX 50c-intercal-gentoo.el 191 BLAKE2B 3575c7ecac45d7023f727e559bbcfeb311c45c720 AUX c-intercal-31.0-no-common.patch 311 BLAKE2B 25e260a1e4c7079fb8baac690580505c401870fe60b6c0e398f79a8d1027ea6395b30b8c16244ad147489787606d6b6a27f244e4b8f9e9f7710405b124d3d7a8 SHA512 84db59e1855672260079c39ac066d98d031536019180483002b224c48912472c175bcde20053d37510e6aa07fa2de62beb4161d5a262b5d775742d0d10e7b51e AUX c-intercal-31.0-version.patch 330 BLAKE2B f7a18b5098c6969ea29c21513221e3dd6f6cce847ceca102f8d3a0713d18bbdfd11b1349b0463f7338ef69ccb2b08aa8162e91860b26338c577647728e1261db SHA512 cfb0c79e76b19938fda232cf508e32812aa4edad2eb6545eef84f6bdfd8304666911ca4042450c4642699a41a140f4e199acf0f8d9ab0f24ab8daa81a89d3393 DIST intercal-0.31.tar.gz 940950 BLAKE2B 9a23229b1d7f0524b164a4b66bcab4fdf67a04ba1e411365a46a90d646867fe92d6e328935b406673809535a895becde934fb6cf2e8380943eb8f19473fcedab SHA512 ca5c10be880ce2470d7dd3404fa5a314bd7bcab45cf4908f7108eb1baa50339b876e135251d991527881b564027c63dc38d74a154cbd00d606261013d2b01262 +DIST intercal-0.33.tar.gz 960355 BLAKE2B c9d4f0a497865980fe2b8d26f43bf33a6c0ee2fb197c278cbd5b019fb2929310f4f776eeb5538e47de5d10b9410176f9cab403607108f7f0186bd004ce39184a SHA512 8dcd5eceb0b356a130b6a839536129438b17e417c33563ad851e29793755756c81cf3a2a61a90793d0fb59ade8a6928912cfa0471fbae9c61cd9cba0ed849379 EBUILD c-intercal-31.0.ebuild 1939 BLAKE2B 11a1049b636861eff6bf03c8cea5081b6eb710fce7496f5b34a9993d5e26e81dd0f0d8ae27d93c3be9408577d102b5848c12965a3637663cc2e44a3700bd1b58 SHA512 12ae39447678122e97ff132fa954b29deb14edc16d66bff32b52152198f0276ad0eb5b735200bd647759274fa206a1b305950e1a971b15ca47a10b9e3261c592 -MISC metadata.xml 593 BLAKE2B a4c6702e622cc4c7132f16b2fcc5713de9a9cc5c78b15ff899c47d6d82c64e0b60ba49e6f9b9a3fe9464eed96143c45207fd57996aeb64776b4b6fdd76794c40 SHA512 1f1ddbfc8ec9414851e22204450b94006f00474c9e13634eac8abb0359b5e9c199b3a541d8cb91ef5c38142b36a99fb7defd5dce82a1fe14c12a72bf047f1ff7 +EBUILD c-intercal-33.0-r1.ebuild 1638 BLAKE2B e8fe8bc56d4f6e07a0dfba9b1b521f80d502fe0e113aeedacf76dc57e9a5ebef1fe9402bd9dbb29f703a53d6b3d5b8a93157568f9daa8af082acb61de11ab480 SHA512 2117ff7a3c1a97bd4c7ab85be22d2d992bb2371dee5a1ac7b7ec942551ad7a91645fc69856cb42207eb72a5541dcbd0487ed5e6b1dbcdeffa13e334a582e6fb1 +MISC metadata.xml 668 BLAKE2B e1f40bd6d12f28949e00b5f87d03edaf36af3e1fbc146e76d73f39d0771e2e2f45c23d72f915b5131a796f405ce81d041cee3788c59dd4d9e20430b86be66121 SHA512 a902ef31f9a7367b7ca5a28e368302fd7ce4740a4c272a52db23192aaa17b741b07631d198f10b1ea88446f6e9b85827d5ee19f86095a0bf2678e2548a2df79c diff --git a/dev-lang/c-intercal/c-intercal-33.0-r1.ebuild b/dev-lang/c-intercal/c-intercal-33.0-r1.ebuild new file mode 100644 index 000000000000..8667d86a48d5 --- /dev/null +++ b/dev-lang/c-intercal/c-intercal-33.0-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools elisp-common + +# C-INTERCAL uses minor-major ordering of version components and +# negative version numbers. We map version components -1, -2, ... +# to 65535, 65534, ..., and subtract one from the next component. +# For example, upstream version 0.28 is mapped to Gentoo version 28.0 +# and 0.-2.0.29 is mapped to 28.65535.65534.0. +#get_intercal_version() { +# local i=.${1:-${PV}} j k c=0 +# while [[ ${i} ]]; do +# (( k = ${i##*.} + c )) +# (( (c = (k >= 32768)) && (k -= 65536) )) +# i=${i%.*} +# j=${j}.${k} +# done +# echo ${j#.} +#} + +MY_P="${PN#c-}-$(ver_cut 2).$(ver_cut 1)" +DESCRIPTION="C-INTERCAL - INTERCAL to binary (via C) compiler" +HOMEPAGE="http://www.catb.org/~esr/intercal/ + https://gitlab.com/esr/intercal" +SRC_URI="http://www.catb.org/~esr/intercal/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2+ FDL-1.2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="emacs examples" + +RDEPEND="emacs? ( >=app-editors/emacs-23.1:* )" +BDEPEND="${RDEPEND} + app-alternatives/lex + app-alternatives/yacc" + +SITEFILE="50${PN}-gentoo.el" + +src_prepare() { + default + eautoreconf #948911 +} + +src_compile() { + emake + + if use emacs; then + elisp-compile etc/intercal.el + fi +} + +src_install() { + emake DESTDIR="${D}" install + dodoc BUGS NEWS HISTORY README doc/THEORY.txt + + if use emacs; then + elisp-install ${PN} etc/intercal.{el,elc} + elisp-site-file-install "${FILESDIR}/${SITEFILE}" + fi + + use examples && dodoc -r pit +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/c-intercal/metadata.xml b/dev-lang/c-intercal/metadata.xml index 50974db5fc6f..0becb89b82a6 100644 --- a/dev-lang/c-intercal/metadata.xml +++ b/dev-lang/c-intercal/metadata.xml @@ -11,4 +11,7 @@ INTERCAL code. Now supports i18n and l14n (to Ancient Roman locale only). Now with fix patch by Donald Knuth. </longdescription> +<upstream> + <remote-id type="gitlab">esr/intercal</remote-id> +</upstream> </pkgmetadata> diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 89bb01f53e4f..a107aa8cf01a 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -1,5 +1,6 @@ AUX crystal-0.27.0-gentoo-tests-long-unix-2.patch 469 BLAKE2B 66bcc1d0dd9582cac4ba89a2ccc2c7a2ac3ff4994cd687191470f2d481f9a6e3a91aaaf705f92f7600118a9cda015a9554056520502df7ae6462e111665c7330 SHA512 d840ac343ef566e404dc84e908bead5a020dfd88b8c0432f17bceea8d710d435626dc72b4be6622dbcd683a149bca16e781320cf74fc3f2598f84d169c6f7faa AUX crystal-0.27.0-gentoo-tests-long-unix.patch 3317 BLAKE2B df1040abdb587ac3fffb8129d4f1bafc492e38ad5dcfdea5cfbf4426849b099c4d94dac61c93ae7fcae46b60dea1809f52ad373efcd89796a3c1f119614063c1 SHA512 a9ed819a864465e062b4d6a568f14fbb8adc1db01071c79164dede8b2b8d83e07b785cd8196826097de5119e0bdc7d6e194cf4e10cc677bd2bdf158d124c2ad2 +AUX crystal-1.15.0-remove-enviroment-clearing-tests.patch 936 BLAKE2B e9d3f2384c79eb17a52b71636147ac97aada9a7ddccc619fd0a5ccd2c89d3e7f135d9526931557f4bd15eef5232e0cb469715568d8d07b7e5530947720f67921 SHA512 e0e48d65098d07511238b4be0c1daa8c8d9aec42148a5115526431f1f507425160324e98d2ca647fb135b3a0b534cf0b376ae7563bd6c9046ea1264b860f44ad AUX crystal-1.7.2-extra-spec-flags.patch 1080 BLAKE2B 3054e38d4e7d114f1b0a08b367f9a5b366bbe269c75b9195abf9dc39231b32428a108c4254abd0bdb29b2ac6a94d6d256eccc68ca69f80a273cd17e0c0115fc7 SHA512 3c3fd6a42b291a42f76ec76101d669011eb02d4d17f35c8ad31c5a49aa3655a2315999e2401af7f3bc26445f74f432430a44b021846238d345d9c14b1009fdc5 DIST crystal-1.14.0-1-linux-x86_64.tar.gz 51712092 BLAKE2B 25281d0488ce84b278005e918fd7ae893ec690d50b01c65f06370e24d3ef6548a3ff823c0ce1903fc3d6d0c4108ab8c72365ce51f1ebb64519e0076cc5df9dff SHA512 ff7839166ebe0217149d0185c27fa0d48cd7322ddca3492e3bbbfaf505696994ce04a86eb1f51f6c0633892ebc4b82bac53ec9cb26c0a9c588c5002a984f0038 DIST crystal-1.14.0.tar.gz 3726474 BLAKE2B 97efe777790b4d2330f6891bbe91a709fb0aacf7989a60b70c3d22c2735e83b9315899ad529f4605eed7dc4b4eed14f4d51ccd8a47dfc55057f15acd62c8c10d SHA512 561e14212b8f3e2841739408870e70a79cbc11097070760e75e4013a030082db050f6615453da54adceae3f0de12af43498f33fab9b7f4ecfa6860d582dec095 @@ -9,5 +10,5 @@ DIST crystal-1.15.0-1-linux-x86_64.tar.gz 51497623 BLAKE2B 03059b38b1df3a035c824 DIST crystal-1.15.0.gh.tar.gz 3812860 BLAKE2B a6b52007d6a4975d2011104f65cec932300bb6f84f497bfda138d987e844cb025d4690b0f74335aff42295c5d355ac73371cab86db87ca9819c1885d98f76bd8 SHA512 ea07de4b9c6c46e96f05d816d0504f8b0206e89fe7e4236038dc3b0875e52e89c711cc798b8fc30f66b02dd48cec70e0ea76160f14447577761411a41f1b28fa EBUILD crystal-1.14.0.ebuild 2632 BLAKE2B 6284e97c98096fd14101a4308d2db3eb265d26241f181658ee24615622ef3686c4a79b47d58536b127c035dece0e63f1ae35f6605af7b73f362a166307810f80 SHA512 e27bb51f2dd874cb8633ed0ad594aaa512676d841a9d1fd991169a54595c73ee4ff40f665df0b5d4a012a43f85ad5a90480e59b547ae42a77a204be545716579 EBUILD crystal-1.14.1.ebuild 2633 BLAKE2B 1945457158a0d549f5be113342d47b3919af5bd80030f8ac3b4a0279a1054c11b440aa130e616eb6fde27b9217dc453623d2b1e32f2e0abe0997a15564dd3a6f SHA512 61d9dba45711ccbadf279d53923c6c543d01ca6d2d3c5fa13cf105d16ab9d67e64a44fc9f609106eac0b470dd0ff263ad8eff1b90f30e4de2e7d354ead4ceb20 -EBUILD crystal-1.15.0.ebuild 2389 BLAKE2B 493df7328e2f107412bcc932ef210c3c0899eed1031b44ed7689e92405387a5231637ef0213c9278606664163a6f2bb70b02b60526e3dd3ee72d260e618fc0d3 SHA512 6ed6a62688fb0244d3f41dd225e61e079770af2ea2396bbf1db8e5dd35aa3d867560a00b4c076fbc6bd19d337b6f1dc56ff1c94eb886a2f70a5b6cdeb3a66dae +EBUILD crystal-1.15.0-r1.ebuild 2785 BLAKE2B cf0495de84b1af4d292bd05c153db8a1412dcfed2a4bef00abd4c6b984d368b822f162c09ab0177f0b070e39aae2cbfc3582630c51f6f7bfe4a9c6efa83b406e SHA512 5333b4f5456ab7a58c3df1669627dae50e9a82ab71c77ddf564fba73e3d182c29721a7ac624b3e1ab0584f79097d6ca37f0c313b420d29507aedafb4c1de7b94 MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc diff --git a/dev-lang/crystal/crystal-1.15.0.ebuild b/dev-lang/crystal/crystal-1.15.0-r1.ebuild index 4ceb85f7e207..573dc999fa39 100644 --- a/dev-lang/crystal/crystal-1.15.0.ebuild +++ b/dev-lang/crystal/crystal-1.15.0-r1.ebuild @@ -8,7 +8,7 @@ BV_AMD64="${BV}-linux-x86_64" LLVM_COMPAT=( {18..19} ) -inherit bash-completion-r1 llvm-r1 multiprocessing toolchain-funcs +inherit llvm-r1 multiprocessing shell-completion toolchain-funcs DESCRIPTION="The Crystal Programming Language" HOMEPAGE="https://crystal-lang.org/ @@ -53,8 +53,18 @@ RDEPEND=" PATCHES=( "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix.patch" "${FILESDIR}/${PN}-0.27.0-gentoo-tests-long-unix-2.patch" + "${FILESDIR}/${PN}-1.15.0-remove-enviroment-clearing-tests.patch" ) +src_prepare() { + default + + # Link against system boehm-gc instead of upstream prebuilt static library + # bug #929123, #929989 and #931100 + # https://github.com/crystal-lang/crystal/issues/12035#issuecomment-2522606612 + rm "${WORKDIR}/crystal-${BV}"/lib/crystal/libgc.a || die +} + src_configure() { local bootstrap_path="${WORKDIR}/${PN}-${BV}/bin" if [[ ! -d "${bootstrap_path}" ]] ; then @@ -76,6 +86,7 @@ src_configure() { stats=1 threads="$(makeopts_jobs)" verbose=1 + check_lld= # disable opportunistic lld AR="$(tc-getAR)" CC="$(tc-getCC)" @@ -101,8 +112,8 @@ src_install() { exeinto /usr/bin doexe .build/crystal - insinto /usr/share/zsh/site-functions - newins etc/completion.zsh _crystal + newzshcomp etc/completion.zsh _crystal + newfishcomp etc/completion.fish crystal.fish dodoc -r samples doman "man/${PN}.1" diff --git a/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch b/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch new file mode 100644 index 000000000000..11667b0da28a --- /dev/null +++ b/dev-lang/crystal/files/crystal-1.15.0-remove-enviroment-clearing-tests.patch @@ -0,0 +1,28 @@ +Sandbox won't allow removing sandbox related environment variables. + +diff --git a/spec/std/process_spec.cr b/spec/std/process_spec.cr +index 965ed1431..c32b00537 100644 +--- a/spec/std/process_spec.cr ++++ b/spec/std/process_spec.cr +@@ -281,20 +281,6 @@ describe Process do + end + + describe "environ" do +- it "clears the environment" do +- value = Process.run(*print_env_command, clear_env: true) do |proc| +- proc.output.gets_to_end +- end +- value.should eq("") +- end +- +- it "clears and sets an environment variable" do +- value = Process.run(*print_env_command, clear_env: true, env: {"FOO" => "bar"}) do |proc| +- proc.output.gets_to_end +- end +- value.should eq("FOO=bar#{newline}") +- end +- + it "sets an environment variable" do + value = Process.run(*print_env_command, env: {"FOO" => "bar"}) do |proc| + proc.output.gets_to_end + diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest index d9740226253a..9647ab3b155e 100644 --- a/dev-lang/eisl/Manifest +++ b/dev-lang/eisl/Manifest @@ -1,11 +1,9 @@ AUX eisl-3.60-Makefile.patch 883 BLAKE2B 42419e7db0c5b960e218e821cd53d11caaa1a48d74c3e3d810c387e7e74f4fb2699d1cc54fc59c4201664a35384288c1f43e9910cabca9747f2522f2dc3aa364 SHA512 de22e920debb00b2988b8cd9d63c50c7c43d680c5b668f32dd9841a50875f7a857f5c320a00311f4d4adbff857298bf1e25f19f6a0baa7f0cba81ac63aaacd0f AUX eisl-5.41-makefile.patch 1713 BLAKE2B 9c4ea3621f3f4ae9a73c287758f50938bdfe270e68d9a68971ccacf1f8dcbdd6f916c1a43dabc1b487c167de0fc3520c589d82a610137d33f1aef44bd63467b7 SHA512 7aeedf83cb3a20fa9f95831c5a40299718cd52ace56247b86a11a0e2458b19fa08e700e95d123bf052d1fcea49e080bb0bcfb75b98c80fe16e7f69ca15dad7a7 -DIST eisl-5.38.tar.gz 3136867 BLAKE2B cfe62da4882a8f687c683345c3518a7245bdfc87b17dd6b956cc3b5db494631c6cb3a2ca24ecfe1454671e8d1e14c9052ae4c119b4855c585fbb93c99af0ddba SHA512 4bed412660700ddba7a8015b1488adcaf9ff89aed5ac5af0a51c65af76ec78fa4dab04b092c4ad7404ce3fb071dff7d219810c4422a983375e5634861de81698 DIST eisl-5.39.tar.gz 3137025 BLAKE2B 1aca7df4b629b9e9b71fa8355654d65a84cf3f08a59111a978f6d3868377f2fb857041a83f2044dc3d367624b910aaee701d5a4b0dea2d4aa94c49f0aaa60ef4 SHA512 976f5ae8eab96be135ab52b2abdac36ebeef6987ff4091639f29105d9b81f2f4f092a38d60e8ad0f746a42dedc362f95e4a26a8e375bff2f3fc7f7215243dd2b DIST eisl-5.40.tar.gz 3140344 BLAKE2B aa00ff32302a6a9f1d9772f8e9c2690e47f1d466ec433c2f4519434a599d8b6bdb923e3bbdb1a278b3aaa1274ea139ff46e1bb736f972ab495f0dfc031de1916 SHA512 44e2ca7a35c3e200e7d8b0bd948427e0bfa81e678269df81d3e36e601123c1528c25a4b2d13b5d92956378b27c5211caa5e51113763099af4b9b65bf369382fd DIST eisl-5.41.tar.gz 3140179 BLAKE2B b60ec0209313973af31b0940317fdecd8e87c9de46093830d7e3c3924bbab9ef5da638a67b43b91a3c351d3d357817fcf26a56aeb2203e3f2a1865c797c743b1 SHA512 1b87a4c16b75289a95ffee20b7182151701736c96f3ddcdf1e00ef51356b668059b43cab39e9dd3b1f193b102f1f7cd32e435c0d212342e2544fff9507dfb99a -EBUILD eisl-5.38.ebuild 1141 BLAKE2B 981c79c4e175032aad04446f902f5576da77c4bba907e7607bbc7109434fa219d88f2841241d008fde4d7c7494c14c8b1501c621cf41ac0074488dd8274a6878 SHA512 531d23a6d9f24368c919f09662e4f53fb6d21bc3d41a080b8f186deead807943121a546f5302d933f4dfa0a9e7668103dac45ccad3b3ac5e19d3b05c8101f65d -EBUILD eisl-5.39.ebuild 1142 BLAKE2B a8fc820c4882488b585a8880ebae3e28aea612fd7fba566428dbc79b07a6b1eeb6d650800e2bc1f29eaf98c9a205c3c344f470b23349f1e21525e573e6019ea2 SHA512 420028f87f5855c4332f0441124cface157b43823141f3eb84df01a369981eb7c080268d3ba133f0af99d7798611661668f8bef3d4ff73b9c3229392ecbe277f +EBUILD eisl-5.39.ebuild 1141 BLAKE2B 981c79c4e175032aad04446f902f5576da77c4bba907e7607bbc7109434fa219d88f2841241d008fde4d7c7494c14c8b1501c621cf41ac0074488dd8274a6878 SHA512 531d23a6d9f24368c919f09662e4f53fb6d21bc3d41a080b8f186deead807943121a546f5302d933f4dfa0a9e7668103dac45ccad3b3ac5e19d3b05c8101f65d EBUILD eisl-5.40.ebuild 1142 BLAKE2B a8fc820c4882488b585a8880ebae3e28aea612fd7fba566428dbc79b07a6b1eeb6d650800e2bc1f29eaf98c9a205c3c344f470b23349f1e21525e573e6019ea2 SHA512 420028f87f5855c4332f0441124cface157b43823141f3eb84df01a369981eb7c080268d3ba133f0af99d7798611661668f8bef3d4ff73b9c3229392ecbe277f EBUILD eisl-5.41.ebuild 1184 BLAKE2B 878e121281063a100bbbd9c5cfd065294c3cffded81f387b4e9fffb219ba91b380cfdfe73d597710b3884a627e5a0a0a6721675110ef6091a9c5cde7108e64a7 SHA512 77bd58e5efcf0c58d3428c011d241adc26998d581f23efddb6166c299d1013ec5b3abf83082eae0a5a846ee471daaceb416c73dd92a0d7ebe7d85c7a139cbc91 EBUILD eisl-9999.ebuild 1136 BLAKE2B d00e394ed97243a579bc35bc9da5fa60ad84861ea5c41a0524b514e360d80d732da2bc733ef1edfaf843c96bf2f0543912838e102336244442a7c934ac504c1c SHA512 5e7ef191a7e978bebcc696d9274f211d67dd4d99c36bc942402f60a76439b551d839d70b66531e5f6366b700e5e094f86b072fb6108a6cf4593bac8df38361a6 diff --git a/dev-lang/eisl/eisl-5.38.ebuild b/dev-lang/eisl/eisl-5.38.ebuild deleted file mode 100644 index fa1972eec46a..000000000000 --- a/dev-lang/eisl/eisl-5.38.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit toolchain-funcs - -DESCRIPTION="Interpreter and compiler compatible with the ISLisp standard" -HOMEPAGE="https://github.com/sasagawa888/eisl/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git" -else - SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz - -> ${P}.tar.gz" - - KEYWORDS="amd64 ~x86" -fi - -LICENSE="BSD-2" -SLOT="0" -RESTRICT="test" # Tests run cppcheck (and fail) - -DOCS=( README{,-ja}.md documents ) - -RDEPEND=" - sys-libs/ncurses:= -" -DEPEND=" - ${RDEPEND} -" - -PATCHES=( "${FILESDIR}/${PN}-3.60-Makefile.patch" ) - -src_compile() { - # bug https://bugs.gentoo.org/939771 - # don't clean and compile in one invocation with --shuffle possible - emake CC="$(tc-getCC)" clean - emake CC="$(tc-getCC)" edlis eisl -} - -src_install() { - exeinto /usr/bin - doexe edlis eisl - - # Compilation of ISLisp files on installation fails. - # Do not compile them and mimic "make install". - insinto "/usr/share/${PN}" - doins -r library - doins fast.h ffi.h - - einstalldocs -} diff --git a/dev-lang/eisl/eisl-5.39.ebuild b/dev-lang/eisl/eisl-5.39.ebuild index b73ff04a67d4..fa1972eec46a 100644 --- a/dev-lang/eisl/eisl-5.39.ebuild +++ b/dev-lang/eisl/eisl-5.39.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="BSD-2" diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index e5eb268040ad..0f01342cb900 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -11,6 +11,7 @@ DIST elixir-1.16.2.tar.gz 3357093 BLAKE2B 61ba738542d33e827f7352b7f0a27aa76fc06f DIST elixir-1.16.3.tar.gz 3360376 BLAKE2B ac6cdc16f193560e18338bd3e45a4f88c7d4398969336062551477dfdafaab8ada60ae64c856647b36967205849427413938da87f746bd52d03d78e141ba5a03 SHA512 1511fb78bdcc50850cbf91007ed11c6a89e947d0a743c1e9ed30e1c93c1b47b5377fced17eeb66ac511d4f151d2e00ef2ecc6fb425d0d4afe2451be41a6ba6ee DIST elixir-1.17.2.tar.gz 3255067 BLAKE2B b2902c41262303fe33efeb22f8fe6cf76596f7d9894b018c0d45eaf1858f7d2ffaa1481659ff290c71807b03c5f2ebb17160d7420133d440957f344df6d01126 SHA512 f9d4983c3e7bd054a76bfe0dfa4aea483a4dd84ada432ae5a144167ff8d268499077704214eaaecfda84469c2f747a3594258ca95a7955bffde0c7b0f65985f2 DIST elixir-1.17.3.tar.gz 3256595 BLAKE2B c016857f74d65de5afcef6d1284b76fc529a542e5cd0dded73701cbdad93f281529a545af1c5a905cb116a3028472703acfdc21ae070f9255bdfd6d5c09bf7a0 SHA512 084514d1362b52e85c0b4d92b8d18c6d2e9fddb4e4eaf4467f8b1c0985f9ceca1b74a0478581d91164935ae0f49610771860c674e080137e52aadc65b666911b +DIST elixir-1.18.1.tar.gz 3356562 BLAKE2B bd710e847b2b52255bdcae76793f7f4570a101bd05aec89a4a5ad639febd008309d644db6799e899f46e3a7ba7d9b42e943ec7db04bf983d2c236ccb78292ecb SHA512 ea17f4cb96cab4c4302a304fa8119952ee96b85494f76a6df4e5806f72fa169a2139753600aacd1341f500587d51fabee25a1bf3deb5d838d5ef0d50f0654f76 EBUILD elixir-1.14.5-r2.ebuild 1118 BLAKE2B 74b30f3045dc0c727661a5f876f03c1e248f7d6fd6495a69e0fca48c630337c7a197069fad6e0be8daa99726b7830e4e5f38b0202af6a444c86700a9a9b8bda3 SHA512 4ab546f1918461f7e8fce2132b49b7bf5a4f1b9646b44b96aeb2d81b43fdc67bd6f057e49114bc5aab762c85c6b7e4816b0a96489dfe01c1c4e85695b941a27f EBUILD elixir-1.15.7.ebuild 1013 BLAKE2B d3a57e16376d96cf438be208fcc63aa6713fc5c85c370765e56a56b2291477aadd73b680eff630f3ea604248ce9797d49181f2534f8f5b934e43360a21133875 SHA512 cda24844929eafabeed65b7d121eec63b1499732d631adf33b50d302ac5dbd443804dcaa90dd088f38f95fe84e69d9f6b7cf7b84aa6cf9f2cf2ab80b05654789 EBUILD elixir-1.15.8.ebuild 1016 BLAKE2B 38ed745bb173bb1cbc7a04cde4eec072618d99020f66ea624b71ed14fb58be9d5368d9aa03033c9126130626a00cf6a1f907c9e41a27147fc85c81eaff3a6ec9 SHA512 db38f2e8d9b7aff16020b1a84d4b898e4444c49b5e39d54f2f361befe17ccfabecced60323ab6bbb8b613007abdd2dd3a6a3a409f058d8f73806fc98e1daf45f @@ -18,4 +19,5 @@ EBUILD elixir-1.16.2.ebuild 1066 BLAKE2B 3ff9540b5645b03ae3eba671d803a04340d8c9e EBUILD elixir-1.16.3.ebuild 1002 BLAKE2B f2b1477a5ea6b1c324c326cb576f7c82e5985bfac2fe49d13ab761716ced0dd3009953201d7fc9f1eb05d2708d13487ba0b89621031db2d5fbd35fd6a8d6b068 SHA512 6961f6a66309b63406e202de3e475e0607dd2a8793b1183d96b5166e76d7aee86dce7413c005bedea03191336917de4911686f2f6856b6e2044f72c079e462cf EBUILD elixir-1.17.2.ebuild 999 BLAKE2B 6eb05e0f3ddd4db24227957791eb26a21d690cbfb5733898f49dfa549e68f356e10a230ed3c9adcd145de7632d98b24bb88521bb348a808369a9acbf5a2aa3f1 SHA512 ad871091ab8a436937a88c4ae4dc4b733571cf7c5d90e1e5bcf583cc5b6304899abb3102e43b528900a77a1bdea9d5b4240825d3a7b86e50feae45009c6071da EBUILD elixir-1.17.3.ebuild 1002 BLAKE2B c382db1d4be9ba4bb6bba5bfca16d62a57d109ad57bce94dda71fd68ada1b9cdfb2904849401c36c7b7f7e7efa2455eeab0b4d6a5069016617ccada59c7999f2 SHA512 e9d531d7f481d85c1b0a4530b5088ed608204f89fa28f4eaa0e5b0760d507b8d247606e956af347f5fb3ca6c9931697a8fdf97a30edfc0500138817fdb8da3a4 +EBUILD elixir-1.18.1.ebuild 1002 BLAKE2B c382db1d4be9ba4bb6bba5bfca16d62a57d109ad57bce94dda71fd68ada1b9cdfb2904849401c36c7b7f7e7efa2455eeab0b4d6a5069016617ccada59c7999f2 SHA512 e9d531d7f481d85c1b0a4530b5088ed608204f89fa28f4eaa0e5b0760d507b8d247606e956af347f5fb3ca6c9931697a8fdf97a30edfc0500138817fdb8da3a4 MISC metadata.xml 724 BLAKE2B ae59dba7153a9cdbeb0ed45acf54cf733f07ebc1b43896f88ff09686ecbdd56553e92f7733e5f556d01e622cadb85a24da879799b0f742d7e257425db1f300b4 SHA512 43cc4435aa89e2ba8edaf8f4cead814c514fac07a7c0500f3f7dfe35d2da6f75f835df0d21d862be6dcbffbd9c6e5ea32b21296048ec903c1491ccfd4854316b diff --git a/dev-lang/elixir/elixir-1.18.1.ebuild b/dev-lang/elixir/elixir-1.18.1.ebuild new file mode 100644 index 000000000000..46bdb92ad285 --- /dev/null +++ b/dev-lang/elixir/elixir-1.18.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Elixir programming language" +HOMEPAGE="https://elixir-lang.org" +SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0 ErlPL-1.1" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~riscv ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp +DEPEND=" + >=dev-lang/erlang-25:0=[ssl] + <dev-lang/erlang-28 +" +# 'mix' tool collides with sci-biology/phylip, bug #537514 +RDEPEND="${DEPEND} + !!sci-biology/phylip +" +DEPEND+=" + test? ( dev-vcs/git ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.9.1-disable-network-tests.patch + "${FILESDIR}"/${PN}-1.10.3-no-Q.patch + "${FILESDIR}"/${PN}-1.10.3-epmd-daemon.patch +) + +src_install() { + emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="${EPREFIX}/usr" install + dodoc README.md CHANGELOG.md CODE_OF_CONDUCT.md +} diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index ab95513a5fa2..1bee67092e20 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -11,13 +11,17 @@ DIST erlang-26.2.2.tar.gz 62440930 BLAKE2B c2746b3eb4ffcd3643803745df3e6474291ed DIST erlang-26.2.4.tar.gz 62476971 BLAKE2B f3acfb05a569ce0b4cfd9d9a30ac4840845cc285691294c2ff2776c45812b9046d3453700150912128c385458a3afba7dc54ab773611d46de31b4d2744fcdaf6 SHA512 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d DIST erlang-27.0.1.tar.gz 62055749 BLAKE2B 2cbf74efb6e2bd821b30e9b39d13b5b16899a49eedcbedd171068cb4da5d2f5cd98697a4234387d194aeace3ec1c168d752a2afd5bc52c4c6799dfd68ade6916 SHA512 03bba7f7d8226474b4dba9855e78b59c7cf78973fbb2ed48893a26879dc0dce579336e9cae6870f154bdd48cf3be6398cc1ec4ff52f252017d84edb20d565e71 DIST erlang-27.0.tar.gz 62019520 BLAKE2B 9c683e4de7a1b98579e572667746461b9cba0b54d572cde75e3484003548fea2f657292b7f6bfcb4e765d74d744276ddf5ee3f7f615b29cc4b3e563a8cc00944 SHA512 16945c50c09caad9aac6808470ea2a0e282713f23e54cd4ad60510b114811b5deac427acb36cc8049443b4e3c3302c40b02c696cf3f2028f8bd3e836c8c48ea9 +DIST erlang-27.2.tar.gz 62210841 BLAKE2B 2f5d664eadb1866f6b2c5874704a3e6ab8181f2f465805f710c2643acb09b94cfaf8aa679df60be2ef048f54f8485c3e552fcc12b7f5d2cf4a87a72edb5bc47c SHA512 dd64bf6c997cd2c201afdc693b3766468d9dad86ced46d3701da3858cac57e056148f5e45bfbccf8a92d3a55640a7f46ea4f5184ffc3b9f227bec3c3dfb41ab0 DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4 SHA512 846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa DIST erlang_doc_html_27.0.tar.gz 29506649 BLAKE2B bae1425e3b43608c59975c7936e3e250ae9606acce34a7168c2ef1aba60a2956858e3a5cb4412f8ff937c93821110eae5f0d71b9378cce86d9ad9810f70510dc SHA512 a86497709bb0571b261f520f3e875d51628bc741affa8aded941fd9f66a7a6c821dbf415554cd7be6f91ebedd0d6ca7e6dde2f072bbffdf307bc127f17423536 +DIST erlang_doc_html_27.2.tar.gz 29949824 BLAKE2B f8c32698ff446095742ada9b4a67ce3fe5009bfa99973f7c2826e421f9228544e94493dc3b9f661a2288b8e347329efedfa8b1a113085a4db28ba23c73648bd1 SHA512 51f5b33ffe7abc3cca7cde8170cdd6257c628c9d733b0c3fc6a2fecc9515ee39e618f1925e4300de7f055de73665a43d1953225a90504ed732b5b22df3237b53 DIST erlang_doc_man_26.2.tar.gz 1746046 BLAKE2B 20f3c5203313bc40595f9a0996c1a31c76d9b1da1ba90fd99b8946b23425c13ce11d27fb9b042911a39297c5bceeff098b44082a007cb2373cac253321f4435c SHA512 bdde6687b449391af5144de54e6d4edbaa75065e9f9cf1ec3878a034968785c2b35eb95331cad329fae6656461f1bc9475b68d1ee05af48166aa9c1083f841a0 DIST erlang_doc_man_27.0.tar.gz 1764909 BLAKE2B b55614bc3c795813eb2d73dc990f740efc8408a3639d98569adb9718ee140eb04ac2289ca3cd764d2610ac2138dfd6173b50bcae58b3971b51f4819cc33420e3 SHA512 f37fca2943f1c607da5d9cddfa3949b0f43e2cff1049eb9dea60a9833a607a0d1ff8bd835204d0dce20865c326dd4da149a6047a084e95ad9719e84817fd8f46 +DIST erlang_doc_man_27.2.tar.gz 44960 BLAKE2B 6a6814d393a55b8161372d84f09e09e5a0eddcfc235ca8bae547d545b267c30d11ef641c413b20fd938a8d0ee1d8c11bd6450881a42cad69b035416a190fae99 SHA512 b338d9fef4446fc3f15a6f43d4adb952f6af9630f5b309ac1b6148482bc59e907cc68d6c803f029d8309e59962fde236fc7f2c0f41b0061d05f5f7b38f93de27 EBUILD erlang-26.2.1.ebuild 5328 BLAKE2B fce79129aba75bb050afd122488a464994dfa013f50885e27d6ae6d5d83d52f375af43d380c386dbdadd079559fa5d253c18bca7763fe9a9c56f58cbb3f96b30 SHA512 96074b1f15c350ca89071d75286c28b79621ff97100979ae94f6f7407cc3dd7d6473f8eb281c200e5fda69c21493616e8ca95b4c789cca4ed7878646739f2fc3 EBUILD erlang-26.2.2.ebuild 5377 BLAKE2B 7c048c2852d1dbd9804a0030f7e36f80560d77c986d2b4fd8c3ee0c6c4d9d736d9d1cb777878394aa328b45bbb5c8885027427a641144a5990d13bed30d74909 SHA512 a5a259b3e394a7a091682afa55c9f8d9284371d68885f70e3f30fd28de24402dfc4e1846f99503c4e75ec5962002ec6b9ad9a981d766a7eb4bfba55fc3dcc98e EBUILD erlang-26.2.4.ebuild 5426 BLAKE2B fd41bfcad3969fda5a903bb86e27979ce471e87b5c9bf506a10dd6a5f5278aa441fa9ff2298fca52f3923c82adb6044d3274a9463140b30ac6c9116f3f5df6d5 SHA512 f08cf34448f0159bf5141c4cd373d2181309b2f4ddcc86c7dc1f1e6d82259f27ef7f872d9e37667b639f352e7a8d6a1285988706ffe58dfa736ded40bed3b299 EBUILD erlang-27.0.1.ebuild 5029 BLAKE2B 01918a33b0960d52c89aed22ef36db8864ed7ac1d9245d7472257f4ad39f8e620760c0132a29aa843324d25351099618c532fa95452ada510719222f5a07d665 SHA512 1815d1139721cca9188be72199d20c339ec943bbf944ae0b237b4dae35854d7494266d2a854ba14de476dfd2187fa8ceb701af224e6ea93fbafc25229c5592a5 EBUILD erlang-27.0.ebuild 5544 BLAKE2B 60d21385ee92d4baa43e9c91e552a81e56c02fde10a7c48b510291816a6a6877f48ec55bfbbc4416e3cc5cb85dc8373cef80ad48a456f69a6691f5d38dcb99d1 SHA512 163caab2c1a3525b1197b34be37fdf1faca30fef001a53ed76230dd32248284f1c87849f513271348b20c986538d70085927a4660e43835a33b60cce7b6c9acb +EBUILD erlang-27.2.ebuild 4980 BLAKE2B 54e3d7e238d8052fef073ca8bf3f65051d674877f3be3223e275508e562b1b8e4ad97b72fc5107d340e986412109e2472c64e2bc78345942a3705c99af9856b7 SHA512 1afd3fa9b6ecd2baf9ec29e9a3b7486486ea022c9dba447e529ce24c892c1f927443594c3c112e39c6f3df6274663c2ab7fabcb7f64105157e4fa065adcf33b1 MISC metadata.xml 624 BLAKE2B aa99e3487778663cc634e71ed1d22b63ce829d2180c41c390737c7c5761982de8db5755c82db0753cc36c45888409095cbe5f0df3f31f2bf09c12a67c091fcaf SHA512 29910d752f37bf7cb020f8d18790c477a4702e767dec059be9487cb7edf98dfef3b4bdaf37e4275281a26104187ddabfbc9ba9c104fd8bee19a306c3dee4281e diff --git a/dev-lang/erlang/erlang-27.2.ebuild b/dev-lang/erlang/erlang-27.2.ebuild new file mode 100644 index 000000000000..532207e1f846 --- /dev/null +++ b/dev-lang/erlang/erlang-27.2.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +WX_GTK_VER="3.2-gtk3" + +inherit autotools flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets + +UPSTREAM_V="$(ver_cut 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="https://www.erlang.org/ https://github.com/erlang/otp" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" +S="${WORKDIR}"/otp-OTP-${PV} + +LICENSE="Apache-2.0" +# We use this subslot because Compiled HiPE Code can be loaded on the exact +# same build of ERTS that was used when compiling the code. See +# http://erlang.org/doc/system_principles/misc.html for more information. +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc java +kpoll odbc sctp ssl systemd tk wxwidgets" + +RDEPEND=" + acct-group/epmd + acct-user/epmd + sys-libs/ncurses:0 + sys-libs/zlib + java? ( >=virtual/jdk-1.8:* ) + odbc? ( dev-db/unixODBC ) + sctp? ( net-misc/lksctp-tools ) + ssl? ( >=dev-libs/openssl-0.9.7d:0= ) + systemd? ( sys-apps/systemd ) + wxwidgets? ( + dev-libs/glib:2 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu + ) +" +DEPEND="${RDEPEND} + dev-lang/perl +" + +PATCHES=( + "${FILESDIR}"/${PN}-27.0-dont-ignore-LDFLAGS.patch + "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch + "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 +) + +SITEFILE=50"${PN}"-gentoo.el + +QA_CONFIG_IMPL_DECL_SKIP=( + # FreeBSD & OpenBSD + pthread_set_name_np +) + +src_prepare() { + default + + tc-export AR CPP CXX LD + + # bug #797886: erlang's VM does unsafe casts for ints + # to pointers and back. This breaks on gcc-11 -flto. + append-flags -fno-strict-aliasing + + # Ensure that we use erl_interface's libei.a, and not the system + # libei.so from dev-libs/libei. Bug #912888. + sed -i 's/-lei$/-l:libei.a/' \ + "${S}"/lib/odbc/c_src/Makefile.in || die + (cd "${S}"/lib/odbc && + eautoconf -B "${S}"/make/autoconf && + eautoheader -B "${S}"/make/autoconf) || die +} + +src_configure() { + use wxwidgets && setup-wxwidgets + + local myconf=( + --disable-builtin-zlib + + # don't search for static zlib + --with-ssl-zlib=no + + $(use_enable kpoll kernel-poll) + $(use_with java javac) + $(use_with odbc) + $(use_enable sctp) + $(use_with ssl ssl) + $(use_enable ssl dynamic-ssl-lib) + $(use_enable systemd) + $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") + ) + econf "${myconf[@]}" +} + +src_compile() { + emake + use doc && emake docs DOC_TARGETS=chunks +} + +extract_version() { + local path="$1" + local var_name="$2" + sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" +} + +src_install() { + local erl_libdir_rel="$(get_libdir)/erlang" + local erl_libdir="/usr/${erl_libdir_rel}" + local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" + local erl_erts_ver="$(extract_version erts VSN)" + local my_manpath="/usr/share/${PN}/man" + + [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" + [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${D}" install + + if use doc ; then + emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks + + # Note: we explicitly install docs into: + # /usr/share/doc/${PF}/{doc,lib,erts-*} + # To maintain that layout we gather everything in 'html-docs'. + # See bug #684376. + mkdir html-docs || die + mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) + docompress -x /usr/share/doc/${PF} + else + local DOCS=("README.md") + fi + + einstalldocs + + dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl + dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc + dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript + dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call + dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${erl_libdir}/Install" || die + + # Bug #922743 + docompress "${my_manpath}" + + insinto "${my_manpath}" + doins -r "${WORKDIR}"/man/* + # extend MANPATH, so the normal man command can find it + # see bug 189639 + newenvd - "90erlang" <<-_EOF_ + MANPATH="${my_manpath}" + _EOF_ + + newinitd "${FILESDIR}"/epmd.init-r3 epmd + use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service +} + +src_test() { + # Only run a subset of tests to test that everything was built + # successfully, otherwise we will be here for a long time. + emake kernel_test ARGS="-suite os_SUITE" +} diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 1de82b269781..8a9ed1ec8c68 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,18 +1,8 @@ AUX go-never-download-newer-toolchains.patch 368 BLAKE2B 0c90f46492af80622f430b2d506b143f3b553b5276085f78f41b93fee8219745179038302462603b5b1677554d92911eb4865084d0488aaa4c71ae1abc307f71 SHA512 b5acf97ccf96c6a353fcb7bd97113c38562defd82338828124fcc72c71334feda9c4e839d2aae5b66b809bc8a692eac96396c54a478e17a7ffd8d2c68fea95e6 AUX go-sets.conf 256 BLAKE2B 670afd72a2fa961e2b3882ac48d10e9d047af7a68f47bc8c8985b2de7a84022410fb1acfe2c710f8b3804ec3b043bf18c948478cf7d31c982cff47714b309cdf SHA512 028fba72c2d82ef893416970c27cb277be15f7c5c67773c0a62cd8ce2c192813ba851339596f10a6f5394c479e67b62dd4e4520379cc03f764ed4a4ab834fba6 -DIST go1.22.10.src.tar.gz 27565306 BLAKE2B e2dd36c28c0e9cea1239afc139ef79d9b1a4a0f631d5e53b88518e36f0f669433edc1546c6a47f5d790b56da3be093aee7affa125c291f793e1a4bf0ad1cf827 SHA512 0ccf4a42a8bf40c94f21b014fea3ea002d46e8ecb1142be7444148c4937b3d10ce863fb5556f2c1a8f4b51d34d85efe16efa892255eeb4447108c44ac080ce13 -DIST go1.22.6.src.tar.gz 27561569 BLAKE2B 55ce88dc2039d68f14aea0792ed6a1b45c8e262aa73f76f852941aed12019318b3be7938c954fb7c03d7583f930f7a0e5164effc1ec10fc6d0fc282484390e49 SHA512 59f84ba390203271d9fe2d3f04624449d54d3bb73c2b6e54b5f7dc9e9e2dce2192bae07ef56a2afee871cff84d457b90f8a00f4433e072028b97af987f3799e1 -DIST go1.22.7.src.tar.gz 27562038 BLAKE2B c4dd868ac6966029fd72e61d9c82ac26162f4eb26f77a3a6a7e8bc609223069c004786066ca66f24f4d595de1da4f4ee18b368f80ac94e832c8bd9edde407094 SHA512 60b37916e31c3482e8395580a29757971df5e1783dc13a9914261007e07aa8b1b9c1a0b874883e297903e16c7831117b8f814aeff0a0d4398948c97c9d73b73a -DIST go1.22.9.src.tar.gz 27565135 BLAKE2B 14de2374ff196d19bc5c38852ee01813ef0a6d5178ada1cf58bd14822968fbc10ec98914402fa29eee95ae9cc408f66ad67cc60c3c97a9567776e612ae614202 SHA512 d9237212e82f6acb40685fdbe75f3e5c6a6340329c31a885e7f241a5868b5835052e90063db849a5960c8242da2971c55a3a3cab2c0e0e62754b8c33344887cf -DIST go1.23.1.src.tar.gz 28164249 BLAKE2B cabe5c50f2f674b53114e5bd692b6482143cda42fc36076b37b4644be0769c8325fe400d1646478d360697a3fba5f6e086b181eb68dfecbc325675be0af2f5ee SHA512 c1db053bab03c33b4ec4cbef6c8dfae279542cde433fdb787b564ccf797bb9ac6d191aae3152a860a9539956502f31003f746e924287040849afce5ccaaf0988 -DIST go1.23.3.src.tar.gz 28173788 BLAKE2B 70b228c2163eb054186daff96ca017243f2b16a61f1117fe3dc3ca89bda65c626c5721bc213c377c58e4af2c631634f236211f0e80663bb218d8498563b188bd SHA512 b9b0d36aa1c42f45434b839037f95201f20a1ac8e1c4a1ee4a646f49c85273038854540d36fca0ea3a9edc314431b410717331397d20a8d20c4bead78c060bbb -DIST go1.23.4.src.tar.gz 28177188 BLAKE2B 4702befb8bbf2d06ac2d10245420b01d77339d135eff62e2952e4bb160ed15d0d08c50c3049dbf080bc4bdc31a62d94f9808ee38779a2644499977cd6e659662 SHA512 5d1cce76b2cbdf628f86a1a8185a07f362becee053cb4270281520e77b36e3908faeaf5b2a6266e61dec9866dc1f3791f77e8dc1bf5f8beaf858c138d0e18c22 -EBUILD go-1.22.10.ebuild 4272 BLAKE2B 1c15073c0f3cb931006478c0128bc70550abf81607cf8cf30be007069fd5f0008b89ddd66371746aba3f4938286dcf819458edaaf160743933a37751bfde05ed SHA512 e97ae847365e946684b0f42481453819bd5591e6511dcb6daefb6840ca704a1c48acd24d3aac4fc6328492cb6970a26200370abf53cf46251ddff025a0603768 -EBUILD go-1.22.6.ebuild 4269 BLAKE2B 98523fc945a5383c10e91f37ec15c86a4a6cdd501ed0f4a2fb22ce8771b7d67f95c239a97bb6a4c34c5edf3050c76372afa3954bb843ef7164c89b0e61cf60a9 SHA512 c35a4c9e8eb764683cd9d53fc71e2ff7b5aec00d14f12e0d4a138d23b19974d1999e6c5cc6b5f977740ba5bb59eafb704fd4407395bbb18d276337dc6ed9efaa -EBUILD go-1.22.7.ebuild 4271 BLAKE2B f9ce8739f6d7e5ddfd19adbdd8084a81313fa62fc773d7707089a1d2c805cac0c392fde3941cadecb0f1831c1dee3491d96994cefba9f98318ba12085cfe3b59 SHA512 3e300a907406acc1f78f34e4a5073ba4f0673b927c76cd1d19767922041b394925381acd0a57f67f757adea6d027d86a8b790198629cf3b3622241124bce8920 -EBUILD go-1.22.9.ebuild 4271 BLAKE2B 49ad60c6d91944a33053341b771fedacd1bd7f5e24cec38350cb143920abb189b940812d3e4d5675900f5970c33ca647376a63b1fcee4194cba44f0ef3f17e9c SHA512 861cef7e06a0b4ce96225f5be0e582d603ef6a1e9dc45ea7f933ceac93bd448741c8bd68a72f57a4d08e66fcad1189a4afc12c56f9c764951bafac19144dcb0f -EBUILD go-1.23.1.ebuild 4171 BLAKE2B 1efdaf680b0180e9c58518e25e54402212636ea8afb690c4574437b2a620935aa1e5c339ee051efd6a4b5fd75733a45ce73c8779811ecae71e8f3267281892bd SHA512 1dce691b68438faf279a56a1d196b2b7390d38eca6aebf391bed9029296f393fc05412ffddef2a8cc2cc82cf0bd60660cf0731997447f96af512df3b273f6549 -EBUILD go-1.23.3.ebuild 4171 BLAKE2B effa3a0969706093bafdde0332165f73402511a2a1a03346ff86e26970f2431ca75b714d17e8818589d29af8769fa1ca7e2c11d3c82c11294c2727d923c6e746 SHA512 f49c2a36c61e05ada88757ea802c30d07af2521df52a0fbba6e9f57a38d8bdfb3cedd359ecdf4f4d530adf03e65ff7e17b1fdf3e88ed226a9c3db917b0f1cf8e -EBUILD go-1.23.4.ebuild 4172 BLAKE2B a58864390a2486a54e9fef03caaeb6e2a0cd1a0623cc42ab3ed86ecc3be2e6b1a4ad15d77683874e11ab6d1d578c936244f4ee19e8d61d88a9cf667946e4ff8d SHA512 bb8a7adc62244806b6550ce92108c7a66c4e40d2a9f212c620af6f22a41c7c76140782e0448632268f021db82ae1acfac72f3dc4aa2ac50269464beea38c4ea3 -EBUILD go-9999.ebuild 4275 BLAKE2B 999d762e2e2f5ce0586e8a43c1919f9e89925a66b04a9926715498f8dbb848ea01af63ffe81e1bf10728a69af1cfd3719d5498be9daa16d225195bc844dd6600 SHA512 892d0ac84bd6f430f9b57984973e295ac5851ff22f14e9aee33be014c642013b0dba937b2106f086684685bd2c57b923d66b725eeb9460dc69039a8bb6797cdf +DIST go1.22.11.src.tar.gz 27565913 BLAKE2B d4b8f746846f0ba45307ecf732e035c2628483d59402f0868bc42a2fd1ae3447f61d9c3a6eacbc28b1f25e0b35b99ccf8831baeba4203601810b09267d8743f6 SHA512 40c133d6008df7c7cc3bb95a41c29f7442a6af2dd78b807007daf732471c88e2c641aed32878414d57be3904e5efa580d2ecd13fff5412ee668e753e50f1356e +DIST go1.23.5.src.tar.gz 28179014 BLAKE2B 6fe6101054a0c10ce415aea65367a48ef8397c88d66bad01b7c72107a6c60daf0b9a47f7c1cd6c8da9855ab04309f25941cc867e6a9f90ac51d1ab0c54662313 SHA512 b04317afeab2d0ced7c36b8682dd32ac085d95d874cf3f614daa34859d7f7f2b75138132e7a64e237c6b4d711d5b03a4d20533f92a44840915630f4ea7cfafa2 +EBUILD go-1.22.11-r1.ebuild 4275 BLAKE2B b6bbced3829a2dfc6febff014bddd55e895316008726e61a0c297fceec9e531e8b32defb3fbd6c1dbdb61c6e86fb65433f507e476df7294a695d24bfed7bd4b8 SHA512 f484f8b86479d936350eaf13bdd7797fb26454d09b62c0408748d3eb1e4d162b4a89d044dc40f277ec7d270b08b64cce913e6654ee5567c770d069332fed089b +EBUILD go-1.23.5-r1.ebuild 4175 BLAKE2B d1e34e725ea51929715268d3009f5035967231a4a35c59779c898d352d3d0d9a8a6b03fee8a847215ff2b057bdf980fb11b6b905b33ee3ccc8a215eb348d5317 SHA512 8d792f83f8abf11353fa5009fa29a946cc7e0c8a2f2df7cf90e5acae8aaa68c2cd239ef03c324a61316bb217ea14f0b6d7514101c5d158f3b3bc3beb74dade27 +EBUILD go-9999.ebuild 4281 BLAKE2B 7213df19f71554d13dc3510253a906962a217a193ce0461975f946e2c5277eee889150c588f83f0be14eccf26249488c90151ae155633c91695cd3d35c869c95 SHA512 f747c67f574e1d7c19f3eb7c03b74599652744fdd989a964d2da778134461cd31cc861b9f63ee8a11b665f1aea468412bea64cc19df6b141cf468c39b7194c3f MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a diff --git a/dev-lang/go/go-1.22.10.ebuild b/dev-lang/go/go-1.22.10.ebuild deleted file mode 100644 index 7c04e5f93d0f..000000000000 --- a/dev-lang/go/go-1.22.10.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.22.6.ebuild b/dev-lang/go/go-1.22.11-r1.ebuild index a251f93835b7..c9c7981b3aa0 100644 --- a/dev-lang/go/go-1.22.6.ebuild +++ b/dev-lang/go/go-1.22.11-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -36,8 +36,8 @@ SLOT="0/${PV}" IUSE="cpu_flags_x86_sse2" RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" +arm? ( sys-devel/binutils[gold(-)] ) +arm64? ( sys-devel/binutils[gold(-)] )" BDEPEND="|| ( >=dev-lang/go-${GO_BOOTSTRAP_MIN} >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" diff --git a/dev-lang/go/go-1.22.7.ebuild b/dev-lang/go/go-1.22.7.ebuild deleted file mode 100644 index f7f1a46a89b6..000000000000 --- a/dev-lang/go/go-1.22.7.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.22.9.ebuild b/dev-lang/go/go-1.22.9.ebuild deleted file mode 100644 index 0779ba4202be..000000000000 --- a/dev-lang/go/go-1.22.9.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.23.1.ebuild b/dev-lang/go/go-1.23.1.ebuild deleted file mode 100644 index 819126d1874e..000000000000 --- a/dev-lang/go/go-1.23.1.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.23.4.ebuild b/dev-lang/go/go-1.23.4.ebuild deleted file mode 100644 index 1e99afb2bd60..000000000000 --- a/dev-lang/go/go-1.23.4.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit go-env toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_tuple() { - echo "$(go-env_goos $@)_$(go-env_goarch $@)" -} - -go_cross_compile() { - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go-env_goarch ${CBUILD}) - export GOHOSTOS=$(go-env_goos ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go-env_goarch) - export GOOS=$(go-env_goos) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - use arm && export GOARM=$(go-env_goarm) - use x86 && export GO386=$(go-env_go386) - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() { - go_cross_compile && return 0 - - cd src - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.23.3.ebuild b/dev-lang/go/go-1.23.5-r1.ebuild index 08f7ffa4f54e..8e165768f1e3 100644 --- a/dev-lang/go/go-1.23.3.ebuild +++ b/dev-lang/go/go-1.23.5-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,7 +23,7 @@ case ${PV} in case ${PV} in *_beta*|*_rc*) ;; *) - KEYWORDS="-* amd64 ~arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" + KEYWORDS="-* amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" ;; esac esac @@ -36,8 +36,8 @@ SLOT="0/${PV}" IUSE="cpu_flags_x86_sse2" RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" +arm? ( sys-devel/binutils[gold(-)] ) +arm64? ( sys-devel/binutils[gold(-)] )" BDEPEND="|| ( >=dev-lang/go-${GO_BOOTSTRAP_MIN} >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild index 485f2a1bde8d..3625ad651259 100644 --- a/dev-lang/go/go-9999.ebuild +++ b/dev-lang/go/go-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -36,8 +36,8 @@ SLOT="0/${PV}" IUSE="cpu_flags_x86_sse2" RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" +arm? ( sys-devel/binutils[gold(-)] ) +arm64? ( sys-devel/binutils[gold(-)] )" BDEPEND="|| ( >=dev-lang/go-${GO_BOOTSTRAP_MIN} >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest index fac531d53fad..7c2958622203 100644 --- a/dev-lang/kotlin-bin/Manifest +++ b/dev-lang/kotlin-bin/Manifest @@ -1,5 +1,7 @@ DIST kotlin-compiler-2.0.21.zip 85822011 BLAKE2B 007a3cb8902e5a12d883ede2ef670f821471c3273dc97d17935006e0dc35989fe540cbeaa0a8203fc95e05f2b36d95000a1e3ac11803c2723b1dfa361a102470 SHA512 0ab48b49fc3582274485eb5c65a6e5b5de9c45e9c2faafb0720bf07308af50d813eae6d73c57a56daed6b9fd5378d40ce701f14f13e3063bdb38c5d529eb7626 DIST kotlin-compiler-2.1.0.zip 86409360 BLAKE2B 67fbdf3e074f44bfe7ee788b458d9ac9a2e0c4d471c312fd3e050df3e9a659994b5884b5d964603ee6b16e1e4f347b4e645245ce0aeb97beeacb250ba8ed83f7 SHA512 1c14213fc10543af09bc031274be7ef9b3cf1b5d0629de3fde731578e2d84d002ab9b3df90c0417d34eaabff7ea9501209e9323662a6c4eb5504f34fcb10c7f0 +DIST kotlin-compiler-2.1.10.zip 86422666 BLAKE2B f93c1af67eb82ea493fae917c74f4800d4616f246454532dfa98ae8486f97d9471c54e7e2c703c23482e9c52c5435e0bc2cba5f28e18c8801fd0980a06ef32f5 SHA512 283b4a85f729c13af9c168799fa49bd9f9d190109da53e48284662844a2aad40c3a5a7716366ddc82c8c382901756e148265c340c8fcf0ab7b74f2df23e19b0e EBUILD kotlin-bin-2.0.21.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085 EBUILD kotlin-bin-2.1.0.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085 +EBUILD kotlin-bin-2.1.10.ebuild 1005 BLAKE2B add055e3ec1d41995fad1c054080a5942be531e71585352ee5ccdc18ff20386c8b73a14e3162cdb1a794a8f8df194804dbff8f21900cead6772da17f4c8b71a0 SHA512 600c2cf2dc3814ba03fcecd7ccae7b9b71bedcf47045ce5d39a6612593c6f830b6a89229e46f77957a285a77c70c28fedc2bae14736efc77aabb14b274903208 MISC metadata.xml 696 BLAKE2B 5ff5c3681ab7e083f1a2ea607b183c279c50a022eea2237bfc705d67b8e3ddac7d61fdb1774ac2d6214e03d61d0fb03367cd399734a4b537dcf53a3d8cb14de1 SHA512 44186263fa0709e3d4fadd54cc80e1063d215f908855be9476062259387ec9d968f35bfe8da6fbc716be22a53212630676157fd08fbebd67c20dc4a4485b5a44 diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.1.10.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.1.10.ebuild new file mode 100644 index 000000000000..5efa76704267 --- /dev/null +++ b/dev-lang/kotlin-bin/kotlin-bin-2.1.10.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-pkg-2 wrapper + +DESCRIPTION="Statically typed language that targets the JVM and JavaScript" +HOMEPAGE="https://kotlinlang.org/ + https://github.com/JetBrains/kotlin/" +SRC_URI="https://github.com/JetBrains/kotlin/releases/download/v${PV}/kotlin-compiler-${PV}.zip" +S="${WORKDIR}/kotlinc" + +LICENSE="Apache-2.0 BSD MIT NPL-1.1" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=virtual/jre-1.8:* +" +DEPEND=" + >=virtual/jdk-1.8:* +" +BDEPEND=" + app-arch/unzip +" + +src_prepare() { + default + + rm bin/*.bat || die +} + +src_compile() { + : +} + +src_install() { + java-pkg_dojar lib/* + + # Follow the Java eclass JAR installation path. + local app_home="/usr/share/${PN}" + + exeinto "${app_home}/bin" + doexe bin/* + + local -a exes=( + kapt + kotlin + kotlinc + kotlinc-js + kotlinc-jvm + kotlin-dce-js + ) + local exe + for exe in "${exes[@]}" ; do + make_wrapper "${exe}" "${app_home}/bin/${exe}" + done +} diff --git a/dev-lang/mrustc/Manifest b/dev-lang/mrustc/Manifest new file mode 100644 index 000000000000..ad23f3bee8a3 --- /dev/null +++ b/dev-lang/mrustc/Manifest @@ -0,0 +1,10 @@ +AUX mrustc-0.10.1-git-be-gone.patch 1223 BLAKE2B 35cdec27655b39ba80fc73766b2c1d883abe0fa2ea8744312c3d093b184e42e10a2bfdec7e9d6ea11d550e9cf9b75b36a63a6cc869c5084f7af1db8c062ef8b1 SHA512 5e5fcb0fdff5a412ac0c06e4709312041bb2d47155f0de195821c47aae3fb98a9d0c9a22189a2940e77b6eb6188a79e8d92feecd3e9dccecadb4761885e8293a +AUX mrustc-0.11.0-RUSTC_SRC_PROVIDED.patch 12164 BLAKE2B 213e8eceefaab33d99fdcf6bf6f391971b5c5ffefa76402840d593b850d4a1c5cae1660e81de426333e817633063aa164ec73b4dfe43f63cc39dbc456e3bba8c SHA512 6dbda716d24e86ff35760a338669b6a8f5729224d1a57d33e030b0dc4c4c1886c1976100d38eeef31b24aae9fba337f789b5f82f2401eab9e8ac156c3964fa50 +AUX mrustc-0.11.0-default-to-rust-1_74.patch 419 BLAKE2B c727c94edef6cca8b719f1c1246a24834cc1b3bf44015094ddfc24f2174075a437ceb14b70612ab04d9db4c0e009f43e2fd458702e89752f4ae8e6578c992430 SHA512 9dfa01ae8958f9c07b8830639dfd43b2cd3efb51097dd010d4241d0e0c0a56d8405ff1a362e8ab61364cb0c9372221c741392f96ce3dc37427a6a5091a9eaa3b +AUX mrustc-0.11.2-dont-strip-bins.patch 818 BLAKE2B 0da4dc48da58b9e3cb58594c4fb0392d8c3cc04a2b0f38bd28fc8a9468bffd888774f183ddadfe8290039363d1a1247171768d711af555444bcbf62e01356b26 SHA512 1024e384a8ef231017fe1b2407e1bf38b5af009a77b9bd04ec7d449922d45b6eecef1678b70931fe350b7ed95020429e959ef11971b9ccb99eaf1d72dd766ad7 +AUX mrustc-0.11.2-gcc15.patch 577 BLAKE2B b65dfa58abe5fe660f2c895425d311c8cd2951d40fbd2ee013f0022859a710c69a24a2e612dc994fae0e6e189e337205455ca89bd84722517e2d7feffb94e660 SHA512 cf08e0a12f96724e42f578c485701507bcabc5eb0d10f78c0bceeda46f40fc93d6b12ac56622c4147e959ca002ec2e1f30e7060355a5d3e4f6a2b430aae6a370 +DIST mrustc-0.11.2.tar.gz 1364024 BLAKE2B e68178d952b3afef526f99dda24def646ebefbf661200e7b57a7ea054c511075a1455e6456f3fbb0e4c1042660f716f92bcee990054dbe7c1ebc4185ce0e3899 SHA512 9a39249c38eee109c4f60af051df89aa5ab1e3408761d67d3ee8ae05cded03b9e4fd36b554a470e35c77d214bf02d39f172ab04fdcb8b03fac068d8af268ebf5 +DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d +EBUILD mrustc-0.11.2.ebuild 3410 BLAKE2B 673b73aef3d9b51e7db11c51acb9ef14c1fc5c913f13352f1607d77f4499d3bc956e8dee9b377f7bf66390eca71153a558e9274343aac0a0a915d3566cfd2353 SHA512 0702489c7065e229aae6fc9e8b7a351519d3d7f60334c3ec6ebef6e3c1c0f25603b373094fc0d0a2e69f92db30d3a9c232901411e600ff04aa9b4e8395a2d4d1 +EBUILD mrustc-9999.ebuild 3274 BLAKE2B 5de926a9c79d70550daf554b94245e5aa4cedc5f747941fc1f52dfee8166ff247a55c510010909ce81c7cdad3cb7e7cf5975b03cbf39107fec3011ce2da16fc6 SHA512 ce9fd58a0f9a3e40927fdcc048cc9afc131de6ec06f783b2a6381914e30a3a7e6b0662e8105d6facc9a54e2e4c75c9d0c4891c896de4f04cbb9bf11740a67c3c +MISC metadata.xml 638 BLAKE2B a9895b9698a5e9a16593bbf79029144b3f9ab6d36ec06b6cbbb2212abfd63ae20e3c701e58f3b7a7354a151ebc72ff6d6317083baddc595dee57724d8232b4ea SHA512 0e8b903b76c07eb9aab81bc83370c64fb65d58b10a539a7b049383029f7bf8f3ec4557cb2177b4f3351d465c51f09744903fc55de94f7c32b05c5349e67a0625 diff --git a/dev-lang/mrustc/files/mrustc-0.10.1-git-be-gone.patch b/dev-lang/mrustc/files/mrustc-0.10.1-git-be-gone.patch new file mode 100644 index 000000000000..3323b4c88b4c --- /dev/null +++ b/dev-lang/mrustc/files/mrustc-0.10.1-git-be-gone.patch @@ -0,0 +1,23 @@ +From 0615d38df2c47fa7dc3f64ca54fd35e70e75ee59 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Thu, 5 Dec 2024 17:18:29 +1000 +Subject: [PATCH] git-be-gone + +--- a/Makefile ++++ b/Makefile +@@ -178,7 +178,7 @@ $(OBJDIR)%.o: src/%.cpp + $(OBJDIR)version.o: $(OBJDIR)%.o: src/%.cpp $(filter-out $(OBJDIR)version.o,$(OBJ)) Makefile + @+mkdir -p $(dir $@) + @echo [CXX] -o $@ +- $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"$(shell git show --pretty=%H -s --no-show-signature)\" -D VERSION_GIT_BRANCH="\"$(shell git symbolic-ref -q --short HEAD || git describe --tags --exact-match)\"" -D VERSION_GIT_SHORTHASH=\"$(shell git show -s --pretty=%h --no-show-signature)\" -D VERSION_BUILDTIME="\"$(shell date -uR)\"" -D VERSION_GIT_ISDIRTY=$(shell git diff-index --quiet HEAD; echo $$?) ++ $V$(CXX) -o $@ -c $< $(CXXFLAGS) $(CPPFLAGS) -MMD -MP -MF $@.dep -D VERSION_GIT_FULLHASH=\"gentoo\" -D VERSION_GIT_BRANCH=\"gentoo\" -D VERSION_GIT_SHORTHASH=\"gentoo\" -D VERSION_BUILDTIME="\"$(shell date -uR)\"" -D VERSION_GIT_ISDIRTY="0" + + src/main.cpp: $(PCHS:%=src/%.gch) + +@@ -192,4 +192,3 @@ bin/common_lib.a: + -include $(OBJ:%=%.dep) + + # vim: noexpandtab ts=4 +- +-- +2.47.0 diff --git a/dev-lang/mrustc/files/mrustc-0.11.0-RUSTC_SRC_PROVIDED.patch b/dev-lang/mrustc/files/mrustc-0.11.0-RUSTC_SRC_PROVIDED.patch new file mode 100644 index 000000000000..c72f4ae40950 --- /dev/null +++ b/dev-lang/mrustc/files/mrustc-0.11.0-RUSTC_SRC_PROVIDED.patch @@ -0,0 +1,222 @@ +From 3881d541d0934bd35f26ef7b74672e755061efef Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Mon, 9 Dec 2024 13:05:44 +1000 +Subject: [PATCH] Add `RUSTC_SRC_PROVIDED` for sandboxed installs + +Allows package managers to provide an extracted rustc +source to patch and build against. This effictively no-ops +the fetch and unpack steps of minicargo.mk entirely, and +adds some sanity checks to ensure that `RUSTCSRC` comes +from the environment and contains a `Cargo.toml`. + +we also add a `/` after every `$(RUSTCSRC)` path fragment +just in case the path from the environment does not have one. + +Signed-off-by: Matt Jolly <kangie@gentoo.org> +--- a/minicargo.mk ++++ b/minicargo.mk +@@ -16,6 +16,9 @@ endif + RUSTC_VERSION_DEF := $(shell cat rust-version) + RUSTC_VERSION ?= $(RUSTC_VERSION_DEF) + ++# Distros may want to sandbox the build and provide the source themselves ++RUSTC_SRC_PROVIDED := 0 ++ + # OUTDIR_SUF : Output directory suffix + ifeq ($(RUSTC_VERSION),$(RUSTC_VERSION_DEF)) + OUTDIR_SUF_DEF := +@@ -91,18 +94,26 @@ else + RUSTC_OUT_BIN := rustc_main + endif + +-ifeq ($(RUSTC_CHANNEL),nightly) +- RUSTCSRC := rustc-nightly-src/ ++ifeq ($(RUSTC_SRC_PROVIDED),0) ++ ifeq ($(RUSTC_CHANNEL),nightly) ++ RUSTCSRC := rustc-nightly-src ++ else ++ RUSTCSRC := rustc-$(RUSTC_VERSION)-src ++ endif + else +- RUSTCSRC := rustc-$(RUSTC_VERSION)-src/ ++ # Strip trailing slash from rustcsrc if present ++ RUSTCSRC := $(RUSTCSRC:/=) ++ ifeq ($(wildcard $(RUSTCSRC)/Cargo.toml),) ++ $(error "RUSTCSRC is not set to a valid directory: $(RUSTCSRC)/") ++ endif + endif + RUSTC_SRC_DL := $(RUSTCSRC)/dl-version + ifeq ($(RUSTC_VERSION),1.19.0) +- VENDOR_DIR := $(RUSTCSRC)src/vendor ++ VENDOR_DIR := $(RUSTCSRC)/src/vendor + else ifeq ($(RUSTC_VERSION),1.29.0) +- VENDOR_DIR := $(RUSTCSRC)src/vendor ++ VENDOR_DIR := $(RUSTCSRC)/src/vendor + else +- VENDOR_DIR := $(RUSTCSRC)vendor ++ VENDOR_DIR := $(RUSTCSRC)/vendor + MINICARGO_FLAGS += --manifest-overrides rustc-$(RUSTC_VERSION)-overrides.toml + endif + ifeq ($(RUSTC_VERSION),1.54.0) +@@ -132,12 +143,12 @@ ifeq ($(RUSTC_VERSION),1.74.0) + SRCDIR_RUSTC_DRIVER := compiler/rustc_driver + endif + +-SRCDIR_RUST_TESTS := $(RUSTCSRC)src/test/ ++SRCDIR_RUST_TESTS := $(RUSTCSRC)/src/test/ + ifeq ($(RUSTC_VERSION),1.74.0) +-SRCDIR_RUST_TESTS := $(RUSTCSRC)tests/ ++SRCDIR_RUST_TESTS := $(RUSTCSRC)/tests/ + endif + +-LLVM_CONFIG := $(RUSTCSRC)build/bin/llvm-config ++LLVM_CONFIG := $(RUSTCSRC)/build/bin/llvm-config + ifeq ($(shell uname -s || echo not),Darwin) + # /usr/bin/uname because uname might call coreutils + # which can make the arm64 uname called when +@@ -205,6 +216,7 @@ bin/testrunner$(EXESUF): + # rustc (with std/cargo) source download + # + RUSTC_SRC_TARBALL := rustc-$(RUSTC_VERSION)-src.tar.gz ++ifeq ($(RUSTC_SRC_PROVIDED),0) + $(RUSTC_SRC_TARBALL): + @echo [CURL] $@ + @rm -f $@ +@@ -212,15 +224,23 @@ $(RUSTC_SRC_TARBALL): + rustc-$(RUSTC_VERSION)-src/extracted: $(RUSTC_SRC_TARBALL) + tar -xf $(RUSTC_SRC_TARBALL) + touch $@ +-$(RUSTC_SRC_DL): rustc-$(RUSTC_VERSION)-src/extracted rustc-$(RUSTC_VERSION)-src.patch +- cd $(RUSTCSRC) && patch -p0 < ../rustc-$(RUSTC_VERSION)-src.patch; ++else ++$(RUSTC_SRC_TARBALL): ++ @echo "RUSTC_SRC_PROVIDED is set, no need to fetch source" ++rustc-$(RUSTC_VERSION)-src/extracted: $(RUSTC_SRC_TARBALL) ++ touch $(RUSTCSRC)/extracted ++endif ++ ++$(RUSTC_SRC_DL): $(RUSTC_SRC_TARBALL) rustc-$(RUSTC_VERSION)-src/extracted rustc-$(RUSTC_VERSION)-src.patch ++ PATCH_FILE=$(abspath rustc-$(RUSTC_VERSION)-src.patch); \ ++ cd $(RUSTCSRC) && patch -p0 < $$PATCH_FILE; + touch $@ + + # Standard library crates + # - libstd, libpanic_unwind, libtest and libgetopts + # - libproc_macro (mrustc) + ifeq ($(USE_MERGED_BUILD),1) +-$(RUSTCSRC)mrustc-stdlib/Cargo.toml: $(RUSTC_SRC_DL) minicargo.mk ++$(RUSTCSRC)/mrustc-stdlib/Cargo.toml: $(RUSTC_SRC_DL) minicargo.mk + @mkdir -p $(dir $@) + @echo "#![no_core]" > $(dir $@)/lib.rs + @echo "[package]" > $@ +@@ -232,23 +252,23 @@ $(RUSTCSRC)mrustc-stdlib/Cargo.toml: $(RUSTC_SRC_DL) minicargo.mk + @echo "std = { path = \"../$(RUST_LIB_PREFIX)std\" }" >> $@ + @echo "panic_unwind = { path = \"../$(RUST_LIB_PREFIX)panic_unwind\" }" >> $@ + @echo "test = { path = \"../$(RUST_LIB_PREFIX)test\" }" >> $@ +-LIBS: $(RUSTCSRC)mrustc-stdlib/Cargo.toml $(MRUSTC) $(MINICARGO) +- +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)mrustc-stdlib/ ++LIBS: $(RUSTCSRC)/mrustc-stdlib/Cargo.toml $(MRUSTC) $(MINICARGO) ++ +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)/mrustc-stdlib/ + +$(MINICARGO) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) lib/libproc_macro + else + LIBS: $(MRUSTC) $(MINICARGO) $(RUSTC_SRC_DL) +- +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)$(RUST_LIB_PREFIX)std +- +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)$(RUST_LIB_PREFIX)panic_unwind +- +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)$(RUST_LIB_PREFIX)test ++ +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)/$(RUST_LIB_PREFIX)std ++ +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)/$(RUST_LIB_PREFIX)panic_unwind ++ +$(MINICARGO) --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) $(RUSTCSRC)/$(RUST_LIB_PREFIX)test + +$(MINICARGO) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) lib/libproc_macro + endif + + # Dynamically linked version of the standard library + $(OUTDIR)test/libtest.so: $(RUSTC_SRC_DL) + mkdir -p $(dir $@) +- +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)$(RUST_LIB_PREFIX)std --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) +- +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)$(RUST_LIB_PREFIX)panic_unwind --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) +- +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)$(RUST_LIB_PREFIX)test --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) ++ +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)/$(RUST_LIB_PREFIX)std --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) ++ +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)/$(RUST_LIB_PREFIX)panic_unwind --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) ++ +MINICARGO_DYLIB=1 $(MINICARGO) $(RUSTCSRC)/$(RUST_LIB_PREFIX)test --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) $(MINICARGO_FLAGS) + test -e $@ + + RUSTC_ENV_VARS := CFG_COMPILER_HOST_TRIPLE=$(RUSTC_TARGET) +@@ -264,17 +284,17 @@ RUSTC_ENV_VARS += RUSTC_INSTALL_BINDIR=bin + + $(OUTDIR)rustc: $(MRUSTC) $(MINICARGO) LIBS $(LLVM_CONFIG) + mkdir -p $(OUTDIR)rustc-build +- +$(RUSTC_ENV_VARS) $(MINICARGO) $(RUSTCSRC)$(SRCDIR_RUSTC) --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)rustc-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$@) ++ +$(RUSTC_ENV_VARS) $(MINICARGO) $(RUSTCSRC)/$(SRCDIR_RUSTC) --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)rustc-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$@) + test -e $@ -a ! $(OUTDIR)rustc-build/$(RUSTC_OUT_BIN) -nt $@ || cp $(OUTDIR)rustc-build/$(RUSTC_OUT_BIN) $@ + $(OUTDIR)rustc-build/librustc_driver.rlib: $(MRUSTC) $(MINICARGO) LIBS + mkdir -p $(OUTDIR)rustc-build +- +$(RUSTC_ENV_VARS) $(MINICARGO) $(RUSTCSRC)$(SRCDIR_RUSTC_DRIVER) --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)rustc-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$(OUTDIR)rustc) ++ +$(RUSTC_ENV_VARS) $(MINICARGO) $(RUSTCSRC)/$(SRCDIR_RUSTC_DRIVER) --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)rustc-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$(OUTDIR)rustc) + $(OUTDIR)cargo: $(MRUSTC) LIBS + mkdir -p $(OUTDIR)cargo-build +- +$(CARGO_ENV_VARS) $(MINICARGO) $(RUSTCSRC)src/tools/cargo --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)cargo-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$@) ++ +$(CARGO_ENV_VARS) $(MINICARGO) $(RUSTCSRC)/src/tools/cargo --vendor-dir $(VENDOR_DIR) --output-dir $(OUTDIR)cargo-build -L $(OUTDIR) $(MINICARGO_FLAGS) $(MINICARGO_FLAGS_$@) + test -e $@ -a ! $(OUTDIR)cargo-build/cargo -nt $@ || cp $(OUTDIR)cargo-build/cargo $@ + +-# Reference $(RUSTCSRC)src/bootstrap/native.rs for these values ++# Reference $(RUSTCSRC)/src/bootstrap/native.rs for these values + LLVM_CMAKE_OPTS := LLVM_TARGET_ARCH=$(firstword $(subst -, ,$(RUSTC_TARGET))) LLVM_DEFAULT_TARGET_TRIPLE=$(RUSTC_TARGET) + LLVM_CMAKE_OPTS += LLVM_TARGETS_TO_BUILD="$(LLVM_TARGETS)" + LLVM_CMAKE_OPTS += LLVM_ENABLE_ASSERTIONS=OFF +@@ -286,22 +306,22 @@ LLVM_CMAKE_OPTS += CMAKE_BUILD_TYPE=Release + LLVM_CMAKE_OPTS += $(LLVM_CMAKE_OPTS_EXTRA) + + +-$(RUSTCSRC)build/bin/llvm-config: $(RUSTCSRC)build/Makefile +- $Vcd $(RUSTCSRC)build && $(MAKE) -j $(PARLEVEL) ++$(RUSTCSRC)/build/bin/llvm-config: $(RUSTCSRC)/build/Makefile ++ $Vcd $(RUSTCSRC)/build && $(MAKE) -j $(PARLEVEL) + +-$(RUSTCSRC)build/Makefile: $(RUSTCSRC)$(LLVM_DIR)/CMakeLists.txt +- @mkdir -p $(RUSTCSRC)build +- $Vcd $(RUSTCSRC)build && cmake $(addprefix -D , $(LLVM_CMAKE_OPTS)) ../$(LLVM_DIR) ++$(RUSTCSRC)/build/Makefile: $(RUSTCSRC)/$(LLVM_DIR)/CMakeLists.txt ++ @mkdir -p $(RUSTCSRC)/build ++ $Vcd $(RUSTCSRC)/build && cmake $(addprefix -D , $(LLVM_CMAKE_OPTS)) ../$(LLVM_DIR) + + # + # Developement-only targets + # + $(OUTDIR)libcore.rlib: $(MRUSTC) $(MINICARGO) +- $(MINICARGO) $(RUSTCSRC)src/libcore --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) ++ $(MINICARGO) $(RUSTCSRC)/src/libcore --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) + $(OUTDIR)liballoc.rlib: $(MRUSTC) $(MINICARGO) +- $(MINICARGO) $(RUSTCSRC)src/liballoc --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) ++ $(MINICARGO) $(RUSTCSRC)/src/liballoc --vendor-dir $(VENDOR_DIR) --script-overrides $(OVERRIDE_DIR) --output-dir $(OUTDIR) $(MINICARGO_FLAGS) + $(OUTDIR)rustc-build/librustdoc.rlib: $(MRUSTC) LIBS +- $(MINICARGO) $(RUSTCSRC)src/librustdoc --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) -L $(OUTDIR) $(MINICARGO_FLAGS) ++ $(MINICARGO) $(RUSTCSRC)/src/librustdoc --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) -L $(OUTDIR) $(MINICARGO_FLAGS) + #$(OUTDIR)cargo-build/libserde-1_0_6.rlib: $(MRUSTC) LIBS + # $(MINICARGO) $(VENDOR_DIR)/serde --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) -L $(OUTDIR) $(MINICARGO_FLAGS) + $(OUTDIR)cargo-build/libgit2-0_6_6.rlib: $(MRUSTC) LIBS +@@ -349,9 +369,9 @@ $(OUTDIR)test/librust_test_helpers.a: $(OUTDIR)test/rust_test_helpers.o + @mkdir -p $(dir $@) + ar cur $@ $< + ifeq ($(RUSTC_VERSION),1.19.0) +-RUST_TEST_HELPERS_C := $(RUSTCSRC)src/rt/rust_test_helpers.c ++RUST_TEST_HELPERS_C := $(RUSTCSRC)/src/rt/rust_test_helpers.c + else +-RUST_TEST_HELPERS_C := $(RUSTCSRC)src/test/auxiliary/rust_test_helpers.c ++RUST_TEST_HELPERS_C := $(RUSTCSRC)/src/test/auxiliary/rust_test_helpers.c + endif + output$(OUTDIR_SUF)/test/rust_test_helpers.o: $(RUST_TEST_HELPERS_C) + @mkdir -p $(dir $@) +@@ -424,8 +444,8 @@ RUNTIME_ARGS_$(OUTDIR)stdtest/collectionstests += --skip ::vec::overaligned_allo + #ENV_$(OUTDIR)stdtest/rustc-test := + #ENV_$(OUTDIR)stdtest/rustc-test += CFG_COMPILER_HOST_TRIPLE=$(RUSTC_TARGET) + +-$(OUTDIR)stdtest/%-test: $(RUSTCSRC)src/lib%/lib.rs LIBS +- +MRUSTC_LIBDIR=$(abspath $(OUTDIR)) $(MINICARGO) --test $(RUSTCSRC)src/lib$* --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) -L $(OUTDIR) ++$(OUTDIR)stdtest/%-test: $(RUSTCSRC)/src/lib%/lib.rs LIBS ++ +MRUSTC_LIBDIR=$(abspath $(OUTDIR)) $(MINICARGO) --test $(RUSTCSRC)/src/lib$* --vendor-dir $(VENDOR_DIR) --output-dir $(dir $@) -L $(OUTDIR) + $(OUTDIR)stdtest/collectionstests: $(OUTDIR)stdtest/alloc-test + test -e $@ + $(OUTDIR)collectionstest_out.txt: $(OUTDIR)% +-- +2.47.1 + diff --git a/dev-lang/mrustc/files/mrustc-0.11.0-default-to-rust-1_74.patch b/dev-lang/mrustc/files/mrustc-0.11.0-default-to-rust-1_74.patch new file mode 100644 index 000000000000..ed459819b301 --- /dev/null +++ b/dev-lang/mrustc/files/mrustc-0.11.0-default-to-rust-1_74.patch @@ -0,0 +1,19 @@ +From f422e43cc314e4cfda059ddb63d31973c9e8b5b7 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Tue, 17 Dec 2024 17:55:59 +1000 +Subject: [PATCH] default to Rust 1_74 + +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -39,7 +39,7 @@ + # undef max + #endif + +-TargetVersion gTargetVersion = TargetVersion::Rustc1_29; ++TargetVersion gTargetVersion = TargetVersion::Rustc1_74; + + struct ProgramParams + { +-- +2.47.1 + diff --git a/dev-lang/mrustc/files/mrustc-0.11.2-dont-strip-bins.patch b/dev-lang/mrustc/files/mrustc-0.11.2-dont-strip-bins.patch new file mode 100644 index 000000000000..23eb40dbeeba --- /dev/null +++ b/dev-lang/mrustc/files/mrustc-0.11.2-dont-strip-bins.patch @@ -0,0 +1,28 @@ +From e14e4e2e49d32827729bf41e08db1902fdf26911 Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Fri, 17 Jan 2025 10:39:02 +1000 +Subject: [PATCH] don't strip bins + +--- a/Makefile ++++ b/Makefile +@@ -176,7 +176,6 @@ else + $V$(CXX) -o $@ $(LINKFLAGS) $(OBJDIR)main.o -Wl,--whole-archive bin/mrustc.a -Wl,--no-whole-archive bin/common_lib.a $(LIBS) + $(OBJCOPY) --only-keep-debug $(BIN) $(BIN).debug + $(OBJCOPY) --add-gnu-debuglink=$(BIN).debug $(BIN) +- $(STRIP) $(BIN) + endif + + $(OBJDIR)%.o: src/%.cpp +--- a/tools/minicargo/Makefile ++++ b/tools/minicargo/Makefile +@@ -46,7 +46,6 @@ else ifeq ($(shell uname -s || echo not),Darwin) + else + $(OBJCOPY) --only-keep-debug $(BIN) $(BIN).debug + $(OBJCOPY) --add-gnu-debuglink=$(BIN).debug $(BIN) +- $(STRIP) $(BIN) + endif + + $(OBJDIR)%.o: %.cpp +-- +2.48.0 + diff --git a/dev-lang/mrustc/files/mrustc-0.11.2-gcc15.patch b/dev-lang/mrustc/files/mrustc-0.11.2-gcc15.patch new file mode 100644 index 000000000000..fd2e8f307872 --- /dev/null +++ b/dev-lang/mrustc/files/mrustc-0.11.2-gcc15.patch @@ -0,0 +1,28 @@ +From 3df8e7e14485c7f11da4d90dac02aa061f5e1f1a Mon Sep 17 00:00:00 2001 +From: Matt Jolly <kangie@gentoo.org> +Date: Sun, 19 Jan 2025 14:07:47 +1000 +Subject: [PATCH] gcc15 includes + +--- a/src/common.hpp ++++ b/src/common.hpp +@@ -13,6 +13,7 @@ + #include <map> + #include <set> + #include <cassert> ++#include <cstdint> + #include <sstream> + #include <memory> + +--- a/tools/minicargo/build.cpp ++++ b/tools/minicargo/build.cpp +@@ -20,6 +20,7 @@ + #include <fstream> + #include <cassert> + ++#include <cstdint> + #include <unordered_map> + #include <algorithm> // sort/find_if + +-- +2.48.0 + diff --git a/dev-lang/mrustc/metadata.xml b/dev-lang/mrustc/metadata.xml new file mode 100644 index 000000000000..7d8cbeafd232 --- /dev/null +++ b/dev-lang/mrustc/metadata.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>kangie@gentoo.org</email> + <name>Matt Jolly</name> + <description>Primary maintainer</description> + </maintainer> + <maintainer type="project"> + <email>rust@gentoo.org</email> + <name>Gentoo Rust Project</name> + </maintainer> + <longdescription> + A "simple" rust compiler written in C++ that is able to bootstrap a "recent" rustc. + </longdescription> + <upstream> + <remote-id type="github">thepowersgang/mrustc</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-lang/mrustc/mrustc-0.11.2.ebuild b/dev-lang/mrustc/mrustc-0.11.2.ebuild new file mode 100644 index 000000000000..da872f594ddc --- /dev/null +++ b/dev-lang/mrustc/mrustc-0.11.2.ebuild @@ -0,0 +1,108 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo multiprocessing rust-toolchain toolchain-funcs + +# The makefile needs to know the version of rust to build +RUST_VERSION=1.74.1 +# We need to pretend to be this version of Rust for mrustc build and outputs +MRUSTC_RUST_VER=1.74.0 + +DESCRIPTION="Mutabah's Rust Compiler" +HOMEPAGE="https://github.com/thepowersgang/mrustc" + +if [[ ${PV} == *"9999"* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/thepowersgang/mrustc.git" +else + SRC_URI="https://github.com/thepowersgang/mrustc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz + " + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +SLOT="0" + +DEPEND="sys-libs/zlib" +# mrustc transpiles Rust to C, and currently the C code it generates doesn't currently work with clang +RDEPEND=" + ${DEPEND} + sys-devel/gcc:* +" +BDEPEND="sys-devel/gcc:*" + +PATCHES=( + "${FILESDIR}/${PN}-0.11.2-gcc15.patch" + "${FILESDIR}/${PN}-0.11.2-dont-strip-bins.patch" + "${FILESDIR}/${PN}-0.11.0-default-to-rust-1_74.patch" + "${FILESDIR}/${PN}-0.11.0-RUSTC_SRC_PROVIDED.patch" + "${FILESDIR}/${PN}-0.10.1-git-be-gone.patch" +) + +QA_FLAGS_IGNORED=" + usr/lib/rust/${P}/bin/mrustc + usr/lib/rust/${P}/bin/minicargo + usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib/*.rlib +" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && ! tc-is-gcc; then + die "mrustc needs to be built using GCC." + fi +} + +src_configure() { + : +} + +src_compile() { + export PARLEVEL=$(makeopts_jobs) + export RUSTC_VERSION=${MRUSTC_RUST_VER} # Pretend that we're using upstream-supported Rust + export MRUSTC_TARGET_VER=${RUSTC_VERSION%.*} + export RUSTCSRC="${WORKDIR}/rustc-${RUST_VERSION}-src" + export RUSTC_SRC_PROVIDED=1 + export V='' # echo build commands in makefiles (minicargo still writes commands to file) + # build mrustc & minicargo then use them to build the standard library + # emake -f minicargo.mk will do everything including a full bootstrap + emake all + emake -C tools/minicargo/ + # It's not much, but it's enough to do a 'hello world' at least... and build dev-lang/rust! + emake -e -f minicargo.mk LIBS +} + +src_test() { + # The main makefile test targets just do this, cut out the middleman + emake -e -f minicargo.mk local_tests + # build and run 'hello world' (this is called using 'test' in the makefile, but we can do it manually) + edo "${S}"/bin/mrustc -L "${S}"/output-${MRUSTC_RUST_VER}/ \ + -g "${S}/../rustc-${RUST_VERSION}-src/tests/ui/hello_world/main.rs" -o "${T}"/hello + "${T}"/hello || die "Failed to run hello_world built with mrustc" +} + +src_install() { + # If we're installing into /usr/lib/rust we may as well be consistent + into /usr/lib/rust/${P} + dobin bin/mrustc + dobin bin/minicargo + local lib patch + local libs=( "${S}"/output-*/*.rlib* ) + insinto "/usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib" + # If we ever want to support mrustc stdlib for multiple rusts we'll need to + # do something more clever here. + for lib in "${libs[@]}"; do + # We only want .rlib{,.hir,o} + if [[ ${lib} != *.c && ${lib} != *.d && ${lib} != *.txt ]]; then + doins "${lib}" + fi + done + # For convenience, install files required to build various rusts + insinto /usr/share/${P} + doins -r "${S}/script-overrides/" + insinto /usr/share/${P}/patches + for patch in "${S}"/rustc-*.patch "${S}"/rustc-*-overrides.toml; do + doins "${patch}" + done +} diff --git a/dev-lang/mrustc/mrustc-9999.ebuild b/dev-lang/mrustc/mrustc-9999.ebuild new file mode 100644 index 000000000000..2d39a52cbcb6 --- /dev/null +++ b/dev-lang/mrustc/mrustc-9999.ebuild @@ -0,0 +1,105 @@ +# Copyright 2024-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo multiprocessing rust-toolchain toolchain-funcs + +# The makefile needs to know the version of rust to build +RUST_VERSION=1.74.1 +# We need to pretend to be this version of Rust for mrustc build and outputs +MRUSTC_RUST_VER=1.74.0 + +DESCRIPTION="Mutabah's Rust Compiler" +HOMEPAGE="https://github.com/thepowersgang/mrustc" + +if [[ ${PV} == *"9999"* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/thepowersgang/mrustc.git" +else + SRC_URI="https://github.com/thepowersgang/mrustc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz + " + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +SLOT="0" + +DEPEND="sys-libs/zlib" +# mrustc transpiles Rust to C, and currently the C code it generates doesn't currently work with clang +RDEPEND=" + ${DEPEND} + sys-devel/gcc:* +" +BDEPEND="sys-devel/gcc:*" + +PATCHES=( + "${FILESDIR}/${PN}-0.11.0-default-to-rust-1_74.patch" + "${FILESDIR}/${PN}-0.11.0-RUSTC_SRC_PROVIDED.patch" +) + +QA_FLAGS_IGNORED=" + usr/lib/rust/${P}/bin/mrustc + usr/lib/rust/${P}/bin/minicargo + usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib/*.rlib +" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && ! tc-is-gcc; then + die "mrustc needs to be built using GCC." + fi +} + +src_configure() { + : +} + +src_compile() { + export PARLEVEL=$(makeopts_jobs) + export RUSTC_VERSION=${MRUSTC_RUST_VER} # Pretend that we're using upstream-supported Rust + export MRUSTC_TARGET_VER=${RUSTC_VERSION%.*} + export RUSTCSRC="${WORKDIR}/rustc-${RUST_VERSION}-src" + export RUSTC_SRC_PROVIDED=1 + export V='' # echo build commands in makefiles (minicargo still writes commands to file) + # build mrustc & minicargo then use them to build the standard library + # emake -f minicargo.mk will do everything including a full bootstrap + emake all + emake -C tools/minicargo/ + # It's not much, but it's enough to do a 'hello world' at least... and build dev-lang/rust! + emake -e -f minicargo.mk LIBS +} + +src_test() { + # The main makefile test targets just do this, cut out the middleman + emake -e -f minicargo.mk local_tests + # build and run 'hello world' (this is called using 'test' in the makefile, but we can do it manually) + edo "${S}"/bin/mrustc -L "${S}"/output-${MRUSTC_RUST_VER}/ \ + -g "${S}/../rustc-${RUST_VERSION}-src/tests/ui/hello_world/main.rs" -o "${T}"/hello + "${T}"/hello || die "Failed to run hello_world built with mrustc" +} + +src_install() { + # If we're installing into /usr/lib/rust we may as well be consistent + into /usr/lib/rust/${P} + dobin bin/mrustc + dobin bin/minicargo + local lib patch + local libs=( "${S}"/output-*/*.rlib* ) + insinto "/usr/lib/rust/${P}/lib/rustlib/$(rust_abi)/lib" + # If we ever want to support mrustc stdlib for multiple rusts we'll need to + # do something more clever here. + for lib in "${libs[@]}"; do + # We only want .rlib{,.hir,o} + if [[ ${lib} != *.c && ${lib} != *.d && ${lib} != *.txt ]]; then + doins "${lib}" + fi + done + # For convenience, install files required to build various rusts + insinto /usr/share/${P} + doins -r "${S}/script-overrides/" + insinto /usr/share/${P}/patches + for patch in "${S}"/rustc-*.patch "${S}"/rustc-*-overrides.toml; do + doins "${patch}" + done +} diff --git a/dev-lang/neko/Manifest b/dev-lang/neko/Manifest index b5e633d3c1f6..bd538bae5a11 100644 --- a/dev-lang/neko/Manifest +++ b/dev-lang/neko/Manifest @@ -1,5 +1,3 @@ -DIST neko-2.3.0.tar.gz 514044 BLAKE2B 1214fd15e0bff9df3f0bb3f4c856134772f42da5740adc260051bea6e0203e2e37db852b97114ddeef58d8320313dd01875918dee1a001833a3b9ca7d7c3c512 SHA512 fec51bed0c5500561635656c7456f3da0599aa6a47a25efe739b3c51f9cdded4a8824ed14ab67bab0905d9082cf6f06b3a76c868cb1b61d440957bcd9fd3f3d2 DIST neko-2.4.0.tar.gz 530457 BLAKE2B 0d5bcde8f755688b3e14b316ef2691a7755d2ed330c24bacc1ce2b7d1f82c20b1756c115742893d259d08cb18fee36cd596eb88542590aaebb021f8f1812367d SHA512 bd759f712ffcda6ad0f03542060ad9e7fbba06c4c54c7007b7a6692dfc2d87bce3d8f78d6ef64752dd0e4d7e9d352c7543f1c5a1c49f7b7073efb2043ba7f0ab -EBUILD neko-2.3.0-r3.ebuild 1262 BLAKE2B 5f6918267a74ead26610b9a0105ed22ad10e20a253321e5d47c27568d0bac6066df2a798c2e8b5c1de0137e03e30fb5da3043166696f0e9a7a603cbc3874b04e SHA512 62a4570b931d2dc4d54b276619308aa0be04a75a3dca08269d272f188da2d0b96e9c5ffce9ae8ebeabc7be95db05519e7f048d587a0371fcf5166ecc8039dc68 -EBUILD neko-2.4.0-r1.ebuild 1262 BLAKE2B 5f6918267a74ead26610b9a0105ed22ad10e20a253321e5d47c27568d0bac6066df2a798c2e8b5c1de0137e03e30fb5da3043166696f0e9a7a603cbc3874b04e SHA512 62a4570b931d2dc4d54b276619308aa0be04a75a3dca08269d272f188da2d0b96e9c5ffce9ae8ebeabc7be95db05519e7f048d587a0371fcf5166ecc8039dc68 +EBUILD neko-2.4.0-r2.ebuild 1298 BLAKE2B 5aa4f86e15becf1e70e2d968db147abf41e7293fc3e5eb9bee3eeab1bad9b6a4ae6f7fe1928705f7914cb796584ac53117caea628ccfbabc5cfbe78f88bc1732 SHA512 8059197e79685071e6ff2a93421a88244a598113f2f4c5686da51e3cfd6aff1a6f4ad7cd2c3c53d7a1f672a47adc2d8bf95e491fc84436ad93ba738d343c9283 MISC metadata.xml 955 BLAKE2B 6121b716f10156ee7987969332bc78496a00facb9bf70832b147cdd3cfb8152c2b06c4482361d56cee8e9c8b5893fb126c701333eb789bd27add26fa0a9c9cbd SHA512 20a5591a47ce090645e1fd194ef85b2546463dd0855ba0d23f9fb3278fafabb8cb05ae1786d024987945d18b15ebff50c12a1e4a9919190abf1af14ad906e1e3 diff --git a/dev-lang/neko/neko-2.3.0-r3.ebuild b/dev-lang/neko/neko-2.3.0-r3.ebuild deleted file mode 100644 index 2191b6d96b38..000000000000 --- a/dev-lang/neko/neko-2.3.0-r3.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic cmake - -DESCRIPTION="Neko is a high-level dynamically typed programming language" -HOMEPAGE="https://nekovm.org/ - https://github.com/HaxeFoundation/neko/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/HaxeFoundation/${PN}.git" -else - # 2.3.0 -> 2-3-0 - MY_PV="${PV//./-}" - SRC_URI="https://github.com/HaxeFoundation/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${PN}-${MY_PV}" -fi - -LICENSE="MIT" -SLOT="0/${PV}" -IUSE="apache mysql sqlite ssl" - -RDEPEND=" - dev-libs/boehm-gc:=[threads] - dev-libs/libpcre:= - sys-libs/zlib:= - apache? ( www-servers/apache:2= ) - mysql? ( dev-db/mysql:= ) - sqlite? ( dev-db/sqlite:3= ) - ssl? ( - dev-libs/openssl:= - net-libs/mbedtls:0= - ) -" -DEPEND="${RDEPEND}" - -src_configure() { - # -Werror=strict-aliasing warnings, bug #855641 - filter-lto - append-flags -fno-strict-aliasing - - local mycmakeargs=( - -DRUN_LDCONFIG=OFF - -DWITH_NEKOML=ON - -DWITH_REGEXP=ON - -DWITH_UI=OFF - -DWITH_APACHE=$(usex apache) - -DWITH_MYSQL=$(usex mysql) - -DWITH_SQLITE=$(usex sqlite) - -DWITH_SSL=$(usex ssl) - ) - cmake_src_configure -} diff --git a/dev-lang/neko/neko-2.4.0-r1.ebuild b/dev-lang/neko/neko-2.4.0-r2.ebuild index 2191b6d96b38..16ca7d87db46 100644 --- a/dev-lang/neko/neko-2.4.0-r1.ebuild +++ b/dev-lang/neko/neko-2.4.0-r2.ebuild @@ -11,13 +11,17 @@ HOMEPAGE="https://nekovm.org/ if [[ "${PV}" == *9999* ]] ; then inherit git-r3 - EGIT_REPO_URI="https://github.com/HaxeFoundation/${PN}.git" + + EGIT_REPO_URI="https://github.com/HaxeFoundation/${PN}" else # 2.3.0 -> 2-3-0 MY_PV="${PV//./-}" - SRC_URI="https://github.com/HaxeFoundation/${PN}/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + + SRC_URI="https://github.com/HaxeFoundation/${PN}/archive/refs/tags/v${MY_PV}.tar.gz + -> ${P}.tar.gz" S="${WORKDIR}/${PN}-${MY_PV}" + + KEYWORDS="~amd64 ~x86" fi LICENSE="MIT" @@ -29,29 +33,32 @@ RDEPEND=" dev-libs/libpcre:= sys-libs/zlib:= apache? ( www-servers/apache:2= ) - mysql? ( dev-db/mysql:= ) + mysql? ( dev-db/mysql-connector-c:= ) sqlite? ( dev-db/sqlite:3= ) ssl? ( dev-libs/openssl:= net-libs/mbedtls:0= ) " -DEPEND="${RDEPEND}" +DEPEND=" + ${RDEPEND} +" src_configure() { # -Werror=strict-aliasing warnings, bug #855641 filter-lto append-flags -fno-strict-aliasing - local mycmakeargs=( - -DRUN_LDCONFIG=OFF - -DWITH_NEKOML=ON - -DWITH_REGEXP=ON - -DWITH_UI=OFF - -DWITH_APACHE=$(usex apache) - -DWITH_MYSQL=$(usex mysql) - -DWITH_SQLITE=$(usex sqlite) - -DWITH_SSL=$(usex ssl) + local -a mycmakeargs=( + -DRUN_LDCONFIG="OFF" + -DWITH_NEKOML="ON" + -DWITH_REGEXP="ON" + -DWITH_UI="OFF" + + -DWITH_APACHE="$(usex apache)" + -DWITH_MYSQL="$(usex mysql)" + -DWITH_SQLITE="$(usex sqlite)" + -DWITH_SSL="$(usex ssl)" ) cmake_src_configure } diff --git a/dev-lang/nprolog/Manifest b/dev-lang/nprolog/Manifest index 7a543312791c..80fe0a114354 100644 --- a/dev-lang/nprolog/Manifest +++ b/dev-lang/nprolog/Manifest @@ -1,8 +1,9 @@ AUX nprolog-3.22-ncursesw.patch 270 BLAKE2B 4e412a1b42bea3e797ddb0f17a5d22bd0f22f5e9fd037bc199704c1abd664413df1adaafc35ed5f430b4da36279199b30b57d34cf459064efa3bc94a1f61a6ca SHA512 41c510be3afad45ba77d1882f864b62349c2d81fc4ac166d736506d14f1e9061ce4d1f9ec3a6adb15fbd4b377573b915f27efba0825701dc396848ce5e2d16e3 -DIST nprolog-3.36.tar.gz 598498 BLAKE2B 1cf2f1459698f2c7df01b4a2202e292b5c0918c363ebc761007f7996f405f7334e757678dbe510ea5c3a52dce8a5fa2b84cd898b04b3bfa4ab33d325ecd17401 SHA512 33ce46cec1c1d167b70ba0f59655f58d42e388d63f5515cec88086db1035d54700865ddfbe213f393d65180928c3951c11056471ef5499761182ea6536a0ddb2 -DIST nprolog-3.41.tar.gz 599368 BLAKE2B d335f87834ca9a6cb167416ebd8024e7122fc17c5b065997e1b88c003ab7f8d772d715d363c712d75fb81d5634993f1dd106593f90f3d375696b8c6826668e98 SHA512 d0927259a3a7b157c9d346cf99c4fb354c4ff4f71c92970c63439c016137437cd2ebcfef7b4bffe50befb3abc5f463abb68eb5b859fa52220e36aac57957321d +AUX nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch 780 BLAKE2B 95e6e7a10af3ac3debcec909debef34c28c360e15b48082b5eadd0f8530a633cd9028a0238152d27762db5c1d57ab1ca4b3f2ac10bb9b5756f078433b362afd5 SHA512 87b54236f9aee8fa7f69925765e33efe096a0fa47761faf05adf8335671b1730085311e1b7fe0f9983f12d9e710ce25c0663897ca6e9ecb0d3a5f2cb776f8fe6 DIST nprolog-3.53.tar.gz 682333 BLAKE2B 827e6ff1b066e42fd10df8788a6752ef4df7692cc3d11ad6b1bb001b72d2e916997abae21e182c161ac1a1098362a2e8430a1b1500b4ad97ca74a00db19e70d2 SHA512 10de04a1737999203d23911b3c36ce506b112476238ec1c28bcade2a459cec6d8ac2310dd8ba3bd1af82aa390444ff5c37536585429faa7c12fa9ee154243087 -EBUILD nprolog-3.36.ebuild 888 BLAKE2B c0614eed790898637c575682580b6879192cb584bc11044d9af3270e919ce0d41c052326c2d1e9b9746051fb3cdee90552510029c9a2e8d64d14dedc607eb547 SHA512 5aa1cbeefdde67461fc2f08e5afb2d2b51bda61e18859ee1b65e11367fa06ce018e9001c94806f8518a5264a929407ed3b26d5e442115080771712fecdfc1a99 -EBUILD nprolog-3.41.ebuild 889 BLAKE2B 8b9ac031e349ee93be59b36a8654e718ac65954258ec03138b0e6e8c9b6ece5ef9378e7a6e641e716b2be75de337ef8d1e765d06ee2f5e685c5015cacd445523 SHA512 c3fe6314b02f2a6d9f6bc8ded5973f65e46061563a99a53a7aa8b7b7c134d95246ca6a70ac0cb51e6f8e56c23bb67d11809f05130795eb3f4659b219017d70fc +DIST nprolog-3.88.gh.tar.gz 1337137 BLAKE2B 0d8f8d5e8242e3ab172f0a1256252ef99b6daf76a77fb75710c0286d55aa02e79e78601ec4347e42d88411cc7528d4e3b041496df04335496b71fc41cb3573c6 SHA512 12ef940792a6c9cd44cafad5440829d43b0c4736732341172255733f163d48b189233b62288e4fd59d36e5a378742f783a0400c2c4dc3d6b06570143b06685db +DIST nprolog-3.89.gh.tar.gz 1286015 BLAKE2B 006e9ecfc541cc57cd67454ce3c10e6f8c9fce63695a4395d1b1d3db82aa30483d78503544d5b4ffbe2e87902fa05fe39fd2c6ad2fe4d3e54d54e96901a6e69f SHA512 9df70ec2c37861a6374fd0093b426cc0ba55138680e164f9d84ed830470cc955c2da7a24ba3fb517b4dbf5c0154062f9431905d9d326db6f7a7ddccee250a7ea EBUILD nprolog-3.53.ebuild 888 BLAKE2B 1a70453da30466404a14daa097c7df96cd95bcf759becad989cd538e6b17739f86a06301950ed1913314b750955c3c8f3a07f650ce41a3fab431102f414deaaf SHA512 8fc94200ca57c0a592500c1f10a8b58fafb41c8ee28f5dcfea20327784a1221a5440bf72f6a53e1c365dd3bc1006da99d8aa2e8b541d07956a8502f9187c68e5 +EBUILD nprolog-3.88.ebuild 1100 BLAKE2B 7f056d2d92d21e2d343f65f8aebee3934d7badd69aefe5fdeaf1230fb54cd13e09bee73c89f51c78fd2accbe9c91a8b2e2890133a567d8d9cd9a525c8eb79f64 SHA512 b697953177b8f268da8bdfa308750fa67be3b9b079c8ce2d1d01cc82db21771cd29daac509a8aed2013c24c2902e8c03acd9b415f40925010fb92e210583c811 +EBUILD nprolog-3.89.ebuild 1032 BLAKE2B e39dc2dd493eebcdd307a5453f9e312c01848280a042ace8eb4255e78a35379d8829581c8635740da506419af011e0f9daa7f2a17ef966b6ff36b93108dd96fa SHA512 e1d11da019820e23d60ccbea7cfa3deabd1466112aeeb7ef4942f624860553d9736cfad4329439e04f0a9ee7ee5d200b972391e38249d28567926098e56e9b3f MISC metadata.xml 657 BLAKE2B 9331358542d57958385bc1218b4a1c5d38185ab0822d0cc68e51bcc5f8b00645a523a1a4f60d30188efc3ed7cb934f0a6a964d27bf0915c5956c69774c734590 SHA512 972ae4d1f2179887f77d8805f2e5482c17767e38b078fa9d9ee65a2f43e0b56b76fccd0166f4c5121de9a7cead4faa7683bd8e9076c257ffb2d1deb673eb276e diff --git a/dev-lang/nprolog/files/nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch b/dev-lang/nprolog/files/nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch new file mode 100644 index 000000000000..d46620dbcbfb --- /dev/null +++ b/dev-lang/nprolog/files/nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch @@ -0,0 +1,29 @@ +From 6e47a272b0a9491436ac732272be13431ee51161 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Maciej=20Bar=C4=87?= <xgqt@gentoo.org> +Date: Mon, 27 Jan 2025 14:33:14 +0100 +Subject: [PATCH 1/2] makefile: add CURSES_CFLAGS to edlog rule +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Maciej Barć <xgqt@gentoo.org> +--- + makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/makefile b/makefile +index 0d0734d..c2458e0 100644 +--- a/makefile ++++ b/makefile +@@ -47,7 +47,7 @@ $(EDLOG): $(EDLOG_OBJS) + $(CC) $(LDFLAGS) $^ -o $@ $(CURSES_LIBS) + + edlog.o: edlog.c edlog.h term.h +- $(CC) $(CFLAGS) -c edlog.c ++ $(CC) $(CFLAGS) -c edlog.c $(CURSES_CFLAGS) + + install: $(NPL) $(EDLOG) + mkdir -p $(DEST) +-- +2.45.3 + diff --git a/dev-lang/nprolog/nprolog-3.36.ebuild b/dev-lang/nprolog/nprolog-3.88.ebuild index 10615c8f8dda..439e10d62cbb 100644 --- a/dev-lang/nprolog/nprolog-3.36.ebuild +++ b/dev-lang/nprolog/nprolog-3.88.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,20 +11,25 @@ HOMEPAGE="https://github.com/sasagawa888/nprolog/" if [[ "${PV}" == *9999* ]] ; then inherit git-r3 - EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git" + EGIT_REPO_URI="https://github.com/sasagawa888/${PN}" else - SRC_URI="https://github.com/sasagawa888/nprolog/archive/v${PV}.tar.gz - -> ${P}.tar.gz" + SRC_URI="https://github.com/sasagawa888/${PN}/archive/refs/tags/%EF%BD%96${PV}.tar.gz + -> ${P}.gh.tar.gz" + S="${WORKDIR}/${PN}--${PV}" - KEYWORDS="amd64 ~x86" + KEYWORDS="~amd64 ~x86" fi LICENSE="BSD-2" SLOT="0" +IUSE="doc" -PATCHES=( "${FILESDIR}/${PN}-3.22-ncursesw.patch" ) +PATCHES=( + "${FILESDIR}/nprolog-3.22-ncursesw.patch" + "${FILESDIR}/nprolog-3.88-makefile-CURSES_CFLAGS-edlog-rule.patch" +) -DOCS=( README{,-ja}.md document ) +DOCS=( README{,-ja}.md ) src_prepare() { if [[ -f edlog ]] ; then @@ -45,5 +50,11 @@ src_install() { insinto "/usr/share/${PN}" doins -r example library + if use doc ; then + DOCS+=( document ) + + docompress -x "/usr/share/doc/${PF}/document" + fi + einstalldocs } diff --git a/dev-lang/nprolog/nprolog-3.41.ebuild b/dev-lang/nprolog/nprolog-3.89.ebuild index 39a1d076726e..66c38c72e940 100644 --- a/dev-lang/nprolog/nprolog-3.41.ebuild +++ b/dev-lang/nprolog/nprolog-3.89.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -11,20 +11,24 @@ HOMEPAGE="https://github.com/sasagawa888/nprolog/" if [[ "${PV}" == *9999* ]] ; then inherit git-r3 - EGIT_REPO_URI="https://github.com/sasagawa888/${PN}.git" + EGIT_REPO_URI="https://github.com/sasagawa888/${PN}" else - SRC_URI="https://github.com/sasagawa888/nprolog/archive/v${PV}.tar.gz - -> ${P}.tar.gz" + SRC_URI="https://github.com/sasagawa888/${PN}/archive/refs/tags/%EF%BD%96${PV}.tar.gz + -> ${P}.gh.tar.gz" + S="${WORKDIR}/${PN}--${PV}" KEYWORDS="~amd64 ~x86" fi LICENSE="BSD-2" SLOT="0" +IUSE="doc" -PATCHES=( "${FILESDIR}/${PN}-3.22-ncursesw.patch" ) +PATCHES=( + "${FILESDIR}/nprolog-3.22-ncursesw.patch" +) -DOCS=( README{,-ja}.md document ) +DOCS=( README{,-ja}.md ) src_prepare() { if [[ -f edlog ]] ; then @@ -45,5 +49,11 @@ src_install() { insinto "/usr/share/${PN}" doins -r example library + if use doc ; then + DOCS+=( document ) + + docompress -x "/usr/share/doc/${PF}/document" + fi + einstalldocs } diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest index b72fd7c0f94a..5e700c78bf0f 100644 --- a/dev-lang/nqp/Manifest +++ b/dev-lang/nqp/Manifest @@ -2,5 +2,5 @@ DIST nqp-2024.10.tar.gz 9727368 BLAKE2B ac58b70e798a2e28952664bf75f75bab708bc960 DIST nqp-2024.12.tar.gz 9726946 BLAKE2B ea1ee9690451f3a18b9815a2515fe781ca73562fa8820994c1e21bd3f5fc7414f167f0dbdeed96de9c4d98b98fe0ae68b07cee7dfd2de467a8f69c4c8dfdd43c SHA512 a9e920abe7419714195d5938492327769cc4a97bc67a97dbfdc2b3aa726cb4abf4884a5a8a55f882b69114cbec344a6423e9e975c62d5bf4f50162acfeef6b96 EBUILD nqp-2024.10.ebuild 3276 BLAKE2B 7109bffdcf26bbd5840e40e740737ddcf3bd1ba9ea7f1c7301d348beb8dc5447a8b588eb275f707f6df61098e3e61aeb5edcc0bd5c4bec80fa2f201918603f18 SHA512 4011c1c504516784e1732c40fc08b3b6a1aecf1d42689f02c32398327f95df34bfb4688893a139a083ce0a126f8f430444d3e532a567beb239159e95ab9d5dcf EBUILD nqp-2024.12.ebuild 3276 BLAKE2B 7109bffdcf26bbd5840e40e740737ddcf3bd1ba9ea7f1c7301d348beb8dc5447a8b588eb275f707f6df61098e3e61aeb5edcc0bd5c4bec80fa2f201918603f18 SHA512 4011c1c504516784e1732c40fc08b3b6a1aecf1d42689f02c32398327f95df34bfb4688893a139a083ce0a126f8f430444d3e532a567beb239159e95ab9d5dcf -EBUILD nqp-9999.ebuild 3276 BLAKE2B 7109bffdcf26bbd5840e40e740737ddcf3bd1ba9ea7f1c7301d348beb8dc5447a8b588eb275f707f6df61098e3e61aeb5edcc0bd5c4bec80fa2f201918603f18 SHA512 4011c1c504516784e1732c40fc08b3b6a1aecf1d42689f02c32398327f95df34bfb4688893a139a083ce0a126f8f430444d3e532a567beb239159e95ab9d5dcf +EBUILD nqp-9999.ebuild 3294 BLAKE2B 49fe78da4f73c9028a0478d5452facb76dd07d46526f637982adcde5771819a68a02e3dfc91decd0e1d7368493a1856c43ec95ead3a558197e9a913e7d12fdb5 SHA512 a109aa4d8db79c8401053cee203da7c391b4350737895e997930744f8e4f1629bc4f9ca041eed3f6667a5ffadceb909bf85628bde604a5b92d8551cddf370610 MISC metadata.xml 517 BLAKE2B 384b3622592cc6d5fd94f2f34bcb69b00ce00bbea6b811e56d068a8882bcfb78fd3eae9f7b28173147b3235b942409f7b19d45044bf63bf9dea5b8b5f7110ca8 SHA512 bf89e6907f728f3e471a9a0fff41004cdd3cf50a92d8a1a262220bd590ae6a489f0b51d541bfefb15c4aae378621135a354ef48b768ea5b182e3fca6af6c3cb5 diff --git a/dev-lang/nqp/nqp-9999.ebuild b/dev-lang/nqp/nqp-9999.ebuild index a56f63b23cda..6d46ea3814be 100644 --- a/dev-lang/nqp/nqp-9999.ebuild +++ b/dev-lang/nqp/nqp-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -23,7 +23,7 @@ RESTRICT="!test? ( test )" REQUIRED_USE="|| ( java moar )" CDEPEND="java? ( - dev-java/asm:9 + >=dev-java/asm-9.7.1_p20241213:0 dev-java/jna:4 ) moar? ( ~dev-lang/moarvm-${PV}[clang=] )" diff --git a/dev-lang/orc/Manifest b/dev-lang/orc/Manifest index 307e84293689..21e48f5965f2 100644 --- a/dev-lang/orc/Manifest +++ b/dev-lang/orc/Manifest @@ -2,6 +2,6 @@ AUX orc-0.4.40-avx.patch 3280 BLAKE2B 875193f2368c6cf668be470359ff6eea09ca4b2144 DIST orc-0.4.38.tar.xz 227152 BLAKE2B f7babfec5f4d792fb52eb0ca23743b6c06a12625edcf0cecbf8e3cb88c13171a760c6874061a3e55a43df5389346b3c3d0ba3463d6e1ef32f685162f7478e631 SHA512 49f34be85f6980e4b5e94f848016f5788b658323f3a120110bc237722ac99938c02976efbe96022d148054330432899533305d4dd21be8fab76fd1995179339a DIST orc-0.4.40.tar.xz 233276 BLAKE2B 2f2be5b7eaf5ea8c2fc55ff3938b5a9e9ef25a1ff3c5de4c02f9847b2df9039c8f412b9d780a172e78838c22f5006544a8181d7aaa22c47be98e6f050c04435e SHA512 2cbc0b8b9f5f429e0c4b24b7b9a8bc5d249c013470d8a595fdb3969a68a90c95c3b1e79063851f2d0ca7f7888d33901f227d2e04f919df00caf37eca6270c0e3 EBUILD orc-0.4.38.ebuild 1114 BLAKE2B 1f74ad54afbd80418527e9db0ba3f92c188464ac733df92e748c263f45f37dc9e9093ac590a9ff7a86af5337333d5aa173b59ca23ab20b804324971d52d9e451 SHA512 a2a392126cd203248a393ae95653aa7f32cda77261a037322189cfb5db7f2b3ba470b8d592791588ecd4f23140313db8d8de181d2756fe4e1320692ecbf447d3 -EBUILD orc-0.4.40-r1.ebuild 1163 BLAKE2B 4f03262078954537ec917ae7001dfb96369ccf473d491a14739ea254347ed2ddb4e60f8f4d3a33ab2a854aadc78da91403a036a6d1f22f675f7ee1ab4d5d6ac4 SHA512 75e668e840dd9dc3b9c858af9369bfd1dd253a5f945e4360ad79034d1cca26997918582c806ab43a343d29967e98540af6274b269e8e54632158fda9e2625666 +EBUILD orc-0.4.40-r1.ebuild 1162 BLAKE2B c84c126dd0ec9ae59ac24a4d2b9890025b9f4833fec5674786f55ba5a62e6ade7b4f8ddd02556ec21ddf4acf2bdbb45748d92ab4b706a06bb849dadfa7a6dd1b SHA512 013e3842d12cce50828af6d7adefeebb084b9973f8fecf7845de03f773ea38aeda77bb1974371042a347bfaf80e7a99580d4fa0cf905e4c573a54cf1c65824bc EBUILD orc-0.4.40.ebuild 1120 BLAKE2B 2e116fcd9cf8311193229f3a3e79ee398f4d2b33746bfcaf0f06d709699fd3d6e98f0a44aa3a024851b59aeaceeb672c6378186d3ccb46cc2237800351c6c4f6 SHA512 4c98d9f60cbde772c563e73fcb76122d7e5e60dda195b1c80b7094dbb428de408ead6d7de48049fcfa797811a623c4256041db56eb811fc2593ff54c5b539f6b MISC metadata.xml 265 BLAKE2B 15de31a2337fe8b9175ffe3fd29cb1eb24148d7463f772b18a7fe8b38bd4edb05005df1ce6996cf23dad21db879c18b95d245fa9d096a002b95155c01088f516 SHA512 78a0c7a2a820f7032f384cf68d2affdd92d6f1466778f879909d0acfcc1cdc3bd64eee700ba06979f561583981033aae59b5d61eb4cfd01fc71fc13e4433305f diff --git a/dev-lang/orc/orc-0.4.40-r1.ebuild b/dev-lang/orc/orc-0.4.40-r1.ebuild index 2a32020e4637..669a5abca44d 100644 --- a/dev-lang/orc/orc-0.4.40-r1.ebuild +++ b/dev-lang/orc/orc-0.4.40-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz" LICENSE="BSD BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" RESTRICT="!test? ( test )" IUSE="gtk-doc static-libs test" diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index 60b7b7f7399a..8cbff0e4db76 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -5,7 +5,7 @@ DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac94 DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d DIST perl-5.40.1-RC1.tar.xz 13921272 BLAKE2B bc1a51c20754c73055b785d60927585bb7a1507176f06a34c3e7c089b788408ebb4d419c380174a207f2bd5fc1ad031d7eb6f722c5f8137c0e58245efe2c24cd SHA512 ea9f19658c9154c1d37b623a329b5417828bf6b1b1f449ba41d0a3b09f91246d9c39c425e35164a02f7eeac35968cd383e674579a888be465fe3be13497e9c86 DIST perl-cross-1.6.tar.gz 121973 BLAKE2B b3a17d92dd7621a3bc253a6c4e56eccd3adec2c2b52e606c956a08f48d786a16a3ac5beb056a732ba3df92227f210193b0f516fd9d73cac362a04ec52efab029 SHA512 980af804513ec126e40eb9d8200ca54ba805bbb13b38d20a45daaf8d98d6b257e2eebc1ecad56cd47f60e235fa1141f6df9518d748db4f18d5219180750ca615 -EBUILD perl-5.40.0-r1.ebuild 28240 BLAKE2B 6d68631ec442c9831e95283e93c268864ba566b4d825374a06bd35f5d3a1762f07521b0d431a15059c31cfa9d0554ba5aed15fc14bd6f0cbff9d1a4034a45658 SHA512 909e0ffb7e50387f8870e2a7175b4d08abae5bb67cb9e80c18ea2b0d92b8d8cd2ca71652161e3b33c3e858711924e7123e1986aee52498d563662bfc0ca95a00 +EBUILD perl-5.40.0-r1.ebuild 28232 BLAKE2B c5ba01068a88f3f2136cf0730fba57560d7da1e97eeaa2d950d518b1c52714bd9211a19c8c5b2cd8adb8072a2f6d77d8731a726713f83873dd84dbdd0a290775 SHA512 b5d6a327f688d0c96fb1110dfe0736ec7c1f7beb1ed850e99938b560394dfc108ebec7994750de7115c76a5dc3786217bbaeeae3c46afd38941ae8a50092682b EBUILD perl-5.40.0.ebuild 28190 BLAKE2B 69f185c504db14e70534e0ac5ee2bb03e632591219741d4502806143d2d8f5ebc80c7a5d5136e4f65c683ae880c2d270cd376991efbe57085e697f37da2d09c6 SHA512 59bdac5bf0391f117fe753be97e0e385bd74d1854e1ea0afd4f99796d92a693ad7bfa17e39c2043d5b8f67c851d8e88a573b3dab30dfad4770d5987d7fbd4b7c EBUILD perl-5.40.1_rc1.ebuild 28122 BLAKE2B c4bfae5ea84289916e0817ec2cd3a197f72c35da81f4060355f0d1ad7cc29cfe69f20dc7c577868a285d738dfa920ddb43bd3e2fb3620f74025d5dac968273d9 SHA512 7714116d9b5029ec06e33478f638c7349300041aa38460a0669f528dda4dc53a0221eb319a71fd1700c49cd2e8cb50d36d3b560e24e0e5616574f0aa8924adb1 MISC metadata.xml 435 BLAKE2B 9a9dfd2dc8274c402dde0c3be13053b28361603c4fd230d841b169843e397bd6e16537034495178dfd443246c1621b34d849455147e8556a12806d973293a855 SHA512 1cb3197cf3c6f3031bdbc95c2686fcd2585f6e457d0661ed986cf7fa91b4ca564f793c2f141bfe5b9b8c54d2b05dd200c3e32bf073061872e08bd7c501bedc83 diff --git a/dev-lang/perl/perl-5.40.0-r1.ebuild b/dev-lang/perl/perl-5.40.0-r1.ebuild index c5ab653cceb9..5cdfd028245b 100644 --- a/dev-lang/perl/perl-5.40.0-r1.ebuild +++ b/dev-lang/perl/perl-5.40.0-r1.ebuild @@ -55,7 +55,7 @@ LICENSE="|| ( Artistic GPL-1+ )" SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index f819cf0b95ef..af7c67ca30d2 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -15,9 +15,9 @@ AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372b DIST php-8.1.30.tar.xz 11850340 BLAKE2B 9053c57814f53ff694ea6cf1a87253e4f8f7c5af6965a85109eca143abd8dd6c733c7f70d1c6cdc34db8932dd7e9e8289cebce37eef385ea51dc0cd8a71267ef SHA512 cdca1c1671362272bf6c2abf45d097b42ca06c0abf962ee814bf478f8b346f274f42a1b1aa6603cdd59a1978a8b9d1971b589706f2909b6ea34594de0edaee1e DIST php-8.2.24.tar.xz 12110000 BLAKE2B 0f5c47350b8914f87cfbee932ea2e24d29635a0bdfed111b02e81d05574ff973f657d077858c20497bdc380285305d6c0f632eee1bbc9358f84004019108e368 SHA512 19016bfb955892a9999f01a619ab26035afe1cfb6488c7d1774d6745b703afb99e59032728ab811024413757e50163cdc32b0e95fda7e1d4243deb96568c7e79 DIST php-8.2.27.tar.xz 12150992 BLAKE2B 220b71c04db5654b16f46f831776741f653d77d4363ae1279e5f7eb745aa862087cd89f63740a6584fb4925bf5cb9f72a267cf85ea5e0828f35975a08a011861 SHA512 c368d90d833e25d2b2e3a667010f1c5b37df772e2200855d38e4bcb3344585e0783ae53fadae499fe98abab95372adf787ba2413e9b6bc818628bc29a11ed453 -DIST php-8.3.15.tar.xz 12525028 BLAKE2B 630045fd371ccf80f3c8849d52c61915459a03a5170b4ccea83881a0d3ccd31c67f157f78876c213f370983952fb91515d0bb456529a91726f20c918dcc78841 SHA512 43057cca0a6c2187f7991dfbf9743495784f0fa4d0336f08392036ecc2b6f83c7155737ebef3af6144a79eca557bf84cba4aedd34e0d19c701249ca4e8fa86d0 +DIST php-8.3.16.tar.xz 12544360 BLAKE2B 27b03081ce10e0c9f5d95dcf75db3c9e872131514021d8ad83df7f6d6abec2ad31ce6d24e2a5c6c8d7c9d6eaa065f9a07bd40cb6e0f1f83074caf087fa49a874 SHA512 2caa5c4e1b1b719a67dfefc976d47d289ba6f9b6a527181f2961fff481b258c2e038d6993df7507f4977c5fce59df38d9738cd4186a4602e39bbcbd5c1e2dbf4 EBUILD php-8.1.30.ebuild 22586 BLAKE2B a35ef5ea9b28ea0c0d40082aa7a9750158477f173c4eae88bb2ef4a44687a329c5152879e9759a02df8c6ad12cdb8e6762b0750cae3cd04102e3bc0acf0826ad SHA512 f383cca672b5a647e52d1def2537411f3e44d791fcafc62a665a2d1a9aed779d116f4d4b5323b7a510b03a9296677462e53277b34e48efeb86fb76f61bccc40c EBUILD php-8.2.24.ebuild 26595 BLAKE2B 62bff19d9e738b5e8da960d6fc8d41ff35723356017ef048e7a45d54e07b62a43dcd632837f3917654e5600097fe2c50d2247137c693bf20627773fc6054fb36 SHA512 3df0a5705098463bedd5362af4b4ec1c06797932c1c3ad666fd6be115c601409ec3cdec75342e7da520966a17e3a4db30f975a5dbc6ff2d762a0234e639720ff -EBUILD php-8.2.27.ebuild 26891 BLAKE2B 7e12101ca0f9eed8e8b17f16713efd515158e800d789d36c1d5d012fad3d5dddd88828a16666137296bbdc67634c9f8183d01824a33b19710a55b97c3ae5ed83 SHA512 94977ac96d3300b52e83065356dec2a96d959293c966b9ba1eb3d86fa73224c8fadb4d4eb0fc771454f0d66f8b5d8f5b1560aa69e7802c2e7045de180d73f818 -EBUILD php-8.3.15.ebuild 24876 BLAKE2B 70581464266ab1babcdee2e05fe1b2a305862f6dc2a0190a69b347920b50874adc30353597a28b6f01b974aae1441146008eb0f523314d789297eac6cdfee059 SHA512 17be2a2dd92c402bf7b57d4a32a5f98e5a607c0168c0782d39548766df2e244e3022ef07a4a60631afef4a879fcec7ff6a5fe9ea6fd4d153fe5b86c155187b16 +EBUILD php-8.2.27-r1.ebuild 26778 BLAKE2B 324b0334ee35dc68ec5022ae66248253ccc590cb7aa5aa665a3ae26a51339ac92541c36ba2ae0c9d99a616155f7eae521b610fd7cb60db6b26cb0d71d15f51c8 SHA512 9ac034e3e1863cf7605652332c9de0d3cc36a482b13327f34ea1ea3863753e193cbb490dc2ed7df68b3e31de848392a9965a738c510f06b07a996df4e2e59adf +EBUILD php-8.3.16.ebuild 24710 BLAKE2B 4feeebcfdcb010c096b7825bc838dda22eabda3fa7b75463418dc7ef2e39139bba0d583c519a1576bd1302311cca1d1722091d7b28e0be08743718d1553ce28e SHA512 69e06a5c49ec4abbdedaf10f918a859ec260a6557924e0e77cd65a69a5bbca53f8f7601dfdfdeaec038969d6e4d6b9af20b0970b9aba4d465c944e6e971fa458 MISC metadata.xml 4249 BLAKE2B 11f9270fbc0cae280ec3ec62c9e6acfc643f4c7952822537664e8bcdbdfed64805b0e83fcbfb83111123745fadf64b276b51e1e27c9b5eb38ef8ffc30965d12b SHA512 39c59d31de21a66ca55a4816bebd901c8f2b28b7d1340605845c535cc979bca4d8641280bf45782d5d3eb94820e054e7f52491a23a4d1cf692774e11becc55c1 diff --git a/dev-lang/php/php-8.2.27.ebuild b/dev-lang/php/php-8.2.27-r1.ebuild index a0a30a60f6a4..48520240c2fd 100644 --- a/dev-lang/php/php-8.2.27.ebuild +++ b/dev-lang/php/php-8.2.27-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -32,7 +32,7 @@ IUSE="${IUSE} IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar cdb cjk +ctype curl debug - enchant exif ffi +fileinfo +filter firebird + enchant exif ffi +fileinfo +filter +flatfile ftp gd gdbm gmp +iconv imap inifile intl iodbc ipv6 +jit kerberos ldap ldap-sasl libedit lmdb mhash mssql mysql mysqli nls @@ -65,7 +65,6 @@ REQUIRED_USE=" qdbm? ( !gdbm ) session-mm? ( session !threads ) mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) mssql? ( pdo ) test? ( cli ) " @@ -89,7 +88,6 @@ COMMON_DEPEND=" curl? ( >=net-misc/curl-7.29.0 ) enchant? ( app-text/enchant:2 ) ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) gmp? ( dev-libs/gmp:0= ) @@ -542,7 +540,6 @@ src_configure() { $(use_with mysql pdo-mysql "mysqlnd") $(use_with postgres pdo-pgsql) $(use_with sqlite pdo-sqlite) - $(use_with firebird pdo-firebird "${EPREFIX}/usr") $(use_with oci8-instant-client pdo-oci) ) fi diff --git a/dev-lang/php/php-8.3.15.ebuild b/dev-lang/php/php-8.3.16.ebuild index 25b030fbad28..afb477c73b90 100644 --- a/dev-lang/php/php-8.3.15.ebuild +++ b/dev-lang/php/php-8.3.16.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -31,7 +31,7 @@ IUSE="${IUSE} IUSE="${IUSE} acl apparmor argon2 avif bcmath berkdb bzip2 calendar capstone cdb +ctype curl debug - enchant exif ffi +fileinfo +filter firebird + enchant exif ffi +fileinfo +filter +flatfile ftp gd gdbm gmp +iconv imap inifile intl iodbc ipv6 +jit jpeg kerberos ldap ldap-sasl libedit lmdb mhash mssql mysql mysqli nls @@ -56,7 +56,6 @@ REQUIRED_USE=" qdbm? ( !gdbm ) session-mm? ( session !threads ) mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) mssql? ( pdo ) test? ( cli ) postgres? ( ${POSTGRES_REQ_USE} ) @@ -81,7 +80,6 @@ COMMON_DEPEND=" curl? ( net-misc/curl ) enchant? ( app-text/enchant:2 ) ffi? ( dev-libs/libffi:= ) - firebird? ( dev-db/firebird ) gd? ( >=media-libs/gd-2.3.3-r4[avif?,jpeg?,png?,truetype?,webp?,xpm?] ) @@ -232,6 +230,13 @@ src_prepare() { # rm ext/sockets/tests/bug63000.phpt || die + # fails in a network sandbox, + # fixed upstream but not yet included in the stable releases. + # + # https://github.com/php/php-src/pull/17314 + # + rm ext/standard/tests/http/gh16810.phpt || die + # Tests ignoring the "-n" flag we pass to run-tests.php, # # https://github.com/php/php-src/pull/11669 @@ -286,13 +291,6 @@ src_prepare() { ext/gd/tests/bug73272.phpt \ || die - # Test for https://github.com/php/php-src/issues/16390 relies - # on the inifile handler to be present, so we have to skip - # this test in case the inifile USE flag is _not_ set. - if ! use inifile ; then - rm ext/dba/tests/gh16390.phpt || die - fi - # One-off, somebody forgot to update a version constant rm ext/reflection/tests/ReflectionZendExtension.phpt || die @@ -498,7 +496,6 @@ src_configure() { $(use_with mysql pdo-mysql "mysqlnd") $(use_with postgres pdo-pgsql) $(use_with sqlite pdo-sqlite) - $(use_with firebird pdo-firebird "${EPREFIX}/usr") ) fi diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 39193ed2aee9..e56e072c1c05 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -14,6 +14,8 @@ DIST Python-3.13.1.tar.xz 22589692 BLAKE2B 161d5c0a7b4cacc4ce9983f9540a7e01662a7 DIST Python-3.13.1.tar.xz.asc 963 BLAKE2B 47cbfb6bceb92716181a0ed8f41742958568e62609fa4996d341e465bd6be0ebcab586ba1ebe275aa3a99108221be047fab66ec4b7e90af27d9db7524b6b4951 SHA512 1b56b7c2f547aa39c75c18978e174debb113444ce3f9da3829ba6842e3160051e0de70bd49d306b8014299aa8aa911d7c67efe71dd648c3528cf8d7535a01599 DIST Python-3.14.0a3.tar.xz 22749680 BLAKE2B 4a0457a98fe1a35c01a4607c11eefeb7ef4f4a3bc7bd8b04e129137c1f7f7ee8806fe5561e88dbf8866f461f2d7d3577618b7918fb85a0e99f7c225fd4593778 SHA512 e26c9736f00af680b5f1ff1ba0f06562c48550836088d79dd8b4c97016d52f9f76979de32fa8556e9d750a5dad488643e897807ab6cb0c1424882151fe5f3337 DIST Python-3.14.0a3.tar.xz.sigstore 4891 BLAKE2B c251bfc3e332174c5050c2d8524aea4865e28e73c39288ac151bea10e0039c3af545a26acc48b9ae8deed9befddb11e810103620be6a7934ea79e7b1f3182eb2 SHA512 dd7d6c543ba2ba8dc8d2a6c891adcf85de7eb857ceb3ffb33f5f06fbcf0a6bcd6517502cfd35acb86ec13d85d487313eb9a396d78c42d1c506d2261e1c4b861d +DIST Python-3.14.0a4.tar.xz 22798932 BLAKE2B 4dd8632503e142456deefa749aa8d7a93b98c988bdfe905ae650e8e72b2a22de9e88b6d7ba65ec277748b4c8b919a176ca22552e9482f4883b96bf9129dd15c2 SHA512 b70671ebbd9f777fdcb661405c538c733600470ac34992a5b3df99d2f5afecc22cd8325eeec50eeef043181e634da91e535c166b9b5ed421d4e6aa41b79da3ab +DIST Python-3.14.0a4.tar.xz.sigstore 4895 BLAKE2B 9a1c9ef623a0b8a7469d3fb56e0f73bf28947cb04ab797086962886d6e816e90c2df59e26af952e251c69e8e42c8888aa74bf866aebd7ff1a09526f3bd0d9472 SHA512 117dee2563607e4bc4190742d341f5b088e3feb205d59144b4a50bec1ec1c6df5f0118fbf88c8e78327f59d222ca7d98f31f1e5ff1d9488c0bbf01cd95df22ac DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed DIST Python-3.9.20.tar.xz 19648968 BLAKE2B 80a337ff406130599b8320068d11bc275d23473cedd7c85fcb9e40134f0f2d533be6e712139e788a6423cdc74cea938f306aa37c2a5099e3051f3e390159279c SHA512 c828f33edf1704e3149499d6d34e89264cb5cdb2b09ff05561641b359716d7996f0fe928629e09f006b1fd7850fdaf937275919c7fdd83f5efc32707c64d814b @@ -29,6 +31,7 @@ DIST python-gentoo-patches-3.13.0.tar.xz 8316 BLAKE2B 8fb8ba8f41f310140ad7066b61 DIST python-gentoo-patches-3.13.1.tar.xz 8320 BLAKE2B 2fef9c501df7ed7603eabb3e01a8c3bde5bcfae3a8ac9bbe772b458cb04ffa9598cf38f3a74f6dcbcda29e7bd294d664b8fb12f7ddd9e0e42ed6268300947bb0 SHA512 419e1f12daaf19ed2d2195699b5e8c2c604779562d84d6a68adb4016dcb13fc3e0383ccc4b01eb153930600e6c9cdcc518929ffce3d6343019226a6111e9d617 DIST python-gentoo-patches-3.13.1_p1.tar.xz 8672 BLAKE2B d35b8b47c6d549753d9a764fbc3538cb6517c809e69901f3221110ccbb0ea9eed10ba1f1637a5ffe4f90d8c3932f53815c7dcf844a7350ad89458763bf0aeea1 SHA512 0505bc1f7c8e264fdcad5459900e37d12ed9bea57e615ea42492fa211d3f0641e79c3e711a6970cd34a3a6275f36a22ed7ba64fd71c988bcdaebfcefc7b6a1d2 DIST python-gentoo-patches-3.14.0a3.tar.xz 6036 BLAKE2B bbcb3f31acb533b8291f4cedcb89c0501a7054bbf1f98ea000c43e5a99e3b8bd160c6fb81e28bad90c85dd0256d523f72b9e25f30c30b5b5e9d60a9055a612d1 SHA512 9f87b3f1f326f88c924c49e37f39f63314199cfc354d452fef860ab36e143145a2c1d832c1b7d4357ade1c1090de00086bc5d6a9d7981bad210a99ffcfa2a858 +DIST python-gentoo-patches-3.14.0a4.tar.xz 7452 BLAKE2B 5d3b0dc6f9c2f0ffeac50e4af1915a8d8ec29350c56203ec66d6580ae705a23316f4c85f28908000c50c58eb3400e63ff379ba26d219f48ca7f559633ba4c153 SHA512 0e571f6693e44f439c7ac499216f4cf70e487768116290c24ee66323c9113fc91d0b4b68c79d1d549d0a14fcee4f79ddc377dfd87932dfcf00c5c11d3784bedc DIST python-gentoo-patches-3.8.20_p6.tar.xz 50876 BLAKE2B df0df21c75972fb73e36f66f0c90d3f953b14d7a59bf97ce4214dce6e6d937ed52fbf3db8f3eaf42cde141bfe4d7a731b06e41723285517461c790912706be9e SHA512 48ef567f6972e7975cb61d34a876d8c0db42f1a3c0b832f9366091dd5f2ca854c02887808843d314816c8cf6d7b0738c40e7835fedbba7b84e57f2515dde45e2 DIST python-gentoo-patches-3.9.20_p2.tar.xz 36140 BLAKE2B af0a9e08f3bfd8eb631760d100ec8f54db968a6bd201820192c4ea63ec88e0f83ffe77c709fcf4da43ad8d44eeb239ca1984561c3e7846e3fe4edd757d2321a4 SHA512 d451b41401de631eed996c34f40f2146d4d2f11bfa04fffa762c9b654e690d0ef95be0f51224a964a7c33784bb9b21e58434f6fee17cf39c20b5af34200569d5 DIST python-gentoo-patches-3.9.21_p1.tar.xz 35404 BLAKE2B 7b5ac27e814b06791fa5f0566763711c1b65a7c82ba66f97e237eebc6076f0bfdad3d8269ece6c4d4c238b62cc75b01f68ea3a5d7c4fffc46e88f79b2ba3e7fc SHA512 92c8548b31100a921378c72cc94a81062c96fd795fa2cd001c57a71e4af39e91b21b99e9e84db12adb142d9c4bda809445519c5c8a35545bd10230926bd7eded @@ -36,15 +39,17 @@ EBUILD python-2.7.18_p16-r2.ebuild 8597 BLAKE2B c472b0b3c49d4f848d910ac9d1d5fcff EBUILD python-3.10.16_p1.ebuild 15531 BLAKE2B cec70438eef3917846e6d26035f33bf2a0e90515a916c4283c286744deaea86f26b33e0fe96f9fba34552bd5917750abac8ec9726cb12937140291cfab689c9f SHA512 edf67f6b68442b860d209a2216b5c72151c242972329bd62463ef9e29d172f64a7bd4d8eb708f8b6830eaaed35336ddda5343c1f30dc3199abe859d97ba4c948 EBUILD python-3.11.11_p1.ebuild 16752 BLAKE2B aa28431e87c648e6bf7951c8b20c240f10f8e069fedbb41e8e6600c97d0cad0364df79dfcb60d0c8c057eb946d59b37b98aba52c0874455310e2fa7e440526d4 SHA512 1ca31c3e5965e94224e3784531d9d2adda1b93558bb2693b9a9ca82ba5a8e51f9d132ffe7fd43ab413699ae67d0043dae5b14e0ca621cbac34e19b014efd730c EBUILD python-3.12.8.ebuild 15671 BLAKE2B 7b4dbd1c4b60b57c12ca33c2523230a3d52f9d5ec6ef56b922e34c369476d07f31fc9aa93b6b3346c092dfefa6631c86d2f498c4f69fc88cc1e4b42dc0698435 SHA512 c53dabbaf74fe6e19525865b42b43b4754171df43c6295183debf108ee43365fd409b302ec6febc90c10e7ef3b42564d11084df746cf37824f437d1ed3e58311 -EBUILD python-3.12.8_p1.ebuild 15679 BLAKE2B df15f2df5a0321a0a1e74c345c9f9f56a504b86b9d78b34e1a5856bfb3ff3203a13eb22a03de61edff3a5df414eb1d819fd7c64f94c83b7c3d1d18430318d6ee SHA512 e16a63c1c0aa36ed203eb6282d6cdb3e13a03b14c55b9d5979fe34a74871d202da664188216b8b780ee67a6ffbf56ade7dcb1b3c859bec32af4354d16d270376 +EBUILD python-3.12.8_p1.ebuild 15673 BLAKE2B 8ac7372319b2614cf7f0e2601888ffce877f5b260f0b6de1f99556d1b531e2af6c3f36d709a6aad504a8d2b6e7b89163e0542d10de4838ea72886f2286899fb6 SHA512 4e1eaa2cb32f3c894a460fafdd16549eb0d0512c8bbd3ce6ce0276b00559de4423d4f4906bc1982876b5a3500d088ca780e5c2c4bbfc9a48960d432341217b83 EBUILD python-3.13.0-r100.ebuild 17198 BLAKE2B 004432880b1266a0589a3b7cada82990caec9e388141b9718e097619348a714131017e56065b425240edb842bd00c52a54e5dbdfa38b99657c5a0c73cff7e496 SHA512 29349d96ba87061dcf7b3ea4dcfbc2975b3d0897b757bc7b895aa8c9f142419cc91a0228279410e8caa87b63aeb5586190a675534a1996f9750898ce6710842c EBUILD python-3.13.0.ebuild 17468 BLAKE2B 874a2332e61e19ae632a7de535f75bec6e3cf5fe07634b41b6e620f5c5169477eaa0e67e416e6d9069ae6fb86b42f4cee2cea12213fe77668ca603678e69fd64 SHA512 9f5e9d435e87eacccb606aac25cad16d7ce42729a1c64ec051004404d36e2e7b476cd6b32fe9bfe36ed8773604a1ddb789de98d55e827e0de8bbffc09a37a878 EBUILD python-3.13.1-r100.ebuild 17206 BLAKE2B a4d06ff1df9e2975567a8a6c77ee0019eebcb91a7f0e7bd534b369d76108774a3b6378995a89f1e1db62ed2aa4c69fab700c4f1c2a9f2cbd8907a44f14061888 SHA512 2bff314880c19039ed6b6791a967bf381297274675e15572f6ee679012bfa822f0cb2f47879c94b51c901b6514f1838186d7d319881bdf63b6f1c66b10dd1d6d EBUILD python-3.13.1.ebuild 16858 BLAKE2B 4115d1b60d90714c06d485d5d15c6f29448158a2a51221e503521175a288cfb30cc249ce2505077bb673826e16904a93cbd970fa19e72d8e255632982fe62262 SHA512 09e752176200b14d2aa03d98f42f1a1b4c1566bd672ecdddd032dc778249328c7b41f2c02e32addbaeaae4c639a4366fd106f81c91805b4216afce3e5abae876 EBUILD python-3.13.1_p1-r100.ebuild 16678 BLAKE2B f70e5c4541719979f5588c97e9b19b5be0f2566783fdfdac558820bd94dcc5f34ec15485db5836587f28dd93c09af046aad91ff1be2855ebde82e518a1e337fe SHA512 e73f5893d2fef16bd668124f918c50ef58ad50307182800598824f782a95928788aa57e18db9f550427c5e8bb958024151cc7bf4c18556d84c8359241b7304c2 -EBUILD python-3.13.1_p1.ebuild 16369 BLAKE2B 62401f674d60de0d77c77344342d4a857541d3bfa78c776ead9bc3e127ef7f9b3c1090bb0c060f7cbde1280b4292dbfce055ae9b2b52bae19cd2eeeb746a6a18 SHA512 ab50773a2b103c4d1fa7867395768bc5b90cdccb931d4d65927ae7fc8e48cdb9a64de9a78f89f23154c54b697eae659e3627b04025fda130c8c2ba37de33eb03 +EBUILD python-3.13.1_p1.ebuild 16363 BLAKE2B 0d4182c46655d36e6b20a05c4976d3c6044a12e8ef07c9299dc72c9be18e4265b01a06f7b3c3b324c278b5df7611a2139f3804d826370f632c867f8db76f33fb SHA512 edc5ddd1c4c2c6fdc5c64d87b2c10b5c40fbbce32101250753d53a9c25b2d55e911b51b79ecd67aec8a3a9dc14e244615708a3714e0e1e4b0b19849739ff5cd7 EBUILD python-3.14.0_alpha3-r100.ebuild 16695 BLAKE2B 2be26e8dd417df40d72e1361709a16d48add9e5262b09bd04191867f2b0f75b8e71fc8dee98b7f7976e925e54cd18e10e478f6ea06fa34164ce0f1f499738f1b SHA512 dfa892d823a07a7b9356b50a40c066e310ecd8a5e9cc674423a09e390a9115244a46af53df57667b3752103a9ac5bc0e0b9f7a57cec22875499f1edf14895d31 EBUILD python-3.14.0_alpha3.ebuild 16388 BLAKE2B 7cb2e9c39471f0ccfb2c436c4327469cb6e709f55d38016276876d318042afe59d7df2dea8e829fc21017a87bbd1fa1e3dcad33eb39fb673761d8b9a364f101a SHA512 cc12477ef0388b47441b06f76fc4fc35258753f121735a2ee1648740c9894025b0e426d5bebf922dec17f8c9c10569ee0c62b538cd31b924bdb21ecf4a25b933 +EBUILD python-3.14.0_alpha4-r100.ebuild 16695 BLAKE2B 2be26e8dd417df40d72e1361709a16d48add9e5262b09bd04191867f2b0f75b8e71fc8dee98b7f7976e925e54cd18e10e478f6ea06fa34164ce0f1f499738f1b SHA512 dfa892d823a07a7b9356b50a40c066e310ecd8a5e9cc674423a09e390a9115244a46af53df57667b3752103a9ac5bc0e0b9f7a57cec22875499f1edf14895d31 +EBUILD python-3.14.0_alpha4.ebuild 16388 BLAKE2B 7cb2e9c39471f0ccfb2c436c4327469cb6e709f55d38016276876d318042afe59d7df2dea8e829fc21017a87bbd1fa1e3dcad33eb39fb673761d8b9a364f101a SHA512 cc12477ef0388b47441b06f76fc4fc35258753f121735a2ee1648740c9894025b0e426d5bebf922dec17f8c9c10569ee0c62b538cd31b924bdb21ecf4a25b933 EBUILD python-3.8.20_p6.ebuild 13329 BLAKE2B 632fc0c922e18895efadeb33b8963a087f1951bb329c03f3d802fbda81ccf1b7c1e22f03c516d07819d1df66e8e1d7de0a8300ec308c8a56042b51dd86a51d01 SHA512 77e07e26f674bb245cc2d2c519c7a1b9e72a6eadcb4ea0631062189a3bf50e78a160a87d108b6867db9b9c3fdab22e85a290d73059a6859f052d83c7dda20014 EBUILD python-3.9.20_p2.ebuild 15374 BLAKE2B e9920e3c6c3bbfc7c5c07651f5ca16522f8efe926691f818e8126734206b6bd5d8960a769c1cc541505739aeffdce861c6ca176146401fa7c7d02516a56962c7 SHA512 9540922e418d1a820f97e323e98077e6fe584825940144aadae1c30de8f6d27de28d902fd14bcf98a77aa484719864fe2d25283ba7837a43331410401a239d85 EBUILD python-3.9.21_p1.ebuild 15383 BLAKE2B f2ae1145ea27de73568c6d83d6cace1ce8aef9d7f96cb48976491b509f36af6253b6808040e02b32beba212d6cf23742b7e082e8efed48d44eac582c7cc20d2d SHA512 422a48d652925d60387990fea0b8863c6d9a1cfafa20412cd50498fe09cd9ca70ee4b7340b11cc41cea1defd3f65227a7f1303a987bf9fad91aafae89dcd337d diff --git a/dev-lang/python/python-3.12.8_p1.ebuild b/dev-lang/python/python-3.12.8_p1.ebuild index 34d02eeb6167..67bd154d442b 100644 --- a/dev-lang/python/python-3.12.8_p1.ebuild +++ b/dev-lang/python/python-3.12.8_p1.ebuild @@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/dev-lang/python/python-3.13.1_p1.ebuild b/dev-lang/python/python-3.13.1_p1.ebuild index 39406d1356ba..77efc9e367d4 100644 --- a/dev-lang/python/python-3.13.1_p1.ebuild +++ b/dev-lang/python/python-3.13.1_p1.ebuild @@ -32,7 +32,7 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" bluetooth build debug +ensurepip examples gdbm jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind diff --git a/dev-lang/python/python-3.14.0_alpha4-r100.ebuild b/dev-lang/python/python-3.14.0_alpha4-r100.ebuild new file mode 100644 index 000000000000..2abe01749d3a --- /dev/null +++ b/dev-lang/python/python-3.14.0_alpha4-r100.ebuild @@ -0,0 +1,635 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER="$(ver_cut 1-2)t" +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + ewarn "Freethreading build is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python. Instead," + ewarn "please consider reporting freethreading problems upstream." +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --disable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + # Fix collision with GIL-enabled build. + rm "${ED}/usr/bin/python${PYVER%t}" || die + mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die + mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if use tk; then + # rename to avoid collision with dev-lang/python + mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die + else + rm -r "${ED}/usr/bin/idle${PYVER%t}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.14.0_alpha4.ebuild b/dev-lang/python/python-3.14.0_alpha4.ebuild new file mode 100644 index 000000000000..f4da576cf95f --- /dev/null +++ b/dev-lang/python/python-3.14.0_alpha4.ebuild @@ -0,0 +1,630 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 19 ) +LLVM_OPTIONAL=1 +VERIFY_SIG_METHOD=sigstore +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic linux-info llvm-r1 +inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs +inherit verify-sig + +MY_PV=${PV/_alpha/a} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT} + llvm-core/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +# https://www.python.org/downloads/metadata/sigstore/ +VERIFY_SIG_CERT_IDENTITY=hugo@python.org +VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER%t} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +declare -rgA PYTHON_KERNEL_CHECKS=( + ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 + ["DNOTIFY"]="test_fcntl" # bug 938662 +) + +pkg_pretend() { + if use pgo || use test; then + check-reqs_pkg_pretend + fi + + if use jit; then + ewarn "USE=jit is considered experimental upstream. Using it" + ewarn "could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead," + ewarn "please consider reporting JIT problems upstream." + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]]; then + use jit && llvm-r1_pkg_setup + if use test || use pgo; then + check-reqs_pkg_setup + + local CONFIG_CHECK + for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do + CONFIG_CHECK+="~${f} " + done + linux-info_pkg_setup + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # this is actually test_gdb.test_pretty_print + -x test_pretty_print + # https://bugs.gentoo.org/933840 + -x test_perf_profiler + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + hppa*) + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_gdb + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + -x test_multiprocessing_spawn + + -x test_ctypes + -x test_gdb + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # Kernel-config specific skips + for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do + if ! linux_config_exists || ! linux_chkconfig_present "${option}" + then + COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" ) + fi + done + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + # PGO sometimes fails randomly + local -x PROFILE_TASK="${profile_task_flags[*]} || true" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + --enable-gil + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + # Gentoo hack to disable accessing system site-packages + export GENTOO_CPYTHON_BUILD=1 + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + local -x TMPDIR=/var/tmp + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 59622dcf3565..10b651738105 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -37,14 +37,18 @@ EBUILD ruby-3.1.4-r3.ebuild 8517 BLAKE2B d5d65a391f344b5bafbab680e9104ed214249c9 EBUILD ruby-3.1.5.ebuild 8842 BLAKE2B 31e5da6ecdb45602037d5a1bce209844060271528b39139a3f8c9421c3ffea747fb6602702ee989a12ff08f999586841b24d6e7f05e0fdd2b6ecb5860c866b2b SHA512 3b5deeb36ea66a58907a89c637f8f3a0354ea861a4bab159f211cedef3a48cf3b6f5609d441c9516ea81ab4f032111370ff3da37395f30ca28428aeb0286fffc EBUILD ruby-3.1.6-r1.ebuild 8913 BLAKE2B 8286499d12dbc8d3936d75235b93d153b16e8a03b92a32277ce430417e1d95fadb2d92e969e6ec3c0b183fd1eb68feecf917897f6af8d784ff426674b3ef0ff9 SHA512 702dee12eab7ac6f6cb990903fbe3a517e1fedecef74b8ec57893c567eeae454d516ee787360291305c00bea1853ec96824420eb005afeb086f489a4d3f8feaa EBUILD ruby-3.1.6-r2.ebuild 9094 BLAKE2B 9546b202b1a0714b3f20c22736eb6fb9d39b298950a4e2121a6c2950508e01ddbbf5fd8198e5ae2d4bfbb77327bbc9c5e3a241eacc363f7e14d0874bc6c9b208 SHA512 cb315b25f3cbc1f322bd5bd0018466a05575aac7c097a0aff90d0cab14d0ad11e613436ecead1fd2d4379ee0ba10b0a0d1edf4be63debf4676574098e96ffb3b +EBUILD ruby-3.1.6-r3.ebuild 9210 BLAKE2B 1b25f201f7fa919a4794a6403ba10482db6ba99d35c68bab32a639608e38c4442dec7334775ea4fbd3fdb84fe41c4479fbedd15938e33ea1cc0a55d0a4fe01e9 SHA512 706be9348a076548cd216c6607c9896ef3ed916e32520bee467d52d3224fcf1b49351a9d88b084bda52227036b3b639990dd9b9ef61b8846f835d11bef872b1b EBUILD ruby-3.2.4-r2.ebuild 9788 BLAKE2B 073e9cbcef0904b9a0b02036da3b9df8f98b9033d759116939e47625f14ee8ef27da0c9f4122a596eaded97114a168750a5a2c7ae72b27612852e9fe31879ea2 SHA512 0c5bb6a2072b22c654c1274752dce31541c81fddd7bdc5674e0e05271c69891540310d2d2ddfcb8fc64fbba6b712e9d5f932fc8e1cf4793555e4f41cc6e5ee61 EBUILD ruby-3.2.4-r3.ebuild 9938 BLAKE2B 415b6ecd80cc7a1714bafba54bed731a454bbdb03ceeb1fff73f52989282e1a56eb826cdc069019889cc4056ceebc20d40951279d1feb20b00088ee9f4dc21b3 SHA512 7402f3660abdf40c2b2329421ec959ba3da50f9a495a7de524e2d8412d20a866dfe82694cf46d19be41e74e60c52ebe754b355ccf79b1fd618f4195038a593cf EBUILD ruby-3.2.5-r2.ebuild 9353 BLAKE2B 6f4b528a55d584feb489bd24bc425666900e79f5777807cc915a9cebe47533bc729c9834867e73c433cab379967d052d3ad02822694e1af01ad3cdb8317b622c SHA512 106b9dd2b11ea6759e98379190242aa721027ba0cbae77c4eb5e9f6abd609a8e85671d7b46203fdb6c6517183f4630f6f6ca7ae31772a0990aaa063117d0b1fe EBUILD ruby-3.2.6-r2.ebuild 9359 BLAKE2B 6b5a6f999bee0c942be5fcaaa374c18b1439f525ae456842eaae249cb77f9a5cd5041b3388d49be9dc21f887363e4f98cb9d05a5113e66e5ac0ecc37d8eb5835 SHA512 bec99bddb97c6bb8e475ce16d98b322cac79e0232c5d642cbe71c8d57b784a2d8b902d6af976a0628390187060ad36f580dae6e4d6f12e188f5a7f01d610e645 EBUILD ruby-3.2.6-r3.ebuild 9402 BLAKE2B 1b3abb683a2012d32908bb0b9b65ea5eea3af0de710ad8f52e10d4aae903aa1f6008da21990faeb666b11baa5e7ee0cd1b907a3c4c92d7a01f4f72fe1bc7b3b4 SHA512 9cebd301ab2f29ef7ee0cec101fb1031767224a06465237099f68f01f8baa18a3f21dca97309b069e1f91c94f4c93ebc806f67d6667f4fe17363a1b42b77039b +EBUILD ruby-3.2.6-r4.ebuild 9518 BLAKE2B f1835631f045120e282ec2a77de5c432cb6d3f2cbe5be1713067c85b5275f2ea15709284418ec7b25164fc617f0e9cdc57845600c37cf787f546b403d6456bc6 SHA512 77057b210a90e99e0c81c0d07d61c34601e9c08ce75a9c6e6e58acfd19f0e8addbf8a56c61cd978511a3b14c20199bd3650ab73d13a7feec534f7d74adabc159 EBUILD ruby-3.3.4-r2.ebuild 9342 BLAKE2B 1fb9189635dda8aeec17105c784b4fa5b4158853c2d4a51a02f640067b9d6b5ed9e268a99df931f197bb877c6c38b5eea7975775235d3b19909a74ab36339844 SHA512 019a14c2ba878385d12ef1fcfa00c4dcb09c504c5d36817822989b883eb76eca17558cd78548c3777b740346c0db570c1b8c1cc77c593d557685ff1f60fbf19a EBUILD ruby-3.3.5-r1.ebuild 9342 BLAKE2B 1fb9189635dda8aeec17105c784b4fa5b4158853c2d4a51a02f640067b9d6b5ed9e268a99df931f197bb877c6c38b5eea7975775235d3b19909a74ab36339844 SHA512 019a14c2ba878385d12ef1fcfa00c4dcb09c504c5d36817822989b883eb76eca17558cd78548c3777b740346c0db570c1b8c1cc77c593d557685ff1f60fbf19a EBUILD ruby-3.3.6-r1.ebuild 9538 BLAKE2B 3033453c764967229bc140d0851881a471c6fb02a8366657787b4b9cb139777443ca9fd50392ffca90b3ff1b91f51ba526bd1a58d4fcd2b471c297fe201ea252 SHA512 d979cd2df7949b4fe22bb5ca28c9a39e6256df024dab2c906d9abb1dec7e843b2c0150d875b27ac07936239a9583cb0b8429105a3436be8f4858a6fecd6789cd +EBUILD ruby-3.3.7-r1.ebuild 9661 BLAKE2B 2305b59565f7cd0d0e67e1a284c44eb23904f36de489e135651d9bc377ab6da60d2b3b00ba9d74fbdaf913fa19528cd12c4d78d673aad2fd9d3f1666053fb6e8 SHA512 1162ed37339f0ccb0883da63cc569a7754f5af801f9661ebe0f15f24541cbc0f904306380dc4f4d1c93b74989b16b94850d13f7277632e2a2c604c46f5aaa789 EBUILD ruby-3.3.7.ebuild 9545 BLAKE2B 5b39ee480f314d821f2de3af5992db6a9b313f396804d9d9af26602cd135cd731a0a3536ff37c0e500e80eba32ef7659826c88584b683a27cb5b8f127260e132 SHA512 eec3947cbce0bf57c2aa140c2a19c1a13c68e0befe872321c00fbe9e32665da059a23f3c6db4e48b6ac68cd62a143ab1220feec3d7729c0fa4835b50e22b8680 +EBUILD ruby-3.4.1-r1.ebuild 10351 BLAKE2B 4210db7fecb64e268ca407b623e83260e280be15d1be7ac0c0bcb42e265fc9cb03c5971609ce74ab4f133bb4a8475fb4a65dd8ce56b699df9ebf02aea9614efb SHA512 98e763e3ad4c44e57764412015e0e97c02b9fb64ac4270985a29b1242e3d57f3e48dd15791b4ab1b38fadae07df6cbb0085b49c78a6d8d890de027e20cef58d2 EBUILD ruby-3.4.1.ebuild 10235 BLAKE2B 29946e6df5b2a6b7f981399d0c49e81fc212cd19a67c2ea59b355c4a52a016ab3e2a244592ad5766e8846407f925e62a23124aedef53e5c01ec66116a760736d SHA512 191b74008848bb2b46e008448d093b92ce1a0b98d2bab8b4eba7856b7f5f226806f2c20a022b6dea9b7bd76928fb1f39ff7171141605aa276e69b2bfc2d7bbde MISC metadata.xml 504 BLAKE2B 49be2bb1dba034b23a8294cca0e5419099b487973a43db31c0edc4b9a2a08eb1b54437b0c7e6a9e6d8a5c0145cd73464f830ec04ca62540416c32b2d094cdd63 SHA512 e9991c588874e36f6a0abb12125bcd3f2b1e787df62d9f7089053959286b56676a9f35c7e82116274f169bfa22359be8df59fca6454be559e7669d2e78dc4c22 diff --git a/dev-lang/ruby/ruby-3.1.6-r3.ebuild b/dev-lang/ruby/ruby-3.1.6-r3.ebuild new file mode 100644 index 000000000000..0071dfc446b3 --- /dev/null +++ b/dev-lang/ruby/ruby-3.1.6-r3.ebuild @@ -0,0 +1,289 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multiprocessing + +MY_P="${PN}-$(ver_cut 1-3)" +S=${WORKDIR}/${MY_P} + +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( || ( sys-devel/gcc:* llvm-core/clang:* ) ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/irb-1.4.1[ruby_targets_ruby31(-)] + >=dev-ruby/minitest-5.15.0[ruby_targets_ruby31(-)] + >=dev-ruby/power_assert-2.0.1[ruby_targets_ruby31(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby31(-)] + >=dev-ruby/rbs-2.1.0[ruby_targets_ruby31(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby31(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby31(-)] + >=dev-ruby/test-unit-3.5.3[ruby_targets_ruby31(-)] + >=dev-ruby/typeprof-0.12.2[ruby_targets_ruby31(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby31(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby31(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby31(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby31(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/012*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/3.1/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + einfo "Removing bundled libraries..." + rm -fr ext/fiddle/libffi-3.2.1 || die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb test/resolv/test_addr.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + sed -i -e '/def test_test/askip "Depends on system setup"' test/ruby/test_file_exhaustive.rb || die + + # MJIT is broken and removed in later ruby versions. + rm -f test/ruby/test_jit.rb || die + + # This test calls out to the system ruby which is not being tested + # and may not be the same version. + sed -e '/test_without_tty/aomit "Calls system ruby"' \ + -i test/readline/test_readline.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + append-flags -fno-omit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Ruby 3.1 does not compile against the gnu23 standard, bug + # #943767. Given that Ruby 3.1 is EOL in March 2025 just opt to use + # the older standard. + append-flags -std=gnu17 + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + # + # --with-setjmp-type=setjmp for bug #949016 + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --with-setjmp-type=setjmp \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support ) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + $(use_with valgrind) \ + ${myconf} \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md doc/NEWS* README* +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.6-r4.ebuild b/dev-lang/ruby/ruby-3.2.6-r4.ebuild new file mode 100644 index 000000000000..d08d1ea44138 --- /dev/null +++ b/dev-lang/ruby/ruby-3.2.6-r4.ebuild @@ -0,0 +1,295 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +inherit autotools flag-o-matic multiprocessing rust + +MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.1[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4.1[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.3.9[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.3.1[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/014*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + append-flags -fno-omit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + # + # --with-setjmp-type=setjmp for bug #949016 + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --with-setjmp-type=setjmp \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.3.7-r1.ebuild b/dev-lang/ruby/ruby-3.3.7-r1.ebuild new file mode 100644 index 000000000000..7c460afeeb23 --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.7-r1.ebuild @@ -0,0 +1,302 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +inherit autotools flag-o-matic multiprocessing rust + +MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.2[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.4[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0.1[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.3.9[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.1[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.2[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + # Avoid test fragile for git command output not matching on whitespace + sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ + -i test/rubygems/test_gem_source_git.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + append-flags -fno-omit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + # + # --with-setjmp-type=setjmp for bug #949016 + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --with-setjmp-type=setjmp \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.4.1-r1.ebuild b/dev-lang/ruby/ruby-3.4.1-r1.ebuild new file mode 100644 index 000000000000..3f9f07ce7cb7 --- /dev/null +++ b/dev-lang/ruby/ruby-3.4.1-r1.ebuild @@ -0,0 +1,316 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +inherit autotools flag-o-matic multiprocessing rust + +MY_P="${PN}-$(ver_cut 1-3)" + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/$(ver_cut 1-2)/${MY_P}.tar.xz" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( Ruby-BSD BSD-2 )" +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20241225 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/minitest-5.25.4[ruby_targets_ruby34(-)] + >=dev-ruby/power_assert-2.0.5[ruby_targets_ruby34(-)] + >=dev-ruby/rake-13.2.1[ruby_targets_ruby34(-)] + >=dev-ruby/test-unit-3.6.7[ruby_targets_ruby34(-)] + >=dev-ruby/rexml-3.4.0[ruby_targets_ruby34(-)] + >=dev-ruby/rss-0.3.1[ruby_targets_ruby34(-)] + >=dev-ruby/net-ftp-0.3.8[ruby_targets_ruby34(-)] + >=dev-ruby/net-imap-0.5.4[ruby_targets_ruby34(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby34(-)] + >=dev-ruby/net-smtp-0.5.0[ruby_targets_ruby34(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby34(-)] + >=dev-ruby/prime-0.1.3[ruby_targets_ruby34(-)] + >=dev-ruby/rbs-3.8.0[ruby_targets_ruby34(-)] + >=dev-ruby/typeprof-0.30.1[ruby_targets_ruby34(-)] + >=dev-ruby/debug-1.10.0[ruby_targets_ruby34(-)] + >=dev-ruby/racc-1.8.1[ruby_targets_ruby34(-)] + + >=dev-ruby/mutex_m-0.3.0[ruby_targets_ruby34(-)] + >=dev-ruby/getoptlong-0.2.1[ruby_targets_ruby34(-)] + >=dev-ruby/base64-0.2.0[ruby_targets_ruby34(-)] + >=dev-ruby/bigdecimal-3.1.8[ruby_targets_ruby34(-)] + >=dev-ruby/observer-0.1.2[ruby_targets_ruby34(-)] + >=dev-ruby/abbrev-0.1.2[ruby_targets_ruby34(-)] + >=dev-ruby/resolv-replace-0.1.1[ruby_targets_ruby34(-)] + >=dev-ruby/rinda-0.2.0[ruby_targets_ruby34(-)] + >=dev-ruby/drb-2.2.1[ruby_targets_ruby34(-)] + >=dev-ruby/nkf-0.2.0[ruby_targets_ruby34(-)] + >=dev-ruby/syslog-0.2.0[ruby_targets_ruby34(-)] + >=dev-ruby/csv-3.3.2[ruby_targets_ruby34(-)] + >=dev-ruby/repl_type_completor-0.1.9[ruby_targets_ruby34(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby34(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby34(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby34(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby34(-)] + >=dev-ruby/json-2.7.2[ruby_targets_ruby34(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby34(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb \ + spec/ruby/library/socket/socket/connect_spec.rb || die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid tests using the system ruby + sed -i -e '/test_\(dumb_terminal\|tty_amibuous_width\)/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^check/ s/\(test-syntax-suggest\|\$(PREPARE_SYNTAX_SUGGEST)\)//g' \ + -i common.mk || die + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + # Avoid test fragile for git command output not matching on whitespace + sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ + -i test/rubygems/test_gem_source_git.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + append-flags -fno-omit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + # + # --with-setjmp-type=setjmp for bug #949016 + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --with-setjmp-type=setjmp \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 4fd922f29ff5..6fd4f3283398 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -1,37 +1,3 @@ -DIST rust-1.54.0-aarch64-unknown-linux-gnu.tar.xz 231424908 BLAKE2B 6c403acd4b6b27208f95eb3fbfee5c8e7a63f3314f29ea7498dc0a4ae720d77c249c9ebc02a95d50278ac7f07b8d943b1c9c5e1561858f72ad1d8cdb29b779cc SHA512 3e6f638a35ed391f5393be7c92ef2560ed6bb26af1ea6ebf784bfadd3e153d1effd88fe49128eb98f5ec2ced7a65f3f4a596db71b9c4eca90429e50a8f168d11 -DIST rust-1.54.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f655d6f53a580041642871abd10993b771835770bebb6de1ff1dcc9b250ae52f862212feece533a9932c6efb0c3d02769cbbb03114d941c7e8d3117e1e23ce75 SHA512 d9508ae502e26694f83c04bbea3f95aeeee7990e703c8bb8be9ba098e0df86a39272022e1a94f8852ed23b8378ecb338dbd87ef226da444e29ccf7fb1f44e5f6 -DIST rust-1.54.0-aarch64-unknown-linux-musl.tar.xz 231629132 BLAKE2B 339e341eadd2cb0c763eb00b5a6750a1082da26bcae1b3c06459c99c64b4babf4aec5173222187eed7271e3c5847da47b49e6ab75674161b6e28297bb62ec781 SHA512 f0e20c079e4351fac5e8d635a37502e833a56fd216fd015117fb12be8b72e022bce946ec8e1612b320530dd186b1702b4384e74d64a479099db4562bcfc68453 -DIST rust-1.54.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 5aa9872ad96668d392c1aecf7f54c171e7bef6e17f65efc6c3fff7eee8dd7fc3eacee03e6544cdc27c5d34ea946d1a61aca6298c91812e9f35c391211b563506 SHA512 07694566ae33492df31083887fe9b7d43fb9f7c469ccd2fe9c77d3c8d3bd6b58ddc5e185462e982f78d63db39703a60986acaad51f953ea7434bcd9432a96946 -DIST rust-1.54.0-arm-unknown-linux-gnueabi.tar.xz 209386412 BLAKE2B f33b802bdfa3cbafdd86eff2d43e0af99e54777b1a26f1106016a8bdc4c06b5cdac8810ac68785f6da4cbe6a6d7fa74c13a855a5ef9c5703b16a2100ef60f2df SHA512 5f68879abd5da5d37b555b0b6ca5850d68663878bd23b5f6a31efd0a9dd43809c4d413154f8f343688eca23a96adbd08fcb3132831b848690261964d6a24e160 -DIST rust-1.54.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 7b90cdac8d068bcd565b42bed2289deff1490ae51cb65bbf2f0c308f6187e4fcfd98898e8e590ade2c2af7f10080821a417445e5c3046b4e39e0099c32e62624 SHA512 35bc49bc4140207af140e561023826e565751e47bbee6c1fd374bd7a992b6499051f4d84ca12e17101ea552bcafd6b96b111af888cd891f6dc18fceda11c83c8 -DIST rust-1.54.0-arm-unknown-linux-gnueabihf.tar.xz 209102396 BLAKE2B 1190da5c96336a121b4d4f92dba36c52c5f2bb0b26fdd92ca92ae4954256aaa375ea174c9669a285365ff02d4f3cadbf2d2ac92b847b00e10606e3832629a864 SHA512 ca38f1948b02008c1e9355c12f6d1fd3721ae9c06e686a09a7eea48670d889879ac0f81c462d21f467d600fc0972b920219e7378f7ba438e756cbc9b419a5f43 -DIST rust-1.54.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 9f01100804d72dc7afb7660277daa5a0f0cd96e478a7dc5a242360d07b25a22c5769727a67a46d63f3283e22e89ef5a6f6f6c48ac46f01075e2d908bf681be5d SHA512 316662676cf52a2e58c6cbeb46152da3919e54b0385c33a8fd1d46c25e71604f7803174278f80d4cb72cae54829ba00e3c4ba58001b43cc1148347f1788fdb02 -DIST rust-1.54.0-armv7-unknown-linux-gnueabihf.tar.xz 217891252 BLAKE2B 657f366344fe911c5d93585ee0b1063815fb158069136c742512f21d3b47c64e42555d4e52ba305e5ddebbb1fb37fa8ba8ebc36f9a9e5fe5fe7ffdb31472e012 SHA512 0f4f4e075299cd369b4b53a425e9b290cd9cedca6a88878c6a4ae0487fe976b15bea0c8b92e7e376f77dc370552d95d738e99b7fa184a8e2c0e5ab94d65e7595 -DIST rust-1.54.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B c23e12a70df5e58dfca0e9c66432844424dc166cbc7dfeef4f692ba076ba687fd871bbbb5d37ed82ed5662ada170520c56c426f89be4fa07a0c88cfb773fe91b SHA512 14a5674ed5862b6cd3ddcd3efff4ab1298285bc0d5604a869e74e055a319401b9bf48a60d44583ddeb2230dcfab2e5584e5149947fbc40d97c112a6dae51745a -DIST rust-1.54.0-i686-unknown-linux-gnu.tar.xz 226774108 BLAKE2B c56fb6ef24cda0c89b76403a38893a32382b09be8a8d08b066fbd437ac0a73a7d00af175c59bb7af6e6f5d8a74324e10afed2ea35d830f9f96f5ceaa4ec345d6 SHA512 15bc0c31a306aa1e2b16fec7f97963ca291b2632664c49add4281d3244054b2e2f51b0ade86a9d63db87124071fa25bd7d5e662acf4c30cf3267eb56da4a1f1f -DIST rust-1.54.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4d53a7760abd54973ef8ce95c10671db41136d7031a25ea0c0362feb65ce5755223d60a01c3418b69b902feebf75651bc4379ea66f98c862a573a8774a5e99c2 SHA512 e3dcef4d17bea43a1b0858da52e899d7a14db8ee7b9e3f506e9297dd0aba910d3808c25163a3f95698f32d25a3f128bb1759a808c84b8c75404300f60198fbd5 -DIST rust-1.54.0-mips-unknown-linux-gnu.tar.xz 147938432 BLAKE2B 38e7b768773cef9e3cfe707a716ba59ed67e2bbefe59db5531b06489131df219eba6a46eeb5c06bfd6d943fa4453f3d6f4b869725108fd2e069ab6ebbfa3d08b SHA512 aab52c26bd80b058772e0cd815bbd5ca0ab0fb10fa0ba43c07fc6151ec6e99d7ab48613a3e5cbdcb8f00b83108a716bd8b9f5d6f2c8518499b2482aa4d423a91 -DIST rust-1.54.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 05f4c8ee719ff857aa0a53661f6483c450a561905150217f886c25cf5c3e8dc3a36ebe2da38c75f843e3de4274d92c0c274906af40a94a6ecb122a9d38703e7f SHA512 6ba884e92b0ead2049f639405308ab6363268a8b42f827c9ecbfc5b16a0755bd1d345d989243f28662ce8c53611fb5984104001b3edec7b2dc22cc914970a7e5 -DIST rust-1.54.0-mips64-unknown-linux-gnuabi64.tar.xz 157458264 BLAKE2B cd68d03e058922a020665a35765913f3405b0c0d5c7e252da1dc63b4b6af27d31fa5ce7eee562635241baea422c84d7e2a9539a79e6ae152794aeb9636e97a46 SHA512 74a85d869141fc941bf4f9821945ce0efd0169415fc209cc2288015d4e358716380cf91e41342a231cd34ce88321f24c4d20fffec3be702498cec3846a14298b -DIST rust-1.54.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B aaca9b8e5007e0efc459a04ab95e6a3d76ab6cf177964acd4bb148f09ffac4f9c9bfba4ca4834e1ccc9505c259511f45ed1830285307388d79ac66b8dcddbbc5 SHA512 8d5d2a1200af550cdbc85b2dc847e524ada7f16fbc5f4c29d0e9e4e8c0067e04daaa273a99c14e6ad1a7d622e4f9d3da720b41f4ee75ff50cf2153cc190642e5 -DIST rust-1.54.0-mips64el-unknown-linux-gnuabi64.tar.xz 159901680 BLAKE2B d6ef3d514dce43878cb1f305ac0be9d2558c709adb61668ac8685964b663b08cd81793df893d1b5cd7edbf539823a9976dce75ac5bb1bf340246d33e03a0e7fe SHA512 9470fd938cb6b4c0ddb728428fa7d1d86b4bb2ca43563fbee9b21b82bc76f3350620b36a988ac0d9e274dd987c91ff0dc0a99ec5085cc8999257da8813889445 -DIST rust-1.54.0-mips64el-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 618073a30586c640ca3df15b377c16ae95e6599de68107f260b728dfeef4d95c13a07923550722e61b1afeffb89e8adc01047de32e60c3b40ee7ab4e2700e0b0 SHA512 29e35ba575441dc441529f154496e99e9db83ac6f7c19129085091f33cf5c7882235f60f27d9922d9873a1476cecbe70e7694cf6b865315c022758ba80959738 -DIST rust-1.54.0-mipsel-unknown-linux-gnu.tar.xz 154497208 BLAKE2B 40ab905d6088cb2e4364e2e6a0e4fb257365af05302abab81604d78b62bc255377ff7088884d9222f2997312befbf8efcd7f1821fd4bcf2dbae149c70cfa1224 SHA512 c61abff1df5e787d330abe4b3cbe8c3e67f02974dba3eb0fa4cbfeb0a74a956abb48199301e7f9af915b9be5a0d6ff7771198414458da52af18e9a74cab52620 -DIST rust-1.54.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f525e1849a0c753a077ffadb7dd0b1d67b5fb369c061ec895878fbbd8d377572db2b5bb1fb5e1a24bcef61eb3f80b6f6bbb3d93b611e6b00e535b2e516ae0681 SHA512 d55ac3c329b20bd4e7f095ee2c710bd5c5be825ae517561bf670b96626427db39d362be553c3b92c90710ab8d9b677d2367aa85a397a4568c1146e0dff10cda6 -DIST rust-1.54.0-powerpc-unknown-linux-gnu.tar.xz 164089736 BLAKE2B a4e3c0b6f78444a2f48e842468e828e517d32fb1b62b2ad0c0000bee97ac5730977c8dacdc614ea2182fabf25e23804efed53b493ec611dd5d4d5d8ec237feb4 SHA512 ae8ba40e5843bd3ecc25156521f7e7cc7c869457151896371fd5faa3bc565ff9a6b7d437e3587dd9f1e87e9fa19463259ec18fe03badbd89372c11ddc7b577ee -DIST rust-1.54.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ac59496efd850b618b4013d0cbe09172f5828e60ae07afd0b233749ff3c1699e524e3a4fa93fea906f79dbc44f1d94ad52bf3952c2a4014d9d2653702d86349f SHA512 daf5da203c079cfca365990b0111d9df16defb49e1bc9c24407e423873992a9920d88fc2a097e1df8d2b03e05d1118bb3786e908d4f46fb282357c62d24df88c -DIST rust-1.54.0-powerpc64-unknown-linux-gnu.tar.xz 178088044 BLAKE2B e059572d2044aa05683d29370c395b714f25d0c7ec820bcb133d29667e9066b82e62e11000a3183a66cbeb87625517284d12263c2ea0eec60dc537ba3c78e6b9 SHA512 543dcaf3bab3343e796b3535a3b4e12d77227006e64e91b885f599fd94ffc9c1cc8d8c5ce3b788df0399c79dc785ff7c8dc375ae20d3b4156d1b16a7dec5a371 -DIST rust-1.54.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 663a3f7027c61f4a7e38bd0a72ffa55b9de2673cc0d48e94bb964e950b8a356b01011e94904efb3525c0ee2cd57e82ce8af50d2360a7e5b200b6eefeb4580927 SHA512 f0d03c2c3da60731cc05b9370df53766d6fc14ea3d49edbe0a7e809e35560a7cf06c4d8291896a604fdaddb665d117c53ec93671a0402dc093442ed3cbf4c596 -DIST rust-1.54.0-powerpc64le-unknown-linux-gnu.tar.xz 187058704 BLAKE2B bd90f56b50024cfce5bbfb5e84d28c06687b6a5524b1964064b1e53111b49805815d3dec47fd035f9e1d78c426d0b0689ac7c8baa1044cfbb9343da452d77694 SHA512 9d13d53a1ef106b190161096122da1bc9090dc495604c8ddbb9d6b02323e6b7c9b8bec82dfe33ae6cf1820e986811a701f7a4d4c3eb7c297c777fe3563b8e9ee -DIST rust-1.54.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3cfdbc8958b7025b6b3b76a6aef603820418c3aa2ee63c0a257dcd36004ca90203abb1b60a921310a9aea10545e32a11291a9d9baf3caf3e2b5a27ab4724bd9f SHA512 3ece925a1e3797cc6bf6ce44a3ca4768f57bc9bc3bb1261d6a82905907c635bb20ea7f5eeed062ff02582b035a22508990bfe83640006fe77fde8e699d5d55cc -DIST rust-1.54.0-riscv64gc-unknown-linux-gnu.tar.xz 180939260 BLAKE2B 856a431c22f286d42069dcd34101cc6e539004024619ba061a39d3bcc48834ce0002e2499466f976b81a7aa7d47f1c3249f2b21c69233df4d7d0940d80f5761c SHA512 5af3bbd68706bff03d51daf76551830810a8e225e8f0a9a394fd29a4fe9f0389bed3e0d94333483e089b4cce375c0320cc6ae360ddc4f08fca0ae80e671ba2a4 -DIST rust-1.54.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 366ef8f21801cc510b22217c4d974343ccb9f941faf08fba584b3f068a9d3128e3a15f5dc1400ed3749166afb622bb3aaafcf15381a0f2a5b60767db6ca9d3f2 SHA512 fdafdedb8f667124cb71eb44a6a61b1cef1df0baab385d2f5c674d900cd24139e555aa30df99f9d496b5fb30031bb86a43b118fafa083a24e2be10126e68df67 -DIST rust-1.54.0-s390x-unknown-linux-gnu.tar.xz 186478732 BLAKE2B 3d3ef6c37e0c24a4622814c51bfe1a5093f261e393a3dbb9c5eda023f8d0a63ebf0080cba5d43c8448b79503aecc62f04ccc18f040562db57dcd2ff1cb243124 SHA512 5033e3f61af7de144c3ed441f9fdf9f0c00a837d018ec3c0d4ef67f032e7f808d2dcc586e7b85b733ff9bc2196c2e05fcd104b3daa85698cc0e4e9ab69b870bd -DIST rust-1.54.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b375bf65d9bef4a54792f93ac52fa408c85407d6aa646b64ee85d9220fdd9d7dda76c1e118def5262f5ab8fd9b7637c5d681d37c50d9e917eb6ba0d5b25e42fc SHA512 3bd16cdc61033d6e38de595ac145f0e7cebf3c3455491325ba89de8067cf6096beac7f00b3e4dc942cf4bf0f5ab59f6233b5d24f0ebf97ab3562260182baae4c -DIST rust-1.54.0-x86_64-unknown-linux-gnu.tar.xz 136593024 BLAKE2B 2f10b636982f335a200149d11c6cf212adb3e27f7d3eda9069881565a07f29aa6f2010ca786c3746190a3bbb8b8d79d531bee906e21e21f2c132f6c1e4198e17 SHA512 d2aad46556b164dac54be76a2459789fc686781b157f0c7d647464db3b03cbb902c8c4de5c6ef2e0811a94bdbba2973c93698c4f3a7c6ba294c0e652994e3fdc -DIST rust-1.54.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cdfb03b6a75cd86e565b0b502cbd72636b67a92f9039fb148ca19fbef3d0775616ff03420cebeffe36db3d1d1db75e7e77ac473841a399dc2a218df09598b2eb SHA512 144ec35e82194d16cbf4e56c34dc25aa83d8ec8021052cc471ec85f169b74bd9394ec52c21c898d3ac0b966fd7463cd567d729eec9152f5fb8307c87eb02877d -DIST rust-1.54.0-x86_64-unknown-linux-musl.tar.xz 267840732 BLAKE2B 32e50467c4ee88cc502ea7e3e8cda9cbd89bcb6b7fac0c84b1509abf0a5c551d43f6522d148f54e4af65e0738b1dd13bfebaaba7e863909047fd53cac03bbbac SHA512 131f4743e5990c3e1ec2b7a0d1eb107a0e5264e6ce387cf4aa6db9a1693d0fe4a42de5722072708d72d580500d566f7772513974ce5589ea07997374fbdefdb9 -DIST rust-1.54.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 8b9194ce2b172cdd1fecbe064ddaa0047d30ddeafeaa903637e65775b139207c47da7eb17475ed17b1792b7c872ae71058c1f2cb7d59bd2d42a78cc590f9ec03 SHA512 2aaa42cab5272b6ee2ad0d3cd67b7dc648af68c5b9b5fd8f816688c0ebcc2cb0a24ac8c2a23dda5f17f7ba04f544625b3b03b22882c9122852bba680d8155afc DIST rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz 209839296 BLAKE2B da65e966a6bd8c6a8a13e5ab747da2a8d9b55f90fc20c1bd041ccc1a2f4e2d11d50d2ed9cc7f3a470e7f886ec8b891ef98ea1295491414d5afeae7f83fa3a555 SHA512 a2ea1383a6ea965e4b0c3a7c648bb357fb531a6984418756abcff3c526ccd9221a28aeedd11b65180fd166575e07a00151460dbc15e3b132a0bcac643911d242 DIST rust-1.71.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 52d1fbdba32db7ac2578615fd10a3db1da84441274bb190624e517aec67279c7330f7c6b7fa0835d8e1cd8f578d34952813228a6a221e41c4193e9a079cc6fb6 SHA512 63cbbdd9a73f0223444565b60f59765a734633ef8e93843639969b96fb67550b85fe58079d486a927174f95619f0d6fdfe3f3b84d871f776bc48986be7965238 DIST rust-1.71.1-aarch64-unknown-linux-musl.tar.xz 193170880 BLAKE2B 26384119108f4503d35f79fc5401c46e1eee326eca4dc6cc282949d2f195928fda5d3bf56c0509b04fdaa3e7c3c47f4ba44b2b82a60b02f7bc520360b0433efe SHA512 3e79692cd4dba512516eb48970dc9711448c33e1d7a5ebe7c5fadaed7f053ae9c1a8e6efcd1713f87dd84107a37b0fb21b1246e0d5c3e0dab677e5c7ed210825 @@ -378,6 +344,10 @@ DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz 233693080 BLAKE2B 16a77a02a2a4f33 DIST rust-1.83.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 96b38ba9f35d825723b04395f2d6dae8b652c8c2604d724183c328432a991c9cfe9efe35bdb7a8cb32ce74b29be953cf71f782a369a975272f1a1b311bda74a6 SHA512 875298edf8769158e89b7e2c7fc939dab1e738021b8bfecb9bb1a7b287ff0bd87bf49e1784c567f7c63d7149b8348a06b9222d1071980d3128fe826c42549e2a DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz 230967340 BLAKE2B b1356c331f85ca97717dcaab94aded8f20c577bf61051583e03b8530127e5cd3688f92ff920a6b2083d3d59b7d9faeea2a2de4382cf49766a74a71fe76214bd5 SHA512 68ed82264a89c8bed255ecf1b92279c8de1446186223f1d44c16eab263749de06cf1e8e07720f1326abe4663006ee636089db788124f3f0c7c9adabd3f2a68aa DIST rust-1.83.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7aaae04be9c09c8775ce6713f172f3523a7b008c921c68f1cd751f0bfea8144ac2bfb454fa1fa0d5e8486e62839737ad08d3381acaed633dc62c67abea65cd9c SHA512 b55652804fe3e5a574bd84fcf099e5ae733f211c87c5f3352660839f5ad2c29efbc02e553971734bcb6e7cd6f389bc875bfc92043c68339d8eaac797b1b6742e +DIST rust-1.83.0-mips-unknown-linux-gnu.tar.xz 72991436 BLAKE2B 8403529314903f0312f08b2b74ea95215f24cfa935eb582419c693fc57612a1b99d4e6ab69c47ae581e300248870742b81c88f6a39b621c28e52af3e4e550945 SHA512 790209ab21a5e2687df22681e1f79520ec04f3a6b53e8f6f206597c96356186c32df0a10dcfa21d0db80fa34c6ec5599ba1ad37dbbd0d7ea76fa823d5bfc0c94 +DIST rust-1.83.0-mips64-unknown-linux-gnuabi64.tar.xz 72669108 BLAKE2B 2158004650406ac248c6df07b6adb9bfa0f7005b79624fb23e9597f69a6fdb1c2d1f72af4d617b41259bb1ea8b25255382374113de085c2e74414df21f9a07f3 SHA512 b88df5767f0d30f3f1ceeb6354f2463f28abae2752fceb6ad9676475b4e29fa5d27d2d4d9431e0ffa1735270aaf39df72d398dc07b23d140b7c4a03794113d0b +DIST rust-1.83.0-mips64el-unknown-linux-gnuabi64.tar.xz 74172208 BLAKE2B a4bada0ba428b92f2c97a6791c337cf24a1b0e477a92bae57c29ff56c9019da9fb50289443ad01f9b50d6644426d56791b5f141c6c3d3de38eccbefecc899135 SHA512 711c87b06d02cc919a54d017a3ca704dca75b33cc0027927c244cc1c9e3d7433313b88dc05de9afb31159e8ef3a8f6a014e9f74c0bc63039bc4127cef5da6460 +DIST rust-1.83.0-mipsel-unknown-linux-gnu.tar.xz 74567868 BLAKE2B ac2a7d3ef64108a14447f35fba5c04920027ce42de26d8da8eaeb9f991d8dfc7bbe58ee7c667784647901c4f8271dc650424abf3572741ffa95c6e6ea9931bde SHA512 a247496009f59e29319f34f92238ea7b0d0be7ea66f1af1197d1de7bee65bbb743b208b0cc4110dadf145d5bde7fbe21f751bfc08fd44559b491366d9028394a DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz 222744280 BLAKE2B e32f9066394634d5855395d202256ba67c58d55bbc675bd440ac4d051260e7d2d237d0f8c35d3ef02f33512279aa3298c1993b2084b27fa017e18f1debd1b15a SHA512 ef67f29075d4248361885d0860d3040797d6a7a941e99ad49d6249e78fec00e306153fc28bf907a0cb4c58ecac73d92c4d8287b56132469eeeb18983ee84f01a DIST rust-1.83.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 16cce0091bc65719fc410e4b76fe3bdf4b3774402d300b72f46dbf1de55ef6ae29adbe0fa2c66aea119536b9446a0eeb70789cc9db2a36b64ba8cbdaae707f16 SHA512 cf94525aa6a868d1825d5fcaadc82190a6866a107aeee8884b7fb56b5ac427436be91737cfcaa0d5f7a44f21833127ff028e9247f8626f38a98e40282feb63f9 DIST rust-1.83.0-powerpc64-unknown-linux-gnu.tar.xz 218928260 BLAKE2B cdb8b3e0eb20df2ad4415a991c535c4db36fcfd45364adc415c870acfd5c61953d5b95c173213fb6c420a354adaccce2afc60d63c5afa21c77ecbcfecb99245b SHA512 0b39efed4cd9f5d176d81be196948697b72686cec907a075fac8d052197838f0ab536fd995952b56f58ad45bf2a5d89ba46bbd97cc2bf9b166658b508a959c11 @@ -388,6 +358,7 @@ DIST rust-1.83.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7c88fadadd DIST rust-1.83.0-powerpc64le-unknown-linux-musl.tar.xz 69860332 BLAKE2B 63a29db5bf9b1664fa95a902c222430b1a38b6dd8e4093333bc65f0807023fcd20566654df2b666eb7729c4053c4ee848ca1cbdea8e47afa08fd391a515d51df SHA512 6ba407ddfc00c6e06365e014b7cdd54ac5b529d998c5c743ca5fe70f2da20c2067182e9fef1c4d43934d8fe9b87a73bcc48f3514da3c0f0ad07e09e4b9922eb8 DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz 218315040 BLAKE2B 91139066f3ac6a652db13985a225547eed242a6efaab0021bcf78b31e9e98fbedcdfe932110fa4c918f5eb3d8336b9b41a15dc2fcd316561d56e5bf205dd1567 SHA512 9bc1b82aff2e2447cb16680a8125378e33b7ceff4fdae7855bd7a79437f2df5b3989e82ffd68f157d50144018a74e6cc2053bda21de31d2c694aef29bf4e8bfc DIST rust-1.83.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e51ec506c4897e5e57cc94bfd3ba15d64e678a67b50acf48b8c69a5b95223006451d543275fc5291bb69369bead17a01d4934cda5b4744adfae2423200a002d0 SHA512 2d705740d928d49bd0eafe26cccf997f81c1f7ddd72bf6c4a4abe89e1984dca8e1b57af4b997939df355dea19abea2f45d430edafe88e7bb207abc0dc8d8ce3d +DIST rust-1.83.0-riscv64gc-unknown-linux-musl.tar.xz 78884296 BLAKE2B 1f59571a700a2e2547897f5b1ca7f447669e60c3b98995a0599ff98905b107e6b4d5cd74c6941bc5765a314723f8ef0b2583dde891a165d62d03c5e70900ea9f SHA512 99976036200eebac27453f06f41b6e347767576f619d6dbd74ea0c5a7fd888636f9c39fd6cc7c50d3fc91b429f710cbd7ca9fd7a036f3b30a89eb718a641dee1 DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz 221194604 BLAKE2B 5d625e48296c171fe6da8ec70fa4daaf1632f6b63404d30ca0e908d63fcac3abc39f6fd9762d3670aa94f9a2587202d1b66f9751fd04e5e99f00caf8748243d6 SHA512 3aece2baaf66134ca339f3a9239c92ab7969c064eb35ede5dd61a3c2eca5eee4053b581edaab0acd6ba60cb7600b47902697e71c41873357fd53dbbe5c867d8b DIST rust-1.83.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bf07a1e0454e46e030918a44bfb04e54bc49266951ee7d88f13f7a66da7fba0b4d65022248fba1e51248a69e1a1975246f81cdecd56cbedb6ecb69e54eabe39f SHA512 6412d9b17f2c1d63c7b2c44a38dbde01670dd96bced6384b826abea8402608f239acb6eaac273f9a02b7f593b58e84ac0cebc854d2213350a000be139cbc5a47 DIST rust-1.83.0-sparc64-unknown-linux-gnu.tar.xz 63906648 BLAKE2B 2026153aa2e91a005be65e1602bfc1c6371835339a86722b47163bfa83d1ff0936223160704c6f8e5af0ed826487c27fd31a18bf904e608851e7ceec4e31af80 SHA512 8af0c1266e98f9d741c20d3e4046a6e57f18d951353d8764d633ca157db74f5747f3d0d2b9122a21ef49ac91ad8502dc01a1bee3c5c95caa62c4e0ebd3dd9ee3 @@ -409,16 +380,24 @@ DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz 235927300 BLAKE2B f0825b843745562 DIST rust-1.84.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 9b8d092db5f894f563bbfb45666430f231ccdebcf05a811c3546be167d851a84891122c29ba3bceb6a2bf71e87817a29d703a40cad4f8fcdf3968d391347578a SHA512 51595e120a71958ed6551ff102f7891cdf3d9a6b9adaa990525b82ec75eb1c0266dce6350775139052a27d787612596cf083e9b0c3b9e7de5db8eb65a2546c59 DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz 234981212 BLAKE2B 1e6616834440eac754ad0725ce88ec7d83e6804bf084bb2ab1c2adff1fbbbb0861780ebf57116f4fa38ad67667b89d0d7e9ca7184f0c0ee65f7b23886652ee10 SHA512 47671edf5c751bffcf87ab3a76cdb1233eb64c3d6815825ff0130bbb8956e6bc452bd75395bf8f44abd7b78c23db8d9f0047b6538a4f9c12d729d25ba43d038f DIST rust-1.84.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4cb2035ed10a735a688b2b80975aa16b2a311c9ccf5c8b6ec63af4dbe30e06713621c119721cde6e44d504133343ea2aa5158dc6bbb6253aa330894161559374 SHA512 ec74e916f9479ab046f0d997f4eee99b1c23028a3aa207fa7be71762ce7cf428af53a6d172714653fb30e5d6d8d42936cc7fe3d9c7f3a33262703d15fc9baffb +DIST rust-1.84.0-mips-unknown-linux-gnu.tar.xz 75963912 BLAKE2B 228b0605577f889d782fe468f5598e88df27a77453acca5e3a74e009cdd1463ffd2449f638166862ae4c0b84577ef4c11d0f7ee9198d653716fcf53fb54955de SHA512 dd636652841fdaa13c8c25b331f604060d4e232610098b524ed593164d60b59fc91c0325bc08afad301a9c221c08f015affc9f6f988d250dbc1051b76039a463 +DIST rust-1.84.0-mips64-unknown-linux-gnuabi64.tar.xz 75736380 BLAKE2B bfb81353be437e6eca4fa2133439e3774b42e388c21e64051073738165b7454e1a98d0f4d3c74bf668d789f622ee38c06f2e6ac5e9acbcc35351076f4baedf95 SHA512 e5ddca3ebfe1c952b3729c77ca6ae0dc429fc95be63e26dff26a0724e4b7c00faadda7c13267ddf8edff9af1bdf5c4c8ef8ad67439d509f3ee4038e95d245804 +DIST rust-1.84.0-mips64el-unknown-linux-gnuabi64.tar.xz 77348484 BLAKE2B 9c6bbcf37929e6da2459c498bb47027954b7b99780de35f0ac3e549d3779a0f74e81276015cccafdd75a2da4d2ecf7838aebf0420e2132979d40b7f66666051a SHA512 fe8aaa46773ca38f192befbf2adb11d66f50856778f8c54d2d9064681110fee7b32a1749871fbf32c83da4a867c668b81fe14f4596dd276a748c909d12fdb676 +DIST rust-1.84.0-mipsel-unknown-linux-gnu.tar.xz 77647044 BLAKE2B 7779f6d6e86eceb3f3e28c771745a2b52856504c8819ae515d34003b4454c967ac5481f36bc8cce9e75289c75eb2df3b966eba629b25afedfca2b1543e65b28d SHA512 3b07c7e45fdcefc327e1d0bbb76a55a8edb62fb1cfd5551c18210460153c1b00ef9e6fbb77e65c4cc2d7fd938f31e1a39a50dbfe836c65cc2c6397b26d1a509d DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz 226162544 BLAKE2B e1bb743b29f8dffed0e5b7f83da5ec58b4977dbb7621eb1a66f7d42dc9e588eecbd51013d2bca3dd24e679ec1f57bd8d1b9d5bd44fb155b8757b75c61f2649e1 SHA512 d09d52c64c097f9e8238c64a5e69530c8e7fc72db6c48c76f5118598d0c2c1186b40b053aa78b8b1d071cc716cc50ab7d824655af777b8a76c4131edac44e813 DIST rust-1.84.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8eded34d62506f87d38ef3c503f62d5687a646aec8a0ff699d73d1b0907d0735aa7f7893d3b5ee481f069a01998182c70e10d48f664268bdec44655449825e78 SHA512 a3a5a6ae3ac2f210253c2eae61b0c0647cf5f526866e0f5c0141a07f9587cd614573bb2728186889483806a1a3ab5885c9abcca91a16dc36d042bc78239592d4 DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz 222899356 BLAKE2B ff9b3bc680cae85485131d23fef5d04abffa69c7d4f4ad254a868707b1206bec543faf20a0be5c287c83165680da8dfbb9a0ce8c688e4f29231df2a589125450 SHA512 16440b2c604061dff6ebdb60af6697d3064ce6ec740c617968b22d8479cdb16cfb61330b2afeadbb544826c6fe90b245eba0de3956ae2924cf77ef8565defae0 DIST rust-1.84.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 67fd274e3315a21ed0b23fc8bcf013ab20b905c373785b74bada5431d0d1cc1b63e7ea3dcbfe4bd8def0861d08ce13cf769796e244437cc6beab6db95f01c6b6 SHA512 87ea6ead36d9dfddb5a71690f4d434978dcd73264c32e93ab7d3ef74f7c5835fd5e73316f1bb827c418492dd30f3a5bac752054ce1e27d99600249b64412d1c2 +DIST rust-1.84.0-powerpc64-unknown-linux-musl.tar.xz 78604816 BLAKE2B 5955afafb06908ddc25e469ff609bab22ca0bfb3d7ae84ab82232cc2d9534e944a2813f513f1b690d6736d0bc496ec6d7239e84e7449c08ac48d8490aef74e04 SHA512 066a192edc3519ee1bf18b8aaa4e0e1f49306985c3cea6ca8c60e3cf257b29cc72fa605c65a55e39f408168e7a09cc371efa42f8ec783ce6bdff37de5450a479 DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz 235629500 BLAKE2B 32903240ada4cf2640814374c55d71e3351a0dcf413d54041117a3f6603ddd6c19033368382bbb18c5d1f278c9bb3f5d6d0ace966bb1fcad9cc9389fdd066135 SHA512 626476e551869a066600f459e7a6e9c8435f61b4018efba5b3102af72ec7508cbd4464d0b60adce5c669d34adf4315ec3529d0ebdac6d294de7c7437da264367 DIST rust-1.84.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3e762822c5563db6efc128aab7ff704165dbe35cd06dda07c677ef2b94084a2ee37fdf77e8aaeaec4987de2f5bc73da9a2ab572e4e4d2b64a775a447b548e40b SHA512 113b7ef16977f24ad6acd72426ce389492aad7d8fc36bd3feeb921a21563e20c0144c3eaba3c63818556794df7904def0e83e5645cd4c766724898baca9ef208 +DIST rust-1.84.0-powerpc64le-unknown-linux-musl.tar.xz 80982656 BLAKE2B 9986395107b386ed047bb9843d46da27c44b5ecab77abec3902761b114131c5a28683cc52a19887af4a8d665a2e5d35146bfe0d358175de412673eda8cac8060 SHA512 13e0bcbcfcd3e0745b5d1c7b9ae379c7da3a629ec7467b7b8b0d7e623ccd314823162955157aa487927511934515f85b8847c5a7b14e5e1938884eca1a848777 DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz 221099540 BLAKE2B 0941d02fed906487753188150220c7e5a957e68b40e2e33929a74c6c520d34b2547307f74738ca6728f7e68213da81c5d2b07bc8b5ab7c0048bb222cc4aa2d6d SHA512 fe57aa11719164bb3865049ac91d1739f02e098f096db77a290f55f22423a870e1e0bc19d3ae2fd0bf32e5c6c9b10d5f3884b0070c5ffcf58b5d77598653b811 DIST rust-1.84.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1100cd2dc56582472c312ce4d2a161a85cd371fc42bd281b14475f4ed922a38e8b79068aad5cf66c2c489965f782733edec1f72414f4b88628e4d661fea9014 SHA512 d54d69eca7651d166fa9c52bba562ce5008d5e6fd96eab8499a8dc9dcd178f009228e1d6788a4023478b29c2e477a379c6a2cc2b5c015072d87bbe929493eaab +DIST rust-1.84.0-riscv64gc-unknown-linux-musl.tar.xz 82884604 BLAKE2B 98fb594e11c35e2b93fc6bad089ee8d3a036b648eb2e7a5e5ea7a353291ad746d99f70949a3f12d884eb01dc881d8a521a877d7a54a81f9b72931f489d5a5575 SHA512 4133c5afac78201f72626c26d3359f5e4228be2f0a7f39e4c7c95e3797345fbe24e8c4a7daafb56836a8f00071d40916887a35656b7d9ebe43fd468f824345b0 DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz 225691648 BLAKE2B e007b7c08998a488162721b418c9bd22dcb8ffbe450da543be285d4708ed366fc01f0bc6f668b7058e544c3df7025977454e3aa98fd98d29970be28e2a6d6438 SHA512 cafcb20513a27bfdb9d4caf0e53f929f30f40592f340ee6683294ef52c438c913381c677b6c266efe85b2980ddcddf7d2f90fd22b2482a6ea7348084e5638598 DIST rust-1.84.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 27b6afef3ca0c4df951e678469548784cbbc339772297966a449f17869ff7c47bad72c114edaca66d79dea6a63cf38755fa2c439e9283c7bb786a9c4eab02fb9 SHA512 6656f2ea30758ba23f7a1ac330695c262cea1c82d33bc64e968d8bbd5b39366e8d8e0983f6bdcbfa818225b63863fd941eeb9090d024e3d8ba254cb99f214a2e +DIST rust-1.84.0-sparc64-unknown-linux-gnu.tar.xz 67048992 BLAKE2B a84fcd2139ecdf9a5bd071518f7880e015a611a1d1ea9176ba3f8ed935e52254359bad0c15fb3d5e5fb2fb20913fcd3e3d4d29c764c04eb5269026d93c13dbf1 SHA512 47d0eee57de82fb155957631103399e2da1cafd74f7f16115549b4adde49fc58bd3a405acd0fc2e5095d89e3fbc5fa835a37f64b3e6f9079584de9b111a5cd60 DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz 183288052 BLAKE2B 6a9bdf25e8ebdad1e8b36feee4d152235397eb3a52351a166905f350a8fccabdc4f03f4c1e490bc81d4f403f2810b37aeee964b49f4c375a9792ca8a054c61ac SHA512 4d37691577636ecd233e4c507da4aa2c6c31f965fec29a59eb22bbc6c8d765eaf95d63fc1ffe8ba9ad309f5a0a712e60c5a94a832164bae283f06b41fecc2579 DIST rust-1.84.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3ceb1130faa28ed9caf86b0c66471b04aa2663bf6188230fd96a0c0d4ff7a4255cb0e7e3e6e71d8a3de86798bd7f53ccdafe21285ae247d1f1718fbd0aa04d31 SHA512 bb782d01731f8aeb4a54555ac2163bbf625e83a17f5d8e10fa76217b345b247b4d653b5bada065fe647c8b19e1dc66316b1ebea252525fa194cb7bdc6370c59b DIST rust-1.84.0-x86_64-unknown-linux-musl.tar.xz 263170948 BLAKE2B d4e43adbcc8ab3f49306d5ae624340f7e7b0844821c74140997510ca40d4bf252ff698e1295ab8138bae237d079c1e3cff6a46f895f55fbb7ba2c93054e1648c SHA512 6cf083cc2cda4591314ba49a302aba2aec8fd036eb9a72b775d16561d0739df23a1f3b0cb44d6539a068a47730142b09aeaafa1b0756703c51b539851e59bee5 @@ -435,7 +414,6 @@ DIST rust-src-1.81.0.tar.xz 2901440 BLAKE2B 7ad2855c21728cc323108f7e45416a425a22 DIST rust-src-1.82.0.tar.xz 2966368 BLAKE2B 4162e7393ac21a095ac1541ea7b62fafa561ce2153bdd2b3723d0f2e0130fb2fb1325ac8583d87d64b6cf6b76400d12aaac144c781e89a177483adb46854c81b SHA512 4f7817eb16dbddf15ab09206738569370c42abe117086b085a7cc8f7174f9c2b42571707558642c72597236610eeeca32575b665acbc2cbc4f7709e624c16cc4 DIST rust-src-1.83.0.tar.xz 2998424 BLAKE2B de758c5bfb29865a3ab7ab02d17b0282272fa7d1cf5da333a6a19d6a16813320317785e9bab02e3ba9ca6ee9f26e0c96b00a117f33b74c82b13ece44133e3130 SHA512 e1f0ccae1fd4202d86cde1f1e2f4491983ec49fafb2b9eaca6260e9173bea0e0cc2567946e48e3ce48f0a620f63dc44d30334f06c935628158de110d43c7d53b DIST rust-src-1.84.0.tar.xz 3016148 BLAKE2B e948d4edb88f81ecfb49f56a3ca6331c4e9de17bd9f56af823e1cefdc5098abebc2bb013d7c12ca1713a43fec588f33befcb7146713eeade1511914f70146d62 SHA512 ccb45d57c7cdac311478a5b4689144297717e6404f9c4fb168127804f13f72c15433b32765f90ce56e6f34435229e754241cb3656b28a4b33c6070b6f79b7c53 -EBUILD rust-bin-1.54.0.ebuild 5533 BLAKE2B d6e9c37a4ba322c4fa86d658eb3517a3c45bfa3341869ffb040c6ca350c16a892f26abe3c51cdea52d42c453a837f3204256285170729ae301d16e63db8bb8d4 SHA512 7ed26906372c87134263d00cecd62ad51731a906529eb23765dbca78efd921f1713d23d2f46ee0f2a5a2cedc2554fa60749b25f3a23f9a030821b90d7999adcf EBUILD rust-bin-1.71.1-r100.ebuild 7172 BLAKE2B f8b6f4910cf00212f0d7288d10d29c72d88826728fddfc77f47a782103564a88252837931c699ea9cf7586e4d9507bdae2a3354df262414c368af95a2d0bbfb8 SHA512 24aa046084a58816a2d3a949826945e294ab2ddacbc1e2ccb4cf1914065f3e52f7c3f680330939194b29149a3384c711efa09a261277d4b2dec6aff6660142a9 EBUILD rust-bin-1.71.1-r101.ebuild 7172 BLAKE2B f8b6f4910cf00212f0d7288d10d29c72d88826728fddfc77f47a782103564a88252837931c699ea9cf7586e4d9507bdae2a3354df262414c368af95a2d0bbfb8 SHA512 24aa046084a58816a2d3a949826945e294ab2ddacbc1e2ccb4cf1914065f3e52f7c3f680330939194b29149a3384c711efa09a261277d4b2dec6aff6660142a9 EBUILD rust-bin-1.74.1-r100.ebuild 7515 BLAKE2B eabe846ec482e04cfe068420c8315eead88dbe229bedf5f2809b492dc360bf5f34023c89a68b62d1f92c5a3ba628bfd8c861e83980925f74c61d95d3f106db2e SHA512 e40c66befee2c16b579b630de2e0aae00eb5bd72680bd6ee724ab52f434dfc725b2c377d725d95a3500be818acad973202e9b802762adcb1b54cab0251280d2b @@ -454,6 +432,6 @@ EBUILD rust-bin-1.81.0-r100.ebuild 7796 BLAKE2B d4fa84b38416621e531c0fa8721d7d4c EBUILD rust-bin-1.81.0-r101.ebuild 7796 BLAKE2B d4fa84b38416621e531c0fa8721d7d4c351da246324a691cceaebcc8379c5c9003dc5a0c95353b94ab8b1ab1905fb9578d3d951d1c8a986dd720d2282ac76b12 SHA512 4972eef30629e93301d931f56354008a1184acf209740d1cfde93440023e9ca0c8ffb4d7c218ab6930724b827a796f102d56eef73feb378f3be5a7eafe55cf35 EBUILD rust-bin-1.82.0-r100.ebuild 7824 BLAKE2B c62734b23b47f074ec71ef4c9ef362551a94a0d8e2949573433a34809647d93e86ff7afca3d017dab587f5789a36789fb955776641d96c32acfb58fc4845a526 SHA512 af1536ddff50283b2712f8d383daedf3397705a26a9b8d8f1ce802cb5e5c2e04fdd23fa1ff87dc4ef9a9be597504bf828fed578c22d87bd57f93055177656c19 EBUILD rust-bin-1.82.0-r101.ebuild 7824 BLAKE2B c62734b23b47f074ec71ef4c9ef362551a94a0d8e2949573433a34809647d93e86ff7afca3d017dab587f5789a36789fb955776641d96c32acfb58fc4845a526 SHA512 af1536ddff50283b2712f8d383daedf3397705a26a9b8d8f1ce802cb5e5c2e04fdd23fa1ff87dc4ef9a9be597504bf828fed578c22d87bd57f93055177656c19 -EBUILD rust-bin-1.83.0.ebuild 7824 BLAKE2B 96443a317063b50025f352f4433c0d8b44f397b9b954500815cbbbfc9ed5416c58030133e32089408cbf0aebeb764fb5aae739b64f1edf924dd14f7b76a04ecf SHA512 c2b05d8161b268a0c440c510eebb045d4caf47fc298839deaaa9d05034c22fa81a7c646244f4f47f45f405f105fb4c5d5a36ea5959a12bb71f9669b12c424e46 -EBUILD rust-bin-1.84.0.ebuild 7822 BLAKE2B 72d19c7eea84ebda4784ceba944b0cf3b14301695e253f5c257e0a0464bc925a6a8bfa4e1aa76f57599cd39d58461755a38a84a6b8a2c473ed2ab821dca711a1 SHA512 ccc8275d7c831d416f9d152c050be92c34cdbf8d37c25868feaaa94b51bb7af96a3e0164c546e8422c1b7bb91afb78de2f0a2467ab77c7358e0931d14218bbc2 +EBUILD rust-bin-1.83.0.ebuild 7810 BLAKE2B 484806eca705b0b19f0c99fd9c131fed70c1b64e516a92fe7b7d54935757f1e2ea150269cb105bf6436e462ef1cecbab277786113f6d0201b46c92a7b71e043c SHA512 f1ee0bac3e9895824a918a83a96027bdc8acb5d61aef72ada1c416b4fe11460523ed24944e9ecd3ecedad18a6d656023d6882d6808562f5d62d7d6563b2a6936 +EBUILD rust-bin-1.84.0.ebuild 7817 BLAKE2B b037a3419c1de744417db49366f198de35ff73f3ea3d9aefe5c0d00c3f9bd6f438ed35f6258fe184857788864797b204ffd0e2bb6df07ff3308f4b568cd59497 SHA512 f6c12ce632f940528478f04678a15c5bc8f8368fb2613e6d8347dff29e05efb449d9e8ee878d71f93fb3f78f3ee328cc9d04154d1c3aac115d834121fd196017 MISC metadata.xml 1062 BLAKE2B de2d2adcb691a3e614457dd9a7f5d4a8eddffd548b2de8a229b6d397ae79f7e24484512a1fb2a85e02aa98c240ae73420dbe48e45790c0cd3f6381ef5a4ac24b SHA512 ee4d08b8eec8abd89e051ee5ec6cc928bfde7039b815d4539558d71d7c0576aea939b7781b4998d3fcf2c2e8752791d53c0ba6115df07fc2243c470b2a7467b9 diff --git a/dev-lang/rust-bin/rust-bin-1.54.0.ebuild b/dev-lang/rust-bin/rust-bin-1.54.0.ebuild deleted file mode 100644 index ce1061857a9f..000000000000 --- a/dev-lang/rust-bin/rust-bin-1.54.0.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit prefix rust-toolchain toolchain-funcs verify-sig multilib multilib-minimal - -MY_P="rust-${PV}" - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" -SRC_URI="$(rust_all_arch_uris ${MY_P})" - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rustfmt" - -RDEPEND=">=app-eselect/eselect-rust-20190311" -BDEPEND=" - prefix? ( dev-util/patchelf ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" - -QA_PREBUILT=" - opt/${P}/bin/.* - opt/${P}/lib/.*.so - opt/${P}/libexec/.* - opt/${P}/lib/rustlib/.*/bin/.* - opt/${P}/lib/rustlib/.*/lib/.* -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -pkg_pretend() { - if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then - die "${CHOST} is not supported by upstream Rust. You must use a hard float version." - fi -} - -src_unpack() { - verify-sig_src_unpack - mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die -} - -patchelf_for_bin() { - local filetype=$(file -b ${1}) - if [[ ${filetype} == *ELF*interpreter* ]]; then - einfo "${1}'s interpreter changed" - patchelf ${1} --set-interpreter ${2} || die - elif [[ ${filetype} == *script* ]]; then - hprefixify ${1} - fi -} - -multilib_src_install() { - if multilib_is_native_abi; then - - # start native abi install - pushd "${S}" >/dev/null || die - local analysis std - analysis="$(grep 'analysis' ./components)" - std="$(grep 'std' ./components)" - local components="rustc,cargo,${std},rls-preview,${analysis}" - use doc && components="${components},rust-docs" - use clippy && components="${components},clippy-preview" - use rustfmt && components="${components},rustfmt-preview" - ./install.sh \ - --components="${components}" \ - --disable-verify \ - --prefix="${ED}/opt/${P}" \ - --mandir="${ED}/opt/${P}/man" \ - --disable-ldconfig \ - || die - - if use prefix; then - local interpreter=$(patchelf --print-interpreter "${EPREFIX}/bin/bash") - ebegin "Changing interpreter to ${interpreter} for Gentoo prefix at ${ED}/opt/${P}/bin" - find "${ED}/opt/${P}/bin" -type f -print0 | \ - while IFS= read -r -d '' filename; do - patchelf_for_bin ${filename} ${interpreter} \; || die - done - eend $? - fi - - local symlinks=( - cargo - rls - rust-gdb - rust-gdbgui - rust-lldb - rustc - rustdoc - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - - einfo "installing eselect-rust symlinks and paths" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /opt/rust-bin-<ver>/bin/rustc-<ver> - local ver_i="${i}-bin-${PV}" - ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}" - dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}" - dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}" - dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}" - dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}" - - # musl logic can be improved a bit, but fine as is for now - cat <<-_EOF_ > "${T}/50${P}" - LDPATH="${EPREFIX}/usr/lib/rust/lib" - MANPATH="${EPREFIX}/usr/lib/rust/man" - $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') - $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') - _EOF_ - doenvd "${T}/50${P}" - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rustdoc - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/lib/rustlib - /usr/lib/rust/lib - /usr/lib/rust/man - /usr/share/doc/rust - /usr/bin/rls - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" - popd >/dev/null || die - #end native abi install - - else - local rust_target - rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))" - dodir "/opt/${P}/lib/rustlib" - cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\ - "${ED}/opt/${P}/lib/rustlib" || die - fi - - # BUG: installs x86_64 binary on other arches - rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die -} - -pkg_postinst() { - eselect rust update - - elog "Rust installs a helper script for calling GDB now," - elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV}." - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust-bin/rust-bin-1.83.0.ebuild b/dev-lang/rust-bin/rust-bin-1.83.0.ebuild index 3b04eb349c4b..eae591d46115 100644 --- a/dev-lang/rust-bin/rust-bin-1.83.0.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.83.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,19 +20,19 @@ SRC_URI="$(rust_all_arch_uris ${MY_P}) " # Keep this separate to allow easy commenting out if not yet built SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " -#SRC_URI+=" mips? ( -# abi_mips_o32? ( -# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) -# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) -# ) -# abi_mips_n64? ( -# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) -# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) -# ) -#)" -#SRC_URI+=" riscv? ( -# elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) -#)" +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" SRC_URI+=" ppc64? ( elibc_musl? ( big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) @@ -40,7 +40,7 @@ SRC_URI+=" ppc64? ( elibc_musl? ( LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" RDEPEND=" diff --git a/dev-lang/rust-bin/rust-bin-1.84.0.ebuild b/dev-lang/rust-bin/rust-bin-1.84.0.ebuild index 6c5a0dfdb752..48da1d3e8bd5 100644 --- a/dev-lang/rust-bin/rust-bin-1.84.0.ebuild +++ b/dev-lang/rust-bin/rust-bin-1.84.0.ebuild @@ -19,28 +19,28 @@ SRC_URI="$(rust_all_arch_uris ${MY_P}) rust-src? ( ${MY_SRC_URI} ) " # Keep this separate to allow easy commenting out if not yet built -#SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " -#SRC_URI+=" mips? ( -# abi_mips_o32? ( -# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) -# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) -# ) -# abi_mips_n64? ( -# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) -# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) -# ) -#)" -#SRC_URI+=" riscv? ( -# elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) -#)" -#SRC_URI+=" ppc64? ( elibc_musl? ( -# big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) -# !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) -#) )" +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" +SRC_URI+=" ppc64? ( elibc_musl? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64le-unknown-linux-musl.tar.xz ) +) )" LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix rust-analyzer rust-src rustfmt" RDEPEND=" diff --git a/dev-lang/rust-common/Manifest b/dev-lang/rust-common/Manifest index 20df754fc6c2..bd4112bc7f4b 100644 --- a/dev-lang/rust-common/Manifest +++ b/dev-lang/rust-common/Manifest @@ -8,6 +8,6 @@ DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb EBUILD rust-common-1.81.0.ebuild 1442 BLAKE2B 2fca9110584bab02d27116bb7384ef4cdc0cc42323b469473f76fa09bd15fd4dd24a4597769d453d12c8e06b4305614d50120099feaeb142c2aafe29dd610348 SHA512 b948bc84b48deb6249c61d977dde1489374f5e0df679540a254ce4211f148eb5fff00fa4970bc63a07d4d08328fa821cee1172c388ddd8b48c1c0117a1c0259d EBUILD rust-common-1.82.0.ebuild 1442 BLAKE2B 04d044c0a244ce4e62fd4a8ae096c29c1972677e61ea3c8dd267817deafcdfc305087dc17b021e82376f96888d2374a9de774dbeb6067ee335a2f41dc87918c3 SHA512 279e84b9fba7fcf68c7b8666882411dff77d056258f8e315c141b736a910377bec28020d11fe09ec42921ddeb746e34cf2b8ef3f0503d4578cd8faeb416f257e -EBUILD rust-common-1.83.0.ebuild 1449 BLAKE2B 570a7a3b81e3c710e467adf1330e8ae5f9253fa596f6d8239cdecfb76f2f9c179b435fd2ad4030a821dcf1f037cfab97210e5f4b99fb418b4fa03119f9e28ed4 SHA512 530ad49096761be283ec94182e9eea075e6a72a1da94060ef4e77a04d642cac4b3aad571d6eabd47e92b2de18a80c2fb932bce615a8475a8ca92931102e80c8b +EBUILD rust-common-1.83.0.ebuild 1442 BLAKE2B 04d044c0a244ce4e62fd4a8ae096c29c1972677e61ea3c8dd267817deafcdfc305087dc17b021e82376f96888d2374a9de774dbeb6067ee335a2f41dc87918c3 SHA512 279e84b9fba7fcf68c7b8666882411dff77d056258f8e315c141b736a910377bec28020d11fe09ec42921ddeb746e34cf2b8ef3f0503d4578cd8faeb416f257e EBUILD rust-common-1.84.0.ebuild 1449 BLAKE2B c75e4ec75e326ac31c632fee456df989b0eb24dfefa8b34c10b28223c67778343eb0c3f00be3e956949a46b912d321f9632ce07d1fb1dbe0bfa3d5ec3e6cf96f SHA512 110b0a401b560ff5f55075dc84df869a48257231de52cc8cd0661c50060963c9a1d32f96b149a5bf44dd3f79ab9a2140664ef39dd2b6fce2f8390ac893df7f8f MISC metadata.xml 324 BLAKE2B 25e471eacc689a8af7e0251146bf712b020a10d55e3cb48285f174996ec66db8bbd146d4737db15ac3b2abf3e1f0415277b9bdca84d94f9b08a56e9242a4fcbf SHA512 723c102ec7017eeb72bfd6f37c16e2705e61bb626a93e5127eca2275a9367cefbccdd846fe8a699bc1192ae52cafe236f3fb6261fa6db361564b34880a9db2fb diff --git a/dev-lang/rust-common/rust-common-1.83.0.ebuild b/dev-lang/rust-common/rust-common-1.83.0.ebuild index 285a9a5b8e5f..5c676ac678bf 100644 --- a/dev-lang/rust-common/rust-common-1.83.0.ebuild +++ b/dev-lang/rust-common/rust-common-1.83.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -27,7 +27,7 @@ S="${WORKDIR}/${MY_P}-src" LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" # Legacy non-slotted versions bash completions will collide. RDEPEND=" diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest index 6bbcf4852c08..9da5db1521fd 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -1,7 +1,3 @@ -AUX 1.47.0-ignore-broken-and-non-applicable-tests.patch 2862 BLAKE2B 96363bfcaf3634185160d54f475711409c5af1e31b8deb3f1cb8650629eed6f4db6b8d758b84055c9ebe2983a213485f9d4d6de4f551ea1e3d122f7c3baad77e SHA512 4a2c7eab2d3930ba6d8bc042f52c993683a3e21bf023ae609bfb4db65df8c5750ce94264d6ee9196e4dfd3b3e204f10c70d6f3a2e752d0b373fee4ada4c5fe53 -AUX 1.49.0-gentoo-musl-target-specs.patch 6377 BLAKE2B 07e037353210292bc576ebbbda2afc489efeb696dffb34b4c5edffbb512b0ba5944cf641e625dd8a158cc7234b70d49d377397aab8cb9a86b4ec6f5a50a6cba6 SHA512 e166d4ed3e321257cef03655be98915badef432de10aa2bde2a4b9f1913dbb774a29a72d7d2861f69d02a37fd9f7c753c551a3e65fb7da4dfa78a8601eab8d38 -AUX 1.53.0-rustversion-1.0.5.patch 13732 BLAKE2B af345fb7fc8bb3ab139ed0e14819b0e000a1a525703c11535594695151640fe360a089c460a7f1219f0b8010979d73de55fbdd223f32ba7ba296ed16b048ec13 SHA512 ec748dd5a0dbebadae3e98bbef40338cc945180560586ae9aee7a1ec7e94e7a061ba3f3760f11e8061accfab908128d048aa834da5e34387dd0bb0fc16e82af2 -AUX 1.54.0-parallel-miri.patch 1707 BLAKE2B 131daebf9a1a1c454adfb61ce781204cb3f78f1bd2d0985fb76a9743a5f74ba8504845110a8fa624ebb9fc03bfede6bf3b115d706788af76d4baf2234056c006 SHA512 934bc8edb46d4367328a522fb83f020e2fac09a6a373482e8b2110383725f4733c500045bcb6119d4fdcc5367401a5ca787fb2491f6bb5b25c41897adf66fd88 AUX 1.62.1-musl-dynamic-linking.patch 898 BLAKE2B 09321e356d5c945f72e75e668bfee2a78158131713b917d7a70834dfb0e9c732a1d259ac5406e12552ffa5741dd03c08a5a04e3c68d3e6f905318486b23f081e SHA512 3edefd746a2b1eacaef7b3fd51b14a36ec0a5a4f8893355c48d3afba862405451f4d6961b22b429db1b402572d841d91351ac4759ab8ef3891fd00641d827d48 AUX 1.67.0-doc-wasm.patch 1359 BLAKE2B 59293c5b61de7ca283629d7f65b965388a42527811fc8355cdf5320fee03d10560f34e9c9a25dbe91e5758c37484485581a5e524a497711f1e108e5ffde6c53c SHA512 f3bafc2d0d2569f0d6891e14aa307cd2425d6624832b27381ae9d6f7ced488eff6d5fa0cdcd77a98d1f92a10a9d832f3aa3c481d1abbb42a0882862bbb189346 AUX 1.70.0-ignore-broken-and-non-applicable-tests.patch 1029 BLAKE2B 42a634c423c57f23bf709294f79024fde03a529c9de6e15554102bfb0a777571e388a8a122d8e01fa8b1889b873083e7802ee30bc9de3c3ebd758a6c7628f295 SHA512 3b0f22370f002934f5237849f2a018989a700e6b4ed5ffe308d5a0acda54c85b67919db88a94eb991568056030899802ceb2bf102ce8eef9745efee40e8f738c @@ -21,11 +17,6 @@ AUX 1.82.0-dwarf-llvm-assertion.patch 10589 BLAKE2B 2fe6a9e5cb4714c310539cee24c2 AUX 1.82.0-i586-baseline.patch 1818 BLAKE2B 59f396cbcc9421ae9394d0bb51053dc9addb8ca895ea8c4d7633b56361782b65f4e7f0699dec2999f2e188b4929f9036991444187f8ef35f6fea176a01999f83 SHA512 898dbde6a2f3acbe7a50023b88d3280ae85125e2bb99d18823174b541972766cf75a3457a34a024cea7348537fa6854af6ffc975abbc19323a20de87cbf5e5fb AUX 1.83.0-cross-compile-libz.patch 915 BLAKE2B dbb726de09c9c957f245ecce29c597f4c9c26bae0c14901c62ad51349f02d47c69fa687bd926f7ecf47aaab4ac5aac9378dfe7fa0a66dee95ff1765c5aa9b0cc SHA512 b9127b7656b8e5f79db3157d9425f97af0634088fad512e572357797a2f24f9e9c3635e06ab2efc5ad8edf86ffcab53adbf013e29162579642a382d0015ab54e AUX 1.83.0-dwarf-llvm-assertion.patch 10432 BLAKE2B 27f7c4145cf3046e7cb74071b72c5d7a4a3cfbdc97530c588f82225ecc8a76692d228804c3fb8e7f356d9e76b982d429fa369dc5f4607d8ad91e3a486c7cd5fd SHA512 aa0b4022f00fe126953d7d9bb6759c5ef1b6deaf7dd387e031e74c9d1cbcd6861c673afefdca5f494015ddcb64f23297f1176f22d4f3b63ec3dbd0c39527adfd -AUX llvm/12/cstdint-signals-h.patch 993 BLAKE2B f771a4f0bbe1cef4001e471b55d9849999e53ea9eaf20b7cde76495faaa8b34f920c011d4ef1fb19c23b41b86c2fd46c9fdce068314d3450a99ef76b60173bc2 SHA512 4d7f2f90654eaa4132088dfc1541b9e804cd67f1889317c05bd7c2ebc65205388c3c128c749d864ca3b1e04e170f5aad5964e7eb331867043beb5b3f07548730 -DIST openssl-0.10.35.crate 204462 BLAKE2B fb58a3be883bac3d5aa3e971172a281a80e9e100c51585db3d2828ecfd89d0b3b19edfacba2039056fa3aefb79717e03cd2ecbf932afb1acac2e74e1c29d3551 SHA512 5ebe4626a894ccc6e5c159cef72357654aa1a20dcc863fdab495f10a574b49b0b9d4e85a069b8b9297544ea0d09fd88a976396c3a8e8faaee9d01d79d943126f -DIST openssl-sys-0.9.65.crate 54405 BLAKE2B f0e09accf076653f172199d36bfe0b7547a738f962e9ee8c15563c4d27587aade3e44830022a1787dfc932ae1f162336e3a110a34b1459656631c7ea50e58b75 SHA512 4c14ff5258a35b86e35d352c5702c90e1f70954c8f33d17160694b63305057b97da3ac6846d3e8f8e7293c40f15b76effd1e34fad4be613b8d815b90148406f7 -DIST rustc-1.54.0-src.tar.xz 116286856 BLAKE2B 5ac47822646a0b6205f09282168b4d4ddcace9f6bc8f242c890327ca4074626f129514f8bcae5c5556015745f718990cce490658076f5cd3526623439540416b SHA512 5162f85b43ca2c5af93fdbfb2597d75df8a838f7fcc025a5298499ce1043db50f1ea2fbba753e47ce5daad3d80d4b612acf6527ef902c34117763e687fdbbcfa -DIST rustc-1.54.0-src.tar.xz.asc 801 BLAKE2B 5ee9166eaa00e4ffec10fb82b18946d403bc2030c6e04de6449311cbccc2ef1b017044f451a1c19be3a0a9640c4a9a9e4bd22d28e2115509f333ae38eb25e9d4 SHA512 5ad91f43515de14114964db0348cd28c08adc6dc935f110bf339053414b8eab8a40f1074ceffa44ed2df61254f8368d867479400618c44efaa0333642ab49d07 DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 DIST rustc-1.71.1-src.tar.xz.asc 801 BLAKE2B a88c073a70552d73e2d7695eceabdaa478f34501b7271fabf7f4a09f3efa545181f34353e45776b05918e6aeba88adb02f9731454f7085a7abf1602fc6589983 SHA512 9dd0406cf22f1daa7fcfd015fc1c6f8d36586aa99bf14c1491ee464c1f892ab759feb83e8b55b64713170fb777fdbe038fb5fd01a59c911b6599223baaba0677 DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d @@ -50,18 +41,17 @@ DIST rustc-1.83.0-src.tar.xz 353808388 BLAKE2B 217c85f7351a7c57a2684da2c7c81a320 DIST rustc-1.83.0-src.tar.xz.asc 801 BLAKE2B 3bacb43d50ebba579dc2d4f1726298a7887e303e15f039ef72b840e30d90bc2cf9cdbe4617a9ee113a2b1a48f1982e72cf30323d72cdfb9a65b5b4d734ca0024 SHA512 84b252ccaddc06cb05858ff64f582dd25823818c81b1e3a00362deeda06f09e6c36948fd316d5f0ca5e24949e6f99bb14a14dbd2af1cfbb85e679e27ab0a813c DIST rustc-1.84.0-src.tar.xz 354993944 BLAKE2B e4697d8a9f42484556ed490390aef535b2214ccb3715ade57936211c1c637737da5f2b9a6c53a30df0fba1744fbd80d4d1382c0b74f6b36b36098bf187557201 SHA512 9e964c1b964e74083a9002fa04b072fa8fe7a520b24ad55e88a89bb2a2a2cd5727c5438d6db425b824ae7502ab215c2dd3f49777efd65f76bae09965df2e070a DIST rustc-1.84.0-src.tar.xz.asc 801 BLAKE2B b1846702f36b92c479499f5eb704ce1e272131fc1b6b625c8d64c873a82ed79b1de8cceb1f21ae4b9dccf81e258547debf367b7b769ac94ed10a59dee18f79f1 SHA512 5ada0e0fed9901044eaa0d7cb657f685c7e183e91245714abe4a0a8bf3062a7de281932c7de7587220df0542511f6011d057bd8bed19d98c755eab74091cdfdb -EBUILD rust-1.54.0.ebuild 16326 BLAKE2B b7dbdb8f5ef963e97a6a6062c202d66e7320c30c2239576b5aae24d9bcd2197755fe41a36d274b007a31cf597db2a7a41618e47cc8caa4c4208b219907c3438a SHA512 491ad28e70b29ce2370cec883389e0bf11bc86816828c0d60d2015cf6d749ce716e3245eb5aa9477ce27e209682ba747927e09027162a52f9e30be47f4f81f54 -EBUILD rust-1.71.1-r100.ebuild 21745 BLAKE2B 00ab028c6a561771c48f027eb492e2c03c1d4cd59f0af5bf10bcd3fe035ddf6b2acde655802a5a3a3562965fa59fec28fbe0294bf2db2ae1f5efa653f26a2777 SHA512 ec1759c2d50a5e628315aa468050ab88a2e51349690919fc6cc1a3dac27ebff7da76fdfbb6a4b0d954e5237e0f5ca37dd64c6d4fe3c3d2e5072ac470fe1930b0 -EBUILD rust-1.74.1-r100.ebuild 23089 BLAKE2B e53e3cd1e84a1e37678b861c692a4ccc688743a9724b42fff5d0c01df89c729dc7d6c84f7390961bdda087b0046ef6a8287fcdcee905a5fdf6a6a88bfeef1bd3 SHA512 e382f072a7cdf6fe7aa9a73def531ae015ffbf0ae2a490571e716d9eddc82c2fd49c071485d4b3f22b22f5a6235bad87b626404cd31c8484273a0f460af0611e -EBUILD rust-1.75.0-r100.ebuild 23252 BLAKE2B 88dd9369dce61047e031eda181fd4e6ae38cf13625407a984a69bab9585962e6065b78c510c8584f9f47615a01351ba7f57293f12a2df9356cdfdf3d77d629bb SHA512 887d3f319daa1c85ab18d1d715990b9ccb0f5588cedfe9df9a30017ee63819fdc5af630e0d59a31df9c8453b485cf4e679bdcffb49368acb4162084f2c47fd62 -EBUILD rust-1.76.0-r100.ebuild 19759 BLAKE2B e8cec2e836d194a99fd3ba229e37d33f8a5f757152439411a199cc7557f844c07e8464482fd84d9bf96a4606a94bcea19219bf5758d409009f34e30e7308e36d SHA512 a08765efb5bb8c5f3dc8921b435f6325f2ece685813e41083890a5c82b23d410dda2b6c93b57be44be3e645a023e3c111b678fd73436a3ac471d2186ac3040a0 -EBUILD rust-1.77.1-r100.ebuild 23215 BLAKE2B b237a479d561809ddd48604e54b03a90083631ee5b5f751b3792f29a05afd88358a6e16c67605bbabf740281a0e780a19d9ec058d0887d23120191d9fb2b29f8 SHA512 f4b5efe47b15c082dbb6129ccbba9a4b0c9c0d20e4ac567c40f3936601ccb83cc76720d819b3c4b679af585d7b1b2d3069d8777ce18eff4a767835e1b91069b9 -EBUILD rust-1.78.0-r100.ebuild 23450 BLAKE2B 98425791e76577e15c3ae45c6e1873c86833eedddf7b4a00683320fc3896d2ebcdc0b013d6880b33df60df85854693cf66e62b849f0d1ac7a649d44bb1227343 SHA512 2c306c7056f684dd22de926cbe893495e8f37d34913341cd095cbe2930553161ebb85b6ef253dd8c71e0961310c9f896facae1f5fedf5253a1345991198cc194 -EBUILD rust-1.79.0-r100.ebuild 23450 BLAKE2B 98425791e76577e15c3ae45c6e1873c86833eedddf7b4a00683320fc3896d2ebcdc0b013d6880b33df60df85854693cf66e62b849f0d1ac7a649d44bb1227343 SHA512 2c306c7056f684dd22de926cbe893495e8f37d34913341cd095cbe2930553161ebb85b6ef253dd8c71e0961310c9f896facae1f5fedf5253a1345991198cc194 -EBUILD rust-1.80.1-r100.ebuild 23322 BLAKE2B edd1df1fb91e17031c8eb910ef24fa7e4e1d3d17469c025ca15a39d3cf006353e6ebc6ce8c763f9b4d849854e2fc1b9cac054ea59fc5b012df99d11f5ddb82dd SHA512 d66b21f0df740b03c2348fc4e8dc20b761e831cd448aedb82ec61416cece0f1018e9435743bcf06b58f6a4bb815802298a1a0e2024dac358e5b48b6f45613f1b -EBUILD rust-1.81.0-r100.ebuild 23519 BLAKE2B db7f998f97a8243aa652df4ddf15f2a4f8c495abc6dd7cb21f5d8f47d570f844ae8d61f2b04ac6889be5a5d365a8523a7a14cb25610d9312b17a1f0df255e226 SHA512 88884897957d6d106aed493b784135ad9b344b5e2769322aea86ae15ff5a1403d201e576fe45e6d9d4624b349aa48971cf4676f79008a9d0a31f8b718c76d11b -EBUILD rust-1.82.0-r100.ebuild 23665 BLAKE2B 1fb57943fd1d534f52ba3f6c33746c7423d4f8daa1bca37f518d9eb8a19ed6adcebea65d3e5a3315fbfe8b428c3476047c38fd2da423cce6d9209675c267bc17 SHA512 330b68f7a681f5e7580a9578c68f59c9a04ae3362e6bf69a16cf23178fdd22ceb4bee55fe41042d517ba75c4d594ecfd73098e880730d20fc235f8ad65a49e90 -EBUILD rust-1.82.0-r101.ebuild 23714 BLAKE2B d6f58dcc964fa4aa9da2a49da37ccfbde3b0d8860bca25d21cef30626cbff921cfb06f7a8afec87bfe1e6963facb835c1182aac4e80697e031ea28c25624e3a2 SHA512 d662dbe0e1b426e82e3e56e414dcd8e5180dfac1d24bd52e9989330b4206e2638a34b3f24f431a139c13ad9cc9437d92a0ff9f4a49daf1006a99d3707e2eb886 -EBUILD rust-1.83.0-r1.ebuild 22954 BLAKE2B cc59f4989a19691f0cf886eb0aa4c84806eb89c282164a916667f5b5eaaed12e3e84e012e1acbf9f5caf1ad36c6e6d8d8a70671da2c057f34c627642761e5287 SHA512 8d237831b11d7ffe97b7f50fae146d84c5c66d4728f73d6ec2eeece88246ec7a3e260aae908417869cbae34e18a4f57a6a22afdb4dce589567dd6cdda97d5412 +EBUILD rust-1.71.1-r100.ebuild 22077 BLAKE2B 1082eec69086f44922a4d9b4d7d0fbee5104c4653fe6320764748638389871081c5812aa0bed84ecd36f6d764e38a257c640518b3ca190797ca595506106739f SHA512 461a0bd207a4424c2512ee404202b14fdc8bf6d4bd628e38f325584ff4e452de0f3615e3a3683b2d1eae0b9498443eccb10f6800cf3c6be862f1643b9203c017 +EBUILD rust-1.74.1-r100.ebuild 37690 BLAKE2B 93ff1451143f5282ef231911a3b820649052300b933a9e6fd602ce6dcbf6f88af118e2835e59d3b520ba7f09a292d71d1f9b7b7a48bbbeadaaf880ff0a0dc3ea SHA512 2709d8377472eda62ebd2d0c296b1b678c106e6cc33268823391f0e2072f06551e1bb9094017077f4bd56aa0a34bee3a329d0a6f27fd1f8304af6abcc9e9b241 +EBUILD rust-1.75.0-r100.ebuild 23584 BLAKE2B ec9b5d0dc286ce5f1931df6e60817531f3ce6002a3916e47355c557693b19bdacdefd3e01d309880c8e48e53d4fc9082bab4aa2ed9da34c51df8b8c25e60305f SHA512 f759a9db473a3d19571b20669b9631446b71c508ba9cf42edc126e1da03ce8ad34478b6712f48711ee152001841d31662ea6f227faacec1fb51b625522415e64 +EBUILD rust-1.76.0-r100.ebuild 20091 BLAKE2B c9132c08aa051dcd3412909472312db21db79db7215beacc564c2d58e00b2dbd758f4bfa3a81d2a5dfa70a1bbf9ec82a96dbd7042e561d05c5e3cb7a699d240c SHA512 c9a821bfb2f693ab5d628eff20dcdea32bc1f29540e22c465275f89a6559f6db6d9ab93fd2cabba30f20b5bdd9cb24645d4f73f9b1976bb113b06544ea4746c2 +EBUILD rust-1.77.1-r100.ebuild 23547 BLAKE2B dfa0b1105be8a58c88afd4fe184381bc83516f9935e6ac533d8f44bc0953b3da9305cbfdd44915810d87fc89cd2aee76f06e30d617ed4425cd01cbe429e5e8c4 SHA512 9ce03c548c77382a8fd91690a6071bf082f468e5807cd132a0b8206208580336a61991f7d563b5d12629d920753e2b2d59d099e7f7afad17d259717a17af6cd5 +EBUILD rust-1.78.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2 +EBUILD rust-1.79.0-r100.ebuild 23782 BLAKE2B 82f2bbdc80f99f3636683e406bd3263f4759418552fcacf071668451a3dcd89f636b0205559638fab834327ef841cf477d43e6ac945313f5ba60c34305d930fa SHA512 2c65b01e2e31e97f9a1e06d177345b8f2024a60806514516376e9d5be43cd5f3a2f2d4d31f097016dd31b65ba282c0b69dc54e6549738e898fa47add58892ff2 +EBUILD rust-1.80.1-r100.ebuild 23654 BLAKE2B 10e70066371a07ff8e0618533ad210c5080e2cfcba87fb69535c7845b508e62825d9d392068d1ee264fcf951c20c9bbe815e4868ac08d0f97b68a6a77a03417e SHA512 e1869237eb35a8f27ed1b540b679c58aee3303e21d7f6f96af8828171c1bfd1d32c7c0a3b94e15fc2ca4bc0e0840ee9e79fd5a93b5c3e8e2e9b1fe70965c875a +EBUILD rust-1.81.0-r100.ebuild 23851 BLAKE2B 03c31a2fca18dbddce10b8652bba84d86fcde844a24c3bb4c1981f7ef549627c03008c4df82fe0529368e4e7af632ed605a49502a79ff8c670e680a5ae94c10b SHA512 b313e6de5b77854bc2c2afb6ae1347f85a0dbbec86111b8f266ed6f3e92d0eee461588b209b1cead0caa433336c7c63040d08fd00de3272c51cf68c5d2ba3ff1 +EBUILD rust-1.82.0-r100.ebuild 23997 BLAKE2B 227d902466e31d42551be544e88839814ffb05e43fdcebdcdf43e6afa9019ea398ac9123a6e38f73f7b7772891a504a425d570401937d43667d2cead70597c46 SHA512 cbff12c735f0a0bd1f098a27f69212affce60da38b79409da4b10b256d9bb8ebdd4129b78786354bac9fba63c4889e5a58e10d522e928901e7ff20c921925da4 +EBUILD rust-1.82.0-r101.ebuild 24046 BLAKE2B d132b0109d9d1e68ded0357221609102f0e638069e4ec2bf61e53fb94b388fe67e97b5cb5ee3f29ecdc3a9f4c18a4ad6cef0e08addc248289ae3178c2e04aa04 SHA512 31f3e5bfa8345bcad487474bd8e0570c31e51a7e477d030f2fe61148e4598f069211139504a43958367b740cf38b18ff92e46e49d6080b7df8177453e9dae14e +EBUILD rust-1.83.0-r1.ebuild 23279 BLAKE2B 183f2a6f686030c2efad110709d52b68c655dc374faa748f83c5d33ced7e44b81d5c321e843e8ffcd6c4d248bb8b6452986eb9f1e0b636e199404668f3a54518 SHA512 8220054d98db8bb50d9abd765ffefaafd360ad13ee566485e2f82930a8821b32c7b5e33080127e8fea5dbe655a81c8edd1563d0efa5c78be4c41d8bd4af22050 EBUILD rust-1.84.0.ebuild 22990 BLAKE2B cecc312f026169d94fdd5d435c54fe83f75bc5c6c0d3954b255d4a20dcca2a97254a7555e2c64c7961643bce0cb2779fc105cc0bf3dc6f4c1c3c3ce6f4736213 SHA512 c31e9762a00f862814865b70d7ec2ea1fe26aa7ea0c97f8795e29dc1a97e74c46d2f8381da47e11b389c112312421ee059134a29b3924a476b526ff49bf94d1c -MISC metadata.xml 1708 BLAKE2B ab2730e5846922c119865b26cf317a9d150321dca15500b2254fe6d0580e939a67d3b42ef1b74268ea629e843c251c5d1edc2e88edfe590c0c6e7d1b98b38b04 SHA512 6b7c99fed72711e3bdb024e6873ef0a372c7456ddcc56af239c6f8bacfff688ad8246ded6b6489172f94dbe5921159be42021248200afea2b304a529dcff7485 +MISC metadata.xml 1841 BLAKE2B 48a8167ae44a7f4892b917895298627ac920af6c488180980e65bdeec53b650455fc6d7dddad0a7a8257d473080082377fb6b6df6a834b294b6e6485e6784a1e SHA512 1f5fd792b65ccac89a61233004980d9f7cbaecea5d05f35f9cc2dc9cab4e3ccfcd46828e88770a1b8ba5ca23064b6a75eea72a0b32bcce52bb399b85ac95f755 diff --git a/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch deleted file mode 100644 index ff1707f4b8a4..000000000000 --- a/dev-lang/rust/files/1.47.0-ignore-broken-and-non-applicable-tests.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 -From: Samuel Holland <samuel@sholland.org> -Date: Sun, 16 Sep 2018 16:38:48 +0000 -Subject: [PATCH 12/15] Ignore broken and non-applicable tests - -c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 -env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) -long-linker-command-lines: takes >10 minutes to run (but still passes) -simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 -sparc-struct-abi: no sparc target -sysroot-crates-are-unstable: can't run rustc without RPATH ---- - src/test/codegen/sparc-struct-abi.rs | 1 + - src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile | 2 ++ - src/test/run-make-fulldeps/long-linker-command-lines/Makefile | 2 ++ - src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile | 2 ++ - src/test/ui/env-funky-keys.rs | 1 + - 6 files changed, 10 insertions(+) - -diff --git a/src/test/codegen/sparc-struct-abi.rs b/src/test/codegen/sparc-struct-abi.rs -index 78e5b14a212..6f93e93286b 100644 ---- a/src/test/codegen/sparc-struct-abi.rs -+++ b/src/test/codegen/sparc-struct-abi.rs -@@ -4,6 +4,7 @@ - - // only-sparc64 - // compile-flags: -O --target=sparc64-unknown-linux-gnu --crate-type=rlib -+// ignore-test - #![feature(no_core, lang_items)] - #![no_core] - -diff --git a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile -index f124ca2ab61..363b18f0985 100644 ---- a/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile -+++ b/src/test/run-make-fulldeps/c-link-to-rust-va-list-fn/Makefile -@@ -1,3 +1,5 @@ -+# ignore-aarch64 -+ - -include ../tools.mk - - all: -diff --git a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -index 5876fbc94bc..5f167ece1a2 100644 ---- a/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -+++ b/src/test/run-make-fulldeps/long-linker-command-lines/Makefile -@@ -1,3 +1,5 @@ -+# ignore-test -+ - -include ../tools.mk - - all: -diff --git a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -index 9e770706857..6d92ec5cec8 100644 ---- a/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -+++ b/src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile -@@ -1,1 +1,3 @@ -+# ignore-test -+ - all: - python2.7 test.py -diff --git a/src/test/ui/env-funky-keys.rs b/src/test/ui/env-funky-keys.rs -index c5c824ac58d..f3fe047a79c 100644 ---- a/src/test/ui/env-funky-keys.rs -+++ b/src/test/ui/env-funky-keys.rs -@@ -1,6 +1,7 @@ - // run-pass - // Ignore this test on Android, because it segfaults there. - -+// ignore-test - // ignore-android - // ignore-windows - // ignore-cloudabi no execve --- -2.24.1 - diff --git a/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch b/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch deleted file mode 100644 index 25f1f27fcce6..000000000000 --- a/dev-lang/rust/files/1.49.0-gentoo-musl-target-specs.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 671ef2d1c228aed031b4232b8bea96f17b825263 Mon Sep 17 00:00:00 2001 -From: Georgy Yakovlev <gyakovlev@gentoo.org> -Date: Mon, 23 Nov 2020 14:52:04 -0800 -Subject: [PATCH] add gentoo musl target specs - ---- - .../src/spec/aarch64_gentoo_linux_musl.rs | 11 +++++++++++ - .../src/spec/armv7_gentoo_linux_musleabihf.rs | 11 +++++++++++ - .../rustc_target/src/spec/i686_gentoo_linux_musl.rs | 11 +++++++++++ - compiler/rustc_target/src/spec/mod.rs | 8 ++++++++ - .../src/spec/powerpc64_gentoo_linux_musl.rs | 11 +++++++++++ - .../src/spec/powerpc64le_gentoo_linux_musl.rs | 11 +++++++++++ - .../src/spec/powerpc_gentoo_linux_musl.rs | 11 +++++++++++ - .../rustc_target/src/spec/x86_64_gentoo_linux_musl.rs | 11 +++++++++++ - 8 files changed, 85 insertions(+) - create mode 100644 compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs - create mode 100644 compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs - create mode 100644 compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs - create mode 100644 compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs - create mode 100644 compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs - create mode 100644 compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs - create mode 100644 compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs - -diff --git a/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..420fe7c ---- /dev/null -+++ b/compiler/rustc_target/src/spec/aarch64_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::aarch64_unknown_linux_musl::target(); -+ -+ base.llvm_target = "aarch64-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs -new file mode 100644 -index 0000000..067e2d6 ---- /dev/null -+++ b/compiler/rustc_target/src/spec/armv7_gentoo_linux_musleabihf.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::armv7_unknown_linux_musleabihf::target(); -+ -+ base.llvm_target = "armv7-gentoo-linux-musleabihf".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..1cd39cd ---- /dev/null -+++ b/compiler/rustc_target/src/spec/i686_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::i686_unknown_linux_musl::target(); -+ -+ base.llvm_target = "i686-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/mod.rs b/compiler/rustc_target/src/spec/mod.rs -index f1e8330..d8c0ba0 100644 ---- a/compiler/rustc_target/src/spec/mod.rs -+++ b/compiler/rustc_target/src/spec/mod.rs -@@ -490,6 +490,14 @@ macro_rules! supported_targets { - } - - supported_targets! { -+ ("aarch64-gentoo-linux-musl", aarch64_gentoo_linux_musl), -+ ("armv7-gentoo-linux-musleabihf", armv7_gentoo_linux_musleabihf), -+ ("i686-gentoo-linux-musl", i686_gentoo_linux_musl), -+ ("powerpc-gentoo-linux-musl", powerpc_gentoo_linux_musl), -+ ("powerpc64-gentoo-linux-musl", powerpc64_gentoo_linux_musl), -+ ("powerpc64le-gentoo-linux-musl", powerpc64le_gentoo_linux_musl), -+ ("x86_64-gentoo-linux-musl", x86_64_gentoo_linux_musl), -+ - ("x86_64-unknown-linux-gnu", x86_64_unknown_linux_gnu), - ("x86_64-unknown-linux-gnux32", x86_64_unknown_linux_gnux32), - ("i686-unknown-linux-gnu", i686_unknown_linux_gnu), -diff --git a/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..e840bb2 ---- /dev/null -+++ b/compiler/rustc_target/src/spec/powerpc64_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::powerpc64_unknown_linux_musl::target(); -+ -+ base.llvm_target = "powerpc64-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..1037d82 ---- /dev/null -+++ b/compiler/rustc_target/src/spec/powerpc64le_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::powerpc64le_unknown_linux_musl::target(); -+ -+ base.llvm_target = "powerpc64le-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..a623ffe ---- /dev/null -+++ b/compiler/rustc_target/src/spec/powerpc_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::powerpc_unknown_linux_musl::target(); -+ -+ base.llvm_target = "powerpc-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} -diff --git a/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs -new file mode 100644 -index 0000000..f330473 ---- /dev/null -+++ b/compiler/rustc_target/src/spec/x86_64_gentoo_linux_musl.rs -@@ -0,0 +1,11 @@ -+use crate::spec::Target; -+ -+pub fn target() -> Target { -+ let mut base = super::x86_64_unknown_linux_musl::target(); -+ -+ base.llvm_target = "x86_64-gentoo-linux-musl".to_string(); -+ base.options.vendor = "gentoo".to_string(); -+ base.options.crt_static_default = false; -+ -+ base -+} --- -2.29.2 - diff --git a/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch b/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch deleted file mode 100644 index bc6ae8be00b7..000000000000 --- a/dev-lang/rust/files/1.53.0-rustversion-1.0.5.patch +++ /dev/null @@ -1,234 +0,0 @@ -From 12efa21eb88cb43d3b927952da0c5635373ac92b Mon Sep 17 00:00:00 2001 -From: David Tolnay <dtolnay@gmail.com> -Date: Thu, 17 Jun 2021 22:34:55 -0700 -Subject: [PATCH] Update rustversion to 1.0.5 - ---- - Cargo.lock | 4 +-- - vendor/rustversion/.cargo-checksum.json | 2 +- - vendor/rustversion/Cargo.toml | 2 +- - vendor/rustversion/build/build.rs | 6 ++++ - vendor/rustversion/build/rustc.rs | 30 +++++++++----------- - vendor/rustversion/src/lib.rs | 15 ++++++++++ - vendor/rustversion/src/time.rs | 13 +++++++-- - vendor/rustversion/tests/test_parse.rs | 10 +++++++ - vendor/rustversion/tests/ui/bad-bound.stderr | 4 +-- - vendor/rustversion/tests/ui/bad-date.stderr | 4 +-- - 10 files changed, 63 insertions(+), 27 deletions(-) - -diff --git a/Cargo.lock b/Cargo.lock -index 0939f19cdfe..26a89caf050 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -4582,9 +4582,9 @@ dependencies = [ - - [[package]] - name = "rustversion" --version = "1.0.4" -+version = "1.0.5" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd" -+checksum = "61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088" - - [[package]] - name = "ryu" -diff --git a/vendor/rustversion/.cargo-checksum.json b/vendor/rustversion/.cargo-checksum.json -index e1277df7b59..0a134695aaf 100644 ---- a/vendor/rustversion/.cargo-checksum.json -+++ b/vendor/rustversion/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{"Cargo.toml":"1a91782510461d54726e816ae776042b95c79c9949d49c11b8782caefc22ead2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"01dc6a1bf499a12bd0bfbbfe4db2ca8460b2c151235bcf2aad2356de4c2ec50a","build/build.rs":"481daf363b7004c90ffc3e012863a4102e9f26b9aaa2a4a295c2dd78f690be28","build/rustc.rs":"4dc8f1764672137bd15758cc19242740b0d6ab99e4a69171ad0999f9112a15a6","src/attr.rs":"9301cd4aff5a9648c057d5d8de9eb66921f0c3a715c51ada4459576bd49c8b19","src/bound.rs":"44bda74d3aacfeeeac9dae2f7eef3acc844d4c3c7eaa9d3e6288e5aeff269dff","src/constfn.rs":"613b8f53b21cc06b4f619fce9000993d3e7873b650701ca01cef1e53bed5b40a","src/date.rs":"454c749a60db8144a706a813e06fe3ae39c981920ba9832ef82f3f9debe1f052","src/error.rs":"cb37102f03ebbaca313d80f9714fe08dfef92fe956789ee87d93eb6121705f4f","src/expr.rs":"8e8ca76f4f5838436d9d7273f499c698bb41f6c15bc07d32ec5c1cb8bd3dd731","src/iter.rs":"8d4b817b9abc4e817105b673e15f29ef9bb8284a010ce01ac2d83387fe136947","src/lib.rs":"f8347832d8072058dbb4af6b8d67a834a02fe9c5460bbaa26defec4b66317f1b","src/release.rs":"abb8ddd877c39a023bf5e7bd67063d6e4144e79758a8bafa338167f9d15b89f1","src/time.rs":"45fb48ff0a0046a5a1b108b9ce53b14885637ad868ede1d66970379c2b7f16ef","src/token.rs":"824ce765f692db73afa02d3ebb0281c750748035efc98fa547be29d3072665ce","src/version.rs":"afdb048bba95bbb885945eba5527b6bf0eca0105642bfc304c2f82a8b7d556df","tests/compiletest.rs":"0a52a44786aea1c299c695bf948b2ed2081e4cc344e5c2cadceab4eb03d0010d","tests/test_const.rs":"a8297ca6559f895a3b2664964a42b6f82bbbc3c8faa9556a513006e6e1827995","tests/test_eval.rs":"6f0ee3f49c9a0d0c374a4d0e9a9dce753cd9fc2ca7725e000a435dbd5f4a9ce3","tests/test_parse.rs":"fbf9695f4208263743715e6c8b6294dfffee21462a65dfeb9339a70c0e18dbc6","tests/ui/bad-bound.rs":"25bde278fcaabf62868417148a5e5f2006bf589d7ebd7bf6004fb8d78e47594f","tests/ui/bad-bound.stderr":"bc9297f758c2541fb0a8b48d5785f4bbcd0d2a07d876ba0baf2fc9de9275e7e6","tests/ui/bad-date.rs":"6e23714dae8b6346fefe50dacd4abba3265248bbadfdd60c739138aa8a0037ba","tests/ui/bad-date.stderr":"1ac3cab13ee900fc8344e8fab21ff4d9cad476aca44925a4c1b2293a6b59b742","tests/ui/bad-not.rs":"f003df8bd245e9dd8edc3a6d94078ee5162fac7a98db881271f0f5b6db98d45d","tests/ui/bad-not.stderr":"d4ef78fae4a82419e737757158796cb103a5920df498956eaf57ed201797b463","tests/ui/bad-version.rs":"f4ea2cd038e6c63deb9c2e3ceffce93dbf179d9ce18c16d88f3b6cd7138a8c8e","tests/ui/bad-version.stderr":"60ed51c62f4c2fb6ff95cff7523cfca379ed434f319da9d82704318588792338","tests/ui/const-not-fn.rs":"10bbe38f0d89391fff0698756e4cfd4e72a41090360393a0c951b67df14d1c35","tests/ui/const-not-fn.stderr":"9551f7f222445b31d7af2415d467301c332d55bb3d5a143846484f2f00047a01"},"package":"cb5d2a036dc6d2d8fd16fde3498b04306e29bd193bf306a57427019b823d5acd"} -\ No newline at end of file -+{"files":{"Cargo.toml":"a09ee758f816eddff8a8c7fb5be54dd95e74caad18a207251faedd251ecfaf1c","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"01dc6a1bf499a12bd0bfbbfe4db2ca8460b2c151235bcf2aad2356de4c2ec50a","build/build.rs":"bae427f344972e6e0e348ec48dce0947274b3ec6cac0938497a8d3da5c9834e5","build/rustc.rs":"3e4acf7ea679f9331dd4e8dbe42a08a312f58379ea1eee5898793a9848d06d8c","src/attr.rs":"9301cd4aff5a9648c057d5d8de9eb66921f0c3a715c51ada4459576bd49c8b19","src/bound.rs":"44bda74d3aacfeeeac9dae2f7eef3acc844d4c3c7eaa9d3e6288e5aeff269dff","src/constfn.rs":"613b8f53b21cc06b4f619fce9000993d3e7873b650701ca01cef1e53bed5b40a","src/date.rs":"454c749a60db8144a706a813e06fe3ae39c981920ba9832ef82f3f9debe1f052","src/error.rs":"cb37102f03ebbaca313d80f9714fe08dfef92fe956789ee87d93eb6121705f4f","src/expr.rs":"8e8ca76f4f5838436d9d7273f499c698bb41f6c15bc07d32ec5c1cb8bd3dd731","src/iter.rs":"8d4b817b9abc4e817105b673e15f29ef9bb8284a010ce01ac2d83387fe136947","src/lib.rs":"5652f6f84fc80136bd29b2125f7676e80e0df7d40aac274b0658c99cecbd871d","src/release.rs":"abb8ddd877c39a023bf5e7bd67063d6e4144e79758a8bafa338167f9d15b89f1","src/time.rs":"bdd05a743b07a6bbfa0dbc9d4e415e051aba4a51a430c3be1e23447eae298c8b","src/token.rs":"824ce765f692db73afa02d3ebb0281c750748035efc98fa547be29d3072665ce","src/version.rs":"afdb048bba95bbb885945eba5527b6bf0eca0105642bfc304c2f82a8b7d556df","tests/compiletest.rs":"0a52a44786aea1c299c695bf948b2ed2081e4cc344e5c2cadceab4eb03d0010d","tests/test_const.rs":"a8297ca6559f895a3b2664964a42b6f82bbbc3c8faa9556a513006e6e1827995","tests/test_eval.rs":"6f0ee3f49c9a0d0c374a4d0e9a9dce753cd9fc2ca7725e000a435dbd5f4a9ce3","tests/test_parse.rs":"cdfe376020b9391330292968046117b0935c828d73385e8faeb2e333ec897088","tests/ui/bad-bound.rs":"25bde278fcaabf62868417148a5e5f2006bf589d7ebd7bf6004fb8d78e47594f","tests/ui/bad-bound.stderr":"a03dc78b380191c10d3b3406b1fd3208bb2609d4c26b9c33ccd335721e3cd072","tests/ui/bad-date.rs":"6e23714dae8b6346fefe50dacd4abba3265248bbadfdd60c739138aa8a0037ba","tests/ui/bad-date.stderr":"3a607fb950a69f7dc1b503295bce53541f9dee9f4674edc5d13ee3a69ff0e8cd","tests/ui/bad-not.rs":"f003df8bd245e9dd8edc3a6d94078ee5162fac7a98db881271f0f5b6db98d45d","tests/ui/bad-not.stderr":"d4ef78fae4a82419e737757158796cb103a5920df498956eaf57ed201797b463","tests/ui/bad-version.rs":"f4ea2cd038e6c63deb9c2e3ceffce93dbf179d9ce18c16d88f3b6cd7138a8c8e","tests/ui/bad-version.stderr":"60ed51c62f4c2fb6ff95cff7523cfca379ed434f319da9d82704318588792338","tests/ui/const-not-fn.rs":"10bbe38f0d89391fff0698756e4cfd4e72a41090360393a0c951b67df14d1c35","tests/ui/const-not-fn.stderr":"9551f7f222445b31d7af2415d467301c332d55bb3d5a143846484f2f00047a01"},"package":"61b3909d758bb75c79f23d4736fac9433868679d3ad2ea7a61e3c25cfda9a088"} -\ No newline at end of file -diff --git a/vendor/rustversion/Cargo.toml b/vendor/rustversion/Cargo.toml -index 56995ff0792..c72b1b2b343 100644 ---- a/vendor/rustversion/Cargo.toml -+++ b/vendor/rustversion/Cargo.toml -@@ -13,7 +13,7 @@ - [package] - edition = "2018" - name = "rustversion" --version = "1.0.4" -+version = "1.0.5" - authors = ["David Tolnay <dtolnay@gmail.com>"] - build = "build/build.rs" - description = "Conditional compilation according to rustc compiler version" -diff --git a/vendor/rustversion/build/build.rs b/vendor/rustversion/build/build.rs -index 2a8bc4af39f..15312510d68 100644 ---- a/vendor/rustversion/build/build.rs -+++ b/vendor/rustversion/build/build.rs -@@ -1,3 +1,9 @@ -+#![allow( -+ clippy::enum_glob_use, -+ clippy::must_use_candidate, -+ clippy::single_match_else -+)] -+ - mod rustc; - - use std::env; -diff --git a/vendor/rustversion/build/rustc.rs b/vendor/rustversion/build/rustc.rs -index 723e6bdd0e2..dfc6a05166f 100644 ---- a/vendor/rustversion/build/rustc.rs -+++ b/vendor/rustversion/build/rustc.rs -@@ -48,23 +48,21 @@ pub fn parse(string: &str) -> Option<Version> { - Some(channel) if channel == "dev" => Dev, - Some(channel) if channel.starts_with("beta") => Beta, - Some(channel) if channel == "nightly" => match words.next() { -- Some(hash) => { -- if !hash.starts_with('(') { -- return None; -+ Some(hash) if hash.starts_with('(') => match words.next() { -+ None if hash.ends_with(')') => Dev, -+ Some(date) if date.ends_with(')') => { -+ let mut date = date[..date.len() - 1].split('-'); -+ let year = date.next()?.parse().ok()?; -+ let month = date.next()?.parse().ok()?; -+ let day = date.next()?.parse().ok()?; -+ match date.next() { -+ None => Nightly(Date { year, month, day }), -+ Some(_) => return None, -+ } - } -- let date = words.next()?; -- if !date.ends_with(')') { -- return None; -- } -- let mut date = date[..date.len() - 1].split('-'); -- let year = date.next()?.parse().ok()?; -- let month = date.next()?.parse().ok()?; -- let day = date.next()?.parse().ok()?; -- match date.next() { -- None => Nightly(Date { year, month, day }), -- Some(_) => return None, -- } -- } -+ None | Some(_) => return None, -+ }, -+ Some(_) => return None, - None => Dev, - }, - Some(_) => return None, -diff --git a/vendor/rustversion/src/lib.rs b/vendor/rustversion/src/lib.rs -index 2614105dd1a..172eb89382f 100644 ---- a/vendor/rustversion/src/lib.rs -+++ b/vendor/rustversion/src/lib.rs -@@ -145,6 +145,21 @@ - //! - //! <br> - -+#![allow( -+ clippy::cast_lossless, -+ clippy::cast_possible_truncation, -+ clippy::doc_markdown, -+ clippy::enum_glob_use, -+ clippy::from_iter_instead_of_collect, -+ clippy::module_name_repetitions, -+ clippy::must_use_candidate, -+ clippy::needless_doctest_main, -+ clippy::needless_pass_by_value, -+ clippy::redundant_else, -+ clippy::toplevel_ref_arg, -+ clippy::unreadable_literal -+)] -+ - extern crate proc_macro; - - mod attr; -diff --git a/vendor/rustversion/src/time.rs b/vendor/rustversion/src/time.rs -index 1e6dd9066b4..3c21463dd80 100644 ---- a/vendor/rustversion/src/time.rs -+++ b/vendor/rustversion/src/time.rs -@@ -1,4 +1,5 @@ - use crate::date::Date; -+use std::env; - use std::time::{SystemTime, UNIX_EPOCH}; - - // Timestamp of 2016-03-01 00:00:00 in UTC. -@@ -13,14 +14,20 @@ - - pub fn today() -> Date { - let default = Date { -- year: 2019, -- month: 1, -- day: 1, -+ year: 2020, -+ month: 2, -+ day: 25, - }; - try_today().unwrap_or(default) - } - - fn try_today() -> Option<Date> { -+ if let Some(pkg_name) = env::var_os("CARGO_PKG_NAME") { -+ if pkg_name.to_str() == Some("rustversion-tests") { -+ return None; // Stable date for ui testing. -+ } -+ } -+ - let now = SystemTime::now(); - let since_epoch = now.duration_since(UNIX_EPOCH).ok()?; - let secs = since_epoch.as_secs(); -diff --git a/vendor/rustversion/tests/test_parse.rs b/vendor/rustversion/tests/test_parse.rs -index 843bd73d3e5..cb39b3179f5 100644 ---- a/vendor/rustversion/tests/test_parse.rs -+++ b/vendor/rustversion/tests/test_parse.rs -@@ -1,3 +1,5 @@ -+#![allow(clippy::enum_glob_use, clippy::must_use_candidate)] -+ - include!("../build/rustc.rs"); - - #[test] -@@ -76,6 +78,14 @@ fn test_parse() { - }), - }, - ), -+ ( -+ "rustc 1.52.1-nightly (gentoo)", -+ Version { -+ minor: 52, -+ patch: 1, -+ channel: Dev, -+ }, -+ ), - ]; - - for (string, expected) in cases { -diff --git a/vendor/rustversion/tests/ui/bad-bound.stderr b/vendor/rustversion/tests/ui/bad-bound.stderr -index f8c498c8577..2c56acbdb33 100644 ---- a/vendor/rustversion/tests/ui/bad-bound.stderr -+++ b/vendor/rustversion/tests/ui/bad-bound.stderr -@@ -1,10 +1,10 @@ --error: expected rustc release number like 1.31, or nightly date like 2020-10-26 -+error: expected rustc release number like 1.31, or nightly date like 2020-02-25 - --> $DIR/bad-bound.rs:1:22 - | - 1 | #[rustversion::since(stable)] - | ^^^^^^ - --error: expected rustc release number like 1.31, or nightly date like 2020-10-26 -+error: expected rustc release number like 1.31, or nightly date like 2020-02-25 - --> $DIR/bad-bound.rs:4:26 - | - 4 | #[rustversion::any(since(stable))] -diff --git a/vendor/rustversion/tests/ui/bad-date.stderr b/vendor/rustversion/tests/ui/bad-date.stderr -index 734d7889075..c523ccc02bf 100644 ---- a/vendor/rustversion/tests/ui/bad-date.stderr -+++ b/vendor/rustversion/tests/ui/bad-date.stderr -@@ -1,10 +1,10 @@ --error: expected nightly date, like 2020-10-26 -+error: expected nightly date, like 2020-02-25 - --> $DIR/bad-date.rs:1:24 - | - 1 | #[rustversion::nightly(stable)] - | ^^^^^^ - --error: expected nightly date, like 2020-10-26 -+error: expected nightly date, like 2020-02-25 - --> $DIR/bad-date.rs:4:28 - | - 4 | #[rustversion::any(nightly(stable))] --- -2.32.0 - diff --git a/dev-lang/rust/files/1.54.0-parallel-miri.patch b/dev-lang/rust/files/1.54.0-parallel-miri.patch deleted file mode 100644 index 68239d98d374..000000000000 --- a/dev-lang/rust/files/1.54.0-parallel-miri.patch +++ /dev/null @@ -1,43 +0,0 @@ -From a789b49e4c0e7d742cc39713484596293d844537 Mon Sep 17 00:00:00 2001 -From: hyd-dev <yd-huang@outlook.com> -Date: Fri, 30 Jul 2021 21:28:34 +0800 -Subject: [PATCH] Use `Lrc` instead of `Rc` in `MiriCompilerCalls::config()` - ---- - src/bin/miri.rs | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/tools/miri/src/bin/miri.rs b/src/tools/miri/src/bin/miri.rs -index 5a8f07263..18c393815 100644 ---- a/src/tools/miri/src/bin/miri.rs -+++ b/src/tools/miri/src/bin/miri.rs -@@ -1,5 +1,6 @@ - #![feature(rustc_private, bool_to_option, stmt_expr_attributes)] - -+extern crate rustc_data_structures; - extern crate rustc_driver; - extern crate rustc_errors; - extern crate rustc_hir; -@@ -12,12 +13,12 @@ use std::convert::TryFrom; - use std::env; - use std::num::NonZeroU64; - use std::path::PathBuf; --use std::rc::Rc; - use std::str::FromStr; - - use hex::FromHexError; - use log::debug; - -+use rustc_data_structures::sync::Lrc; - use rustc_driver::Compilation; - use rustc_errors::emitter::{ColorConfig, HumanReadableErrorType}; - use rustc_hir::{self as hir, def_id::LOCAL_CRATE, Node}; -@@ -42,7 +43,7 @@ impl rustc_driver::Callbacks for MiriCompilerCalls { - // HACK: rustc will emit "crate ... required to be available in rlib format, but - // was not found in this form" errors once we use `tcx.dependency_formats()` if - // there's no rlib provided, so setting a dummy path here to workaround those errors. -- Rc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All)); -+ Lrc::make_mut(&mut crate_source).rlib = Some((PathBuf::new(), PathKind::All)); - crate_source - }; - }); diff --git a/dev-lang/rust/files/llvm/12/cstdint-signals-h.patch b/dev-lang/rust/files/llvm/12/cstdint-signals-h.patch deleted file mode 100644 index 1945372c4d0d..000000000000 --- a/dev-lang/rust/files/llvm/12/cstdint-signals-h.patch +++ /dev/null @@ -1,24 +0,0 @@ -https://gitweb.gentoo.org/fork/llvm-project.git/commit/llvm/include/llvm/Support/Signals.h?h=gentoo-15.0.7-r7&id=ff1681ddb303223973653f7f5f3f3435b48a1983 -From: Sergei Trofimovich <slyich@gmail.com> -Date: Mon, 23 May 2022 08:03:23 +0100 -Subject: [Support] Add missing <cstdint> header to Signals.h - -Without the change llvm build fails on this week's gcc-13 snapshot as: - - [ 0%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o - In file included from llvm/lib/Support/Signals.cpp:14: - llvm/include/llvm/Support/Signals.h:119:8: error: variable or field 'CleanupOnSignal' declared void - 119 | void CleanupOnSignal(uintptr_t Context); - | ^~~~~~~~~~~~~~~ ---- a/src/llvm-project/llvm/include/llvm/Support/Signals.h -+++ b/src/llvm-project/llvm/include/llvm/Support/Signals.h -@@ -14,6 +14,7 @@ - #ifndef LLVM_SUPPORT_SIGNALS_H - #define LLVM_SUPPORT_SIGNALS_H - -+#include <cstdint> - #include <string> - - namespace llvm { --- -cgit v1.2.3-65-gdbad diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml index c634998b3552..94b0499334fd 100644 --- a/dev-lang/rust/metadata.xml +++ b/dev-lang/rust/metadata.xml @@ -21,6 +21,7 @@ <flag name="clippy">Install clippy, Rust code linter</flag> <flag name="dist">Install dist tarballs (used for bootstrapping)</flag> <flag name="miri">Install miri, an interpreter for Rust's mid-level intermediate representation (requires USE=nightly, sometimes is broken)</flag> + <flag name="mrustc-bootstrap">Use <pkg>dev-lang/mrustc</pkg> to build the bootstrap Rust sysroot from this package's source</flag> <flag name="nightly">Enable nightly (UNSTABLE) features (NOTE: it does not install nightly version, just enables features marked as nightly at time of release)</flag> <flag name="parallel-compiler">Build a multi-threaded rustc (experimental, not tested by upstream)</flag> <flag name="rustfmt">Install rustfmt, Rust code formatter</flag> diff --git a/dev-lang/rust/rust-1.54.0.ebuild b/dev-lang/rust/rust-1.54.0.ebuild deleted file mode 100644 index 360ae22cd5db..000000000000 --- a/dev-lang/rust/rust-1.54.0.ebuild +++ /dev/null @@ -1,559 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) - -CARGO_BOOTSTRAP="yes" -RUST_MAX_VER=${PV} -RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" - -# Requried to build against openssl-3.* -CRATE_PATHS_OVERRIDE=" - openssl@0.10.35 - openssl-sys@0.9.65 -" - -inherit cargo check-reqs estack flag-o-matic multiprocessing \ - multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig - -DESCRIPTION="Systems programming language from Mozilla" -HOMEPAGE="https://www.rust-lang.org/" - -SRC_URI=" - https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz - ${CARGO_CRATE_URIS} - verify-sig? ( - https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc - ) -" - -S="${WORKDIR}/rustc-${PV}-src" - -ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430 - NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore ) -ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) -LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} - -LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" -SLOT="${PV}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" - -IUSE="clippy cpu_flags_x86_sse2 debug doc miri nightly parallel-compiler rustfmt test wasm ${ALL_LLVM_TARGETS[*]}" - -BDEPEND="${PYTHON_DEPS} - app-eselect/eselect-rust - || ( - >=sys-devel/gcc-4.7 - >=llvm-core/clang-3.5 - ) - >=dev-build/cmake-3.13.4 - dev-build/ninja - test? ( dev-debug/gdb ) - verify-sig? ( sec-keys/openpgp-keys-rust ) -" - -DEPEND=" - >=app-arch/xz-utils-5.2 - net-misc/curl:=[http2,ssl] - sys-libs/zlib:= - dev-libs/openssl:0= - elibc_musl? ( sys-libs/libunwind:= ) -" - -RDEPEND="${DEPEND} - app-eselect/eselect-rust - !dev-lang/rust:stable - !dev-lang/rust-bin:stable -" - -REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) - miri? ( nightly ) - parallel-compiler? ( nightly ) - test? ( ${ALL_LLVM_TARGETS[*]} ) - wasm? ( llvm_targets_WebAssembly ) - x86? ( cpu_flags_x86_sse2 ) -" - -# we don't use cmake.eclass, but can get a warnings -CMAKE_WARN_UNUSED_CLI=no - -QA_FLAGS_IGNORED=" - usr/lib/${PN}/${PV}/bin/.* - usr/lib/${PN}/${PV}/libexec/.* - usr/lib/${PN}/${PV}/lib/lib.*.so - usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -QA_SONAME=" - usr/lib/${PN}/${PV}/lib/lib.*.so.* - usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/lib.*.so -" - -# An rmeta file is custom binary format that contains the metadata for the crate. -# rmeta files do not support linking, since they do not contain compiled object files. -# so we can safely silence the warning for this QA check. -QA_EXECSTACK="usr/lib/${PN}/${PV}/lib/rustlib/*/lib*.rlib:lib.rmeta" - -# causes double bootstrap -RESTRICT="test" - -VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc - -PATCHES=( - "${FILESDIR}"/1.47.0-ignore-broken-and-non-applicable-tests.patch - "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch - "${FILESDIR}"/1.53.0-rustversion-1.0.5.patch # https://github.com/rust-lang/rust/pull/86425 - "${FILESDIR}"/1.54.0-parallel-miri.patch # https://github.com/rust-lang/miri/pull/1863 - "${FILESDIR}/llvm/12/cstdint-signals-h.patch" -) - -toml_usex() { - usex "${1}" true false -} - -pre_build_checks() { - local M=7680 - # multiply requirements by 1.5 if we are doing x86-multilib - if use amd64; then - M=$(( $(usex abi_x86_32 15 10) * ${M} / 10 )) - fi - M=$(( $(usex clippy 128 0) + ${M} )) - M=$(( $(usex miri 128 0) + ${M} )) - M=$(( $(usex rustfmt 256 0) + ${M} )) - local ltarget - for ltarget in ${ALL_LLVM_TARGETS[@]}; do - M=$(( $(usex ${ltarget} 256 0) + ${M} )) - done - M=$(( $(usex wasm 256 0) + ${M} )) - M=$(( $(usex debug 2 1) * ${M} )) - eshopts_push -s extglob - if is-flagq '-g?(gdb)?([1-9])'; then - M=$(( 15 * ${M} / 10 )) - fi - eshopts_pop - M=$(( $(usex doc 256 0) + ${M} )) - CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} -} - -pkg_pretend() { - pre_build_checks -} - -pkg_setup() { - pre_build_checks - python-any-r1_pkg_setup - - export LIBGIT2_NO_PKG_CONFIG=1 #749381 - rust_pkg_setup -} - -src_unpack() { - verify-sig_src_unpack - cargo_src_unpack - # Vendored sources here override crates-io sources (repo) from cargo eclass. - sed -i '/\[source.crates-io\]/,+2d' "${ECARGO_HOME}"/config.toml -} - -src_configure() { - - local rust_target="" rust_targets="" arch_cflags - - # Collect rust target names to compile standard libs for all ABIs. - for v in $(multilib_get_enabled_abi_pairs); do - rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST ${v##*.}))\"" - done - if use wasm; then - rust_targets="${rust_targets},\"wasm32-unknown-unknown\"" - fi - rust_targets="${rust_targets#,}" - - local tools="\"cargo\",\"rls\",\"analysis\",\"src\"," - if use clippy; then - tools="\"clippy\",$tools" - fi - if use miri; then - tools="\"miri\",$tools" - fi - if use rustfmt; then - tools="\"rustfmt\",$tools" - fi - - local rust_stage0_root - rust_stage0_root="$(rustc --print sysroot || die "Can't determine rust's sysroot")" - - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" - - rust_target="$(rust_abi)" - - cat <<- _EOF_ > "${S}"/config.toml - changelog-seen = 2 - [llvm] - download-ci-llvm = false - optimize = $(toml_usex !debug) - release-debuginfo = $(toml_usex debug) - assertions = $(toml_usex debug) - ninja = true - targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" - link-shared = false - [build] - build-stage = 2 - test-stage = 2 - doc-stage = 2 - build = "${rust_target}" - host = ["${rust_target}"] - target = [${rust_targets}] - cargo = "${rust_stage0_root}/bin/cargo" - rustc = "${rust_stage0_root}/bin/rustc" - rustfmt = "${rust_stage0_root}/bin/rustfmt" - docs = $(toml_usex doc) - compiler-docs = false - submodules = false - python = "${EPYTHON}" - locked-deps = true - vendor = true - extended = true - tools = [${tools}] - verbose = 2 - sanitizers = false - profiler = false - cargo-native-static = false - [install] - prefix = "${EPREFIX}/usr/lib/${PN}/${PV}" - sysconfdir = "etc" - docdir = "share/doc/rust" - bindir = "bin" - libdir = "lib" - mandir = "share/man" - [rust] - # https://github.com/rust-lang/rust/issues/54872 - codegen-units-std = 1 - optimize = true - debug = $(toml_usex debug) - debug-assertions = $(toml_usex debug) - debug-assertions-std = $(toml_usex debug) - debuginfo-level = $(usex debug 2 0) - debuginfo-level-rustc = $(usex debug 2 0) - debuginfo-level-std = $(usex debug 2 0) - debuginfo-level-tools = $(usex debug 2 0) - debuginfo-level-tests = 0 - backtrace = true - incremental = false - default-linker = "$(tc-getCC)" - parallel-compiler = $(toml_usex parallel-compiler) - channel = "$(usex nightly nightly stable)" - description = "gentoo" - rpath = false - verbose-tests = true - optimize-tests = $(toml_usex !debug) - codegen-tests = true - dist-src = false - remap-debuginfo = true - lld = $(toml_usex wasm) - # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it - # https://github.com/rust-lang/rust/issues/74976 - # https://github.com/rust-lang/rust/issues/76526 - deny-warnings = $(usex wasm $(usex doc false true) true) - backtrace-on-ice = true - jemalloc = false - [dist] - src-tarball = false - compression-formats = ["gz"] - _EOF_ - - for v in $(multilib_get_enabled_abi_pairs); do - rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) - arch_cflags="$(get_abi_CFLAGS ${v##*.})" - - cat <<- _EOF_ >> "${S}"/config.env - CFLAGS_${rust_target}=${arch_cflags} - _EOF_ - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${rust_target}] - cc = "$(tc-getBUILD_CC)" - cxx = "$(tc-getBUILD_CXX)" - linker = "$(tc-getCC)" - ar = "$(tc-getAR)" - _EOF_ - # librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; - if use elibc_musl; then - cat <<- _EOF_ >> "${S}"/config.toml - crt-static = false - _EOF_ - fi - done - if use wasm; then - cat <<- _EOF_ >> "${S}"/config.toml - [target.wasm32-unknown-unknown] - linker = "rust-lld" - _EOF_ - fi - - if [[ -n ${I_KNOW_WHAT_I_AM_DOING_CROSS} ]]; then # whitespace intentionally shifted below - # experimental cross support - # discussion: https://bugs.gentoo.org/679878 - # TODO: c*flags, clang, cargo.eclass target support - # it would be much better if we could split out stdlib - # complilation to separate ebuild and abuse CATEGORY to - # just install to /usr/lib/rustlib/<target> - - # extra targets defined as a bash array - # spec format: <LLVM target>:<rust-target>:<CTARGET> - # best place would be /etc/portage/env/dev-lang/rust - # Example: - # RUST_CROSS_TARGETS=( - # "AArch64:aarch64-unknown-linux-gnu:aarch64-unknown-linux-gnu" - # ) - # no extra hand holding is done, no target transformations, all - # values are passed as-is with just basic checks, so it's up to user to supply correct values - # valid rust targets can be obtained with - # rustc --print target-list - # matching cross toolchain has to be installed - # matching LLVM_TARGET has to be enabled for both rust and llvm (if using system one) - # only gcc toolchains installed with crossdev are checked for now. - - # BUG: we can't pass host flags to cross compiler, so just filter for now - # BUG: this should be more fine-grained. - filter-flags '-mcpu=*' '-march=*' '-mtune=*' - - local cross_target_spec - for cross_target_spec in "${RUST_CROSS_TARGETS[@]}";do - # extracts first element form <LLVM target>:<rust-target>:<CTARGET> - local cross_llvm_target="${cross_target_spec%%:*}" - # extracts toolchain triples, <rust-target>:<CTARGET> - local cross_triples="${cross_target_spec#*:}" - # extracts first element after before : separator - local cross_rust_target="${cross_triples%%:*}" - # extracts last element after : separator - local cross_toolchain="${cross_triples##*:}" - use llvm_targets_${cross_llvm_target} || die "need llvm_targets_${cross_llvm_target} target enabled" - command -v ${cross_toolchain}-gcc > /dev/null 2>&1 || die "need ${cross_toolchain} cross toolchain" - - cat <<- _EOF_ >> "${S}"/config.toml - [target.${cross_rust_target}] - cc = "${cross_toolchain}-gcc" - cxx = "${cross_toolchain}-g++" - linker = "${cross_toolchain}-gcc" - ar = "${cross_toolchain}-ar" - _EOF_ - if [[ "${cross_toolchain}" == *-musl* ]]; then - cat <<- _EOF_ >> "${S}"/config.toml - musl-root = "$(${cross_toolchain}-gcc -print-sysroot)/usr" - _EOF_ - fi - - # append cross target to "normal" target list - # example 'target = ["powerpc64le-unknown-linux-gnu"]' - # becomes 'target = ["powerpc64le-unknown-linux-gnu","aarch64-unknown-linux-gnu"]' - - rust_targets="${rust_targets},\"${cross_rust_target}\"" - sed -i "/^target = \[/ s#\[.*\]#\[${rust_targets}\]#" config.toml || die - - ewarn - ewarn "Enabled ${cross_rust_target} rust target" - ewarn "Using ${cross_toolchain} cross toolchain" - ewarn - if ! has_version -b 'sys-devel/binutils[multitarget]' ; then - ewarn "'sys-devel/binutils[multitarget]' is not installed" - ewarn "'strip' will be unable to strip cross libraries" - ewarn "cross targets will be installed with full debug information" - ewarn "enable 'multitarget' USE flag for binutils to be able to strip object files" - ewarn - ewarn "Alternatively llvm-strip can be used, it supports stripping any target" - ewarn "define STRIP=\"llvm-strip\" to use it (experimental)" - ewarn - fi - done - fi # I_KNOW_WHAT_I_AM_DOING_CROSS - - einfo "Rust configured with the following flags:" - echo - echo RUSTFLAGS="${RUSTFLAGS:-}" - echo RUSTFLAGS_BOOTSTRAP="${RUSTFLAGS_BOOTSTRAP:-}" - echo RUSTFLAGS_NOT_BOOTSTRAP="${RUSTFLAGS_NOT_BOOTSTRAP:-}" - env | grep "CARGO_TARGET_.*_RUSTFLAGS=" - cat "${S}"/config.env || die - echo - einfo "config.toml contents:" - cat "${S}"/config.toml || die - echo -} - -src_compile() { - # we need \n IFS to have config.env with spaces loaded properly. #734018 - ( - IFS=$'\n' - env $(cat "${S}"/config.env) RUST_BACKTRACE=1\ - "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - ) -} - -src_test() { - # https://rustc-dev-guide.rust-lang.org/tests/intro.html - - # those are basic and codegen tests. - local tests=( - assembly - codegen - codegen-units - compile-fail - incremental - mir-opt - pretty - run-make - ) - - # fragile/expensive/less important tests - # or tests that require extra builds - # TODO: instead of skipping, just make some nonfatal. - if [[ ${ERUST_RUN_EXTRA_TESTS:-no} != no ]]; then - tests+=( - rustdoc - rustdoc-js - rustdoc-js-std - rustdoc-ui - run-make-fulldeps - ui - ui-fulldeps - ) - fi - - local i failed=() - einfo "rust_src_test: enabled tests ${tests[@]/#/src/test/}" - for i in "${tests[@]}"; do - local t="src/test/${i}" - einfo "rust_src_test: running ${t}" - if ! ( - IFS=$'\n' - env $(cat "${S}"/config.env) RUST_BACKTRACE=1 \ - "${EPYTHON}" ./x.py test -vv --config="${S}"/config.toml \ - -j$(makeopts_jobs) --no-doc --no-fail-fast "${t}" - ) - then - failed+=( "${t}" ) - eerror "rust_src_test: ${t} failed" - fi - done - - if [[ ${#failed[@]} -ne 0 ]]; then - eerror "rust_src_test: failure summary: ${failed[@]}" - die "aborting due to test failures" - fi -} - -src_install() { - ( - IFS=$'\n' - env $(cat "${S}"/config.env) DESTDIR="${D}" \ - "${EPYTHON}" ./x.py install -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die - ) - - # bug #689562, #689160 - rm -v "${ED}/usr/lib/${PN}/${PV}/etc/bash_completion.d/cargo" || die - rmdir -v "${ED}/usr/lib/${PN}/${PV}"/etc{/bash_completion.d,} || die - - local symlinks=( - cargo - rls - rust-gdb - rust-gdbgui - rust-lldb - rustc - rustdoc - ) - - use clippy && symlinks+=( clippy-driver cargo-clippy ) - use miri && symlinks+=( miri cargo-miri ) - use rustfmt && symlinks+=( rustfmt cargo-fmt ) - - einfo "installing eselect-rust symlinks and paths: ${symlinks[@]}" - local i - for i in "${symlinks[@]}"; do - # we need realpath on /usr/bin/* symlink return version-appended binary path. - # so /usr/bin/rustc should point to /usr/lib/rust/<ver>/bin/rustc-<ver> - # need to fix eselect-rust to remove this hack. - local ver_i="${i}-${PV}" - if [[ -f "${ED}/usr/lib/${PN}/${PV}/bin/${i}" ]]; then - einfo "Installing ${i} symlink" - ln -v "${ED}/usr/lib/${PN}/${PV}/bin/${i}" "${ED}/usr/lib/${PN}/${PV}/bin/${ver_i}" || die - else - ewarn "${i} symlink requested, but source file not found" - ewarn "please report this" - fi - dosym "../lib/${PN}/${PV}/bin/${ver_i}" "/usr/bin/${ver_i}" - done - - # symlinks to switch components to active rust in eselect - dosym "${PV}/lib" "/usr/lib/${PN}/lib-${PV}" - dosym "${PV}/libexec" "/usr/lib/${PN}/libexec-${PV}" - dosym "${PV}/share/man" "/usr/lib/${PN}/man-${PV}" - dosym "rust/${PV}/lib/rustlib" "/usr/lib/rustlib-${PV}" - dosym "../../lib/${PN}/${PV}/share/doc/rust" "/usr/share/doc/${P}" - - newenvd - "50${P}" <<-_EOF_ - LDPATH="${EPREFIX}/usr/lib/rust/lib-${PV}" - MANPATH="${EPREFIX}/usr/lib/rust/man-${PV}" - $(use amd64 && usex elibc_musl 'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') - $(use arm64 && usex elibc_musl 'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C target-feature=-crt-static"' '') - _EOF_ - - rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die - rm -rf "${ED}/usr/lib/${PN}/${PV}/doc"/*.old || die - - # note: eselect-rust adds EROOT to all paths below - cat <<-_EOF_ > "${T}/provider-${P}" - /usr/bin/cargo - /usr/bin/rls - /usr/bin/rust-gdb - /usr/bin/rust-gdbgui - /usr/bin/rust-lldb - /usr/bin/rustdoc - /usr/lib/rust/lib - /usr/lib/rust/libexec - /usr/lib/rust/man - /usr/lib/rustlib - /usr/share/doc/rust - _EOF_ - - if use clippy; then - echo /usr/bin/clippy-driver >> "${T}/provider-${P}" - echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" - fi - if use miri; then - echo /usr/bin/miri >> "${T}/provider-${P}" - echo /usr/bin/cargo-miri >> "${T}/provider-${P}" - fi - if use rustfmt; then - echo /usr/bin/rustfmt >> "${T}/provider-${P}" - echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" - fi - - insinto /etc/env.d/rust - doins "${T}/provider-${P}" -} - -pkg_postinst() { - eselect rust update - - if has_version dev-debug/gdb || has_version dev-util/lldb; then - elog "Rust installs a helper script for calling GDB and LLDB," - elog "for your convenience it is installed under /usr/bin/rust-{gdb,lldb}-${PV}." - fi - - if has_version app-editors/emacs; then - elog "install app-emacs/rust-mode to get emacs support for rust." - fi - - if has_version app-editors/gvim || has_version app-editors/vim; then - elog "install app-vim/rust-vim to get vim support for rust." - fi -} - -pkg_postrm() { - eselect rust cleanup -} diff --git a/dev-lang/rust/rust-1.71.1-r100.ebuild b/dev-lang/rust/rust-1.71.1-r100.ebuild index 6193d3d771e8..dedaab4fcbad 100644 --- a/dev-lang/rust/rust-1.71.1-r100.ebuild +++ b/dev-lang/rust/rust-1.71.1-r100.ebuild @@ -38,6 +38,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai LoongArch Mips MSP43 ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4 UoI-NCSA" SLOT="${PV}" @@ -237,6 +239,14 @@ src_configure() { rust_target="$(rust_abi)" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml changelog-seen = 2 @@ -247,7 +257,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.74.1-r100.ebuild b/dev-lang/rust/rust-1.74.1-r100.ebuild index 3fe183405a84..d131b800b874 100644 --- a/dev-lang/rust/rust-1.74.1-r100.ebuild +++ b/dev-lang/rust/rust-1.74.1-r100.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -8,8 +8,12 @@ PYTHON_COMPAT=( python3_{10..12} ) RUST_MAX_VER=${PV} RUST_MIN_VER="$(ver_cut 1).$(($(ver_cut 2) - 1)).0" +RUST_OPTIONAL=1 -inherit check-reqs estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ +MRUSTC_VERSION="0.11.2" +MRUSTC_RUST_VERSION="1.74.0" + +inherit check-reqs cmake edo estack flag-o-matic llvm-r1 multiprocessing multilib multilib-build \ optfeature python-any-r1 rust rust-toolchain toolchain-funcs verify-sig if [[ ${PV} = *beta* ]]; then @@ -40,10 +44,12 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" -IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind +lto miri mrustc-bootstrap nightly parallel-compiler rustfmt rust-analyzer rust-src system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" LLVM_DEPEND=() # splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation @@ -65,6 +71,12 @@ BDEPEND="${PYTHON_DEPS} ) test? ( dev-debug/gdb ) verify-sig? ( sec-keys/openpgp-keys-rust ) + mrustc-bootstrap? ( + ~dev-lang/mrustc-${MRUSTC_VERSION} + dev-build/cmake + sys-devel/gcc:* + ) + !mrustc-bootstrap? ( ${RUST_DEPEND} ) " DEPEND=" @@ -172,6 +184,9 @@ pre_build_checks() { fi eshopts_pop M=$(( $(usex doc 256 0) + ${M} )) + if use mrustc-bootstrap; then + M=$(( 2 * ${M} )) + fi CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} } @@ -195,25 +210,44 @@ pkg_pretend() { } pkg_setup() { - pre_build_checks - python-any-r1_pkg_setup + if [[ ${MERGE_TYPE} != binary ]]; then + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi - export LIBGIT2_NO_PKG_CONFIG=1 #749381 - if tc-is-cross-compiler; then - use system-llvm && die "USE=system-llvm not allowed when cross-compiling" - local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" - use "llvm_targets_${cross_llvm_target}" || \ - die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" - fi + if use mrustc-bootstrap; then + if ! tc-is-gcc; then + die "USE=mrustc-bootstrap reqires that the build environment use GCC" + fi + else + rust_pkg_setup + fi - rust_pkg_setup + if use system-llvm; then + llvm-r1_pkg_setup - if use system-llvm; then - llvm-r1_pkg_setup + local llvm_config="$(get_llvm_prefix)/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi + fi +} - local llvm_config="$(get_llvm_prefix)/bin/llvm-config" - export LLVM_LINK_SHARED=1 - export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" +src_prepare() { + default + # We'll need to revert this after the bootstrap. + if use mrustc-bootstrap; then + pushd "${S}" 2>/dev/null || die + patch -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to patch sources to enable bootstrap with mrustc" + popd 2>/dev/null || die fi } @@ -251,14 +285,26 @@ src_configure() { use rust-analyzer && tools+=',"rust-analyzer"' use rust-src && tools+=',"src"' - local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" - # in case of prefix it will be already prefixed, as --print sysroot returns full path - [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + if use mrustc-bootstrap; then + local rust_stage0_root="${WORKDIR}/bootstrap/rust-${PV}" + else + local rust_stage0_root="$(${RUSTC} --print sysroot || die "Can't determine rust's sysroot")" + # in case of prefix it will be already prefixed, as --print sysroot returns full path + [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory" + fi rust_target="$(rust_abi)" rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml changelog-seen = 2 @@ -269,7 +315,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 @@ -504,7 +550,253 @@ src_configure() { echo } +# Build a very minimal llvm that we can use for bootstrap rustc codegen +llvm_bootstrap() { + # Reference ${P}/src/bootstrap/native.rs for these values + local llvm_cmake_opts=( + "-G Ninja" + "-DLLVM_TARGET_ARCH=${CFG_COMPILER_HOST_TRIPLE%%-*}" + "-DLLVM_DEFAULT_TARGET_TRIPLE=${CFG_COMPILER_HOST_TRIPLE}" + "-DLLVM_TARGETS_TO_BUILD=${BOOTSTRAP_LLVM_TARGETS:=X86;ARM;AArch64}" #;Mips;PowerPC;SystemZ;JSBackend;MSP430;Sparc;NVPTX + "-DLLVM_ENABLE_ASSERTIONS=OFF" + "-DLLVM_INCLUDE_EXAMPLES=OFF" + "-DLLVM_INCLUDE_TESTS=OFF" + "-DLLVM_INCLUDE_DOCS=OFF" + "-DLLVM_INCLUDE_BENCHMARKS=OFF" + "-DLLVM_ENABLE_ZLIB=OFF" + "-DLLVM_ENABLE_TERMINFO=OFF" + "-DLLVM_ENABLE_LIBEDIT=OFF" + "-DCMAKE_CXX_COMPILER=$(tc-getCXX)" + "-DCMAKE_C_COMPILER=$(tc-getCC)" + "-DCMAKE_BUILD_TYPE=Release" + ) + + if [[ -z "${LLVM_CMAKE_OPTS_EXTRA}" ]]; then + llvm_cmake_opts+=( "${LLVM_CMAKE_OPTS_EXTRA}") + fi + + elog "Building bootstrap llvm ..." + + mkdir -p "${WORKDIR}/bootstrap/llvm" || die + pushd "${WORKDIR}/bootstrap/llvm" 2>/dev/null || die + edo cmake ${llvm_cmake_opts[*]} "${S}/src/llvm-project/llvm" + eninja || die "Failed to build bootstrap llvm" + popd 2>/dev/null || die +} + +# High level steps: +# Our system mrustc package has built stdlib for our current platform. +# - Step 1: Use system-installed mrustc, (m)rust(c) stdlib, and minicargo to +# bootstrap a `cargo` and `rustc` (mrustc-stage0) +# - Step 2: Use minicargo and the built `rustc` to build a working `sysroot` +# (includes `std`, `panic_unwind``, `test`, etc.) (mrustc-stage0) +# - Step 3: Build build libs again (this time using `cargo` and `rustc`) (mrustc-stage1) +# - Step 4: Build a `rustc` using those libs (mrustc-stage1) +# - Done so there's an optimised rustc arollvm_cmake_optsund (mrustc is bad at codegen) +# - Step 5: Build `libstd` with this `rustc` (mrustc-stage2) +# - Needed to match ABIs +# Stages: +# - mrustc-stage0: mrustc-built cargo and rustc +# - mrustc-stage1: rustc and sysroot built with mrustc-stage0 +# - mrustc-stage2: rustc from stage1 with sysroot built with stage0 +# See: +# - https://github.com/thepowersgang/mrustc/blob/master/run_rustc/Makefile +# - https://github.com/thepowersgang/mrustc/blob/master/TestRustcBootstrap.sh +# - Upstream Windows .cmd files are also a good reference for early bootstrap +mrustc_bootstrap() { + export RUSTC_BOOTSTRAP=1 # Possibly the only intended use of this variable in ::gentoo + # export these variables now and unset them at the end of the function so they don't leak + # into the rest of the build. + export CFG_COMPILER_HOST_TRIPLE="$(rust_abi)" + export CFG_RELEASE="${MRUSTC_RUST_VERSION}" # Let's pretend we're 1.74.0 + export CFG_RELEASE_CHANNEL="stable" + export CFG_VERSION="${MRUSTC_RUST_VERSION}-stable-mrustc" + export CFG_PREFIX="mrustc" + export CFG_LIBDIR_RELATIVE="lib" + export RUSTC_INSTALL_BINDIR="bin" + export REAL_LIBRARY_PATH_VAR="LD_LIBRARY_PATH" + + # These flags are used in every invocation of our bootstrap `cargo`. + local cargo_flags="--target ${CFG_COMPILER_HOST_TRIPLE} -j $(makeopts_jobs) --release --verbose" + + if use system-llvm; then + export LLVM_CONFIG="$(get_llvm_prefix)/bin/llvm-config" + else + llvm_bootstrap + export LLVM_CONFIG="${WORKDIR}/bootstrap/llvm/bin/llvm-config" + fi + + # define the mrustc sysroot and common minicargo arguments. + local mrustc_sysroot="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + local minicargo_common_args=( + "-L" "${mrustc_sysroot}" + "-j" "$(makeopts_jobs)" + "--vendor-dir" "${S}/vendor" + "--manifest-overrides" + "${BROOT}/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-overrides.toml" + ) + # There's a very good chance that minicargo and mrustc are not in the PATH. + if ! command -v minicargo &> /dev/null; then + export PATH="${BROOT}/usr/lib/rust/mrustc-${MRUSTC_VERSION}/bin:${PATH}" + fi + # Sanity check our bootstrap compiler & stdlib. + elog "Sanity checking mrustc and stdlib ..." + edo mrustc "${S}/tests/ui/hello_world/main.rs" -L "${mrustc_sysroot}" -o "${T}"/hello -g + "${T}"/hello || die "Failed to run hello_world" + # Seems fine, let's build some tools! + + # Step 1: Build a `cargo` and `rustc` using system-installed mrustc + # Anything we produce is going to be terribly unoptimised; mrustc does not do fantastic codegen. + # It's good enough to bootstrap the "real" rustc though. + elog "Building bootstrap cargo and rustc using mrustc and minicargo (mrustc-stage0) ..." + local stage0="${WORKDIR}/bootstrap/mrustc-stage0" + mkdir -p "${stage0}" || die + edo minicargo "${S}"/src/tools/cargo --output-dir "${stage0}"/cargo-build ${minicargo_common_args[*]} + "${stage0}"/cargo-build/cargo --version || die "Bootstrap cargo failed basic sanity check" + edo minicargo "${S}"/compiler/rustc --output-dir "${stage0}"/rustc-build ${minicargo_common_args[*]} \ + --features llvm + "${stage0}"/rustc-build/rustc_main --version || die "Bootstrap rustc failed basic sanity check" + # minicargo has special-casing for `rustc` so we need to rename it. + mv "${stage0}"/rustc-build/rustc_main "${stage0}"/rustc-build/rustc || die "Failed to rename rustc_main to rustc" + # rustc wants these here + mkdir -p "${stage0}"/codegen-backends || die + mv "${stage0}"/rustc-build/librustc_codegen_llvm.* "${stage0}"/codegen-backends || die + + # Step 2: use the bootstrapped rustc to build sysroot; we need to use `minicargo` for this - + # mrustc does not accept all of the arguments that rustc does, even with the rustc_proxy wrapper. + # `--script-overrides`: If the overrides are available, build scripts (and build-deps) are not built + # which is good since we don't have a working compiler yet, and can't build them. + + local stage0_sysroot_lib="${stage0}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + # minicargo <= 0.11.2 doesn't create this directory and silently fails, besides it's better to be explicit, right? + mkdir -p "${stage0_sysroot_lib}" || die "Failed to create stage0 directory" + + elog "Building 'sysroot' using bootstrap rustc (mrustc-stage0) ..." + edo env MRUSTC_PATH="${stage0}/rustc-build/rustc" minicargo -j $(makeopts_jobs) --vendor-dir "${S}"/vendor \ + --script-overrides "${BROOT}/usr/share/mrustc-0.11.2/script-overrides/stable-${MRUSTC_RUST_VERSION}-linux/" \ + --output-dir "${stage0_sysroot_lib}" "${S}"/library/sysroot || + die "Failed to build sysroot with bootstrap rust (mrustc-stage0)" + + elog "Sanity checking sysroot and rustc ..." + mkdir -p "${T}"/stage0-hello || die + edo "${stage0}"/rustc-build/rustc -L "${stage0_sysroot_lib}" -g "${S}/tests/ui/hello_world/main.rs" \ + -o "${T}"/stage0-hello/hello + "${T}"/stage0-hello/hello || die "Failed to run hello_world built with bootstrap rust stage0" + + elog "mrustc bootstrap stage0 complete!" + + # Step 3: Build a "proper" libstd, including dynamic libs using our bootstrap cargo and rustc. + elog "Building 'sysroot' with the stage0 rustc (mrustc-stage1) ..." + local stage1="${WORKDIR}/bootstrap/mrustc-stage1" + local stage1_sysroot_lib="${stage1}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage1_sysroot_lib}" || die "Failed to create stage1 directory" + mkdir -p "${stage1}/bin" || die + + # Simplified to avoid calling rustc_proxy; We don't need stage1 rustc until after this is built... + edo env RUSTFLAGS="-Z force-unstable-if-unmarked" CARGO_TARGET_DIR="${stage1}/sysroot-build" \ + RUSTC="${stage0}/rustc-build/rustc" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/library/sysroot/Cargo.toml" --features panic-unwind + + # Move the built libs into the sysroot libdir. + mv "${stage1}/sysroot-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} \ + "${stage1_sysroot_lib}" || die "Failed to move stage1 libs to stage1 sysroot" + + # We need to copy the stage0 rustc to the stage1 sysroot; this "updates" the sysroot location and enables + # resolution of stage1 libs. (run `rustc --print sysroot` on stage0 and stage1 rustc to verify) + cp "${stage0}/rustc-build/rustc" "${stage1}/bin/rustc" || die "Failed to copy rustc to stage1 sysroot" + + # Step 4: Build `rustc` with itself, so we have a rustc with the right ABI. + # This will be our final `rustc` for the bootstrap process. + elog "Building rustc with stage1 libs (mrustc-stage1) ..." + mkdir -p "${stage1}/rustc-build" || die + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + LD_LIBRARY_PATH="${stage2_sysroot_lib}" CARGO_TARGET_DIR="${stage1}/rustc-build" \ + RUSTC="${stage1}/bin/rustc" TMPDIR="${T}" "${stage0}"/cargo-build/cargo build ${cargo_flags} \ + --manifest-path "${S}/compiler/rustc/Cargo.toml" --features llvm + + # Step 5: Build `sysroot` with this `rustc` - Needed to match ABI + # We need to use the previous sysroot; we could reuse that dir but it's easier to just copy it. + elog "Building final 'sysroot' with the final rustc (mrustc-stage2) ..." + local stage2="${WORKDIR}/bootstrap/mrustc-stage2" + local stage2_sysroot_lib="${stage2}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${stage2_sysroot_lib}" || die "Failed to create stage2 directory" + mkdir -p "${stage2}/bin" || die + + # Copy required files from stage1 to stage2 sysroot + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${stage2}/bin/rustc_binary" || + die "Failed to copy final rustc to stage2 sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${stage2}/lib" || + die "Failed to copy librustc_driver to sysroot" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${stage2_sysroot_lib}" || + die "Failed to copy final rustc libs to stage2 sysroot" + cp "${stage1_sysroot_lib}"/* "${stage2_sysroot_lib}" || die "Failed to copy stage1 so files to stage2 sysroot" + + # There's a magic script used in place of rustc so that libs can be found + cat <<- EOF > "${stage2}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${stage2}/lib:${stage2_sysroot_lib}" ${stage2}/bin/rustc_binary "\$@" + EOF + chmod +x "${stage2}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Use rustc to build 'sysroot'; this is the final step in the bootstrap process. + # rpath probably isn't needed here, but it doesn't hurt. + edo env RUSTFLAGS="-Z force-unstable-if-unmarked -C link_args=-Wl,-rpath,\$ORIGIN/../lib" \ + CARGO_TARGET_DIR="${stage2}/stdlib-build" RUSTC="${stage2}/bin/rustc" \ + "${stage0}"/cargo-build/cargo build ${cargo_flags} --manifest-path "${S}/library/sysroot/Cargo.toml" \ + --features panic-unwind + + # Build our final output sysroot + local output="${WORKDIR}/bootstrap/rust-${PV}" + local output_sysroot_lib="${output}/lib/rustlib/${CFG_COMPILER_HOST_TRIPLE}/lib" + mkdir -p "${output_sysroot_lib}" || die "Failed to create output directory" + mkdir -p "${output}/bin" || die "Failed to create output directory" + + # Copy our various output files into the output sysroot + # rustc + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/rustc-main "${output}/bin/rustc_binary" || + die "Failed to copy final rustc to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/librustc_driver.so "${output}/lib" || + die "Failed to copy librustc_driver to output" + cp "${stage1}/rustc-build/${CFG_COMPILER_HOST_TRIPLE}"/release/deps/*.{rlib,so} "${output_sysroot_lib}" || + die "Failed to copy final rustc libs to output" + # cargo; no need to build an optimised cargo if we're using this to build a complelety new Rust. + cp "${stage0}/cargo-build/cargo" "${output}/bin/cargo" || die "Failed to copy cargo to output" + # libs + mv "${stage2}/stdlib-build/${CFG_COMPILER_HOST_TRIPLE}/release/deps"/*.{rlib,rmeta,so} "${output_sysroot_lib}" || + die "Failed to copy stage2 libs to output" + # Our trusty rustc wrapper + cat <<- EOF > "${output}/bin/rustc" || die "Failed to create rustc wrapper" + #!/bin/sh + LD_LIBRARY_PATH="${output}/lib:${output_sysroot_lib}" ${output}/bin/rustc_binary "\$@" + EOF + chmod +x "${output}/bin/rustc" || die "Failed to make rustc wrapper executable" + + # Perform a sanity check on the final Rust. + mkdir -p "${T}"/output-hello || die + edo "${output}/bin/rustc" -L "${output_sysroot_lib}" -g "${S}/tests/ui/hello_world/main.rs" \ + -o "${T}"/output-hello/hello + "${T}"/output-hello/hello || die "Failed to run hello_world built with bootstrapped Rust" + + elog "Successfully bootstrapped Rust using mrustc!" + + # Note: The Rust sysroot that we've produced is pretty close to what we'd expect from a normal Rust build. + # If someone was so inclined they could build an optimised cargo using the stage2 rustc and sysroot, + # and install the output directly. This is untested, as I'm sure there's more to it than that. + # I'm satisfied with being able to build Rust normally at this point. + + # Tidy up the Rust sources; revert mrustc changes so Rust can be built normally. + pushd "${S}" 2>/dev/null || die + patch -R -p0 < "${BROOT}"/usr/share/mrustc-${MRUSTC_VERSION}/patches/rustc-${MRUSTC_RUST_VERSION}-src.patch || + die "Failed to revert mrustc patches" + popd 2>/dev/null || die + + # Tidy up any environment variables we've set in the bootstrap process. + unset CFG_COMPILER_HOST_TRIPLE CFG_RELEASE CFG_RELEASE_CHANNEL CFG_PREFIX CFG_VERSION + unset CFG_LIBDIR_RELATIVE LLVM_CONFIG REAL_LIBRARY_PATH_VAR RUSTFLAGS RUSTC_BOOTSTRAP RUSTC_INSTALL_BINDIR +} + src_compile() { + use mrustc-bootstrap && mrustc_bootstrap RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --config="${S}"/config.toml -j$(makeopts_jobs) || die } diff --git a/dev-lang/rust/rust-1.75.0-r100.ebuild b/dev-lang/rust/rust-1.75.0-r100.ebuild index 32f8d4d41fe3..478f58c567f0 100644 --- a/dev-lang/rust/rust-1.75.0-r100.ebuild +++ b/dev-lang/rust/rust-1.75.0-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -261,6 +263,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml changelog-seen = 2 @@ -271,7 +281,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.76.0-r100.ebuild b/dev-lang/rust/rust-1.76.0-r100.ebuild index 04b921cbf7e5..364d59bed5b6 100644 --- a/dev-lang/rust/rust-1.76.0-r100.ebuild +++ b/dev-lang/rust/rust-1.76.0-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -260,6 +262,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml changelog-seen = 2 @@ -270,7 +280,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.77.1-r100.ebuild b/dev-lang/rust/rust-1.77.1-r100.ebuild index 1a86dda8a2ea..5461a2a6b93e 100644 --- a/dev-lang/rust/rust-1.77.1-r100.ebuild +++ b/dev-lang/rust/rust-1.77.1-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -259,6 +261,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml changelog-seen = 2 @@ -269,7 +279,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.78.0-r100.ebuild b/dev-lang/rust/rust-1.78.0-r100.ebuild index feaca456180b..19a64890ab0b 100644 --- a/dev-lang/rust/rust-1.78.0-r100.ebuild +++ b/dev-lang/rust/rust-1.78.0-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -259,6 +261,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -268,7 +278,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.79.0-r100.ebuild b/dev-lang/rust/rust-1.79.0-r100.ebuild index feaca456180b..19a64890ab0b 100644 --- a/dev-lang/rust/rust-1.79.0-r100.ebuild +++ b/dev-lang/rust/rust-1.79.0-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -259,6 +261,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -268,7 +278,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.80.1-r100.ebuild b/dev-lang/rust/rust-1.80.1-r100.ebuild index 6e2454510ddc..fb5eef4568b5 100644 --- a/dev-lang/rust/rust-1.80.1-r100.ebuild +++ b/dev-lang/rust/rust-1.80.1-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -258,6 +260,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -267,7 +277,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.81.0-r100.ebuild b/dev-lang/rust/rust-1.81.0-r100.ebuild index 5b0447c1e997..93dfa988757c 100644 --- a/dev-lang/rust/rust-1.81.0-r100.ebuild +++ b/dev-lang/rust/rust-1.81.0-r100.ebuild @@ -40,6 +40,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -262,6 +264,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -271,7 +281,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.82.0-r100.ebuild b/dev-lang/rust/rust-1.82.0-r100.ebuild index eca2deabe012..25fbe716b6a7 100644 --- a/dev-lang/rust/rust-1.82.0-r100.ebuild +++ b/dev-lang/rust/rust-1.82.0-r100.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -269,6 +271,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -278,7 +288,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.82.0-r101.ebuild b/dev-lang/rust/rust-1.82.0-r101.ebuild index 84788dff3186..1f70f958d492 100644 --- a/dev-lang/rust/rust-1.82.0-r101.ebuild +++ b/dev-lang/rust/rust-1.82.0-r101.ebuild @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -270,6 +272,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -279,7 +289,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 diff --git a/dev-lang/rust/rust-1.83.0-r1.ebuild b/dev-lang/rust/rust-1.83.0-r1.ebuild index cc756f4e4dab..2262915b0d62 100644 --- a/dev-lang/rust/rust-1.83.0-r1.ebuild +++ b/dev-lang/rust/rust-1.83.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -20,7 +20,7 @@ if [[ ${PV} = *beta* ]]; then else MY_P="rustc-${PV}" SRC="${MY_P}-src.tar.xz" - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" fi DESCRIPTION="Systems programming language from Mozilla" @@ -39,6 +39,8 @@ ALL_LLVM_TARGETS=( AArch64 AMDGPU ARC ARM AVR BPF CSKY DirectX Hexagon Lanai ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} +ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY DirectX M68k SPIRV Xtensa ) + LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" SLOT="${PV}" @@ -270,6 +272,14 @@ src_configure() { rust_build="$(rust_abi "${CBUILD}")" rust_host="$(rust_abi "${CHOST}")" + LLVM_EXPERIMENTAL_TARGETS=() + for _x in "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}"; do + if use llvm_targets_${_x} ; then + LLVM_EXPERIMENTAL_TARGETS+=( ${_x} ) + fi + done + LLVM_EXPERIMENTAL_TARGETS=${LLVM_EXPERIMENTAL_TARGETS[@]} + local cm_btype="$(usex debug DEBUG RELEASE)" cat <<- _EOF_ > "${S}"/config.toml [llvm] @@ -279,7 +289,7 @@ src_configure() { assertions = $(toml_usex debug) ninja = true targets = "${LLVM_TARGETS// /;}" - experimental-targets = "" + experimental-targets = "${LLVM_EXPERIMENTAL_TARGETS// /;}" link-shared = $(toml_usex system-llvm) $(if is_libcxx_linked; then # https://bugs.gentoo.org/732632 |