diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-03-20 00:40:44 +0000 |
commit | 4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch) | |
tree | 356496503d52354aa6d9f2d36126302fed5f3a73 /dev-lang | |
parent | fcc5224904648a8e6eb528d7603154160a20022f (diff) |
gentoo resync : 20.03.2022
Diffstat (limited to 'dev-lang')
146 files changed, 8229 insertions, 3322 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz Binary files differindex acc49d3486b5..39bf52ee979e 100644 --- a/dev-lang/Manifest.gz +++ b/dev-lang/Manifest.gz diff --git a/dev-lang/ammonite-repl-bin/Manifest b/dev-lang/ammonite-repl-bin/Manifest index 310d760229af..641d3efd07f6 100644 --- a/dev-lang/ammonite-repl-bin/Manifest +++ b/dev-lang/ammonite-repl-bin/Manifest @@ -1,7 +1,5 @@ DIST ammonite-2.4.1 48567893 BLAKE2B d7096170c1072aabdc2b4374fdc89bee390a04fc01748c985eeb8be9cb2bc5d09334644c21b3bb4d2eab436b7df1ff8c915a26cde76d38a5765b29673d09ccf9 SHA512 7e65c7789c42e1ac23455dd27702baf80c3f7c554403f3a34bb939283328b719212af0a824152875e09a6120cc6c67405c1dce0e5da1d07e4e185002ae4672ca -DIST ammonite-2.5.0 48405047 BLAKE2B 5d3506a89f59adde33447f22ed1a480161c6a635cd4710320f7ac66991e6171e5addc9e5ba62013f95b4e4f969899bce5b009853c36e0e966bff41c6afa69041 SHA512 8878a53b42db5edfe5a489c6abba16d985c94adc6b59ce8cac077a4e1eb7b9ad40be4bc1c27a28bbb277a47bab581a60b28ccded90081d216194d45086701550 -DIST ammonite-repl-bin-2.5.1 48408804 BLAKE2B 20d9738229c054e94393d50c86996a8a3fb8ecac1bfebe4b61d989edf0921c027bd5c1b48304bd69d9410c84debe9439aa315678fa9e4146bda845583c829fd9 SHA512 bb45d8790bf5ae853d22501b47e20e532b8a78f61dc63fbeb052b9a704befe1facb5572a3cdf9f7329f1dbca1637e9f191b10be761cb657e293506fb3fdc749c +DIST ammonite-repl-bin-2.5.2 48408913 BLAKE2B 0ee4111ca8bf1dd9fc7f1749b946144e57e29638caf060fedbe93acb93fdda83c3c8e7d75691083c6c64b67fbec0361bd8ff94d7c9d3c5310ea485ee94425da0 SHA512 80f5fd4d0f569bbecd1f4073363a12a8877c17ed9b172b4ab3198ea10d9b1afe4f67f8bba1d8cd9eced3b3768c55231b6560394d2bb2d3e1f4316a2f4b5a8198 EBUILD ammonite-repl-bin-2.4.1.ebuild 491 BLAKE2B 356bd3ed23ec39aa264f37135e83282b994e838bcd92075b9e8273b5b26723a6681ab26b75402beaf29b3bb37fe98f1b64116bb2915d9b05a150ea01e2cd9436 SHA512 204bd1e3f16d432522da6af47e80ea18a9d8e667908b69ad83f39d79e8e0e55746c4803f1d2a82ce0633cb3261ef92676b0cad9ac8cf0e27b8696b3462513124 -EBUILD ammonite-repl-bin-2.5.0.ebuild 485 BLAKE2B 1075c80b4720bcf1114f75e7f0f19415232ff2d21c10f67a62a3c39eb1c31e2379010b6de3f2e5b1010b13b46d0a43245918d33d59ae4a9ec9730008afe8c51f SHA512 dafced49a27bc6b185145384832cd69a646b92cf58012990a3c559b6392d5fb635b91a6426af58e9852c1e67587606c20723b98b9068e4a3ccc1818a7fdda0a5 -EBUILD ammonite-repl-bin-2.5.1.ebuild 486 BLAKE2B 1d2fdd53a42227dbc2f0fb8f7e165582bbd1e92d32c8ab119319a54bdba9e74cff98bbda9d94ebda12e261c5b3fc764d4eacf23bdb65f61631883de1dc8e6550 SHA512 6e05bc776ac93864d5d31806efa1945a49ec7823ec30ea119bd9e932c1baf0363ab7a9624c27700fcbc17ff3c870a5abbd192103b631af71a3b92591ef0d01d1 +EBUILD ammonite-repl-bin-2.5.2.ebuild 488 BLAKE2B 05ad6d6fb22301faf5e650cfd9a980bb4fb09a5b5091dda73c77531f38df2c4f692f3fa134c5e2cc32f3a725681a5eda97b886c078e141187538bce16833ec49 SHA512 86d12b80b2c0cd67663c052dea02f584a554a4315f4fd7f71e1f66e20356f927b7636a262e4ea30bfe86ae2f25956bc1e57cf90e494c2f9ae4c25e2cff62c03a MISC metadata.xml 247 BLAKE2B 4e1dbdae308a736b571e2a7ab4a90c650461771c024127c95a33990f3973331ba5de3cc8fe960115af9bb06f49908d258211b2a4e07c0f8d2a9536c965d836c3 SHA512 734659aca9188fe48564f64e23622ef0201931c75e1306043902fcf487a4155e8027a378872a48c7e34a903cdd0363a8e237b0965b7f532f80eaf38353940dbc diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild deleted file mode 100644 index 35f7b5f9e334..000000000000 --- a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.0.ebuild +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -SCALA_VERSION="2.13" - -DESCRIPTION="Scala language-based scripting and REPL" -HOMEPAGE="https://ammonite.io/" -SRC_URI="https://github.com/lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ammonite-${PV}" - -KEYWORDS="~amd64 ~x86" -LICENSE="MIT" -SLOT="0" - -S="${WORKDIR}" - -RDEPEND=">=virtual/jre-1.8:*" - -src_install() { - newbin "${DISTDIR}/ammonite-${PV}" amm -} diff --git a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.1.ebuild b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.2.ebuild index 7da31b8ae7c2..6cae7d9be42f 100644 --- a/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.1.ebuild +++ b/dev-lang/ammonite-repl-bin/ammonite-repl-bin-2.5.2.ebuild @@ -7,9 +7,9 @@ SCALA_VERSION="2.13" DESCRIPTION="Scala language-based scripting and REPL" HOMEPAGE="https://ammonite.io/" -SRC_URI="https://github.com/lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ${P}" +SRC_URI="https://github.com/com-lihaoyi/Ammonite/releases/download/${PV}/${SCALA_VERSION}-${PV} -> ${P}" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" LICENSE="MIT" SLOT="0" diff --git a/dev-lang/arc/Manifest b/dev-lang/arc/Manifest index d7f0eefd4ade..c956e8d59481 100644 --- a/dev-lang/arc/Manifest +++ b/dev-lang/arc/Manifest @@ -1,3 +1,3 @@ DIST arc-3.2.tar 276480 BLAKE2B a25695e4b90160d03e534bc7dcff194e922b8463ed9984523ee89fca7d6423e7f0f296118fa3f6046d988e6047e87dc609a56869e19d09435403320b5882f2b8 SHA512 f79cdb9b591582683e18afce24da935e8ab04ba837c5d19ae971bf9ec4abc038e6aeb712f36ffd1111e8d9fbb7a09889425294a15d546e9e6226b296294cc2a1 EBUILD arc-3.2.ebuild 810 BLAKE2B b6732aad43a5f90804bb258416c84c13482f08b44aa64f6421c7fe46550f8ef87cd84a28232a3d996aa79f89200f4827b7c7951933f9b6e3eaf5b7695bdbc7e6 SHA512 edc77cb36a87ec0cc14f4bfc581dc365468fe917dfa1cbd7d949b02ca09f87322fce997565e3220589cb54ab60e43b3ceed658f79ec3b26ac4649a0724ba8d09 -MISC metadata.xml 726 BLAKE2B eed040b1527f7c8c8f30b479e8c161d60f400f343cfc09412cded5675af085b3ca77dcf6d54130d4509f1a9305429d332947f1606ed3ddfcdcb0e4296a63b118 SHA512 5c38231c1cd641860d606b26d40d15d6bbe1c89a63c99819b8723704a9e8cb0b092ecd214b5c87740f968142f509a8967f5ecab2a4c44537e3e8c274b575521c +MISC metadata.xml 716 BLAKE2B 953d098bdd577c7337a96cf18f762d0d0acb8e0286a65b901b22a2f48b69b1d207b193ab44b294065b5e7bc4aac7d2b207b763ff290aef2dc42fe40c282e3d6e SHA512 3d9cc948dc8a020317462c28d5725aedfc3357f0de3e0d24accd52441d3060411aa8d6e33225bacd81deb34dca03da17d413fa91e92b849ea8c02cd4032d9db4 diff --git a/dev-lang/arc/metadata.xml b/dev-lang/arc/metadata.xml index 95f19d426259..cd6d01f6dccf 100644 --- a/dev-lang/arc/metadata.xml +++ b/dev-lang/arc/metadata.xml @@ -6,7 +6,7 @@ <email>scheme@gentoo.org</email> <name>Gentoo Scheme Project</name> </maintainer> - <longdescription lang="en"> + <longdescription> Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, diff --git a/dev-lang/clips/Manifest b/dev-lang/clips/Manifest index 922b8af805e2..12cff7e5c2d0 100644 --- a/dev-lang/clips/Manifest +++ b/dev-lang/clips/Manifest @@ -1,4 +1,4 @@ AUX clips-makefile-remove_hardcoded.patch 758 BLAKE2B 6f41ad9787c62ff1918184afeee50dd58447f767270c6ad1edf90b72f17ddd593fc2b971d8004b82bd28657caeb6214bb3cddcc47895ec86de68064240c0a0d6 SHA512 724135392c0c8e5a315086963b5160bab6a93d5dfdf36bb373ff84d1c6773be0cdee956ad71bc6ca7a7e8f6f7dcfbdecdbf4cc3d8cf636b35f270771b9251d81 DIST clips-6.40.tar.gz 1082012 BLAKE2B f168a14178ca0d5d39039d9e661e2214f9787099944e11413d7056b0c2a047596e913893a4cb3c4425c311af6bc39ff7710ce649045111e4947f5fcf320527c4 SHA512 92383895c60f1fa02a4c1f426d734ae7140e798dd19c7b1ee668bb4781a20e7d1f2554222ebc2c1f47c03d3262a7a058c3a7840d5dd48c2d2fe761e9a0602399 EBUILD clips-6.40.ebuild 678 BLAKE2B 262f8adf45e7e74cdc1e82bb65b3607cd958576c4b8a3b82d7e6648f4ccae1fab5e40398c46a37e6c1ac057eeeeb0cfc79362b15adc93ee7e1f2f9e789b754ce SHA512 e712646d2b6d793d8a7fb47fd23d45002983d56fc7ac6e419f63b9dba0fa2be7565a0cf634b5c4fb35dab3453bb7c1e5a626546e56a08a4657edfc8ea78e1c5f -MISC metadata.xml 677 BLAKE2B 2a6ef84e9080a312894f85d0fe39c5f0f2e4bf4fc5ef19eff6fa0e0daf1c35bc0c591e142e0bb6251975a238c57e24e046876cd7e0eb3dbfbf5d39a32e4ac9f6 SHA512 3aa258bdd7a1977be41e7a712d4ae88787bd84ac5cfe009dbe3b9d1894b125e4ef1cd10c063ec96675d973baaaa17eea6bd9cc6653faa2679d50ea191b330081 +MISC metadata.xml 667 BLAKE2B 094fcf8b2eeee5ee36e940287cf0612b5ef407f1c9524980aebd2d9866a6de796795f148416d1531df33195b35a360f31daba449b1f6b3502f503575d8515756 SHA512 bbab01e86a58ba437ea5fa01b60e1450ae2e21b38ede1874b1fc385e833741421d6804b3526b843e2f2cc64625e143730456fdde7a0c00f297ca220612b7df94 diff --git a/dev-lang/clips/metadata.xml b/dev-lang/clips/metadata.xml index 17de2386ed68..8950bb052c8a 100644 --- a/dev-lang/clips/metadata.xml +++ b/dev-lang/clips/metadata.xml @@ -6,7 +6,7 @@ <email>xgqt@gentoo.org</email> <name>Maciej Barć</name> </maintainer> - <longdescription lang="en"> + <longdescription> This package is a pure C implementation of CLIPS. CLIPS is a forward-chaining rule-based programming language written in C that also provides procedural and object-oriented programming facilities. diff --git a/dev-lang/clipsjni/Manifest b/dev-lang/clipsjni/Manifest index 166883e613d1..fdf47f049edd 100644 --- a/dev-lang/clipsjni/Manifest +++ b/dev-lang/clipsjni/Manifest @@ -2,4 +2,4 @@ AUX clipsjni-library-src_makefile.lnx-remove_hardcoded.patch 969 BLAKE2B 14cb159 AUX clipsjni-makefile.lnx-java.patch 2408 BLAKE2B 9dc608b442429cf7551bdd260b5f50bc98ae001e75fceb2ec6f5d65320296cd6b546b497a397b77af74be87ad687917c317f8fecb9c288928929e3482bf3fe76 SHA512 d55f56bec1481ef06fa33eaf0fbaa726a97b53ef1df52a8d72cecb33a29284ee6953fbb342695557377f981f30b062000624de65e481342c109db139f21f8e84 DIST clipsjni-6.40.tar.gz 3924580 BLAKE2B 6fce0ba8d2483291e1328ad8cba08bf663959e49414ae29e43bb226b8c82391ccde2d26732c6687ab52ee5cd88101df19c17258907d2fda84bde759d0d3687c6 SHA512 aacfe56ee64ade0be834654246e57a087cfc41d030a7138892158145a3485b0c9af60e188929123e3212ae0cf3cac0d4eac1e13ea0662d72ad714d67d4772d44 EBUILD clipsjni-6.40.ebuild 1644 BLAKE2B 9205b367ce8728b2384aa6169bcada198b317d5726b8a5b01f99a870bcb0986ac851083ffd09403cbf07bd7669db20920125c3f16e4233f03a963e973a927bc0 SHA512 1c4244d77cd4b6184ed320762891d4220206dfb4b1816036e5783a07583cd5dbe9a637eb78ca53208b40cd7ca9c6ba1c10b50dd170592c517bc1fcb67882e4f5 -MISC metadata.xml 721 BLAKE2B 34fb04e1c30e708b6f1d1cb0a3f821ee2fc69cc1ae988f13e0a4feea65bcdd0f8822960a4047a101bfb61ca32f85fc2111aa45149ff7326bf58492679f513bac SHA512 d18cab423ae2025c29954d168fe086724f8e1668eac5f8e7bbb2836d3a2bd8930aa1b2badfa16ede29e13410fd25f7aad429c9ce864b827f741373974976f963 +MISC metadata.xml 711 BLAKE2B 4f1edc8c2ac622563c61a89dd4334743ae8952523a7d6fc8f17b42668e09e0ef9a43dc9e39a9e204b291175cec54a3661a6dd3de60129e5391d4668d2e5ca1ef SHA512 861a56ca701dfcbcbc93a3e8da1d27a371b55286ecec69be7420829e6d9572c06db31ad76de7bef1f30d0c88ffab44d6ec0682881a147e8aaa6c5970686c1f41 diff --git a/dev-lang/clipsjni/metadata.xml b/dev-lang/clipsjni/metadata.xml index 87cd0caf515a..95bdb20e9678 100644 --- a/dev-lang/clipsjni/metadata.xml +++ b/dev-lang/clipsjni/metadata.xml @@ -6,7 +6,7 @@ <email>xgqt@gentoo.org</email> <name>Maciej Barć</name> </maintainer> - <longdescription lang="en"> + <longdescription> This package is a Java implementation of CLIPS with a native shared library and a IDE. CLIPS is a forward-chaining rule-based programming language written in C diff --git a/dev-lang/duktape/Manifest b/dev-lang/duktape/Manifest index 72b9a3b4ee2a..ad0d56d3d2e5 100644 --- a/dev-lang/duktape/Manifest +++ b/dev-lang/duktape/Manifest @@ -1,9 +1,8 @@ AUX duktape-2.6.0-respect-tc-env.patch 1499 BLAKE2B eb400e6c7a1305490682e7e4d5db38491915168497302d0bc4c7c59c9c243130750631cb6097ce7228026fa975f0bcfe107402e00c7c62ef31924d87ecc2774a SHA512 b2b99410c070fc00c0eae2a23007ea6295cb7202adc24df84aec03156bd262f2a459dd1550393197fdd377ab22b84768d6b01bb84785961ee7c81f08559151e9 +AUX duktape-2.7.0-respect-tc-env.patch 1427 BLAKE2B 50632d9ed0042dacdd4e0c760b2c374598b0955ff66d2625109a4555dc792c3c0be8d9855921cc7708009514257486698d7da8a18efd087cbe923fee9236ccf8 SHA512 e5d598c05aeff3db6f03565b1f443497506cab72895d867edb939fbad63258e1d11330880e6396a0c978a1c9cc0da7a6edd0362d5cd8eab48c188be7c043e63a AUX duktape.pc 218 BLAKE2B 3864f90f3ec1d77733736e16f99c0bab796502d3306759106357cb500d038304dfd6dc9849c9cde2e77683bf1f38dc7707119b39b66a6b55961b802e8d679520 SHA512 0f4b4e20ea9b348ed8b69623ed4fa09c20a2a951ef4f281b6313961c4aa085be9fc511a948d67713a7d2d9dede984761d5409b25e09da1db10698eb615f7c6fb -DIST duktape-2.4.0.tar.xz 1027744 BLAKE2B 9fb74b0586a5ccf5ef80d69955ab0ddb94428d463e300a558b5ab6e279d2c416b794434466604caa80581883df85f889694af1dd3ea0aaa4a3d53babb855f3ef SHA512 be6b7c73ae7c3419e8ced375fcff9680946e780b71d30e3be4e4e3b4b3a2710aa8f86530081c64958507a11fc215cacc5409c7d3a1d30b757838a00c748fa281 -DIST duktape-2.5.0.tar.xz 1031188 BLAKE2B 15d9190e9c723bacf8249ea31bf528793ca06e86d2697648192fee50b4ba2f7cf091e1392ac14a7a5c35b05a3ff5f200e0318cc8a4b873ad26f0c97683a2cb72 SHA512 230e298a91cb48407d7c2a4b7c85cf9d53151d550e2fd7ba6cb8f9115682abce295fb78a3c3cd22b4812ce86944dd6d28c2b25c3845668a17232e3a08ea63837 DIST duktape-2.6.0.tar.xz 1035160 BLAKE2B 98155e1bf7e76aab37f5ccdb951d9d456df3d984ebed5058d8931e25317ffd94b4d95f08e102eb6eb2fa36ab6d2d60be6072b4101b7754e1c1440f7d6fb2c91b SHA512 d72a2aaa05391fa243861aca6ca6082f91a08b9c5d60c7b246d35d7161532b0048bb67bd8fec7996c700ee317ac2bb52e528582682e5425b0431757d8b1c5be4 -EBUILD duktape-2.4.0.ebuild 984 BLAKE2B 639c3dbdb610048fc33134671a428deca1fe106f5f54cc7baee3d21b921265c63e168208501e6aaea0f91a578f2d33dd5b110d14f25a7d198542be944346a957 SHA512 7bcadb6b1e5a246bf2b62b3f3ccb7dfc50e9232508d86fbef1481b8b08fdd1b810e5010eff72fb8f88eb590f39ba711294bbd1b9207eeeb524032a57fb10170e -EBUILD duktape-2.5.0-r1.ebuild 1070 BLAKE2B 32767172e822423930b4bdfd536e5219039d3aab8edd7238a5da030e3e9932733a9b11a0e060180240c2cd82bc9520bd87be705ab6593dfbb56842b6310e2760 SHA512 e6c0e7e07ad49e8dd507cf41cfcc2986847df6d111f2db25fc2b8485f76daa38d4aad3776eb12d4fd2ec2d4c0b8505dc621fba340b1d8badd285a85b23759ec9 +DIST duktape-2.7.0.tar.xz 1026524 BLAKE2B da5eea88758201177f32c5611a3757433ef1b0173d6430eff1f067abd7535f3e4b9c3717290fbd8475827a53f7a2a74818287a65e563f14e91761f5cd0fe30d5 SHA512 8ff5465c9c335ea08ebb0d4a06569c991b9dc4661b63e10da6b123b882e7375e82291d6b883c2644902d68071a29ccc880dae8229447cebe710c910b54496c1d EBUILD duktape-2.6.0.ebuild 1195 BLAKE2B c63b87faea9fd89a23d33cb5ec49af33ba7cf653a25e886f4bc8698177f1c6c13ca6b65086ca2390e655b89342b79a15187e841c14041cbd9daa821f5e28b158 SHA512 980d422bffb1e9fd9d884e59b8e7925b87c1a9f01c9ae9314e4317e8274cf982257dc1d5965276f81a7f610964a9da8f797d83561b91dfcc5817fbbc156fcf97 -MISC metadata.xml 254 BLAKE2B 3d4c8d70d6cd3ce4afbd9cb3e7d271c14fccaba157aa4b4dc1bc5118f65e628aa521958605425ea5cca50c85b2e4cf7da937091daa2afa155b547e18b96b0c9c SHA512 b3f2e5506b50ea066915fb0419bf15d5996e1c097e78f4888e1d953f2149903143e1d9fef6ca884e94543448ada3297987d2e17a5a0e77124fb3f819b66bf23b +EBUILD duktape-2.7.0-r1.ebuild 790 BLAKE2B 3f91393f2111553706c55ae8d3dfb21d87cf9df6e21c8cd321e12c8c6d1b36de41d87e61bbd0a1308a5407b83dc463707b5fca0c1a795acb3c775df403febacf SHA512 989dd2b3bc53c9d71c222c57d125060c1df0ae9471cfcf08ddd409916e09f3c201c45d75f3ad1cd76addadeba8c88829ed3d688ce2a1a3cf94c3e37bcaa85adb +MISC metadata.xml 321 BLAKE2B 2a50c01a5f2fced09b9faecfda887bd2de9bb266ab9fed010627aacd691f6acd7aa4c327b6b77190ccee315098695004b2b3b798464420117648651d7da427f3 SHA512 b1e4fcc8a976debc2384323ee3c520dbd5b5f1ee869b73ebd6c299c414058024683b781e2506db1fc46cfe60878941e730a912e2197232fdaa2b0d97862eb8cc diff --git a/dev-lang/duktape/duktape-2.4.0.ebuild b/dev-lang/duktape/duktape-2.4.0.ebuild deleted file mode 100644 index 40429cd2db27..000000000000 --- a/dev-lang/duktape/duktape-2.4.0.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Embeddable Javascript engine" -HOMEPAGE="https://duktape.org" -SRC_URI="https://duktape.org/${P}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND}" - -src_prepare() { - eapply_user - - # Set install path - sed -i "s#INSTALL_PREFIX = /usr/local#INSTALL_PREFIX = ${D::-1}/usr#" \ - Makefile.sharedlibrary || die "failed to set install path" - - # Edit pkgconfig - sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die - sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die - - # Set lib folder - sed -i "s#(INSTALL_PREFIX)/lib#(INSTALL_PREFIX)/$(get_libdir)#" \ - Makefile.sharedlibrary || die - - mv Makefile.sharedlibrary Makefile || die "failed to rename makefile" -} - -src_install() { - dodir /usr/$(get_libdir) - dodir /usr/include - emake install - - insinto /usr/$(get_libdir)/pkgconfig/ - doins "${S}/${PN}.pc" -} diff --git a/dev-lang/duktape/duktape-2.5.0-r1.ebuild b/dev-lang/duktape/duktape-2.5.0-r1.ebuild deleted file mode 100644 index 3f817f751d2b..000000000000 --- a/dev-lang/duktape/duktape-2.5.0-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit toolchain-funcs - -DESCRIPTION="Embeddable Javascript engine" -HOMEPAGE="https://duktape.org" -SRC_URI="https://duktape.org/${P}.tar.xz" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 x86" -IUSE="" - -DEPEND="" -RDEPEND="${DEPEND}" - -src_prepare() { - eapply_user - - # Set install path - sed -i "s#INSTALL_PREFIX = /usr/local#INSTALL_PREFIX = ${ED}/usr#" \ - Makefile.sharedlibrary || die "failed to set install path" - - # Edit pkgconfig - sed "s#VERSION#${PV}#" "${FILESDIR}/${PN}.pc" > "${S}/${PN}.pc" || die - sed -i "s#LIBDIR#$(get_libdir)#" "${S}/${PN}.pc" || die - - # Set lib folder - sed -i "s#(INSTALL_PREFIX)/lib#(INSTALL_PREFIX)/$(get_libdir)#" \ - Makefile.sharedlibrary || die - - mv Makefile.sharedlibrary Makefile || die "failed to rename makefile" -} - -src_compile() { - emake CC="$(tc-getCC)" -} - -src_install() { - dodir /usr/$(get_libdir) - dodir /usr/include - emake install - - insinto /usr/$(get_libdir)/pkgconfig/ - doins "${S}/${PN}.pc" -} diff --git a/dev-lang/duktape/duktape-2.7.0-r1.ebuild b/dev-lang/duktape/duktape-2.7.0-r1.ebuild new file mode 100644 index 000000000000..13df504195a9 --- /dev/null +++ b/dev-lang/duktape/duktape-2.7.0-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Embeddable Javascript engine" +HOMEPAGE="https://duktape.org" +SRC_URI="https://duktape.org/${P}.tar.xz" + +LICENSE="MIT" +# Upstream don't maintain binary compatibility +# https://github.com/svaarala/duktape/issues/1524 +SLOT="0/${PV}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~sparc x86" + +PATCHES=( + "${FILESDIR}"/${PN}-2.7.0-respect-tc-env.patch +) + +src_prepare() { + default + + mv Makefile.sharedlibrary Makefile || die "failed to rename makefile" +} + +src_compile() { + emake CC="$(tc-getCC)" +} + +src_install() { + dodir /usr/$(get_libdir) + dodir /usr/include + emake INSTALL_PREFIX="${ED}"/usr LIBDIR="/$(get_libdir)" install +} diff --git a/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch new file mode 100644 index 000000000000..f29f9c7073a0 --- /dev/null +++ b/dev-lang/duktape/files/duktape-2.7.0-respect-tc-env.patch @@ -0,0 +1,24 @@ +diff --git a/Makefile.sharedlibrary b/Makefile.sharedlibrary +index bf5c0cb..5862b4f 100644 +--- a/Makefile.sharedlibrary ++++ b/Makefile.sharedlibrary +@@ -70,11 +70,11 @@ all: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) duktape. + # to $INSTALL_PREFIX/include on installation. + + libduktape.$(SO_REALNAME_SUFFIX): +- $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Wl,$(LD_SONAME_ARG),libduktape.$(SO_SONAME_SUFFIX) \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c + + libduktaped.$(SO_REALNAME_SUFFIX): +- $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -g -Wall -Wextra -Os -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC -Wall -Wextra -Wl,$(LD_SONAME_ARG),libduktaped.$(SO_SONAME_SUFFIX) \ + -o $@ $(DUKTAPE_SRCDIR)/duktape.c + + duktape.pc: +@@ -101,4 +101,4 @@ install: libduktape.$(SO_REALNAME_SUFFIX) libduktaped.$(SO_REALNAME_SUFFIX) dukt + + CCOPTS = -I./examples/cmdline + duk: +- $(CC) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -Os -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(CCOPTS) -I$(INSTALL_PREFIX)/include -L$(INSTALL_PREFIX)$(LIBDIR) -Wall -Wextra -o $@ ./examples/cmdline/duk_cmdline.c -lduktape -lm diff --git a/dev-lang/duktape/metadata.xml b/dev-lang/duktape/metadata.xml index 8dbab43f9b27..fa4a06426fce 100644 --- a/dev-lang/duktape/metadata.xml +++ b/dev-lang/duktape/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - <upstream> - <remote-id type="github">svaarala/duktape</remote-id> - </upstream> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <upstream> + <remote-id type="github">svaarala/duktape</remote-id> + </upstream> </pkgmetadata> diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 82b762397292..2bf984cbe5c0 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -9,9 +9,11 @@ DIST elixir-1.11.4.tar.gz 2396885 BLAKE2B f63e835991420bce8cacd38a920637aa5656c0 DIST elixir-1.12.1.tar.gz 2458060 BLAKE2B 512f016cb7f064f2b90a4d2dae4ffaf957422f049322b5fbed1eef155687b1111de89df838c254cf123b904e64f746fc19175372166526c739d8a1d66f9abb0c SHA512 ecea8a95d05e85431c324c7e15fdd08639a52fa6031fb8ec671825debecd892d2258b3914fdd8417728be1a18202d211eeb19869797ad0fd022c6ec91cd05880 DIST elixir-1.12.2.tar.gz 2460047 BLAKE2B eebcb4b828bf445ece6bfceb40b228406a15b0d33fb6efcc2b34fa4a264d83c5d71aa9787c5b641e903fb97ba02da07f3edf76424136e3dab0248a65823f225f SHA512 4c19a6a0310606b3016b3699079dc5f667e348c86c92e7e998cbecbacd283f5f4ccdd3d83b757725ba637a39729e9d82673b596feee72e831d575630e2f3111a DIST elixir-1.12.3.tar.gz 2461828 BLAKE2B cdae9bd7f3463b89dd737ce943d57b7f9801bf382500a274332e1cb87902ecc37bd6e7a53af4dd5c1cd6e6d9d64171e226e676cd8023252c86fdf028d80dd383 SHA512 945e33ca9c3e50015531f87630c1bc1b9966acc64bbf7d01c8c4f8cfc104ee1e08113f572f0ad6a9f5e8ee37e33144e58b2ac33dc0a2b01e1355fc5f8b1b9329 +DIST elixir-1.13.3.tar.gz 2922197 BLAKE2B 47c98ffe24d11ea161e9b9fa55d3c8ee1c2234848707aeeaf715eb02a61b7d3e8784bf2599b4129a824edf004d1edda2f0a42252710d957cc0213202f86dc06d SHA512 88bf585e18bfefa54c1c771247ec489bc96d16cc0f88384e9c0c981ddb665cd7efccd49383b4de1fbbd823ecd0a5e65d76e3065c9ce3c45f2f4feccd01ace48e EBUILD elixir-1.11.4-r1.ebuild 1096 BLAKE2B a94f4bfc202bd0765296efdc82ef0665085c502d6dbf3d05ee1f12ee3fa5d3b3ae38d70bb6b2db272e3977838147296934c9616caa8e535b5f4f994842aac92d SHA512 9e201821797a284cd214cfb963b15af00c2de951fba16471e05dc7fa13b42e8b1de9329693d3393bbca10005c091cdab20e753d25c063903e89ea04063deae00 EBUILD elixir-1.11.4.ebuild 943 BLAKE2B a523b08050cbefaeee8093b145dcbe17fdc74b19ec96d22a546d20788fe1d0048719f3fa307c995164a2c5a2bbae96d69e59a59f58d548a6b979787b454e8c08 SHA512 cd83ec4bcfe2f791c4ee4a4eba97d53aa78396849fc5fada8f2bd7a01b69eb9fd315a65a85b0eac67f1f4ee367e43406292673022ca47ab293572af6b87307e4 EBUILD elixir-1.12.1.ebuild 933 BLAKE2B 5393a8e9405e6d12ef8b1980143430a433345a8ad972e9818c3b480127661f53fdffc168d6ca218cb0fced3f96da4130cd33993a938ecb846150ea1714737fa1 SHA512 e0021e091c4debd7630558990ded0ebe10e61860776f6198ed65c73c354923f7928dffecec407f501fae19eace8c832c9cce4f629f978cc979817d92044236a7 EBUILD elixir-1.12.2.ebuild 936 BLAKE2B 8e9bfca5e5faf640f947f7715a587457edb147b4c7a6fef399a8bd34cbf9a614e675f4c0f3537928490e76e00085684744c2bba8cb07192ba268904a661fdb73 SHA512 020f6fc50ae4e764fd759df8be748bd813e8183171e705449c55663b0df4777f5d078b4ef667973b659c9481f4723ff114d0f52eecb744e297f799ad22304ce8 -EBUILD elixir-1.12.3.ebuild 936 BLAKE2B 13da7b0562422a7230915d099d9a1e8c50ace16cbd8528100df0d6f6f27babcef50f3ebbde5f75a5a964e304ab6630d297a2ac7980fd0cb638acd0c6163db5b1 SHA512 20db11eb6bd839067056dd16c4d84c0c72cbc138838070b93fcfed0c00e74bb2c07cb37a993e20254c9dfeb8c08998495d69b2dd3dd3c20137b37bdf7a74e0f8 -MISC metadata.xml 709 BLAKE2B 484bee8415dd9670201a0532b89d6e316bc6640f7ccb549f0ed5b17ce4474ea1d00e077c078037f39e12e93c21df80554827d0ff3949e7bafe1914ce98da7bfb SHA512 b879ddf3a32ad7a467deed25426274828f970f2ccce6e7a3f7848a8917eb9ad17e161351ecccf45a6a445f1a88178bec27f23075c0e4e19e6f135193eb160b9f +EBUILD elixir-1.12.3.ebuild 933 BLAKE2B 0e11ce540d27904a54643dd76e7d3e1146f1fec96e81c237e9082a54c6b656bc0a63731251b912bfed0bee405548c9d57a5756e0ff5b5743eeb2390746533a1c SHA512 51e9057967268729c7ccd66e08ac50297e01ef9018df3478b7f7d76257712f6d91b40cc6964684e5deb495b2e03de22055fdaa23ff99d131a691a5f66ee2e528 +EBUILD elixir-1.13.3.ebuild 886 BLAKE2B ffb79b2a9762a4e0dba0c0c92a98fe59270aee8ed89d27efb54b1bcf15ed44d63464e560bd0d07359af2999a1fe3f5faa38539e322c64ad60dfbee78cfa082bb SHA512 63830d398804ee2a4943cc22a5f09d6d7e84ea5d07bc765026ff480b7fc3d6e1e5f8aa7f42c1025e506f258f80079dd445296f2a34d1bf466d5008240394ebd5 +MISC metadata.xml 724 BLAKE2B ae59dba7153a9cdbeb0ed45acf54cf733f07ebc1b43896f88ff09686ecbdd56553e92f7733e5f556d01e622cadb85a24da879799b0f742d7e257425db1f300b4 SHA512 43cc4435aa89e2ba8edaf8f4cead814c514fac07a7c0500f3f7dfe35d2da6f75f835df0d21d862be6dcbffbd9c6e5ea32b21296048ec903c1491ccfd4854316b diff --git a/dev-lang/elixir/elixir-1.12.3.ebuild b/dev-lang/elixir/elixir-1.12.3.ebuild index 116a530e4d38..126b4810b36b 100644 --- a/dev-lang/elixir/elixir-1.12.3.ebuild +++ b/dev-lang/elixir/elixir-1.12.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar LICENSE="Apache-2.0 ErlPL-1.1" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/elixir/elixir-1.13.3.ebuild b/dev-lang/elixir/elixir-1.13.3.ebuild new file mode 100644 index 000000000000..aee01883e02c --- /dev/null +++ b/dev-lang/elixir/elixir-1.13.3.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 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 ~ia64 ~ppc ~sparc ~x86" +IUSE="test" + +RESTRICT="!test? ( test )" + +DEPEND=" + >=dev-lang/erlang-22:0=[ssl] +" +# '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/elixir/metadata.xml b/dev-lang/elixir/metadata.xml index 5a1358562005..10b86bcffd2c 100644 --- a/dev-lang/elixir/metadata.xml +++ b/dev-lang/elixir/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person" proxied="yes"> - <email>styx.mp@gmail.com</email> - <name>Mikhail</name> + <email>contact@hacktivis.me</email> + <name>Haelwenn (lanodan) Monnier</name> </maintainer> <maintainer type="project" proxied="proxy"> <email>proxy-maint@gentoo.org</email> @@ -19,8 +19,6 @@ <doc lang="en"> http://elixir-lang.org/docs.html </doc> - <remote-id type="github"> - elixir-lang/elixir - </remote-id> + <remote-id type="github">elixir-lang/elixir</remote-id> </upstream> </pkgmetadata> diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 2f4e67f288de..dcbacf0c1d5a 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -7,26 +7,24 @@ AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab5 AUX epmd.service-r1 159 BLAKE2B ec50e4bfd89dc2d35fc2e549c695f9aae163d3df4d3c7a0d3f85f0f747c13a8aed9c8e9e57f3898ab31aec6795d7cd0565a7c563dc77f3f6154e53be88ec326d SHA512 4b99b2092fe447fa01e3badfce261bca6400ebda70f890efbacc40570019adfe9fc349a6d024955e2f1909c9068f37415b64d0a104399f2696eff6ccf6ad06ab AUX erlang-22.0-dont-ignore-LDFLAGS.patch 1174 BLAKE2B 64900c6b934ecbd11238e604f907e6f8b1ec2730d2b98aad5405383742563e050bc6ffaae22d55a22998658460109fac9f6628458f5e976e9fbfe71cc26f1d64 SHA512 0fd7cbef64a9a54e0959d49b50096f9abc6fcede4360c153631c7f649f5c41b35ffb1f2d06f80964bf49421464bcc43c96147c227d60cf413c51b3e89ae9ad24 AUX erlang-24.0.2-serial-configure.patch 586 BLAKE2B 3ad4fcbf35310dc11e8aaddca95a467414c60390a7e170c83d0775230a5a815212c6ddce55e98721b02e03511f80e67cfbd60e4b06bc86c615bb3a51d5015ec5 SHA512 abc81ef2a0b23fbe82542efefb1cbb12b1143e9282f7114ea929c18a5c02f2053caabb05ef9838d40b40f3ca59b06955528b122092438ee3d4ef6a8b567fc335 -DIST erlang-23.3.4.8.tar.gz 57242259 BLAKE2B 9959fd9ae0d8a0a4639ad0ff9f5a16079cdd7af525e0dc1189a3cc6741f653e511c84da77344465e7f365a8cbc07f691d3cfec23b062c2e274dbb8d4911733a2 SHA512 14449701a88b18103266cd562cad8b0f10e7abb153c7fe2d39792c232a11c5c5ea12e75eb17bac57e30cc43d1e907ae988a1beb662b4d7309f35231c76bdb381 +DIST erlang-23.3.4.11.tar.gz 57263517 BLAKE2B e677d9cff8604222c61467e64c0b5fb95a5c108778683bdfc0221c8d2f2973a33ec114d0e109b1586e114ee6b49cbc0c000295161eca5a0bff9770f18c3311d6 SHA512 820be438219473cd2f73cf03c854fdc5585ff7ffada411932a672bc6b182ef6d68350e0150fd1c9de6f7dcf788b443f1905c79e96f8b02d39a7190cdb267559e DIST erlang-23.3.4.tar.gz 56664814 BLAKE2B ef8aa8d5a6fd1efc02a35459d1cb15eecf5f948127266bf782544e1da9a59765aca15070ea92df5558a4de017cc810e3542e2393e9470243fc6d9be13e9f37b6 SHA512 c8c5a9676163058276c703a0db0373508fad0ed9dff0aa9806ce59115ca766ff1d343c5a3917a920b249655fe188b974482ff378e9173c9fe00ea3907e618da5 -DIST erlang-24.0.2.tar.gz 58878378 BLAKE2B c2ea65cac39b654d9037ea9fcb47eb6eea96dec2483378f414bc33475e850121c1adaa30ea880070624496be9779539f98c864b0dd6eb92d3c4badaa121353d1 SHA512 d85e3e6a4177ac8c696dd666183f624065a89d35aa7f031cd6a7b105e0d1f9007de8d413880df47daf8f695485d952a81a14a01313b52f66534c1e5bd050093b -DIST erlang-24.1.4.tar.gz 59009229 BLAKE2B 484ad90509a618098dc1c3fc2ae7d2b44dc7735399f3ba2138d3c755b337e7c513083724329581e72968f6a5c33c9767f0192a1f5d21d35a3a69d5b4e151def2 SHA512 b5cf4fbce07b26b97ec8af62d1b86315227ff369f27c996a6df08b322b76721539a55664dcd4ffec49ff77efadc8e4f0c967c064bb4e1f5cdfa2db2eaa02620f -DIST erlang-24.1.7.tar.gz 59014237 BLAKE2B e32e963911c574fb7927d870029912b8de2cdde8303ee12cdcca8d345eddaa76ee16862a07c6d5013a775c80db6abb744c6be3447dad8126d0aa26ac4d305043 SHA512 052758df429af0971c9d78a4f56e2f333379510db3efbb103e6b869584e54af438b2d43e5172412e0fc624ea68b1df6be84debdae51777a7f4aa327b39b2248f DIST erlang-24.2.1.tar.gz 59093658 BLAKE2B 4e4cbcea4ccf3d65a16e1af0cabc55ef31107a9475109f5668eb3d0926ad35743d8d6f2d72090acd68f66a6caf3ee3524d4e31500d140bb54d8ff6d629da054c SHA512 b4dd5c9506840fcb078b8c5820a70a07794d8e646f66941095cd9536cfcc60ed6c070d1f85952379384f774beec965521cfc567e7a4a94088ec9ce0fefafe984 +DIST erlang-24.2.2.tar.gz 59091659 BLAKE2B 6b845e3de787e7aed4239284ffa81c483504c0a095c3cc3030fb8f3a0a236d0507f4290beb69096a1edbd3d13e9a4d5f2940eb6c268aaceb4a7d3bacf01dfaa0 SHA512 791bd9cc299168d4a209bcdc797a9671a39d03924dc18c9e0520393adf4eb54922c48eecde44601bde55b4fa80b91e0eddbfc486c5f45a611da60b47c63208c7 DIST erlang-24.2.tar.gz 59094451 BLAKE2B 4b1673570e97fe399dbdb5ab2095ba38f08b684c6a0cf7ad47f628d900802751c2db11d5de6f267aeb8c77d27634c2642f96045893acf9f1c32de3e4fe3f3ffb SHA512 88450f935579677eb0d43fd25e5f45b1e78ff8e9c6455d87198decbbb675f90c2e87757b3ee33b43fafb87fced20e984220be9b6b70f8cb8f6d84e4743764495 +DIST erlang-24.3.2.tar.gz 59302675 BLAKE2B 265ab89c4b09c55cd65d046c79a6bbbef1fdbdc9b69bc1b61f2edc8ab731e9ecdf09e189861ebf57b97e60bb06244af9bb0cafe4460dbc53cf34326079a8992b SHA512 811f50f4fa34dade0e2051decc7f8d7e96949cc9a9f11f507d3bdab43e65a654ddd6d0d49edbc03cc169d9d81f7937a195be5f103918e13b8083c31bdea2df2b +DIST erlang-24.3.tar.gz 59288148 BLAKE2B faa6ef9b7bb953c95b19ad1545c8d87eeee0a24f2b1a09b22968c93ee9df72df6d1de7cd9015b49891f28f9c8629d3464e41b5f68f7e9f9e28f12ae7fc706e54 SHA512 7a2afb7ac48e05676f5cd1af6748c0e44cb28e896ebe7a3ae389cdb910d124ce7b9f974851b6de81f40d20df2a5775d07b1b8baef7af67df93252f462c1d6550 DIST erlang_doc_html_23.3.tar.gz 36224657 BLAKE2B 7e2a3e16f4cfa0f15c01074740e02af7a45b480b4a94e764463717658ab7e5d0281f928c3ec585582b10168645e3e06cfe72cf6a0ba1b88f539b80f2b7ad99be SHA512 8be4aae46839239604b875b39339e7b6b6c677c099b3d749d5f1041c4508c1c3b4aa8136a93df12b1e5cb6333ef907276f5965c9726ed2b9e77a6043c8ef53b1 -DIST erlang_doc_html_24.0.tar.gz 39731398 BLAKE2B 8a9fe3acb4cc13691e16c477cf89e8298df1a99bbe6a6c9e59e3c34248ecdc21077835951087b5a5bbb23ddb28f3bd7ab8b058fe64ce56c342b825a6c0ef8948 SHA512 453f8a9cf779a4f43966615433afc3be3aae7a571acf45974947bd720a331ca05949bc310de5f3b33b72d274971103ede56875bbfe757ba17f903510f690d97e -DIST erlang_doc_html_24.1.tar.gz 39873142 BLAKE2B 5e4bea792be6332a2186a270466a61bda5f37b5a066638ae00545433bf5bd11f84fba7a0ac210a9104e5322fd372759e53d0abd63468c59a3a2c59a3eaddd5ca SHA512 6ace8d8ba4b74e3269e71880f73bd296769acd8778f13fd945b80e57a694d70929d3e7a3263ff3c154190679d88fbb9855e201212e504de4a261e4182662e99a DIST erlang_doc_html_24.2.tar.gz 36604264 BLAKE2B edc870e53cb89a42ec1022b4250942ab03d47d81dfa86d767c179ef89ec67e2ed7df2274acfe2e1469e5344691e9a0a33174c5237e48e2fc6203518c39978d19 SHA512 de3957676970419953043cbf130194b1bfcb0f2664e2a6148ccfdf7fbd3bc797fa76a19f2e8362e176afd81408b937c5b8b0b126703326b757cfaf396d5e3e79 +DIST erlang_doc_html_24.3.tar.gz 36645792 BLAKE2B ef90b7d05ed43656ab1ffdbbd0833c9da08a867ad7a99ec0f7f1eb59697c1f9cd5ccd150b2e564af80b2098f063da0c76121d4444b5444e603581442ad1c7bc8 SHA512 b8d3832ffdbdede656b362d719474f7b9ff04a32ea7235e77d63755629cf9305c203cd6cd9ae089171b2cee694f9641d6ed5d0197e2acf893a31d25696096f1e DIST erlang_doc_man_23.3.tar.gz 1456501 BLAKE2B 414bedee0e316d97b26d9d6418b799a9434a22e9980e7d3a83e2478d184d63d1633c0e10d0e180d929a3cacd82b4d703be86cbc8e99996037f6b37ea122f7a8c SHA512 6c661c210ffec4752afe624fa46700a0f62cc6589b74b859ab1dfde77d289e992988ac8744f7b4126d7512cd6d0aab3321f710a6324552b259bd7acd5b54a05e -DIST erlang_doc_man_24.0.tar.gz 1666152 BLAKE2B aaef8165322f39f7410840eafe562ec5038d9c89b4fa99b3b1d5748ba70fe755ba732de403dd916328e1fdcec895e2a347db4fb8c8837b5e41155439c9c54ef6 SHA512 7251f6eeb0534cc8538236a2c4be9d732bf0a05ba6832f9b3859116f9148e469d004331924c7187b07204798afb66067bfd321c8905000c355775927e5841918 -DIST erlang_doc_man_24.1.tar.gz 1673084 BLAKE2B 092c7870914e108e3fe06b68be6c54cff508cd938b5b510ca9a7c946b786e5725ffa1f2c87282a36480a9c1c7d7c899e8118546102a98136f813309a7f0bd334 SHA512 a11361811c5d58a431f4096866a45755f771f0519bbc992fc71e3c760d81bdc9cf636e189aee72c602a5f02cbf6c7bb6cc442cdb71fd06e0c4097bdf6ffe92ec DIST erlang_doc_man_24.2.tar.gz 1673926 BLAKE2B 17cf3c1e296c883e9c930cd540d439f7dd71a40048bbe80efd6f46dd5b4d9faf51177d2bb133f782742b0b367c8f54c27ed2b2cce277372a98dd55bb629f3b55 SHA512 359bfca20835eb2a6b6d199e2b108537c453369896b8bd4bd7db05c797421a734c31aea41ddf819b703718353f43186c5fd8f37d1a7d8624e767a41a922c01b9 -EBUILD erlang-23.3.4.8.ebuild 4504 BLAKE2B 16b09bf6af1c223776b5cb2c55c32dbd5eb540cb9ae12496485f64bc1820c4118575a155440764144e10c6d50609db02ae5eb2c691a0bf82b63c0ec1454a4f41 SHA512 f4bf67b5b4bba5734893e67c50e46c7387c192455befea44eabf1ca5aa1f76dd05eeab1dd9eb7c34c230553ce0864493e81e3185fd5d6554a8cc239ecb49f441 +DIST erlang_doc_man_24.3.tar.gz 1680242 BLAKE2B 3311eb6ed6dcaa2d611adf7a08269f67e3f31d106f6b6d04e5cc91efa8efc382ddb6b230f218fa543390bf4ec37f477e0c4979c82632ebfb6ccda8c5de1fbc41 SHA512 72876911a1ec82071225e7b71de0462254becd64892a5459239b9e44b20601f6b6990a12cd36a8320e81e5307bcf7b5e5057e42baec12403be4a0eda00cdf62c +EBUILD erlang-23.3.4.11.ebuild 4504 BLAKE2B e63ea0e16f947850be6aebe215c2ad2528b870aca44e25c71d77897c4aed98a0c4eae63d7a7dfcbdbf034006e3d5777ae349bc579069f1280cb269c476065936 SHA512 d5cff6be8101af8924b71d547695a106e07123aa9865246384a41b403bfad7528094fb08ee7ea54c42dce653d7274085c13e54798071c533d2951cf5d4651b14 EBUILD erlang-23.3.4.ebuild 4499 BLAKE2B 06891eb432ae12d43e860ce0773eb01768ea75ec4f16c365fbe16c22093039e5b18aaa4d3ca558f7a64cada0fc405ac0ba898065b80c778ad9253197302c5145 SHA512 09397c1f46fcf92ef160dee067b9dbf9e0a9125e112f28748180166ddd0394ad34f03e0ddcf32dccff101485927f41c1b1a4376a66bbfd52c8fb2f74bfac27d5 -EBUILD erlang-24.0.2.ebuild 4685 BLAKE2B 4591f62978ee5d34cffa95b167e344a886ea3ac0e02cbe4ecabc29e145a67dcaaee61b057061249878285628addd053ee51e35738d93e3f7353c5734b7901083 SHA512 fc1aeb839c93cae56fe2729b82508f5908fb30e9891ff5b08755e11473985c91706b10b679c296aaa8256505ad1c0650f29854988dc51af206f70ea94f60bb68 -EBUILD erlang-24.1.4.ebuild 4690 BLAKE2B 6f3f592d4fe976b84ec3ffaa322c92d44dd512c5001547dbe06529bdc7b6db4e034e92e80f4673614a4902f8dea1c791c6ef1067e8f3515e369de17b1eb6ae2e SHA512 d9eed3198a59e82ed5dd02593e802409ea886688f2eb29ddee16903999247bee458ae81641751168b0233788669a6ccb428af71a7d7b1d9a681f475572836881 -EBUILD erlang-24.1.7.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c EBUILD erlang-24.2.1.ebuild 4703 BLAKE2B 5502ece670c76c5d4a0bc4d91bf3d4e02410be2afe92b8e84617ec6c9c766975982816fbfd83b08b1ef21523cf3e7aaf3b828afd81803fab74cd086668caab09 SHA512 e44980e0f1f8e4b157245aec9a3cb8d70fbde26982c04c0953fda7811cc186d7d29f692bf97283aa218cc3a93b7901eb16000df71b053c9a2c3686a94e9dde73 -EBUILD erlang-24.2.ebuild 4703 BLAKE2B bade70e5ac94cbcaa7cb60f10c076a1381ce399772f7a1946ad119d678d25fb3f0f9b5127b97197f373b48e28859ac5785d404202bcd89e40b3ff2693638e2ac SHA512 0140531da4fdb85386f137a7d420cd43a6d7b4c6eb1ba2a7e99645cbe887331271647000b73e5aef99f5dc2358d8a3ebd2deeb66fbca99e308c27c506603f58c -MISC metadata.xml 530 BLAKE2B ab1aa7227a38268bd3d5fcd0e7adb2e6014f987fd3d001739a6bcb9c704fd6570aaadd18ace444ba99ea06bc33d58b027f1d1ac82499326c21c8bfaa179a95d4 SHA512 c9127d3f6cd5a54b764614e2965e2967bbe001f595fc3e37a6ca464efab9aedc8623e926c9a64f5813580815653e9871ef5139600f11d546e6c2da4b4b3397d9 +EBUILD erlang-24.2.2.ebuild 4710 BLAKE2B 3197563703f89759aa88fdbef736369d0b72963f026405e7cce671399339d2098c1e5bc9d727208c983155a563d7c0456969b291125f9af5144736fecedd7b2d SHA512 6bb04e7566fddc275be35a0f848a932a913d5dad1cb79ad43b6e93981bdc8b983518f05e44d11f5282da871a38d541be8e06feeb3a903041f68deb0fafdc7ea0 +EBUILD erlang-24.2.ebuild 4698 BLAKE2B cf50182fca921fd40817a06c4858b8ec6613629bae1cb024a71690178a3d98041dda2ce18a243c40c467ae0aed6aae46cabe6e73a7329df4a59e5103974481e8 SHA512 3c12cefd5ea038586589e972ad7b84f52a86acff631f9ee6747a50b5f6cfb51c13709395e4afdefea85e9c81c92489dee35d6dbecdbfe94fe465c2cb71b02fa3 +EBUILD erlang-24.3.2.ebuild 4788 BLAKE2B a770984061152835a9452bd8d57f13394d6af4198d4291d6b78d14a03b48d5ef886fa696b5372e32e7927e6bd7466a2be1a505922ea1b7772e1bad69f35a622c SHA512 60f3edf46bf5169b0c205bafa1bb9858dbc3e1cc190616111bdb7950139e9a6adba3d61aa11f490ba98406a7a2b02d261a86b1583474a5ac48b339bcf4ab4125 +EBUILD erlang-24.3.ebuild 4788 BLAKE2B a770984061152835a9452bd8d57f13394d6af4198d4291d6b78d14a03b48d5ef886fa696b5372e32e7927e6bd7466a2be1a505922ea1b7772e1bad69f35a622c SHA512 60f3edf46bf5169b0c205bafa1bb9858dbc3e1cc190616111bdb7950139e9a6adba3d61aa11f490ba98406a7a2b02d261a86b1583474a5ac48b339bcf4ab4125 +MISC metadata.xml 735 BLAKE2B 6deb116831085a15f4a06368d1d1f3e9d57501799236c7d1fe9fa8aa9a72da0151e92fa13e14427177679c361f8849379784e9c0124f28468f71e2eb54b78bbc SHA512 8ac9f9f29494b5aa9ff023460009c8b69cc3dbc4cc88ab419b62f715066ea3789a4575eab545eed5a430a95f4d0709e069fd240f2cb256eca4dfca7ce3838ab8 diff --git a/dev-lang/erlang/erlang-23.3.4.8.ebuild b/dev-lang/erlang/erlang-23.3.4.11.ebuild index 257dbb6d4a2c..689ece693ee0 100644 --- a/dev-lang/erlang/erlang-23.3.4.8.ebuild +++ b/dev-lang/erlang/erlang-23.3.4.11.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 diff --git a/dev-lang/erlang/erlang-24.1.7.ebuild b/dev-lang/erlang/erlang-24.2.2.ebuild index ae108c6fba5c..260dbdf84d07 100644 --- a/dev-lang/erlang/erlang-24.1.7.ebuild +++ b/dev-lang/erlang/erlang-24.2.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # 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 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-24.2.ebuild b/dev-lang/erlang/erlang-24.2.ebuild index ae108c6fba5c..7ef50aaef745 100644 --- a/dev-lang/erlang/erlang-24.2.ebuild +++ b/dev-lang/erlang/erlang-24.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -22,7 +22,7 @@ LICENSE="Apache-2.0" # 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 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-24.0.2.ebuild b/dev-lang/erlang/erlang-24.3.2.ebuild index a953a96263c7..d08bb337a5c2 100644 --- a/dev-lang/erlang/erlang-24.0.2.ebuild +++ b/dev-lang/erlang/erlang-24.3.2.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 WX_GTK_VER="3.0-gtk3" -inherit elisp-common java-pkg-opt-2 systemd toolchain-funcs wxwidgets +inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets # NOTE: If you need symlinks for binaries please tell maintainers or # open up a bug to let it be created. @@ -14,15 +14,15 @@ UPSTREAM_V="$(ver_cut 1-2)" DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" HOMEPAGE="https://www.erlang.org/" SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz - http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz - doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" 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 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/erlang-24.1.4.ebuild b/dev-lang/erlang/erlang-24.3.ebuild index e329ba63eea4..d08bb337a5c2 100644 --- a/dev-lang/erlang/erlang-24.1.4.ebuild +++ b/dev-lang/erlang/erlang-24.3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 WX_GTK_VER="3.0-gtk3" -inherit elisp-common java-pkg-opt-2 systemd toolchain-funcs wxwidgets +inherit elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-funcs wxwidgets # NOTE: If you need symlinks for binaries please tell maintainers or # open up a bug to let it be created. @@ -14,15 +14,15 @@ UPSTREAM_V="$(ver_cut 1-2)" DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" HOMEPAGE="https://www.erlang.org/" SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz - http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz - doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( https://github.com/erlang/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" 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 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="doc emacs java +kpoll odbc sctp ssl systemd tk wxwidgets" RDEPEND=" diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml index 12eaef013307..3f54798ac7dc 100644 --- a/dev-lang/erlang/metadata.xml +++ b/dev-lang/erlang/metadata.xml @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person" proxied="yes"> + <email>jpds@protonmail.com</email> + <name>Jonathan Davies</name> + </maintainer> + <maintainer type="person"> + <email>matthew@gentoo.org</email> + <name>Matthew Smith</name> + </maintainer> <use> <flag name="hipe">HIgh Performance Erlang extension</flag> <flag name="kpoll">Enable kernel polling support</flag> diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest index 6d5b80995605..2da163868c93 100644 --- a/dev-lang/execline/Manifest +++ b/dev-lang/execline/Manifest @@ -1,5 +1,7 @@ DIST execline-2.6.1.1.tar.gz 92495 BLAKE2B 6b901819e49c424d52ce2d87b6b42aec1595fb97fef7905e93eca2f3ac029a35f826e37e519e2c6ab9e2638f625a446db363f5fbfd5530a93b52c831660b7a11 SHA512 5826abb407742ad8a2cd48c09b966827d129dda420db07c893cd7a27e806441d7b117a0c61fdc0222e527aada976da26e4779a4896fc084cdf6efa8294ffac5b DIST execline-2.8.2.0.tar.gz 98438 BLAKE2B 66860a1abb3f8078bd625d13dda2caec71bc41d54a35275548897018818b8b881b37d4ab4f4dd7a9a36386802f1f830d345e7ade0e9638b49acc80314ae60ae1 SHA512 9a2c21fbddfc4bce69857fa906fcbb7b17b0cd1009a33a9f3bbcce69ff443af82704d74b792e2d4393eb6d7de9888a5bc74ff208c31485d3398b0dea07368a15 +DIST execline-2.8.3.0.tar.gz 98448 BLAKE2B f3dc1a194838f7973044b2d86e6026936697be4f34f9b01f5dfc98ddabfbde3dad7cfe95afd63f65cb266994b922d7d4c94368cf5dca2a2494fd0033b4ed6032 SHA512 40f4697a8165616848ed36dcb31a5859dee55a47439d13908a387550e8f53ca8fffe3bcb3e0462cb93f694c8fb483b14e152f92e6f9d0d536cdab9d94be9c53a EBUILD execline-2.6.1.1.ebuild 1187 BLAKE2B 89933b7e1562cd32f28649014f1715aa5438f8c327b8e65f28e77474590eb867eb60deb3fd1c31f8891e1a629997c2b22d7e0526e82a2ce3ce2846ad5db73cb4 SHA512 a21e236fe361c40ef6547c06f55929c95e4b60b47d4e906fe5ae2c41a43f2368f8d8d3d4480cabb99805d9a874733942e43ec4dc279aa215e38898bdb8c1d00d -EBUILD execline-2.8.2.0.ebuild 1135 BLAKE2B 98df9263f47778eb6430e57a4868cf9f3e9e92c109ea752de7134d1a7606c699eb1c232c599d1d17f0e8e2c3dbcbed2eab2595a79ca5c3f876132d31474916d9 SHA512 dce9be469ce921ad1ed407652fa1ab4f1faa4f85070e259de2d9e13cad87db7c548fa5ee84978675d2298ef5d00249f21b72203391ea7facf169c22d039c5e65 +EBUILD execline-2.8.2.0.ebuild 1134 BLAKE2B d0ff16b91157462b0d9c11ce66537023e14cf1e89ae97aa3fad3ea929af6fcbf33f570cb5d3d12bdca2852b5b24515a92e20dd2741f6764d33ea0d1086dc85d4 SHA512 973886804233e89945cc09333b9cb5762b83f7de17b7df42ededce1434d92bf033865a5cea993108c82f4b2c6fb239a3cb8bfd16eafc6671bc8fec6700540985 +EBUILD execline-2.8.3.0.ebuild 1135 BLAKE2B 778ea5d51b0180f1fff154591e4b1881f8c0dfbad05840bbe5f7a0552dc8b6fd1f2dac91d90dce9c8b274db75cdede698ed3883b617a514c0235696fe83114a4 SHA512 243cd613a0744aeda3c428732271489b3d3ea3b312b5e6ac7648a4be0b139a78d868fa8bb1d261686f81e6bfe6754097ecb8c80f0174f240f2ca19b3a685d55f MISC metadata.xml 730 BLAKE2B 0144183b0f42cc421c44f8cfc4e0b5dc6b1639e4279facd59b70ba76d8399e63a9b5d053fca41fbcf987d6b5b8ae1c653430f3fa2d63488f6f73c134344d0a75 SHA512 b30e6f0bcb3499104c0cfcfd5687f6ac1016e89d4ffd8ebdf8409eaeaaae6dce9c4fcf6f97824846527b95cfb61a812bffe7017304ca94af74d7bde6ed0586f1 diff --git a/dev-lang/execline/execline-2.8.2.0.ebuild b/dev-lang/execline/execline-2.8.2.0.ebuild index 3d3572779e43..8bdf26b8980c 100644 --- a/dev-lang/execline/execline-2.8.2.0.ebuild +++ b/dev-lang/execline/execline-2.8.2.0.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="~amd64 ~arm x86" IUSE="static static-libs" REQUIRED_USE="static? ( static-libs )" diff --git a/dev-lang/execline/execline-2.8.3.0.ebuild b/dev-lang/execline/execline-2.8.3.0.ebuild new file mode 100644 index 000000000000..56871cf7cedf --- /dev/null +++ b/dev-lang/execline/execline-2.8.3.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="A non-interactive scripting language" +HOMEPAGE="https://www.skarnet.org/software/execline/" +SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" + +LICENSE="ISC" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="static static-libs" + +REQUIRED_USE="static? ( static-libs )" + +RDEPEND=">=dev-libs/skalibs-2.11.2.0:=[static-libs?]" +DEPEND="${RDEPEND}" + +HTML_DOCS=( doc/. ) + +src_prepare() { + default + + # Avoid QA warning for LDFLAGS addition + sed -i -e 's/.*-Wl,--hash-style=both$/:/' configure || die + + sed -i -e '/AR := /d' -e '/RANLIB := /d' Makefile || die +} + +src_configure() { + tc-export AR CC RANLIB + + local myconf=( + --bindir=/bin + --dynlibdir=/usr/$(get_libdir) + --libdir=/usr/$(get_libdir)/${PN} + --with-dynlib=/usr/$(get_libdir) + --with-lib=/usr/$(get_libdir)/skalibs + --with-sysdeps=/usr/$(get_libdir)/skalibs + --enable-shared + $(use_enable static allstatic) + $(use_enable static static-libc) + $(use_enable static-libs static) + ) + + econf "${myconf[@]}" +} diff --git a/dev-lang/gforth/Manifest b/dev-lang/gforth/Manifest index e6550fb3b164..8ef2349239ac 100644 --- a/dev-lang/gforth/Manifest +++ b/dev-lang/gforth/Manifest @@ -4,5 +4,5 @@ AUX gforth-0.7.3-CFLAGS-LDFLAGS.patch 1097 BLAKE2B aa66797e6ebd04966f67275a8b0d9 AUX gforth-0.7.3-rdynamic-auto.patch 634 BLAKE2B c824db023b690ef4e196715589017f2d74d607cefa8fd6a29e987a3df90aaf4e09f4ea7cc3475b93c8ea1f308049a117eb8ea258cc50e962ce5e501b513b3419 SHA512 32ad96b1de651088b375fa9b8decdd8f03f7c492ad6a11e7cbdc574557b2fe7458180ae71919e1f76c6175d443d50582c94876489af0c961a167b40b3d1a4b7d AUX gforth-0.7.3-rdynamic.patch 578 BLAKE2B 10e978a2f4edef4d66e839d2f9d047526e54235ed8c6a1a0b754a38149c2a2db2481bee898dfbc209cf8559b6f2cc408b13d594b7007b7710f3c619549321197 SHA512 2bb1491b82b87bcd387822da501078daad171950cf870f8644d909a848a4843e3fa99d8782d16524353edbffb71f704ff7bf5fa7bf326501f7dde2c294b2c8ee DIST gforth-0.7.3.tar.gz 2523433 BLAKE2B 1ba9095af7958aabf0d671f982c483f2046392fd9872678a58f314357875d286bee7f0d7bc38e9b21331acda80fd285c0489fed44d59c148ff6ec6b6bea7c174 SHA512 f034234acfb0fc727f28b564432219a100b916c6df4b847794a55b2fc3b8ed8714eca6de0df67c7c427b7c2bb4dd00f65cfd34e6eb60181e41ab84fea30304e4 -EBUILD gforth-0.7.3-r2.ebuild 1639 BLAKE2B 9a9b3b2d0e1ba2a16426b5ae090f1d8ea19fd07bd02c09b3b0073cbb47de3d35c4ebc0138d88554a2895c086f0b229c8bb4cf70a00201ac5696e878a811272fb SHA512 5c03928607c6a0f5459590f667f966c6a8a9414841c7e5b54ce471139a53049e5f57d0b9e65749d929a36f54fe105778107cf854d5e8b395f12c15bbadc0b4c9 +EBUILD gforth-0.7.3-r2.ebuild 1646 BLAKE2B 88ae4a4c991421ab11c74a65eb14104d94958b865ab2d57066de224a5050fbc3bcf762c867c96b28c86827c52d1993ac22fd67044544618f91520b5b8bb18c0d SHA512 b5b3d98867ecdbdc3be7033cd2545b40b86779f2ad04acbd8d2379deac101e3bb10e5493ecaaea96f748e6f1aa9189a3cfaaed5c16bd4037228f9d88267bedd4 MISC metadata.xml 243 BLAKE2B 4fda5b7957b10262e59d99d603e6ae53c3f3918800665006ae11c825d1709d41f80b8df4f0ae7d02aa04eef13a88ad0f5a4475d9b00296edf197c11d0558b972 SHA512 1deca6a3ffd886a96cc4ba4a65ac44dad8a713e0f552705ed7be18aff282bdb769367310f66e8d10dec76f40466d6bd72808da00c90c67d488e490d47557221f diff --git a/dev-lang/gforth/gforth-0.7.3-r2.ebuild b/dev-lang/gforth/gforth-0.7.3-r2.ebuild index dfd7e9a7b684..2bf4b1dff982 100644 --- a/dev-lang/gforth/gforth-0.7.3-r2.ebuild +++ b/dev-lang/gforth/gforth-0.7.3-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ SRC_URI="mirror://gnu/gforth/${P}.tar.gz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris" +KEYWORDS="~amd64 ~arm64 ~ppc ~x86 ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris" IUSE="+check emacs" DEPEND="dev-libs/ffcall diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest index 5bb534e498f2..53df7b779ade 100644 --- a/dev-lang/gnat-gpl/Manifest +++ b/dev-lang/gnat-gpl/Manifest @@ -14,4 +14,5 @@ DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12 DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e EBUILD gnat-gpl-2020.ebuild 3828 BLAKE2B b0b04987c3cd4cf49b6f3d8ec61a1ed84d8cf422149bbc38c2a20e9d0e9c3ee2a05fe37e45cf992caf3b3bb954a30c1eb45ad9b61fb5b6ae97efb4a4382248f6 SHA512 c84506eca5fd33270ca19141a80f921c04817f8dd8694e57b6f43ba12c8f6b9535272828339474ac1d4b508936ca52cb167c754410210cfa7d21c1c7b64157a2 EBUILD gnat-gpl-2021-r1.ebuild 3997 BLAKE2B 3574dfdfb89d860cb42becccb479df5aff27b0de7005137b119f4ca5fd858c94ea11c723ad177765f2161b7486d6a57a4d8f73567d2a57add3ceb185add2d17b SHA512 3d59a0bfba9a3260c6ff0d9ea6061a45a6e8b2c9cc1559781d45d2f5034de05f652234691531ec80f979c577f48ed44ef4758f73d28083dbaeac1782046fb71e +EBUILD gnat-gpl-2021-r3.ebuild 4000 BLAKE2B 08670fd0e1db7df5cf120e15d61f3b246abba0d08aa78943fe10265b57387f39d10cf2cea93207191e3c194565416a4e07f59799e593332f05773936c1cd8173 SHA512 b32ce6bbb7e81305f9bbbadbcb6a35068611c65bd6a70303fd3ecb95e11b765eda665c467e5c11b77a848289e5ff174d375bbb5d13a925bd7476a62abb322713 MISC metadata.xml 1960 BLAKE2B e06642a8ae69d163bd2450a4dbf2350399becc0fa933780cbf1378721ec127b033cb547c7aff22d4b89724aefe933c7c0eaac55eab4a223f45d138006dd3492e SHA512 81c3ceafdc0a4d73427d6b12c1bfa41d647e8c788e71e1de09e79de4795573e35e403fd03b981beb350a6e9b55b44fd0d8a2f7279e83c23273fc150a126f2b07 diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild new file mode 100644 index 000000000000..3122d8366ba2 --- /dev/null +++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r3.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PATCH_GCC_VER=10.3.0 +PATCH_VER="3" + +TOOLCHAIN_GCC_PV=10.3.1 + +REL=10 +MYP=gcc-${REL}-${PV}-20210519-19A74-src +GNATDIR=gnat-${PV}-20210519-19A70-src +INTFDIR=gcc-interface-${REL}-${PV}-20210519-19A75-src + +BTSTRP_X86=gnat-gpl-2014-x86-linux-bin +BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin +BASE_URI=https://community.download.adacore.com/v1 +# we provide own tarball below +GCC_TARBALL_SRC_URI=" + ${BASE_URI}/005d2b2eff627177986d2517eb31e1959bec6f3a?filename=${GNATDIR}.tar.gz + -> ${GNATDIR}.tar.gz + ${BASE_URI}/44cd393be0b468cc253bf2cf9cf7804c993e7b5b?filename=${MYP}.tar.gz + -> ${MYP}.tar.gz + ${BASE_URI}/8ace7d06e469d36d726cc8badb0ed78411e727f3?filename=${INTFDIR}.tar.gz + -> ${INTFDIR}.tar.gz + bootstrap? ( + amd64? ( + ${BASE_URI}/6eb6eef6bb897e4c743a519bfebe0b1d6fc409c6?filename=${BTSTRP_AMD64}.tar.gz&rand=1193 + -> ${BTSTRP_AMD64}.tar.gz + ) + x86? ( + ${BASE_URI}/c5e9e6fdff5cb77ed90cf8c62536653e27c0bed6?filename=${BTSTRP_X86}.tar.gz&rand=436 + -> ${BTSTRP_X86}.tar.gz + ) + )" + +inherit toolchain-funcs toolchain + +DESCRIPTION="GNAT Ada Compiler - GPL version" +HOMEPAGE="http://libre.adacore.com/" + +LICENSE+=" GPL-2 GPL-3" +KEYWORDS="~amd64 ~x86" +IUSE="+ada +bootstrap" +RESTRICT="test" + +RDEPEND="!=sys-devel/gcc-${TOOLCHAIN_GCC_PV}*" +BDEPEND=sys-devel/binutils + +S="${WORKDIR}"/${MYP} + +src_unpack() { + if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then + eerror "You need a gcc compiler that provides the Ada Compiler:" + eerror "1) use gcc-config to select the right compiler or" + eerror "2) set the bootstrap use flag" + die "ada compiler not available" + fi + + toolchain_src_unpack +} + +src_prepare() { + if use amd64; then + BTSTRP=${BTSTRP_AMD64} + else + BTSTRP=${BTSTRP_X86} + fi + + if use bootstrap; then + GCC="${WORKDIR}"/${BTSTRP}/bin/gcc + else + GCC=${ADA:-$(tc-getCC)} + fi + + gnatbase=$(basename ${GCC}) + gnatpath=$(dirname ${GCC}) + + GNATMAKE=${gnatbase/gcc/gnatmake} + if [[ ${gnatpath} != "." ]] ; then + GNATMAKE="${gnatpath}/${GNATMAKE}" + fi + if use bootstrap; then + rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \ + || die + ln -s /usr/bin/$CHOST-ld \ + "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \ + || die + rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \ + || die + ln -s /usr/bin/$CHOST-as \ + "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \ + || die + fi + + CC=${GCC} + CXX="${gnatbase/gcc/g++}" + GNATBIND="${gnatbase/gcc/gnatbind}" + GNATLINK="${gnatbase/gcc/gnatlink}" + GNATLS="${gnatbase/gcc/gnatls}" + if [[ ${gnatpath} != "." ]] ; then + CXX="${gnatpath}/${CXX}" + GNATBIND="${gnatpath}/${GNATBIND}" + GNATLINK="${gnatpath}/${GNATLINK}" + GNATLS="${gnatpath}/${GNATLS}" + fi + mkdir bin || die + ln -s $(which ${GCC}) bin/gcc || die + ln -s $(which ${CXX}) bin/g++ || die + ln -s $(which ${GNATMAKE}) bin/gnatmake || die + ln -s $(which ${GNATBIND}) bin/gnatbind || die + ln -s $(which ${GNATLINK}) bin/gnatlink || die + ln -s $(which ${GNATLS}) bin/gnatls || die + + cd .. + mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die + mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die + eapply "${FILESDIR}"/${P}-gentoo.patch + cd - + sed -i \ + -e 's:-fcf-protection":":' \ + libiberty/configure \ + lto-plugin/configure || die + sed -i \ + -e 's:$(P) ::g' \ + gcc/ada/gcc-interface/Makefile.in \ + || die "sed failed" + toolchain_src_prepare +} + +src_configure() { + export PATH=${PWD}/bin:${PATH} + downgrade_arch_flags "$(gcc-version)" + toolchain_src_configure +} + +pkg_postinst() { + toolchain_pkg_postinst + einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more" + einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}" + einfo "Even if the c/c++ compilers are using almost the same patched" + einfo "source as the sys-devel/gcc package its use is not extensively" + einfo "tested, and not supported for updating your system, except for ada" + einfo "related packages" +} diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index e56b985ff6a2..16f171ec8d37 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,7 +1,9 @@ AUX go-sets.conf 313 BLAKE2B 03e94776e317d34b72bfb8385b8b0dfa6a599a6086e4d0c9214e7b49293768947c21d9afb323ffcc7fd85ba0af72d9cb243dbb571eee9eb81de9400fd5f5e79c SHA512 7d01b98bc8d1b609183682dd942bd4c9fa757a98243c7de3cf6c497c7bc20b8cdbe59dd669ce4bb11f914a0e9b6d100e65cea2dffd99f38be50b18e0ecf66315 -DIST go1.17.5.src.tar.gz 22186577 BLAKE2B fe6cbfce1a8e7556e7f690f34eb1cdf761f0f74b2ff3781bdc3c6ce2efa4fd00229268ee704d6c4a84f4b37b3deae7c65bd12628bf60ec32c2d8c32b13d99de1 SHA512 6c833455fe79476c29a0565ae3b5ede452abb75689d52cbaa524743549f6f12681b6b5035dc4048387bd738c15b7cd8bdc4c875d54232ca2343c7404a4326884 -DIST go1.17.6.src.tar.gz 22191372 BLAKE2B d6b52e23cea61709a682f06aa21db345980a7eb223b08d539721429227bb22d365bde5901e18f289eede0872e7bf9a5db4c2736d847202ded0f5f7351dcf035a SHA512 59e5471d33e72208a3ca1ddf6c13aeb2b95a3291c0491571597197a260fb8cb74241c7bb09b44129c1e39f857ce4279f416c139b3ab2d7aded10002beb222ee2 -EBUILD go-1.17.5.ebuild 4855 BLAKE2B dd3877fe5f7afa41fa91faabd2c0ddc4224a6bd4dca91ee64dc1447a87480a45e67975aa3c9fa1434aa209f55c85e1acec584f09025ea7ecef76e465da877563 SHA512 7568355bc063281f80f2e94b16f9a0b5b3eecf3744167b26154aaecb296bf7201ff07af9ba93c5ecdac66cb3277869c996da79e17ae54c642c9107012e516d34 -EBUILD go-1.17.6.ebuild 4860 BLAKE2B b42be3af896af9dcf861825afc1f2e21028097b0e02b8ad67f785cda6d3e20d15d0c9cff13dcb18c32831f0f0c2a0b44b8b2b0130a9f4d2d3ee178d8b2612ee3 SHA512 3dc73bafec02bae3ed4795f3a60fe36b20012022ea7a7bb1d65668e101ecaa2366a4de4cff7c580c0bd68a624dbcb97ec2bf2827bb2063d8a86b5e6961ced6a3 -EBUILD go-9999.ebuild 4860 BLAKE2B 15dabdb1ce54184d4542c9839303f780850fc003d4a3fd9e79e131aa91c7116ac0513196643a6f9ef86166f6204c3f4a1850c084caab13ed7b5cad7b878119ec SHA512 28fb38b58feacc7e79ae3228b56e654c4c134647c95f6ac165d4f7b328b0ec4c86440b3d11f28d4177bf3ecef3fa2d08768f2ef8c93a4d5d52b057e8354b84fc +DIST go1.17.7.src.tar.gz 22195583 BLAKE2B 3ea226fe3089729435d9b9e09880432fef4780303705b6424da9e7ce662aadf54d9c179a5fec8152754dabbb9d53958e35d0119a497bb8f888dbf933b625ce74 SHA512 ee20a97d19e501ee2c11930548bcacfa8b1e8499bbae15659231548f4b03c13bc92bb20c4ce879f0956c02268e748c73ba56d8b140ce8f134501c33cc8b58d3c +DIST go1.17.8.src.tar.gz 22199282 BLAKE2B 359089402c4f67b8102689a5772f6a168938c57fc3c809681f65f95725ce0a3b528d6cdfeff0da50844f5cfdb941d427658907c30597872315b1fd68a3a61be8 SHA512 21d5c51ce62bc3b987dd5bf7c6b7e1a934fe40582bfbbe99ca80c26d41253e796a4b9d02c571f1e5ab3fd7c3950175e23b9929b0d934f421c96a6d6128c44668 +DIST go1.18.src.tar.gz 22827832 BLAKE2B a961563352721455c9913cd71d8f56c5409e2d4edd44144f09aaba60daf353f844884db6a20943bd84f3634ef0dd330d43d27f5a65911eb4d4d877bfc71c4f40 SHA512 f10356df9099e4d027415be5c73bd2551f2f941a31feb21e1ccc03b7d8faa1844f0a639a508e990712e11ec335675e57504edb323fa1eee63e1d09b8523b3b0d +EBUILD go-1.17.7.ebuild 4813 BLAKE2B c4f3808ff284d5a6e9cfe43852073002dc204ac3832bd40c7a132f3661c459ff2e4be15e99530787b95844158e11f200d1cabfc2a2d4dbd28c5f3dd79e145017 SHA512 c30ee5f4110c8bbd292cb3d59eb264bb421d8bd78f06d840866fd39682b9b2691ea974e75b18bce58f6f7d9588652dbda3dfe61a58c6e71447df6aaf14998f2a +EBUILD go-1.17.8.ebuild 4814 BLAKE2B fd356dbb344c527dabc5599a625c70582c14e17f760a89e5f8d957257423f186b9137280070c2d9c0e5ef6ab26d685ef6458c421fc8f8560f7fb237c794adc80 SHA512 f29c73b810eec741c7d31a2840852fc332a1300031c3baef0522c46362648e4651601064187cfdf731b5ab360e257ff8212013401bcebe12a9eec805e5179674 +EBUILD go-1.18.ebuild 4818 BLAKE2B 906a76bebb6036a5e2d5af8563cc2aa3d8c10d48c8926d5e1368026d97c9b00c65973be3f3937396fa35865f0119d9fd59586c66d2ef137c980695a3b62861eb SHA512 07796174e89485089232edfd712a4540bc8bb138894bfa119f8d79deedb3bb8fe770de018637f81c27629e277ea65fa369721b70fead893b600d0d554efae650 +EBUILD go-9999.ebuild 4818 BLAKE2B 906a76bebb6036a5e2d5af8563cc2aa3d8c10d48c8926d5e1368026d97c9b00c65973be3f3937396fa35865f0119d9fd59586c66d2ef137c980695a3b62861eb SHA512 07796174e89485089232edfd712a4540bc8bb138894bfa119f8d79deedb3bb8fe770de018637f81c27629e277ea65fa369721b70fead893b600d0d554efae650 MISC metadata.xml 463 BLAKE2B 133822f9d8be6d5aeb0bf8b9e41ee17637cc3e6f78590a36c1811b77a77a74dd541bb98ad57cfeb6b71a9bcb106c4ac58effcfcfbbef6db4e05b155ef196fd0b SHA512 2837a80088ac2e07cccfb78497c121902a3a0e2f6677b42b1cd82dd3b4e2703099b6d4c95c6c08fefbc647b9b279692e3a46b1126acaad9298c1ecd3b6899fe5 diff --git a/dev-lang/go/go-1.17.5.ebuild b/dev-lang/go/go-1.17.7.ebuild index 1896c2546e86..7f1ce9304e51 100644 --- a/dev-lang/go/go-1.17.5.ebuild +++ b/dev-lang/go/go-1.17.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2" BDEPEND="|| ( dev-lang/go dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" # the *.syso files have writable/executable stacks QA_EXECSTACK='*.syso' diff --git a/dev-lang/go/go-1.17.8.ebuild b/dev-lang/go/go-1.17.8.ebuild new file mode 100644 index 000000000000..ba82adbb2e5d --- /dev/null +++ b/dev-lang/go/go-1.17.8.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +export CBUILD=${CBUILD:-${CHOST}} +export CTARGET=${CTARGET:-${CHOST}} + +MY_PV=${PV/_/} + +inherit 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 ~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" + +BDEPEND="|| ( + dev-lang/go + dev-lang/go-bootstrap )" + +# 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=( +AUTHORS +CONTRIBUTING.md +CONTRIBUTORS +PATENTS +README.md +) + +go_arch() { + # By chance most portage arch names match Go + local portage_arch=$(tc-arch $@) + case "${portage_arch}" in + x86) echo 386;; + x64-*) echo amd64;; + ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; + riscv) echo riscv64 ;; + s390) echo s390x ;; + *) echo "${portage_arch}";; + esac +} + +go_arm() { + case "${1:-${CHOST}}" in + armv5*) echo 5;; + armv6*) echo 6;; + armv7*) echo 7;; + *) + die "unknown GOARM for ${1:-${CHOST}}" + ;; + esac +} + +go_os() { + case "${1:-${CHOST}}" in + *-linux*) echo linux;; + *-darwin*) echo darwin;; + *-freebsd*) echo freebsd;; + *-netbsd*) echo netbsd;; + *-openbsd*) echo openbsd;; + *-solaris*) echo solaris;; + *-cygwin*|*-interix*|*-winnt*) + echo windows + ;; + *) + die "unknown GOOS for ${1:-${CHOST}}" + ;; + esac +} + +go_tuple() { + echo "$(go_os $@)_$(go_arch $@)" +} + +go_cross_compile() { + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] +} + +src_compile() { + if has_version -b dev-lang/go; then + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" + elif has_version -b dev-lang/go-bootstrap; 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_arch ${CBUILD}) + export GOHOSTOS=$(go_os ${CBUILD}) + export CC=$(tc-getBUILD_CC) + + export GOARCH=$(go_arch) + export GOOS=$(go_os) + export CC_FOR_TARGET=$(tc-getCC) + export CXX_FOR_TARGET=$(tc-getCXX) + use arm && export GOARM=$(go_arm) + use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat') + + cd src + bash -x ./make.bash || die "build failed" +} + +src_test() { + go_cross_compile && return 0 + + cd src + PATH="${GOBIN}:${PATH}" \ + ./run.bash -no-rebuild || die "tests failed" + cd .. + rm -fr pkg/*_race || die + rm -fr pkg/obj/go-build || die +} + +src_install() { + # There is a known issue which requires the source tree to be installed [1]. + # Once this is fixed, we can consider using the doc use flag to control + # installing the doc and src directories. + # The use of cp is deliberate in order to retain permissions + # [1] https://golang.org/issue/2775 + dodir /usr/lib/go + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go + einstalldocs + + # 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.17.6.ebuild b/dev-lang/go/go-1.18.ebuild index cd2ef07a5897..217891046702 100644 --- a/dev-lang/go/go-1.17.6.ebuild +++ b/dev-lang/go/go-1.18.ebuild @@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2" BDEPEND="|| ( dev-lang/go dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" # the *.syso files have writable/executable stacks QA_EXECSTACK='*.syso' diff --git a/dev-lang/go/go-9999.ebuild b/dev-lang/go/go-9999.ebuild index a1e1574ff8dd..217891046702 100644 --- a/dev-lang/go/go-9999.ebuild +++ b/dev-lang/go/go-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -36,7 +36,6 @@ IUSE="cpu_flags_x86_sse2" BDEPEND="|| ( dev-lang/go dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" # the *.syso files have writable/executable stacks QA_EXECSTACK='*.syso' diff --git a/dev-lang/haxe/Manifest b/dev-lang/haxe/Manifest index ba6d44bcf916..691a9f1a5234 100644 --- a/dev-lang/haxe/Manifest +++ b/dev-lang/haxe/Manifest @@ -1,3 +1,3 @@ DIST haxe-4.2.4.tar.gz 9151011 BLAKE2B 76e4442dbd33669abb2defcb66a781bf013ac41a4853f7911824e16816c60fff7e46bd58b9f2830194326aadbd79b2f07ab14308efdb0ef1e26177178daf3941 SHA512 c447b2fa7e7b7149a87af2dd75e08cce1b8d96238b88024d875659add62fa97d554ecd7f13200b817545eda8be00d61399551d64f7dbc9cc1aa66a5517dd2485 -EBUILD haxe-4.2.4-r2.ebuild 1394 BLAKE2B 41dff99e7fc9773404bca0955cc8324c50126cacb55cb1febcb85bce9781e0f988fbddbc7f6c5eacdf6c3e2e9023952d79426f7d840508058a36466c94e3a3cc SHA512 9fa7a34434fb775778b5bd9fbedc0a1f6a24672b78140bd19469f49cd3d4f7ff1db90cb412a1a6bda340eea77722c6c904a672a782f8c9c978cdc6eb5aff2338 +EBUILD haxe-4.2.4-r3.ebuild 1370 BLAKE2B 319ced68c5212673d7aa5453ee9de85e127a9a9b6e782e2a425e5fbabd2f57e04a7d33a81b0158ffe27b5bb483e1b355c82b7eb5fe80dafd74ba2476282dc792 SHA512 372ea170b56de8a4aa6c5f97482f60bb776b8a5f7b976034fc4ccbc3d1735261593069a7355f6ddae9554276d402eb322d7f038facc08b13816e7b59365464d9 MISC metadata.xml 733 BLAKE2B 293f296fd51f93d0834ba3f9ad2815161313f2ee7fcc5ebb68f20090e76fd67b4845114c4c78959cd13d64146e9221d001e0be76b65323d1d5b3cf934085a1ec SHA512 6dd648666a0916f27edc70e637e426e03790d4fd50a43fd2696b62c69cdf0f8b1c831fd8dca03db844209a0a23952c5dc1bc1b929b42928f6608288f470f8399 diff --git a/dev-lang/haxe/haxe-4.2.4-r2.ebuild b/dev-lang/haxe/haxe-4.2.4-r3.ebuild index 6a8441c77ab2..e9961fd90005 100644 --- a/dev-lang/haxe/haxe-4.2.4-r2.ebuild +++ b/dev-lang/haxe/haxe-4.2.4-r3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 DESCRIPTION="Multi-target universal programming language" HOMEPAGE="https://haxe.org/" -if [[ "${PV}" == *9999* ]]; then +if [[ "${PV}" == *9999* ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/HaxeFoundation/haxe.git" else @@ -56,18 +56,11 @@ src_configure() { } src_compile() { - local mymakeargs=( - BRANCH="" - COMMIT_DATE="" - COMMIT_SHA="" - OCAMLOPT=${OCAMLOPT} - INSTALL_DIR=/usr - ) - emake -j1 + emake -j1 BRANCH="" COMMIT_DATE="" COMMIT_SHA="" \ + OCAMLOPT="${OCAMLOPT}" INSTALL_DIR=/usr } src_install() { emake DESTDIR="${D}" INSTALL_DIR=/usr install - dodoc *.md } diff --git a/dev-lang/idris2/Manifest b/dev-lang/idris2/Manifest index b75100eb8ff1..8aa316f9418e 100644 --- a/dev-lang/idris2/Manifest +++ b/dev-lang/idris2/Manifest @@ -1,5 +1,7 @@ DIST idris2-0.5.1_p20211112.tar.gz 6202861 BLAKE2B 189bf28c7a33281494edea9b2c0821a934000fe9ca6e929b3318fe33576553142e5ad8d81598249cc384c6e342491ccef0998f33a4f2940b80264f5a3e4b32b2 SHA512 3b419ddbdc4aa3a28d92bf204448090c168d6a844d570886f982129f9e650c7112bbf95b727baf6c9f0f2fd6200c75eb68b6b71fd8684e01365eaf964dea1ea1 DIST idris2-0.5.1_p20220131.tar.gz 6283472 BLAKE2B 86b75457b8772d0a8938a4d3422af08fa8e625b675cc2648bc9f2683a6654586ff91b8b1d592f72a3a44c72fa830f9ebc5ae0c451398e8cb5d3fdf5070f7f8ab SHA512 50f21819dee929f847a6b64c89231da9dd55bc35314300aa7d3c3c5ea0da451caba67081ca8b2ffd89608d3aaa042e9b9a6ecb2df0585589404bae3c6a2fe74a +DIST idris2-0.5.1_p20220224.tar.gz 6299027 BLAKE2B 65654d76dc4a593826904321d78246da877ae71da95d56b4ee266de9676706e899bf9a1ae4293dde077a3ea50a860501fa4c3b8065a5b8d759d785954ea7b822 SHA512 6bea9e5ce01c64a893c39e7aacceef5d4f6bfd499f0b4ca17681bea6ab11620e0058faba8bdd84eecacf3f8d1cfe2594ca830aff89f2cfde2208fdc092fc37f1 EBUILD idris2-0.5.1_p20211112.ebuild 2513 BLAKE2B cdccbb2fc573524f2fa484c0601f427402055635a1f177a3417db2ce76bfc379380127dbe3a3105befebe4bd18d19d21030ebe527868cb256a5a2ad0346472fe SHA512 1bcb672978151e1d62ee6d057b6a7ee2a9e70988f346914a59375be96f0ca4fc126f32410d573fdb81be27c303bfc88e00475edf26c678621209c600251b5301 EBUILD idris2-0.5.1_p20220131.ebuild 2536 BLAKE2B 2736a8ec10aae9c0f8f5f76f9f935a6e3bef3ed4ddb16c36486514a1b65223ad8d1f2444e2a677297aa6caaab048cec1f2813ee9ddb59cb9604c32039ab37699 SHA512 4a76a6315d8471a0993678f5a2b137f06fe3e4190d79ac179528b633edb06688432c1d8248383f1318a261851defe8c7c422a793dbcbb87755a505dad9771e75 +EBUILD idris2-0.5.1_p20220224.ebuild 2639 BLAKE2B 974341abb454439146f80c3df9a70093b11d59b215b3ebb186b2b73db63c5a8feaaa9af71fd7c9cee12ce32eaf0b2a4139a712254e0a67726b0ab4337fccfff4 SHA512 f2fac7ef9e29bc5d49c0b3cca3ada79e221a5c1b60b9d2b1c1510543697d95deb096175a60b0b70eef6505bb488d8aa8df8078df64a0422a29ecce4a8a8b4efb MISC metadata.xml 1255 BLAKE2B d4d6a952913f404faab8d2383eab1ece0de7bc20486c3126149f7644b3d3445b6b87948f14b43b812dc748824d26da610914969a906735d6c13b9cdbcc0e6ba1 SHA512 df684d9f038601e7d8728a226743f79c7523bb462ed231fb60f33cc214c267dd1981da3f7c39d6cfc153a389330e779cfd580266677e003f8787366545c1f0fa diff --git a/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild b/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild new file mode 100644 index 000000000000..166a8b920cdc --- /dev/null +++ b/dev-lang/idris2/idris2-0.5.1_p20220224.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +H=1011cc6162bad580b0c51237c86fbf4fe2035fbe + +inherit toolchain-funcs + +DESCRIPTION="Purely functional programming language with first class types" +HOMEPAGE="https://idris-lang.org/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/idris-lang/${PN^}.git" +else + SRC_URI="https://github.com/idris-lang/${PN^}/archive/${H}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${PN^}-${H}" +fi + +LICENSE="BSD" +SLOT="0" +IUSE="+chez doc racket test-full" +REQUIRED_USE="^^ ( chez racket )" + +RDEPEND=" + dev-libs/gmp + chez? ( dev-scheme/chez[threads] ) + racket? ( dev-scheme/racket[threads] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + doc? ( dev-python/sphinx_rtd_theme ) + test-full? ( + dev-scheme/chez[threads] + dev-scheme/racket[threads] + net-libs/nodejs + ) +" + +# Generated via "SCHEME", not CC +QA_FLAGS_IGNORED="usr/lib/idris2/bin/idris2_app/idris2 + usr/lib/idris2/bin/idris2_app/idris2-boot" +QA_PRESTRIPPED="${QA_FLAGS_IGNORED}" + +src_prepare() { + # Clean up environment of Idris and Racket variables + unset IDRIS2_DATA IDRIS2_INC_CGS IDRIS2_LIBS IDRIS2_PACKAGE_PATH + unset IDRIS2_PATH IDRIS2_PREFIX + unset PLTUSERHOME + + tc-export AR CC CXX LD RANLIB + export CFLAGS + sed -i '/^CFLAGS/d' ./support/*/Makefile || die + + # Fix "PREFIX" + sed -i 's|$(HOME)/.idris2|/usr/lib/idris2|g' ./config.mk || die + + # Bad tests + # Weird Racket Futures (parallelism) test, might need further investigation + sed -i 's|, "futures001"||g' ./tests/Main.idr || die + # > Missing incremental compile data, reverting to whole program compilation + sed -i 's|"chez033",||g' ./tests/Main.idr || die + + default +} + +src_configure() { + export IDRIS2_VERSION=${PV} + export SCHEME=$(usex chez chezscheme racket) + + if use chez ; then + export IDRIS2_CG=chez + export BOOTSTRAP_TARGET=bootstrap + elif use racket ; then + export IDRIS2_CG=racket + export BOOTSTRAP_TARGET=bootstrap-racket + else + die 'Neither "chez" nor "racket" was chosen' + fi +} + +src_compile() { + # > jobserver unavailable + # This is caused by Makefile using a script which in turn calls make + # https://github.com/idris-lang/Idris2/issues/2152 + emake SCHEME=${SCHEME} ${BOOTSTRAP_TARGET} -j1 + + use doc && emake -C ./docs html +} + +src_test() { + emake SCHEME=${SCHEME} bootstrap-test +} + +src_install() { + # "DESTDIR" variable is not respected, use "PREFIX" instead + emake IDRIS2_PREFIX="${D}"/usr/lib/idris2 PREFIX="${D}"/usr/lib/idris2 install + dosym ../lib/${PN}/bin/${PN} /usr/bin/${PN} + + # Install documentation + use doc && dodoc -r ./docs/build/html + einstalldocs +} diff --git a/dev-lang/janet/Manifest b/dev-lang/janet/Manifest index 037dc832108a..fdff342db0bb 100644 --- a/dev-lang/janet/Manifest +++ b/dev-lang/janet/Manifest @@ -1,4 +1,3 @@ -AUX janet-1.16.1-make.patch 435 BLAKE2B a8d038c83a051e8d93dbdaa3456a9c93403a11dbe6b38cc2283c2b1884235ad76a42707d1c19bd5db2f66a86cdbacfd36196a12abea9fc66c4ac78fba5dcea50 SHA512 a9fab424e33d50e56c9ab3090a0b1a6c5b477e459128f1529deaf2452705345829c23d8a86b7e37bf1e7fc24fc37dffe293cc67550b24b065b439e0b5a9ead5e DIST janet-1.17.2.tar.gz 488524 BLAKE2B 33e801eb10b46d44a36b95bd29ea318ab3daa88654f47e12303344d2362a2ecc0d0f2ab9371d9539e0787df08664f503ee268b7acf967bd74a929992bc3ea2be SHA512 608ae20992d90cd93a364239c967fef8fdd1c631f1777211d916c6dc16cac5f007f52565bdf24cc0f8af1f521a0977a7245a3c137fc3b61583c2900e26fee81c DIST janet-1.19.2.tar.gz 486633 BLAKE2B 420b98218cf6a592ab385f5d9432d9e8ae98fe0a4b9c294aa2783e3ee810d256ef1ccf17c3986d7e490e4fcc046cb9a25b2d0f09ada223c19104e49d703d5d33 SHA512 4181f15ad61bfba46ce87acd148166bd0ab3c5dd5fb608d8d8722b912ecfa435baa7d881d4a8163aabb1b06bca2983b108dfb7256efa854c12c136e4f24c1ef2 EBUILD janet-1.17.2.ebuild 1720 BLAKE2B 0b6f3478a950edd5475eae1041ae5f87bd50f640ddb53a4a053e92ffbfddd9b4919e25019d18999b0786f0672b885d71f32fe58c0114f7b9d92e9f007b32cebb SHA512 df830edb0c82a7edafc257b28cf6d11f33f461651bf02f11863800e679da68bb7bcfb78f0a909d498d575bb98000504ecde5a6c1eb4ced747fd7881e3a8b47b1 diff --git a/dev-lang/janet/files/janet-1.16.1-make.patch b/dev-lang/janet/files/janet-1.16.1-make.patch deleted file mode 100644 index 09429f4ff08b..000000000000 --- a/dev-lang/janet/files/janet-1.16.1-make.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile b/Makefile -index 7efef93b..12758ab0 100644 ---- a/Makefile -+++ b/Makefile -@@ -254,7 +254,7 @@ build/doc.html: $(JANET_TARGET) tools/gendoc.janet - - build/jpm: jpm $(JANET_TARGET) - $(JANET_TARGET) tools/patch-jpm.janet jpm build/jpm "--libpath=$(LIBDIR)" "--headerpath=$(INCLUDEDIR)/janet" "--binpath=$(BINDIR)" -- chmod +x build/jpm -+ chmod +x jpm - - .INTERMEDIATE: build/janet.pc - build/janet.pc: $(JANET_TARGET) diff --git a/dev-lang/julia/Manifest b/dev-lang/julia/Manifest index c1aae0e7fc3d..d49465a85571 100644 --- a/dev-lang/julia/Manifest +++ b/dev-lang/julia/Manifest @@ -6,6 +6,7 @@ AUX julia-1.6.5-do_not_set_rpath.patch 1052 BLAKE2B 4f25a12c9cd6e345ecb1551c52ce AUX julia-1.6.5-hardcoded-libs.patch 2704 BLAKE2B 253d67a5de0278abf17d05f8e9a7f000f89f91d44779e4e93aa8b1a6388283af31e902913892a48ac4d587a6e009b69a4e81358cdd66b9e5471fdd7594482b85 SHA512 a498df49722f53cd598504fea47d54ec25d31f625342d47fb5f810e26ae73781597f6d008ce0f2978dd36c6bfb986c5ab4ce92ef1b6d01f31be8fa4add90553d AUX julia-1.6.5-lazy_artifacts_fix.patch 992 BLAKE2B 427a6b69fd07aed3bffc360e0ebd9fe9a15628ea0d2b5d3ac9821ebf2b029446f48f3cafb68a040c1f0deaec874a8350b791598a45794ee83d4ea55d8d16a511 SHA512 e21d53fa24db24966e536d342a0ebb4d6872df0968e4868db704a9d8398b6a1064fc7b00e395048143a4f55740fd1cf1b1c0bae9e53492041820ed54b86f320a AUX julia-1.6.5-libgit-1.2.patch 800 BLAKE2B 669c30ae7c00c69feb7edb34d87c3c19ab7015d8634cd3c052a8f6ee2a28be7c7314e01298e95f9d4b00851feb6bab48c44d15eb425f912050f31b26db57c912 SHA512 a4facb24520d8bfe4486291e3537bb5d56ce5fd1aebd9c1ebe657306d0e4a9cfa8cc235c2d715c1b9f4ecb3359cf3ea1dc0b4ff68d4c9a29ff578b4c667d09a2 +AUX julia-1.6.5-libgit-1.4.patch 1754 BLAKE2B c47cfe0eca1527f04ae5e81bdd6d11978e92f8cccbc000c9c96ae77e39b79f52b17d260333227cd699a935c52139808097617e7b627c45aa43b1809e97a9bf99 SHA512 fd71b277f625dde4cdb2ba100bf01f275e28209bbd18cbc143e7f0b2e01549b92b824161bde5a5ca4e5efcfb6f2f52147e66441e36f8f2813aa8436baf9401a1 AUX julia-1.6.5-llvm_13_compat_part_1.patch 6957 BLAKE2B 581076ba652db52a3948c9bb42c5a2481b5fffa92fb1dcbcd007f2edb3a950ac49ec015f7571c29b50ae243d5e8e9e25952b7cbac9a3b5ec8bd94769104e2891 SHA512 5a7d8202ede9daed2149f3bc30dcf76d0d25f1734b91df3780b405fbd493f4a6f75c851f97a8d27e9ea5753f5003af3c5eb8193ee61cf5808acf56dca1ebb0ba AUX julia-1.6.5-llvm_13_compat_part_2.patch 2897 BLAKE2B 7896e392fb8c2364fa10921f7396206fb6785dc430256646a537dcfb0c05a7d8faaa33feab7dad61c6c6e57c33f89eb0ce1eea85c3148622e61b3f0ce83c2164 SHA512 f8a7060236afd28da260e8dff5d69b2562d9cd204f090e1868592aa9d59df015a3a6d0bb19e1dfbaaa3825a8b81152f0e154e06cd31c87e89916269bbef68203 AUX julia-1.6.5-llvm_13_compat_part_3.patch 13351 BLAKE2B 76a72595a104ce290bce7a37ca6f3f29754753ac20ed3c2beeb9fce92d5aeda2b1396e523f70c0fb2eb16d4dc9cc888ebb5e78bc22f2689335cfca11f6b77630 SHA512 128896ab9bf161d7b596a0330977a598f57c19e34066281e7aa2d512e66f1a9d2bbff537af5b5b99198bef7a02e17a32eaafcff6f1ac2bfeef525e0763bf96b7 @@ -24,6 +25,6 @@ DIST julia-libuv-fb3e3364c33ae48c827f6b103e05c3f0e78b79a9.tar.gz 1643008 BLAKE2B DIST julia-libwhich-81e9723c0273d78493dc8c8ed570f68d9ce7e89e.tar.gz 4183 BLAKE2B c932e23b1b476d3fd16cf6f451efd5fc6d9c1ec2c53e8ac086340a100817d9b30dae3eff50b284a42c09b2bbae30b9e2fd38b2881f8cbf4974a89f3bd0c87599 SHA512 6fb77b715d70d9bc95a8546c3bf97bd3677c7ea344b88bb5bc3bbfac9dceabe8a8cde7a0f64dec884cde802e4a3000e30837d3f824b5a9242348c4fe061526a3 DIST llvm-11.0.1.src.tar.xz 38914796 BLAKE2B ccdec0632c9cf5fae8e6947c266136e04dc8c609e2ca9c1efb1205767d9181301e0de14601d11e2f27ec0ebc0749858a5f1089d8a40a9ae3f22582cbf6abef6e SHA512 b42c67ef88e09dd94171f85cdf49a421a15cfc82ff715c7ce6de22f98cefbe6c7cdf6bf4af7ca017d56ecf6aa3e36df3d823a78cf2dd5312de4301b54b43dbe8 EBUILD julia-1.6.3.ebuild 4604 BLAKE2B 8e5a273feaf93fa44aaf5f4e37ba429125006566184f65af6309e118799d9087a523317322dea5282c39c919a492fa28b24c8fedec5290bee6265cd50e145718 SHA512 2f06acbc40b6d081e15433d374ce268d0a4a290f1f720a690ee0d5bb94b6f99688ba996989b340f0b4801a70574c942ba93ea0ccd381cfe4cf0e5df75e3e89c7 -EBUILD julia-1.6.5.ebuild 4693 BLAKE2B b1fad8bab8f2b9f4a70f85eff2c7f0896c05a3b833b7edbc40cf5c1afe64e9b8ea906394c3d3e74d30c46ad63f529ebcd383b87a239265977eddacc6d41c9827 SHA512 d65a2eae5a4b08aeccbb48a1771976fdb7c638e783ad3cb7845438dbecb4d3647e567a2a88f61fe8143055f86aaf045efe3b387d8668743b0c7aa0fde69b49f0 -EBUILD julia-1.7.1-r2.ebuild 4899 BLAKE2B fe19a2cae8bfaff1b000df2f6babf5d708c978d13601e02c7f9cb306fe83261e2523ae571f3e6e666d66c425f407b1cfae054471354447592bd4cfc8e1e97d59 SHA512 858702e1facb9b8312b0f34d77ac13427eb368e5c079dffdeffb8be42a063fdfe5f2efb624f75a0d4d2eabce15cf992f2f9bd77f8d2f4d66635f3a7e8ebd4f93 +EBUILD julia-1.6.5-r2.ebuild 4745 BLAKE2B faf5cfc0103a93c9bcfd44c13a40db066f6aa78cca3d4dc2a9e99e80a14681b817cd5173687e8c90039d879e1f04a29bfa498afb900d37a9ca0620e84468f0f8 SHA512 8396a9c29a4c585a5eff0e8dfc455a48e5fefbe33203c33d1b89b80e262f0b6a5a17c90ce938f7f078209530cf999861f15f948ca9f4a96a17af92e9bf774270 +EBUILD julia-1.7.1-r4.ebuild 4951 BLAKE2B 48c32c5f8eac79ce84183685627eefdfea484578efedd6b822ec34d3e64e6519b83b1a5931cc300d221bb9076677e53c2b676f7002a81a0d94345c6d93b777f6 SHA512 0e8e6a4524db3b54843a87be8999d524e4f10f00dbc8bc06cad53db5ecbddc70b58e3ed38b91ca7664ab96c563c198e52cc45e3ddad83875b54d45f02f5d8482 MISC metadata.xml 1530 BLAKE2B 776f8e2eaaebf6a0429b9019ec606c76f80828c5d27ec07f6503e855d44f681a476d9fe0631de0eb0f609b0256e063c172e8fbfacd3e37118e66c07ade2cb42d SHA512 d172e00e631a7a4e4b61c0f3ad90849b189c8b8aa8586fceb63c26ca407c4e477339f51b05d48681be37d06b873d6c2fce62b61efb4b9874323d92022d570288 diff --git a/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch b/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch new file mode 100644 index 000000000000..fe753c0cd0e4 --- /dev/null +++ b/dev-lang/julia/files/julia-1.6.5-libgit-1.4.patch @@ -0,0 +1,43 @@ +This patch comes from: + https://github.com/archlinux/svntogit-community/blob/packages/julia/trunk/julia-libgit-1.4.patch + +diff --git a/stdlib/LibGit2/src/consts.jl b/stdlib/LibGit2/src/consts.jl +index 2bc9edaf89..55887ebe2a 100644 +--- a/stdlib/LibGit2/src/consts.jl ++++ b/stdlib/LibGit2/src/consts.jl +@@ -247,6 +247,11 @@ const RESET_HARD = Cint(3) # MIXED plus changes in working tree discarded + REBASE_OPERATION_FIXUP = Cint(4), + REBASE_OPERATION_EXEC = Cint(5)) + ++# git_remote_redirect_t ++const GIT_REMOTE_REDIRECT_NONE = Cint(0) ++const GIT_REMOTE_REDIRECT_INITIAL = Cint(1) ++const GIT_REMOTE_REDIRECT_ALL = Cint(2) ++ + # fetch_prune + const FETCH_PRUNE_UNSPECIFIED = Cint(0) + const FETCH_PRUNE = Cint(1) +diff --git a/stdlib/LibGit2/src/types.jl b/stdlib/LibGit2/src/types.jl +index 9ffcaa3646..98d938df65 100644 +--- a/stdlib/LibGit2/src/types.jl ++++ b/stdlib/LibGit2/src/types.jl +@@ -343,6 +343,9 @@ The fields represent: + @static if LibGit2.VERSION >= v"0.25.0" + proxy_opts::ProxyOptions = ProxyOptions() + end ++ @static if LibGit2.VERSION >= v"1.4.0" ++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL ++ end + @static if LibGit2.VERSION >= v"0.24.0" + custom_headers::StrArrayStruct = StrArrayStruct() + end +@@ -674,6 +677,9 @@ The fields represent: + @static if LibGit2.VERSION >= v"0.25.0" + proxy_opts::ProxyOptions = ProxyOptions() + end ++ @static if LibGit2.VERSION >= v"1.4.0" ++ follow_redirects::Cint = Consts.GIT_REMOTE_REDIRECT_INITIAL ++ end + @static if LibGit2.VERSION >= v"0.24.0" + custom_headers::StrArrayStruct = StrArrayStruct() + end diff --git a/dev-lang/julia/julia-1.6.5.ebuild b/dev-lang/julia/julia-1.6.5-r2.ebuild index 534e938e4e3d..a2d6758f86d7 100644 --- a/dev-lang/julia/julia-1.6.5.ebuild +++ b/dev-lang/julia/julia-1.6.5-r2.ebuild @@ -38,7 +38,7 @@ RDEPEND+=" dev-libs/libutf8proc:0=[-cjk] dev-util/patchelf >=net-libs/mbedtls-2.2 - net-misc/curl[http2,ssh] + <net-misc/curl-7.81.0[http2,ssh] sci-libs/amd:0= sci-libs/arpack:0= sci-libs/camd:0= @@ -69,6 +69,7 @@ PATCHES=( "${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_3.patch "${FILESDIR}/${PN}"-1.6.5-llvm_13_compat_part_4.patch "${FILESDIR}/${PN}"-1.6.5-libgit-1.2.patch + "${FILESDIR}/${PN}"-1.6.5-libgit-1.4.patch "${FILESDIR}/${PN}"-1.6.5-make-install-no-build.patch "${FILESDIR}/${PN}"-1.6.5-hardcoded-libs.patch "${FILESDIR}/${PN}"-1.6.5-do_not_set_rpath.patch diff --git a/dev-lang/julia/julia-1.7.1-r2.ebuild b/dev-lang/julia/julia-1.7.1-r4.ebuild index 58f9de7db701..64c2c07f71c4 100644 --- a/dev-lang/julia/julia-1.7.1-r2.ebuild +++ b/dev-lang/julia/julia-1.7.1-r4.ebuild @@ -39,7 +39,7 @@ RDEPEND+=" >=dev-libs/libutf8proc-2.6.1:0=[-cjk] >=dev-util/patchelf-0.13 >=net-libs/mbedtls-2.2 - net-misc/curl[http2,ssh] + <net-misc/curl-7.81.0[http2,ssh] sci-libs/amd:0= sci-libs/arpack:0= sci-libs/camd:0= @@ -68,6 +68,7 @@ PATCHES=( "${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_4.patch "${DISTDIR}/${PN}"-1.7.1-llvm_13_compat_part_5.patch "${FILESDIR}/${PN}"-1.6.5-libgit-1.2.patch + "${FILESDIR}/${PN}"-1.6.5-libgit-1.4.patch "${FILESDIR}/${PN}"-1.6.5-make-install-no-build.patch "${FILESDIR}/${PN}"-1.7.1-hardcoded-libs.patch "${FILESDIR}/${PN}"-1.7.1-do_not_set_rpath.patch diff --git a/dev-lang/lazarus/Manifest b/dev-lang/lazarus/Manifest index c505b758d2c5..c159f75d8829 100644 --- a/dev-lang/lazarus/Manifest +++ b/dev-lang/lazarus/Manifest @@ -1,4 +1,6 @@ AUX lazarus-0.9.26-fpcsrc.patch 407 BLAKE2B c3b006fd7bb58fb7037aae3d8d35ac146ab971fc6063652e3185b320e4cb05ccedb6c26c7d64b2f2998a901608ee251762b723f62bd9c239a51ab6a6d6f2b39d SHA512 823d9ba2041f97c39d8ea5f49cb02f68d8c98da95d0a479cc65a638365e2adafd1c5645fa6846720af18198834958f37b0cc0d92f38023ccdaf40ec8dc848f64 DIST lazarus-2.0.12.tar.gz 69560778 BLAKE2B ff6c9414483b0d50dbbb30c8fbf626c81d9c71ef0329aa1d58b37aa4288a500e1ab55d06bad27f637e3f09b9d062af1896720b9cb7367b092fc872cf613f8a3d SHA512 dfd22b2b96fca9d0f672f03b9120c4294a7e640737a09b26c274d304025c61566a8504a5484638c108e42a322b21992229451d95e38d7e491a1c2f07a663483e +DIST lazarus-2.2.0-0.tar.gz 76777421 BLAKE2B 29a7ed3285e3fbb6f72fe932d72d71edfd6903a8a5eb24f9534a12a4d1ccf5e40c61ce3cc1cbd8eef6dd7700f6e29fb640e35510b23a1ca1b02f7df0a4a738cc SHA512 4ebd8b4b7c6dfea491a30b1253e604646109d208c237e59be2fd9f6be3fb1e29443dd4e482076d77100678d0e4085b998398fca0532aa6122b59db7157af0ce4 EBUILD lazarus-2.0.12.ebuild 2667 BLAKE2B d6e1a545dd5a90f61b2f447205bdfb325f7a10e26f79891dd8fb229f76933f437277aba252253b123313ebc3189440d8b82bd1e794873e127c0f543ad514e1b8 SHA512 479430f9b6f5b15cb1fac203fe9d133706d2a01bc9020b23f35d1a5935dbf1bf116e2e9095b7e4175cad964f91def11cbfbb5f3daa21c0b3c47c834d4195643f +EBUILD lazarus-2.2.0.ebuild 2413 BLAKE2B f09dee3695b75dd6c59ff54b3358c7674a445d0476cce66ca0efb30331a66eaaa5596184913a798d9ceb6b95df1f428f206c6d886dd3fd0900df3de43a2494ba SHA512 5e2090fad65e9ad74679010c704643ec290a63f022711b5b454f6c564ae38758d501aaa3045e4a794e9fdb6a5afa1b694bcbc932ca3d0174fcaa22b628924a2f MISC metadata.xml 395 BLAKE2B ddc65b4329ed615ee2692ee80ff2b74b1b72992742ee27e6338aaa1ea8b7e39114ce5f735c61bf64bd603dbac7a1828f8bdb4c29b78a339a878b61092556e7ac SHA512 161abe773c486138f13a426c0d056d7efaf62f4180fc4fdfa85aa688021a5a834af7fc972867b92c6f53d45ca40940ff70ba07d7c4f61c4cfc32c2880286ba60 diff --git a/dev-lang/lazarus/lazarus-2.2.0.ebuild b/dev-lang/lazarus/lazarus-2.2.0.ebuild new file mode 100644 index 000000000000..878b17d9434b --- /dev/null +++ b/dev-lang/lazarus/lazarus-2.2.0.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +# See https://wiki.freepascal.org/Lazarus_2.0_fixes_branch for notes and +# changes in FPCVER. It *does* change between minor versions of lazarus. +FPCVER="3.2.2" + +DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi" +HOMEPAGE="https://www.lazarus-ide.org/" +SRC_URI="https://sourceforge.net/projects/${PN}/files/Lazarus%20Zip%20_%20GZip/Lazarus%20${PV}/${P}-0.tar.gz" + +LICENSE="GPL-2 LGPL-2.1-with-linking-exception" +SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND. +KEYWORDS="~amd64 ~x86" +IUSE="minimal" + +DEPEND=">=dev-lang/fpc-${FPCVER}[source] + net-misc/rsync + x11-libs/gtk+:2 + >=sys-devel/binutils-2.19.1-r1:=" +RDEPEND="${DEPEND}" + +RESTRICT="strip" #269221 + +S="${WORKDIR}/${PN}" + +PATCHES=( "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch ) + +src_prepare() { + default + # Use default configuration (minus stripping) unless specifically requested otherwise + if ! test ${PPC_CONFIG_PATH+set} ; then + local FPCVER=$(fpc -iV) + export PPC_CONFIG_PATH="${WORKDIR}" + sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg | + sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die + fi +} + +src_compile() { + # TODO: Change to LCL_PLATFORM=qt5? + # bug #732758 + LCL_PLATFORM=gtk2 emake \ + $(usex minimal "" "bigide") \ + -j1 +} + +src_install() { + diropts -m0755 + dodir /usr/share + # Using rsync to avoid unnecessary copies and cleaning... + # Note: *.o and *.ppu are needed + rsync -a \ + --exclude="CVS" --exclude=".cvsignore" \ + --exclude="*.ppw" --exclude="*.ppl" \ + --exclude="*.ow" --exclude="*.a"\ + --exclude="*.rst" --exclude=".#*" \ + --exclude="*.~*" --exclude="*.bak" \ + --exclude="*.orig" --exclude="*.rej" \ + --exclude=".xvpics" --exclude="*.compiled" \ + --exclude="killme*" --exclude=".gdb_hist*" \ + --exclude="debian" --exclude="COPYING*" \ + --exclude="*.app" \ + "${S}" "${ED}"/usr/share \ + || die "Unable to copy files!" + + dosym ../share/lazarus/startlazarus /usr/bin/startlazarus + dosym ../share/lazarus/startlazarus /usr/bin/lazarus + dosym ../share/lazarus/lazbuild /usr/bin/lazbuild + use minimal || dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp + dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png + + make_desktop_entry startlazarus "Lazarus IDE" "lazarus" +} diff --git a/dev-lang/lfe/Manifest b/dev-lang/lfe/Manifest index 727acb93f7d9..2e700eff8b6c 100644 --- a/dev-lang/lfe/Manifest +++ b/dev-lang/lfe/Manifest @@ -1,6 +1,6 @@ AUX 70lfe-gentoo.el 166 BLAKE2B 023b504e013f24662bded660def58f013ca9b34bc9ee73a137df54e48825e71f3a7322652e7cb8fd60e19b2a508180e1933c6f03be163d4a614fecfb6b41d96a SHA512 a15c3db1640229eaa2c1faa44f7765a53fdde29af78f8a9130c3b8893098cbc41a3cb322402ac5b9b0ca8373739b03723acdc3685d83724fafa6afaee0c25891 -DIST lfe-1.3.0_p20210112.zip 447903 BLAKE2B bc63fd7f988abba77e7f4baef906c2fd4370e1aeb2bc04b019d429586cbcb91792ac0f65a3d29a904997d2488a2540411c38e904c0208e2183a8f0f8362f7c36 SHA512 ee178436ca8aea1f1001e5f679a366414229f584cc0e0a38d9749b7cb49d7378a3f8681dcb8c1d5c61e4f498aa31c575a791fe21337b3079a11b623ada363de9 +DIST lfe-2.0.1.tar.gz 351818 BLAKE2B 4f661d2d4685af420bf9b531795ffacfe9b272b6bd39c81a4f3344e4003960d2deb31618df22d8f91c74b925ab522153b732d9afdbd894c64f70a533b573989e SHA512 47d062fcd1910580ba5d84f8887a27d0717cb7aae2a90fb3a7e7411fd46886dd73e342ccd4627227c70d13dcd2c5f66077d351812e9bc0c17d64e9ef65d04f96 DIST lfe-2.0.tar.gz 351324 BLAKE2B 811bd310cf917f3e1dc456c9e7c5cd09f5099a2ab20d2bde60e2057eb94ee9125298866b01ef9b483fdaef8572cb487c0a760407c79774e915fdd2c7c129d796 SHA512 b615f28947febe034b1bd155e6c357211ebbdb63aef67645a9681a4a30b799c2019a79ab8f33cd5d3003ad5da83e10af6b3e5c1abe810def92c88812d58c0d04 -EBUILD lfe-1.3.0_p20210112.ebuild 1478 BLAKE2B 703a9fcac2af8303587052a4adc18ec9757f3b0cb08ccf744b0d8ae43d94e46dd1ba24eea0c51c3abf1c55c72288ec44e1153daf9aae5883fecbe09733ae7f57 SHA512 4fc4fe399ca2974216c4c79eb248c670e7c29f3a51170c46907ad35d99dc28a3ee5627890ce4eb15d05898e9f07fae7015558ab6be57f4921e314603a7895142 +EBUILD lfe-2.0.1.ebuild 1395 BLAKE2B 41a87d285c4278c86826595debd3303ed2b081b210befd73ce06b471c8a0cccfed5e6416c4c21652f3145696be42e2591e883d26a5a99c62d195ac20bced9545 SHA512 4bebb35aa8e14a2822e834dc7a9d8b852a9465caea6ff7c47a94b56d17a3ceb9442d0c4859650180647597e3678ec5ec9a9fccdf50463a68113fa66f6434b663 EBUILD lfe-2.0.ebuild 1395 BLAKE2B a5aaa1651bb6ed497878c72d1defa3d8038007a3094912c8a9225fdea6348d44d8a30939d01625daaab741f530e6fca20465d5b8d5b9973ef909297ff38d35f0 SHA512 7ea89b2be62b645276692ce3762a18c2154a8805d784324b1a151879cacb5734e847c8489fb2141885a9a6e2a50f60d1674494b00623818d959776757448a70b MISC metadata.xml 589 BLAKE2B 94dca142b926d73c55b24cf6976002b20a938f93ee49cf143d57284b936248c757daf32a80b4ef431a1a54287b618c83c48500db9a7ff330ec794a0d79b90498 SHA512 d34f128e89a8032b69060bba0630dc206604cd694b9d47e50763128f1dbb16fea9f7e9a8902d8f19f55ca26569c6aa89bd560a78a4b861b6cbe1366460cc8c0b diff --git a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild b/dev-lang/lfe/lfe-2.0.1.ebuild index b5acbb1dd4b9..bd2582d072c0 100644 --- a/dev-lang/lfe/lfe-1.3.0_p20210112.ebuild +++ b/dev-lang/lfe/lfe-2.0.1.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit elisp-common toolchain-funcs @@ -14,10 +14,8 @@ if [[ "${PV}" == *9999* ]]; then EGIT_BRANCH="develop" EGIT_REPO_URI="https://github.com/rvirding/${PN}.git" else - COMMIT_SHA="e5f20c459a13b35ed1e71b1d2667363af168e958" - SRC_URI="https://github.com/rvirding/${PN}/archive/${COMMIT_SHA}.zip -> ${P}.zip" + SRC_URI="https://github.com/rvirding/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${PN}-${COMMIT_SHA}" fi RESTRICT="mirror test" diff --git a/dev-lang/lua/Manifest b/dev-lang/lua/Manifest index e6ef584f16f9..8ceb048fdf44 100644 --- a/dev-lang/lua/Manifest +++ b/dev-lang/lua/Manifest @@ -6,13 +6,20 @@ AUX lua-5.1.4-test.patch 271 BLAKE2B 1b8d2fd524d34fce99315d03232984a3cd1ad74fb23 AUX lua-5.1.5-make.patch 3079 BLAKE2B cf9b72afd8e08ea23256364f321d49427661de8353f7655b9da3de1ef943125ae86cf1a7aab9f1c459e51063031eb1105b7703ad9e1aee90a848497b58addb12 SHA512 92a1c890e40a8bd621dad4a18fc890850027c4a5a239b8259ef3002ad4835a7a11069ca964a62a096cd651a688b60f5f261c1223e4ac7981e7a8bb43788634ff AUX lua-5.3.6-make.patch 2830 BLAKE2B 9d3ea717531d93d7f7618335f503528e629aa3582392c49e340b6909860a51e30371530ea06ef1ed81cc4bde4a294e1d6732662703f646a7a3f727159dc83fed SHA512 5d5f0a02f2e11cb7965702ffb2f65c0f19184ae4e27c28e57a100c35e8972e2fba419999af63b65b0f031880dda7851816cef126088ddb105b29d401d03e1132 AUX lua-5.4.2-make.patch 3179 BLAKE2B 68e9af77c2f5931234eefbe953ff127c3b32bdfa67917075435531d43672304e599e706dba2012cf6a13645803b611bee437f2f28137ed0daff9fdfc4afc4b79 SHA512 09cfcea9b736ef90d035a1d2bd7480b813edd99aa7c5ecd4b52a9fbd2bf479623db6045be89642bd3867b5ca143c5640c53a7d72951b33ab4832b9a6323a88b7 +AUX lua-5.4.2-r2-make.patch 3161 BLAKE2B b9b87229c2098bdcd4a1c2622417176fa21b0fc8e35223f5f753f384c028ba30a74049c05d05828357102cc9a07674bf1c881506593f54adb75aeb1e669c8005 SHA512 b75564f98254ab76b3d278210fd112d8a7949e208d15c58d6134b5331d498638662cead48c873a1d202bb83eaf05580b3a18efe8a03f08d657e4005ed3f8dee2 AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6e7cf78dfa81fa8b100737cf9ad620d34d94eceec01ba09e4fab0b121c5e4c673677cd3f SHA512 cb476ea6dd004a9aa0094cfc219d1888c5f578b44968a960acf1f2f32783a8e4d770bb033fb1ab4851f225188bbdd434b5d239718cae2c2c35f5b5f124a722ca DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9 DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0efb224afb4828871ac085a3d64c41d674a6f9369035de01ed1f7f75a3d2ce16917f37e774e923216aac0be03e09 SHA512 79575d100a2efabc8243f55b55d912443e09ef7e8b0219cb93541d85c2ba802fb9538015e1228703f09ca57bdb28a640a8f1fa0735716ba1e4bca2179c712dfb DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681 DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920 +DIST lua-5.4.4-tests.tar.gz 134094 BLAKE2B 63f5888a506f504f849fb2000cf551960df8eca3107601dcc8243e8ea5a1b13a70bff7dea4aebe3ab35b7e9df58c2ca44a7a27aa4de82240877eb8d7a017642e SHA512 08b3d764b3f362a2cddf5a23e71b16eea96a234a970fa0048bab358ebbd77f99d9bd132af12254383c5bb5426516e1ce2107e529e88d3963869255f5a41198ef +DIST lua-5.4.4.tar.gz 360876 BLAKE2B 8747ef5c83bd4c54b73eeaad6991ab5fccc54ee000973afd9cf3367b8945f03c54e843ec88c48043003cd9d3b42281c593cb485b7165add2744cfea06d8b7668 SHA512 af0c35d5ba00fecbb2dd617bd7b825edf7418a16a73076e04f2a0df58cdbf098dc3ff4402e974afd789eb5d86d2e12ec6df9c84b99b23656ea694a85f83bcd21 EBUILD lua-5.1.5-r106.ebuild 4034 BLAKE2B 854878c2829b16de02a0cf011b1b35b22f130095c2e671e755a1a23153a27a612a8c9ec5443b97c550e98396d9845e49245832e8ce655334692a6ec77495dc88 SHA512 294a4daad1aaafbdbaf841a9f9e6ba1d0bbb0892138ce065188e2b4e7cfb7a85ca4a88b069862d0f339617ff0b7ce97d119db06736ea4609ea2801cb57f2967e +EBUILD lua-5.1.5-r107.ebuild 4238 BLAKE2B de88ceeff06d9c0e16c3df5175b8924d0929d1c0beec10801f6c7da0621746573f482b5db08198d2f8c809c071b3de6501ae820f85f073ec8089f93996041ea0 SHA512 ced7edb2eb12f701bcdc32d70629a7343481040008b5ee0ddf246fa3d9739da1bf1cfa269643ff867511275aa0de63cbead58d8297fd8063e1129a6731cf5898 EBUILD lua-5.3.6-r2.ebuild 5752 BLAKE2B 88d746cbe0643295ebacca48b1343acf3c1ddce29b9249df65e498cac970221adb15841b978d7ed16b78a503f107d307f3a6e6b1dec5f2ab7f0a086a65d8054e SHA512 eb9a993fd34799b95ae6fe7d9ee6cc2b05f8298ed0c91546561cd4683a4c57c9c74786ce0950f4b82cd96c4e7d663400bacda9b8734bd440abbc3d312891c428 +EBUILD lua-5.3.6-r3.ebuild 5956 BLAKE2B 3034c8c8497122306230252168723566e1ff978ffd3b0ea233758744dd63b8a6daa6ede7e3855f37f1fb0277c7989fc63540f04da9d5d3cbeca481f486421f43 SHA512 7486afa140d5646bac59249084f34da78510f0ca173a1ec7006376b603c765210d994e181955494e6af6a352986fa52fa351d8e65f7b4cf9879950653d5ecaca EBUILD lua-5.4.2-r1.ebuild 5698 BLAKE2B 389a70fdbbea2c66d3c4c45471e67775c106bffbbf622cbddeb6803fef6b88da5debecc3c2107b23e4b33c417eec4649388b6c7f575f7b8926b5947edc284479 SHA512 eeafbd5447750b6ee1f32f11edaff20365dcfba88ab21d19c14e3049b896cb9f44c826e4e59a969e244b53cc3f8a3dfff7aea8adcfdb7124c2b4168bd57b2336 +EBUILD lua-5.4.2-r2.ebuild 5905 BLAKE2B 427d512b784ab7d9e7e2c4711f2493e36390c5921d95d387403ab9cc7896da56588ab5b7f0aa9cf32b8be514bc7822bc55567dbcd48a11821adf9f46247b8eac SHA512 963a014a6e1906f7ef94fefee1f1a9414b997a653d20611604a175b61ebb0f30ff06cade839f43e0059425c07af185738bd43ae3b8b29de64942ee69cbdd7195 +EBUILD lua-5.4.4.ebuild 5905 BLAKE2B 5fb3231f1651b731c355b46f6c596fb8788211fed3049aeec6ae59ae974e2564fec0043bc1a208e69d6f5fca3aa54c2bf6f314f79b6bf193d1accb2c28181565 SHA512 3d741849061484f473fa72e849f44f838a2866047e16beedca9af144a52ed19fd50dc601b54a37374886c40b74ef5c2f1d44ddb5cc62e945928d1b9907071066 MISC metadata.xml 525 BLAKE2B cd450b981b7ae039f32a0c6484548c59eff8d9c032975c84ef9b5530219413f7ff7a95d66593da6252c08808189cc61f02fbef88efe36f71dc64d9aec3c0e90e SHA512 4f127caf48df93a75b562f516e3a522ae3edcc601f434b2d034d76b106cbfd96848e6898bdc850acf757101843696e44da9ab1f42292e96bd294c30b631ccaa8 diff --git a/dev-lang/lua/files/lua-5.4.2-r2-make.patch b/dev-lang/lua/files/lua-5.4.2-r2-make.patch new file mode 100644 index 000000000000..d14aa40df0a0 --- /dev/null +++ b/dev-lang/lua/files/lua-5.4.2-r2-make.patch @@ -0,0 +1,99 @@ +diff --git a/Makefile b/Makefile +index 1797df9..90284d8 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,11 +10,11 @@ PLAT= guess + # so take care if INSTALL_TOP is not an absolute path. See the local target. + # You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with + # LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h. +-INSTALL_TOP= /usr/local ++INSTALL_TOP= /usr + INSTALL_BIN= $(INSTALL_TOP)/bin +-INSTALL_INC= $(INSTALL_TOP)/include ++INSTALL_INC= $(INSTALL_TOP)/include/lua$V + INSTALL_LIB= $(INSTALL_TOP)/lib +-INSTALL_MAN= $(INSTALL_TOP)/man/man1 ++INSTALL_MAN= $(INSTALL_TOP)/share/man/man1 + INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V + INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V + +@@ -104,3 +104,18 @@ pc: + .PHONY: all $(PLATS) help test clean install uninstall local dummy echo pc + + # (end of Makefile) ++ ++# Use libtool for binary installs, etc. ++ ++export V ++export LIBTOOL = libtool --quiet --tag=CC ++# See libtool manual about how to set this ++ ++gentoo_clean: ++ cd src; $(MAKE) $@ ++ ++gentoo_install: ++ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua$V luac$V $(INSTALL_BIN) ++ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) ++ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua$V.la $(INSTALL_LIB) +diff --git a/src/Makefile b/src/Makefile +index 514593d..8af8f99 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -37,10 +37,10 @@ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem + LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o + BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) + +-LUA_T= lua ++LUA_T= lua$V + LUA_O= lua.o + +-LUAC_T= luac ++LUAC_T= luac$V + LUAC_O= luac.o + + ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +@@ -60,10 +60,10 @@ $(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) + $(RANLIB) $@ + +-$(LUA_T): $(LUA_O) $(LUA_A) ++origin$(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) + +-$(LUAC_T): $(LUAC_O) $(LUA_A) ++origin$(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + + test: +@@ -218,3 +218,30 @@ lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ + lobject.h ltm.h lzio.h + + # (end of Makefile) ++ ++export LIBTOOL = libtool --quiet --tag=CC ++export LIB_VERSION = 6:1:1 ++ ++# The following rules use libtool for compiling and linking in order to ++# provide shared library support. ++ ++LIB_NAME = liblua$V.la ++LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo) ++ ++%.lo %.o: %.c ++ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $< ++ ++$(LIB_NAME): $(LIB_OBJS) ++ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) \ ++ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS) ++ ++$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -static -export-dynamic $(LDFLAGS) -o $@ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS) ++ ++$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME) ++ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) $(LIB_NAME) ++ ++gentoo_clean: ++ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua$V luac$V ++ ++gentoo_all: $(LIB_NAME) $(LUA_T) $(LUAC_T) diff --git a/dev-lang/lua/lua-5.1.5-r107.ebuild b/dev-lang/lua/lua-5.1.5-r107.ebuild new file mode 100644 index 000000000000..5fb8942422b8 --- /dev/null +++ b/dev-lang/lua/lua-5.1.5-r107.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +SRC_URI="https://www.lua.org/ftp/${P}.tar.gz" + +LICENSE="MIT" +SLOT="5.1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +src_prepare() { + PATCHES=( + "${FILESDIR}/lua-5.1.5-make.patch" + "${FILESDIR}/${PN}-$(ver_cut 1-2)-module_paths.patch" + ) + if ! use deprecated ; then + # patches from 5.1.4 still apply + PATCHES+=( + "${FILESDIR}"/${PN}-5.1.4-deprecated.patch + "${FILESDIR}"/${PN}-5.1.4-test.patch + ) + fi + if ! use readline ; then + PATCHES+=( + "${FILESDIR}"/${PN}-$(ver_cut 1-2)-readline.patch + ) + fi + + default + + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "/^includedir=/s,(/include)$,\1/lua${SLOT}," \ + -e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \ + "${S}"/etc/lua.pc + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + # We want packages to find our things... + sed -i \ + -e 's:/usr/local:'${EPREFIX}'/usr:' \ + -e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \ + etc/lua.pc src/luaconf.h || die +} + +multilib_src_compile() { + tc-export CC + myflags= + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + if use readline; then + mylibs="-lreadline" + fi + + cd src + emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all + + mv lua_test ../test/lua.static +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + insinto /usr/$(get_libdir)/pkgconfig + newins etc/lua.pc lua${SLOT}.pc +} + +multilib_src_install_all() { + DOCS="HISTORY README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +multilib_src_test() { + local positive="bisect cf echo env factorial fib fibfor hello printf sieve + sort trace-calls trace-globals" + local negative="readonly" + local test + + cd "${BUILD_DIR}" || die + for test in ${positive}; do + test/lua.static test/${test}.lua || die "test $test failed" + done + + for test in ${negative}; do + test/lua.static test/${test}.lua && die "test $test failed" + done +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.3.6-r3.ebuild b/dev-lang/lua/lua-5.3.6-r3.ebuild new file mode 100644 index 000000000000..e1a9e2c2263d --- /dev/null +++ b/dev-lang/lua/lua-5.3.6-r3.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.3.4" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}/lua-5.3.6-make.patch" +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + if ! use readline ; then + sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die + fi + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS="-DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2" + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+=" -DLUA_USE_LINUX" ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.4.2-r2.ebuild b/dev-lang/lua/lua-5.4.2-r2.ebuild new file mode 100644 index 000000000000..d3ea0294a6c4 --- /dev/null +++ b/dev-lang/lua/lua-5.4.2-r2.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.4.2" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}"/lua-5.4.2-r2-make.patch +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 " + use readline && myCFLAGS+="-DLUA_USE_READLINE " + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+="-DLUA_USE_LINUX " ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/lua/lua-5.4.4.ebuild b/dev-lang/lua/lua-5.4.4.ebuild new file mode 100644 index 000000000000..99d90a97ccd8 --- /dev/null +++ b/dev-lang/lua/lua-5.4.4.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools multilib multilib-minimal portability toolchain-funcs + +DESCRIPTION="A powerful light-weight programming language designed for extending applications" +HOMEPAGE="https://www.lua.org/" +TEST_PV="5.4.4" +TEST_P="${PN}-${TEST_PV}-tests" +SRC_URI=" + https://www.lua.org/ftp/${P}.tar.gz + test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )" + +LICENSE="MIT" +SLOT="5.4" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+deprecated readline test test-complete" + +COMMON_DEPEND=" + >=app-eselect/eselect-lua-3 + readline? ( sys-libs/readline:0= ) + !dev-lang/lua:0" +# Cross-compiling note: +# Must use libtool from the target system (DEPEND) because +# libtool from the build system (BDEPEND) is for building +# native binaries. +DEPEND=" + ${COMMON_DEPEND} + sys-devel/libtool" +RDEPEND="${COMMON_DEPEND}" + +RESTRICT="!test? ( test )" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/lua${SLOT}/luaconf.h +) + +PATCHES=( + "${FILESDIR}"/lua-5.4.2-r2-make.patch +) + +src_prepare() { + default + # use glibtool on Darwin (versus Apple libtool) + if [[ ${CHOST} == *-darwin* ]] ; then + sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \ + Makefile src/Makefile || die + fi + + # correct lua versioning + sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die + + sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die + + # Using dynamic linked lua is not recommended for performance + # reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519 + # Mainly, this is of concern if your arch is poor with GPRs, like x86 + # Note that this only affects the interpreter binary (named lua), not the lua + # compiler (built statically) nor the lua libraries. + + # upstream does not use libtool, but we do (see bug #336167) + cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die + eautoreconf + + # custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + sed -i \ + -e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \ + -e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \ + src/luaconf.h \ + || die "failed patching luaconf.h" + + econf +} + +multilib_src_compile() { + tc-export CC + + # what to link to liblua + liblibs="-lm" + liblibs="${liblibs} $(dlopen_lib)" + + # what to link to the executables + mylibs= + use readline && mylibs="-lreadline" + + cd src + + local myCFLAGS="" + use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 " + use readline && myCFLAGS+="-DLUA_USE_READLINE " + + case "${CHOST}" in + *-mingw*) : ;; + *) myCFLAGS+="-DLUA_USE_LINUX " ;; + esac + + emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \ + SYSLDFLAGS="${LDFLAGS}" \ + RPATH="${EPREFIX}/usr/$(get_libdir)/" \ + LUA_LIBS="${mylibs}" \ + LIB_LIBS="${liblibs}" \ + V=$(ver_cut 1-2) \ + LIBTOOL="${ESYSROOT}/usr/bin/libtool" \ + gentoo_all +} + +multilib_src_install() { + emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + V=${SLOT} gentoo_install + + case $SLOT in + 0) + LIBNAME="lua" + INCLUDEDIR_SUFFIX='' + ;; + *) LIBNAME="lua${SLOT}" + INCLUDEDIR_SUFFIX="/lua${SLOT}" + ;; + esac + + # We want packages to find our things... + # A slotted Lua uses different directories for headers & names for + # libraries, and pkgconfig should reflect that. + local PATCH_PV=$(ver_cut 1-2) + cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die + sed -r -i \ + -e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \ + -e "s:^prefix= :prefix= ${EPREFIX}:" \ + -e "s:^V=.*:V= ${PATCH_PV}:" \ + -e "s:^R=.*:R= ${PV}:" \ + -e "s:/,lib,:/$(get_libdir):g" \ + -e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \ + -e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \ + "${WORKDIR}/lua.pc" || die + + insinto "/usr/$(get_libdir)/pkgconfig" + newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc" + # Copy Debian's symlink support: + # https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19 + # FreeBSD calls the pkgconfig 'lua-5.3.pc' + # Older systems called it 'lua53.pc' + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc" + dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc" +} + +multilib_src_install_all() { + DOCS="README" + HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif" + einstalldocs + newman doc/lua.1 lua${SLOT}.1 + newman doc/luac.1 luac${SLOT}.1 + find "${ED}" -name '*.la' -delete || die + find "${ED}" -name 'liblua*.a' -delete || die +} + +# Makefile contains a dummy target that doesn't do tests +# but causes issues with slotted lua (bug #510360) +src_test() { + debug-print-function ${FUNCNAME} "$@" + cd "${WORKDIR}/lua-${TEST_PV}-tests" || die + # https://www.lua.org/tests/ + # There are two sets: + # basic + # complete. + # + # The basic subset is selected by passing -e'_U=true' + # The complete set is noted to contain tests that may consume too much memory or have non-portable tests. + # attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI) + TEST_OPTS="$(usex test-complete '' '-e_U=true')" + TEST_MARKER="${T}/test.failed" + rm -f "${TEST_MARKER}" + + # If we are failing, set the marker file, and only check it after done all ABIs + abi_src_test() { + debug-print-function ${FUNCNAME} "$@" + TEST_LOG="${T}/test.${MULTIBUILD_ID}.log" + eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die + grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}" + return 0 + } + + multilib_foreach_abi abi_src_test + + if [ -e "${TEST_MARKER}" ]; then + cat "${TEST_MARKER}" + die "Tests failed" + fi +} + +pkg_postinst() { + eselect lua set --if-unset "${PN}${SLOT}" + + if has_version "app-editor/emacs"; then + if ! has_version "app-emacs/lua-mode"; then + einfo "Install app-emacs/lua-mode for lua support for emacs" + fi + fi +} diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest index 60508b56a9f2..cecbcd92a6a7 100644 --- a/dev-lang/luajit/Manifest +++ b/dev-lang/luajit/Manifest @@ -2,6 +2,8 @@ AUX CVE-2020-15890.patch 660 BLAKE2B ac615accba8c2d914ff9db2bd2306e1f37df6b35f95 AUX luajit-2-ldconfig.patch 1099 BLAKE2B f18beb00b703aa4fd5c6d959b72469c34fb67ba9dd1513831c36d5bdd21144457d70a58948bfc47660eadb130bb4f77d55858cd4e4b7c33860df749b22b727bd SHA512 a86be88b8cf65c5a11defeeb16dab92c7d3fe774b2ecd289d9485342236e14c99b78700082c024b703179b55aedeee98bef43d624af23673cfa7ac68a492c6b1 DIST LuaJIT-2.0.5.tar.gz 849845 BLAKE2B 961c8622e19b0e66a76a875cb46ad149cb2559b5af41f360dc41dd0d6bb924583e6477dd1329f67c2ac6ea4b8dc42c5e2f4d63ea49400aba4d9e7c7e85e4b085 SHA512 2636675602b4a060b0571c05220db2061dd2f38568e35b2be346a0f5e3128d87057d11d3d0d7567d8cc4e0817b5e4cf2c52a17a48065520962b157816465a9fe DIST LuaJIT-2.1.0-beta3.tar.gz 1025180 BLAKE2B ac3d12e25bd9946ba41aed6672c66884e7256e6be99d7ee8d1260d697453c966b24d60387f278f47233bad44cda61085c9059e6f62c0bc7cfdaaefde282346c5 SHA512 c44e967a0f671ed32b55aee810bc8b3b63737a2d7363b8984ae1949b24f98dbb3f9be7c1e10239fdeb96a3e3c836f606342cbd61838cf9bcadb077443eb5bc12 +DIST luajit-2.1.0_beta3_p20220127.tar.gz 1072282 BLAKE2B e1d4834683b9ec16f0567f5de486262d84af145e3e27724d343c130288e90abff089fd5c7ff1275f9dde3cb5ae4f818f710020bd708c599972a14f1671381c2a SHA512 4c6ae7173bb91dc2d4d425da4afdab2520078e15ae4471c0cb99a255dd7544d6900b333efbbfc8f26ffbc4fcd8f1d2daf65671c59b5cafd6b0d53cb07b49d4ff EBUILD luajit-2.0.5-r3.ebuild 1685 BLAKE2B 106c16e4a96f50b22cddf2c0276388b6ecf4299815a9f850be98e135e82dd0f95bac1611f45bae3e69a741d7e9e60e41adca4bd5fb656ffe27a5f8d064294464 SHA512 6c6380037212e9ab19aed483ff64bc8390220064ecaf4b4cee6fd88ba721e81b74db2bf9b0daa95416da1644f142c53f58d60fe46f6cff7a440f63bfb9cb08a3 EBUILD luajit-2.1.0_beta3-r2.ebuild 1448 BLAKE2B a22043290a629b7bad84e628fec5f6b30a356f43bfe210a0fd4d34d070f41802a3e5c7264ec462472ca2ff411e55477f177b2d62e4a074096060bcfcd2e453e5 SHA512 71e8cde4380c3005e949526e72e467090c0e05158efab3aa1c07260f63601aaf11236a45e4410a81955f7c61ff2db7711f9d61c938102621aca667639a1e9d66 +EBUILD luajit-2.1.0_beta3_p20220127-r1.ebuild 1612 BLAKE2B c15cac290782fe18d078953e3a9c7179b1b774c2c0276e1edfcaba92aae06e39645f1f384f39474dbfb7343c1bbf5e06388ca4d1834a248a3372a76ae35f2952 SHA512 47616426bb44fff69896678bdd421bb83c1f3d9adc6d06ee91815e382883feff5180abcbb15f350d8d2a4e063b4c4d81e2b68561e7d8dc3ff6d1785cfcdf23bb MISC metadata.xml 421 BLAKE2B 676a174efc8aea4ede702c923aa8921baaec47a76e3cd984578fb2b4494128ecc5a3bea3a7a72e3da4bb5ccf12cee52b6e463397ddc82eda6a500cf6b142afea SHA512 50a886d462403199a6b0b8e64d38644550175b4dbf2c57f72177fa8f900bc06a949443bd31fb89a9fd4922de0faa0e633f013b265a023b9fc72cbe13df95809e diff --git a/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild new file mode 100644 index 000000000000..804ab4ffd9d0 --- /dev/null +++ b/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r1.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +GIT_COMMIT=1d7b5029c5ba36870d25c67524034d452b761d27 + +inherit pax-utils toolchain-funcs + +MY_PV="$(ver_cut 1-5)" +MY_PV="${MY_PV/_beta/-beta}" +MY_P="LuaJIT-${MY_PV}" + +DESCRIPTION="Just-In-Time Compiler for the Lua programming language" +HOMEPAGE="https://luajit.org/" +SRC_URI="https://luajit.org/download/${MY_P}.tar.gz" +SRC_URI="https://github.com/LuaJIT/LuaJIT/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +# this should probably be pkgmoved to 2.0 for sake of consistency. +SLOT="2" +KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="lua52compat static-libs" + +PATCHES=( +) + +S="${WORKDIR}/LuaJIT-${GIT_COMMIT}" + +_emake() { + emake \ + Q= \ + PREFIX="${EPREFIX}/usr" \ + MULTILIB="$(get_libdir)" \ + DESTDIR="${D}" \ + CFLAGS="" \ + LDFLAGS="" \ + HOST_CC="$(tc-getBUILD_CC)" \ + HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \ + HOST_LDFLAGS="${BUILD_LDFLAGS}" \ + STATIC_CC="$(tc-getCC)" \ + DYNAMIC_CC="$(tc-getCC) -fPIC" \ + TARGET_LD="$(tc-getCC)" \ + TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \ + TARGET_LDFLAGS="${LDFLAGS}" \ + TARGET_AR="$(tc-getAR) rcus" \ + BUILDMODE="$(usex static-libs mixed dynamic)" \ + TARGET_STRIP="true" \ + INSTALL_LIB="${ED}/usr/$(get_libdir)" \ + "$@" +} + +src_compile() { + tc-export_build_env + _emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")" +} + +src_install() { + _emake install +dosym luajit-2.1.0-beta3 /usr/bin/luajit + pax-mark m "${ED}/usr/bin/luajit-${MY_PV}" + + HTML_DOCS="doc/." einstalldocs +} diff --git a/dev-lang/moarvm/Manifest b/dev-lang/moarvm/Manifest index 32c95ef55e14..936741edc949 100644 --- a/dev-lang/moarvm/Manifest +++ b/dev-lang/moarvm/Manifest @@ -1,8 +1,10 @@ DIST MoarVM-2021.06.tar.gz 5449936 BLAKE2B 2bf6fc2e1a4dd0741819305e506945b09ed2a0fc1348ff98565cae397e76044176f05e87faeed1f52d5efadccb6d44edcb987553f5e164417153a8f23ba09493 SHA512 b23e20ed3e0830395ac09bd84a33ea3ab7ba52bce835c67b1feec45823ca2f0c9d04957d1f1b48b400fc30a48db37c5f89c3975b0273f684d9677145e2296f2c DIST MoarVM-2021.08.tar.gz 13643526 BLAKE2B 433cfaaad4138d8b98fc4bacd5495281f2a8da5195aa74aded118126afdf11cdf0175fd033472e951e91ab3c1eb11877ab039cd24d911553d5854be18021a87e SHA512 6199871f51a4998e1b5260ba833e3bf09c6115e12334a94de5aa4135b93f8dc754967712ce8e092a36b4940368433be840cbf1a8ce7aec52219f768acd90078d DIST MoarVM-2021.10.tar.gz 13711924 BLAKE2B 18e0c8b5429242f7588dc5ad47d92a46146223e8dc7dcef93e2cb3332c2400b29754f1f03ceb9016665771554940667e1373a48c96921922834fd103a73d985a SHA512 a376d0388d9e53b9f07a960ab23ddf8e35379a6dff168d2f726c0f05431804bf4e09b0a2a0eab9a39b9df493030e384e9680a7654bdf9e5c129a6c70aead833d +DIST MoarVM-2022.02.tar.gz 14640429 BLAKE2B 5e64855514c33d97408353756ba88f29bfd2da39d8d2aa03b8c096645ca7dc680df47a246d224920aa466b76005c1be9d6e7096933046e0fa0caf836cfd09eb2 SHA512 12385cc6cfc5308240d841842ac1b2ff880e786c9724dc6c7fa776c1c6422b345e1f4ab870579b7051726b2655668caed33e1bbb75a7201948431a7b2897e9f7 EBUILD moarvm-2021.06-r1.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433 EBUILD moarvm-2021.08.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433 EBUILD moarvm-2021.10.ebuild 1444 BLAKE2B 280f1692bef4aaebd45845476aef516da3a2be1c02886f42e7ca457a24c0c5b8e70956ffc351de020106856c74508fee982319e22995db0495cdac7337c15981 SHA512 d723ebe18b57d0307259042bd30ad9e78fef400c211e903332d8e77731c4545c93ad1e5920b0f3bc0c7e9d02c25dbd7b60b4c645a53b46e1a678cfa456c06433 +EBUILD moarvm-2022.02.ebuild 1444 BLAKE2B 50a95e1cd7c7a9677e0a7d0e32d392aae595182707381c69d1239361ef34bf52c508904aa481bd843b8ac2f2f633d3a35fb34524728280ffb535d481c63bcb44 SHA512 b71477c471aa80ee4110ad48849443e9a3e1133c57b9874f92397b11e8b3a5c2bbc4b9813c26ed2521368552730b90db768fe1fef2e79798aef9995a07222da2 EBUILD moarvm-9999.ebuild 1731 BLAKE2B 2a4d7b70bfe115f903a819c8fdc15360ebe9dee720a0ca0cfd87cd99a2dbde19cfc6b8b00f17a1a4604e9fbee91467625793b0fcf192fa0633754a8e5f910f57 SHA512 99d6d2e75f49b7a7b660189088ecfdcb265db9f34c8ff10f6b5a019797a370fa55c4936c34b58ebff3bcb55b8b5ab7f481a9c62be7ab82fc6b4610cebf7f52af MISC metadata.xml 803 BLAKE2B ae42152bd02136d44d034e1ae39e457893d720b496681234e1f804c0144d4023dec76ba9edba30df269bac7b9e2cd353b7197e3d21336bc92bcec3fbd877facd SHA512 93ba240a87a853f4df3ed542c0468cd820bd75935253a77f15259293269e1726c71cadcee076550f622444c032d359227f5377a97595e88ef6ef10d034d79aa5 diff --git a/dev-lang/moarvm/moarvm-2022.02.ebuild b/dev-lang/moarvm/moarvm-2022.02.ebuild new file mode 100644 index 000000000000..5ba74d4a28f6 --- /dev/null +++ b/dev-lang/moarvm/moarvm-2022.02.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic + +MY_PN="MoarVM" +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + inherit git-r3 + S="${WORKDIR}/${P}" +else + SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz" + KEYWORDS="~amd64 ~x86" + S="${WORKDIR}/${MY_PN}-${PV}" +fi + +DESCRIPTION="A 6model-based VM for NQP and Raku" +HOMEPAGE="http://moarvm.org" +LICENSE="Artistic-2" +SLOT="0" + +IUSE="asan clang debug doc +jit optimize static-libs ubsan" + +RDEPEND="dev-libs/libatomic_ops + >=dev-libs/libuv-1.26:= + dev-libs/libffi:=" +DEPEND="${RDEPEND} + clang? ( >=sys-devel/clang-3.1 ) + dev-lang/perl" + +DOCS=( CREDITS README.markdown ) + +# Tests are conducted via nqp +RESTRICT=test + +src_configure() { + MAKEOPTS+=" NOISY=1" + use doc && DOCS+=( docs/* ) + local prefix="${EPREFIX}/usr" + local libdir="${EPREFIX}/usr/$(get_libdir)" + einfo "--prefix '${prefix}'" + einfo "--libdir '${libdir}'" + local myconfigargs=( + "--prefix" "${prefix}" + "--has-libuv" + "--has-libatomic_ops" + "--has-libffi" + "--libdir" "${libdir}" + "--compiler" "$(usex clang clang gcc)" + "$(usex asan --asan)" + "$(usex debug --debug --no-debug)" + "$(usex optimize --optimize= --no-optimize)" + "$(usex static-libs --static)" + "$(usex ubsan --ubsan)" + ) + + perl Configure.pl "${myconfigargs[@]}" moarshared || die +} diff --git a/dev-lang/nasm/Manifest b/dev-lang/nasm/Manifest index fa70411f99fe..d395daae5bc4 100644 --- a/dev-lang/nasm/Manifest +++ b/dev-lang/nasm/Manifest @@ -1,4 +1,4 @@ AUX nasm-2.15-bsd-cp-doc.patch 278 BLAKE2B eb2d6fffb03da68a43df8db6cbadeb72753f0474f91011038b6ec0b3a449fbd0e3cde59abfb1b22fa0c991629960f456815b1c86ec55292f54a879d8a0a079f1 SHA512 ba691e4f0fd3b676280de5b79e6872f7efe034da28fc66e247c3f757761e2191c54f585ca724747812fa55afb4b9d76366f50659702561c7eb69483de265b3e5 DIST nasm-2.15.05.tar.xz 995732 BLAKE2B a41434965c2125577b762d907a0a3c251c75d9f9beac230fba4099182c7f7beb08c6d2c05c2432b0dc8ba829f24077f44c3096faea9bd0a533250e6dbbfaef35 SHA512 512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 EBUILD nasm-2.15.05.ebuild 943 BLAKE2B cd138fb530af0a806943868b4affeedeb0ef6670b744e09a7560ba3e12f60052ae50a2e6dfffc96cdf0a80f6efef1c87e873841c68cfb5c34c5a6b18056bbeb9 SHA512 fe33ae366d9309f797af1996cf8b8ae75c0e7027ab093fd10889cf17394d80b0d62b5871e247f768cefe00809377383c56f41fb58e0798490eed68bcc038ca0e -MISC metadata.xml 1028 BLAKE2B f34ad57e76e94d4044c2c6d3a7c7d88fc975fd464d5ddcb73a62d797bda1027618fd579a2634af0eede33c3c0e059cb426a9e744c1436221b2b101b8c22b4ee2 SHA512 a35c5df2a607570745e8797a9c7c45bc9a04b02f3bfd8848b900b61638bd7db70643ce7e6add04738e0486b97b2f127fba07ef1994d10b154b2ab4f8b39d182e +MISC metadata.xml 879 BLAKE2B 17d2ca1a78ed46d24fe75188387da9c03dafcd6aacf0db7c82fdee39ad766dac23010b6c51c90c08a3e591e93589a29a151ac5bc52fd6b3911504f2f124da6b7 SHA512 d6e921fc48851be64d1dfc0be200a1a86842e5d4d00a9f4551e7ca76a91272dc5f1f01928d3656a5e340283c83f7283bb9e7094c0309406d9392d57048239563 diff --git a/dev-lang/nasm/metadata.xml b/dev-lang/nasm/metadata.xml index 58fb5e05c1f6..af856ea306f0 100644 --- a/dev-lang/nasm/metadata.xml +++ b/dev-lang/nasm/metadata.xml @@ -1,13 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person" proxied="yes"> - <email>matt@offtopica.uk</email> - <name>Matt Smith</name> - </maintainer> - <maintainer type="project" proxied="proxy"> - <email>proxy-maint@gentoo.org</email> - <name>Proxy Maintainers</name> + <maintainer type="person"> + <email>matthew@gentoo.org</email> + <name>Matthew Smith</name> </maintainer> <longdescription> The Netwide Assembler, NASM, is an 80x86 assembler designed for portability diff --git a/dev-lang/nim/Manifest b/dev-lang/nim/Manifest index 5cf0bb8d6c9e..a31aa17d93a2 100644 --- a/dev-lang/nim/Manifest +++ b/dev-lang/nim/Manifest @@ -1,6 +1,8 @@ AUX nim-0.20.0-paths.patch 934 BLAKE2B 6a4e44c5656cde6d5127bf6a6b8db92cdf8aada0892c27d536d0c1030ed7da8dc97138a8941030101918021f2a301fa683169c8a656fefc6fb7d0fcdb24029d4 SHA512 bf8dbc3e3861ec3ea2718092b981e495194ead5b547e69d01d5d842d128dc4b96b0ba3e95c78afd8fd822d594199315a01de370851ed8f594c091231b9a10ee9 DIST nim-1.4.8.tar.xz 4786360 BLAKE2B 961b38275c4f9de87ac522c5b47368ce7f5543811a2dfd7b4f3fd79a104bcd0458caaaaab1705f99eb42c64735ca5f71d5018f8a8275a430d883233b28b1d412 SHA512 e6b245271495880f0eea271c46b4f5ce9168a421716a9a22367b6be3c2a9822937aad1f48eb61c151b040ac961728a89c8a6d143c8300057c0d8c1f2d66f3dd3 DIST nim-1.6.2.tar.xz 5181616 BLAKE2B adedbcaad1b135b6f99459894856190103e2d2b678849e0418f77c02a54fde44224456ea13949f3fe9f5f020a90adde46593497895674bd9ae892b17708df292 SHA512 052b62c987035f7633f965356993cd4eec686f4f4f5c675cf966d82cb30fcf574045887a4402bcc20e487299fb5e8f65a921951c2dc21ac334e695e31d95d992 -EBUILD nim-1.4.8.ebuild 2077 BLAKE2B 4b7c5e23e6c97fa7af2de1a51ddcc5a63302c3fb6ada26255e80e76b42b6013adcf98d1f9a02a58ef435e2fd23777d172e9891b88c9e9caab370f07d7b4141ba SHA512 5d893a6d79c7d72019033e0755c60e18d0194a75e1772d708f358892d6259973eebbc6663e5ba23c22e4858c4c75672384221d3aec3526f4eb236ef0106d31bd -EBUILD nim-1.6.2.ebuild 2138 BLAKE2B 788b1f95410760f1bb885eb2ac529d465cf914470f48a45114fc09130b05d58b4acac8b8717ab4ca4285edc1c778c5698119ea363a0dd0a717f6fa58eaee96d0 SHA512 aa39f4489821deab10aae2cc7e8bde91a248dd4c29cd43868f7f9d716d677fc4cbfd1809378fbb24060902e75183985ed5e3694b07f38c4eb56a6943caf0f9a9 +DIST nim-1.6.4.tar.xz 5130208 BLAKE2B d0f297581677bbb9fb185a8b4198f48bb58efe81a1624f62051bc1e0a93f879a0cec172f11a41784ca715ba3c151dc5307e96c15c54908aa40df406040891d6c SHA512 f4d082f37f0e675e8cdb4340d67f2e58b5e6ac5bb51dab1ded5417097f3b86d71fa585ef12ee1c3cd5b17285589cbe9d5658fcb29c98547f7967a1b6f0cb4646 +EBUILD nim-1.4.8.ebuild 2078 BLAKE2B 2a9781ebc99b6ae00c67f3034e71b8adff46f1452f628187975219ea73ee6c60f6176dc55fa0520cd83f0969302906fe79f5d87aae17cf539447a8fb1e1bf169 SHA512 3d38c1304c76727461e7e7bcc5b85770c42364da5b3c01fcada9c8528146687cab141e9acbf47b82ef85c68f892882c0266c76fb25d3ee39e84422dafee6be73 +EBUILD nim-1.6.2.ebuild 2139 BLAKE2B 9ce2020017887e5403aefd67712ffbf0b4f6c42c7f5ad96eddac2fef3afdafbd6f6264dd27eea2b6968b0dd816d714ccb1a8bf7debed5a338cf7a65c24ce4eb7 SHA512 b910a98baac46d490be0764b79f6438a61e2ed6dfa5f998102bf52ae7dead628a1aabb2e488860c61d6f9eef54f27477797e654a588c4ee8ba67cbe3ef8c13eb +EBUILD nim-1.6.4.ebuild 2150 BLAKE2B df6e12e923f86d1ae2fd7f97c3d58884aaffae1f6db49f1fe0bda6d4f566716b398f638277697ad3850f8d00bdda1f36508e0740a7c7b1e6cc728b1671db7382 SHA512 5fa6a5df5374ef85198095e08647a3c1bad33ad999eb18458ae593b65f964c30c805488eab360a793a5a0c8ca9df6dba45d000edbbff16d6e19602339f6d3786 MISC metadata.xml 1894 BLAKE2B 8ba43a558af584b0c455e16f6d710a2482fbd3d8a4ae80817ee0080165227e931f40b2269d6316ca4fc8773cea0e6d941feafcc30d8a2eb5eb0843d8f7e7df71 SHA512 6fbc92e65c8a85c82cba372aba12133acc626c2a33ec35aff4a02246e70f64dd06c51af121f17fb5cbab48df1aafa3e9af9375a1ccbd769590e26078a7dacf88 diff --git a/dev-lang/nim/nim-1.4.8.ebuild b/dev-lang/nim/nim-1.4.8.ebuild index 512bc61b2ef0..d0ec48b68ee2 100644 --- a/dev-lang/nim/nim-1.4.8.ebuild +++ b/dev-lang/nim/nim-1.4.8.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -20,7 +20,7 @@ RDEPEND=" readline? ( sys-libs/readline:0= ) " DEPEND=" - ${DEPEND} + ${RDEPEND} test? ( net-libs/nodejs ) " diff --git a/dev-lang/nim/nim-1.6.2.ebuild b/dev-lang/nim/nim-1.6.2.ebuild index 51069ac3166b..28eae69957ac 100644 --- a/dev-lang/nim/nim-1.6.2.ebuild +++ b/dev-lang/nim/nim-1.6.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -16,7 +16,7 @@ IUSE="debug +readline" RESTRICT="test" # need to sort out depends and numerous failures RDEPEND="readline? ( sys-libs/readline:0= )" -DEPEND="${DEPEND}" +DEPEND="${RDEPEND}" # test? ( net-libs/nodejs ) PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch ) diff --git a/dev-lang/nim/nim-1.6.4.ebuild b/dev-lang/nim/nim-1.6.4.ebuild new file mode 100644 index 000000000000..11af93abf307 --- /dev/null +++ b/dev-lang/nim/nim-1.6.4.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 multiprocessing toolchain-funcs + +DESCRIPTION="compiled, garbage-collected systems programming language" +HOMEPAGE="https://nim-lang.org/" +SRC_URI="https://nim-lang.org/download/${P}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="debug +readline" +RESTRICT="test" # need to sort out depends and numerous failures + +RDEPEND="readline? ( sys-libs/readline:0= )" +DEPEND="${RDEPEND}" +# BDEPEND="test? ( net-libs/nodejs )" + +PATCHES=( "${FILESDIR}"/${PN}-0.20.0-paths.patch ) + +# Generated by nim +QA_FLAGS_IGNORED=" +usr/bin/atlas +usr/bin/nim +usr/bin/nim_dbg +usr/bin/nimble +usr/bin/nimgrep +usr/bin/nimpretty +usr/bin/nimsuggest +usr/bin/testament +" + +_run() { + echo "Running: ${@}" + PATH="${S}/bin:${PATH}" "${@}" || die "Failed: \"${*}\"" +} + +nim_use_enable() { + [[ -z "${2}" ]] && die "usage: nim_use_enable <USE flag> <compiler flag>" + use "${1}" && echo "-d:${2}" +} + +src_configure() { + export XDG_CACHE_HOME="${T}/cache" # 667182 + unset NIMBLE_DIR + tc-export CC CXX LD + + local build_type + if use debug ; then + build_type="debug" + else + build_type="release" + fi + export NIM_OPTS=( --parallelBuild:$(makeopts_jobs) -d:${build_type} ) + + # Override defaults + echo "gcc.exe = \"$(tc-getCC)\"" >> config/nim.cfg || die + echo "gcc.linkerexe = \"$(tc-getCC)\"" >> config/nim.cfg || die + echo "gcc.cpp.exe = \"$(tc-getCXX)\"" >> config/nim.cfg || die + echo "gcc.cpp.linkerexe = \"$(tc-getCXX)\"" >> config/nim.cfg || die +} + +src_compile() { + _run bash ./build.sh + + _run ./bin/nim ${NIM_OPTS[@]} compile koch + _run ./koch boot ${NIM_OPTS[@]} $(nim_use_enable readline useGnuReadline) + _run ./koch tools ${NIM_OPTS[@]} +} + +src_test() { + _run ./koch test +} + +src_install() { + _run ./koch install "${ED}" + + # "./koch install" installs only "nim" binary + # but not the rest + exeinto /usr/bin + local exe + for exe in bin/* ; do + [[ "${exe}" == bin/nim ]] && continue + doexe "${exe}" + done + + newbashcomp tools/nim.bash-completion nim + newbashcomp dist/nimble/nimble.bash-completion nimble +} diff --git a/dev-lang/nqp/Manifest b/dev-lang/nqp/Manifest index fac492bc67cc..79086b85c9c2 100644 --- a/dev-lang/nqp/Manifest +++ b/dev-lang/nqp/Manifest @@ -1,8 +1,10 @@ DIST nqp-2021.06.tar.gz 5208065 BLAKE2B 7314f425e418161befc55f9490453a3a4c3caa0ddf13e2b3bbcc9a20a6204aba9517885b6ecccddbbaf078b60c74be90fe556bf99dcc6014e57a7c873e96381d SHA512 482ec4a99d09b3660f03fd3c822a2f8c72dbdfeda1bcfdac0b4bcfa364ec57cbfdebf3b2872f8649c86d3d2d7603961d75e00d73dc417e5ac2a32f643bcfcabe DIST nqp-2021.08.tar.gz 5208527 BLAKE2B 1f2e454e63484a8a636f61c9110b4a20775ec59dd7734fe32a93b01aaad5ea977ea74678085a66d9f072234de5768d8023182d6df56a448f2a0aa0fd3c1c76c3 SHA512 fca1dc8c36f914304f97330cb33be3a94c539f3cb6cc80d898c734dcf04b12b8be30ffce358a0a5320c6ea56afd627f792b4a8fa3f94134776922ae088b92814 DIST nqp-2021.10.tar.gz 5207621 BLAKE2B 85b6627bc843d211ef8c296e63a97b0f80e019f89080f7c94b1e55767e4fab430c426c77aea741d601e75f6fb354a1f8b6c6077c70ab5cbfd2edef1621137af3 SHA512 d308045cc8a01298bcc544e8fd27752d1fc28e421b1cd24f1d5675333ba8cd71cb946e760ba485710456aebf21eeab1d2f85abffe49336471f1148071df6aa98 +DIST nqp-2022.02.tar.gz 5220819 BLAKE2B eba57834cc883e5bab26d0496df5bb059cc31f893e25833ada26cfa4796b9f822d1bb17e6ac0eb2474238e78565cf1da3be6f82d34a82bb4ac70cc19e03e11aa SHA512 0a51eb96486a254543ffbc2dac5d32a2b218a7fd774ccd3c8d4ba23f33dacbebdc0190e7cc919103f57573ea74ff8592200759c9768485044a4433647958ba8f EBUILD nqp-2021.06.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee EBUILD nqp-2021.08.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee EBUILD nqp-2021.10.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee +EBUILD nqp-2022.02.ebuild 3301 BLAKE2B 68eaa017075e4ae4ec40ce9070752f98716bdab0dff8c447c2a753178f6d0aa1f7aeb7fa5cc331346eef32d738b76f5770f722179a61b3174e8bae9dd71952a7 SHA512 c75ae49f4e5987f2a1d3f1978416904295c1458430a626dc46e44509136e57919ff7a2b43cda719c9817ecc318b3867364790bd44c31fd42fc64a5cfe228dee1 EBUILD nqp-9999.ebuild 3632 BLAKE2B 0334824d2933ff3df347632905be2ce74747d72319b64225f133aa102a7c6f9bfbede41b8f1d524c15400bb75fa4a2388363e89abb6405323a469f68c8dd9d7e SHA512 cb336fea6b1f99fb4ea1fa4a04cde002b79fdc7f8fa2b972c491527279e3dc8b523b98d7bfc488b1f0f332b011ec5a1ab3cc2c7f79c6061747cd161c3205d1ee MISC metadata.xml 517 BLAKE2B 384b3622592cc6d5fd94f2f34bcb69b00ce00bbea6b811e56d068a8882bcfb78fd3eae9f7b28173147b3235b942409f7b19d45044bf63bf9dea5b8b5f7110ca8 SHA512 bf89e6907f728f3e471a9a0fff41004cdd3cf50a92d8a1a262220bd590ae6a489f0b51d541bfefb15c4aae378621135a354ef48b768ea5b182e3fca6af6c3cb5 diff --git a/dev-lang/nqp/nqp-2022.02.ebuild b/dev-lang/nqp/nqp-2022.02.ebuild new file mode 100644 index 000000000000..6b6f6e70f126 --- /dev/null +++ b/dev-lang/nqp/nqp-2022.02.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit java-pkg-opt-2 multibuild + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/perl6/${PN}.git" + inherit git-r3 +else + SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +DESCRIPTION="Not Quite Perl, a Raku bootstrapping compiler" +HOMEPAGE="https://rakudo.org" + +LICENSE="Artistic-2" +SLOT="0" +IUSE="doc clang java +moar test" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="java? ( + dev-java/asm:4 + dev-java/jna:4 + ) + moar? ( ~dev-lang/moarvm-${PV}[clang=] )" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.9 )" +DEPEND="${CDEPEND}" +BDEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.9 ) + dev-lang/perl" + +pkg_pretend() { + if has_version dev-lang/rakudo || has_version dev-lang/nqp; then + ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP" + ewarn "already being installed. So if it fails, try uninstalling both" + ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +src_prepare() { + MULTIBUILD_VARIANTS=() + use moar && MULTIBUILD_VARIANTS+=( moar ) + use java && MULTIBUILD_VARIANTS+=( jvm ) + + multibuild_copy_sources + + # This will pull in conditional java_prepare + default +} + +nqp_configure() { + pushd "${BUILD_DIR}" > /dev/null || die + local myconfargs=( + "--backend=${MULTIBUILD_VARIANT}" + "--prefix=${EPREFIX}/usr" ) + + perl Configure.pl "${myconfargs[@]}" || die + popd || die +} + +nqp_compile() { + if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then + emake -j1 \ + -C "${BUILD_DIR}" \ + JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)" + elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then + emake -j1 \ + -C "${BUILD_DIR}" + fi +} + +nqp_test() { + emake -j1 \ + -C "${BUILD_DIR}" \ + test +} + +nqp_install() { + # This is the actual reason we need multibuild.eclass. + # We need to distinguish the install procedure for MoarVM and JVM backends. + case "${MULTIBUILD_VARIANT}" in + moar) + emake \ + DESTDIR="${ED}" \ + -C "${BUILD_DIR}" \ + install + ;; + jvm) + pushd "${BUILD_DIR}" > /dev/null || die + # Set JAVA_PKG_JARDEST early. + java-pkg_init_paths_ + + # Upstream sets the classpath to this location. Perhaps it's + # used to locate the additional libraries? + java-pkg_addcp "${JAVA_PKG_JARDEST}" + + insinto "${JAVA_PKG_JARDEST}" + local jar + + for jar in *.jar; do + if has ${jar} ${PN}.jar ${PN}-runtime.jar; then + # jars for NQP itself. + java-pkg_dojar ${jar} + else + # jars used by NQP. + doins ${jar} + fi + done + + # Upstream uses -Xbootclasspath/a, which is faster due to lack + # of verification, but gjl isn't flexible enough yet. :( + java-pkg_dolauncher ${PN}-j --main ${PN} + dosym ${PN}-j /usr/bin/${PN} + dobin tools/jvm/eval-client.pl + popd > /dev/null || die + ;; + *) + die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}." + ;; + esac +} + +src_configure() { + multibuild_foreach_variant nqp_configure +} + +src_compile() { + multibuild_foreach_variant nqp_compile +} + +src_test() { + multibuild_foreach_variant nqp_test +} + +src_install() { + multibuild_foreach_variant nqp_install + + dodoc CREDITS README.pod + use doc && dodoc -r docs/* +} diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index a4140461c20b..501212afc387 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -1,25 +1,24 @@ AUX ocaml-4.04.2-tinfo.patch 506 BLAKE2B 889c964385442247a70b7205abc497a8d83ac9e3fcedebdb184c9ded8ae81d171656fbe0ade7e431990545c01287f3618e45c3d25e0f77a4e7682e9a21c3f76a SHA512 5bf7e13de2e4a513b5411c3dcaa204aeaff6975b978d68455e059177049c2a1d862b4d1a96f0a986112ea0d347306190c81da6ec4b1150f56a3addc8f3d9b777 -AUX ocaml-4.05.0-CVE-2018-9838.patch 2888 BLAKE2B 75fe491c1b12d9882c7b558efb3384a133c56bea0c85e97a6b46ec5b5f4050da4752228c795d937875645260b98ac9d203b9cdbf583ed36934a29faf4d47ecc3 SHA512 3da218dcea2c08ed97da805a2c1a1bc134a48b4425b4912283e353dde606ae99c95b86b59c6575b42961c9eb6903e09d60968c5a8db72a58510c4e3dcd13a5ef -AUX ocaml-4.05.0-gcc10.patch 1976 BLAKE2B cf1240a815d731e99862740ddf90f6a0ea1d078c9e4e1cef126eff4a7d80afbde73f45d360a26eaa14863cc35d2086d98d130251490959df4c361a51ced0557e SHA512 e55cb651431798294b21ee0ea8818d6c42f88c329b7a1985af9d460f2a5b3057f2ee229e72699f9660168202a0c78dcf89b8bfce2154ca3e141fe8fb5f861773 -AUX ocaml-4.09.0-cflags.patch 2644 BLAKE2B df053880534f47ad922a16bce7ad49017152afe514af037c069ef27f54a154332c860a7d1a264b882d82abf474dfdabf803e24dd3632bd67aa0e149e7f52b292 SHA512 622f6f8be1dfe6c10cb6eea2357beff7470f9ff9a0bedd45211099d3ba5a465a01422db61849b0625671ac8e1c2d198f8dd848258d40317062d217f2859c278b -AUX ocaml-4.09.0-gcc-10.patch 571 BLAKE2B 990107a1d199d350a821596e7655566bb8eb71ee828eb0247bd25111760dd4dd6952a0bea6c29f69f6fa4ef8d02bd47166b5f2c4ced30ed830078b1555ca86eb SHA512 430774f62cea3f4ed06c9a1cbc73c68e3eab0d6fbebb5e62ea12a012cc2b25bb1a776ff08a7d532140bc2e12eae3e1a43605bf5708e1333b23a135b9801de084 -AUX ocaml-4.10.2-cflags.patch 1704 BLAKE2B aa106b9a90e2daa49df1cae0d9a0f57c7a7c3bd38b0f083aa0f52a247190a5a64c165266e86fdd5a0ad7bf1d0a250ae9823b8d2050d3f00d3cc0ac4145a0c9c5 SHA512 a4d402d769c8d8a0135fcdb1b75a3edcae4fe2e62614e6c4513429f7a0e21be108f4d67eed31470a869737e13dfb7a4493173164902937dcc0fbc8e5d8150e83 +AUX ocaml-4.11.2-cflags.patch 1416 BLAKE2B 722ffd7944c3dabd753e98bfb885ad283aa5b66a07f9785a8993d321f4ad4fc29bb2656fc5df339a19ab2dca21efda911fb3104eea5a7e6961307f12a312d7f3 SHA512 707c4ab6e09bab1b45c0f955edb775cfc5e7018404263a125c87405b77c6c2c93e64f5427c43e22519b342392631869dc661dd173083bac17c50bda4650287e4 AUX ocaml-4.11.2-glibc-2.34.patch 3318 BLAKE2B 96fe61e553e7c67f76df32f2e5532f7a6eae57fb60752c7c49d71baf416ac74a4c7b925ecfd0bd5874a1728b51ca36b82d636bfa6ab30ec5f3df37fbac2a73b9 SHA512 eb54d912338a42a21f736dcd1591f77403b0dff8772059bd7f39a6e83b8a5e89bd5a7a9d4200bacbcaa8ec0450a5a78ecf6645bb5405d45fd1c077cbe1c36f7f AUX ocaml-4.12.0-glibc-2.34.patch 3411 BLAKE2B d5138feaf6ca1e4a25ee85100013e343f8867bfe22d1c8c26df56fe1a6266b9cf37738f0b5fa6ee6daaaed9c90880529a50ffa1e789766039727dd407d15da51 SHA512 978a300d28bcb4c4d312e5b9f830140b08a282ba850d7c7a3866ca54413a321695d21315fff423d646085d8eed148a3f84567c08a4e09957b4b87010d65ee694 +AUX ocaml-4.12.1-fix-textrel-riscv.patch 1784 BLAKE2B 700fca8fe6c30a301bca5a64ed94038923bec1df80e6a75d4afb88ecfc38c9c55f5c163dfb12506f6b3a1e5784e65314385e13b9f45230b9f3b3e7d771c89b2e SHA512 f4f3a4b1f3f9fd823e09338c7c06ce6abc8699a765c0aa442e3b66ae72a83bb6dee744bfc0cb527a1131bbbe0ae5a5fd1d51c4700b62927f1fdf25a47e541e80 AUX ocaml-rebuild.sh 1120 BLAKE2B 6f88a9f2b99fae7f89b884bb08d2c6ad6a0e14d4a8fd06d498037f78c5f6ef040428f9de224b5fe5df4ef64eaed419cda6d8715ea0c0a4c4dad60c5cf75a4147 SHA512 05a3e81e95533135d9895091c21621c73ae82851abd4889d64f035979eb25f8d90b60f469d7ef5e789fd1a4adffd6bbe255e6708c14c24a04f8a423507d19a40 AUX ocaml.conf 177 BLAKE2B da070848d9e3a30ad303c296f55de87c30fd15feee3304ccc1d1f844d83c5a646664cd4d9958375ead2324e25bb88280fdb78f9e4230eeb8cd5825eed6f2f91d SHA512 4f0a48b8101b77d568d8d0a852f2a21fd46b7947c5d3f975ee4cd8a9c37c993d689cf5fb53b54a6b2740cb865051dc50c74c0c373eb697fca800ca143d401aa4 +DIST ocaml-4.05.0-patches-1.tar.bz2 4009 BLAKE2B 052c3a6859a942f2993d0b06ab57ca8f7469650c096f20bff7ff7cf5c2842e8d5019d595a4eca0dc1a4e5feda2db8a831a6917b3b6d9f39166c8ae7af1e894e7 SHA512 b349e6613201d9400f736c5b2d0ede01e7e113524cbc6989999a71fb97cb1eb67f90af8c2fbd3fd8abeccf3193e317cdd8258aee328c3e078634385c21558619 DIST ocaml-4.05.0.tar.gz 4431750 BLAKE2B c2ab003a13e0a581ebd0e1c96eeb8a9baea9bfe6bee08823b0e4541819201ec109f1846e13fc1aefa51a001eefbb8f73320ba854d41975fc68cef41bc75b1ecc SHA512 9a060ae4b741e1687277403e5bdb8f6eda2e2ebf6c45f7c0149b66ea1213cb26d13febfbb3f11c12543e244cfdd053b786b09c4145e2348e5d89a7206f7de225 +DIST ocaml-4.09.0-patches-1.tar.bz2 3300 BLAKE2B ef710ea5ed5a243ae684f68b7f203ba454192c9f8f19c32697d336bf18cf2a0e8ea08df232b0fd8e2475a000758a5ba95b3794096ec7d0d1b292a715ab3de86f SHA512 94096b99fd58b32232e418c5736203f08ab3c1558154ed00d4290730bd4db849bc60dfae6160f344acce63bbb8eaceecee25cf836bb73fa419d7bbf4eac433f1 DIST ocaml-4.09.0.tar.gz 4838748 BLAKE2B 80f29d535c64bf2371b480217723ed20b2b21cfd93ce31366a7b91e7ddffdf68db4e88d085288b7e21efee567a13f42ecff24c3a0115507b006acf844239cefd SHA512 dc0271e591bf929b751705835790949a9d741e12d085c8b207c3689b5838a02ea8de80da8b2605d2e6744f2f541b0d1694ffafff9509e99ce01f3a391f6ef2ae +DIST ocaml-4.10.2-patches-1.tar.bz2 3180 BLAKE2B 474471e10c4525e4da730fcf8602fddf5209f7d8eb15bd76894ed2bc22213a6e61aa7f52b1b67dff6c8bf04eac7d759ada28f1783c83a075cc65e7e5caadc715 SHA512 1456f90c0c833461eb9d1c140ba1a7358aa9351f6303e83b0e19bb8688dcb17bdad211f4cec1281a47180bbdddcfdbf44367b47a6b301d2ea41fa9d926bd03a5 DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B ec5e92adb23c28a254247182c79ab555fd82603e02f24799049b8057abf869d18234302408c8ae89b9997a2b210ed6965e45c2c03e4f0cab34262ad3f6ebb528 SHA512 1dd827da07f01e815fd74dd7ee84db0900f24782f8f7fd426e2d71b9fb03c7b8045f22e018120a0446c362315751365d1bd8c1724edef2b182394e76eb0a07b2 DIST ocaml-4.11.2.tar.gz 5075323 BLAKE2B bdc503d9a8d0e39dd11060febcd0287657b460e50ed81e55578a3e778af990ca5d4ef9011753eee4e1a144da33eb76c95b1672dc99b76e65a2e107eee472fe06 SHA512 03d8a9f6e130142c121ff2eb3d54f584f1e7c8475f066a5803bb0edd2fa172ca06a56a3ec548b225f5c8b12112d7a68511b1e16f3ade075b5f02610d4247bbb3 DIST ocaml-4.12.1.tar.gz 5181696 BLAKE2B 9d21438e09b1a9680eabb65f5c78d9fe84459592ef7bb797a1933e5383f7b6d5cefffa8cdc184abc102417f5dbc0fca8ef624c9b560f89eaff6537544b5b395f SHA512 e942e5cf5530804690ec45c40936ad2acbb60e11279fc676e0f04181fe1855f84ee5c3cb9c337fc5d01f6ee0e7b2251a6c04f7de56d99c20bb62026dff6c5671 DIST ocaml-4.13.1.tar.gz 5323203 BLAKE2B f1dcb1601ebfa2a37351e3a466a7ca601518c2da403b01aeb182738a54d5887523ab554d747d6591cb09b07b417865e20907f7877117b2d2d069ef6c9edc0fae SHA512 da3434177438c852da53c0fda7bc2519adcda6384d97d45e44137ed0fd384ffb3da61958a7b51296edb3f88f5a5310ca71b6862f6d756aaa4012d1f54e5955f6 DIST ocaml-patches-9.tar.bz2 1700 BLAKE2B 4e46b8fb490db28f815414e285f54e251394ea53e1d25c529bbea9f03e426fd19132b1e2c7c2be7d14983fceb4cad073d191b001f6da522fee4226371d4a2eca SHA512 cc19f9104fac69aecc5effa8cb772342e1fb61cdcd38ba0176efe04cf3d710b1c56d5178748f3bd29099af91fa684da432a8ef8d42de76dbd1b6954a255ea6c0 -EBUILD ocaml-4.05.0-r7.ebuild 4293 BLAKE2B bd07fb0811d4345e135b92c782a45322b0be6f70b1ac7b5734278ce89503c6eeb5dc86521f3f142fcedb4717f9a568c8fc1e8a1cf8681d30b5c170e3c65a83fe SHA512 c5d527caa2bf54ab1d518ab85a4b9a331e5575af93cfc2f1ac792476edab1d035be56e603260ef44ba0c85097040e46721af31ad02b115f55da26f73c97a2d3a -EBUILD ocaml-4.05.0-r8.ebuild 4333 BLAKE2B 45432804c19f71b9b671adac43627bdfd81dec327d3664f8b692de544c44a8224246e4bfd2038740d3d91e1e6fe400da555343796ed94381289c129e860f268f SHA512 96398dffb8f7f28946f27ea157a0c80aaf69e1507f3de506566b99956b8418a61a15bc0d2da5ad9985bad027e2ec50e224b47d6f47fc06f927766d552a4031fb -EBUILD ocaml-4.09.0-r2.ebuild 2755 BLAKE2B a5baaf014e722eacb2b1ed1c7e1bfee9dca9b2c19f40fb14256d77607a2c554a4084e4851de604f902691067894438dd229fe26d47efbb55b25b6aba1df183f1 SHA512 85d4ac2b1f7d48dd9867e786f9ed8f687bfe2078a3694c2a9aa86c5684917eba4f51cd5228f3b5c811b6dbf431770d5fb66b6fed1167828a6c32881f604671a0 -EBUILD ocaml-4.10.2-r2.ebuild 2722 BLAKE2B f9e52093866c8f0d76cb3ed889dea2c2c6435aa8e0e504d8b8afa0bb2ab681208a2dbb0ab598e6eb42015ebf9046cb2ae2f7dd421c3375db8651174f8e929019 SHA512 58645c5008d88fea796e3cc77cf1bc3a194cdc7da480747ab6ada82b998d08e954d29fc7ad7b72dfcba667103059a7c5e7d7683acb7d3730fcf4c1182de9c48b -EBUILD ocaml-4.11.2-r2.ebuild 2641 BLAKE2B 8fb877a5a10778e4d96830b7d9f6b62217fc76d3208c7aeda9973479f5aede645251cd0c4a0680115898cf435a141fd09b8900d2efbbe91c2d8e324fa54e2bbc SHA512 b52ce16cafece2d229cbaf04e815c5791b3b211b1e512337f5c02d7af41328dfa5fa573853d6fd9a858d5733fbb321244a811902b8116b57a564961e7ffa6bd5 -EBUILD ocaml-4.12.1.ebuild 2515 BLAKE2B 6d91d1e528169b037dafd58701b57dafe536f1abdf1a207ffa8ad75b20577410bf55305b031510432ca9c28391e2fce5b7bd6e4066a6cf09470e3eb689da6f2f SHA512 5497b9ca6081b947c6489fe7c6cbcfc7f4b18dbc8bda8682615c255326454941e7e6ff277168cf8234250e89539022364d2b7a4c79a3d1a886e3d8c7bfc2f846 -EBUILD ocaml-4.13.1.ebuild 2457 BLAKE2B cca2eae8a16069050ee1248270a720c4726da6e67ed0bd7ef15e401db8cdfaaec74e7c9462a8d5faf5acadfaaa9e269de6e3a8d8944b86a5c36dbb8409777012 SHA512 601cb38b4174a46c441da4051ce5b789d16d0e2f69c9fb85aa3dd4027903cbe7a3ad4b5738fbd63893225ec72874f43d4a6d11558760335d961071e54e21bb2a +EBUILD ocaml-4.05.0-r9.ebuild 4370 BLAKE2B 22f915f38da08b3f98923f337dbe1a2ae25f2edaf73887f602c0d13047808bff8f5bcde68d7ac214f07da7d68d6c05a2f9520318d1cda041d54e37966b27c605 SHA512 111a2e4d4a18034a2d4580d19e4074fd4d6b60330e0af861062c4196c19027667d18e0361e1e73cdf9d46c31d06d66ce9a7ada36058fca168f634a891cdae861 +EBUILD ocaml-4.09.0-r3.ebuild 2794 BLAKE2B 0a7e6b805915602875e3f323f97370a5f9345c2a1a9e30ed545922cfdd31c8d304d2e534b1ead1719b9be33f72c79c8383ca63fa45f2f62084f47c7cfd1e127c SHA512 b87052b9caea618b0024342e614859e68bb30b3426b31df313006a3c655be8b60e47ab9611c609307bacff610f0cc889e68db14e1c78bb820f33bcde8b32f5ee +EBUILD ocaml-4.10.2-r3.ebuild 2801 BLAKE2B 089f0d19153db72faa63db09fc7ef60b69ea087573f79f137e0f458ea1d6dc0e353ab2455359418dce6f26c5f6df912198360369873decaa340b72dce3abba5b SHA512 a3d8ec3bd0639af28ceb824d84c4b591a1f4ed40f61377477265c42eea2f18cbe9729c9493a0577e4c3540521a0be1b9cc5dba8d5dea245eba43ce57ac03d987 +EBUILD ocaml-4.11.2-r2.ebuild 2642 BLAKE2B 3639ba3300e16337b2b0d31b4bca1accad472b734003207a7a863de24b7391686a9e18fd6c12ee7775efe40f0c21ae89d652b7c7c40e5e757ea360333d5055df SHA512 5ef88e24a64f6627b599f05fd6e6f9fd4e476f4c7547b00385d3594ceb24a7c15c4b32f055adc8d1ebc101ec0f948b339d4368a573b0b49c931ad061dba0834a +EBUILD ocaml-4.12.1.ebuild 2559 BLAKE2B 50f373f16833ba2783fa3f1758ce0678934b3be58d662b595440f8abf0f0179ea78781835303dadd583cedf412c08cb1799e54276237fae491cdd944615d9f98 SHA512 9f3ce96e0f69f6a11d431255709f0ea11f46bb80f43597d3b026a916191bc6e71671621720184e4d2ddb962dc45360a6d0541c68525720ea89e63b009acf57f8 +EBUILD ocaml-4.13.1.ebuild 2522 BLAKE2B 8960f3e3ec99267b9a5673c7ab3765970ecbf1d1cd35500be26b7d0ec5d4e35c2c700b39179c2178f86b9f89fe9772d47f01ea70f925b6bfce048f7a799cbfba SHA512 390b1b201c9a3b9cebf6a17e4820224e7b321390801134a496ba45fe607a9af8b1417eb3d17cf52f41c5a70eef9d463182df392cb264e1243efbce90f7f5a8e7 MISC metadata.xml 776 BLAKE2B e7b13b4bb764cec6df76ede0eb2d492cc705ce51b18a445fa3f9ebaab119fab8cae45a2a9d02c70f38e19f2e2d2c06de648a3a0843a603dd7b68942c7cd00bdb SHA512 92e3afe1c40991d37dc460d6091ff2b15c83740343e5d8dd69344eb61d873fbd66af1b96e70904f7757c06f2b104d1450883cc79877709c779467af64e2ea96e diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch b/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch deleted file mode 100644 index cfe3ff636c25..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.05.0-CVE-2018-9838.patch +++ /dev/null @@ -1,70 +0,0 @@ -https://bugs.gentoo.org/755257 - -Needed for both fixing the CVE + compatibility with Debian for e.g. -Unison. - -From c6ca3afc78b75d7748e4e09e56c6b020418be06e Mon Sep 17 00:00:00 2001 -From: Stephane Glondu <steph@glondu.net> -Date: Fri, 25 Jan 2019 14:34:23 +0100 -Subject: [PATCH] Fix integer overflows when unmarshaling a bigarray - -Malicious or corrupted marshaled data can result in a bigarray -with impossibly large dimensions that cause overflow when computing -the in-memory size of the bigarray. Disaster ensues when the data -is read in a too small memory area. This commit checks for overflows -when computing the in-memory size of the bigarray. - -This patch is based on one by Xavier Leroy and has been modified to -use caml_ba_multov instead of caml_umul_overflow which is unavailable -in OCaml 4.05.0. - -The original commit hash is 85162eee9d4072fa9c2f498f03cd94e357033eec. - -Origin: https://github.com/ocaml/ocaml/pull/1718 -Bug: https://github.com/ocaml/ocaml/issues/7765 -Bug-Debian: https://bugs.debian.org/895472 -Bug-CVE: CVE-2018-9838 ---- a/otherlibs/bigarray/bigarray_stubs.c -+++ b/otherlibs/bigarray/bigarray_stubs.c -@@ -966,22 +966,34 @@ static void caml_ba_deserialize_longarray(void * dest, intnat num_elts) - uintnat caml_ba_deserialize(void * dst) - { - struct caml_ba_array * b = dst; -- int i, elt_size; -- uintnat num_elts; -+ int i; -+ uintnat num_elts, size; -+ int overflow; - - /* Read back header information */ - b->num_dims = caml_deserialize_uint_4(); -+ if (b->num_dims < 0 || b->num_dims > CAML_BA_MAX_NUM_DIMS) -+ caml_deserialize_error("input_value: wrong number of bigarray dimensions"); - b->flags = caml_deserialize_uint_4() | CAML_BA_MANAGED; - b->proxy = NULL; - for (i = 0; i < b->num_dims; i++) b->dim[i] = caml_deserialize_uint_4(); -- /* Compute total number of elements */ -- num_elts = caml_ba_num_elts(b); -- /* Determine element size in bytes */ -+ /* Compute total number of elements. Watch out for overflows (MPR#7765). */ -+ num_elts = 1; -+ for (i = 0; i < b->num_dims; i++) { -+ overflow = 0; -+ num_elts = caml_ba_multov(num_elts, b->dim[i], &overflow); -+ if (overflow) -+ caml_deserialize_error("input_value: size overflow for bigarray"); -+ } -+ /* Determine array size in bytes. Watch out for overflows (MPR#7765). */ - if ((b->flags & CAML_BA_KIND_MASK) > CAML_BA_CHAR) - caml_deserialize_error("input_value: bad bigarray kind"); -- elt_size = caml_ba_element_size[b->flags & CAML_BA_KIND_MASK]; -+ overflow = 0; -+ size = caml_ba_multov(num_elts, caml_ba_element_size[b->flags & CAML_BA_KIND_MASK], &overflow); -+ if (overflow) -+ caml_deserialize_error("input_value: size overflow for bigarray"); - /* Allocate room for data */ -- b->data = malloc(elt_size * num_elts); -+ b->data = malloc(size); - if (b->data == NULL) - caml_deserialize_error("input_value: out of memory for bigarray"); - /* Read data */ diff --git a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch b/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch deleted file mode 100644 index a0c67da534a0..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.05.0-gcc10.patch +++ /dev/null @@ -1,59 +0,0 @@ ---- a/byterun/caml/intext.h 2021-01-28 22:46:20.400224678 +0100 -+++ b/byterun/caml/intext.h 2021-01-28 22:46:49.312751054 +0100 -@@ -196,7 +196,7 @@ - - CAMLextern struct code_fragment * caml_extern_find_code(char *addr); - --struct ext_table caml_code_fragments_table; -+extern struct ext_table caml_code_fragments_table; - - #endif /* CAML_INTERNALS */ - ---- a/byterun/caml/major_gc.h 2021-01-28 22:44:12.193323457 +0100 -+++ b/byterun/caml/major_gc.h 2021-01-28 22:45:20.918198701 +0100 -@@ -64,9 +64,9 @@ - extern char *caml_gc_sweep_hp; - - extern int caml_major_window; --double caml_major_ring[Max_major_window]; --int caml_major_ring_index; --double caml_major_work_credit; -+extern double caml_major_ring[Max_major_window]; -+extern int caml_major_ring_index; -+extern double caml_major_work_credit; - extern double caml_gc_clock; - - /* [caml_major_gc_hook] is called just between the end of the mark ---- a/byterun/meta.c 2021-01-28 22:47:34.148016359 +0100 -+++ b/byterun/meta.c 2021-01-28 22:47:56.048657393 +0100 -@@ -32,6 +32,8 @@ - #include "caml/prims.h" - #include "caml/stacks.h" - -+struct ext_table caml_code_fragments_table; -+ - #ifndef NATIVE_CODE - - CAMLprim value caml_get_global_data(value unit) ---- a/byterun/backtrace.c 2021-01-28 22:50:25.275226598 +0100 -+++ b/byterun/backtrace.c 2021-01-28 22:50:37.541027290 +0100 -@@ -28,7 +28,7 @@ - #include "caml/fail.h" - - /* The table of debug information fragments */ --struct ext_table caml_debug_info; -+extern struct ext_table caml_debug_info; - - CAMLexport int32_t caml_backtrace_active = 0; - CAMLexport int32_t caml_backtrace_pos = 0; ---- a/asmrun/startup.c 2021-01-28 23:02:50.526072662 +0100 -+++ b/asmrun/startup.c 2021-01-28 23:03:09.977754311 +0100 -@@ -44,7 +44,7 @@ - #endif - - extern int caml_parser_trace; --CAMLexport header_t caml_atom_table[256]; -+CAMLextern header_t caml_atom_table[256]; - char * caml_code_area_start, * caml_code_area_end; - - /* Initialize the atom table and the static data and code area limits. */ diff --git a/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch b/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch deleted file mode 100644 index 8d2391407a35..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.09.0-cflags.patch +++ /dev/null @@ -1,65 +0,0 @@ ---- a/runtime/Makefile 2022-01-22 19:49:32.914213696 +0100 -+++ b/runtime/Makefile 2022-01-22 19:50:03.765640701 +0100 -@@ -335,7 +335,7 @@ - # (without the extension, which is added by the macro) - define COMPILE_C_FILE - $(1).$(O): %.c -- $$(CC) -c $$(OC_CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$< -+ $$(CC) -c $$(OC_CFLAGS) $(CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$< - endef - - object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic ---- a/yacc/Makefile 2022-01-22 20:02:56.510340885 +0100 -+++ b/yacc/Makefile 2022-01-22 20:03:14.998000508 +0100 -@@ -63,4 +63,4 @@ - # also works for .obj files. - - %.$(O): %.c -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< ---- a/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:15.316779625 +0100 -+++ b/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:50.730126701 +0100 -@@ -138,4 +138,4 @@ - $(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $< - - .c.$(O): -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< ---- a/ocamltest/Makefile 2022-01-22 20:30:22.454009704 +0100 -+++ b/ocamltest/Makefile 2022-01-22 20:30:33.845799603 +0100 -@@ -221,7 +221,7 @@ - $(ocamllex) -q $< - - %.$(O): %.c -- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) -c $< -+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -c $< - - ocamltest_config.ml: ocamltest_config.ml.in Makefile ../Makefile.config - sed \ ---- a/otherlibs/systhreads/Makefile 2022-01-22 20:42:17.647349876 +0100 -+++ b/otherlibs/systhreads/Makefile 2022-01-22 20:43:29.766086103 +0100 -@@ -93,11 +93,11 @@ - # twice, each time with different options). - - st_stubs_b.$(O): st_stubs.c $(HEADER) -- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime \ -+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime \ - $(SHAREDLIB_CFLAGS) $(OUTPUTOBJ)$@ $< - - st_stubs_n.$(O): st_stubs.c $(HEADER) -- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) \ -+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) \ - -I$(ROOTDIR)/runtime $(SHAREDLIB_CFLAGS) -DNATIVE_CODE \ - -DTARGET_$(ARCH) -DMODEL_$(MODEL) -DSYS_$(SYSTEM) \ - $(OUTPUTOBJ)$@ -c $< ---- a/tools/Makefile 2022-01-23 09:57:00.788877931 +0100 -+++ b/tools/Makefile 2022-01-23 09:57:21.735516656 +0100 -@@ -322,7 +322,7 @@ - endif - - objinfo_helper$(EXE): objinfo_helper.c $(ROOTDIR)/runtime/caml/s.h -- $(CC) $(OC_CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime $(OUTPUTEXE)$@ \ -+ $(CC) $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) -I$(ROOTDIR)/runtime $(OUTPUTEXE)$@ \ - $(DEF_SYMBOL_PREFIX) $(LIBBFD_INCLUDE) $< $(LIBBFD_LINK) - - OBJINFO=$(ROOTDIR)/compilerlibs/ocamlcommon.cma \ diff --git a/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch b/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch deleted file mode 100644 index e25d55a5f668..000000000000 --- a/dev-lang/ocaml/files/ocaml-4.09.0-gcc-10.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- a/runtime/backtrace.c -+++ b/runtime/backtrace.c -@@ -28,7 +28,7 @@ - #include "caml/fail.h" - - /* The table of debug information fragments */ --struct ext_table caml_debug_info; -+extern struct ext_table caml_debug_info; - - CAMLexport int32_t caml_backtrace_active = 0; - CAMLexport int32_t caml_backtrace_pos = 0; ---- a/runtime/startup_nat.c -+++ b/runtime/startup_nat.c -@@ -44,7 +44,6 @@ - #endif - - extern int caml_parser_trace; --CAMLexport header_t caml_atom_table[256]; - char * caml_code_area_start, * caml_code_area_end; - struct ext_table caml_code_fragments_table; - diff --git a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch b/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch index 01117c39887d..7adb1ea0768d 100644 --- a/dev-lang/ocaml/files/ocaml-4.10.2-cflags.patch +++ b/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch @@ -1,5 +1,5 @@ ---- a/runtime/Makefile 2022-01-22 19:49:32.914213696 +0100 -+++ b/runtime/Makefile 2022-01-22 19:50:03.765640701 +0100 +--- a/runtime/Makefile ++++ b/runtime/Makefile @@ -335,7 +335,7 @@ # (without the extension, which is added by the macro) define COMPILE_C_FILE @@ -9,16 +9,16 @@ endef object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic ---- a/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:15.316779625 +0100 -+++ b/otherlibs/Makefile.otherlibs.common 2022-01-22 20:24:50.730126701 +0100 +--- a/otherlibs/Makefile.otherlibs.common ++++ b/otherlibs/Makefile.otherlibs.common @@ -138,4 +138,4 @@ $(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $< .c.$(O): - $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< + $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $< ---- a/otherlibs/systhreads/Makefile 2022-01-22 20:42:17.647349876 +0100 -+++ b/otherlibs/systhreads/Makefile 2022-01-22 20:43:29.766086103 +0100 +--- a/otherlibs/systhreads/Makefile ++++ b/otherlibs/systhreads/Makefile @@ -102,10 +102,10 @@ st_stubs_n.$(O): OC_CPPFLAGS += $(NATIVE_CPPFLAGS) @@ -32,8 +32,8 @@ partialclean: rm -f *.cm* ---- a/Makefile.common.in 2022-01-23 18:05:04.192323554 +0100 -+++ b/Makefile.common.in 2022-01-23 18:05:17.211122643 +0100 +--- a/Makefile.common.in ++++ b/Makefile.common.in @@ -79,4 +79,4 @@ # general (it supports both .o and .obj) diff --git a/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch b/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch new file mode 100644 index 000000000000..5ba8582d3a65 --- /dev/null +++ b/dev-lang/ocaml/files/ocaml-4.12.1-fix-textrel-riscv.patch @@ -0,0 +1,46 @@ +From ddf99786f8229c8282905af5c7c74360d4f2fbd0 Mon Sep 17 00:00:00 2001 +From: Alex Fan <alex.fan.q@gmail.com> +Date: Tue, 22 Feb 2022 19:28:30 +1100 +Subject: [PATCH] riscv: Generate frametable in data section to improve code + relocatability (#11042) + +Similar to what PowerPC and System-Z have done in commit 24980d3fd9848e281761ef2b8fe383e71261789b + +With this commit ocamlopt produces .so shared libraries and PIE relocatable +executables that contain no relocations in the text segment. + +Upstream status: merged in 4.14 and 5.x +--- + Changes | 5 +++++ + asmcomp/riscv/emit.mlp | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/Changes b/Changes +index 4898e9d69fc..2bec76daac6 100644 +--- a/Changes ++++ b/Changes +@@ -477,6 +477,11 @@ OCaml 4.14.0 + - #10907, #10959: Wrong type inferred from existential types + (Jacques Garrigue and Gabriel Scherer, report by @dyzsr, review by Leo White) + ++- #10688: Move frame descriptor table from `rodata` to `data` section on ++ RISC-V. Improves support for building DLLs and PIEs. In particular, this ++ applies to all binaries in distributions that build PIEs by default (eg ++ Gentoo and Alpine). ++ (Alex Fan, review by Gabriel Scherer) + + OCaml 4.13 maintenance branch + ----------------------------- +diff --git a/asmcomp/riscv/emit.mlp b/asmcomp/riscv/emit.mlp +index 474a3c6857a..b36aa0ea38c 100644 +--- a/asmcomp/riscv/emit.mlp ++++ b/asmcomp/riscv/emit.mlp +@@ -645,7 +645,7 @@ let end_assembly() = + `{emit_symbol lbl_end}:\n`; + ` .quad 0\n`; + (* Emit the frame descriptors *) +- ` {emit_string rodata_space}\n`; ++ ` {emit_string data_space}\n`; (* not rodata because relocations inside *) + let lbl = Compilenv.make_symbol (Some "frametable") in + declare_global_data lbl; + `{emit_symbol lbl}:\n`; diff --git a/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild deleted file mode 100644 index 8f3bd8015bfc..000000000000 --- a/dev-lang/ocaml/ocaml-4.05.0-r7.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit flag-o-matic toolchain-funcs - -PATCHLEVEL="9" -MY_P="${P/_/-}" -DESCRIPTION="Type-inferring functional programming language descended from the ML family" -HOMEPAGE="https://ocaml.org" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz - mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" - -LICENSE="QPL-1.0 LGPL-2" -# Everytime ocaml is updated to a new version, everything ocaml must be rebuilt, -# so here we go with the subslot. -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" -IUSE="emacs flambda latex ncurses +ocamlopt spacetime X xemacs" - -RDEPEND=" - sys-libs/binutils-libs:= - ncurses? ( sys-libs/ncurses:0= ) - spacetime? ( sys-libs/libunwind:= ) - X? ( x11-libs/libX11 ) - !dev-ml/num" -BDEPEND="${RDEPEND} - virtual/pkgconfig" -PDEPEND="emacs? ( app-emacs/ocaml-mode ) - xemacs? ( app-xemacs/ocaml )" - -QA_FLAGS_IGNORED='/usr/lib.*/ocaml/raw_spacetime_lib.cmxs' - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/${PN}-4.04.2-tinfo.patch" #459512 - "${FILESDIR}"/${P}-gcc10.patch -) - -pkg_setup() { - # dev-lang/ocaml creates its own objects but calls gcc for linking, which will - # results in relocations if gcc wants to create a PIE executable - if gcc-specs-pie ; then - append-ldflags -nopie - ewarn "Ocaml generates its own native asm, you're using a PIE compiler" - ewarn "We have appended -nopie to ocaml build options" - ewarn "because linking an executable with pie while the objects are not pic will not work" - fi -} - -src_prepare() { - EPATCH_SUFFIX="patch" eapply "${WORKDIR}/patches" - - cp "${FILESDIR}"/ocaml.conf "${T}" || die - - default -} - -src_configure() { - export LC_ALL=C - local myconf="" - - # Causes build failures because it builds some programs with -pg, - # bug #270920 - filter-flags -fomit-frame-pointer - # Bug #285993 - filter-mfpmath sse - - # Broken until 4.12 - # bug #818445 - filter-flags '-flto*' - append-flags -fno-strict-aliasing - - # -ggdb3 & co makes it behave weirdly, breaks sexplib - replace-flags -ggdb* -ggdb - - # OCaml generates textrels on 32-bit arches - # We can't do anything about it, but disabling it means that tests - # for OCaml-based packages won't fail on unexpected output - # bug #773226 - if use arm || use ppc || use x86 ; then - append-ldflags "-Wl,-z,notext" - fi - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - use ncurses || myconf="${myconf} -no-curses" - use X || myconf="${myconf} -no-graph" - use flambda && myconf="${myconf} -flambda" - use spacetime && myconf="${myconf} -spacetime" - - # ocaml uses a home-brewn configure script, preventing it to use econf. - RAW_LDFLAGS="$(raw-ldflags)" ./configure \ - --prefix "${EPREFIX}"/usr \ - --bindir "${EPREFIX}"/usr/bin \ - --target-bindir "${EPREFIX}"/usr/bin \ - --libdir "${EPREFIX}"/usr/$(get_libdir)/ocaml \ - --mandir "${EPREFIX}"/usr/share/man \ - -target "${CHOST}" \ - -host "${CBUILD}" \ - -cc "$(tc-getCC)" \ - -as "$(tc-getAS)" \ - -aspp "$(tc-getCC) -c" \ - -partialld "$(tc-getLD) -r" \ - --with-pthread ${myconf} || die "configure failed!" - - # http://caml.inria.fr/mantis/view.php?id=4698 - export CCLINKFLAGS="${LDFLAGS}" -} - -src_compile() { - emake world - - # Native code generation can be disabled now - if use ocamlopt ; then - # bug #279968 - emake opt - emake -j1 opt.opt - fi -} - -src_test() { - if use ocamlopt ; then - emake -j1 tests - else - ewarn "${PN} was built without 'ocamlopt' USE flag; skipping tests." - fi -} - -src_install() { - emake BINDIR="${ED}"/usr/bin \ - LIBDIR="${ED}"/usr/$(get_libdir)/ocaml \ - MANDIR="${ED}"/usr/share/man \ - install - - # Symlink the headers to the right place - dodir /usr/include - # Create symlink for header files - dosym "../$(get_libdir)/ocaml/caml" /usr/include/caml - dodoc Changes README.adoc - # Create envd entry for latex input files - if use latex ; then - echo "TEXINPUTS=\"${EPREFIX}/usr/$(get_libdir)/ocaml/ocamldoc:\"" > "${T}"/99ocamldoc || die - doenvd "${T}/99ocamldoc" - fi - - sed -i -e "s:lib:$(get_libdir):" "${T}"/ocaml.conf || die - - # Install ocaml-rebuild portage set - insinto /usr/share/portage/config/sets - doins "${T}"/ocaml.conf -} diff --git a/dev-lang/ocaml/ocaml-4.05.0-r8.ebuild b/dev-lang/ocaml/ocaml-4.05.0-r9.ebuild index 58ae1dde82d7..836f967b59ce 100644 --- a/dev-lang/ocaml/ocaml-4.05.0-r8.ebuild +++ b/dev-lang/ocaml/ocaml-4.05.0-r9.ebuild @@ -10,7 +10,8 @@ MY_P="${P/_/-}" DESCRIPTION="Type-inferring functional programming language descended from the ML family" HOMEPAGE="https://ocaml.org" SRC_URI="https://github.com/ocaml/ocaml/archive/${PV/_/+}.tar.gz -> ${MY_P}.tar.gz - mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" + mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2 + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2" LICENSE="QPL-1.0 LGPL-2" # Everytime ocaml is updated to a new version, everything ocaml must be rebuilt, @@ -30,14 +31,13 @@ BDEPEND="${RDEPEND} PDEPEND="emacs? ( app-emacs/ocaml-mode ) xemacs? ( app-xemacs/ocaml )" -QA_FLAGS_IGNORED='/usr/lib.*/ocaml/raw_spacetime_lib.cmxs' +QA_FLAGS_IGNORED='usr/lib.*/ocaml/raw_spacetime_lib.cmxs' S="${WORKDIR}/${MY_P}" PATCHES=( "${FILESDIR}"/${PN}-4.04.2-tinfo.patch #459512 - "${FILESDIR}"/${P}-gcc10.patch - "${FILESDIR}"/${P}-CVE-2018-9838.patch + "${WORKDIR}"/${P}-patches-1/ ) pkg_setup() { diff --git a/dev-lang/ocaml/ocaml-4.09.0-r2.ebuild b/dev-lang/ocaml/ocaml-4.09.0-r3.ebuild index ef5e9bedc947..7a37a7cf0528 100644 --- a/dev-lang/ocaml/ocaml-4.09.0-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.09.0-r3.ebuild @@ -5,13 +5,14 @@ EAPI=7 inherit flag-o-matic -HOMEPAGE="https://ocaml.org/" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2" LICENSE="LGPL-2.1" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" IUSE="emacs flambda latex +ocamlopt spacetime xemacs" RDEPEND="sys-libs/binutils-libs:= @@ -21,11 +22,10 @@ BDEPEND="${RDEPEND} PDEPEND="emacs? ( app-emacs/ocaml-mode ) xemacs? ( app-xemacs/ocaml )" -QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' +QA_FLAGS_IGNORED='usr/lib.*/ocaml/bigarray.cmxs' PATCHES=( - "${FILESDIR}"/${PN}-4.09.0-gcc-10.patch - "${FILESDIR}"/${P}-cflags.patch + "${WORKDIR}"/${P}-patches-1/ ) src_prepare() { @@ -64,7 +64,8 @@ src_configure() { $(use_enable flambda) $(use_enable spacetime) ) - econf ${opt[@]} + + econf "${opt[@]}" } src_compile() { diff --git a/dev-lang/ocaml/ocaml-4.10.2-r2.ebuild b/dev-lang/ocaml/ocaml-4.10.2-r3.ebuild index fbf4e4c204b6..b0b37115a35c 100644 --- a/dev-lang/ocaml/ocaml-4.10.2-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.10.2-r3.ebuild @@ -5,9 +5,10 @@ EAPI=7 inherit flag-o-matic -HOMEPAGE="https://ocaml.org/" -SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz" DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" +HOMEPAGE="https://ocaml.org/" +SRC_URI="https://github.com/ocaml/ocaml/archive/${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches-1.tar.bz2" LICENSE="LGPL-2.1" SLOT="0/$(ver_cut 1-2)" @@ -21,10 +22,10 @@ BDEPEND="${RDEPEND} PDEPEND="emacs? ( app-emacs/ocaml-mode ) xemacs? ( app-xemacs/ocaml )" -QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' +QA_FLAGS_IGNORED='usr/lib.*/ocaml/bigarray.cmxs' PATCHES=( - "${FILESDIR}"/${P}-cflags.patch + "${WORKDIR}"/${P}-patches-1/ ) src_prepare() { @@ -63,7 +64,8 @@ src_configure() { $(use_enable flambda) $(use_enable spacetime) ) - econf ${opt[@]} + + econf "${opt[@]}" } src_compile() { diff --git a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild index 666f43b938bd..95b42d8a1a61 100644 --- a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild @@ -11,7 +11,7 @@ DESCRIPTION="Programming language supporting functional, imperative & object-ori LICENSE="QPL-1.0 LGPL-2" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" IUSE="emacs flambda latex +ocamlopt spacetime xemacs" RDEPEND="sys-libs/binutils-libs:= @@ -25,7 +25,7 @@ QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' PATCHES=( "${FILESDIR}"/${PN}-4.11.2-glibc-2.34.patch - "${FILESDIR}"/${PN}-4.10.2-cflags.patch + "${FILESDIR}"/${PN}-4.11.2-cflags.patch ) src_prepare() { diff --git a/dev-lang/ocaml/ocaml-4.12.1.ebuild b/dev-lang/ocaml/ocaml-4.12.1.ebuild index fd6cae2fff2c..70049fcc0ae4 100644 --- a/dev-lang/ocaml/ocaml-4.12.1.ebuild +++ b/dev-lang/ocaml/ocaml-4.12.1.ebuild @@ -24,6 +24,7 @@ QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' PATCHES=( "${FILESDIR}"/${PN}-4.12.0-glibc-2.34.patch + "${FILESDIR}"/${P}-fix-textrel-riscv.patch ) src_prepare() { diff --git a/dev-lang/ocaml/ocaml-4.13.1.ebuild b/dev-lang/ocaml/ocaml-4.13.1.ebuild index 1765de6905c0..979584167046 100644 --- a/dev-lang/ocaml/ocaml-4.13.1.ebuild +++ b/dev-lang/ocaml/ocaml-4.13.1.ebuild @@ -22,6 +22,10 @@ PDEPEND="emacs? ( app-emacs/ocaml-mode ) QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' +PATCHES=( + "${FILESDIR}"/${PN}-4.12.1-fix-textrel-riscv.patch +) + src_prepare() { default diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index ed694f59df0e..ef20fd53e9fa 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -3,8 +3,11 @@ AUX perl-5.34.0-fallback-getcwd-pwd.patch 8158 BLAKE2B a6870b26dbfadb54c5ea4f075 AUX perl-5.34.0-gdbm-1.20.patch 1627 BLAKE2B 9cbe976f43134022aab2aca203ee6590af52ccf628fa240c00334b14f090d01959764cd7d495a39c59eb59cdf69b0e527900350450f9995d934769ee461aac33 SHA512 fc6481a6ccbef4a19a966453472bde0c5dd1ea321be2a9682eff009c7431e18043d2c75b26ef296232a5f4e310992fc8955d19aef439d9f30b42ba9e9c9d561e DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267 +DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638789141f7fcd5a304509cb391cb9ad0232ba6ac70113bb0881ddb00ca5b19c53aa01e1e206c44401dad60d8942 SHA512 9261958291b49eea30c120a89e5ee32dc6a5fd46de4869c89c3d6a4c1162d6cf192ebe429d01a293eda93d8680ce15294af27717fd4ec4c75f511c1fa820fdac DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982 -EBUILD perl-5.34.0-r3.ebuild 26076 BLAKE2B b3bb0bea66cbabfe90855823671eb6faa72e72fbf9ec86dfa7279a028e34aeb8734e80bf7563138b4003500ed25d40d76a7f987c017c0f77122cb2df8f8851e4 SHA512 7d9e8755a050030c7d4df0614609c909b5ed5eaab05e84764fa86ad024edadcbf13e41f9326f4247f0f7c7735f3f67b718e5e35c88023358d562239e0d6aa5d6 -EBUILD perl-5.34.0-r5.ebuild 25268 BLAKE2B 0c65f2c0a8e779414e173d4ab989e9b520d8dea63339c3a8578ceed6e07246451014ebc77258c5a7dc74657036a210c6b856d3827999a494f065c2d010c5defc SHA512 076a03cae039e5df49defef09de5c3869d87d7bd85e03adb71099f64428a78371f5758e43193e0e29928b3490941ded376de34008613800fd67537279dde5554 +DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c EBUILD perl-5.34.0-r6.ebuild 25690 BLAKE2B 60d40d54bc76515f6c415e1cb3abe9e4d15f2b00d619504e35eb4457c7ac50e47b9eaff5df8d0c4e81b8c1b448ed2d351d56f8a458894ca003bcf5ea2a751f40 SHA512 e49c4141def934062d153169743859e0f266e9dac746532213e11f6da2a712f3761b35b3b3c3a793b2c20c14c66596f4a1ba80f70864bc740b1dccfcc5d69728 -MISC metadata.xml 431 BLAKE2B 89471506c7b258c1806338a5850ee9337f48b8e7497a3cad8b1e8bf18811152071d416732e0267e7d0c13386097990d1ca12bb0051deb7cb70403ab2e9bdb367 SHA512 87d2a0c6a10f71b243b1e9a79306ed0d440a7f447d84fe37f2bd3c40c60e8749fd9d7e97ad482e286153587b57d7db5d6a8df7cef94f332de7175f053dc843e1 +EBUILD perl-5.34.0-r7.ebuild 25946 BLAKE2B f8bb0aff640017896c5bb0a19946205e0c5a70896f289b6eca030582dc62d59562d86e1b56fd50ed6028ebd7492e86ff08559596a6315ea84875cf70388b5774 SHA512 2ddb5f746e3132459bfa96a37745d91f81dcdf981052c9ad8985457444038feff2a396dbf8c50d505780c5056a9137c49d3c7732093a32177e04e71325cec8b8 +EBUILD perl-5.34.0-r8.ebuild 25946 BLAKE2B b1adc130a091628967a863b1d5c7664673deb2f7106e74ed5f7890bcc413b52e1fa04aaca7b2311c95d86bf25ef80b558cb406e266153e6bdcba9847386b11d6 SHA512 4c79859e4109d01a8d3e893de60df68559d1bd4bc3da6dfb9b02a7ef4bbde3c1196d209620296f9a056e6295227f48d157556a077492ffa09158afa6279f981d +EBUILD perl-5.34.1.ebuild 25774 BLAKE2B 5215292e768158c3b3b9e2a8d82932e806024e42bffe93822950316f2eaa5c70be23eec3b0e3a59a01de6b1f09237cace08c0395d72375ee09dc031b707d5751 SHA512 452a3bc5f75c939a77d8a8b2fe3221f879206cbd6ea684c198e3a47a971ccf5c0ae53c8fdf9450ade3a564c1fbfe564e3ccfbe9b8d6a5e06f01d7213c5df196d +MISC metadata.xml 518 BLAKE2B 5c47c68840fa1444118ba11372d74675a68d178e30ee2b2ba179f1bee8fb97bc7178b34015c29b0688f88391ca9ee2c2f229cfa7b7bc812d2ece9721f8b84d6f SHA512 03980f6925a60032872acea0fb2693a2651b81b8656ad3a7b4adfb129bcd925cc6470e2dab293ba9618e8dd45f0ba76c2d8f4c908182747b0266fa02a268b734 diff --git a/dev-lang/perl/metadata.xml b/dev-lang/perl/metadata.xml index 85752872812a..4105918061bf 100644 --- a/dev-lang/perl/metadata.xml +++ b/dev-lang/perl/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="ithreads">Enable Perl threads, has some compatibility problems</flag> + <flag name="quadmath">Enable 128bit floating point arithmetic via libquadmath</flag> </use> <upstream> <remote-id type="github">arsv/perl-cross</remote-id> diff --git a/dev-lang/perl/perl-5.34.0-r5.ebuild b/dev-lang/perl/perl-5.34.0-r7.ebuild index effe3c01df9a..b11f241e679c 100644 --- a/dev-lang/perl/perl-5.34.0-r5.ebuild +++ b/dev-lang/perl/perl-5.34.0-r7.ebuild @@ -55,7 +55,7 @@ if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi -IUSE="berkdb debug doc gdbm ithreads minimal" +IUSE="berkdb debug doc gdbm ithreads minimal quadmath" RDEPEND=" berkdb? ( sys-libs/db:= ) @@ -70,6 +70,7 @@ BDEPEND="${RDEPEND}" PDEPEND=" !minimal? ( >=app-admin/perl-cleaner-2.5 + >=virtual/perl-CPAN-2.290.0 >=virtual/perl-Encode-3.120.0 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0 @@ -125,13 +126,16 @@ check_rebuild() { return 0; # Reinstall w/ USE Change - elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + elif + ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \ + ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \ ( use debug && ! has_version dev-lang/perl[debug] ) || \ ( ! use debug && has_version dev-lang/perl[debug] ) ; then echo "" ewarn "TOGGLED USE-FLAGS WARNING:" - ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You changed one of the use-flags ithreads, quadmath, or debug." ewarn "You must rebuild all perl-modules installed." ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" fi @@ -153,6 +157,9 @@ pkg_setup() { if use debug ; then myarch+="-debug" fi + if use quadmath ; then + myarch+="-quadmath" + fi if use ithreads ; then mythreading="-multi" myarch+="-thread" @@ -429,6 +436,12 @@ src_prepare() { if [[ ${CHOST} == *-darwin* ]] ; then # fix install_name (soname) not to reference $D sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi fi default @@ -566,6 +579,8 @@ src_configure() { use ithreads && myconf -Dusethreads + use quadmath && myconf -Dusequadmath + if use debug ; then append-cflags "-g" myconf -DDEBUGGING @@ -613,9 +628,11 @@ src_configure() { myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" # Older macOS with non-Apple GCC chokes on inline in system headers - # using c89 mode as injected by cflags.SH + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ - append-cflags -Dinline=__inline__ + append-cflags -Dinline=__inline__ -DPERL_DARWIN # flock on 32-bit sparc Solaris is broken, fall back to fcntl [[ ${CHOST} == sparc-*-solaris* ]] && \ diff --git a/dev-lang/perl/perl-5.34.0-r3.ebuild b/dev-lang/perl/perl-5.34.0-r8.ebuild index 8f3eb1ad8b3f..8b1b6df7213c 100644 --- a/dev-lang/perl/perl-5.34.0-r3.ebuild +++ b/dev-lang/perl/perl-5.34.0-r8.ebuild @@ -14,18 +14,16 @@ DIST_AUTHOR=XSAWYERX # Greatest first, don't include yourself # Devel point-releases are not ABI-intercompatible, but stable point releases are -# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions PERL_BIN_OLDVERSEN="" -# Yes we can. -PERL_SINGLE_SLOT=y - if [[ "${PV##*.}" == "9999" ]]; then DIST_VERSION=5.30.0 else DIST_VERSION="${PV/_rc/-RC}" fi SHORT_PV="${DIST_VERSION%.*}" + # Even numbered major versions are ABI intercompatible # Odd numbered major versions are not if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then @@ -33,6 +31,7 @@ if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then else SUBSLOT="${DIST_VERSION%.*}" fi + # Used only in tar paths MY_P="perl-${DIST_VERSION}" # Used in library paths @@ -53,10 +52,10 @@ LICENSE="|| ( Artistic GPL-1+ )" SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi -IUSE="berkdb debug doc gdbm ithreads minimal" +IUSE="berkdb debug doc gdbm ithreads minimal quadmath" RDEPEND=" berkdb? ( sys-libs/db:= ) @@ -71,6 +70,7 @@ BDEPEND="${RDEPEND}" PDEPEND=" !minimal? ( >=app-admin/perl-cleaner-2.5 + >=virtual/perl-CPAN-2.290.0 >=virtual/perl-Encode-3.120.0 >=virtual/perl-File-Temp-0.230.400-r2 >=virtual/perl-Data-Dumper-2.154.0 @@ -126,13 +126,16 @@ check_rebuild() { return 0; # Reinstall w/ USE Change - elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + elif + ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \ + ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \ ( use debug && ! has_version dev-lang/perl[debug] ) || \ ( ! use debug && has_version dev-lang/perl[debug] ) ; then echo "" ewarn "TOGGLED USE-FLAGS WARNING:" - ewarn "You changed one of the use-flags ithreads or debug." + ewarn "You changed one of the use-flags ithreads, quadmath, or debug." ewarn "You must rebuild all perl-modules installed." ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" fi @@ -154,6 +157,9 @@ pkg_setup() { if use debug ; then myarch+="-debug" fi + if use quadmath ; then + myarch+="-quadmath" + fi if use ithreads ; then mythreading="-multi" myarch+="-thread" @@ -165,24 +171,12 @@ pkg_setup() { LIBPERL="libperl$(get_libname ${MY_PV} )" - # This ENV var tells perl to build with a directory like "5.30" - # regardless of its patch version. This is for experts only - # at this point. - if [[ -z "${PERL_SINGLE_SLOT}" ]]; then - PRIV_LIB="${PRIV_BASE}/${MY_PV}" - ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}" - SITE_LIB="${SITE_BASE}/${MY_PV}" - SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}" - VENDOR_LIB="${VENDOR_BASE}/${MY_PV}" - VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}" - else - PRIV_LIB="${PRIV_BASE}/${SUBSLOT}" - ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}" - SITE_LIB="${SITE_BASE}/${SUBSLOT}" - SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}" - VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}" - VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}" - fi + PRIV_LIB="${PRIV_BASE}/${SUBSLOT}" + ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${SUBSLOT}" + SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}" + VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}" dual_scripts } @@ -264,6 +258,7 @@ src_prepare_perlcross() { MAKEOPTS+=" -j1" export MAKEOPTS } + src_prepare_dynamic() { ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die ln -s ${LIBPERL} libperl$(get_libname ) || die @@ -292,9 +287,10 @@ add_patch() { printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" fi } + # Remove a patch using a glob expr # eg: -# rm_patch *-darin-Use-CC* +# rm_patch *-darwin-Use-CC* # rm_patch() { local patchdir="${WORKDIR}/patches" @@ -307,6 +303,7 @@ rm_patch() { ewarn "No ${expr} found in ${patchdir} to remove" fi } + # Yes, this is a reasonable amount of code for something seemingly simple # but this is far easier to debug when things go wrong, and things went wrong # multiple times while I was getting the exact number of slashes right, which @@ -388,6 +385,7 @@ apply_patchdir() { printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" } + src_prepare() { local patchdir="${WORKDIR}/patches" @@ -402,6 +400,12 @@ src_prepare() { "Fix GDBM_File to compile with version 1.20 and earlier"\ "https://bugs.gentoo.org/802945" + if use prefix ; then + add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\ + "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\ + "https://bugs.gentoo.org/818172" + fi + if [[ ${CHOST} == *-solaris* ]] ; then # do NOT mess with nsl, on Solaris this is always necessary, # when -lsocket is used e.g. to get h_errno @@ -432,6 +436,12 @@ src_prepare() { if [[ ${CHOST} == *-darwin* ]] ; then # fix install_name (soname) not to reference $D sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi fi default @@ -448,16 +458,10 @@ myconf() { # /usr/local/lib64/perl5/<NUMBER> # /usr/lib64/perl5/vendor_perl/<NUMBER> # -# All values of NUMBER must be like "5.x.y", unless PERL_SUPPORT_SINGLE_SLOT -# is enabled, where it will also allow numbers like "5.x" +# All values of NUMBER must be like "5.x.y" or like "5.x" # -# PERL_SUPPORT_SINGLE_SLOT should only be used to transition *away* from PERL_SINGLE_SLOT -# if you used that. find_candidate_inc_versions() { - local regex='.*/5[.][0-9]+[.][0-9]+$'; - if [[ ! -z "${PERL_SUPPORT_SINGLE_SLOT}" || ! -z "${PERL_SINGLE_SLOT}" ]]; then - regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' - fi + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' local dirs=( "${EROOT}${PRIV_BASE}" "${EROOT}${SITE_BASE}" @@ -481,13 +485,11 @@ find_candidate_inc_versions() { einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null } + # Sort versions passed versiony-ly, remove self-version if present # dedup. Takes each version as an argument sanitize_inc_versions() { - local vexclude="${DIST_VERSION%-RC}" - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - vexclude="${SUBSLOT}" - fi + local vexclude="${SUBSLOT}" einfo "Normalizing/Sorting candidate list: $*" einfo " to remove '${vexclude}'" # Note, general numeric sort has to be used @@ -499,22 +501,18 @@ sanitize_inc_versions() { } versions_to_inclist() { - local oldv="${PERL_BIN_OLDVERSEN}" - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" - fi + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + for v; do has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; echo -n "${v}/ "; done } + versions_to_gentoolibdirs() { - local oldv="${PERL_BIN_OLDVERSEN}" + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" local root local v - if [[ ! -z "${PERL_SINGLE_SLOT}" ]]; then - oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" - fi for v; do for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do local fullpath="${EROOT}${root}/${v}" @@ -581,6 +579,8 @@ src_configure() { use ithreads && myconf -Dusethreads + use quadmath && myconf -Dusequadmath + if use debug ; then append-cflags "-g" myconf -DDEBUGGING @@ -628,9 +628,11 @@ src_configure() { myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" # Older macOS with non-Apple GCC chokes on inline in system headers - # using c89 mode as injected by cflags.SH + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ - append-cflags -Dinline=__inline__ + append-cflags -Dinline=__inline__ -DPERL_DARWIN # flock on 32-bit sparc Solaris is broken, fall back to fcntl [[ ${CHOST} == sparc-*-solaris* ]] && \ @@ -680,6 +682,7 @@ src_configure() { -Dnm="$(tc-getNM)" \ -Dcpp="$(tc-getCPP)" \ -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS}" \ -Doptimize="${CFLAGS}" \ -Dldflags="${LDFLAGS}" \ -Dprefix="${EPREFIX}"'/usr' \ @@ -712,7 +715,6 @@ src_configure() { -Dsh="${EPREFIX}"/bin/sh \ -Dtargetsh="${EPREFIX}"/bin/sh \ -Uusenm \ - "${myconf[@]}" \ "${EXTRA_ECONF[@]}" if tc-is-cross-compiler; then diff --git a/dev-lang/perl/perl-5.34.1.ebuild b/dev-lang/perl/perl-5.34.1.ebuild new file mode 100644 index 000000000000..126d1d65308c --- /dev/null +++ b/dev-lang/perl/perl-5.34.1.ebuild @@ -0,0 +1,824 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing + +PATCH_VER=1 +CROSS_VER=1.3.7 +PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}" +PATCH_DEV=dilfridge + +DIST_AUTHOR=XSAWYERX + +# Greatest first, don't include yourself +# Devel point-releases are not ABI-intercompatible, but stable point releases are +# BIN_OLDVERSEN contains only C-ABI-intercompatible versions +PERL_BIN_OLDVERSEN="" + +if [[ "${PV##*.}" == "9999" ]]; then + DIST_VERSION=5.30.0 +else + DIST_VERSION="${PV/_rc/-RC}" +fi +SHORT_PV="${DIST_VERSION%.*}" + +# Even numbered major versions are ABI intercompatible +# Odd numbered major versions are not +if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then + SUBSLOT="${DIST_VERSION%-RC*}" +else + SUBSLOT="${DIST_VERSION%.*}" +fi + +# Used only in tar paths +MY_P="perl-${DIST_VERSION}" +# Used in library paths +MY_PV="${DIST_VERSION%-RC*}" + +DESCRIPTION="Larry Wall's Practical Extraction and Report Language" + +SRC_URI=" + mirror://cpan/src/5.0/${MY_P}.tar.xz + mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz + https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz + https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz + https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz +" +HOMEPAGE="https://www.perl.org/" + +LICENSE="|| ( Artistic GPL-1+ )" +SLOT="0/${SUBSLOT}" + +if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +IUSE="berkdb debug doc gdbm ithreads minimal quadmath" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( >=sys-libs/gdbm-1.8.3:= ) + app-arch/bzip2 + sys-libs/zlib + virtual/libcrypt:= +" +DEPEND="${RDEPEND}" +BDEPEND="${RDEPEND}" + +PDEPEND=" + !minimal? ( + >=app-admin/perl-cleaner-2.5 + >=virtual/perl-CPAN-2.290.0 + >=virtual/perl-Encode-3.120.0 + >=virtual/perl-File-Temp-0.230.400-r2 + >=virtual/perl-Data-Dumper-2.154.0 + virtual/perl-Test-Harness + ) +" +# bug 390719, bug 523624 +# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker + +S="${WORKDIR}/${MY_P}" + +dual_scripts() { + src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep + src_remove_dual perl-core/CPAN 2.280.0 cpan + src_remove_dual perl-core/Digest-SHA 6.20.0 shasum + src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv + src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh + src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp + src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.60.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist + src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker + src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc + src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.430.0 prove + src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text + src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1 +} + +check_rebuild() { + # Fresh install + if [[ -z "${REPLACING_VERSIONS}" ]]; then + return 0; + # Major Upgrade + # doesn't matter if there's multiple copies, it still needs a rebuild + # if the string is anything other than "5.CURRENTMAJOR" + elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then + echo "" + ewarn "UPDATE THE PERL MODULES:" + ewarn "After updating dev-lang/perl the installed Perl modules" + ewarn "have to be re-installed. In most cases, this is done automatically" + ewarn "by the package manager, but subsequent steps are still recommended" + ewarn "to ensure system consistency." + ewarn + ewarn "You should start with a depclean to remove any unused perl dependencies" + ewarn "that may confuse portage in future. Regular depcleans are also encouraged" + ewarn "as part of your regular update cycle, as that will keep perl upgrades working." + ewarn "Recommended: emerge --depclean -va" + ewarn + ewarn "You should then call perl-cleaner to clean up any old files and trigger any" + ewarn "remaining rebuilds portage may have missed." + ewarn "Use: perl-cleaner --all" + return 0; + + # Reinstall w/ USE Change + elif + ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \ + ( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \ + ( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \ + ( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \ + ( use debug && ! has_version dev-lang/perl[debug] ) || \ + ( ! use debug && has_version dev-lang/perl[debug] ) ; then + echo "" + ewarn "TOGGLED USE-FLAGS WARNING:" + ewarn "You changed one of the use-flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed." + ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + fi +} + +pkg_setup() { + case ${CHOST} in + *-freebsd*) osname="freebsd" ;; + *-dragonfly*) osname="dragonfly" ;; + *-netbsd*) osname="netbsd" ;; + *-openbsd*) osname="openbsd" ;; + *-darwin*) osname="darwin" ;; + *-solaris*) osname="solaris" ;; + *-cygwin*) osname="cygwin" ;; + *) osname="linux" ;; + esac + + myarch="${CHOST%%-*}-${osname}" + if use debug ; then + myarch+="-debug" + fi + if use quadmath ; then + myarch+="-quadmath" + fi + if use ithreads ; then + mythreading="-multi" + myarch+="-thread" + fi + + PRIV_BASE="/usr/$(get_libdir)/perl5" + SITE_BASE="/usr/local/$(get_libdir)/perl5" + VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl" + + LIBPERL="libperl$(get_libname ${MY_PV} )" + + PRIV_LIB="${PRIV_BASE}/${SUBSLOT}" + ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}" + SITE_LIB="${SITE_BASE}/${SUBSLOT}" + SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}" + VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}" + VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}" + + dual_scripts +} + +src_remove_dual_file() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + alternatives_auto_makesym "${i}" "${i}-[0-9]*" + done + ;; + setup) + for i in "$@" ; do + if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then + has_version ${pkg} && ewarn "You must reinstall ${pkg} !" + break + fi + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i}{,-${ver}-${P}} || die + done + ;; + esac +} + +src_remove_dual_man() { + local i pkg ver ff + pkg="$1" + ver="$2" + shift 2 + case "${EBUILD_PHASE:-none}" in + postinst|postrm) + for i in "$@" ; do + ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*` + ff=${ff##*${i#${i%.[0-9]}}} + alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*" + done + ;; + install) + for i in "$@" ; do + if ! [[ -f "${ED}"${i} ]] ; then + ewarn "${i} does not exist!" + continue + fi + mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die + done + ;; + esac +} + +src_remove_dual() { + local i pkg ver + pkg="$1" + ver="$2" + shift 2 + for i in "$@" ; do + src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}" + src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1" + done +} + +src_prepare_perlcross() { + cp -a ../perl-cross-${CROSS_VER}/* . || die + + # bug 794463, needs further analysis what is exactly wrong here + eapply "${FILESDIR}/perl-5.34.0-crossfit.patch" + + # bug 604072 + MAKEOPTS+=" -j1" + export MAKEOPTS +} + +src_prepare_dynamic() { + ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die + ln -s ${LIBPERL} libperl$(get_libname ) || die +} + +# Copy a patch into the patch series +# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug'] +# - description is optional, but recommended +# - all arguments after descriptions are bug URLs +add_patch() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local src_name dest_name desc + src_name="$1" + dest_name="$2" + desc="$3" + shift; shift; shift; + einfo "Adding ${dest_name} to patch bundle" + cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}" + if [[ -n "${desc}" ]]; then + printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc" + fi + if [[ $# -gt 0 ]]; then + # Note: when $@ is more than one element, this emits a + # line for each element + printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs" + fi +} + +# Remove a patch using a glob expr +# eg: +# rm_patch *-darwin-Use-CC* +# +rm_patch() { + local patchdir="${WORKDIR}/patches" + local expr="$1" + local patch="$( cd "${patchdir}"; echo $expr )" + einfo "Removing $patch ($expr) from patch bundle" + if [[ -e "${patchdir}/${patch}" ]]; then + rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )" + else + ewarn "No ${expr} found in ${patchdir} to remove" + fi +} + +# Yes, this is a reasonable amount of code for something seemingly simple +# but this is far easier to debug when things go wrong, and things went wrong +# multiple times while I was getting the exact number of slashes right, which +# requires circumnavigating both bash and sed escape mechanisms. +c_escape_string() { + local slash dquote + slash='\' + dquote='"' + re_slash="${slash}${slash}" + re_dquote="${slash}${dquote}" + + # Convert \ to \\, + # " to \" + echo "$1" |\ + sed "s|${re_slash}|${re_slash}${re_slash}|g" |\ + sed "s|${re_dquote}|${re_slash}${re_dquote}|g" +} +c_escape_file() { + c_escape_string "$(cat "$1")" +} + +apply_patchdir() { + local patchdir="${WORKDIR}/patches" + local infodir="${WORKDIR}/patch-info" + local patchoutput="patchlevel-gentoo.h" + + # Inject Patch-Level info into description for patchlevel.h patch + # to show in -V + local patch_expr="*List-packaged-patches*" + local patch="$( cd "${patchdir}"; echo $patch_expr )"; + einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )" + + if [[ -e "${patchdir}/${patch}" ]]; then + printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\ + >"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc" + else + eerror "No $patch_expr found in ${patchdir}" + fi + + # Compute patch list to apply + # different name other than PATCHES to stop default + # reapplying it + # Single depth is currently only supported, as artifacts can reside + # from the old layout being multiple-directories, as well as it grossly + # simplifying the patchlevel_gentoo.h generation. + local PERL_PATCHES=($( + find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\ + grep -E '[.](diff|patch)$' |\ + sort -n + )) + + for patch in "${PERL_PATCHES[@]}"; do + eapply "${WORKDIR}"/patches/${patch} + done + + einfo "Generating $patchoutput" + + # This code creates a header file, each iteration + # creates one-or-more-lines for each entry found in PERL_PATCHES + # and STDOUT is redirected to the .h file + for patch in "${PERL_PATCHES[@]}"; do + local desc_f="${infodir}/${patch}.desc" + local bugs_f="${infodir}/${patch}.bugs" + + printf ',"%s"\n' "${patch}" + if [[ ! -e "${desc_f}" ]]; then + ewarn "No description provided for ${patch} (expected: ${desc_f} )" + else + local desc="$(c_escape_file "${desc_f}")" + printf ',"- %s"\n' "${desc}" + fi + if [[ -e "${bugs_f}" ]]; then + while read -d $'\n' -r line; do + local esc_line="$(c_escape_string "${line}")" + printf ',"- Bug: %s"\n' "${esc_line}" + done <"${bugs_f}" + fi + done > "${S}/${patchoutput}" + printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST" + +} + +src_prepare() { + local patchdir="${WORKDIR}/patches" + + # Prepare Patch dir with additional patches / remove unwanted patches + # Inject bug/desc entries for perl -V + # Old example: + # add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\ + # "Fix broken miniperl on hppa"\ + # "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162" + + if use prefix ; then + add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\ + "Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\ + "https://bugs.gentoo.org/818172" + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # do NOT mess with nsl, on Solaris this is always necessary, + # when -lsocket is used e.g. to get h_errno + rm_patch "*-nsl-and-cl*" + fi + + apply_patchdir + + tc-is-cross-compiler && src_prepare_perlcross + + tc-is-static-only || src_prepare_dynamic + + if use gdbm; then + sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \ + ext/NDBM_File/Makefile.PL || die + fi + + # Use errno.h from prefix rather than from host system, bug #645804 + if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then + sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die + fi + + if [[ ${CHOST} == *-solaris* ]] ; then + # set a soname, fix linking against just built libperl + sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die + fi + + if [[ ${CHOST} == *-darwin* ]] ; then + # fix install_name (soname) not to reference $D + sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die + + # fix environ linkage absence (only a real issue on Darwin9) + if [[ ${CHOST##*-darwin} -le 9 ]] ; then + sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \ + Makefile.SH || die + fi + fi + + default +} + +myconf() { + # the myconf array is declared in src_configure + myconf=( "${myconf[@]}" "$@" ) +} + +# Outputs a list of versions which have been seen in any of the +# primary perl @INC prefix paths, such as: +# /usr/lib64/perl5/<NUMBER> +# /usr/local/lib64/perl5/<NUMBER> +# /usr/lib64/perl5/vendor_perl/<NUMBER> +# +# All values of NUMBER must be like "5.x.y" or like "5.x" +# +find_candidate_inc_versions() { + local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$' + local dirs=( + "${EROOT}${PRIV_BASE}" + "${EROOT}${SITE_BASE}" + "${EROOT}${VENDOR_BASE}" + ) + for dir in "${dirs[@]}"; do + if [[ ! -e "${dir}" ]]; then + continue + fi + # Without access to readdir() on these dirs, find will not be able + # to reveal any @INC directories inside them, and will subsequently prune + # them from the built perl's @INC support, breaking our compatiblity options + # entirely. + if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then + eerror "Bad permissions on ${dir}, this will probably break things" + eerror "Ensure ${dir} is +rx for at least uid=$EUID" + eerror "Recommended permission is +rx for all" + eerror "> chmod o+rx ${dir}" + fi + done + einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}" + find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null +} + +# Sort versions passed versiony-ly, remove self-version if present +# dedup. Takes each version as an argument +sanitize_inc_versions() { + local vexclude="${SUBSLOT}" + einfo "Normalizing/Sorting candidate list: $*" + einfo " to remove '${vexclude}'" + # Note, general numeric sort has to be used + # for the last component, or unique will convert + # 5.30.0 + 5.30 into just 5.30 + printf "%s\n" "$@" |\ + grep -vxF "${vexclude}" |\ + sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg +} + +versions_to_inclist() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + + for v; do + has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ "; + echo -n "${v}/ "; + done +} + +versions_to_gentoolibdirs() { + local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}" + local root + local v + for v; do + for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do + local fullpath="${EROOT}${root}/${v}" + if [[ -e "${fullpath}" ]]; then + has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}"; + printf "%s:" "${fullpath}" + fi + done + done +} + +src_configure() { + declare -a myconf + + export LC_ALL="C" + [[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091 + + # Perl has problems compiling with -Os in your flags with glibc + replace-flags "-Os" "-O2" + + # xlocale.h is going away in glibc-2.26, so it's counterproductive + # if we use it and include it in CORE/perl.h ... Perl builds just + # fine with glibc and locale.h only. + # However, the darwin prefix people have no locale.h ... + use elibc_glibc && myconf -Ui_xlocale + + # This flag makes compiling crash in interesting ways + filter-flags "-malign-double" + + # Generic LTO broken since 5.28, triggers EUMM failures + filter-flags "-flto" + + use sparc && myconf -Ud_longdbl + + export BUILD_BZIP2=0 + export BZIP2_INCLUDE=${EROOT}/usr/include + export BZIP2_LIB=${EROOT}/usr/$(get_libdir) + + export BUILD_ZLIB=False + export ZLIB_INCLUDE=${EROOT}/usr/include + export ZLIB_LIB=${EROOT}/usr/$(get_libdir) + + # allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1 + myndbm='U' + mygdbm='U' + mydb='U' + if use gdbm ; then + mygdbm='D' + if use berkdb ; then + myndbm='D' + fi + fi + if use berkdb ; then + mydb='D' + has_version '=sys-libs/db-1*' && myndbm='D' + fi + + myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db" + + if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then + ewarn "Perl will not be built with berkdb support, use gcc if you needed it..." + myconf -Ui_db -Ui_ndbm + fi + + use ithreads && myconf -Dusethreads + + use quadmath && myconf -Dusequadmath + + if use debug ; then + append-cflags "-g" + myconf -DDEBUGGING + elif [[ ${CFLAGS} == *-g* ]] ; then + myconf -DDEBUGGING=-g + else + myconf -DDEBUGGING=none + fi + + # modifying 'optimize' prevents cross configure script from appending required flags + if tc-is-cross-compiler; then + append-cflags "-fwrapv -fno-strict-aliasing" + fi + + # Autodiscover all old version directories, some of them will even be newer + # if you downgrade + if [[ -z ${PERL_OLDVERSEN} ]]; then + PERL_OLDVERSEN="$( find_candidate_inc_versions )" + fi + + # Fixup versions, removing self match, fixing order and dupes + PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )" + + # Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string + if [[ -n "${PERL_OLDVERSEN// }" ]]; then + local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )" + einfo "This version of perl may partially support modules previously" + einfo "installed in any of the following paths:" + for incpath in ${inclist}; do + [[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}" + [[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}" + [[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}" + done + einfo "This is a temporary measure and you should aim to cleanup these paths" + einfo "via world updates and perl-cleaner" + # myconf -Dinc_version_list="${inclist}" + myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )" + fi + + [[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a" + + # Make sure we can do the final link #523730, need to set deployment + # target to override hardcoded 10.3 which breaks on modern OSX + [[ ${CHOST} == *-darwin* ]] && \ + myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)" + + # Older macOS with non-Apple GCC chokes on inline in system headers + # using c89 mode as injected by cflags.SH, in addition, we override + # cflags, so we loose PERL_DARWIN which enables compat code that + # apparently on more recent macOS releases is no longer necessary + [[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \ + append-cflags -Dinline=__inline__ -DPERL_DARWIN + + # flock on 32-bit sparc Solaris is broken, fall back to fcntl + [[ ${CHOST} == sparc-*-solaris* ]] && \ + myconf -Ud_flock + + # Prefix: the host system needs not to follow Gentoo multilib stuff, and in + # Prefix itself we don't do multilib either, so make sure perl can find + # something compatible. + if use prefix ; then + # Set a hook to check for each detected library whether it actually works. + export libscheck=" + ( echo 'main(){}' > '${T}'/conftest.c && + $(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null + ) || xxx=/dev/null" + + # Use all host paths that might contain useful stuff, the hook above will filter out bad choices. + local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib" + myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}" + elif [[ $(get_libdir) != "lib" ]] ; then + # We need to use " and not ', as the written config.sh use ' ... + myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)" + fi + + # don't try building ODBM, bug #354453 + disabled_extensions="ODBM_File" + + if ! use gdbm ; then + # workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm" + disabled_extensions="${disabled_extensions} GDBM_File NDBM_File" + fi + + myconf -Dnoextensions="${disabled_extensions}" + + [[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly + + [[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF} + # allow fiddling via EXTRA_ECONF, bug 558070 + eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})" + + # setting -Dld= to tc-getLD breaks perl and all perl things + # https://github.com/Perl/perl5/issues/17791#issuecomment-630145202 + myconf \ + -Duseshrplib \ + -Darchname="${myarch}" \ + -Dcc="$(tc-getCC)" \ + -Dar="$(tc-getAR)" \ + -Dnm="$(tc-getNM)" \ + -Dcpp="$(tc-getCPP)" \ + -Dranlib="$(tc-getRANLIB)" \ + -Accflags="${CFLAGS}" \ + -Doptimize="${CFLAGS}" \ + -Dldflags="${LDFLAGS}" \ + -Dprefix="${EPREFIX}"'/usr' \ + -Dsiteprefix="${EPREFIX}"'/usr/local' \ + -Dvendorprefix="${EPREFIX}"'/usr' \ + -Dscriptdir="${EPREFIX}"'/usr/bin' \ + -Dprivlib="${EPREFIX}${PRIV_LIB}" \ + -Darchlib="${EPREFIX}${ARCH_LIB}" \ + -Dsitelib="${EPREFIX}${SITE_LIB}" \ + -Dsitearch="${EPREFIX}${SITE_ARCH}" \ + -Dvendorlib="${EPREFIX}${VENDOR_LIB}" \ + -Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \ + -Dman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \ + -Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \ + -Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \ + -Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \ + -Dman1ext='1' \ + -Dman3ext='3pm' \ + -Dlibperl="${LIBPERL}" \ + -Dlocincpth="${EPREFIX}"'/usr/include ' \ + -Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \ + -Duselargefiles \ + -Dd_semctl_semun \ + -Dcf_by='Gentoo' \ + -Dmyhostname='localhost' \ + -Dperladmin='root@localhost' \ + -Ud_csh \ + -Dsh="${EPREFIX}"/bin/sh \ + -Dtargetsh="${EPREFIX}"/bin/sh \ + -Uusenm \ + "${EXTRA_ECONF[@]}" + + if tc-is-cross-compiler; then + ./configure \ + --target="${CHOST}" \ + --build="${CBUILD}" \ + -Dinstallprefix='' \ + -Dinstallusrbinperl='undef' \ + -Dusevendorprefix='define' \ + "${myconf[@]}" \ + || die "Unable to configure" + else + sh Configure \ + -des \ + -Dinstallprefix="${EPREFIX}"'/usr' \ + -Dinstallusrbinperl='n' \ + "${myconf[@]}" \ + || die "Unable to configure" + fi +} + +src_test() { + export NO_GENTOO_NETWORK_TESTS=1; + export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}" + export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}" + if [[ ${EUID} == 0 ]] ; then + ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..." + return 0 + fi + TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed" +} + +src_install() { + local i + local coredir="${ARCH_LIB}/CORE" + + emake DESTDIR="${D}" install + + rm -f "${ED}/usr/bin/perl${MY_PV}" + ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die + + if ! tc-is-static-only ; then + dolib.so "${ED}"${coredir}/${LIBPERL} + rm -f "${ED}"${coredir}/${LIBPERL} + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die + + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die + ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die + fi + + rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages" + + # This removes ${D} from Config.pm + for i in $(find "${D}" -iname "Config.pm" ) ; do + einfo "Removing ${D} from ${i}..." + sed -i -e "s:${D}::" "${i}" || die "Sed failed" + done + + dodoc Changes* README AUTHORS + + if use doc ; then + # HTML Documentation + # We expect errors, warnings, and such with the following. + + dodir /usr/share/doc/${PF}/html + LD_LIBRARY_PATH=. ./perl installhtml \ + --podroot='.' \ + --podpath='lib:ext:pod:vms' \ + --recurse \ + --htmldir="${ED}/usr/share/doc/${PF}/html" + fi + + [[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local + + dual_scripts +} + +pkg_preinst() { + check_rebuild +} + +pkg_postinst() { + dual_scripts + + if [[ "${ROOT}" = "/" ]] ; then + local INC DIR file + INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }') + einfo "Removing old .ph files" + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + for file in $(find "${DIR}" -name "*.ph" -type f ) ; do + rm -f "${file}" + einfo "<< ${file}" + done + fi + done + # Silently remove the now empty dirs + for DIR in ${INC} ; do + if [[ -d "${DIR}" ]] ; then + find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null + fi + done + + fi +} + +pkg_postrm() { + dual_scripts +} diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index bd489269ca58..c93dc0f7fa76 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -8,21 +8,16 @@ AUX php-iodbc-header-location.patch 481 BLAKE2B 9ea6a5d529dc7a8c78eeee800900372b AUX php80-firebird-warnings.patch 1949 BLAKE2B ab1b693afe26b6529aab8628f9a614478c388ed23603ad1dd4d17b63154d535a3e4c2db04fe27fb22a3d7e1335e368ffd383ed24647ac53ac05170ec3e1beb75 SHA512 d37815ea529167d4959aef056a3a0be6902ee4cda809a48c24299b05ff6477ee82e8ed8dcf49051b8e74ba5c31e3985454591ea751d4550df3d2e3639ec0d616 DIST php-7.3.32.tar.xz 12142436 BLAKE2B 375092f7fade8b93d2fbf409552cda42a685267248e3bce373913eeae5f133e7773554c2302b12bf09588d74a76898b138c47287f7d9a721f294635799ca46f6 SHA512 afed20a90aa7d207f9b409fb2066789a637b24d6c6874fc5733bbe6e9972616b387669ce40cba16b606893d88572f398e34aff7a36626308e3ede312f09fcc56 DIST php-7.3.33.tar.xz 12143820 BLAKE2B 77b5ada50169b308b42dbf2c69b5aebd6e9ab9663be8de5bd26391e42015d856631f12b0268b98889f2c3058564a6c71ad298b725b8afff920e277aa3e787422 SHA512 b05edb3e87775c0b2d7bd5990e47751279076e6ef2356f59dc917f4a1447d95894f596cd8de711f03278650ff74ff9f2687ed96cec69d2d669a6af563a455e25 -DIST php-7.4.25.tar.xz 10376304 BLAKE2B 75682840a9e978d2ce350892bb8d743238f1ca86d4e1bb549637ad259541264c911128d3fbb2a89768acaa366eac91e66b26f8411f6b9f6d55475b139f5ae95a SHA512 7fcb236f6d2a92514059b2e107c2b592e6139e3c65046566ae98fb9d2c09eb3e9ca1a41ea6535fc814bc7127d8fd9f8bb5a80bd86eec32120eb150a34b9b5c34 -DIST php-7.4.26.tar.xz 10420236 BLAKE2B d4675ecf3632bb63e24d2f3cdef10c01fbf4a7a28384abc1e2eeb9ae7dc4ecfe341b95d946e182647837f4e082f0261e2ba921822ec5844b7fe833bf639197b7 SHA512 36cd493c9c95aabb1ee47e82cb0c20b2be99fe7ebd98743355139064590d0b9a1746d71e31dd47f164df34ebe3f8366a75f3efc149262e1391b43d83d3045c6e -DIST php-7.4.27.tar.xz 10419380 BLAKE2B e62218f54f0455377f085499b3fa75d9d9a33c81d621ac4303cee59e70565a3cd9bfa6372ebb3492a4093eb22bf101653b6e8b3804cb8795db5d5ac2845de2f5 SHA512 2401f19d738a511c20efdf199fed7a6bdd02b51d91abf68a410f760cf846df87fce4bbf71acdf209926877cf3e8f8f39f045f1f03755862d09491f6ab6c9cfc8 -DIST php-8.0.12.tar.xz 10713980 BLAKE2B ce8ca0d671e8613a81744a55cf94ff43254482a08dec365c05eb4ca22c1b31732e5ef93a51d383d2e8daf0cf332ed7946e79ba3b385386ca0773fc673fe58307 SHA512 927b15c4443f3741a5325ec7bf387987b405cd5e64e40fd81f1945bf073adda30eeede8e1f98185f505cb61f969cf1abe05b8dad57a3c4e87971e8037bb16b23 -DIST php-8.0.14.tar.xz 10860176 BLAKE2B e63e8e4446c1e1ee0bdf6faf38ce95a793107e582bd74677555d6f3576184af73d454111f14cd680086b11f288222d1ad5fb0e5ee38df53cd476fab6015b7fa7 SHA512 1fb96dd7e229dd71d0e872c8450e18bdefadebaf0b6b6429bd5d054be1b940cd2d53f132ba2d166d454b89374e79e4ea02d483320792e983d572df68ef769788 -DIST php-8.0.15.tar.xz 10764936 BLAKE2B f7bdc42dd3c9e9b58744dba644720fd5dfe581442f522759cd48b94a30c3fc65167f2b0e670bbbe5d5524ec3a6704e3b432e5af2dc07c6944a93adc52e527e98 SHA512 e6ac50b2e38d6d02cf84ce388826438bb7d339b54d2038ca071874b90c65f80c5c5e0c69f870edd7450d2de8f83788c8855eeb983d0d4528d44e31679caf404f -DIST php-8.1.2.tar.xz 11681132 BLAKE2B e693237b76d94cd4a50c3df68289d4c2f070c40cc52c099fd91134331377115b7e7df509e5d6cdfc7742da3ae7b27d3cbe7015acc3825b887ba0d7d690663dd4 SHA512 ec68587fc14d4e5aaa19d4a189c74b85e67b8ab4d5a15ef36115b564fc9e2f2b63bd608ea8c0e4a99615a24f38711b233f4e65b3672c3bfb69e1ab9d554a88cd +DIST php-7.4.28.tar.xz 10418352 BLAKE2B 27673b5a891723a4c20a19fa22708f733b8ff12e16e5bbd727ed841845bcb8802ea98e8c2a4936b184704cde96f8725a2c338470ba573e8d3a0732a3f449e7e5 SHA512 e7fa281a3be9ec46b7fa69619fd417fc04200dc64fd153f9670184d84b0aa3d5f3698536cf18476a96d8a42ba40b856ff57ab18e8e8a485dd9b95467d1952fa8 +DIST php-8.0.16.tar.xz 10864076 BLAKE2B e5820ecd40632e458a0ada1d1886cd054520ab7f1492766fd8d5c3561977359abddd886b47f7d7255bcc80d00c96afeceb5cbd515eb779ed4ac15db9e01f1fe3 SHA512 68952638f2965752be26dc0a49f938eb4f251f2d5a7b309a2983c4f9bc064738c9da2e8015ec9b2ecc0dc06e014ace3c0348222166b898a4a38c31ab8b0fd139 +DIST php-8.0.17.tar.xz 10771016 BLAKE2B ed2b9fb4f8c2210e112d27e43acff2a71c57802c5fd72429ffc716f6b7666d00a24d35166e5e85d20d7f67e00d5cdae89eaf5d30238a0758b42964e27422507b SHA512 9e1e44860be8f5ddf0c264f791e2c8936ca3abd02c18c432ff340057e94f0fbc5f40f1ee8f4feee60416eb4ce712f43764d3757f2e667dc78150d2d86d3c02e3 +DIST php-8.1.3.tar.xz 11751576 BLAKE2B e55f5d3742d233f6b028c6ca97181ea4fb55331204bbea2f58f2e440a6f5c520343addb5bc05ed0c407d6cf9f1bda3754c2039195154b90bb903ddc7a13ca49a SHA512 230f70c4f23ac69b52063b91de5ea866e30a84b5ac8d0021e35baebf210fe432fb6c46264a9a2808bf0f0d2003f4c3db974c2c480718a5607c5e4d52379e9d9d +DIST php-8.1.4.tar.xz 11700448 BLAKE2B 472f053bd9544403f6cffacb15b35af16e4165f984f4a651d0c2983e3e84ea8301123796f3fd2ba4c20d97cf6fa0fe02326c63d37d8eb1dabd756a2f858944de SHA512 63eb05c20ebeee9377f7b72aa5ae6ff4c5f04b8612b9f192f4a849a4f2db74691343e2279b9dfc7c79d0b42a7dc17ab4ed11ed66c018c96224cf1663eaab728b EBUILD php-7.3.32.ebuild 22579 BLAKE2B 77061c8803da1468dfe09bda3a1d87e4d307980e41990f149a62306e92de66ed9a665c319b49de0f6655fa0073ca94f26de220592d197854b6d9fda9cab76e47 SHA512 9fada7c73de015edb07719368a4f02642c7b8b395d7d240459f952f75b424441c4aa6f2d088cd4632c56eeef0b44a02faf7a4f8e8ca403cd8178fc8a60ea38e4 EBUILD php-7.3.33.ebuild 22586 BLAKE2B 68c91b62746fb125ef2921100ef02549b7e9b6c7e01431b29269135dde94c8288db7af28988f9f5debeb1509c49d583fd19adbb2edde103b7de6f3b3bbd3a939 SHA512 879d25a58261d66c4b90da4447a15eb54407bec51cd71364fbd15a7c8b60b6cbb853a6af1f286bef1c15e2ba59a7fe65ece4babd69277e1322d5fab38b2fb529 -EBUILD php-7.4.25.ebuild 21297 BLAKE2B b9c8400af5d83f2d366bc427690a7e454c507f41fbeb746c483a75eaa2aa7df89d7d13b71ceb14fbbc354f48cbd7b21509f8cce32f13f05504a5a802d37b1d48 SHA512 5a88de0728f8f76e1ffb16202c47e07910ec28187dfc7c8ae77e33a61838888c3aaad8e2c42c091788ccf4ec36204fd52f13f207d4485d3fe5ab423ba3e1991f -EBUILD php-7.4.26.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98 -EBUILD php-7.4.27-r1.ebuild 21309 BLAKE2B 36d3cf644f0bc300f90e1635c4150a0b0da7b7a83600159bbf22178206039cffd4a7c5b02f414ced09024f137e9c70d19176de217e8ae7b1dbb0fa416746db73 SHA512 91651667c1f79fd500458d03fd5d12d61c9749a465132fa5a3c7c09653afc8dfc6efe456d16f192160effc5a4c6f7247703d93d4bfc21a73e57f02ed556503a2 -EBUILD php-7.4.27.ebuild 21272 BLAKE2B 81120abe77f073de480514d21a02f48316cc2c01ba5863a9079c542cfc5a402d354d870233d2e98d4af929ebea83f8269793e76f0724c9efd175b83b66265240 SHA512 4c70d22f64134d902ad8069dfa61dcbd92d06cd1cce0ee2db6135fc0c6417de32ead2cba225c15cb4376af4ae23a7f40736a9b077d7994f617e6df72b22e9b98 -EBUILD php-8.0.12.ebuild 21315 BLAKE2B c10ae3e2ce97b40a08b4ba4cc583986d545e1beffef93e5dbd95e6c657b8a99ce8551f6f115a59dc362915ef2f0a02d1abd93bc21aa2e0be3dab96a8cd72e037 SHA512 8d4b47550819953532357c82de4d60be4fbcb98484ccb8079d8258beabe000ccc01748b091344d026b5369529af919f4ead94e33dfcb83339a56214a510f9107 -EBUILD php-8.0.14.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321 -EBUILD php-8.0.15.ebuild 21824 BLAKE2B b92ffb2a9de196b84614fb8622369727522d8543b141209a8d7b95344ef19a284e21a094098a73d948d9e83a82bded6ebaf6ae82ee53cfcfedb577c7be179c09 SHA512 6b5e9ba1423994a86cf864102c0fcb82a6ac364af76716cb533ce85f89308a26d80a1053860d684d7de708d19c8bd83446ee402e53ff6fed1f4fb813836a5321 -EBUILD php-8.1.2.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39 +EBUILD php-7.4.28.ebuild 21302 BLAKE2B 54e188560f32616bfe8ee63420b7f040c76c803e0571d5bcfa2fe3f978ad9aaa7975b92f369653a2ab688577e7b2def719c3361c6ff8bfdf09814df9b1a5a2cc SHA512 00711eb11b259bcf7e376ec3dd874ad538912edf42f1464cf8bb444b4485ac4ca6210d82caa551345540f83411a49ec42aa32e3891f376a89ee9cde265efe8fb +EBUILD php-8.0.16.ebuild 21817 BLAKE2B 66fadff5dea2b9606bcba008be261b7528d16f2aca66e3be0446594d6eff07e45cc80694530fde5f7cd29de72cda01e04449e33f1495b49edf5be1a804991911 SHA512 55027ec116ffd5474e22e077e232506f97d706ede1f21862e80c71a71dbb45e42095918e36925766e546e7bf367a98d2d38c5b4b85eee91e5d67a2d83bc04724 +EBUILD php-8.0.17.ebuild 21844 BLAKE2B 82c50097f15501a78e5fa8ecfe2a31a19e0c475b32f436cae6b6a3b3adf78cd3853937b353fa6344613dfc211ffe0d6bab2940db65d94618cee7a19f0b8fdf26 SHA512 bfb8e4c1ea77cdb071dae785cc685f03c06eafbc0be70f5cb125247c526c7e3b00ca8e9a425efe26809ef14509e7b927ea8c5f09595993caa223131dbf6988ce +EBUILD php-8.1.3.ebuild 21837 BLAKE2B 709917a9d2745045903624ad66e74c57d55e770df24c33c3f05cce1e42fc4d6f3903fa165b6bdd829ba779ab4e160fc6f9e48b39ca76ca27a172b573057ce997 SHA512 53d028a0d79221154a890bbdadb4a08b067546710575edecea1e2e0a242511d274c24d31d8529add654908e797c193f1b752c97dd3475a15715a888186ee0f39 +EBUILD php-8.1.4.ebuild 21857 BLAKE2B e28006e7865c55d8faaab05e73fa2cef7ec8bf4a709528963dcc71ef3681f845258236eca401953802885197ec49547d82bd245ef49f85ad1eddce03dfe05ca2 SHA512 57f41b5db63711617fbccd57d963cb36bce3f3de775802562052f390275c9e3c32bdce92b98807f17fbb6c15fad4724a486d2c9ec64d34047d5ad5fb290c8051 MISC metadata.xml 3378 BLAKE2B 4ea64ce2404205f33be7d0be217ad8eeef2b82bc50700664dd89db5bd6c3aabfe2b0ab72497493bdb1214d3c30d9fdabe0e8790938aa68fd3cff8bb25249057b SHA512 21fc30b50fe9d5fdbd63c19e1bc7856bc2e7d96ff8fbd05aff4fc07bddae68cbe8dffecb1854de233031257dcd40da265463887259f95ed886dac8bc2b6cc535 diff --git a/dev-lang/php/php-7.4.26.ebuild b/dev-lang/php/php-7.4.26.ebuild deleted file mode 100644 index cee27f7d4134..000000000000 --- a/dev-lang/php/php-7.4.26.ebuild +++ /dev/null @@ -1,745 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.php.net/distributions/${P}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -# The Oracle instant client provides its own incompatible ldap library. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlrpc? ( xml iconv ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - oci8-instant-client? ( !ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[jit?,unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) - argon2? ( app-crypt/argon2:= ) - berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) - bzip2? ( app-arch/bzip2:0= ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.10.5 ) - enchant? ( <app-text/enchant-2.0:0 ) - ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( dev-libs/libedit ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) - odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - sodium? ( dev-libs/libsodium:=[-minimal] ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( >=dev-libs/openssl-1.0.1:0= ) - tidy? ( app-text/htmltidy ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.7.6 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -BDEPEND="virtual/pkgconfig" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( - "${FILESDIR}"/php-iodbc-header-location.patch -) - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "../ext/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) - $(use_enable intl) - $(use_enable ipv6) - $(use_enable json) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xmlrpc) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(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 - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-external-pcre affects ext/pcre - our_conf+=( - --with-external-pcre - $(use_with jit pcre-jit) - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - local one_sapi - local sapi - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - local sapi - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="", sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - local m - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/php/php-7.4.27-r1.ebuild b/dev-lang/php/php-7.4.27-r1.ebuild deleted file mode 100644 index 9925c7527525..000000000000 --- a/dev-lang/php/php-7.4.27-r1.ebuild +++ /dev/null @@ -1,746 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.php.net/distributions/${P}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -# The Oracle instant client provides its own incompatible ldap library. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlrpc? ( xml iconv ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - oci8-instant-client? ( !ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[jit?,unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) - argon2? ( app-crypt/argon2:= ) - berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) - bzip2? ( app-arch/bzip2:0= ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.10.5 ) - enchant? ( <app-text/enchant-2.0:0 ) - ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( dev-libs/libedit ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) - odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - sodium? ( dev-libs/libsodium:=[-minimal] ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( >=dev-libs/openssl-1.0.1:0= ) - tidy? ( app-text/htmltidy ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.7.6 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -BDEPEND="virtual/pkgconfig" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( - "${FILESDIR}"/php-iodbc-header-location.patch - "${FILESDIR}"/bug81656-gcc-11.patch -) - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "../ext/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) - $(use_enable intl) - $(use_enable ipv6) - $(use_enable json) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xmlrpc) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(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 - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-external-pcre affects ext/pcre - our_conf+=( - --with-external-pcre - $(use_with jit pcre-jit) - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - local one_sapi - local sapi - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - local sapi - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="", sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - local m - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/php/php-7.4.27.ebuild b/dev-lang/php/php-7.4.27.ebuild deleted file mode 100644 index cee27f7d4134..000000000000 --- a/dev-lang/php/php-7.4.27.ebuild +++ /dev/null @@ -1,745 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -WANT_AUTOMAKE="none" - -inherit flag-o-matic systemd autotools - -MY_PV=${PV/_rc/RC} -DESCRIPTION="The PHP language runtime engine" -HOMEPAGE="https://www.php.net/" -SRC_URI="https://www.php.net/distributions/${P}.tar.xz" - -LICENSE="PHP-3.01 - BSD - Zend-2.0 - bcmath? ( LGPL-2.1+ ) - fpm? ( BSD-2 ) - gd? ( gd ) - unicode? ( BSD-2 LGPL-2.1 )" - -SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" - -S="${WORKDIR}/${PN}-${MY_PV}" - -# We can build the following SAPIs in the given order -SAPIS="embed cli cgi fpm apache2 phpdbg" - -# SAPIs and SAPI-specific USE flags (cli SAPI is default on): -IUSE="${IUSE} - ${SAPIS/cli/+cli} - threads" - -IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk - coverage +ctype curl debug - enchant exif ffi +fileinfo +filter firebird - +flatfile ftp gd gdbm gmp +iconv imap inifile - intl iodbc ipv6 +jit +json kerberos ldap ldap-sasl libedit lmdb - mhash mssql mysql mysqli nls - oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm - readline selinux +session session-mm sharedmem - +simplexml snmp soap sockets sodium spell sqlite ssl - sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp - +xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib" - -# Without USE=readline or libedit, the interactive "php -a" CLI will hang. -# The Oracle instant client provides its own incompatible ldap library. -REQUIRED_USE=" - || ( cli cgi fpm apache2 embed phpdbg ) - cli? ( ^^ ( readline libedit ) ) - !cli? ( ?? ( readline libedit ) ) - truetype? ( gd zlib ) - webp? ( gd zlib ) - cjk? ( gd zlib ) - exif? ( gd zlib ) - xpm? ( gd zlib ) - gd? ( zlib ) - simplexml? ( xml ) - soap? ( xml ) - xmlrpc? ( xml iconv ) - xmlreader? ( xml ) - xmlwriter? ( xml ) - xslt? ( xml ) - ldap-sasl? ( ldap ) - oci8-instant-client? ( !ldap ) - qdbm? ( !gdbm ) - session-mm? ( session !threads ) - mysql? ( || ( mysqli pdo ) ) - firebird? ( pdo ) - mssql? ( pdo ) -" - -RESTRICT="!test? ( test )" - -# The supported (that is, autodetected) versions of BDB are listed in -# the ./configure script. Other versions *work*, but we need to stick to -# the ones that can be detected to avoid a repeat of bug #564824. -COMMON_DEPEND=" - >=app-eselect/eselect-php-0.9.1[apache2?,fpm?] - >=dev-libs/libpcre2-10.30[jit?,unicode] - fpm? ( acl? ( sys-apps/acl ) ) - apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) - argon2? ( app-crypt/argon2:= ) - berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) - bzip2? ( app-arch/bzip2:0= ) - cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) - coverage? ( dev-util/lcov ) - curl? ( >=net-misc/curl-7.10.5 ) - enchant? ( <app-text/enchant-2.0:0 ) - ffi? ( >=dev-libs/libffi-3.0.11:= ) - firebird? ( dev-db/firebird ) - gd? ( >=virtual/jpeg-0-r3:0 media-libs/libpng:0= ) - gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) - gmp? ( dev-libs/gmp:0= ) - iconv? ( virtual/libiconv ) - imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] ) - intl? ( dev-libs/icu:= ) - kerberos? ( virtual/krb5 ) - ldap? ( >=net-nds/openldap-1.2.11 ) - ldap-sasl? ( dev-libs/cyrus-sasl ) - libedit? ( dev-libs/libedit ) - lmdb? ( dev-db/lmdb:= ) - mssql? ( dev-db/freetds[mssql] ) - nls? ( sys-devel/gettext ) - oci8-instant-client? ( dev-db/oracle-instantclient[sdk] ) - odbc? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) ) - postgres? ( dev-db/postgresql:* ) - qdbm? ( dev-db/qdbm ) - readline? ( sys-libs/readline:0= ) - session-mm? ( dev-libs/mm ) - snmp? ( >=net-analyzer/net-snmp-5.2 ) - sodium? ( dev-libs/libsodium:=[-minimal] ) - spell? ( >=app-text/aspell-0.50 ) - sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( >=dev-libs/openssl-1.0.1:0= ) - tidy? ( app-text/htmltidy ) - tokyocabinet? ( dev-db/tokyocabinet ) - truetype? ( =media-libs/freetype-2* ) - unicode? ( dev-libs/oniguruma:= ) - webp? ( media-libs/libwebp:0= ) - xml? ( >=dev-libs/libxml2-2.7.6 ) - xpm? ( x11-libs/libXpm ) - xslt? ( dev-libs/libxslt ) - zip? ( >=dev-libs/libzip-1.2.0:= ) - zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) -" - -RDEPEND="${COMMON_DEPEND} - virtual/mta - fpm? ( - selinux? ( sec-policy/selinux-phpfpm ) - systemd? ( sys-apps/systemd ) )" - -# Bison isn't actually needed when building from a release tarball -# However, the configure script will warn if it's absent or if you -# have an incompatible version installed. See bug 593278. -DEPEND="${COMMON_DEPEND} - app-arch/xz-utils - >=sys-devel/bison-3.0.1" - -BDEPEND="virtual/pkgconfig" - -PHP_MV="$(ver_cut 1)" - -PATCHES=( - "${FILESDIR}"/php-iodbc-header-location.patch -) - -php_install_ini() { - local phpsapi="${1}" - - # work out where we are installing the ini file - php_set_ini_dir "${phpsapi}" - - # Always install the production INI file, bug 611214. - local phpinisrc="php.ini-production-${phpsapi}" - cp php.ini-production "${phpinisrc}" || die - - # default to /tmp for save_path, bug #282768 - sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die - - # Set the extension dir - sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \ - -i "${phpinisrc}" || die - - # Set the include path to point to where we want to find PEAR packages - sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die - - insinto "${PHP_INI_DIR#${EPREFIX}}" - newins "${phpinisrc}" php.ini - - elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}" - elog - - dodir "${PHP_EXT_INI_DIR#${EPREFIX}}" - dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}" - - if use opcache; then - elog "Adding opcache to $PHP_EXT_INI_DIR" - echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \ - "${D}/${PHP_EXT_INI_DIR}"/opcache.ini - dosym "../ext/opcache.ini" \ - "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini" - fi - - # SAPI-specific handling - if [[ "${sapi}" == "fpm" ]] ; then - einfo "Installing FPM config files php-fpm.conf and www.conf" - insinto "${PHP_INI_DIR#${EPREFIX}}" - doins sapi/fpm/php-fpm.conf - insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d" - doins sapi/fpm/www.conf - fi - - dodoc php.ini-{development,production} -} - -php_set_ini_dir() { - PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}" - PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext" - PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active" -} - -src_prepare() { - default - - # In php-7.x, the FPM pool configuration files have been split off - # of the main config. By default the pool config files go in - # e.g. /etc/php-fpm.d, which isn't slotted. So here we move the - # include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later - # we'll install the pool configuration file "www.conf" there. - php_set_ini_dir fpm - sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \ - sapi/fpm/php-fpm.conf.in \ - || die 'failed to move the include directory in php-fpm.conf' - - # Emulate buildconf to support cross-compilation - rm -fr aclocal.m4 autom4te.cache config.cache \ - configure main/php_config.h.in || die - eautoconf --force - eautoheader -} - -src_configure() { - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" - - # The php-fpm config file wants localstatedir to be ${EPREFIX}/var - # and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002. - local our_conf=( - --prefix="${PHP_DESTDIR}" - --mandir="${PHP_DESTDIR}/man" - --infodir="${PHP_DESTDIR}/info" - --libdir="${PHP_DESTDIR}/lib" - --with-libdir="$(get_libdir)" - --localstatedir="${EPREFIX}/var" - --without-pear - $(use_enable threads maintainer-zts) - ) - - our_conf+=( - $(use_with argon2 password-argon2 "${EPREFIX}/usr") - $(use_enable bcmath) - $(use_with bzip2 bz2 "${EPREFIX}/usr") - $(use_enable calendar) - $(use_enable coverage gcov) - $(use_enable ctype) - $(use_with curl) - $(use_enable xml dom) - $(use_with enchant) - $(use_enable exif) - $(use_with ffi) - $(use_enable fileinfo) - $(use_enable filter) - $(use_enable ftp) - $(use_with nls gettext "${EPREFIX}/usr") - $(use_with gmp gmp "${EPREFIX}/usr") - $(use_with mhash mhash "${EPREFIX}/usr") - $(use_with iconv iconv \ - $(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr")) - $(use_enable intl) - $(use_enable ipv6) - $(use_enable json) - $(use_with kerberos) - $(use_with xml libxml) - $(use_enable unicode mbstring) - $(use_with ssl openssl) - $(use_enable pcntl) - $(use_enable phar) - $(use_enable pdo) - $(use_enable opcache) - $(use_with postgres pgsql "${EPREFIX}/usr") - $(use_enable posix) - $(use_with spell pspell "${EPREFIX}/usr") - $(use_enable simplexml) - $(use_enable sharedmem shmop) - $(use_with snmp snmp "${EPREFIX}/usr") - $(use_enable soap) - $(use_enable sockets) - $(use_with sodium) - $(use_with sqlite sqlite3) - $(use_enable sysvipc sysvmsg) - $(use_enable sysvipc sysvsem) - $(use_enable sysvipc sysvshm) - $(use_with tidy tidy "${EPREFIX}/usr") - $(use_enable tokenizer) - $(use_enable xml) - $(use_enable xmlreader) - $(use_enable xmlwriter) - $(use_with xmlrpc) - $(use_with xslt xsl) - $(use_with zip) - $(use_with zlib zlib "${EPREFIX}/usr") - $(use_enable debug) - ) - - # DBA support - if use cdb || use berkdb || use flatfile || use gdbm || use inifile \ - || use qdbm || use lmdb || use tokyocabinet ; then - our_conf+=( "--enable-dba" ) - fi - - # DBA drivers support - our_conf+=( - $(use_with cdb) - $(use_with berkdb db4 "${EPREFIX}/usr") - $(use_enable flatfile) - $(use_with gdbm gdbm "${EPREFIX}/usr") - $(use_enable inifile) - $(use_with qdbm qdbm "${EPREFIX}/usr") - $(use_with tokyocabinet tcadb "${EPREFIX}/usr") - $(use_with lmdb lmdb "${EPREFIX}/usr") - ) - - # Support for the GD graphics library - our_conf+=( - $(use_with truetype freetype) - $(use_enable cjk gd-jis-conv) - $(use_with gd jpeg) - $(use_with xpm) - $(use_with webp) - ) - # enable gd last, so configure can pick up the previous settings - our_conf+=( $(use_enable gd) ) - - # IMAP support - if use imap ; then - our_conf+=( - $(use_with imap imap "${EPREFIX}/usr") - $(use_with ssl imap-ssl "${EPREFIX}/usr") - ) - fi - - # LDAP support - if use ldap ; then - our_conf+=( - $(use_with ldap ldap "${EPREFIX}/usr") - $(use_with ldap-sasl) - ) - fi - - # MySQL support - local mysqllib="mysqlnd" - local mysqlilib="mysqlnd" - - our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") ) - - local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock" - if use mysql || use mysqli ; then - our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") ) - fi - - # ODBC support - if use odbc && use iodbc ; then - our_conf+=( - --without-unixODBC - --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") - ) - elif use odbc ; then - our_conf+=( - --with-unixODBC="${EPREFIX}/usr" - --without-iodbc - $(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr") - ) - else - our_conf+=( - --without-unixODBC - --without-iodbc - --without-pdo-odbc - ) - fi - - # Oracle support - our_conf+=( $(use_with oci8-instant-client oci8) ) - - # PDO support - if use pdo ; then - our_conf+=( - $(use_with mssql pdo-dblib "${EPREFIX}/usr") - $(use_with mysql pdo-mysql "${mysqllib}") - $(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 - - # readline/libedit support - our_conf+=( - $(use_with readline readline "${EPREFIX}/usr") - $(use_with libedit) - ) - - # Session support - if use session ; then - our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") ) - else - our_conf+=( $(use_enable session) ) - fi - - # Use pic for shared modules such as apache2's mod_php - our_conf+=( --with-pic ) - - # we use the system copy of pcre - # --with-external-pcre affects ext/pcre - our_conf+=( - --with-external-pcre - $(use_with jit pcre-jit) - ) - - # Catch CFLAGS problems - # Fixes bug #14067. - # Changed order to run it in reverse for bug #32022 and #12021. - replace-cpu-flags "k6*" "i586" - - # Cache the ./configure test results between SAPIs. - our_conf+=( --cache-file="${T}/config.cache" ) - - # Support user-passed configuration parameters - our_conf+=( ${EXTRA_ECONF:-} ) - - # Support the Apache2 extras, they must be set globally for all - # SAPIs to work correctly, especially for external PHP extensions - - local one_sapi - local sapi - mkdir -p "${WORKDIR}/sapis-build" || die - for one_sapi in $SAPIS ; do - use "${one_sapi}" || continue - php_set_ini_dir "${one_sapi}" - - # The BUILD_DIR variable is used to determine where to output - # the files that autotools creates. This was all originally - # based on the autotools-utils eclass. - BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}" - cp -a "${S}" "${BUILD_DIR}" || die - cd "${BUILD_DIR}" || die - - local sapi_conf=( - --with-config-file-path="${PHP_INI_DIR}" - --with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}" - ) - - for sapi in $SAPIS ; do - case "$sapi" in - cli|cgi|embed|fpm|phpdbg) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( "--enable-${sapi}" ) - if [[ "fpm" == "${sapi}" ]] ; then - sapi_conf+=( - $(use_with acl fpm-acl) - $(use_with systemd fpm-systemd) - ) - fi - else - sapi_conf+=( "--disable-${sapi}" ) - fi - ;; - - apache2) - if [[ "${one_sapi}" == "${sapi}" ]] ; then - sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" ) - else - sapi_conf+=( --without-apxs2 ) - fi - ;; - esac - done - - # Construct the $myeconfargs array by concatenating $our_conf - # (the common args) and $sapi_conf (the SAPI-specific args). - local myeconfargs=( "${our_conf[@]}" ) - myeconfargs+=( "${sapi_conf[@]}" ) - - pushd "${BUILD_DIR}" > /dev/null || die - econf "${myeconfargs[@]}" - popd > /dev/null || die - done -} - -src_compile() { - # snmp seems to run during src_compile, too (bug #324739) - addpredict /usr/share/snmp/mibs/.index #nowarn - addpredict /var/lib/net-snmp/mib_indexes #nowarn - - local sapi - for sapi in ${SAPIS} ; do - if use "${sapi}"; then - cd "${WORKDIR}/sapis-build/$sapi" || \ - die "Failed to change dir to ${WORKDIR}/sapis-build/$1" - emake - fi - done -} - -src_install() { - # see bug #324739 for what happens when we don't have that - addpredict /usr/share/snmp/mibs/.index #nowarn - - # grab the first SAPI that got built and install common files from there - local first_sapi="", sapi="" - for sapi in $SAPIS ; do - if use $sapi ; then - first_sapi=$sapi - break - fi - done - - # Makefile forgets to create this before trying to write to it... - dodir "${PHP_DESTDIR#${EPREFIX}}/bin" - - # Install php environment (without any sapis) - cd "${WORKDIR}/sapis-build/$first_sapi" || die - emake INSTALL_ROOT="${D}" \ - install-build install-headers install-programs - - local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)" - - # Create the directory where we'll put version-specific php scripts - keepdir "/usr/share/php${PHP_MV}" - - local file="" - local sapi_list="" - - for sapi in ${SAPIS}; do - if use "${sapi}" ; then - einfo "Installing SAPI: ${sapi}" - cd "${WORKDIR}/sapis-build/${sapi}" || die - - if [[ "${sapi}" == "apache2" ]] ; then - # We're specifically not using emake install-sapi as libtool - # may cause unnecessary relink failures (see bug #351266) - insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/" - newins ".libs/libphp${PHP_MV}$(get_libname)" \ - "libphp${PHP_MV}$(get_libname)" - keepdir "/usr/$(get_libdir)/apache2/modules" - else - # needed each time, php_install_ini would reset it - local dest="${PHP_DESTDIR#${EPREFIX}}" - into "${dest}" - case "$sapi" in - cli) - source="sapi/cli/php" - # Install the "phar" archive utility. - if use phar ; then - emake INSTALL_ROOT="${D}" install-pharcmd - dosym "..${dest#/usr}/bin/phar" "/usr/bin/phar${SLOT}" - fi - ;; - cgi) - source="sapi/cgi/php-cgi" - ;; - fpm) - source="sapi/fpm/php-fpm" - ;; - embed) - source="libs/libphp${PHP_MV}$(get_libname)" - ;; - phpdbg) - source="sapi/phpdbg/phpdbg" - ;; - *) - die "unhandled sapi in src_install" - ;; - esac - - if [[ "${source}" == *"$(get_libname)" ]]; then - dolib.so "${source}" - else - dobin "${source}" - local name="$(basename ${source})" - dosym "..${dest#/usr}/bin/${name}" "/usr/bin/${name}${SLOT}" - fi - fi - - php_install_ini "${sapi}" - - # construct correct SAPI string for php-config - # thanks to ferringb for the bash voodoo - if [[ "${sapi}" == "apache2" ]]; then - sapi_list="${sapi_list:+${sapi_list} }apache2handler" - else - sapi_list="${sapi_list:+${sapi_list} }${sapi}" - fi - fi - done - - # Installing opcache module - if use opcache ; then - into "${PHP_DESTDIR#${EPREFIX}}" - dolib.so "modules/opcache$(get_libname)" - fi - - # Install env.d files - newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}" - sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die - - # set php-config variable correctly (bug #278439) - sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \ - "${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die - - if use fpm ; then - if use systemd; then - systemd_newunit "${FILESDIR}/php-fpm_at.service" \ - "php-fpm@${SLOT}.service" - else - systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \ - "php-fpm@${SLOT}.service" - fi - fi -} - -src_test() { - echo ">>> Test phase [test]: ${CATEGORY}/${PF}" - PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php" - if [[ ! -x "${PHP_BIN}" ]] ; then - ewarn "Test phase requires USE=cli, skipping" - return - else - export TEST_PHP_EXECUTABLE="${PHP_BIN}" - fi - - if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then - export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" - fi - - if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then - export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" - fi - - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ - "session.save_path=${T}" \ - "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ - "session.save_path=${T}" - - for name in ${EXPECTED_TEST_FAILURES}; do - mv "${name}.out" "${name}.out.orig" 2>/dev/null || die - done - - local failed="$(find -name '*.out')" - if [[ ${failed} != "" ]] ; then - ewarn "The following test cases failed unexpectedly:" - for name in ${failed}; do - ewarn " ${name/.out/}" - done - else - einfo "No unexpected test failures, all fine" - fi - - if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then - local passed="" - for name in ${EXPECTED_TEST_FAILURES}; do - [[ -f "${name}.diff" ]] && continue - passed="${passed} ${name}" - done - if [[ ${passed} != "" ]] ; then - einfo "The following test cases passed unexpectedly:" - for name in ${passed}; do - ewarn " ${passed}" - done - else - einfo "None of the known-to-fail tests passed, all fine" - fi - fi -} - -pkg_postinst() { - # Output some general info to the user - if use apache2 ; then - elog - elog "To enable PHP in apache, you will need to add \"-D PHP\" to" - elog "your apache2 command. OpenRC users can append that string to" - elog "APACHE2_OPTS in /etc/conf.d/apache2." - elog - elog "The apache module configuration file 70_mod_php.conf is" - elog "provided (and maintained) by eselect-php." - elog - fi - - # Create the symlinks for php - local m - for m in ${SAPIS}; do - [[ ${m} == 'embed' ]] && continue; - if use $m ; then - local ci=$(eselect php show $m) - if [[ -z $ci ]]; then - eselect php set $m php${SLOT} || die - einfo "Switched ${m} to use php:${SLOT}" - einfo - elif [[ $ci != "php${SLOT}" ]] ; then - elog "To switch $m to use php:${SLOT}, run" - elog " eselect php set $m php${SLOT}" - elog - fi - fi - done - - # Remove dead symlinks for SAPIs that were just disabled. For - # example, if the user has the cgi SAPI enabled, then he has an - # eselect-php symlink for it. If he later reinstalls PHP with - # USE="-cgi", that symlink will break. This call to eselect is - # supposed to remove that dead link per bug 572436. - eselect php cleanup || die - - if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then - elog "To build extensions for this version of PHP, you will need to" - elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable." - elog - fi - - # Warn about the removal of PHP_INI_VERSION if the user has it set. - if [[ -n "${PHP_INI_VERSION}" ]]; then - ewarn 'The PHP_INI_VERSION variable has been phased out. You may' - ewarn 'remove it from your configuration at your convenience. See' - ewarn - ewarn ' https://bugs.gentoo.org/611214' - ewarn - ewarn 'for more information.' - fi - - elog "For details on how version slotting works, please see" - elog "the wiki:" - elog - elog " https://wiki.gentoo.org/wiki/PHP" - elog -} - -pkg_postrm() { - # This serves two purposes. First, if we have just removed the last - # installed version of PHP, then this will remove any dead symlinks - # belonging to eselect-php. Second, if a user upgrades slots from - # (say) 5.6 to 7.0 and depcleans the old slot, then this will update - # his existing symlinks to point to the new 7.0 installation. The - # latter is bug 432962. - # - # Note: the eselect-php package may not be installed at this point, - # so we can't die() if this command fails. - eselect php cleanup -} diff --git a/dev-lang/php/php-7.4.25.ebuild b/dev-lang/php/php-7.4.28.ebuild index 2cc434eedb4d..fc016b9cc5bb 100644 --- a/dev-lang/php/php-7.4.25.ebuild +++ b/dev-lang/php/php-7.4.28.ebuild @@ -146,7 +146,7 @@ PHP_MV="$(ver_cut 1)" PATCHES=( "${FILESDIR}"/php-iodbc-header-location.patch - "${FILESDIR}/php-icu-70.patch" + "${FILESDIR}"/bug81656-gcc-11.patch ) php_install_ini() { diff --git a/dev-lang/php/php-8.0.15.ebuild b/dev-lang/php/php-8.0.16.ebuild index 76be376118a8..385f80f7b261 100644 --- a/dev-lang/php/php-8.0.15.ebuild +++ b/dev-lang/php/php-8.0.16.ebuild @@ -21,7 +21,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" diff --git a/dev-lang/php/php-8.0.14.ebuild b/dev-lang/php/php-8.0.17.ebuild index 76be376118a8..84b051ff0226 100644 --- a/dev-lang/php/php-8.0.14.ebuild +++ b/dev-lang/php/php-8.0.17.ebuild @@ -647,7 +647,7 @@ src_test() { export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" fi - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ "session.save_path=${T}" \ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ "session.save_path=${T}" diff --git a/dev-lang/php/php-8.1.2.ebuild b/dev-lang/php/php-8.1.3.ebuild index 423e9f806689..423e9f806689 100644 --- a/dev-lang/php/php-8.1.2.ebuild +++ b/dev-lang/php/php-8.1.3.ebuild diff --git a/dev-lang/php/php-8.0.12.ebuild b/dev-lang/php/php-8.1.4.ebuild index 44a21e552771..b92b7857736a 100644 --- a/dev-lang/php/php-8.0.12.ebuild +++ b/dev-lang/php/php-8.1.4.ebuild @@ -1,13 +1,13 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="7" +EAPI="8" WANT_AUTOMAKE="none" inherit flag-o-matic systemd autotools -MY_PV=${PV/_rc/rc} +MY_PV=${PV/_rc/RC} DESCRIPTION="The PHP language runtime engine" HOMEPAGE="https://www.php.net/" SRC_URI="https://www.php.net/distributions/${P}.tar.xz" @@ -21,7 +21,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" S="${WORKDIR}/${PN}-${MY_PV}" @@ -113,7 +113,7 @@ COMMON_DEPEND=" sodium? ( dev-libs/libsodium:=[-minimal] ) spell? ( >=app-text/aspell-0.50 ) sqlite? ( >=dev-db/sqlite-3.7.6.3 ) - ssl? ( >=dev-libs/openssl-1.0.1:0= ) + ssl? ( >=dev-libs/openssl-1.0.2:0= ) tidy? ( app-text/htmltidy ) tokyocabinet? ( dev-db/tokyocabinet ) truetype? ( =media-libs/freetype-2* ) @@ -126,6 +126,8 @@ COMMON_DEPEND=" zlib? ( >=sys-libs/zlib-1.2.0.4:0= ) " +IDEPEND=">=app-eselect/eselect-php-0.9.7[apache2?,fpm?]" + RDEPEND="${COMMON_DEPEND} virtual/mta fpm? ( @@ -145,8 +147,6 @@ PHP_MV="$(ver_cut 1)" PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" - "${FILESDIR}/php80-firebird-warnings.patch" - "${FILESDIR}/php-icu-70.patch" ) php_install_ini() { @@ -222,6 +222,20 @@ src_prepare() { configure main/php_config.h.in || die eautoconf --force eautoheader + + # Remove false positive test failures + # stream_isatty fails due to portage redirects + # curl tests here fail for network sandbox issues + # session tests here fail because we set the session directory to $T + rm tests/output/stream_isatty_err.phpt \ + tests/output/stream_isatty_out-err.phpt \ + tests/output/stream_isatty_out.phpt \ + ext/curl/tests/bug76675.phpt \ + ext/curl/tests/bug77535.phpt \ + ext/curl/tests/curl_error_basic.phpt \ + ext/session/tests/bug74514.phpt \ + ext/session/tests/bug74936.phpt || die + } src_configure() { @@ -634,7 +648,7 @@ src_test() { export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" fi - REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ + SKIP_ONLINE_TESTS=1 REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \ "session.save_path=${T}" \ "${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \ "session.save_path=${T}" diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 580e76ebaaee..fec2486708c6 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -8,41 +8,67 @@ DIST Python-3.10.1.tar.xz 18775460 BLAKE2B d2dbf875ef5f9cee6dfd66e2d2489b884813c DIST Python-3.10.1.tar.xz.asc 833 BLAKE2B a5678c522b486a246993616ee36ddb3f74a093fb5729d8d2da3cfc4de5c3e1fcf3f4f55504b7bbf929050204d22a89ff3c7750b599034a3d5c941666f54fcad4 SHA512 645d5f40e6e80a590923a48763f20dea7da3f3eea5825bb79e08618d81d1b8eee0ddee2b57503321a584280536e0671e4913e5ad450568fbbb44509c01d3907d DIST Python-3.10.2.tar.xz 18780936 BLAKE2B ce202f7b45858b88ffdefe8217422fa9dccccc58000c6f3d40c9791d28ab58f67fa033b5102cacaf0ccec5524510becec9870c9bf5238b78203a0a354e8f526c SHA512 215a7159face84788fe547c1e2689b8d0ae510275157cf01636bef2902d0ff465f844eb0328c9f39fd1cd03a1d1736d4cf258992f2788e492a801a372032c08b DIST Python-3.10.2.tar.xz.asc 833 BLAKE2B ff3b1f8c1c62e75a00ac70bbe3a2e87406f0f44fba8bfa1ea5c0d8b8175a8720af62c57664bf50fa5f7ec7caeeb2669c17917e457daf43755f1583e92eb410ba SHA512 086aeaa999d3005cc1f9057d90230c7a9e65d80f436febf16b0e8ba6f49645870ef21170ca1af50c8e2f51e6f46338cfad73a2d91320ad4a3315a2ae87eb70b4 -DIST Python-3.11.0a4.tar.xz 18805548 BLAKE2B 3315ee4392c3a7312273c705779415f5456e3d19d5e7b4008a67b4ea68a9d8aac2ecb06524b856a3522723f628ff687b01f2a5a48a04c24b4883ba357c30d685 SHA512 721ed64f3fde360e9eae6d8f8a046091c7c08f14c860572ac868132dffa4ae0a46f3f57a3872fcc096551a66e4fa3b1c87f77baa52d8524da026bbdaa74837ec -DIST Python-3.11.0a4.tar.xz.asc 833 BLAKE2B fd12a6381eb137ef99ed508f8a704b4794d554d8e62a3febd8f87f226ad86efb1f5e5607d088fdba33ee2215118bb05e2357bad5ceba5159a76821fc74b079db SHA512 21e56475186c3e6a029a51799cf8c86ac74d3810b5aa76e4b4bc063bacb2624b21b6ec3450dd9f91722162e57390617efb521351b11d262d6583655081277611 +DIST Python-3.10.3.tar.xz 19343528 BLAKE2B 5234f14d3dbc1b7c43da65fbc242218c1f94601d13ca84419cd9b29eab22ab411b7cd043ebaabc2b2aa1856e5e91c3ecc42eaaf333f92b8e133844e09d515bdf SHA512 5020407798ebaae6002b8de29475c1064a32f1527a0e4ec6fe7fcf076b4ea3ef0ab4b4a7864a6081cc8dd01dd545123198b11cc8dd1259c670394b7d81f35a86 +DIST Python-3.10.3.tar.xz.asc 833 BLAKE2B 03117464582146b78748ba129a10b7481607dd9dc7cdd38ced9f20e96c8c01722852941b6b7b58f34fd42b3709fc8bd31b7ba97d89235ce61d8f0ac89106d69b SHA512 ddbe55225fcdd5d36f6be4bb802ea8fb9c5e8cf1b573b76501cc0999bcbfb2355f5bf7bbe10bf7cb209e54f37ed0789b4b936920b208b2afc18597bab33f2f51 +DIST Python-3.11.0a6.tar.xz 18754036 BLAKE2B af19b9f548891fa9c89899f83ea05579a0fd30d030575dfbc33f28d26ec7c97081d978462760bbf3a160ff2ff4b04127983c7b6a62062587e630eca7bafe6981 SHA512 867f7aabe10977ccf31bcfd6968fd8bb880cf5c3671bb70364a9b37296dae7ab017624446c64c12f7753b59c1ebda9e494bed5f946c5586b54fd86b0289d04ea +DIST Python-3.11.0a6.tar.xz.asc 833 BLAKE2B 30b26fcc60d77f189c8b6c7e87306f752de88366700a899f9a6a90e2a74c5a5259592a350eb812a338fd823994c066d0354285ba54a9e9421f400c9cf1c41b33 SHA512 c29bef3fa59ef304f420a18657fe3448211e4f742cc119937335aaad36b9898d965d84fc6ea8a2f9f27865e237cc929b9843663292c44dd7b3ae329aa3fab1e9 DIST Python-3.6.15.tar.xz 17223796 BLAKE2B c139c6f93ea70ad898d5626dfa964280a14de9676f0d9d55668ad91618b1ba330874cbba8d6526a87e53b585ff34e3bf242613ca3fb17ee60f362a9676306c7d SHA512 f1894d704c91669d94ec83b5631288bf1e0c73ddcf33cea0977575f262eb672caebc8ac00e34e9b99c321c19cc9a71d6081fa957bb8e23cf5bfba50f345145ef DIST Python-3.6.15.tar.xz.asc 833 BLAKE2B c910f2367ed947ff6b33380bf8fee318c65d6e5fb0c4a847fd8f2761bbae81dec07b729b31eca060916264b6a0ccf5c52ca72181b3db79751df7697a426a8939 SHA512 cdc93e5d8fb2b5b48a1560a55bba4680adea10e35c8c38b4c51cfd2f6ba54ab2a5d4e5f71b78b889f98cf8ad9d598e0f4e019d50cc16f7db57f9d292a860fcfd DIST Python-3.7.12.tar.xz 17401916 BLAKE2B f01b5cc54cd0ffe2e8756767c624dda8d2fbf24e90f22a16b5a406dad995ef218613db10f0b3fb2da0ece50ccb02c8a8e007ceb0842ce9e93ee9df7348ef1528 SHA512 e1a5942908c1d1469c0ab129fb4287d4ba6eb2a030e88fd71c043fe187a1bc86c00878dab29147199617a361a0c60d9e720fe3bc58bc7bc4cc8ec4bb50c7ea2a DIST Python-3.7.12.tar.xz.asc 833 BLAKE2B 587fcf019f4b07b811834d7279b9861eb709731a431be9cbe8f5b868ac72b6d9a4de8b24e3fefd6b339813299514a0ac12b5f627acd04c185ff8dea22a044723 SHA512 a47003dd5c784eca4e3c34dc8705d1171043e060f3a97e4dd63ce4aec2bceac56d7e808924d63b2a38f9a020bf799cf29e5055fb444b9b2c3f03976d47122355 +DIST Python-3.7.13.tar.xz 18027980 BLAKE2B e5ea14e3b080e7a126a4faeaad9287a7b5cb6be138a0423b4dbfd1c3b07e452ed99aeb818380ab02e9967673b0855a4a81cec1fa5b9b919f8a4e45da70e9df3a SHA512 e95366b68c1bc1dc1cfb2d956f1f49c5d0f620b4780d03002b3c321d2788108eb4e51d224cfa6bcecf7d780e9024ab0ef88b422d6d25e983dbc56b2a89b7dce9 +DIST Python-3.7.13.tar.xz.asc 833 BLAKE2B 1e09a904c07951ae10fc039935c3974dbe2d0a51fed40c6830f321e42f7ddab32a17afe1b35319982160e0fed47b1ff7663d0f18d0b4ae8e81a34298394462a9 SHA512 35c35bd386841fde4f7d614de84cdc05d8ba1377b224bbcd4d6de18a1c87969b23e1583ca9f4e673e0340350c7f59c80986f8ccf41ef573b6585320c90fde19b DIST Python-3.8.12.tar.xz 18443568 BLAKE2B 73413aee7a31347ac4342718a54d23d4036220262c4cd41cd50b06c3b1698d52d11cf7ac2c781b919f2cdb0dcb6397d623c463dcdcd1edca99abbbce239a3c6e SHA512 2f93fe5ff83f470c7b6a1b7f29f499a2a010fabd649e9fe65ad3fbfa21b6e1966e77c9b7ac012d978159bc3fe63fec2d64bc6982fc2ee1714d3fa0e47631f279 DIST Python-3.8.12.tar.xz.asc 833 BLAKE2B 33f59aa667555832ee510d2a7295079f34a3983dfa84beab20b33ec691ea3eecfcc4a62591fe233fc30622d0236ee69a3d41b8922ee2f4c632df3523d565c3ec SHA512 ef552b716a721f410abb14387594c8b0ddc65ce4b8a6ae6bf920c1db2ea9ddf6bbf547e93d3716495ae31848eb1049aae4257016e888393681bbfb6f6529bc12 +DIST Python-3.8.13.tar.xz 19023016 BLAKE2B d3cb8624496e56d93d34f2aa5082746869a99210197529bc19e6a9d265f4ce246e0e83a3528a7602a28aac8855bf84e6bf6495b85e9202fcf04ef90600cb5e43 SHA512 5c732b5d21b189b99a0e9ccd3ae59466bed60a930d5d3f437a262d38f0797b776cecbf12a1852eaebcfb638a6f2e28e471cc2ebf94237cc728144be21842cb81 +DIST Python-3.8.13.tar.xz.asc 833 BLAKE2B 918894777e1a783f2a7c7958a808610631cb7a6039df84675158e8d2fd66782f29921d44ab9b4625c4ca3821852e0d0e0005163b086c7d0c3d617e3a76cb7033 SHA512 6683c4ae6cf20a97a29165f96b9f5dd09d618892583650d803aa677240695968dfe344294fc33db68fd4669c82021afcc29a1f6afe49915be51fae281eeeedbe DIST Python-3.9.10.tar.xz 19154136 BLAKE2B 4acd2dc26506592c776f9ed9fac22e5a8741ab700ec11aca93566425ab2a957392e6284f0818198e20088463c047502a07d3f5dadc8ed8689c316f823fb2d444 SHA512 09cb942f84bf362df88999ffa6faf89b4ad12302e67cda4a11547828ebe410c7c93a3dc96cd66fd9c5c7d9a1abe5b8e259e7ec47c10273b42d212270aca5ecba DIST Python-3.9.10.tar.xz.asc 833 BLAKE2B ab6a514bc4ac5032f5209344d234491063bc3dc1ef9c3e4b66951deaff042e25bc830a301cff2a1b674ef4025526001f6e73c37b65d9d102da247660a419e2f7 SHA512 d9fed5b39100b81835085d712453516d309b0dddc1524d578cb63c95cd1e2392882702111dd3cb0ebf58c98b94ec04838c89c57f4a7a649c585f7ba5eef70e5e +DIST Python-3.9.11.tar.xz 19724780 BLAKE2B 25b017e36b22235790633eb1a88f52092225252f39963fc365c1ea863f5b5d98a796bceb01e5e34c02d9690f2a664959766b214b8c13350d6e22839218d0c097 SHA512 804e6e6b31922378f07f290023f6efc870c6fd3010204c499c2b375880f6e6ec0f72ce96a8fff81956f6fa3bea2123df2138ef0fda23a3d5d3cf757174a930c3 +DIST Python-3.9.11.tar.xz.asc 833 BLAKE2B c60c291f3dad39c842d16717239006f3ee703eaa586d95ea02ba4486d20a1e82065bbaf7af6f7cf6a04799229359791a72834096b6ce5f5d2b583ba5962d441b SHA512 a84bbfa68ec1c0e45bbd64af4481be7d68885021287731c69346a3cb25c9bf607be84dd72af2d3a6fbeabbde64975f37c4bb4f61274e72b92b4277fa48543e52 DIST Python-3.9.9.tar.xz 19144372 BLAKE2B 3a144ca5e4b11b2fd09d05a4a40ddf3f622c077338602c519b21ea827c96e0f14ab97563c0a9d306ae4a5c3f44753573a07474dc084fb364d24b2128bb378ddd SHA512 0ab29fb9a7ecb808bd08d84d28908d5a934e0f021853da0f7a9c94670eb30c8dbbc233d461afdb3995b0de59275ef7e1de43e82d7f848802cbd6e6e50b7b25a6 DIST Python-3.9.9.tar.xz.asc 833 BLAKE2B 41d05ee1ec256f0cab4e9d3540877783745f0f30e3f1177d01096b352341a90893c5c9523926bed8176bd304cbb1fd6619be3b4e375103874eac5e5ebc113135 SHA512 84fb739c60216ab9a7a487a0ec4039a7e85c7684ef1f71d8b3bc415ff2ae284f79474103ae05385502bc2510401f8cfb33d84dccf5d0ea9a0dd62528519d935f -DIST python-gentoo-patches-2.7.18_p13.tar.xz 33296 BLAKE2B 91b711458aff4f6337ee1b34aff58d7edda6725644a64c9320076a1e04c816729ed163d82333cfe4dfef379a9ad5ef50ba00abdbbfed4503b0f92c8f0b7ca683 SHA512 97f3657a4a95e8492aa710801b974a56e6dd4636e475aea45cbbe76e7ae32d00f07b05769887f05e49cb0df8584ac9499a7ce842bad77f837a7c869f9b769b07 +DIST python-gentoo-patches-2.7.18_p14.tar.xz 34292 BLAKE2B 654cefb34e3ff61b2a212b83ec1344ebace160aa3971a4a61212b637b83083864e1bdad2b78b166ba0b2302d145f3051b71b3e6b581b064f7f09353acdb4e4b1 SHA512 d6551a045ade16ef523a29451cc07499c29aca92548e46c21bcd6b3a3549f5a0f1f7e420ac326e7ac2e0158fb5490429a9d28994cbfd6c8b5b652788612bac26 +DIST python-gentoo-patches-2.7.18_p15.tar.xz 34956 BLAKE2B d173f276dd9c0ce31004dcc55a0d18e9ce25a47683c2df3c4dd62e967dfbbb35be59a2f08cf20f30a19475a8a2344dd95b17400eafa88b5fdbe9270a12ccbf32 SHA512 d9386808265f978808e5c0ffd384cefe54fb0e05aeccfd394167d5227d9cd66e25c8e93c54914762b2cfc3c2dd851b26a7a84d62634c6aa8a0798aacbb7ac25f DIST python-gentoo-patches-3.10.0_p1.tar.xz 10068 BLAKE2B 1c9817b449831559f0a0b722c02a5f55d94b3dfde98e5882c1403fe24a4addf7074ab39c09b91cff6fd7ace2e4b6e8ed899d9a0b9ffd6612ce315c4c192bd309 SHA512 39aa41dbf17b6dc5255491c75031a3dae6962b44125e426dbfdce365a6533c5dae9856b1fff8016a189124b7cff72d2665ce99da344c2f9dff005ba685e8c2c4 DIST python-gentoo-patches-3.10.1.tar.xz 8580 BLAKE2B 58d165c6c21a6736787d77d5bbeb770adff7f3729a47f62d0b7c4f0982c15c6a50b326be33638f3fca5574936cbce35d26e9ce0868faa3b5a3412b30586b066a SHA512 f86adf4e5195b1eb13cedbf24c1956964ce56745f0524a62b1e7c6baf74c6f1802e05cf4c08519b147579945c0526ff0a0ffc01cfb4372c0ec4f403b25e81012 DIST python-gentoo-patches-3.10.2.tar.xz 8584 BLAKE2B 4328b21d7b8b0e39d0d6761c3a52cb5369aff7dfa890a1496fe5c01720bd9d8ef38d915188ad6079158104f8acf5847e220d58c092a9682615aa366dce9f20d2 SHA512 063c53022525cea988a9a27643bf0b2b5e674259de487826ee3b3cbca50c369857908d53cee9be59adf09db7ac0dcaed65639c40204ff4519b812b215de588a6 -DIST python-gentoo-patches-3.11.0a4.tar.xz 3652 BLAKE2B 19beab7c85e93414f392f2fda89a5ec0fc0a8339bf3804cb88c349cbb57b2c2cd6338d59307a950abe387958cbe7d3b958a73004b5fc51788235660aed3dea6a SHA512 97745cc7dd9c0849f1e5cc577322878f831e7af0b45ef6d23e0cee1b02879386bbf22d84ff73b8a5f70f2b193788f3dff003ddc248bd8ea19779c371fe706bdc +DIST python-gentoo-patches-3.10.2_p1.tar.xz 9860 BLAKE2B 6343b9fa1af2763501fc67674f0ebcec9bffa340edd741c97f54b290e91056141230264221b8746447da553ced7081156d83517330b7bb3ac027d9f72fa0d62a SHA512 7c8666bf47cda7647d330fff6070b9d0410dc21dc7114ff232bdbb5e5f993c02b9fc373919bae73391a2d28a8bbe096efc071f8273f2338758876a5f50b28d30 +DIST python-gentoo-patches-3.10.3.tar.xz 8584 BLAKE2B 4287b33e696a1c350fef2ef34843353a2f4ad20feed2e9d7e05d727ec4f18105f57c21e7ab73941e14cc2ace27e8ac7f5e96ce2893b626c8e75cac52760f0935 SHA512 515025b13063eaee71738b8e1f071cd9930cf516e90c1c652adc6f8bee356598d152cb3337a6633500cda4228a5ddc2819f1db0cdb2524a479a0bca69ca557cb +DIST python-gentoo-patches-3.11.0a6.tar.xz 3676 BLAKE2B 6fa21569fc8249f76d0eb8d4c3347e87aca70a77e2fc4887de7c51ac9866734bb29cc6b82a17f55ada74ccd03f9918ee89ef273b8a7fbbe86c5987eb8b1754fd SHA512 c61d6accef58722efe6c7f4266bda48a74417a68e27ba75b27fe7eb406aeec7a0e0f7c0f5a2bff9879f807a2ef11608aeaff796e62d907441596455c756d14a7 DIST python-gentoo-patches-3.6.15.tar.xz 15300 BLAKE2B f49fd96f6ad1a1c94fea6b83acd229a81754b86061e243044ead4b9a9d5122a2e43b270b68722c359c084c05a566a3ad70aa46588ab7a005ee560ee118b92b8b SHA512 cc33491a33f3f1d990cf494d53b91b74db761142e8aebe1bd4b128ef10a268ff945e5ba08daad39cee095612a8e52265d6988873ecf9c073377cbbc10735aa39 DIST python-gentoo-patches-3.7.12_p1.tar.xz 19112 BLAKE2B e9964244af3db544dd6e96d85ca4bc24d7131b48eda85df5bafa3fb36474a024cecbbf4b27324e1f35f76ae6a1aed31dd7896e831b79b574b45a4371afcc7e5b SHA512 9ec996c2904f99bd6651ed1b700eabd91f2b82b1e9e0f3d9572243886a9c7139bf8ac2af04169485d3ca6339e1a87044cba203f6f0aee9609d2a1d53c812548d +DIST python-gentoo-patches-3.7.12_p2.tar.xz 19604 BLAKE2B bd3b88d7ad5b73219d83fb1cd35190186a0c3e451a2d0764cfbfcffbb7323a1f01376d94e5fa01a48b9fae35bd5c9e3b61052020a8190816fcbb26bde0f4df94 SHA512 3c906ccabfcedf51c115706349389b7d5a3a0325713b27ceca638fb0f13558fad6cd1f9a3e2ad83c0d82586b30399124aefffc959ae66616a7cf8b30dba8b599 +DIST python-gentoo-patches-3.7.13.tar.xz 18344 BLAKE2B 038db3d4e08f7af41811af0073b9c970171a26ffdf8ca116646f285101cc2299372f264e89183f136b3a56c4f756f39518ef6083c3c13baf409034706212fd22 SHA512 7f0d95e0a558aa4171589b887121e09c74679fc99089274e38c35188cd77e7fd6c53231d052455d752fab0c7dcef86a0efc4b8875a9e2a6c295907c271c6e822 DIST python-gentoo-patches-3.8.12_p1.tar.xz 16632 BLAKE2B cce7a41d020af1ffc55a01ef67b20bcb16c68adbccc1e44ef166d1707e817ed6c3bae70f84c56553f27bca449015e273014c0be73bc2f9b4e25844ddce385486 SHA512 4621727c2e9cc1c5519e021210e16a97e7167ea831445dfdd07f5b0ed642b5919834244111708a971ce098b10b439797e1c76827eccab803f801052c671f1ae6 +DIST python-gentoo-patches-3.8.12_p2.tar.xz 17224 BLAKE2B 1287a7fe2e55a5a24872cc9849d2339fbc453ed9a02a276afef9aecb451f97104cbc926d10dc99fdf423dbe49987b7a56c548120e204088b59e5ca710c146a66 SHA512 c2ebea7a74fe2d2d9af5b3902a0cd8542247f2e3a310b1e91be3ed7f5bd1d51a77f013f7c3047aef8c2762b740cb9daeb30fd4680dc3bbe1b61dc095ebb1a6ac +DIST python-gentoo-patches-3.8.13.tar.xz 16004 BLAKE2B 5c0c6c9263570a467391e60c324d1dbc1e50ffda9cad1e204df124441b593146f18e5f1529eb7d385b35c5f4b9e597807971b6b66f7f8eef156ad87c9ad32743 SHA512 4ceb831e2d62bd73909b53a3b553b2cd73d08bcf2a1c92b47eaeb1221d40daabcaed14977265bcb265df00b6bf363dbebbd61a62dca4bf6ef40c6b911e980597 DIST python-gentoo-patches-3.9.10.tar.xz 12844 BLAKE2B f342fbdd1a580787e2d699ded9dc5307f5b610303c6869aa8d0fa4d9e60acd997dc12ae96c6de07cdf9ce0a8bfb6e13291d611d4a6a193844049882b5d01d1e5 SHA512 50111552ff82019672d82e5a328e6e9d8ec2a61a957b63a7a49c5de1f1b77be296272f4273c78154667d5a88d82646360d9a411bb8cf451408837413b06d4b23 +DIST python-gentoo-patches-3.9.10_p1.tar.xz 14080 BLAKE2B 7cc21ffc439b82661e151ce7f85e217ce7cbe674296e7f7fc7f9b9215486d2845e8314130d1d378e24a0c2c9a6340055b1e4345426b136c113b7e833c564e903 SHA512 1be7ccf4dbb29d4b19985000baf98e54d77f493069f44381b5a3629b1e5b275755ef5a4736a7490d0bec037ab4be88ca1856d615bca9c759b0995b066dd2dbed +DIST python-gentoo-patches-3.9.11.tar.xz 12844 BLAKE2B de7ffa39e96127949d2b894fe15c8c1345180842791743af14a3728a7c950e877ab7c74f3e72da5518b16ecb2f3ff13e6132740bb067fe43a8359c673befbaf5 SHA512 0507792188587e66d63a70dde17c6aea1c9aab9e40ace3aeb585adbd2c62acf828782312ba7523f7a4ea49ab1125a30c7b091d10fe02874b018f2733fb8e141d DIST python-gentoo-patches-3.9.9.tar.xz 13200 BLAKE2B 672e3b79094cbc791988639a5dde4c9e5622e91bef4310d26838716c65763ca69a12c6afef2f19487f4389974af009896e452c19783b0a491072d13f893af7e9 SHA512 3cd4ddd070ab48d9978e1136d237fc24030fd3ce6704371ce99815702a45d839ee26c7e9552b004661827759edd30222434e4166f9ee16f873ad4783c83f723f -EBUILD python-2.7.18_p13.ebuild 9899 BLAKE2B 89bd80ccd09e15edb4b8be45b620d17f7d220551e25f373cea50e9aa593cf2e42660a54a65f56f46783964a23076e182afd4fe36d709c22cee0e5745be75142d SHA512 4e8916ec74ed0e2921c50a9d7f27e62922fd0c0f52d87b870c3ae36161ac303c0a146ba3a61d0e2ce5b6c2d2f6d5798f696fc750642594a5cad6b396caa626fd +EBUILD python-2.7.18_p14.ebuild 9899 BLAKE2B 89bd80ccd09e15edb4b8be45b620d17f7d220551e25f373cea50e9aa593cf2e42660a54a65f56f46783964a23076e182afd4fe36d709c22cee0e5745be75142d SHA512 4e8916ec74ed0e2921c50a9d7f27e62922fd0c0f52d87b870c3ae36161ac303c0a146ba3a61d0e2ce5b6c2d2f6d5798f696fc750642594a5cad6b396caa626fd +EBUILD python-2.7.18_p15.ebuild 9907 BLAKE2B 948149c8dbd5490907c00e8c9ff617b1d002e5f7694f4274cf4b6c74c7c584da0bda349d2663adb03987c503c33de546d7cbb1bb34254744b702bb846e4cfb77 SHA512 d82b89d3149cc8a3124f6abbe7049d495dfd2eab0fec44d92302c8adddae06b2b0155f3a2e80c07b1ddf4d736c31b0df4f3aafb33e7557b889e4f9f1924951ed EBUILD python-3.10.0_p1-r1.ebuild 10649 BLAKE2B f6c02daec9145c17967964b3c2c5f12fe3549eebd11b939509bb1ebef5e480c121839005ea018e9d06b524f029834e8feaffb6c1b2e5c78aff023bf0a7fa422e SHA512 ed8f377ff9cfe136817c4e71e22e63e290023d9318a1cc85aac4db8fe273a82863a4fb1dce9c954d03aa3314edbc8f44454a187976bb9ff0759fc0642f94c3de EBUILD python-3.10.1-r3.ebuild 11101 BLAKE2B 79eef63d0ae92af7002a860b4c7c1e95e3f6c3d07b15a37222895e8f2008b7d76b86200e4c69b2faa8d684d8dfa81f76880a1ad5c2932a0fadde8c69ebb3a6ce SHA512 647da8d99768c94c290cd7bb5f11505865cd7273c57804e6c90d8a2a1aa321b498966905655c171ecb8c64b975ccb8fa07e3d0926e83249baaa2c18a75708f92 EBUILD python-3.10.2-r1.ebuild 11354 BLAKE2B b007f5139432b40f652de4cdf292b42fc27a8f080c819e248339037e95350ffdccfd99b1b5c0b37c5b2b7f2cf0e5a65f7fd6dd93ee2b86202726b16e7baa157e SHA512 f4a7ee1791ce593432cb5a4b4c8d437bab6458c2a9bf337081c6a51b3ae47c356e61bfd0b14d4522355941a731f65aaff170aeaef8a8f401b450994e78a32b25 EBUILD python-3.10.2.ebuild 11144 BLAKE2B 849484ac56fc4b32e73b17f7343954a897d9d358b7c63362f105afc4497b086cb0d225a0d44cf0b05b71f4e07d471472c47353eb65aef82a06ce483aebf8d804 SHA512 a93edee8c6efd70a9d7057959311f5c8bec32f4aa169d66edbb42674f8ec6aa88accb682fc30968b7775a957326536a2b909fd24612cd2f507f88c7717f179dc -EBUILD python-3.11.0_alpha4.ebuild 11294 BLAKE2B 2fbf2494cfe24cccdeed5e31991209c63454cf9db4948da68c451a15f6bb3c6a7ab8bfccdd70398fe0ff4c24561dd1260c77914f8f29028c33e07335f541d929 SHA512 6060ccd59b8a368ee07bb16eac54a81a11da9c3f490b802285efc302c141466aed35ba415820f592a96505686a18f3bac3a47aa51c3164b9c98490e59fd07f2e +EBUILD python-3.10.2_p1.ebuild 11477 BLAKE2B 46df80f0b47e9d1c2b84128ed840e40ab8b205a8f01500a806f6e90d32d8d765993ec81228db4067d5406fb5fdadb6e6284cd783ddeaab510d7165b7c72b4ce1 SHA512 5136990577beee1b5dd791eaf7ce124baf0a3437a9bb8addc7b8419bc9dfcbeb3c44c88fa84b55e5e0023aef63e32bd110d41843171b23037718b2fac8a259a6 +EBUILD python-3.10.3.ebuild 11778 BLAKE2B ec8bfbcb1d18872a48bed48699d5eb92e796d143bb1a4f0aa31673d507e8e09978b2d2705d8efe11554705bafe08f32683fb65319d9c3420a727d8f3928d898e SHA512 62f6e6f72ce50274f8bb3a4980d5605d65b94524875be16402097e9494a6a6ea2e579c1112df11a8db3d4ac88b6c778f17acbb01cd5089102b11084cffcb3d91 +EBUILD python-3.11.0_alpha6.ebuild 11710 BLAKE2B 770d65ad0b6e6ea2a1dead8d70d3ef0c72ca0f06c713f29e68f618c2038916630ec2e6f5be6d0e3ccfbbfd97099bda01541effa2c851420d568c1cf85194bb1b SHA512 1a6c17321063bfba0d7b7cda8b665e38bfa6ed7e0287727ac8b4fcd21b0eb9da1918f61d69c1abef71686393700bc9fc29375e4967df8c08fe5e241580e9c9c0 EBUILD python-3.6.15-r1.ebuild 9932 BLAKE2B 595a14f19b3f37f473f4d22b0533a4b565f7eda28e493596947957f979748a8b17417949e8b73e395dc78203930a9fdbf669e5ec840537e277e03066488b6373 SHA512 757dc6f2097654a35541ea0e1f434c43b34e3809651ca3a62745261845f3e4e2b940d75154a8e94b73eda482c5f85c3c3bb6b84fc2c1d35b9822545e7c006b23 EBUILD python-3.6.15.ebuild 9714 BLAKE2B ca1cb4650ccf1e564686da9390ff985b92715a3cb3bd628d9fb53bc5a69985bf9d7dd506cef94fc7d4e36c8c9f8d98b8ceffec27c90b15c85bb886e1caf58078 SHA512 386be71366010a967f6ecc145ef3eb72672a5bace83a619a6e04e57f630816d12a151796a0e06ac397954af1e6ee99b546912b202070a9b032c53937a8e89bc6 EBUILD python-3.7.12_p1-r1.ebuild 9827 BLAKE2B 1f156176b78cb8e6a35d94ff05de3e72c82688c1b7b6d298e34c91827f108e0a857f0bca164b69df946ab4f2b06b2da867f9a4d82f90ddca9999ed6f6239a2cf SHA512 e1cd10a819ac96edab70483a5b818a0f5cf94daed74aaffcc726d049338a228ae1dcc795becd2a6f25560e92d07bf1efc5b64428a625168fe19017effacebff1 EBUILD python-3.7.12_p1.ebuild 9609 BLAKE2B d2598e603fe9c2401f96b1c5aaa37bf77ee8905a8c70b4ae7eade2d1bde9e119840cd87de27b9d80319b0a84a1aaafd3536adda705cdc2b6bc65c53697e91872 SHA512 e4592afe10027dee719a026d51b6d3ab9cf6ec21049313c4c43cccdc935affbf1931bd7fd72747b47d0a392b292142371ef7a4699d6f98657bec9318d052c190 +EBUILD python-3.7.12_p2.ebuild 9955 BLAKE2B a71f0975d87d9e04083cf4296c4fc7107b052ca4ed8dee9d568a5f08a4e7fdbfa041c8e7d31dc3ec9799c9f8ff2790dbdb90e329d53db6277f70c9ba8f906e50 SHA512 6329b4e80149a276f023eb103fa6f48db44b4c6dba143f270f731e5096bc98dfe705f4358ec2d15eb363e2ab8ab61fd8420b288209f4505a1ba19ce75ebf5796 +EBUILD python-3.7.13.ebuild 9970 BLAKE2B 9be84de40254fd5a6b673f9a624c3fa2d182f75941c786f41953acd4234d0e0afca2440880543880a2bff1fdef7236ced1ea5e043d2a3638bb5de468b63b09c4 SHA512 9b4c8ecbb334d97fbcd9d91c2b2d4b2c8519eeab2c46eeae632a810ff689cb6567e14dc49b59fbe4344270483a6bd88b3704a8b079aeb06bb47049962fa5352f EBUILD python-3.8.12_p1-r1.ebuild 9938 BLAKE2B af641dd352b65814ec8b54d3d205f89174ac4d1ca11d8c6138c2d00bb1918ef982bbb82a0e15dedbb9ba43a2f9f3b63d853cc49cd0cb399a469b5ca1a6825ec7 SHA512 5c6b45639b13d5cc5fd97aebad52f1ee5832d646857510dc5909e0f0afd7cd0dc848dbf78a7e12838d072c3b036ef93cfe11bee528d42bda43afddad0b1e03db EBUILD python-3.8.12_p1-r2.ebuild 10156 BLAKE2B f7db2d6df56ff646ea8099a6ff2ae5eaf7f87f825b02fd2b3b842f136c9edfe4db3a93e5fdc871060e34ae9bae15cef0120008f0d7e84e49a81f5b65d7bf0f97 SHA512 06277b76d88cfa9cdd071dc8404270faf75a9f5df5c65cc10925d39cbe968ca4406a47d566f5d9dabfdffae56b44d8010dfa97af49b71e78000dd16bd83c92cd +EBUILD python-3.8.12_p2.ebuild 10283 BLAKE2B bf3b58b58d13813cd048b6dbc4373aafa6548a0ea7ecced2d347b3261ca22c52e9011f7245a75c8fa7b2d12d4ec61c7b77979199490f3775345e51fed738f65d SHA512 47fbae10be2fcac1519638b1acc25c41e5ffc774b9b8f14cd93c4132ef24cabaf1b90c9bde21f0d5b0d8ddd1bd27028d3a1875f804ad8c39899e2de675a4aaf4 +EBUILD python-3.8.13.ebuild 10298 BLAKE2B c0a05ec50fa0a8b553185448fa4350deb13f71ae958daeee71da4057a082f9aa705ad41c5276e76bb1c27e304bf6a2a5df462101269a7ec7c2632465ea147f93 SHA512 dc8204fb02f639559dc2b7e0e2801386a04988d1e4068cf99c9bbc79174b0084aca4538382e459ca66b14151017b8f1d48ce05afed85da17591c321313d159d7 EBUILD python-3.9.10-r1.ebuild 11114 BLAKE2B a38807323109748a38c69356c20e43382578dfc3bc2e2bf254e633d44dcdb068b88980f28804e692c6d360b5ff8a9d8f3e800223971bd7591bb414c17b25cf61 SHA512 3596fd5d935ce8408ddb4e5ca05035380aa32d9ea5ff7292f9e579a77df1790cb5f8415871241d0ff5d4aa7676ebf2583954a224f5236fb068507b16a06ea807 EBUILD python-3.9.10.ebuild 10904 BLAKE2B 6bb39991fb2b61f960fcf762bbdf2cf2948976d30b9837bc9d5cd6b9c4a934bca144f18898b2e7975ceeed659da8158d4e2735ccc56479ec1bfeb4b783300a9b SHA512 012a4cfd6f6ca69008b89ed9fcdf91624bf34102fda4f4ef02c81dc82a5fbafc8e6d4ded7138223c61f1042c168afaf91fdd61a2bca0e9a55cf43c0cd3bb3738 +EBUILD python-3.9.10_p1.ebuild 11237 BLAKE2B 91db981028b86adbbc2f1464ef1e766cc8a7e15e18e9ec6bc0eb69c16ce96ed823ca4ad8e9fc5ab8342771c0e0965bb67b750abcdb2da9be4ecf8a977f8be448 SHA512 eb3c167fb95c6f201581317f593a2af17a744ee27a0e9aa1eeb9738441893929e078f5e254d191d16b8991a32ff3d523a2a267b3a97c4e6cffea3fc9931add1c +EBUILD python-3.9.11.ebuild 11529 BLAKE2B 8b88b92673ffe5bdbabadda61ff6711e4ca8d9624047bdd35c6b5c770298b596a4c6542c3bb2ed598dffaa86991b9342aaece65adb004fcef048a2f1052e7531 SHA512 1aa7e01407674d627ebc2a0a3838fdab818372d5a67265b0ea415b46431430093fab39eb1fdd01223219600aca6cce8c6cf32f5af9bbf41617eed2933fa3d693 EBUILD python-3.9.9-r1.ebuild 10896 BLAKE2B fcbda5d3be808babce2fd7bc00e7fbad40c83afee571bcbccf3c2b51e5b5eea355228ad99f849647e76482a083150d22e00d968e9432fd10952f5b7324e9e917 SHA512 e4dbf2b45a93046369bb276d4033e3aad77257843990a567dee7a03e67e9cdbfc2b15a7ab6e9125623b62cd799eacc7722d7e3ee547bdb3c1a6c676e251ad8ad MISC metadata.xml 740 BLAKE2B 31abd8d03440517adf39f29f36e87f821dbf029602f40d4b252b1ec8e6a52955ad9325fe66a9a3bd2e9c4436e6c6865853f75c3169016c7a44327a06b07694df SHA512 b601a773d5fe4e29d43e9ce5d857bb525b706b95745056a74a2476a37f182075363cb44814f9d6f73b8be08a63d75ec322b608463796c6eef7aa8d636a2350b8 diff --git a/dev-lang/python/python-2.7.18_p13.ebuild b/dev-lang/python/python-2.7.18_p14.ebuild index da93a624d8f9..da93a624d8f9 100644 --- a/dev-lang/python/python-2.7.18_p13.ebuild +++ b/dev-lang/python/python-2.7.18_p14.ebuild diff --git a/dev-lang/python/python-2.7.18_p15.ebuild b/dev-lang/python/python-2.7.18_p15.ebuild new file mode 100644 index 000000000000..96d62e2e78ee --- /dev/null +++ b/dev-lang/python/python-2.7.18_p15.ebuild @@ -0,0 +1,346 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="berkdb bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl tk wininst +xml" + +# 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:= + dev-libs/libffi:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + berkdb? ( || ( + sys-libs/db:5.3 + sys-libs/db:4.8 + ) ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( dev-libs/openssl:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez )" +BDEPEND=" + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" + !build? ( app-misc/mime-types ) + !<=dev-lang/python-exec-2.4.6-r1" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +pkg_setup() { + if use berkdb; then + ewarn "'bsddb' module is out-of-date and no longer maintained inside" + ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally" + ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module" + ewarn "is provided by dev-python/bsddb3." + else + if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then + ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]" + ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]." + ewarn "You might need to migrate your databases." + fi + fi +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Lib/sysconfig.py \ + Lib/test/test_site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + eautoreconf +} + +src_configure() { + # dbm module can be linked against berkdb or gdbm. + # Defaults to gdbm when both are enabled, #204343. + local disable + use berkdb || use gdbm || disable+=" dbm" + use berkdb || disable+=" _bsddb" + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + if tc-is-cross-compiler; then + # Force some tests that try to poke fs paths. + export ac_cv_file__dev_ptc=no + export ac_cv_file__dev_ptmx=yes + fi + + # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile. + tc-export CXX + # The configure script fails to use pkg-config correctly. + # http://bugs.python.org/issue15506 + export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG) + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + if use berkdb; then + dbmliborder+="${dbmliborder:+:}bdb" + fi + + local myeconfargs=( + # The check is broken on clang, and gives false positive: + # https://bugs.gentoo.org/596798 + # (upstream dropped this flag in 3.2a4 anyway) + ac_cv_opt_olimit_ok=no + # 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 + + --with-fpectl + --enable-shared + --enable-ipv6 + --with-threads + --enable-unicode=ucs4 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --with-system-expat + --with-system-ffi + --without-ensurepip + ) + + OPT="" 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + # Avoid invoking pgen for cross-compiles. + touch Include/graminit.h Python/graminit.c + + emake + + # 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 + + # Skip failing tests. + local skipped_tests="distutils gdb" + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + + # Daylight saving time problem + # https://bugs.python.org/issue22067 + # https://bugs.gentoo.org/610628 + local -x TZ=UTC + + # Rerun failed tests in verbose mode (regrtest -w). + emake test EXTRATESTOPTS="-w" < /dev/tty + local result="$?" + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/$(get_libdir)/python${PYVER} + + emake DESTDIR="${D}" altinstall + + sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die + + # Fix collisions between different slots of Python. + mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die + mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die + mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die + rm "${ED}/usr/bin/smtpd.py" || die + + use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python + ln -s "../../../bin/python${PYVER}" \ + "${scriptdir}/python" || die + # python-config + ln -s "../../../bin/python${PYVER}-config" \ + "${scriptdir}/python-config" || die + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi + + # python2* is no longer wrapped, so just symlink it + local pymajor=${PYVER%.*} + dosym "python${PYVER}" "/usr/bin/python${pymajor}" + dosym "python${PYVER}-config" "/usr/bin/python${pymajor}-config" +} diff --git a/dev-lang/python/python-3.10.2_p1.ebuild b/dev-lang/python/python-3.10.2_p1.ebuild new file mode 100644 index 000000000000..06421fd372bc --- /dev/null +++ b/dev-lang/python/python-3.10.2_p1.ebuild @@ -0,0 +1,392 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_10(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= ) + !!<sys-apps/sandbox-2.21" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +# autoconf-archive needed to eautoreconf +BDEPEND=" + sys-devel/autoconf-archive + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network" + + # 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) + PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc" + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + PROFILE_TASK+=" -x test_distutils" + fi + 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 + --with-system-expat + --with-system-ffi + + $(use_with lto) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict /usr/lib/python3.10/site-packages + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite /usr/lib/python3.10/site-packages + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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.10.3.ebuild b/dev-lang/python/python-3.10.3.ebuild new file mode 100644 index 000000000000..8378f90040c5 --- /dev/null +++ b/dev-lang/python/python-3.10.3.ebuild @@ -0,0 +1,408 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_10(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= ) + !!<sys-apps/sandbox-2.21 +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + sys-devel/autoconf-archive + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)] +" +RDEPEND+=" + build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network" + + # 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) + PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc" + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + PROFILE_TASK+=" -x test_distutils" + fi + 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 + --with-system-expat + --with-system-ffi + + $(use_with lto) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict /usr/lib/python3.10/site-packages + 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite /usr/lib/python3.10/site-packages + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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.11.0_alpha4.ebuild b/dev-lang/python/python-3.11.0_alpha6.ebuild index 1ee098aec00d..ee3604d253a3 100644 --- a/dev-lang/python/python-3.11.0_alpha4.ebuild +++ b/dev-lang/python/python-3.11.0_alpha6.ebuild @@ -226,6 +226,11 @@ src_compile() { export SETUPTOOLS_USE_DISTUTILS=stdlib export PYTHONSTRICTEXTENSIONBUILD=1 + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + if use pgo ; then # bug 660358 local -x COLUMNS=80 @@ -238,6 +243,9 @@ src_compile() { # 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 @@ -256,6 +264,12 @@ src_test() { # Skip failing tests. local skipped_tests="gdb" + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + for test in ${skipped_tests}; do mv "${S}"/Lib/test/test_${test}.py "${T}" done diff --git a/dev-lang/python/python-3.7.12_p2.ebuild b/dev-lang/python/python-3.7.12_p2.ebuild new file mode 100644 index 000000000000..515e6791cf8b --- /dev/null +++ b/dev-lang/python/python-3.7.12_p2.ebuild @@ -0,0 +1,341 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml" +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/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.7.13.ebuild b/dev-lang/python/python-3.7.13.ebuild new file mode 100644 index 000000000000..4e5692c20ff7 --- /dev/null +++ b/dev-lang/python/python-3.7.13.ebuild @@ -0,0 +1,349 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_P="Python-${PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE="https://www.python.org/" +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.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}/${PYVER}m" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml" +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/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) +" +BDEPEND=" + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)] +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc, pyvenv + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" \ + "${scriptdir}/pydoc" || die + ln -s "../../../bin/pyvenv-${PYVER}" \ + "${scriptdir}/pyvenv" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" \ + "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.8.12_p2.ebuild b/dev-lang/python/python-3.8.12_p2.ebuild new file mode 100644 index 000000000000..9e9b0fbc6bfc --- /dev/null +++ b/dev-lang/python/python-3.8.12_p2.ebuild @@ -0,0 +1,351 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_8(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/awk + virtual/pkgconfig + sys-devel/autoconf-archive + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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.8.13.ebuild b/dev-lang/python/python-3.8.13.ebuild new file mode 100644 index 000000000000..60c81f821576 --- /dev/null +++ b/dev-lang/python/python-3.8.13.ebuild @@ -0,0 +1,359 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_8(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] ) +" +BDEPEND=" + sys-devel/autoconf-archive + virtual/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)] +" +RDEPEND+=" + build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + + use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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.9.10_p1.ebuild b/dev-lang/python/python-3.9.10_p1.ebuild new file mode 100644 index 000000000000..37b968005f06 --- /dev/null +++ b/dev-lang/python/python-3.9.10_p1.ebuild @@ -0,0 +1,386 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_9(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/awk + virtual/pkgconfig + sys-devel/autoconf-archive + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network" + + # 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) + PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc" + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + PROFILE_TASK+=" -x test_distutils" + fi + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + + $(use_with lto) + $(use_enable pgo optimizations) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict /usr/lib/python3.9/site-packages + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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.9.11.ebuild b/dev-lang/python/python-3.9.11.ebuild new file mode 100644 index 000000000000..418a21b762a8 --- /dev/null +++ b/dev-lang/python/python-3.9.11.ebuild @@ -0,0 +1,394 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \ + python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +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/" +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.asc + )" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml" +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-lang/python-exec[python_targets_python3_9(-)] + dev-libs/libffi:= + sys-apps/util-linux:= + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + gdbm? ( sys-libs/gdbm:=[berkdb] ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( >=sys-libs/readline-4.1:= ) + 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 + ) + xml? ( >=dev-libs/expat-2.1:= )" +# bluetooth requires headers from bluez +DEPEND="${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils[extra-filters(+)] )" +BDEPEND=" + virtual/awk + virtual/pkgconfig + sys-devel/autoconf-archive + verify-sig? ( sec-keys/openpgp-keys-python ) + !sys-devel/gcc[libffi(-)]" +RDEPEND+=" !build? ( app-misc/mime-types )" + +VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat, libffi and zlib are not used. + rm -fr Modules/expat || die + rm -fr Modules/_ctypes/libffi* || die + rm -fr Modules/zlib || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@" + + # force correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no + use gdbm || disable+=" gdbm" + use ncurses || disable+=" _curses _curses_panel" + use readline || disable+=" readline" + use sqlite || disable+=" _sqlite3" + use ssl || export PYTHON_DISABLE_SSL="1" + use tk || disable+=" _tkinter" + use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat. + export PYTHON_DISABLE_MODULES="${disable}" + + if ! use xml; then + ewarn "You have configured Python without XML support." + ewarn "This is NOT a recommended configuration as you" + ewarn "may face problems parsing any XML documents." + fi + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + if [[ "$(gcc-major-version)" -ge 4 ]]; then + append-flags -fwrapv + fi + + filter-flags -malign-double + + # https://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flagq -O3; then + is-flagq -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + tc-export CXX + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + + local dbmliborder + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network" + + # 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) + PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc" + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + PROFILE_TASK+=" -x test_distutils" + fi + 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 + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-system-ffi + + $(use_with lto) + $(use_enable pgo optimizations) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + # 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= + + 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 +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + export SETUPTOOLS_USE_DISTUTILS=stdlib + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict /usr/lib/python3.9/site-packages + 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 + + # Skip failing tests. + local skipped_tests="gdb" + + if use sparc ; then + # bug #788022 + skipped_tests+=" multiprocessing_fork" + skipped_tests+=" multiprocessing_forkserver" + fi + + for test in ${skipped_tests}; do + mv "${S}"/Lib/test/test_${test}.py "${T}" + done + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)") + + emake test EXTRATESTOPTS="-u-network -j${jobs}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local result=$? + + for test in ${skipped_tests}; do + mv "${T}/test_${test}.py" "${S}"/Lib/test + done + + elog "The following tests have been skipped:" + for test in ${skipped_tests}; do + elog "test_${test}.py" + done + + elog "If you would like to run them, you may:" + elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'" + elog "and run the tests separately." + + if [[ ${result} -ne 0 ]]; then + die "emake test failed" + fi +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + emake DESTDIR="${D}" altinstall + + # Remove static library + rm "${ED}"/usr/$(get_libdir)/libpython*.a || die + + # 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 + + use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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" + + local -x EPYTHON=python${PYVER} + # if not using a cross-compiler, use the fresh binary + if ! tc-is-cross-compiler; then + local -x PYTHON=./python + local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD} + else + local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON} + fi + + echo "EPYTHON='${EPYTHON}'" > epython.py || die + python_domodule epython.py + + # python-exec wrapping support + local pymajor=${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 + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" \ + "${scriptdir}/2to3" || die + 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/rakudo/Manifest b/dev-lang/rakudo/Manifest index d1dd0343bf92..59b6cc584947 100644 --- a/dev-lang/rakudo/Manifest +++ b/dev-lang/rakudo/Manifest @@ -1,7 +1,9 @@ DIST rakudo-2021.06.tar.gz 5211187 BLAKE2B e6a73ada3bc7550ad9e2415374f8ecd9aeed021faf8bc52697c8d4bd1fc16782036fecf346f1b132f2d50b894f99ebca548e6e4209b1ff643a045679415ae3fd SHA512 1141979c63a5128919d24c4660cff8011fade12487bd7f437dbaeb6d121ab2d93e42022227ad47d6d840ddb12118c9f1cde8285d87677ff88b135c4e9f079ecc DIST rakudo-2021.08.tar.gz 5906537 BLAKE2B 73a70ac0524ef41355e835173bccca743db5aa0f7b41ac0b152537da84337f6281c0619b86cd282d8e103bcc37573e0c42e147d2f6cb7d626b5bfaac9c6917d6 SHA512 6b58ddf47742cb8abc7c017ccbc658dac04a7a2e9802e3c656f775f94a97264a92c24f0a88c0f7baae3fa5b531acb407a652eea6c9d9cdc2f00afef00c92a018 DIST rakudo-2021.10.tar.gz 6093348 BLAKE2B b2a49c7ee5561cabaae20a573d93b2510b117697ac7c56819a776a890e12a50f8efd726329d69d1f1cbe194114a715db6253d7ce47b5ca9f817254b7eb517ba8 SHA512 6792d77f566c77f23371b2445b67f72ba3c74da9f3b3fa75bbb7db3c1f59f1aa4b8d964af4889caa82b19404304cf4d27ecd562e86b8fc0194f202ba5d7aceff +DIST rakudo-2022.02.tar.gz 6140289 BLAKE2B 213f2b0384bbf5d92c19ac78cc13cdb9a0a886c926a2cad27827c993e4fcf1dc88ac0390ca351f063db65c7b56e44ea2b79f5330b22fe23692c03a7d690bf77b SHA512 b02cab995700d82e3c100e24d8d4b1497030def568ad674085f3231750c69d42d8847c3a85cdfcbbaadb9c42fd0c44b36774abee4db131851e229ed076710588 EBUILD rakudo-2021.06.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe EBUILD rakudo-2021.08.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe EBUILD rakudo-2021.10.ebuild 1598 BLAKE2B 94c87dff5ba78e82549e51b72a4f516329f7640c602e1009a52ea40b5620fe22ecf0a59d06b3b643e1dea9f300edc414d027cda69624ce0890289ff3ecdc6826 SHA512 499f86e879665d2c95685dea58d0141c334c267fd9f93f44658fd2e1bf1f758c7af8344eff64436ce348d92fe2e57bcbaa0e22b6ddcaf1103e2f1bddea51ebfe +EBUILD rakudo-2022.02.ebuild 1598 BLAKE2B 1d23e16268a3b1a01bd216657a6c275b947495f46ac8c99b507b2f1a77609dcbf7e6bdb1d7229220a40c5f4d910ff7e5ba4ed0881bf55e4c21f6d6fde144935e SHA512 4cea031b7e182f454bde4bf7e69f732986274be3ebc25b5b6413444d8a60d66b518b80c3e6dffdb68f3b1889d39fab4a820817fe573810a3a89ef49d376cfd4d MISC metadata.xml 396 BLAKE2B 43b55c331967d55e0a5c8d2dad7399c20b4104494cf3310b5a95dbef537d07908135c7f9c7829c737f64466660056de8c5656637b54079fef0f90ea4cfef5f1e SHA512 163828a65041f6d74931e32b6edf8c58ddb59151f8c68519165e81003886ce67ff4bcd21e69dc8a1fb96e4b8189fb611dcf8b9d73a52b257ccc24de516185fae diff --git a/dev-lang/rakudo/rakudo-2022.02.ebuild b/dev-lang/rakudo/rakudo-2022.02.ebuild new file mode 100644 index 000000000000..6ece484ee5ec --- /dev/null +++ b/dev-lang/rakudo/rakudo-2022.02.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit java-pkg-opt-2 + +DESCRIPTION="A compiler for the Raku programming language" +HOMEPAGE="https://rakudo.org" + +if [[ ${PV} == "9999" ]]; then + EGIT_REPO_URI="https://github.com/rakudo/${PN}.git" + inherit git-r3 +else + SRC_URI="https://rakudo.org/dl/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="Artistic-2" +SLOT="0" +# TODO: add USE="javascript" once that's usable in nqp +IUSE="clang java +moar test" +RESTRICT="!test? ( test )" +REQUIRED_USE="|| ( java moar )" + +CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]" +RDEPEND="${CDEPEND} + java? ( >=virtual/jre-1.9 )" +DEPEND="${CDEPEND} + clang? ( sys-devel/clang ) + java? ( >=virtual/jdk-1.9 ) + >=dev-lang/perl-5.10" + +pkg_pretend() { + if has_version dev-lang/rakudo; then + ewarn "Rakudo is known to fail compilation/installation with Rakudo" + ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo," + ewarn "then do a new installation." + ewarn "(see Bug #584394)" + fi +} + +src_configure() { + local backends + use moar && backends+="moar," + use java && backends+="jvm" + + local myargs=( + "--prefix=/usr" + "--sysroot=/" + "--sdkroot=/" + "--backends=${backends}" + ) + + perl Configure.pl "${myargs[@]}" || die + + if use java; then + NQP=$(java-pkg_getjars --with-dependencies nqp) + fi +} + +src_compile() { + emake NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" +} + +src_install() { + emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install +} + +src_test() { + RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default +} diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest index 5005192a795e..d09f7853697f 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -10,10 +10,15 @@ AUX 2.7/901-musl-stacksize.patch 945 BLAKE2B 7187ee4c73fb4a9ec00b32a02a176863d88 AUX 3.0/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00 AUX 3.0/010-default-gem-location.patch 753 BLAKE2B 2e9c209521e113c9b5b66ef305a2f29e042bc9330cc95ca847e04aec7a9450de48904bf583265aceec5984e8384e78a37b16a65435962ffc3ef458019b5ebedf SHA512 af63cd6c2c998533fd518abc6f48d1acb0f185e3bc9c4747301f7c7f3b3780e456f32db0252a0a03306dbc19a63d24c031fcfb7c35d732190fa68763e5817dcd AUX 3.0/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c +AUX 3.1/001-socksocket-fix.patch 457 BLAKE2B cf3e15858481cdaa48be2cb3685bed663d9de792c743f6ef07ea5d2be214d630ee9bd70c1b6958110516d69a1889fdc4cf26676e52c55d4d530588b8274f962e SHA512 77381cb3c8d4a87a5ae06966d5dd00a38ea07148ed2feacb883e1d041d85ae0a6d64b30fd213f2ac0b1a07e3722f0e724cd0ec8414e74dc4de8844d849584b00 +AUX 3.1/010-default-gem-location.patch 715 BLAKE2B 1a3b0a3479210f6bafe89bfea4580ebcf44bb5c42b72a244dee9fa53371c095d6c8ff39feb58296518779b5841647ed89732bed33c542ad24d5b93ba97097cd6 SHA512 e0d0ebfc6de8dfb81cee309f0d1b7a9ccf64617ea16ad6d8d3ea715b29fb7b3bb6d962072503eee7125ffc1e5ba53035453e887935e681de3d35df279d7c0dc8 +AUX 3.1/900-musl-coroutine.patch 842 BLAKE2B 21b58911e2c020ed956a837f006b20f30a123f96a52b19c62093f9d9fabb2f812fc3de8539c67a1b9aa4d106d5b7b2e91729e7aba030ebbdc67b1b3f590bf560 SHA512 ba292e5465c09df675fef34a77bbf4e16ebd807d2e5174d0e3f94be26e0694ea84dc46ee25de2d3b882b906779f0d08a173ee4c708f20b4f7f1032a238d8896c DIST ruby-2.6.9.tar.xz 11590064 BLAKE2B 8d14baf479053b7fab517f1e41191b009413d557431c558d92489a36d539f9a667571e4493abba171b047f8ba6d1f676fb6d2f2152fcae737924e773a324ddf6 SHA512 f60aa89e685cea324185eb0d13e6b44caef4e4f761cbf9ea1386ae70e39faf3866ac01e4bb5354574f2583e74290b8c80eaf63d126040d52368be6c771476451 DIST ruby-2.7.5.tar.xz 12072980 BLAKE2B 50bb822cb2c5e76fee8755c710b593ce3bcb0f4f14b96a4e9eef5e58b4614bcf5f91491586b1dd6411fce57c258a7ad80136cd3cfbddf28e4fd4b37f486d2bea SHA512 21c8a713e3ce115fc4c405113ac691ddcefc3419f528b93ca1ac59e7052c1b6e9e241da0e570e291e567f28f3d840824dbcc5967b216cbe7d6ca7a05580fa311 DIST ruby-3.0.3.tar.xz 14991880 BLAKE2B d57b7f6e0d0121326b1a191e93a49c045d26dfd1ab8b0d283b99d09968e07277edde0baaeec072602d6d06e20dcd3893d6cb0b03f59dbc59ebf0e3ebd5646446 SHA512 bb9ea426278d5a7ac46595296f03b82d43df8b7db41045cdf85611e05e26c703c53f700494cd7cf5d4c27fa953bdc5c144317d7720812db0a6e3b6f4bc4d2e00 +DIST ruby-3.1.1.tar.xz 15103808 BLAKE2B c11ec8d60cd24c88716d6e685e4cc19931e40504ac04b9d8c79b890cdaf8f4661e95649475e40171e267797674839047276c7f7f1613f20ed3cd5b9ae910950a SHA512 8877fa9a458964a59a11529cd10b3d25b5f6238cd4678b6dcea0bd4b750499cf8ff39d8824053b4ab26c5cd0cfb604a57807ce61580175857fcf00b2cff3e55f EBUILD ruby-2.6.9.ebuild 7481 BLAKE2B c37e80c3f6debd1befd5d8b5cfff7ffa547557e94fecfb51c962a7a4ce6052fd047d9f5f143302d5d53887bac0463b65f2649b199625430fd5a49e32c565884a SHA512 b3be72cde078972a1e6dd9969dd7dd085d4fed10d2c7a87128773962955e788cd11868a93f44adb2887a23bffebca3a4155309bb9cb0af55fa2df851f48410c0 -EBUILD ruby-2.7.5.ebuild 7914 BLAKE2B 732a87f171691b796d43e16cb9a3307fe9d037ee2a3d8019823fda74679c8d932bcbb6c35fc1dc34a7997a7b37ac857738462c1db04ab4b59d69c160bda53fcb SHA512 98fbb54a8de9a3e2c557eb1a6891a6a1cf6981be157af1c083f3d35fe0befb58fbdd7b762ac4bbf653355a4e21753dd616710a9452c88799b5e6040759929694 +EBUILD ruby-2.7.5.ebuild 7915 BLAKE2B a5239995ca8bf543227b481cf499cc18426b58f497b31fe14abf2fd3b7dec53ff280236898e898b4d7eb206461f7e7ee492838e52650f9cd093c5e6b5a19f81c SHA512 bbc37b5b4435921611c289b12c819a732816fc4523689d93107a5deb7eeb4765dc3a4358b54517cb30b990b6fc2b08bd59f2a1e2d94464c03499065825922b3a EBUILD ruby-3.0.3.ebuild 7770 BLAKE2B f8e201766ccc5a667ca1dfc22ea0017a441bf621719c10da66cf7b5ece4441e48dc63225e04ec4b38c032318e4f0353f8b87e02a9cbfc6d2eb710c9ca83fda2a SHA512 6843ddd68c6cd45e0e4f5e9d72f7cc38fceeb2548498fd8e5de362e559db8597e8434e4ccc4f3db80f22e45db49bcaebddee27f9f50d5b65323332a6ceab1bae +EBUILD ruby-3.1.1.ebuild 7769 BLAKE2B 87912fb550c830ff34db94e7baa36ceea755588a287242bec1e606828eadeca4b12a96f6a4bbbfb0ed5482b2fb7945fa809486efb046bc1eb7e2536795b05a8c SHA512 6ed3f7dcd49f06ede8e959c2d6e1091321cb469be2af2ff7fcadc2371cc734f811765d6faf1490505824c8c45326078ecf792a560ae55ae7fc87f65bcc74a079 MISC metadata.xml 524 BLAKE2B 78b64ea8e53d1bcfa249561354ef45ca34cdbcf6c4147944e98e6a17d884f5b4b29c0ddb6047bf2883a57f9a53386626bb7a779ef80ddcb33301d0e3822ead6b SHA512 1b254526486eb7d1d132f1286056d55963cb569ab47ccc94d625a9789e4dd3c45b5639510535543d96d2d7a3ccae13535e2e35ba9d78873d75ecac3bedfae762 diff --git a/dev-lang/ruby/files/3.1/001-socksocket-fix.patch b/dev-lang/ruby/files/3.1/001-socksocket-fix.patch new file mode 100644 index 000000000000..1a79e25491cc --- /dev/null +++ b/dev-lang/ruby/files/3.1/001-socksocket-fix.patch @@ -0,0 +1,15 @@ +Fix compilation with socks5 USE flag. + +Patch by Phobos Kappa in https://bugs.gentoo.org/762253 + +--- a/ext/socket/sockssocket.c 2020-12-25 05:33:01.000000000 +0200 ++++ b/ext/socket/sockssocket.c 2020-12-28 15:42:50.310029778 +0200 +@@ -34,7 +34,7 @@ + init = 1; + } + +- return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil); ++ return rsock_init_inetsock(sock, host, port, Qnil, Qnil, INET_SOCKS, Qnil, Qnil); + } + + #ifdef SOCKS5 diff --git a/dev-lang/ruby/files/3.1/010-default-gem-location.patch b/dev-lang/ruby/files/3.1/010-default-gem-location.patch new file mode 100644 index 000000000000..039a44b0530b --- /dev/null +++ b/dev-lang/ruby/files/3.1/010-default-gem-location.patch @@ -0,0 +1,20 @@ +--- a/tool/rbinstall.rb.~1~ 2020-12-25 04:33:01.000000000 +0100 ++++ b/tool/rbinstall.rb 2020-12-25 10:05:34.629096405 +0100 +@@ -897,7 +897,7 @@ + end + + def install_default_gem(dir, srcdir, bindir) +- gem_dir = Gem.default_dir ++ gem_dir = ENV['GEM_DESTDIR'] + install_dir = with_destdir(gem_dir) + prepare "default gems from #{dir}", gem_dir + makedirs(Gem.ensure_default_gem_subdirectories(install_dir, $dir_mode).map {|d| File.join(gem_dir, d)}) +@@ -1018,7 +1018,7 @@ + end + Gem.instance_variable_set(:@ruby, ruby_path) if Gem.ruby != ruby_path + +- gem_dir = Gem.default_dir ++ gem_dir = ENV['GEM_DESTDIR'] + install_dir = with_destdir(gem_dir) + prepare "bundled gems", gem_dir + RbInstall.no_write do diff --git a/dev-lang/ruby/files/3.1/900-musl-coroutine.patch b/dev-lang/ruby/files/3.1/900-musl-coroutine.patch new file mode 100644 index 000000000000..a323cdd6e770 --- /dev/null +++ b/dev-lang/ruby/files/3.1/900-musl-coroutine.patch @@ -0,0 +1,28 @@ +Adapted for Gentoo version 3.0.2 + +From b570e7de87aaad8c903176d835e8124127f627b3 Mon Sep 17 00:00:00 2001 +From: Andrew Aladjev <aladjev.andrew@gmail.com> +Date: Sat, 26 Sep 2020 12:58:06 +0300 +Subject: [PATCH] fixed default coroutine selection for musl + +--- + configure.ac | 5 ++++- + coroutine/copy/Context.c | 2 ++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index ab5d532c103b..084f0936c006 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2364,7 +2364,10 @@ + rb_cv_coroutine=copy + ], + [ +- rb_cv_coroutine=ucontext ++ AC_CHECK_FUNCS([getcontext swapcontext makecontext], ++ [rb_cv_coroutine=ucontext], ++ [rb_cv_coroutine=copy; break] ++ ) + ] + ) + AC_MSG_RESULT(${rb_cv_coroutine}) diff --git a/dev-lang/ruby/ruby-2.7.5.ebuild b/dev-lang/ruby/ruby-2.7.5.ebuild index 51384cae5e3b..7c21b8f77838 100644 --- a/dev-lang/ruby/ruby-2.7.5.ebuild +++ b/dev-lang/ruby/ruby-2.7.5.ebuild @@ -102,7 +102,7 @@ src_prepare() { # disable using security framework (GCC barfs on those headers) sed -i \ - -e '/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ random.c || die fi fi diff --git a/dev-lang/ruby/ruby-3.1.1.ebuild b/dev-lang/ruby/ruby-3.1.1.ebuild new file mode 100644 index 000000000000..d42d8d236fef --- /dev/null +++ b/dev-lang/ruby/ruby-3.1.1.ebuild @@ -0,0 +1,267 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multilib + +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 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit +rdoc rubytests socks5 +ssl static-libs systemtap tk xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-util/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-20201225 +" + +DEPEND="${RDEPEND}" + +BUNDLED_GEMS=" + >=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[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] + rdoc? ( >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31] ) + xemacs? ( app-xemacs/ruby-modes )" + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/3.0/900-musl-*.patch + eapply "${FILESDIR}"/2.7/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 + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + + if [[ ${CHOST} == *darwin* ]] ; then + # avoid symlink loop on Darwin (?!) + sed -i \ + -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ + configure.ac || die + + # make ar/libtool hack for Darwin work + sed -i \ + -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ + configure.ac || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules= myconf= + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-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 + + # 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 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --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) \ + ${myconf} \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + emake -j1 V=1 test + + elog "Ruby's make test has been run. Ruby also ships with a make check" + elog "that cannot be run until after ruby has been installed." + elog + if use rubytests; then + elog "You have enabled rubytests, so they will be installed to" + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other" + elog "than root, and you must place them into a writeable directory." + elog "Then call: " + elog + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb" + else + elog "Enable the rubytests USE flag to install the make check tests" + fi +} + +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) + + LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + export DYLD_LIBRARY_PATH + fi + + RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + export LD_LIBRARY_PATH RUBYLIB + + # 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* + + if use rubytests; then + pushd test + insinto /usr/share/${PN}-${SLOT}/test + doins -r . + popd + fi +} + +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(23|24|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index 7fb2a86f54e8..08a742067430 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -30,6 +30,40 @@ DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz 150229600 BLAKE2B 056e5a646d675 DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b86d3d2cbf27594dfe55fe2ff52523a9dff08d08ddd30526172f9e07760c2f854698eb8153cb9894588d75759a3d0bb7887756d005a2c69aa9cfeec8e7dee678 SHA512 82dcb22efb94bb19f2338e9cb46e3f6da3d189fe6bff12bf1ec870197d395c2ad58bd15705aa7f3cde38e5ec0266e20eb2e45761e0f55b13261d3e6b14dce60f DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz 262511608 BLAKE2B f2ca664fe1ab0614f13ce9d7764eed935b107b393830ad14b64d8b05e032feeec57dd04cdc963ad3eea2cb23558beeb1975722be93412d4ff8fd3a75d2bbb896 SHA512 d064464333a64f91b8a30f267ecfe2b4dc5be6d639bc9f064efa86a54478c8de7156166236b7ff8d96bf8fc8cbbeebf7ac17d8b5dabf24d72e189dbbd8ae0819 DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9c58a08b4e5d609230b5aae52fe7eec2dd6a0cc0eb8c257068ac2585918aba6cbe3263a6480860d34a117d3e2ee835fc8d8b1702296369c3a4e0f660f46bd62e SHA512 6c294cbbbf22940e36278e92d5095dbfee0df741694188ef1e6df7740bbe770ffb5b2467bab12825045ebf7d6fb12eebb1ce7edbb32d0afcb114c57e814fe5d7 +DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz 217126920 BLAKE2B 87fd1910d76a133624ff860fd3932527b3ce3775db9e03c6d2ab9ad06534e9e63ff7d1eed0c81e3574d676c192495e0f175b2ae0fa706b722ead9a852296b3f4 SHA512 6f5b6fb325ac226bf5f308463a54f59570d9ba5efe4329d6116d79cda1f8572b2e4584d005586759ac60e1e7a10782d8ef8ebf30c980220b4780a9846895fcb0 +DIST rust-1.59.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2b75d91a060376bd0711c18b1b04f7d0c7ded0a64b0b086e7799898db7fe24ff49dc09c76695a151e54bd205aa040775c6a36d10fb21ecb2d89d23398b02dc34 SHA512 a04cb7b03e3b963002357d48ecf92d0aef20464f9da38081411832c07df0a7c9ce3755a7b89c86394933446fc18e83a55a7cc01f3739ddddb19dafcbb7b43960 +DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz 212064268 BLAKE2B 4636001103fc058c2c14a34449846c0378c26ac4dc29588615c5216bb4759b0e92ec97be25e106a5aaaa07059f404c615272e359b0f3b1e9164437e63d863bd0 SHA512 2ec97a48cdac3fb1f7411fdf3a34aac6f64a09991d25174dff97efab0ee724d4dce2bbe29046d243a72b06d406990adf5d1f3f24286fdfb0e658326e28cf5363 +DIST rust-1.59.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 4403c9e26f21504494db6e7368cf6a1dd36fcd283dcaa2aac4efaacba107971f44aaffe032ae1cb2530bb1d29bba3e1953d80d378ca9fabf13364da27d809bbc SHA512 5c789ce4591ba8b0f09a254780e1040f5c959c3a952b89d56bf77f0a0f53be2e5f0e712878d21a060937bcda72e440e591ca206c8540635fcc180a50efef6095 +DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz 192892448 BLAKE2B b7d194589b9bd07c34ae681985ecc60ad03d450be9c445dff16730d8019a02e6cb1ec6b8c231f9eb42500eeb8dd6d529ff821b1b9eb64f87f11266411133e5bb SHA512 0be42a92fbbe516c0437afdf279e5bb3d43e073ec5ca3ad297f33ef5ec5e5bd150cb728c7dea5dfdcb7b1d1cf3f4122d529e8cf8abe674651a05272837769887 +DIST rust-1.59.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 844f7f3655a974821689aa326d072512a12433daa5805a842e54005b88516013b32e46c21b7813e7f5b919716e73f518195b9247c3b9e1e51e85e4f8b102b9ff SHA512 bf7b9491ff88c6d6e6f91d6b77fa50aec48cda99181aab584b37dd81a2a55564a8d769be8ce1868c02ce4dbc36e98cf7c4d651e9e7d799f907e7f9fadc27b08f +DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz 192816760 BLAKE2B 565d3ed97da64299d6c5525f3b3068ca8ced1d8d6fddbd90506a41062d66c4223928de031320aad1cb12568ccc7e952243c728e13a8a7d6a60ec8c908829e0dc SHA512 5a3693f7edf0f51ba45d8d1471c4ce75926e9cf9c4eb399c9767da116d2250121ced6f08a5c7ed136cbd144e88f3c9fccbc48f805edc82aedbdca37248c0d092 +DIST rust-1.59.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 739967abaddc05a466e4ad88316a89fafeabb3c8b50844b09a4946635f4e19b223a76675026389cdef89f0fbe369e3f5c72a0ab64f63104d2a2d5b0d12efa617 SHA512 336f8d7885dc7cc9e44a9e5df381ce1fe516fddea90666478d65aacbba2ffd2d7312b53a895b809fe0135aef8b5604b3eae7b63d7f0d37776c8c1cf6f88395f4 +DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz 199147596 BLAKE2B 767aa2429a1d1e5633e17fcdafa1a763fb6c86ce392264445be91f79f924b5f1251aae5ee01d66cc902fe991b7ed42a23345d0460862508948d37af48d49b69f SHA512 590b8252b096331b404ecf02dcc11eb12ad1a751d03791a6eb316a7b7bc546c4e933b0acf66e771d394343b636db4dfba00f467715284fa1537399e161bd2d88 +DIST rust-1.59.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 77659e1ac997fee4eb50a969e581158ea622968b6de7d02f493096b1b108bd1f32a8c89b7bf1bdfcc7f346eeb14dde31d9b791624a72966f98937398bb833e58 SHA512 a404ddb78aa0d1dc5a8724b4e5b9d46b3c25ef820d50f9039928ce39169c1f8559ed3910a127f1805d6c07671b127a2adcc111bf8af5c1ae41a6f312492ae873 +DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz 212206848 BLAKE2B 949897daa1ec6e6da986ec030fa25db019ece6a16bc2d3442dcd8255d75a97212c6c214af6755a3231370e138a72dd22155719580631e403df987e992b6de308 SHA512 b6db8bdf25e59bfb64b13abb4a1b95e186aa16e1e165a575197e37c410e64c13c2a2d098b5af3935e2b6319566447c4a05b8e8b08b30476dba9d2c7f30000508 +DIST rust-1.59.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B bb0e0cc0aebab03512cb261345319a94e3c2108125a90efd169160bad0a94bb71f717d66ee6c9222d5274f82c437baf435880f38652947b1ac79ec9bd53e586f SHA512 774d622d1b7cfc28a561fc8822865727e0fca698ddca2fca006b52d2b922057619ae65d4bbb03bdb0745458a242ab8724305c5cb4fdc8886f70edfded2b4543f +DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz 151449792 BLAKE2B 0273b6dcf35af0d85c9adb4018b8ac76bef9895f42268e9ebe086f74c95570614b1cb5927c969e6b4a8366aa7a285a19929b819bbf8977343af899a3969eba7c SHA512 9f2c9ca60cbf38ef3ac23d1df7deb86864017addb7761b94a408c096e0a67bf3666ea05f19a57f902c8cc2f3912a96c5b9b91d1c2cd5ae86596c76d30fcce08b +DIST rust-1.59.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 4a7736612612244ca535fb2056089fd9e0426410dff5c98aa44092af918d528527cc0c12a3249fa3b9a278700c7e5395c6155d28129c3c7bced7056203942fc7 SHA512 18dfd434dc628c7f11de5c5f159afea0dc37a8123f490797bc9869941676fa85920a8bc592d4cd4b505b9fb1d67e35220253d67c878b2d938211c556ae60db4e +DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz 156962060 BLAKE2B 64c12ac24a55eaac63d9a5173ebcb1b97709280bc770f02c1ba434e57f77e56847a691f17059e421517e7d5ad60e9e3965173aff29c90abfb1b85179631301c8 SHA512 aaf0b8b2f2ee7a3584fcd9bc690f54ce32c0f6a36f2c37ca9d4a10123ddb6d4e95c9343c88dd0830aa586a5a543dbac440a6644434f8035f1c95b3f046a843fe +DIST rust-1.59.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 2b3a3f268b6a591e6541d3cb19ca733f393cff178932d06cad8d38d4a74c9e43e9a4aaf75c78d4c8084634e7ce3c5d1cb27a6540cc5f034e940efc276c1a3d11 SHA512 020ac1f172ecf41501218c6268ca2dee37842faa7adefc4d3410531f966aef4aaf66b94cd71237467322feb90cca198fdcc8f20f29a3de8c932e747e454a5852 +DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz 154605640 BLAKE2B 7b3410db3f0c534012b47cd564f9c14d7a878c0c1b1079bfc2d4ea13826e097b12e5dbef2a83641a339cbcf8538a1eb8c28005c3d46e8338074ab5c15fffdaa9 SHA512 1c096bed6dcd6499ee796c64b8771696ba0cba2db1793ac681b7c65b96ccde188c84306ff90a339bf49bee10955aeb179f0915ae0613c9deeaf766956661521c +DIST rust-1.59.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 59fb0bd7e88119d9cb71a7af46afe2e3a4f37fb687b98409e7a83e0b57840c5db3eaec8baabac6ed26989b7b1ddcda13a9d221cda75f291a814b40c722b46573 SHA512 7c6c970ff971143338a11d774d0bc2ade2fa0dff185483800a54f07161bb181648e1b700c36cc6aced25bab9a383f7259b474b83379845926cde265e705208e0 +DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz 170384720 BLAKE2B adc37005f83854707bfa657e5ce5a247de807bd06bde63e6f65745f376502dd36318ccaced1b6d75c3dd3558dd0bbbd7c291854337180fbb18a1647bfa521749 SHA512 046e75c9540fb493fea1cbe9b37ff10f60abe7e31134de85f0e9503b2ddaeb60a03aabf8dd7bd9f55f3d93b01b40aac7cff4f26fe01ef3e3bf5cb052b42287be +DIST rust-1.59.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f55215329f865d3a6505fd4203170782459ab81c48b8d6bcf2c3d96ba5d4d7a9c89dfa25eb2a4897f74a168a36b7abc2363007549f7f376205a37635ffe1052e SHA512 0a886d64565227f136b3568f6ff51996a8dddc0f3121174ac1e1d53f9a58d56fc76faffe86b24e274078779521f0be03657d76790951c86efe8640510757048f +DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz 179493740 BLAKE2B 2ff97ec145bbaead0946efca8097de2a294dad0b4b9293cd768b07d37bb5f2709bbdba3a3d949f4294041b747493f931bae3adcdafb1d2ebd0a88a982e77a7ed SHA512 83f204a2d32025fa88bc627f7f2f548a19941dc8f2575dd5c912f75f556853f63cad3c3145106e264943a915d842139cf34305cfb73c6f20646a022f949e1e3a +DIST rust-1.59.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c9bddaa104146bbc04553f2000c06ee4655583251cddd222d6b9e629d74cfd9762d3ee6de732ec1c243ba28ccbfa2ee7fbad499a46a12b5edb6a755c23d7fe02 SHA512 586b9785e8cbb6eef9a7266ac9e0cd295aac93219cde7a7c42270baab417d4d43acffedf300a43d454be3487b0f0402617e78451d2da4bdc3b2a45bae6bece0e +DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz 189083640 BLAKE2B 209b02e4ead2cbbfe87e59d8367526b9ecdcb324898e6b8398ddd8f21f0fb89a5d68bd3bcba84bafb435a2092c2c19b81171d4631f1eadc438ff9f29f3f72af0 SHA512 443e0c509df5337ffbef7407aee5fb1260583b0a85bede2a12995bbd4b1719e2865a73d0b79e47ac96d5f53f5c79e9903a22868683a9c0251bbb7ffb09f59fb5 +DIST rust-1.59.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 68abc7aa27c59ce7f59f7a4de400ad431c568262263f17af32d8999a5b68d4ed5df067aa8f41a226277f3bccc4908fe1326eecb6142401707f90a6f73b185614 SHA512 731dd8b0f3c33cc37dc783ee07f97727e227ce1a7856f73e87a4b937f6a8ecd1d778e65f1f484faa399795d94b10623fce56d056082bcec460e15fcdea9dbfea +DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz 182319648 BLAKE2B 4e2a86431cd0c737ef86cd2bd308c6cf42f6f908a96456de4e2ab3d42f574c56dfd73933ee0177c8d797f17c8566e66d239406360d923797fa5eb49760e698d1 SHA512 4fecc8048270026f3bf5ca63ca32a657c62282e50132cff7af168168063beb65797626ce1ffe90a929e528d8b010193b1d67cbe87782d0b30c7b4e170eba081d +DIST rust-1.59.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 37ec085b78b9b8cb076f676168b7f26d73b593ca4d2231ded00fa3d9f74b16b1e5d99a389df594b7ac75a8f9342ea25a5efb901931662d7a9362c3c14def5e13 SHA512 29b4c934c2a773968f8acdf469b081438780a4f2d1dc460fc851587719373b2151718f4ef3af81043d4ebb39ff2dfe8f4e4612276cfa1fc1946fada57adf133f +DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz 186264196 BLAKE2B f1c28c8cbff8dbd476daf7a3dee443aa4d90ea3432813d247853c159f20ee2347159f734ecce4ee85e36dfa886770c841355073c2220c016feb809225f4bd50f SHA512 3e9d86c84867d1f96f4cec4e2312ae604896b4fa61b9ab5b563fafe50b4e63a1bad9ccb90770a672c7730d14dc0235b50f2ca3cbe292220eb4e48a66a8f9d924 +DIST rust-1.59.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e97d2b8e50c69311c3d7c2a4fda1f3ae6803e5f53f9a0d2787e816297ffded53ac47e8033e0d5da2d078327133b528328edc9f610483cd1c0ef384317c947f4b SHA512 9e2cc63cd784134fdee91f8603629cdb7227cf56df2a5095cc06ce38df81b6bd3ace24f319c518bbb7619c6f17fc32e9c79bf0b0f57b1db8cd81302d66435a0a +DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz 151858140 BLAKE2B 80eda8c19361b286aaa6ed6178df7f93a131414f6307c87849fa902d373d072643c65642c69ef7302488e0b4ad7883ced1c589606f91edeac83843ed0f6fe124 SHA512 df080a6225275945b0c028099e19aeb0ae34ffcec952b9ce19a6116feddbb29f4f4d27ed30f2c69c108652af637329c20a0d2875d0ff98dd9f7f4902039b6740 +DIST rust-1.59.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B cd4387ad25b7f000395e336cdc92916ee7260cbf98a397ce02514444c8d2b35c653012ae6a9f1d5598155c06db573e1fe1a3f0bde1693863855dc17c18b478f5 SHA512 0b6790f0aa531a8251e1a19e0adfdb16bfd39fcec40b83094c26b7169f833114cc8679e2955fcc5359b05cd67564827aa231c521f81d4c41d561e9ef44eea713 +DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz 246630236 BLAKE2B c9fe24e92055b2e765a8d96181c7c14a0db329f98e006ea2ade285078cad64fa2ef3419d26f30339685cfbcee672bb5e263dd183c960aa0067a27a0b36fe6fbd SHA512 40a711c015fa8eb07aaa11b0698f20886928230a8441cc7523572c7c2768a52557daf5c02bdf61430dcb9a912b8eeda499794af28f269b319ca7fef848ae4cdd +DIST rust-1.59.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1a96c49754b8670d243d1ad43478d4df8b4f4997490fa9691e3947260d469c7dc9bab192a20fd2ee0592e15785fb059644404d77d716d86b54038d0a76feaf6e SHA512 0c67f2be31fae00a318b5a6184c60f10f80ca5275a5d9dad4459d94aef2fe65624dd7789987d506b691666ac8f7357143fa6bb8207cd5b13b28692aa909a1636 DIST rust-src-1.58.1.tar.xz 2827736 BLAKE2B 7ed64fa6688c230eb53bc141ccfb14b9f84114f344ee6aef26c78bea7700a924ae9f2d57f5f81eec514f9dd06cfce899c5fb7e0bb23ccf7f5fdfc0ccb940130d SHA512 cba8a85edde1e6587674274c97c526c0ccb2c4d81a5f23f8f826ee74e903bb7e8ef8d29f9c36559148fcaa1cc98cc3f63f6b5265172c4fe9af8ffee026e48690 +DIST rust-src-1.59.0.tar.xz 2861676 BLAKE2B 83c7c9f222cdc5de787243154aec1b62914badbd65c8defd7c0e48dad9018806d7befb0e419204c5a782d83e386609071c11a6e445df80ab593917b58f7712e5 SHA512 006cb2b29e0db69f4f241a6b44b1491f840503d953919722da5924eba4fbc13d09f8f20d35614e4069bc745facecfb20ef771ddc95560c94b5745b66047c5a0e EBUILD rust-bin-1.58.1.ebuild 6409 BLAKE2B 8352d27e194e5c82d7dd26e31526190ac776456bcf019cd368181722e901be54f34bac918f81e3e350729916f88ccacd425fe60faa9ff0ae3d901fbd04fce712 SHA512 55ba5443905820dc291ac08030a28074ead2922cbb2fd60a51fad76639b795459f6750470fa141762cc7003f4d988272648b00b3a6f05c2aeb39b0b4a4dcd429 +EBUILD rust-bin-1.59.0.ebuild 6414 BLAKE2B cbd8dc5802c660dde6d6349f96a1c12a0362715e51c1532ac0a8fc4d452d4ed47488a51133b244b779204b3fdc47ee8b640927f8f479e030463cbc7182cdb1c8 SHA512 a7c5096d2471c7b5e300c40fc3e65abdf07e3b3735d824469b7300a6b6cc387fe52c1f09c219cefaf9b48d286345d85d642d3b6e1fd4f6b3ad5c195d05082afe MISC metadata.xml 591 BLAKE2B 6f9d494e400400b8b957eaa3c242b5f096808cc8372360eac0d9ae4bffcd2aa75b35bad4acc7248543b08466d8616b0145ae8a9b1534db1ad5ee838f07f9dc51 SHA512 9f59ea60d8ec9b748eac0789fa6750f32e4867e1c2cbe106ce270acdb7306d40fe8754315f8c65a924af43d5b3e88f4f50dec6361299de80ef1a25665aa03182 diff --git a/dev-lang/rust-bin/rust-bin-1.59.0.ebuild b/dev-lang/rust-bin/rust-bin-1.59.0.ebuild new file mode 100644 index 000000000000..db6e4d55a08f --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.59.0.ebuild @@ -0,0 +1,214 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal + +MY_P="rust-${PV}" +# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src" +MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL%/}/2022-02-24/rust-src-${PV}.tar.xz" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" +SRC_URI="$(rust_all_arch_uris ${MY_P}) + rust-src? ( ${MY_SRC_URI} ) +" + +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rust-src rustfmt" + +DEPEND="" +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="${BROOT}/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() { + # sadly rust-src tarball does not have corresponding .asc file + # so do partial verification + if use verify-sig; then + for f in ${A}; do + if [[ -f ${DISTDIR}/${f}.asc ]]; then + verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc" + fi + done + fi + + default_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}" + use doc && components="${components},rust-docs" + use clippy && components="${components},clippy-preview" + use rls && components="${components},rls-preview,${analysis}" + use rustfmt && components="${components},rustfmt-preview" + # Rust component 'rust-src' is extracted from separate archive + if use rust-src; then + einfo "Combining rust and rust-src installers" + mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die + echo rust-src >> ./components || die + components="${components},rust-src" + fi + ./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 + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use rls && symlinks+=( rls ) + 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 + _EOF_ + + if use clippy; then + echo /usr/bin/clippy-driver >> "${T}/provider-${P}" + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}" + fi + if use rls; then + echo /usr/bin/rls >> "${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/Manifest b/dev-lang/rust/Manifest index bdf66b6d0cfa..dd7a8fbb152a 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -32,7 +32,42 @@ DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz 151033748 BLAKE2B 61ecece6a8aa3 DIST rust-1.57.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ea41b27fd25cc75efac73203688ee0882767fc76a2fe09b5e424c42467d3e332463c5560cc58f3b20f6e4b44289a25cfb0d36e38a7a9a7b3950ef875a59dc9ae SHA512 8b955bfce6c130e4b95054b98646f7f9b89e621256759ee1ff533df5f777312dd7adbb192ee0076c9b9baa6883a74a9def50ef598ba8c707762290d465c9a8b7 DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz 260333980 BLAKE2B 75342ae8637355e714d5217d78604cfa6a601d3f9bc0ed4667ff0ca57c6521567b19b9bdb10f79761e2e5fd21ca10e12f3fae0c65791118fdb0c35f8f88349f4 SHA512 204ed493528757b8e3e8df13d062c9ae74c75c3e3adc1a2efc0dfc33d2525629168a558dd32653f44a4365191bf203a4415a77152276288a8e122e6bd587394a DIST rust-1.57.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 506400c3ea70469cbda0e492e85d41b7f94fba790ec19d1c3491bf4a00d283f97c8fb37319ad6c4a43b22a2195c21d1b9e3c16a5b2a9a82833ff61ad49bdc793 SHA512 793369dc7a854c48a72d81446a0c8eb9d83a071af77758e0bcbb8e4d518fb87c5a23c085202b9b427a02bdd772ad9c82724b34295b851f26f384c3e801bf9a04 +DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz 229585460 BLAKE2B 301b201cb40249005a1a8adf34ffdb0bacd22e1d919a24dec9bb8331c2243de1b7cc312c91a87fc9e11091cd9ad517347ff09143000d9de051b3c9a6e0780f9d SHA512 04e2cf2116e16fa293c7f2d29816012520b41df44b54657e289e7affbb91af5a5001d140a49aab1286451b93e93b0171edea77f61f01085136d1be1a3baac4a2 +DIST rust-1.58.1-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6da55597fddd643350c73f28a15dcfa935529c0878a199819b9bad6f3ea2542f9021e24bc1a6c8724ff14d36007c00f8906dd1aeaff33b0a99ef6982e8f711b3 SHA512 57debe0afe52c3af3eb53e4efe70ba194ddad449d9952174f8a775531b83f8ab0d66462e7bdd06712547e8f675d330a151d20d183daefe1dda2f0e3805695714 +DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz 226068748 BLAKE2B 7f9680b0ad3f9a8349f3032f63d23b6d96ab43245d3025d0e4307a29b4353fd2408e7de572a10a77b261634b8fd4e9e6054ba9955b2440b608fdad2c88c12bfa SHA512 6400221a8ae04aea91f9df0f8d82585bcd380f22e80fe813eaa1cadbf592c5207665ad008d938b399e34fc2cb0485b16f993f94d431c290a69a696a4faf89e05 +DIST rust-1.58.1-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B fd22d8a3157a11df45e166b8c961a435bedb079254c1d7f0a738adc1065169a03c897a32bf8781802ca48bcb983c761e6985e532c0d76e90c3684752d8cff9d1 SHA512 54fffa8120fc6b86c57faffdc7857adb89e5fd217b0e753e76e6fadc54aa086243cb7ba3c2c49ec4f44ea8538223312469908d24add2d28203f41c16e9224204 +DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz 206480968 BLAKE2B 32ab78a1567d31bb1b5ca36fcb14fd1b002675baab0f688f931cef6524ffcee4257e00fa25a848f73f25656ae0b58beb0e862f1a36d4d5fad016316af3d1ab2a SHA512 94e7cf238235e845761e53fb5802ef0ce3a02c4675001cf67d05bc565403ec1d54293557d73dce7396147381c331ebfb0313e473289c05b65541f836dd8b4e6b +DIST rust-1.58.1-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B db3275db531d78d728b33678be3869738009b65985aa3ad4f38aaa853cc1b84a1d2a89f98e203f697c457425547b80ad5826e7c820d49c767b5cd1df2db93bdd SHA512 fcca26b6b0dd2e7529efc93d1c4fdfcdf55c85f40bc247b3af9741403a085bc6808cd304ba535786dd2debbf4952c9d9fab62eaa61f1d3d8e59ce78bda992eb0 +DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz 206545444 BLAKE2B 203a562ac448e7efc4fd519d98937f2deeb70c931611a6f0efc87947f5c48cf0c0cb85358fb9ce1dce49bdcde015fd2d5fd5f3b149d7370c05649579522d228c SHA512 5c0404d878300c1a47597bdadff7fe93c3b0a115320dbf5299dfb4fd06ad322217f4b630429a9db3a5ef54c56706c1ebdf512fcd663f379f1c2df0cf3612459e +DIST rust-1.58.1-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B bf26f6540d96d124bb503b6e38acd87dc16ad16c5214559edd26f4f4f94f1f06a7059a09a7ee504721130576d6ddc5c7b2550f7bc0edffcef37bae3c0abb618c SHA512 1fa1e533adb1e355411cfb706b7c47712454547966bdf07687d9b563cf5dba9b4419d646227719a9362eb923c597f8461c194e56efcbed699610faa209985df2 +DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz 212381428 BLAKE2B 0cbc4ace0b7693de1898f160d5e76c7ff993aa8e8135a094b23dff736326ff7616471068f02a064d2b88c816fbf6f943fdaf82629dcda0e0e07b6a4a3941fcef SHA512 c1dabf7281c754d3c89044b1277618b0e928efbecde47ed98133d3f8664722d5b3dfb5fbf485cfb4c98c53d3101b192070c5c41e4395cd8563b0e8415abdf2a1 +DIST rust-1.58.1-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 85f3892a41dd381250219cb0c0c8e70b3902e5356ad34066a6db319193dd580e609975e38356097b7ca0907d62d188459c5a72783c95e77f1d08a50ae8673458 SHA512 70a2269b8326ed8b5e53dbd6698237c4d843086a139c4f4ddd6e04625f0defbcaff46149981e5a1502d56da1393b01bc0c6f74fa8e6ff407f6eb45cc5638ed41 +DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz 224773372 BLAKE2B d90db8b20611f6430759399bbccd0359f2b64ba9b9aa50312ce51dd4a43728897ab5c31d3c6bbee892db8e6e500a19184eb325a312231458cf99bad7c6f04b58 SHA512 0cfccc77cf62002ad99751744ae5a910d48c142d596eb88e187fc061c4b3a8cc1d99634802bc06b0302c41bb3462a17453af1beab6ca694a1535a1b20e10fa47 +DIST rust-1.58.1-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1fc809defcfeb240f756b3e7158d3e747b2e21ea81f3029618c58c4070070a2068603a4e93f7928a9ec3d120d7b2c7cd944d1ae03ebff1b9d5baea823dba54b7 SHA512 aba1f533227794755ca81c2bd8a3bd35fd9ad4affe5bd39430e0329310fe6c6f813fa7d95790958c61c6b22a4e4fea3488e406f05fa30c27eb6871f71e2e6e5d +DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz 164572088 BLAKE2B 117dcc6483652c3f18436e185b44d605e64b9b31634484ead2d86c1caf6ec47a53eeded5dd766e2410ce59dfcd3f7e71ccf924afab0f34988e00e4c9324a5f13 SHA512 08df5ca03f786aae814b7a22a7d05e18107a1f185338880ea1b58df23d6b1d5c9f2359650ad38c30058a2d2d6f8ae32dffc3926ff47fd3342049c2251eb48463 +DIST rust-1.58.1-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 275a43c158a444c3ab27f1e45a9de294a059c21edf7280482303b83f6b0eb65d309021a82c49410b5b24828b88f65888529e95b01886ad20f2f4c187f595b788 SHA512 c70800d0629f92e4640a64a276575b5d6c1e92c2f1b6c7ca025c98a93a2665cbd7192d2fb697c421adc34fe397297c4cb78e21b38f27fa4261483cbf423f933d +DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz 170025876 BLAKE2B 05cac890ccb9e37faeb3d995555b6f7f52281619101f033038ef056e7ee75b0c5eb2bd14357c1f8b0f5e96b9e2877514ee870bd75be1b28dce4906be95e6e3b9 SHA512 7d2fc1f0787f828fed72b1681f2668bce7cf25a87a01a818dfec18eda0fb63fb4a5e4aad8115e93dc4c8398641db4a476dfcaea07e6826fdcea727118c64e286 +DIST rust-1.58.1-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B fc25396963178a21a5b0a999e8dd3c9520b3056483ddde1f8a284747a078db0dfb0e808f2292704680e37c5cb2db990ad8311efdc0b32e2a65fd93d389c2a09c SHA512 32ab00c666c33ab53a975e9abffb7645d2101e8f508ea67d2e63b1ec01b4785e384bfe2966ca237b5494e34c2abd15e509835fa161709ddbe1c69845f26a6f43 +DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz 169136184 BLAKE2B ae698d08e2592b32b5a0927536e1c2a506c2782f9449fe20242d2ebbc5cbccb2d3a53874b973d88898157b233a88ed80987e2e83a316c05c0d478b1021c49c41 SHA512 ccb13dbb41c92956a437d0879fe9d3ad0a2aac88fa1b761e3b68a6536e389ed4997d1682730b2078fe01e68df0ef64bbe43dd2d64595dbb4ed388fe59e1d6dec +DIST rust-1.58.1-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b14cb176bb33207aed7a01de755390df0f71163940fa8121b51dccefb018cb4dd1cfe9efc359f6bb941104b8b08db0cb5a94c3af880058e59904884c5dff3e4 SHA512 1e30495303f9c6289223a2970d419a70885a866468717254b3efa5124e21cb06830692cfadca33ced94a383d1b9af43b70c08235e935ee491a1de50eafba96b1 +DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz 183853716 BLAKE2B a2b98d2c55b5bda8647301536bc8e95b72f98f41018f9b7574f85756d2cd2980fc3a3e995bdd0ed5226b7f18357c5aa3c2f8a05b1679d3dceeae6dfac7484f15 SHA512 5b9010bc3685889411fab6a06727a320123029c037a01cbd5b69f037a87ed595362b698264954b2d3dc2adbaf422fd54d7b56d81512b62147c1922aae77afa22 +DIST rust-1.58.1-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B c428bb51fdc740ea9499a1a853f4be93a53c23e59d5142d33bf103ac46e32716505eea3e45174ac3b88ffa12caa4dc010dc2d02093f397ce45b4af27f5c4191a SHA512 b3ac66cc88c75f77f7f9632c2104f45a6a730a83b75bd7b531dab833e8e5b512ef06bfea433111302f64321b688f0817b95c5eac9fddd8ff44bb49934a616eea +DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz 194177236 BLAKE2B bb0c23288014207123345deb06e40a45221d0149e8563c374810892b68cc2b5838b5c3f8c630522723daa633c5fbf72aed16e977313a6d1ce27697c22552681e SHA512 8a089c44d2f50d4677a6aa82e6308d47451ca588243e0df3fbbfd13768002f0caaabeca0d6a7f113b8f63477565296e5cb89f27760621a327cf9cb5b4999eeb5 +DIST rust-1.58.1-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b94fe36ab1896bfee3d7e7f2b17dad05d33c672407955fe45758d167bb1fb4df4d33040e6d18dfa966d33133e181ef9a0e7dd04784ed80e30b38175a901859e5 SHA512 6edd981ded134e0c2e6198014ff37868d7e71d0d2185284c28a35450ab226ffd460faeb29e8aea6d5e75a2fa94874e01c9987f1f1470efe061859d06f3d3e605 +DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz 203175404 BLAKE2B 53ebdad5859fa7a5e2cd79ea31595aef65a8cc54e11d887f04385500aeac6dd886273f7736271aeb71c70e0d512fd986f09b54ed1a9c744432688eb71c74edb0 SHA512 abaa2b749987b4a1dbc20cc3dfdccc694bce0d1e126d8e9c03dfdcaf85c5be2a2d28f9877ccdaec847c499d7044f955a70f454dafb24dc59ecb5854807eb2289 +DIST rust-1.58.1-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B d5cdf7cfca4d881931a08bf67ca1c08fafda621746b01b8e12e41cd88f5ba8107c1bc86b70f84eed4e6137f6d92ae712740b57505705c7bfd3454d8ca1131eb7 SHA512 39a9649ac0645ea6df93cef59baa6d197b9cfdf88f0c1b3846e52369c8e3e293ecf9327cfa6b5457be65896380c13445ad05c3a0cc213da0ed9bba3c12ae9b8a +DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz 196828436 BLAKE2B 9b38c585146f0832d9bc1bebbdab086f351bc88c27817e44ff251c1566b80ee5e573b59764a22802d246023ade332f861096f2e68504c7b64400754ed2676695 SHA512 d268e5a45542f7684d52b694baf5c9b504837fa43d2f5a298e3fb4e335bc6789cdb868651614fbcc1d55c13ded1b2134d57103f46b098d0a8d4a7fd58fb10b03 +DIST rust-1.58.1-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7b234a9fe76cf39177ebc6ad54799bce80fef97151c257b58ae08321c5fe427dd5b5a70627b5a4011e32560f63f6f7b6fddb42e58728004406aec6a9e7597eed SHA512 ee4a1c52cc623dd1858ce8d363f0aaccd58b8bed27a0838f399f1b5cc51f0c123d98056147a266f45724b6a25b09b11c7224c4bc01f208ff7d77e906c850aebf +DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz 198204996 BLAKE2B f6f325a10aa9c16510b77b7729410d08d09b83dadff3b8ef7e06642d8c6a50a153eb17cef338fe3e3b7efa3a48ae0e318414aea794f2f488d6f59852310bbbf0 SHA512 31ce8b53c50063c9409191beab28f67ab804549b5eb4d6bfaf42a3342ccb2f4dc039e3afffe22d87664917481e943018c0d1239e7dd0a62af34c44a975f69303 +DIST rust-1.58.1-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 995a6ce146b758bcad983fc8d7a8613b0da172c7e62a0b73d206cfd461e1046d024a8431ac287b5c267b215128542bf20d796b072ab1aed348787f50013a1118 SHA512 d7af25ef9bb92952949e7f91a13d5e910f32134b962e6432bd10ed885be451eb99c518213d9dd4c425c40ea43fa2722d6ea7c357ab0ec63b8ca4f7d020412979 +DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz 150229600 BLAKE2B 056e5a646d6758ac88e2b2b9309dbe0e9d23a285be31ba009eed936c82923ad9615874b8689ef926b14335d6c5255df41b5879794e6f0982b90553273487853d SHA512 7a61ecc8ff49769847ed4021c57279c16f261aa21469da426023fadab3820d0d962edc0fb04861ae23c8dcf821fc3ab99c2d469ba827dad30c1acc995732605c +DIST rust-1.58.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b86d3d2cbf27594dfe55fe2ff52523a9dff08d08ddd30526172f9e07760c2f854698eb8153cb9894588d75759a3d0bb7887756d005a2c69aa9cfeec8e7dee678 SHA512 82dcb22efb94bb19f2338e9cb46e3f6da3d189fe6bff12bf1ec870197d395c2ad58bd15705aa7f3cde38e5ec0266e20eb2e45761e0f55b13261d3e6b14dce60f +DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz 262511608 BLAKE2B f2ca664fe1ab0614f13ce9d7764eed935b107b393830ad14b64d8b05e032feeec57dd04cdc963ad3eea2cb23558beeb1975722be93412d4ff8fd3a75d2bbb896 SHA512 d064464333a64f91b8a30f267ecfe2b4dc5be6d639bc9f064efa86a54478c8de7156166236b7ff8d96bf8fc8cbbeebf7ac17d8b5dabf24d72e189dbbd8ae0819 +DIST rust-1.58.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 9c58a08b4e5d609230b5aae52fe7eec2dd6a0cc0eb8c257068ac2585918aba6cbe3263a6480860d34a117d3e2ee835fc8d8b1702296369c3a4e0f660f46bd62e SHA512 6c294cbbbf22940e36278e92d5095dbfee0df741694188ef1e6df7740bbe770ffb5b2467bab12825045ebf7d6fb12eebb1ce7edbb32d0afcb114c57e814fe5d7 DIST rustc-1.58.1-src.tar.xz 124353160 BLAKE2B 686c7272db544ad46f7fb01b4e05f24f4e08ff959a000cadfaef5d8fc413b93f5ed839077bc9715defc7a0a179af091f65c7a5d7104b0b3153f0654c237c094b SHA512 eff3279d2e519343cea542a9ae2daab592e44f35af344e33ff43ed55fc7c824511790d1991dd36a603d12465de8c3688e7194c2b9557f288c587ffa04738c2ce DIST rustc-1.58.1-src.tar.xz.asc 801 BLAKE2B f0b600a503b0ca777dd5d690dca7252ecc6d7d49ca4a9cc8edc0647038f727e9052a861f9868292f837d78d6b02efe9ed5efa85843262c44cf6f73254cc7c9b0 SHA512 983c1ffdc4febf8bce6efc123c76b13f233772bc0a152ffaeb7ebf8f1f7b82a6b5d653407a4d293953d6fbf62c0df4ff4d398a1133061b53ae0f85317a14380b +DIST rustc-1.59.0-src.tar.xz 128942756 BLAKE2B b28114f14c9a0fec7db56fde79a985360fd8438c3b14eede49ed12e540c2636be960d0fd800c569af193886ac76fe8bf604d5dae59214ae08cb0cc6cc0ca404e SHA512 acace866871d13a55d365f65d7e15c192c3cd33096862571df6317e066b7474d668b95ae281e0244967778c05f1e33966c3c55616218bd25d3770a2b2d4f0365 +DIST rustc-1.59.0-src.tar.xz.asc 801 BLAKE2B 061701c4fdbde930798f9f938ca3642204ae4a2ad9396937ca7d604268813d6d68f4979f20d35abdbbfeec0bb389acd86c9d3d84256db85861f6b11e3dbef80e SHA512 1b90bc01f9d68ba1f70591c4ae707295d7727b790d170a0b757d654684e59d3c26c45b66a21f9ac762debb6867494660c73daaf10be9bd567a38be44c0009f72 EBUILD rust-1.58.1.ebuild 21153 BLAKE2B c3d1b6711acf0ad90a36b35cd89a9a8a121ab16859d943ee4e399dd9ce6695e70b32fb25fe046b3123b85259110dc6ce0be926d367849eabebffd480fecb7d77 SHA512 7d0b47431de41129cc717cf6dfe31313d7afacececbcf4aae40a9c692df567e072a0674f12063b105e1a774abd0cf4ba3c06eafcfac021bbf22ef8bf5ed447a5 +EBUILD rust-1.59.0.ebuild 21158 BLAKE2B 2c71da4e3d1ffa39ca1021bada6e97c4688244c5133ce69ef3eabcf1c32033b51defe97aca6e1e89f61e355ba077c4b0cdc73822a69d5526e0348e45b4a31b6a SHA512 d87e5d861e72cb8a8b82724c5390a4146e32509d3d2c03a556930f1c7ddc46aaa8a1c7fd74a84742627f46e7dbef6487d62c70b80b6a1e11bd0000f0b46687f5 MISC metadata.xml 1298 BLAKE2B 5eb3a06bdca294100b57e3dbb71a27f4b363602a52140c5b5a6b744316db01991850538c48231d7e43371c0c0e89311269d7468a7f98a6ae9aa98c694a615699 SHA512 347981f2a8e5f1e404facd9b526e950b4d0a888dc79068d798b489270e2cccb7c2dfb116d76da56470d8548f5a24712caa9bc40c7ab5eb2a70a84093cd53f347 diff --git a/dev-lang/rust/rust-1.59.0.ebuild b/dev-lang/rust/rust-1.59.0.ebuild new file mode 100644 index 000000000000..3d97be4af509 --- /dev/null +++ b/dev-lang/rust/rust-1.59.0.ebuild @@ -0,0 +1,705 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..10} ) + +inherit bash-completion-r1 check-reqs estack flag-o-matic llvm multiprocessing \ + multilib multilib-build python-any-r1 rust-toolchain toolchain-funcs verify-sig + +if [[ ${PV} = *beta* ]]; then + betaver=${PV//*beta} + BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}" + MY_P="rustc-beta" + SLOT="beta/${PV}" + SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz" +else + ABI_VER="$(ver_cut 1-2)" + SLOT="stable/${ABI_VER}" + MY_P="rustc-${PV}" + SRC="${MY_P}-src.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).1" + +DESCRIPTION="Systems programming language from Mozilla" +HOMEPAGE="https://www.rust-lang.org/" + +SRC_URI=" + https://static.rust-lang.org/dist/${SRC} + verify-sig? ( https://static.rust-lang.org/dist/${SRC}.asc ) + !system-bootstrap? ( $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION}) ) +" + +# keep in sync with llvm ebuild of the same version as bundled one. +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" + +IUSE="clippy cpu_flags_x86_sse2 debug dist doc miri nightly parallel-compiler rls rustfmt rust-src system-bootstrap system-llvm test wasm ${ALL_LLVM_TARGETS[*]}" + +# Please keep the LLVM dependency block separate. Since LLVM is slotted, +# we need to *really* make sure we're not pulling more than one slot +# simultaneously. + +# How to use it: +# List all the working slots in LLVM_VALID_SLOTS, newest first. +LLVM_VALID_SLOTS=( 13 ) +LLVM_MAX_SLOT="${LLVM_VALID_SLOTS[0]}" + +# splitting usedeps needed to avoid CI/pkgcheck's UncheckableDep limitation +# (-) usedep needed because we may build with older llvm without that target +LLVM_DEPEND="|| ( " +for _s in ${LLVM_VALID_SLOTS[@]}; do + LLVM_DEPEND+=" ( " + for _x in ${ALL_LLVM_TARGETS[@]}; do + LLVM_DEPEND+=" + ${_x}? ( sys-devel/llvm:${_s}[${_x}(-)] )" + done + LLVM_DEPEND+=" )" +done +unset _s _x +LLVM_DEPEND+=" ) + <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= + wasm? ( sys-devel/lld ) +" + +# to bootstrap we need at least exactly previous version, or same. +# most of the time previous versions fail to bootstrap with newer +# for example 1.47.x, requires at least 1.46.x, 1.47.x is ok, +# but it fails to bootstrap with 1.48.x +# https://github.com/rust-lang/rust/blob/${PV}/src/stage0.txt +RUST_DEP_PREV="$(ver_cut 1).$(($(ver_cut 2) - 1))*" +RUST_DEP_CURR="$(ver_cut 1).$(ver_cut 2)*" +BOOTSTRAP_DEPEND="|| + ( + =dev-lang/rust-"${RUST_DEP_PREV}" + =dev-lang/rust-bin-"${RUST_DEP_PREV}" + =dev-lang/rust-"${RUST_DEP_CURR}" + =dev-lang/rust-bin-"${RUST_DEP_CURR}" + ) +" + +BDEPEND="${PYTHON_DEPS} + app-eselect/eselect-rust + || ( + >=sys-devel/gcc-4.7 + >=sys-devel/clang-3.5 + ) + system-bootstrap? ( ${BOOTSTRAP_DEPEND} ) + !system-llvm? ( + >=dev-util/cmake-3.13.4 + dev-util/ninja + ) + test? ( sys-devel/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:= ) + system-llvm? ( ${LLVM_DEPEND} ) +" + +# we need to block older versions due to layout changes. +RDEPEND="${DEPEND} + app-eselect/eselect-rust + !<dev-lang/rust-1.47.0-r1 + !<dev-lang/rust-bin-1.47.0-r1 +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rls? ( rust-src ) + test? ( ${ALL_LLVM_TARGETS[*]} ) + wasm? ( llvm_targets_WebAssembly ) + x86? ( cpu_flags_x86_sse2 ) +" + +# we don't use cmake.eclass, but can get a warning +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 +" + +QA_PRESTRIPPED=" + usr/lib/${PN}/${PV}/lib/rustlib/.*/bin/rust-llvm-dwp +" + +# 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=${BROOT}/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.55.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.49.0-gentoo-musl-target-specs.patch +) + +S="${WORKDIR}/${MY_P}-src" + +toml_usex() { + usex "${1}" true false +} + +bootstrap_rust_version_check() { + # never call from pkg_pretend. eselect-rust may be not installed yet. + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_wanted="$(ver_cut 1).$(($(ver_cut 2) - 1))" + local rustc_toonew="$(ver_cut 1).$(($(ver_cut 2) + 1))" + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + if ver_test "${rustc_version}" -lt "${rustc_wanted}" ; then + eerror "Rust >=${rustc_wanted} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too old" + elif ver_test "${rustc_version}" -ge "${rustc_toonew}" ; then + eerror "Rust <${rustc_toonew} is required" + eerror "please run 'eselect rust' and set correct rust version" + die "selected rust version is too new" + else + einfo "Using rust ${rustc_version} to build" + fi +} + +pre_build_checks() { + local M=4096 + # 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 rls 512 0) + ${M} )) + M=$(( $(usex rustfmt 256 0) + ${M} )) + # add 2G if we compile llvm and 256M per llvm_target + if ! use system-llvm; then + M=$(( 2048 + ${M} )) + local ltarget + for ltarget in ${ALL_LLVM_TARGETS[@]}; do + M=$(( $(usex ${ltarget} 256 0) + ${M} )) + done + fi + 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 system-bootstrap 0 1024) + ${M} )) + M=$(( $(usex doc 256 0) + ${M} )) + CHECKREQS_DISK_BUILD=${M}M check-reqs_pkg_${EBUILD_PHASE} +} + +llvm_check_deps() { + has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]" +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + + use system-bootstrap && bootstrap_rust_version_check + + if use system-llvm; then + llvm_pkg_setup + + local llvm_config="$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + export LLVM_LINK_SHARED=1 + export RUSTFLAGS="${RUSTFLAGS} -Lnative=$("${llvm_config}" --libdir)" + fi +} + +src_prepare() { + if ! use system-bootstrap; then + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +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\"" + if use system-llvm; then + # un-hardcode rust-lld linker for this target + # https://bugs.gentoo.org/715348 + sed -i '/linker:/ s/rust-lld/wasm-ld/' compiler/rustc_target/src/spec/wasm_base.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + local tools="\"cargo\"," + if use clippy; then + tools="\"clippy\",$tools" + fi + if use miri; then + tools="\"miri\",$tools" + fi + if use rls; then + tools="\"rls\",\"analysis\",$tools" + fi + if use rustfmt; then + tools="\"rustfmt\",$tools" + fi + if use rust-src; then + tools="\"src\",$tools" + fi + + local rust_stage0_root + if use system-bootstrap; then + local printsysroot + printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")" + rust_stage0_root="${printsysroot}" + else + rust_stage0_root="${WORKDIR}"/rust-stage0 + fi + # 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 = $(toml_usex system-llvm) + $(case "${rust_target}" in + i586-*-linux-*) + # https://github.com/rust-lang/rust/issues/93059 + echo 'cflags = "-fcf-protection=none"' + echo 'cxxflags = "-fcf-protection=none"' + echo 'ldflags = "-fcf-protection=none"' + ;; + esac) + [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 = $(usex system-llvm false $(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 = ["xz"] + _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}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + _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 + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + done + if use wasm; then + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld 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, system-llvm, 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}] + ar = "${cross_toolchain}-ar" + cc = "${cross_toolchain}-gcc" + cxx = "${cross_toolchain}-g++" + linker = "${cross_toolchain}-gcc" + ranlib = "${cross_toolchain}-ranlib" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + 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=( + codegen + codegen-units + compile-fail + incremental + mir-opt + pretty + run-make + ) + + # fails if llvm is not built with ALL targets. + # and known to fail with system llvm sometimes. + use system-llvm || tests+=( assembly ) + + # 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 + newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo + + local symlinks=( + cargo + rustc + rustdoc + rust-gdb + rust-gdbgui + rust-lldb + ) + + use clippy && symlinks+=( clippy-driver cargo-clippy ) + use miri && symlinks+=( miri cargo-miri ) + use rls && symlinks+=( rls ) + 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" + 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_ + + 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/rustdoc + /usr/bin/rust-gdb + /usr/bin/rust-gdbgui + /usr/bin/rust-lldb + /usr/lib/rustlib + /usr/lib/rust/lib + /usr/lib/rust/libexec + /usr/lib/rust/man + /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 rls; then + echo /usr/bin/rls >> "${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}" + + if use dist; then + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version sys-devel/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/smlnj/Manifest b/dev-lang/smlnj/Manifest index 417e6c84c1eb..109fa50c2a93 100644 --- a/dev-lang/smlnj/Manifest +++ b/dev-lang/smlnj/Manifest @@ -52,5 +52,5 @@ DIST smlnj-110.99.2-smlnj-lib.tgz 790390 BLAKE2B 8194c48196e5e58eb22e6f4f1a91b7b DIST smlnj-110.99.2-system.tgz 281742 BLAKE2B c9af6495f6991cd9e6768ceab1c8841e30ba83d981e2b8b0482851c8cca9db548e22a2abce2ee0764e4e5ad37723d5819e4e44c91e4e69a4b353327e6ea55769 SHA512 aa27b46301ddfe3f6bf26e04a3763c52b016435d7aa9142f30300b026d2587cd85c84992084c2d9cd1a2dd90b1b82897fb106067aff0d16207050302ba985421 DIST smlnj-110.99.2-trace-debug-profile.tgz 3921 BLAKE2B ebc7d3270bcee5464c7eb5a70c851d865ffbf2ba31a084b61074ffe22f7d97c255fe4584fdbf491c7d5e2db65e3efb5648eb5995b81561cdfee152ae8b31c859 SHA512 e1fd41e15934eda2d33b69d21eeb582306dfc09576cc7f69f72cbc599e4b321c453327a7cc31f4689e6d3d87b2fc0453817ef696e565dff4d7ef4c1e18e31c29 EBUILD smlnj-110.82.ebuild 4197 BLAKE2B 5d6e3b0367d5a358b3c5dac4f5bf92892a1e90baaa8a41cb18329aa1bee05de9e3dfa98f6fa802f5ca59285d1b56a6f9d13f393437f2c2dffdd6661257ee3277 SHA512 f65cd61072960aef6a294c8da5e3af18ff4d60634a830859ee533908999dc4c6320d117eb65ff3bdc01bb30612a8a6e896b8481bb4deca5acfdbaf5e994492a6 -EBUILD smlnj-110.99.2.ebuild 2725 BLAKE2B 8b6ce63bc5f8daf83d0766fc6e74f53dd056ecd61bdacaf79fbb6f9e20274dda765ea731f0154653bc82d078ea085231769ae35f6cfc4d4eb0b45184baedf3cd SHA512 31be42bd6a2d52ca91fac230c9e31be8c796046868e2d5b13b1c77b06a07dddc056e35c4c4be9e51a512b5d2558f15b3987e6daa91f921ccc8dffd910e08dfb7 +EBUILD smlnj-110.99.2.ebuild 3092 BLAKE2B f0550382f25b066afb5ca746779c1e0922b396f20c515a1d9e6e34ec434047cdc347ce84b12141a3703e6220476779f15ae323b466a33b497ec4a3050e732b59 SHA512 f8da6f71b600ad6ea53c79a88d2e4af0bd44acb30399b77d96bb554993d3e6743bdeff7f58dca83db7b11f26f8ac82e64fad85b4fc5615d3debf2f8334ba75b5 MISC metadata.xml 628 BLAKE2B 09cedb6a5ca151cfc4ac25fd187995cb2295e8aeb45f1f01741de7e01ca84a57ef060630db3a769983c41d7d290445f8b2ba88cfbbb2d8d983b06403bb505b8b SHA512 1df6d363a4d7a1a96035e24280f11a1fa78a34c464df4025c2e2a1f1e1768f1f0aab3d48741316428bd27c17bc457ea3a5882a202b8d510b2c5f28c83943a79e diff --git a/dev-lang/smlnj/smlnj-110.99.2.ebuild b/dev-lang/smlnj/smlnj-110.99.2.ebuild index 247d06dc4ca7..9186f5e6aefb 100644 --- a/dev-lang/smlnj/smlnj-110.99.2.ebuild +++ b/dev-lang/smlnj/smlnj-110.99.2.ebuild @@ -78,6 +78,9 @@ src_unpack() { mkdir base || die # without this unpacking runtime will fail ./config/unpack "${S}" runtime || die + + # Unpack asdl to fix autoconf linker check + unpack "${S}"/asdl.tgz } src_prepare() { @@ -89,8 +92,15 @@ src_prepare() { -e "/^CPP/s|gcc|$(tc-getCC)|" \ -e "/^CFLAGS/{s|-O[0123s]|| ; s|=|= ${CFLAGS}|}" \ -i base/runtime/objs/mk.* || die + sed -e "/^AS/s|as|$(tc-getAS)|" \ + -e "/^AR/s|ar|$(tc-getAR)|" \ + -e "/^CC/s|cc|$(tc-getCC)|" \ + -e "/^CPP/s|/lib/cpp|$(tc-getCPP)|" \ + -e "/^RANLIB/s|ranlib|$(tc-getRANLIB)|" \ + -i base/runtime/objs/makefile || die sed -i "s|nm |$(tc-getNM) |g" config/chk-global-names.sh || die + sed -i "/^AC_PATH_PROG/s|\[ld\]|\[$(tc-getLD)\]|" asdl/configure.ac || die } src_compile() { diff --git a/dev-lang/spark/Manifest b/dev-lang/spark/Manifest index e24eca4cf84b..641d91dc47ae 100644 --- a/dev-lang/spark/Manifest +++ b/dev-lang/spark/Manifest @@ -1,5 +1,5 @@ AUX spark-2021-gentoo.patch 860 BLAKE2B 6eb65c19b604a8d9370bf4da87899c1b8471c52763c17b97322856ddb701e46f6d5c5de03df204c287c728413e5ab8de2f320c75d9c3acb049abad62360037da SHA512 ac636251eb45868430e46d0f5566ab655dc5a223bd44fa4b76bd75c679779cc037bf6ef376f9f4ec22a90b1347bf302d382e1d540b448acb6308c1b3e33036ec DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201 DIST spark-2021-2021-20210519-19A1A-src.tar.gz 11361491 BLAKE2B 67f8d27ae68ef4929aafaf96c470394e093883619c5c778e804f1ff62c297d5a3f628e04e987fb06741cb824710599928a7ec3b94fa6d7af029cff35be0898c3 SHA512 b595516892f6054d3c856c30c4296be9cd61adca3ea2cffe3c9060fbab249d36ce1b8fff6f80e1e8173ef6e232dd9c2da8a581ae9964845120c03d09896b635c -EBUILD spark-2021.ebuild 2397 BLAKE2B 53662e441b8e8d8b85f5be564d9ca2c31dc559a0f6f59125855b6b9f53101f6b2ea99838e718a859184df5ddcd4c408a8c204f0c9c6c339d38ac50a65b51962d SHA512 8ae3218a3e4504166b8827618c82d1c59f695ea54e365acb498db387ed359e8860fac9a358d9ed2ac5b8fb362e6178732c3451a163e0d459fe47099daa08b41d +EBUILD spark-2021.ebuild 2277 BLAKE2B 6ccc441fd55b4ad2cc526fb58bea232342ba5a0f263d8ef585a4118b97755210aa0275de0b4d2dadec46a0e3c83a025c8544e68de27144a353ff3bf8faf99db0 SHA512 6fae44b78cbfbcf30c194df6ef38c9ae04de4d569fcceb3c08644b6c4a073cbfb95bf2b489e7e599ab58acbf8d8e7e475d074eb5681eeb34647ed8884e8732ae MISC metadata.xml 671 BLAKE2B b4bbfa26668fcec46cc224b60c1c62ac09f5e11314a32ea1288614b12029f989aa234305f0dbbb66f63b15a809d3f17261ef1155c0b72ea87bc29e3ccdf2c56f SHA512 e804dcad5593c98c9e4d5624be0e6dfa78545a48e46510b5d76c21da59dbe2c632495d96244dbaca91105a3b09efcafc759f1866311a365744887733c1a60670 diff --git a/dev-lang/spark/spark-2021.ebuild b/dev-lang/spark/spark-2021.ebuild index 9e53597a8dc3..9b763b07b66a 100644 --- a/dev-lang/spark/spark-2021.ebuild +++ b/dev-lang/spark/spark-2021.ebuild @@ -1,12 +1,11 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 ADA_COMPAT=( gnat_2021 ) -PYTHON_COMPAT=( python3_{7..9} ) -inherit ada python-any-r1 +inherit ada ADA_MIRROR=https://community.download.adacore.com/v1 ID=969ce28e217bd5aa4db549a544d20846408a5229 @@ -29,7 +28,6 @@ RDEPEND=" sci-mathematics/alt-ergo sci-mathematics/why3-for-spark" DEPEND="${RDEPEND} - ${PYTHON_DEPS} dev-ada/gprbuild[${ADA_USEDEP}]" REQUIRED_USE="${ADA_REQUIRED_USE}" @@ -38,11 +36,6 @@ S="${WORKDIR}"/${MYP} PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) -pkg_setup() { - ada_pkg_setup - python-any-r1_pkg_setup -} - src_prepare() { ln -sf "${WORKDIR}"/${GNATDIR}/src/ada gnat2why/gnat_src || die default diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index b6af03182e97..5519bcef67d9 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -1,7 +1,4 @@ -AUX moz38-dont-hardcode-libc-soname.patch 637 BLAKE2B d78f53814955c3e0842040f47330d8216b3f496574fadc045294b534f2ec7d049b14564cb495c37ae2d084db2f5671e447d1d98aa19a367f8b96ec97201b4f30 SHA512 f3d447996da3bf445f082a0b5c3018eb618b6b08a49bc43f275dc6cc77d7d906928e99264378472e96213df8f8b5d279a0af72d9d6a0a3417b266d7752c7f1fd AUX spidermonkey-1.8.5-LTO.patch 1886 BLAKE2B 28559662306681570ed7b910190da9042a7724a5d9fda0960ebe36039e994b56b65f103095381a8838db54e2ebdd5b8bc3f0f7d500f338907624ca448695a2f1 SHA512 8c44683370f7a919a930dc505278240164b1bea35cd0408ce7d880f56603abde9799aea3bf35f05bd080b214d5d0b944dd004ef5e157607bbb3e679f3ff2c574 -AUX spidermonkey-52.0-fix-alpha-bitness.patch 836 BLAKE2B bf89aadfdceab9d1460c31b496618dc19d2461d27e0713887d8c59b7a565a70d38cbaa2ca099b50555417beba54c2b207f80cf13ba633da35be7fab6b3c41faf SHA512 67ccafd8e2b84d59d13ff93bd12930b4804f8cf64cc896a4edf99c962481f583866ea6c4f84b3fd9d1093ad8ca7d23712615470dfadb57d293258754dd612484 -AUX spidermonkey-52.0-gcc9-overflow.patch 821 BLAKE2B c35c5a37b40e86d1a23588aebd9b53e81e0a70b01e969bc54c24c68a8adef567d03833e1afa8a02d1659f373226958b8ef3ce84982a8ba24d18fa28a96aa6e40 SHA512 6173486c4d28cb727096a470b22b6b98c675ee355934bf134882a5d068ef492e4cd3519e7da293eae756d5b9cb9950ffd4b1723c6a47de6493491a4bc3573f3b AUX spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch 2554 BLAKE2B d5759da22c521e389b8633aa2aa75e0a300af76f431a53c0bd445781002b0b7dd93543657cdf53afb12d87e4be1464584d5c3ccb30a2c9acc608aaeb1b2eb34f SHA512 d767cb00988772a0e5789d5b27aaaf0c0cc0124f4dd78ba67d2c4b4587c26346b01fc5b3d29f346e931dcd037ecefc8cec0d5c48510726a1841a6b6396c5507c AUX spidermonkey-60.5.2-ia64-support.patch 1615 BLAKE2B bd2ae36194bdb6a17638ec500e5211abb9700f2b7c5056b5be51e8e54d59326a5c9f0cb6d2d6fa56dd946dba264635e6d75e9b4ed52103c7904df19d33257c7d SHA512 71f2a0f27910ae086910f6599985a32ad2fdedeffc9c4c6baa446f4856dee74051fa158cc0552a3f21210098e0d006a0b5d781437fded80969e1edf23c04b9e0 AUX spidermonkey-68.0-add-riscv-support.patch 4328 BLAKE2B 64ef005bff60ce3cc3e698a65494ef97441b9f27493bcbc7576286f6e06ce754dbcbcc8d9088ca88f6aa1a1ea7f008565922b5a4baf54019c64d8040c5b509f1 SHA512 70aad64600221f805f0fcd485b63c5383e9f160889b001963f5b6196d57672257c8ce02e75ad384bd2a0eeb9eeae0f7fc4820f1abcec3677f736cd60391f7d6f @@ -11,21 +8,18 @@ DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551 DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378 DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a -DIST firefox-91.5.1esr.source.tar.xz 388976720 BLAKE2B 5ade6b402af1ad14438eabefe3d8249b8e0125968b7d6950f29747ff3a41f9f1b02c52a417756b07b68bacdde43549768d1b999b15ecdca237be9c0363d13b0c SHA512 26239e7a94b79f1e24a6667d7cf1c398d75992e8850144affbc5d3f34f04b91f0c9b020cab662b2cd4927924839ff2ddd2f3605c537bb5494fd9ac0d951b14fa -DIST firefox-91esr-patches-04.tar.xz 17460 BLAKE2B 305d8b0bc8a4115a76e459afd8bc7987bdde2e76d4564faf664a92a4c6a95c975ce599c5ddde9bdafc3c37ca5c8758e0ef815364d0ce4dd5fd452ddae73a77eb SHA512 6073b31bb898fe61d72435b11deacb5e93a1744227e4704bb3012e0cb363792f3a965d72e7769c4aae3a25f0c81247b287ce145c81bbd0a87470a5438fede11e +DIST firefox-91.7.0esr.source.tar.xz 383133596 BLAKE2B 374da61d89d4b7b24d01e8101926056d6819e7c34c80630694cd2d95193dd6662ccfe3195361e7cd5a4167098e74bb7018d02d5af715fdcf95228bf8f54cb1c2 SHA512 925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301 +DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 -DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0 -DIST spidermonkey-52.0-patches-1.tar.xz 3112 BLAKE2B d8f4c44cb2ae290fa51efc4725a2c1b3cd85dd9f04f4ccfa5681ba6df5f37f5d8d4ad6859316a70d0f7647ac2cee014d126f88b7d4ca74a82796f35b141200ef SHA512 5328403e3b9ecd1c456037e7cca374c2453d9331752c48b9466e498e22fd8d4ca6e1804e51140ee0be027fcef7d0c3f26822b1f569305a3b2f03209b7fb15499 DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2 DIST spidermonkey-91-patches-02j.tar.xz 4620 BLAKE2B d102c6a05daea458772fe3b0eab241b56f3eddc419ff188f0391977a5988b93a95cee3ede95b73f48493735473875bdc48553dfda639fa57571d9d6d8bcbc4c9 SHA512 b725db2176a316277fc052830137790b45e9be9059f528c0b740aeb6293a24f67a44218c5275ae045c6cef1f7790597ddc9ff3b1bb57f8bed59e39e5763565b7 DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2 EBUILD spidermonkey-1.8.5-r10.ebuild 4000 BLAKE2B c150d2215de328dc57f3868db23b74135e63ed278edff61ff28663a6ea7556c03bc47bd62fc16dffbda697dd7b5f1d2d30b72f0ba1cb919bd0b84da39abf5508 SHA512 951d6daf23ae5ce5f5f900ef452e1e5d928584cc20f28d9d30ac234cc2047b3d79b19ca54dbd5722dc133f34f0605780e973e62612cfee0a42051cd357738905 -EBUILD spidermonkey-52.9.1_pre1-r4.ebuild 4391 BLAKE2B 2802f20473c1f6855a3f0580f10c0d78f3f6207d293b4146d26a275f8bdc7691339d3de626add2f9cc4a3732e1005613bba8cec2faff906d703fa71ec48a6944 SHA512 dd395c788a1ee98f5a5bb88bade6cd0784d377dc6f5ed983ca85ce1ae7815315e75301430850983ebfbe74cdc866e681389665b49142a375da8d183baf50a4b4 EBUILD spidermonkey-60.5.2_p0-r6.ebuild 4038 BLAKE2B a448286bcfeb5d264b7ab1aac7a817576a85d5db187d56f6a4353ea8bbd08579fe8d9db72429255ea0fffa429ab3892e4d7478f9bec3911bec9fc98ce21bc49a SHA512 9f72e297efdb74e780916e63453ad391aeab44540cb4150bfecb18a512b85be9dc3f5e0af4fa83f2debad35187ba83c3b91396a3959d42fdf947a061f93beddf -EBUILD spidermonkey-68.12.0.ebuild 7758 BLAKE2B d7d8fad6690f2b8f29f31eb5c4e178c4ac5a8174e3fc54bd504c9940b7486142f5f2b7513a5a767b7d72a56dc40be2cf43fed702db09a174eab2b9c6b92701b6 SHA512 faf3002ec375616c8a57dec4591a7a61a4b79466cd3ef9db976cc638bae269ff6eef4695496c63fd677e1228c1681527298e286761b57bf98629672934e0efed +EBUILD spidermonkey-68.12.0-r1.ebuild 7773 BLAKE2B d8e6184c31e9bdfe66aadf729a49c0a0ca36f01b64f60c774311259a34dc7957a4e4c3c654759c1f53d7a808cf7ee6fcc188afdf098fb8e0df173431e1b55746 SHA512 c906e769219258e7aab6b0f61443bd5297e6cc1af1210b8ae3082f1b71372726f8db0a24c7be88aaf9cf8d3ed285ed9a6ac925a23a0d25602e07176aa6f4722b EBUILD spidermonkey-78.15.0.ebuild 13143 BLAKE2B 04dc5b1b40f225ea4bd81b8c57af14310508622f6ac9a65e057555b4437bda5afbd760a904ddb390a5daecb059f8810f2f15dd2aa7507ed7e2a2ffce4b9945f1 SHA512 14d7769b69e36fba632c3bce629dddfdb7df23144465e21057fb5b00c8f16ee8be8fdf89a3f8298dd848bd741e875f057de7e1e0faa1c45efd2f655c83a7cb8a -EBUILD spidermonkey-91.5.1.ebuild 11792 BLAKE2B f88d00579bececc623363188cfa404feac27dfac8fc4d137c52e763a7110fce4afe86b0a8826fa1eb444c7cb45cb0ca8093b066eb92c165e71d3c2e408bb4afe SHA512 5638b3d71e9e0f5a0980012b174d6fbefa20008b5bfc1a429b3d3900ccbcf3e7feb49b38d766ccc4ba1766538553f980f6d5ec83a9741748fd8ce019682eab22 +EBUILD spidermonkey-91.7.0.ebuild 11207 BLAKE2B df18fe7037860a6a8031939eee28b33133dc077df4e7878b5089f8d3554e2c61308929f263a203fa2eff767a00eb291abc58407ac55a8975dedbd3b509e9a223 SHA512 16d66cf96b873be5cd6e538cd4b92b7f39148e1d7a374fb4769f239be219b228bc1aa20482b261821d91f2e0f6b884fe032853ecfe394c3daf1d7f7ea086fd92 MISC metadata.xml 869 BLAKE2B 79d6ea91e84e3bb666797cde6b2993282ff1b4266dfa835eaf02d8aa65d5d000729b149a49c9fa5c8dbf12e4b97b46d976243c888834db9df73a8a5c814aa610 SHA512 f78399a1ad88583c50ad1e967f5ba293cdfff7d58cf26b87bd8888c7102b62d42ef1982d1b8462f3d31f0806b6cead8db28b7f0c7b12c08d3871607b5a4c63cc diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch deleted file mode 100644 index 708c7496975f..000000000000 --- a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500 -+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500 -@@ -93,10 +93,11 @@ - - if info['os'] == 'linux': - import ctypes -+ import ctypes.util - import errno - PR_SET_SECCOMP = 22 - SECCOMP_MODE_FILTER = 2 -- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0) -+ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0) - info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT - else: - info['has_sandbox'] = True diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch deleted file mode 100644 index b0f872964388..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch +++ /dev/null @@ -1,32 +0,0 @@ - -# HG changeset patch -# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> -# Date 1482966103 -3600 -# Node ID 1f4d99d8dff27bcc25eff21dc6a16dae63f48595 -# Parent ce9e9f0dc752896ac7ba00bb0610b3f731e948b0 -Bug 1326496 - mozbuild: Fix bitness from 32 to 64 bits on alpha. r=glandium - - -diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -35,17 +35,17 @@ Kernel = EnumString.subclass( - 'Linux', - 'NetBSD', - 'OpenBSD', - 'WINNT', - ) - - CPU_bitness = { - 'aarch64': 64, -- 'Alpha': 32, -+ 'Alpha': 64, - 'arm': 32, - 'hppa': 32, - 'ia64': 64, - 'mips32': 32, - 'mips64': 64, - 'ppc': 32, - 'ppc64': 64, - 's390': 32, - diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch deleted file mode 100644 index c7eb0f62b280..000000000000 --- a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001 -From: -Date: Thu, 25 Jul 2019 10:00:33 -0500 -Subject: [PATCH] gcc-9 overflow fix - ---- - js/src/jsapi-tests/testPrintf.cpp | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp -index 51486856..03cc118d 100644 ---- a/js/src/jsapi-tests/testPrintf.cpp -+++ b/js/src/jsapi-tests/testPrintf.cpp -@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf) - CHECK(print_one("27270", "%zu", (size_t) 27270)); - CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270)); - CHECK(print_one("hello", "he%so", "ll")); -- CHECK(print_one("(null)", "%s", zero())); - CHECK(print_one("0", "%p", (char *) 0)); - CHECK(print_one("h", "%c", 'h')); - CHECK(print_one("1.500000", "%f", 1.5f)); --- -2.22.0 - diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild deleted file mode 100644 index 0c0d352f3bd5..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -WANT_AUTOCONF="2.1" -inherit autotools toolchain-funcs pax-utils mozcoreconf-v5 - -MY_PN="mozjs" -MY_P="${MY_PN}-${PV/_rc/.rc}" -MY_P="${MY_P/_pre/pre}" -DESCRIPTION="Stand-alone JavaScript C++ library" -HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -#SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2" -SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2 -> ${MY_P}.tar.bz2 - https://dev.gentoo.org/~whissi/dist/mozilla/${PN}-52.0-patches-1.tar.xz" - -LICENSE="NPL-1.1" -SLOT="52" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86" -IUSE="debug minimal +system-icu test" - -# Disable tests: -# Version is dead and most issues are related to the use of -# system's ICU. -RESTRICT="test" - -S="${WORKDIR}/${MY_P%.rc*}" -BUILDDIR="${S}/jsobj" - -RDEPEND=">=dev-libs/nspr-4.13.1 - dev-libs/libffi:= - sys-libs/readline:0= - >=sys-libs/zlib-1.2.3 - system-icu? ( >=dev-libs/icu-58.1:= )" -DEPEND="${RDEPEND}" - -pkg_setup() { - [[ ${MERGE_TYPE} == "binary" ]] || \ - moz_pkgsetup - - export SHELL="${EPREFIX}/bin/bash" -} - -src_prepare() { - # remove patches integrated by upstream - rm -f "${WORKDIR}"/${PN}/0002-build-Add-major-version-to-make-parallel-installable.patch \ - "${WORKDIR}"/${PN}/0005-headers-Fix-symbols-visibility.patch \ - "${WORKDIR}"/${PN}/0007-build-Remove-unnecessary-NSPR-dependency.patch \ - "${WORKDIR}"/${PN}/0008-tests-Skip-on-all-64-bit-archs.patch \ - || die - - eapply "${WORKDIR}/${PN}" - eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch - eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch - eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch - - eapply_user - - cd "${S}"/js/src || die - eautoconf old-configure.in - eautoconf - - # remove options that are not correct from js-config - sed '/lib-filenames/d' -i "${S}"/js/src/js-config.in || die "failed to remove invalid option from js-config" - - # there is a default config.cache that messes everything up - rm -f "${S}"/js/src/config.cache || die - - mkdir -p "${BUILDDIR}" || die -} - -src_configure() { - cd "${BUILDDIR}" || die - - tc-export AR RANLIB - - ECONF_SOURCE="${S}/js/src" \ - econf \ - --enable-jemalloc \ - --enable-readline \ - --with-system-nspr \ - --disable-optimize \ - --with-intl-api \ - --with-toolchain-prefix="${CHOST}-" \ - --disable-gold \ - $(use_with system-icu) \ - $(use_enable debug) \ - $(use_enable test tests) \ - XARGS="/usr/bin/xargs" \ - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}" -} - -cross_make() { - emake \ - CFLAGS="${BUILD_CFLAGS}" \ - CXXFLAGS="${BUILD_CXXFLAGS}" \ - AR="${BUILD_AR}" \ - CC="${BUILD_CC}" \ - CXX="${BUILD_CXX}" \ - RANLIB="${BUILD_RANLIB}" \ - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - "$@" -} -src_compile() { - cd "${BUILDDIR}" || die - if tc-is-cross-compiler; then - tc-export_build_env BUILD_{AR,CC,CXX,RANLIB} - cross_make \ - MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ - HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ - MOZ_PGO_OPTIMIZE_FLAGS="" \ - host_jsoplengen host_jskwgen - cross_make \ - MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \ - -C config nsinstall - mv {,native-}host_jskwgen || die - mv {,native-}host_jsoplengen || die - mv config/{,native-}nsinstall || die - sed -i \ - -e 's@./host_jskwgen@./native-host_jskwgen@' \ - -e 's@./host_jsoplengen@./native-host_jsoplengen@' \ - Makefile || die - sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die - rm -f config/host_nsinstall.o \ - config/host_pathsub.o \ - host_jskwgen.o \ - host_jsoplengen.o || die - fi - - MOZ_MAKE_FLAGS="${MAKEOPTS}" \ - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - emake \ - MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \ - HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \ - MOZ_PGO_OPTIMIZE_FLAGS="" -} - -src_test() { - cd "${BUILDDIR}/js/src/jsapi-tests" || die - ./jsapi-tests || die -} - -src_install() { - cd "${BUILDDIR}" || die - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - emake DESTDIR="${D}" install - - if ! use minimal; then - pax-mark m "${ED}"usr/bin/js${SLOT} - else - rm -f "${ED}"usr/bin/js${SLOT} - fi - - # We can't actually disable building of static libraries - # They're used by the tests and in a few other places - find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die -} diff --git a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild index feae0d7ca94d..196bc4fe1f7e 100644 --- a/dev-lang/spidermonkey/spidermonkey-68.12.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild @@ -60,9 +60,10 @@ IUSE="cpu_flags_arm_neon debug +jit test" RESTRICT="!test? ( test )" BDEPEND="dev-lang/python:2.7 + virtual/pkgconfig test? ( ${PYTHON_DEPS} )" -DEPEND="<dev-libs/icu-70:= +DEPEND="dev-libs/icu:= >=dev-libs/nspr-4.21 sys-libs/readline:0= >=sys-libs/zlib-1.2.3" diff --git a/dev-lang/spidermonkey/spidermonkey-91.5.1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.7.0.ebuild index a57298109ce0..404d4dc5de00 100644 --- a/dev-lang/spidermonkey/spidermonkey-91.5.1.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-91.7.0.ebuild @@ -4,7 +4,7 @@ EAPI="7" # Patch version -FIREFOX_PATCHSET="firefox-91esr-patches-04.tar.xz" +FIREFOX_PATCHSET="firefox-91esr-patches-05j.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-02j.tar.xz" LLVM_MAX_SLOT=13 @@ -71,7 +71,7 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test" RESTRICT="!test? ( test )" BDEPEND="${PYTHON_DEPS} - virtual/rust + >=virtual/rust-1.51.0 virtual/pkgconfig test? ( $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') @@ -98,13 +98,6 @@ BDEPEND="${PYTHON_DEPS} lto? ( =sys-devel/lld-11* ) ) ) - ( - sys-devel/llvm:10 - clang? ( - sys-devel/clang:10 - lto? ( =sys-devel/lld-10* ) - ) - ) )" DEPEND=">=dev-libs/icu-69.1:= dev-libs/nspr @@ -170,19 +163,9 @@ pkg_setup() { [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - # temp fix for https://bugs.gentoo.org/768543 - # we can assume that rust 1.{49,50}.0 always uses llvm 11 - local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') - [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") - [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" - - if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then - local version_llvm_rust="11" - else - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - fi + local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') + [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") + [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest index 76d83f30b526..1cc26d6314d3 100644 --- a/dev-lang/swi-prolog/Manifest +++ b/dev-lang/swi-prolog/Manifest @@ -1,7 +1,11 @@ DIST swipl-8.4.1.tar.gz 11386908 BLAKE2B bd53355abe63ffde348ed38b0e7fee4bcba4e74128c73904a72ca3ba2021a8b650d08480a643ea3336f3fc6d1d7bcf7651deb1d32608581ce43bc118288df6da SHA512 22806d8abd0b729e27a6d7bbbd0df37af8af21bb186a8de58ec5f9a1d32c9a477838fd10155ff21998737fcc2aaf4711d1d4d5457ce5d62e328d5da032474ee5 DIST swipl-8.5.4.tar.gz 11406222 BLAKE2B ece161b1143897324e2204bbeed0c7784824481de8b5ada12d42b4fea14334ab9b2be68cc39f3e4aceffb049baf6ec6c6b239438c4d8654172980e6aecea8016 SHA512 c277248d8a3b7cbad622d06eb0a418cbb87540802152d9a49364c3b45905e0be0be28ae100c6abcb06084c6ca5e92d7d4b46553d59d47c8b987e01b0d420bdb6 DIST swipl-8.5.5.tar.gz 11403057 BLAKE2B 13bdd69245bd6317e13642cf520a644f3bd4932ac1590afee0dce98bdb4da7a95bae37a9f7e5a0b88e7311d277a10fe8be7a2c92af52fe2d8865caface71e7da SHA512 a25e582b4d1ba20ee0a2568a71f961ca6436b1d31f046cceec8a2e27e48034dd06c751f1ea5452cce72ce2186adc26334bb1a895c54112597df8b0fba2fba883 +DIST swipl-8.5.6.tar.gz 11425087 BLAKE2B c2d051302cf7f7c11cec84bc1b6fcea3cf1b427c84e88210d40ea231c8a1bb9960cbdbe4a199cf41b81737b5b8dbeb8b096081e075adbc3aefd2f4937936afe0 SHA512 148dc86ed48895cee682941c0b93f98e803b11b97785339e943381ed0ecd4f60e6cd2e8909225156ae503a5463d2ff5ce756ad0e0078995886ac021bb748df69 +DIST swipl-8.5.7.tar.gz 11426463 BLAKE2B cde89176abf278b115b2d9db884b4a605291e9154016c3489920ced9398befa52c811bb606e606d921c10dece92bab46c8c98330f18b7f723df8300e69e0f62c SHA512 36755abe26c5f629ed9f650dd9cef8fb4b36772f2c233e2bb2aba05fd7a1c72d9543935187a44b5b575679286cf20749a5991048f6c433d63a4c06439ed8ff35 EBUILD swi-prolog-8.4.1.ebuild 3177 BLAKE2B 2c3984b0a9aff83643922c5d8ad4beaab21a6ddcf6cd4090e23ad4a770d104e6d3f2f75c9d4bf910e720e23eb5e1f73ae999c5dc7012c2b0ddd660171478f9c2 SHA512 488763c483a760a468319742bca8df6135dbb8f754176dfc21b337d051c48f42d7ceddb210bddaaa3a599d5b162a474694bfbb8a68f16d146496d1d087ec9c29 EBUILD swi-prolog-8.5.4.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1 EBUILD swi-prolog-8.5.5.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1 +EBUILD swi-prolog-8.5.6.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1 +EBUILD swi-prolog-8.5.7.ebuild 3179 BLAKE2B 4b173dd107ec5141d8a3bbc4175363deae9bf4598bc21020b9c74879a87cd554e1221ffc778ec8b50ba746ecd3536b14110ea67d1d8f70471d3de86073568b4c SHA512 0d01e1af08c63925a9487ebcec31e207febf63a2caf83a6ce1385bf6948ae7d1f3fb0c14d22ed3e4032c5e11b09954a68bcecac2c03263f3cb243ed5ab8f93a1 MISC metadata.xml 420 BLAKE2B 9818164553dd7e47db556eebaa71cabc54621317465c3ef09a0fae22259c9d20bede548a61ffa383e9df8eaf6efa6b5ac800d49b1ee5cae3691d0112ed4a2a30 SHA512 6ce90a29c77852e822d5c35c4a1b0b4a093cb90070656b06b09337c57f00fb6ff42ae3c8178a22bee17ffcec8f40ea4ed6c9d0cecf4afe74e01b3389479fa4ff diff --git a/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild b/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild new file mode 100644 index 000000000000..f1f52dee9349 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.5.6.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake desktop xdg-utils flag-o-matic toolchain-funcs + +PATCHSET_VER="0" + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test +uuid X yaml" +RESTRICT="!test? ( test )" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + virtual/libcrypt:= + archive? ( app-arch/libarchive:= ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0= ) + ssl? ( dev-libs/openssl:0= ) + java? ( >=virtual/jdk-1.8:* ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/swipl-${PV}" + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses) + sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die + sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + local mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake_src_configure +} + +src_compile() { + XDG_CONFIG_DIRS="${HOME}" \ + XDG_DATA_DIRS="${HOME}" \ + cmake_src_compile +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake_src_test -V +} + +src_install() { + cmake_src_install + + if use qt5; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_postinst() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} + +pkg_postrm() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} diff --git a/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild b/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild new file mode 100644 index 000000000000..f1f52dee9349 --- /dev/null +++ b/dev-lang/swi-prolog/swi-prolog-8.5.7.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake desktop xdg-utils flag-o-matic toolchain-funcs + +PATCHSET_VER="0" + +DESCRIPTION="Versatile implementation of the Prolog programming language" +HOMEPAGE="https://www.swi-prolog.org/" +SRC_URI="https://www.swi-prolog.org/download/devel/src/swipl-${PV}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="archive berkdb debug doc +gmp java +libedit minimal odbc pcre qt5 readline ssl test +uuid X yaml" +RESTRICT="!test? ( test )" + +RDEPEND="sys-libs/ncurses:= + sys-libs/zlib + virtual/libcrypt:= + archive? ( app-arch/libarchive:= ) + berkdb? ( >=sys-libs/db-4:= ) + odbc? ( dev-db/unixODBC ) + pcre? ( dev-libs/libpcre ) + readline? ( sys-libs/readline:= ) + libedit? ( dev-libs/libedit ) + gmp? ( dev-libs/gmp:0= ) + ssl? ( dev-libs/openssl:0= ) + java? ( >=virtual/jdk-1.8:* ) + uuid? ( dev-libs/ossp-uuid ) + qt5? ( + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 + ) + X? ( + virtual/jpeg:0 + x11-libs/libX11 + x11-libs/libXft + x11-libs/libXinerama + x11-libs/libXpm + x11-libs/libXt + x11-libs/libICE + x11-libs/libSM ) + yaml? ( dev-libs/libyaml )" + +DEPEND="${RDEPEND} + X? ( x11-base/xorg-proto ) + java? ( test? ( =dev-java/junit-3.8* ) )" + +BDEPEND="virtual/pkgconfig" + +S="${WORKDIR}/swipl-${PV}" + +src_prepare() { + if [[ -d "${WORKDIR}"/${PV} ]] ; then + eapply "${WORKDIR}"/${PV} + fi + + sed -e "s|\(SWIPL_INSTALL_PREFIX\) lib/.*)|\1 $(get_libdir)/swipl)|" \ + -e "s|\(SWIPL_INSTALL_CMAKE_CONFIG_DIR\) lib/|\1 $(get_libdir)/|" \ + -i CMakeLists.txt || die + + local ncurses_lib_flags=$($(tc-getPKG_CONFIG) --libs ncurses) + sed -i "/project(SWI-Prolog)/a set(CMAKE_REQUIRED_LIBRARIES \${CMAKE_REQUIRED_LIBRARIES} ${ncurses_lib_flags})" CMakeLists.txt || die + sed -i "s:\${CURSES_LIBRARIES}:${ncurses_lib_flags}:" src/CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + append-flags -fno-strict-aliasing + use debug && append-flags -DO_DEBUG + + local mycmakeargs=( + -DSWIPL_INSTALL_PREFIX=$(get_libdir)/swipl + -DUSE_GMP=$(usex gmp) + -DINSTALL_DOCUMENTATION=$(use doc && usex archive) + -DSWIPL_PACKAGES_BASIC=$(usex !minimal) + -DSWIPL_PACKAGES_ARCHIVE=$(usex archive) + -DSWIPL_PACKAGES_ODBC=$(usex odbc) + -DSWIPL_PACKAGES_BDB=$(usex berkdb) + -DSWIPL_PACKAGES_PCRE=$(usex pcre) + -DSWIPL_PACKAGES_YAML=$(usex yaml) + -DSWIPL_PACKAGES_SSL=$(usex ssl) + -DSWIPL_PACKAGES_JAVA=$(usex java) + -DSWIPL_PACKAGES_QT=$(usex qt5) + -DSWIPL_PACKAGES_X=$(usex X) + -DSWIPL_PACKAGES_TERM=$(if use libedit || use readline; then echo yes; else echo no; fi) + ) + + cmake_src_configure +} + +src_compile() { + XDG_CONFIG_DIRS="${HOME}" \ + XDG_DATA_DIRS="${HOME}" \ + cmake_src_compile +} + +src_test() { + USE_PUBLIC_NETWORK_TESTS=false \ + USE_ODBC_TESTS=false \ + cmake_src_test -V +} + +src_install() { + cmake_src_install + + if use qt5; then + doicon "${S}"/snap/gui/swipl.png + make_desktop_entry swipl-win "SWI-Prolog" swipl "Development" + fi +} + +pkg_postinst() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} + +pkg_postrm() { + if use qt5; then + xdg_icon_cache_update + xdg_desktop_database_update + fi +} diff --git a/dev-lang/tcc/Manifest b/dev-lang/tcc/Manifest index 0fd20c640036..2a2ace469ca5 100644 --- a/dev-lang/tcc/Manifest +++ b/dev-lang/tcc/Manifest @@ -1,6 +1,4 @@ -DIST tcc-0.9.27.tar.bz2 634999 BLAKE2B 9a76dac9f54fa0b64a72e874cfec9a4bd9b938d244d064b2e76bd31acfb9e48fdbdb8895132634be1dee4302293405bf75606a6804c8178afa8fd30daa53b73a SHA512 835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7 DIST tcc-0.9.27_p20211022.tar.gz 893631 BLAKE2B f1a82498db65a9944f04a6c35897db6ceeea0e5d14ac383acc6b334fb2aa921a0e7b4badf647c101d064ceae1ee8d79ab91674a2d0faa2899b831a57e6148174 SHA512 5f40a0d31d63e876d1fb233758d9f58be2f14807bbc0847b7df3eb6bb8df0946100b58edb5a29caea8770201d02275daf0a3ca7668141151e931204ad7100fb3 -EBUILD tcc-0.9.27.ebuild 1507 BLAKE2B 463216d8345068c8852fc76571f7db26722813c05efbfaad2372b950d8344ece98c3452ff87899ff4e8616ed51c3df76a6fd6aa0ff53f40f2b363393eec50c67 SHA512 94bd0fe005b456f96e8c8da642d02a1cb6d2005aca0e1e1530e3167f85c50cb017c9849b391dfdc870da1e72da14206cecd6897833cd68cc111543014b06e8ce -EBUILD tcc-0.9.27_p20211022.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2 +EBUILD tcc-0.9.27_p20211022.ebuild 2021 BLAKE2B b3f991ab2b3554d71645b813befa48536811132d5059dfdb5fd5ea3301ff7f62c7a19ac75cca6011a043dc620aa149e8812895a66d782c64b3cd10dae69cb6de SHA512 9a3a751d393b7cdf22e856e8b846657f2685b527c254f2d20ac13507b20317e6000d6f27281621d2833f97e17147402c0e6a2f10924848255fedba34d53c4857 EBUILD tcc-9999.ebuild 2007 BLAKE2B 7b1b313b68d691c8c2ef3858aad9a2c9a997d0bf599cc3bc5866225f55153cd1fc7096f98b0814deaf14c5ab2b19020296c93b37208dfb076afa0e981ae5b511 SHA512 f6bb17a06beae9bfee1535f0b8e515cffc34408f816e6b5118f096ae7415b22e3aea78a55a77a45442ebef18c98e629f82afb4db58c7fbf2f72acdbcab4071f2 MISC metadata.xml 241 BLAKE2B ac22a6a72982cebf268e9d367947dc556420370c70b1f6e26531950f7f2c89734cd293fad93dfea0345fd020a97b8f9304c1362a2ccd6225b22aac1f7b674b17 SHA512 b59cc421f52bc545bc8667dcbf6b4891e29180ef1984596ccc20886071e5f080bed259026c2831c6418131802b93ad945137fe4406d042feb02d9bfdc14c431c diff --git a/dev-lang/tcc/tcc-0.9.27.ebuild b/dev-lang/tcc/tcc-0.9.27.ebuild deleted file mode 100644 index 7090fdeb01d1..000000000000 --- a/dev-lang/tcc/tcc-0.9.27.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit toolchain-funcs - -DESCRIPTION="A very small C compiler for ix86/amd64" -HOMEPAGE="https://bellard.org/tcc/" -SRC_URI="https://download.savannah.gnu.org/releases/tinycc/${P}.tar.bz2" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~amd64-linux" - -DEPEND="dev-lang/perl" # doc generation -RDEPEND="" -IUSE="test" -RESTRICT="!test? ( test )" - -src_prepare() { - # Don't strip - sed -i -e 's|$(INSTALL) -s|$(INSTALL)|' Makefile || die - - # Fix examples - sed -i -e '1{ - i#! /usr/bin/tcc -run - /^#!/d - }' examples/ex*.c || die - sed -i -e '1s/$/ -lX11/' examples/ex4.c || die - - # Fix texi2html invocation - sed -i -e 's/-number//' Makefile || die - sed -i -e 's/--sections//' Makefile || die - - eapply_user -} - -src_configure() { - use test && unset CFLAGS LDFLAGS # Tests run with CC=tcc etc, they will fail hard otherwise - # better fixes welcome, it feels wrong to hack the env like this - # not autotools, so call configure directly - ./configure --cc="$(tc-getCC)" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --docdir="${EPREFIX}/usr/share/doc/${PF}" -} - -src_compile() { - emake AR="$(tc-getAR)" -} - -src_install() { - emake DESTDIR="${D}" install - - dodoc Changelog README TODO VERSION - #dohtml tcc-doc.html - exeinto /usr/share/doc/${PF}/examples - doexe examples/ex*.c -} - -src_test() { - # this is using tcc bits that don't know as-needed etc. - TCCFLAGS="" emake test -} diff --git a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild index ebcf4086791e..f99fb69925e6 100644 --- a/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild +++ b/dev-lang/tcc/tcc-0.9.27_p20211022.ebuild @@ -22,7 +22,7 @@ fi LICENSE="LGPL-2.1" SLOT="0" if [[ ${PV} != *9999* ]] ; then - KEYWORDS="~amd64 ~x86 ~amd64-linux" + KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux" fi BDEPEND="dev-lang/perl" # doc generation diff --git a/dev-lang/teyjus/Manifest b/dev-lang/teyjus/Manifest index 4f9067f8a3c4..cec13d18ccac 100644 --- a/dev-lang/teyjus/Manifest +++ b/dev-lang/teyjus/Manifest @@ -3,6 +3,6 @@ AUX teyjus-2.1-p001-Fixes-arity-for-pervasive-modulo-operation.patch 1144 BLAKE2 AUX teyjus-2.1-p002-Add-string-literals-from-proper-character-groups.patch 2083 BLAKE2B 4480c4cc607988fe4b55e5d0405298d37ca3f7364a694b750dd2a544a5cee71d27f84745a5559b33ed67ec215b389b349e9a73fa3d65ce6f69e949b6bc19e205 SHA512 9bca80da36bcb300fca23553205e1ce459e7b52e6d2b3a8b27e9e330413cd8b49ca928bd92d47fe16546854f945d05e2280143ff75cc45aa93d7850c2da8a916 AUX teyjus-2.1-p003-Removing-deprecated-function-String.set.patch 1599 BLAKE2B e264e64eda3b877e1042fbef4173d4483697fab19e33ceb51176c65a57df651cc0566df486ab551cc50cbf43a47bf60cdfdbd72cc42a2156b195b4f711c06fc3 SHA512 627dd8328a33fa3489ba3da59b4e8c43202b327c27ddecbef2beeddaeecff9f749522d7d9e3e105781b1e60cd633a87aedff39a7e6aa0ec8e1f76556e58ff1f3 DIST teyjus-2.1.tar.gz 723763 BLAKE2B ab6a98c2d2291620b586ab0b419a214b0f7c0b27aad444324e5a417c1a0b27382e2d5c622f798ea88cab77853bca3305ec37904c50a7304ace20237afb993b91 SHA512 1f71d19502f4f4da00f635d2c3d4e141403182d65f039e0d43660edf84c5fcd900e7225ac92dc5bdbe0c8379c4e2ce6e27879af504fcfafddf2695a0c8a13379 -EBUILD teyjus-2.1-r1.ebuild 2951 BLAKE2B 2b5ad60a50908053416b7633eae435da838621ea15ee09cfab961710db1e7d4b7ac8f35e70a3819fd4658ed8b110902d6abf37b6f525ab7e3cf606fcf823d6aa SHA512 5502e778ddfbe97973949e638af3c73631efa9d9b2af53fd1435e1eb47f7e68df8a4e49411ee20748e17535c786c2c04a5bde4d913ef70fc2bffd933ad9de4d7 +EBUILD teyjus-2.1-r1.ebuild 2942 BLAKE2B ed6459e0afb88618e788ed09a6375ec47f983c72c241344462a183130711ffb695310b510d9a0f7fc390ea21fcae850eaea0850bca510dae374eceae3357ce4c SHA512 0b1cc997dfeb63e768bb98c8aa5f154b66d67589eae4a05a0e930c0ffbbf64ba2366c65fb58eb7513ff59eb19b2192bae60376e99b21a038b40499639cb05ebd EBUILD teyjus-2.1.ebuild 2907 BLAKE2B ea6e92b665791e776f737885a883fe4f04bc05dec026cfbf0e9b3da84ec9cb6d54aeb5c9f124ce958a27eadc624eefec651b3f69e35c0a4e7175241e9887d764 SHA512 809cbdce2b3ffd69e7fb1281feaad43220e688539be1ce63fc99febe3ac2adf57da12ed2f8f4b5ffe86df13dec3f08557afe6c7321da75f1b631b54f2488ecd1 MISC metadata.xml 1654 BLAKE2B 6361e555cae1b12db47e36e7362c78262a5753ecdb9fb3e8e5386d3945d6f7aeeaeb32e98c3a71e40a017c0bd9ff2d576205e3db96771f67ce7ad888cc2f12cf SHA512 077b511496bda9dfa0f577bac466a33fd5d4b5b759ae243157b385b244c7e9b210c3f7fc0221ed48c7f4277dd86f9f05fed484c375747bcda590258f278cda41 diff --git a/dev-lang/teyjus/teyjus-2.1-r1.ebuild b/dev-lang/teyjus/teyjus-2.1-r1.ebuild index b95680891d7d..508113c464bd 100644 --- a/dev-lang/teyjus/teyjus-2.1-r1.ebuild +++ b/dev-lang/teyjus/teyjus-2.1-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" -inherit elisp-common multilib +inherit elisp-common DESCRIPTION="Higher-order logic programming language Lambda Prolog" HOMEPAGE="http://teyjus.cs.umn.edu/" diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index 4d649a9e777a..c3c502392818 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -2,10 +2,10 @@ DIST vala-0.46.13.tar.xz 3434196 BLAKE2B 49b7e0b776e185653c1b8c00747a150ceb42cf8 DIST vala-0.48.22.tar.xz 3539404 BLAKE2B b9e5e845bbeefd240a9d332d64c2a77bdf581a3438586f8648a068fad15ac8e55e09416548537435f6b1d5925cd6220f603526ca96c290a0628284bc4463cae2 SHA512 c12536a3773cf299e545b33408c23ae3258859172afaaee82ce49699f5285081d6af8047605fb6edd089d16ab177871219cb8b632be827e615ccaff75f5543fe DIST vala-0.50.10.tar.xz 3547792 BLAKE2B 80e57b0fa5fdec2e3403878db1d5c83f4fd14551863131ce359070ab11ef99bcd3813808ab61d8fd8acbb45e9882e83a2ca00f51d584608a0afdd0b9908ee2f3 SHA512 09212c128bc7f7f16b72912644e06c3b91c3b102698a6c7d7af60a8adbcbf8b8ed80b005cbf72654e1d3139c79595baf88561fa41b393a53b1e3ecc1af6896cd DIST vala-0.52.10.tar.xz 3598676 BLAKE2B f1d54634ffb8a152e5672badc912338a2982a81f5ee998b05212de807197d3f5cdd5b08ec9b521a004933fa6585b24b1e45a9cbc1a375c9863460350d3d3749b SHA512 d7517c25228db9c69bc68e16ed3903ea5dda016d5e84183491fef0b65edbbaf34065e785b0e0dc48f3af2460dc9ac6c435436f460b01929b2403ef0b9a2ad2d8 -DIST vala-0.54.6.tar.xz 3908328 BLAKE2B 19930f2b130c194a4f70a191042c1c7f5243829297daff2e3d1c9210c15bfba3973ecdbe09b8ae7435a88f4785bf06515b166f7a5a770d550404d3132b1c811e SHA512 6943e11c5f351f9f76991b75fbe51c4d133eaf4858ea75e67d514b7216cfabd4f0d81f09c89af26ab22fdf26783938742ae75bb49b7de4f1c2696934e2d4d0ae +DIST vala-0.54.7.tar.xz 3916868 BLAKE2B 0e9f1e20f7f2dc2e1b024baba6e64e9d192de7d9978c6f9b2ed37e5fff9e95e31718e7a44761c98e8fe2aa790e9464259df004610d4cf863ef39afe45cedd37d SHA512 7d3345984c496e9fe6324fea6c4fd8d2887102b271d825740b0f5812538dbdabe9c88ec4022d25c34121df686200cce48d4678ec6a00b2a002b9e74242475440 EBUILD vala-0.46.13.ebuild 1305 BLAKE2B 4855220ceb0594546be128b16092270a4d21459d6243c3510e36e556e5e075ab1caffbf579b2a661bbe6470eb24480879928714529a5f82b9d83b0dcbdfd8df7 SHA512 af281ba4479a81ce7e825df237d55e7db552a2f341fe27e0d41de4a0796d0e3e153f9eb01f7ed0ae2b070b5a2ccee6bc7ab32d890ba0ab99d6cadbc3ee14b33e EBUILD vala-0.48.22.ebuild 1325 BLAKE2B 1181a5d8dbcfa49f468f5eccbd4b95e55cf53004fd348895150b578e655234914673c28b52e0d20c0f37236e3aa1ef4a1e2b9d27dd88ce18ef221d488bd834e6 SHA512 d03c98dea5d9cdd5cb83f0f718a574e12e07387ddc457b2d1353dcbc996cd294d103f324b9528ac499619a73a4b9d3db6b47d68ef172e0138556028f3e7fd7a1 EBUILD vala-0.50.10.ebuild 1325 BLAKE2B 552a3cfd64d5f1b465575d1fcb410145d8ec0f8ff7ec0e8aabcc4f3106067d13fe63c9965f9cb50150767992712fe3b0f4273eca14f127737ddc841363386b01 SHA512 d52af86db73e7ebaaf221ad9fd7c669342fded7ef840db5a6dd0dd2fd80067b9906fe48667556ecd0a9aee5b6879ba8f2cdc1b5e6ffa9c4bb95845a27b2d74f3 EBUILD vala-0.52.10.ebuild 1325 BLAKE2B 7a86df69fc88acb215accc50b924f15f9135d7675a24217c49138aafd6a46fcb4687c49969318590ae132571b43583ceeb0f2dfe1ba9c7d5a4e1495567658e61 SHA512 31fa5ee98de090a4c84ea2e409b23b87a473323dcb067b4cde46b73078fb1c9990c1cf9df34668eacd3970210800bb4041fc4a4cd8b7c0dfd22466f15560c932 -EBUILD vala-0.54.6.ebuild 1332 BLAKE2B 26fa5f5a6e81a64509e67f99906a311a3c7864a049016b22881faf170bc232b5a50efe6bb048edbfb47e3c4b26f6df0b65123c666c0165be7c8f9e3f36fca614 SHA512 3771444445b32d1840cca46d8d0cd4d93969ac48493379df0b418580608192262f7c97d6c23c6761cb07c413dbd50c993d3abd1c4998bd80d9f46b09760e734d +EBUILD vala-0.54.7.ebuild 1332 BLAKE2B 26fa5f5a6e81a64509e67f99906a311a3c7864a049016b22881faf170bc232b5a50efe6bb048edbfb47e3c4b26f6df0b65123c666c0165be7c8f9e3f36fca614 SHA512 3771444445b32d1840cca46d8d0cd4d93969ac48493379df0b418580608192262f7c97d6c23c6761cb07c413dbd50c993d3abd1c4998bd80d9f46b09760e734d MISC metadata.xml 346 BLAKE2B 277f10c368556c7d571d77958bde8a421a85f772ccdb5e9abebf2c7c86cc26c33a79a7e552aa76016c7cb8c32cd4435d8779befd42b1e9c8f904e28a0dac5be1 SHA512 a4092a8421609b743fbca75c329df84030f0debef4f6614a399af9a7b331c758a130a91e5eeb2815e56b9b3af6ba7509a3f39e8168bb4c482ef9158a58b69cb8 diff --git a/dev-lang/vala/vala-0.54.6.ebuild b/dev-lang/vala/vala-0.54.7.ebuild index 73d616e5874c..73d616e5874c 100644 --- a/dev-lang/vala/vala-0.54.6.ebuild +++ b/dev-lang/vala/vala-0.54.7.ebuild diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index e6af4135df17..e084df3d264d 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -2,9 +2,11 @@ DIST zig-0.7.1.tar.gz 16082917 BLAKE2B 401bb079f2d0e2ad26837940e3b79c14237a492bd DIST zig-0.8.0.tar.gz 19596459 BLAKE2B 7b688fdd201ce7b0b1e12127c4b1bf898699de18f410021e09bb056a56666aa8de512688a0048d6ac0ea8d6b7dfdb86e1a5416d2fab0a4911e16269d7b6be2a4 SHA512 2082810d5ab0560167766e80f0853e5ff99e32b1935836a6a0029b8e1c88061c55dd0c285cbcc506f4c38aac8477ec7162b771537699be9b3d387de94e3baa57 DIST zig-0.8.1.tar.gz 19643170 BLAKE2B bc52f3399b3355a1fc7675329870dd107b21798fc562a9e55cd4a7c838cfdb2ed58ae3a01e3841a1a58c82fe27bec8758703b654b7548b9e431728aaabcd7ea6 SHA512 36bea566eee3dc5c00f2713cbc6616258dbadd3ee994749339f124f8b70c691cfe7fdce6a00194f879679ea417dadb3bcc244f8b79153957a426fea2d52caaf5 DIST zig-0.9.0.tar.gz 21994175 BLAKE2B aadef89d5fddc3e802965125625e62140ac37bdac40b29ab8b7652056589c037cbed5d4e46889f335b3c296fb4ae2a7cafd5d064a02d728a8325ad515cdc8c7a SHA512 fef36221e818364b45cf65de210b0a9d535c411a510371a3ab4dfd6f4621c0a16dba786169f115a006966875102acc742abee19a74d83e2bc999ea5b8304b879 +DIST zig-0.9.1.tar.gz 22010374 BLAKE2B 24d6c945640aac1f7fd0eaf69937638181fb210c1f0be3110bc4e779cab3d56ef89286604b467013d52223a466addcb9bb81c85bbcf007d430a400669acf6279 SHA512 a9dc5fea25dde511122056832449658b00dbcf6d6bbfe658b375968a7bdb06c690abbdfe00c1afcfa481442392b051dcef5a5a5e81d4ceb23fa98a866b900f37 EBUILD zig-0.7.1.ebuild 1399 BLAKE2B 082b8b334ff914edfecdf59ed73201fa4a2b7988e97652304d3ef2f38545aacf1f2d03285c31139798140b8a119e4eea0bc39fecf2238ff3c2e159fdd9123275 SHA512 abbd6231a5090f6f37bd12a762864eb1d19fdc425570ea4e77c2314be5eb364839a644da38873d22429fbefeba53c289e045f693975002a414aa340da9698e4f EBUILD zig-0.8.0.ebuild 1399 BLAKE2B 997269a639e0993cceab1bf48ea8b395d8644228461bd548b404e6dbe7d69a4dc30e4dbc7ecd1142993c9c67f850b972d3419ca65dd3c24947326544b66d4464 SHA512 ef53ad8dad89c7f1a3805b8a7be38ed09879c0c28e0766cca1037b1e19f1a18015a0cb2da7d1229b8e0c380bab42f4a67299391d43cb672ad893e950681b2889 EBUILD zig-0.8.1-r1.ebuild 1340 BLAKE2B 38c5990ffa9a28a6ceac5054569d186e26e79b5839435ec85203ec80fb5d8c4b8fb4990a65f740485b6cd302c7ad89f18146307ecb625760816f2608a738f860 SHA512 b9d54410407d1dcb41ff0290d53ca76f50718f02483df9a46c4424b80acb03dad802b1ef55d26659daa601288c53236378fa5c428fe71b222245f4f310d605ac EBUILD zig-0.9.0.ebuild 1374 BLAKE2B d89db854175aef06fdd8d0b747044b153cb9b7043ce7a1f94e544e50a56a44f1c69e3d94daea3a23babcc1b24b1850044224d74f1054c80a000d4f289b9ea21a SHA512 4fe58ac7082f79f53f89a59f370aea86c3e99e1af86982d8df8e9b58154589fe14b96e3b316861d98ff666fcbaec676774d339f62c3bf1cd2debc584fb50998e +EBUILD zig-0.9.1.ebuild 1374 BLAKE2B c158df27df36c2182e6590bcf2aa218f024de32ed6c1a8893d2f85633de5add4cd1e700933235917febdb939d6bc36e08d30f44509892c0edbc80aa89cb64f67 SHA512 df850bc82ea6154181cd93af8c1ae18dcb899bf789aaeb0b98692a71338a1f6218e864772c2193ef127218a808471b150ff5903690c6b789518fce4c29208405 EBUILD zig-9999.ebuild 1369 BLAKE2B fc325fcc3b89df99752b6a06d2694bd8afa88573759fb427f9dd8ff156c97a17b1562f24d1493e0478ea25bdf1fc0f8848c828e6b6410dd2a9d4a1e89426d0fd SHA512 0ebb58269f9b6ec9726a7c9747bfdee83da19b002f08947f108e32e2e6930f395b12583cdaae1b235dcdea77d7d8526ccb6b6879a4c687aeeb6714c659513d44 MISC metadata.xml 363 BLAKE2B d0bd697b6c053d67a9140bdba55c3b221f294b13716faf13ab296d17c082952115ad689793baf88994f44036f493d82c94797278f7dc3c5b2b2a336ccb078860 SHA512 72b11e0bf02c4c3aa2d0c483c3728b22e06d0035964f876e4f0402f1864874f85113dabc293415eeef3cfac71d0679a2f3735a67b4020e72755b1e09905db885 diff --git a/dev-lang/zig/zig-0.9.1.ebuild b/dev-lang/zig/zig-0.9.1.ebuild new file mode 100644 index 000000000000..f3e935ec2f28 --- /dev/null +++ b/dev-lang/zig/zig-0.9.1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2019-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +LLVM_MAX_SLOT=13 +inherit cmake llvm + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/" +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/ziglang/zig.git" + inherit git-r3 +else + SRC_URI="https://github.com/ziglang/zig/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +BUILD_DIR="${S}/build" + +# According to zig's author, zig builds that do not support all targets are not +# supported by the upstream project. +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[@]}" + +RDEPEND=" + sys-devel/clang:${LLVM_MAX_SLOT} + >=sys-devel/lld-${LLVM_MAX_SLOT} + <sys-devel/lld-$((${LLVM_MAX_SLOT} + 1)) + sys-devel/llvm:${LLVM_MAX_SLOT}[${LLVM_TARGET_USEDEPS// /,}] +" +DEPEND="${RDEPEND}" + +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} + +src_configure() { + local mycmakeargs=( + -DZIG_USE_CCACHE=OFF + -DZIG_PREFER_CLANG_CPP_DYLIB=ON + ) + + cmake_src_configure +} + +src_test() { + cd "${BUILD_DIR}" || die + ./zig build test || die +} |