diff options
Diffstat (limited to 'dev-lang')
168 files changed, 12259 insertions, 4992 deletions
diff --git a/dev-lang/algol68g/Manifest b/dev-lang/algol68g/Manifest index 7fb9b7c3a4cf..b76a5b094d63 100644 --- a/dev-lang/algol68g/Manifest +++ b/dev-lang/algol68g/Manifest @@ -1 +1,3 @@ DIST algol68g-3.5.1.tar.gz 661670 BLAKE2B ec0aa47f367af621f3cf8ebad81bd501bac31238b4a918943917fec4d9f66cf57f98f5bd4c4c02d315a8f1ac2fd789aafb6e331289fac417abf9301a2a5d339d SHA512 764038c7db567d5fc130d4c324b74f43d7dbcfd89efb7b12b1a6983314a7e13f17e105fa783fb3397fff3773b69699ca3f5fd3be873229db9bf91582f7bf52f4 +DIST algol68g-3.5.2.tar.gz 664147 BLAKE2B 894d19a01a68613b2d4f3f5aeb10e1a72a87b50ee044c7791880f2e1ac7ef067377e7790009d339941fea3f6c93a13b3d85aac907789fecb5b9044e493d7dcfe SHA512 3bd46d1034cd771086981bc2e2004cca199cf13e8840fb867d66fe8ac63af06bbc8976decd46dea1bec9b64b38bbdb878582c5244fcd893695da19a5f84d924f +DIST algol68g-3.5.3.tar.gz 664147 BLAKE2B d7052104650fdbbed6014f7a1b01d7bc037d44061ebbf91a46abc6d7bab5865c94a254881bb3915e59676b0fee98dd378a1d90f5cd39ea2369433ad7c425ebb8 SHA512 64758bffaa3275b20ea6a078f1db0a29527030e5dd069fba03a1dc8b3c51c6dc8bb0ad53317c66aaf5904b4c3aed3246dc4edd6ee7a1f0a38c61def5c397c52c diff --git a/dev-lang/algol68g/algol68g-3.5.2.ebuild b/dev-lang/algol68g/algol68g-3.5.2.ebuild new file mode 100644 index 000000000000..6689c5616025 --- /dev/null +++ b/dev-lang/algol68g/algol68g-3.5.2.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Algol 68 Genie compiler-interpreter" +HOMEPAGE="https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html" +SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline" + +RDEPEND=" + curl? ( net-misc/curl ) + gsl? ( sci-libs/gsl:= ) + mpfr? ( dev-libs/mpfr:= ) + plotutils? ( media-libs/plotutils ) + postgres? ( dev-db/postgresql:* ) + readline? ( sys-libs/readline:= ) +" +DEPEND=" + ${RDEPEND} +" + +PATCHES=( "${FILESDIR}/${PN}-3.3.21-configure-implicit.patch" ) + +src_configure() { + local -a myconf=( + $(use_enable curl) + $(use_enable gsl) + $(use_enable mpfr) + $(use_enable ncurses curses) + $(use_enable plotutils) + $(use_enable postgres postgresql) + $(use_enable readline) + $(use_with ncurses) + ) + econf "${myconf[@]}" +} diff --git a/dev-lang/algol68g/algol68g-3.5.3.ebuild b/dev-lang/algol68g/algol68g-3.5.3.ebuild new file mode 100644 index 000000000000..6689c5616025 --- /dev/null +++ b/dev-lang/algol68g/algol68g-3.5.3.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Algol 68 Genie compiler-interpreter" +HOMEPAGE="https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html" +SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline" + +RDEPEND=" + curl? ( net-misc/curl ) + gsl? ( sci-libs/gsl:= ) + mpfr? ( dev-libs/mpfr:= ) + plotutils? ( media-libs/plotutils ) + postgres? ( dev-db/postgresql:* ) + readline? ( sys-libs/readline:= ) +" +DEPEND=" + ${RDEPEND} +" + +PATCHES=( "${FILESDIR}/${PN}-3.3.21-configure-implicit.patch" ) + +src_configure() { + local -a myconf=( + $(use_enable curl) + $(use_enable gsl) + $(use_enable mpfr) + $(use_enable ncurses curses) + $(use_enable plotutils) + $(use_enable postgres postgresql) + $(use_enable readline) + $(use_with ncurses) + ) + econf "${myconf[@]}" +} diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest index 19e264916358..3214fc39b191 100644 --- a/dev-lang/boogie/Manifest +++ b/dev-lang/boogie/Manifest @@ -1,6 +1,6 @@ -DIST boogie-3.1.3.tar.gz 2038898 BLAKE2B 4a5604d6b00ca81393ccf37c542bfed3f3983453b1fd390fc466e37c7133030f1b453c61f2907bb399fe2891e134dcf3dc86b1ac562cd4ed34b634625320497d SHA512 2ae4bd267ea4636c4f52cb7aae0907db9b8411d6f19d35a9338237ef7820f6cf03ebe9939497fe34a646e8b1f69da0882a5765bcc1224bb8cdfd2a7f999d8862 DIST boogie-3.1.4.tar.gz 2050762 BLAKE2B 01a8faa38a3a7d134d8f5d54f2b8e0a6a2a07b11d46469c8dbd65d80987e3292cd61937437321e6f79ab55895f6dbe5cfdf410d311f314ab7ed69f684a48d98b SHA512 76a9a4cb2ae2ac49db7fdbca049f797c1272b19e1a783541a74cd310b085c8bab5360fee4293d4f1478371ae26368751e2f658965023a4d7a7dc6b9d25489edb DIST boogie-3.1.5.tar.gz 2051316 BLAKE2B 903c6bc2d9cfbf3cde7aa301f229b87ac5ac8f855f70efaf399a9d7f0a5b7d047417a47f162afccd40e33fcc870f74b5f0c03a0f032686f0f9732f078d756870 SHA512 e248139a4ae06e9f5ad02d1bdc1bec5dec32d6c9a3895438a7da9b220b191784f9a92ec678d142070bf8d250e901bbd8ac55706e822972654966bc15743bd0bd +DIST boogie-3.1.6.tar.gz 2053303 BLAKE2B bc4c9ee72e605b1c78140f6120d0fe8ffcad663638829b28e8b5c7238d7265c156ad8994f4bb79989aea030b571b261f71b09050d80ab5a94625e47adc29a74d SHA512 31c4ca25bde610354f5ce4aaeab8f885c89f443a2d96671d55b4b38dc5dc30b6060f89100dba68a2bc962d6169618e1ab9f6958b1f12730687fa1e5c47267663 DIST microsoft.bcl.asyncinterfaces.6.0.0.nupkg 76354 BLAKE2B aca3f5db71e4037dbdd604aeaebcd0962ccc171915b77b4c409ab744bf0a469c7d588f9504fc7fa49e3863e9593b66b4083235cb49e812d1f87b3dadb32e6003 SHA512 221a05a0c910f7a87b620d8f3831ed392b4eb95d112bee274d35f27009ad2a26445de9d7cd235fe6fb4a03f2550874bda3be3dddd96edaf9c0852a9c23d7b099 DIST microsoft.codecoverage.16.2.0.nupkg 3133582 BLAKE2B 418cf403247d594cde0d827f8ca8690019a7631525f07993937085f4bbf8473364b4c99aea6e8b7b0020208d15fe0da63f0f4e69c273493c51ae011e8bd82667 SHA512 91f1d43fc038a20f5367d9aab669105dc7514dfbe749260b52789c09a75abcc6bdc000ee0c7f432231d4cc09e99bf5b863dd6289d813342f74d9dad23a651625 DIST microsoft.csharp.4.0.1.nupkg 462346 BLAKE2B 209ccebc9103b803d26ea1f0232245c3cd231078b03a83a0011a2a79a1a8a324a72c5b3fda94b2686fff170932f366e165f81a36a70df590a39c45d70778e4be SHA512 c0e75a9162f28ba4c4572c8fac4fd4c8c97d6d3505a37683646ba5f7e5f6ac0da69d5200d2646054de90e8e08f893a10e514591b69b8273640842b2cf90bddec diff --git a/dev-lang/boogie/boogie-3.1.4.ebuild b/dev-lang/boogie/boogie-3.1.4.ebuild index d7ab20c085a9..ea97294fb5f6 100644 --- a/dev-lang/boogie/boogie-3.1.4.ebuild +++ b/dev-lang/boogie/boogie-3.1.4.ebuild @@ -210,7 +210,7 @@ else SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -292,7 +292,7 @@ src_test() { --verbose --workers="$(makeopts_jobs)" ) - edob lit "${lit_opts[@]}" "${S}/Test" + edo lit "${lit_opts[@]}" "${S}/Test" } src_install() { diff --git a/dev-lang/boogie/boogie-3.1.5.ebuild b/dev-lang/boogie/boogie-3.1.5.ebuild index d7ab20c085a9..ea97294fb5f6 100644 --- a/dev-lang/boogie/boogie-3.1.5.ebuild +++ b/dev-lang/boogie/boogie-3.1.5.ebuild @@ -210,7 +210,7 @@ else SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -292,7 +292,7 @@ src_test() { --verbose --workers="$(makeopts_jobs)" ) - edob lit "${lit_opts[@]}" "${S}/Test" + edo lit "${lit_opts[@]}" "${S}/Test" } src_install() { diff --git a/dev-lang/boogie/boogie-3.1.3.ebuild b/dev-lang/boogie/boogie-3.1.6.ebuild index a8464716070a..9a7d7f9626f1 100644 --- a/dev-lang/boogie/boogie-3.1.3.ebuild +++ b/dev-lang/boogie/boogie-3.1.6.ebuild @@ -210,7 +210,7 @@ else SRC_URI="https://github.com/boogie-org/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64" + KEYWORDS="~amd64" fi SRC_URI+=" ${NUGET_URIS} " @@ -260,6 +260,7 @@ src_prepare() { civl/large-samples/GC.bpl civl/paxos/is.sh civl/samples/reserve.bpl + civl/samples/treiber-stack.bpl inst/vector-generic.bpl livevars/stack_overflow.bpl prover/cvc5-offline.bpl @@ -288,11 +289,12 @@ src_test() { local -a lit_opts=( --order=lexical --time-tests - --timeout 1800 # Let one test take no mere than half a hour. + --timeout 1800 # Let one test take no more than half a hour. --verbose --workers="$(makeopts_jobs)" + --workers=1 ) - edob lit "${lit_opts[@]}" "${S}/Test" + edo lit "${lit_opts[@]}" "${S}/Test" } src_install() { diff --git a/dev-lang/clojure/Manifest b/dev-lang/clojure/Manifest index c21a6f38dff6..f39a3023ee20 100644 --- a/dev-lang/clojure/Manifest +++ b/dev-lang/clojure/Manifest @@ -1,19 +1,11 @@ -DIST clojure-1.11.1.tar.gz 705082 BLAKE2B 5f22fcb04cbb2aad8b90ceb93f620cef1a8704768663023db2a817efbe294dc232d60bd077fc748daec512f80f8425c0df5a417a40b279e3d65165948f615bb1 SHA512 b4e05f61e5a68b5dc8215b2158a32af891ee1e855240bc753bd1d5d28b6864f2e1c5ef45ad53a7f5fa5565fc19ff957939b7130ad44b432ad8ea95e459aa26e1 DIST clojure-1.11.2.tar.gz 705898 BLAKE2B 8c7219dc607d968504e17421c01060b803750f9304bf211c7c8cf883c073b14938fe042ca9a05cd9506cda8b8a9442a405913dc754cd5bedc2ed95bec9978691 SHA512 8de77a6b434a147b7252bc9a36bde5552d063ffa8702153483c690caa231265314aa871c5409c92037ade7c5e6d1df1bf32244929cb4886cdd91e4391f249184 DIST clojure-1.11.3.tar.gz 706113 BLAKE2B eed50639d251406d96e528a14d055ddc59cd7fac18a415d4947e46d93d11e67ec263f697dbc14a9e5482f134f546a55413529ed58a7b064169cb06f45bd5e5d5 SHA512 33d59a5c1b94902198e669ea7c4161c515d6463dd6e5ce7251adf8f5a9da493a5446d91f218e8e90ec8bf0866119f9c28d64361c2ed57265eea62baf39ca1302 -DIST core.specs.alpha-0.2.62.tar.gz 11799 BLAKE2B 2e28043cdd9f3b71a9eabd30ec39ba88ccdb8f9af6b442bcf58d1da6fef73132e9f591865302d9cff43dd6aeca0200768e63993000ffc3c840b5c07bb823f20e SHA512 0707ef3f669d2eaf1595d1e333a9b1e62d97fcbe4cf7ed70c968a4ade3da7e06c281e8e075f953887346288d190bb1dfa7866d9a8d623662e6f844528eb1a45c DIST core.specs.alpha-0.3.70.tar.gz 12176 BLAKE2B 168b055ee1a518e750791cd010872b6d2f3a655c474f7feab93b0e06bca7cbaf9e029b9c042c2e218129213a5c787b3409c2ddc17f902907c1d38a4d9c22cdfd SHA512 223a8d1a2f1fbb93d9144e2a50fa7d9e5fa79657fcd0c96ece7170c33f23620aeb7645ace84edd3512fe87b88bb3e9422666c66343989bb07a4cd5fadc1216d7 -DIST data.generators-1.0.0.tar.gz 9940 BLAKE2B 981ac8f91ae05aecc7a9e7c85cbd59c5a50785bdc969309465374393234fd0a72d9803931acebbbbf369e812de33f0ac0c2ddc3009f8bb4237debd9e665301f3 SHA512 a8d5881c401b409e7e4192243e62288855b435d5979fd7950fcd3ee5291d16ce4aad913ea1dadf26db8a1297a21cab19e1e1e5d31e26db57a6fa4ed17bcefe0b DIST data.generators-1.1.0.tar.gz 11781 BLAKE2B cccbacb789f37a705d64c9467dcb0f737110176c92f3af89165688676c225179bdf17ca29126ab3578a54ace9137c991d2f1bf4b3024c7c6aaf9fe2f63f37fb8 SHA512 7b51fd44c9d58de639d036dbce343dd81a271e28db096c64e910ca6c87869fa6ccac9ba87d7313b53304017a335ee45bbd5ab9794bc166ec46b5a8d86b5aa82e -DIST java.classpath-1.0.0.tar.gz 8955 BLAKE2B 1ab2d077d9f852ee72a1576b71d6aa8764f2fdb04eeed3f7710a7deb65942df8c0b1caff5847e329c191316c7218877b8b136b9dcefdb8f450f383beed5805ba SHA512 552f31f1f27fd80f262bbec4777626951bccef6689f4586fc327c3490669d25591c1a87907b15709dcb8d69f47ce33341d219694877b44481859b79fb38737fa DIST java.classpath-1.1.0.tar.gz 10881 BLAKE2B 1f3f9a103197990954e97725ffd581945fa27f2b50b44513a94a28bf0c50f0f2fd26a906f30eefbb110942d3ba157af945e009e3d5825a73ffb37aa85679bde6 SHA512 2d3c887a04f4c8a3a1189de719cfe020ff3989bb0c680328ef15311105b2244aa2d6797c017b1d39f6c025a8bf5ea36051d995dcebcae2ea032a5ca8cec12816 -DIST spec.alpha-0.3.218.tar.gz 41399 BLAKE2B e6d20afb42d26096077db5ea0346a3f1bd261f9b0ec71c2bc6f70849352ea38e2eb0d7c6e2124af4342b1b4f25966568d3054fa7447fbb1285eb539beab6a19b SHA512 bf89cb38777cd413804d7211519a62ee8b4dc80b93987cc4ecccb8065fb4c43b876e713c99a966663e6ec0ebd2dc3d35a567d43a38e8f73b80643b2653e3781c DIST spec.alpha-0.4.233.tar.gz 42433 BLAKE2B be243c2180903ababd23eb6f5f47caa855f730eef5efdc30f1f404ec6c7471e15dc6bbbd1a13a2ea911e82a97dbe8e64631cd4f18e4be09b3c8c5aa76fa59b78 SHA512 085d6833c58f607d222edc832fb78e786946d2d3e0644c990043f0a98c055eff0b56b0e920010253c898e643cbc43c72c222cd8c6a813c5c5cc663cdda337aa1 DIST test.check-1.1.1.tar.gz 85399 BLAKE2B 752f0f0149dd5720dcabdcc65173906b124a85590f6b3cda41d3384a05e5b54c10b4cd399ba26ff466d637ea87e0fd81dc2a4943179818ba3d4fccdee977922d SHA512 e62ac00e302efbf4bb0c70721cd0b4438b2d302855146a052bfde492b0f36506fbd44c10c3e5c88a0eeb9b548eac40247f77d8ac590f758176e1d8f54270e196 -DIST test.generative-1.0.0.tar.gz 140414 BLAKE2B 8895fd2e86fe3ac54c826af10f914e43e3dcb0233e799102c6ec2024fb77fe8a47dfed1753a432ef4353ebbe0f790334f30a0b6d42195e869ecadb21d545578a SHA512 28aeed3dde40b1e02ee41219b698083e5ec7c63df0c779d1db75e07e5000faf0cd1415fe7418e241ebbea6979606db72696fb0090c4204d22ec1aea689b2ac34 DIST test.generative-1.1.0.tar.gz 144819 BLAKE2B b6cbf42b401380e3977ac219ddbc8b26ddcfc285a06ce5f2d68c3a52bb6c36702922975e9c9e2bfd4198ec239f2efd676fdfc8293222b75eb5c417ef1d80681f SHA512 4ef4640be2f630c4ebbe81d7bafec1e6e32619480c09ef59882b182738a998941d442231148d8cd2fb4166454780fd72067e5dda4b64d0ae0b064c91928f5c67 -DIST tools.namespace-1.1.0.tar.gz 36182 BLAKE2B e93ef1151f3c1d4bdbda881712c008c50a4e40e2787c9de2708d918009bcbeaf2db143770fbe8d6d251688b1b1bb50d75a8fca1a684badae1634aa8f23b08c3c SHA512 9cdac4dc90192b621cfadb901bb9b2befb9684a6431e87938b6993b879bac2d9c946cdc0ec29226503b7c2406ef2db9be7d49a2398bcf27520d422b0dbfd0185 DIST tools.namespace-1.5.0.tar.gz 37913 BLAKE2B bae6be788507d200f6e781754b46d5c7c34069b3340006f078a3f0360c0c5d2dea0398d5afe1ea6b49166baa482cc07a7687735474afc84abe644c2b8b53cd9d SHA512 c1f4dba4758ecb39460334e61f989cf92e3e2ca1f6ff03b9e12bc137de088f994d86feec827f40d33034e2f8978e099326aed3b85a21c68a910714b662bf9052 -DIST tools.reader-1.3.4.tar.gz 62300 BLAKE2B f8257166e62963f468987b6c926edfce852cfddc7b641e3af25aeee919f8b03f9e82c91bcd65f6b3110d3b042bb8b2d063468b7707db5965eb044546619ef711 SHA512 329e4afb9aa77231fe2d583ed6ac11089c2f7a9600db02109ad205bfdacb747a8af3af28202e545a4ffd71a77b4a04aab2a35a0e3a12f88085ef705060a15a74 DIST tools.reader-1.4.0.tar.gz 63792 BLAKE2B 7d0af9ff628ca1f1e1001c134e7fd2bb1cc7258321d8d19621936cdbb7e95ea5cb842268a15115b0b6929cbc352f35ea47439657db4d5d6403cf82821f7e0ccf SHA512 55c04e94828c0bf5e854d2b1d0bfd9c27e8411def1b429aa131b5e03614955777d188ad1a43295dffce032e8347e4d9d189b7eca0df3edbb105b4257f4641581 DIST tools.reader-1.4.2.tar.gz 63868 BLAKE2B 3f4ceab49de2d518ba5854a81af13cb51902b240d2db2be2c8ededd48d6f9db3898eb54fdb41c6b9ce49d9d8eb912b0a7d3683dc1d61b6e238c5b862fad4b4a5 SHA512 bc3510887b7c5c5f84f0969ff2224dc745a54c81c186c50d0436af9e6f8eb4abf6d9c6a7bba4362ba3f8c94cd6bedefdf1a7698a1cd67db4b324fbaffaae5fbf diff --git a/dev-lang/clojure/clojure-1.11.1-r1.ebuild b/dev-lang/clojure/clojure-1.11.1-r1.ebuild deleted file mode 100644 index d95fe4b42eb9..000000000000 --- a/dev-lang/clojure/clojure-1.11.1-r1.ebuild +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="test" - -inherit java-pkg-2 java-ant-2 - -SPEC_ALPHA_VER=0.3.218 -CORE_SPECS_ALPHA_VER=0.2.62 - -TOOLS_NAMESPACE_VER=1.1.0 -JAVA_CLASSPATH_VER=1.0.0 -TOOLS_READER_VER=1.3.4 -TEST_GENERATIVE_VER=1.0.0 -DATA_GENERATORS_VER=1.0.0 -TEST_CHECK_VER=1.1.1 - -DESCRIPTION="General-purpose programming language with an emphasis on functional programming" -HOMEPAGE="https://clojure.org/" -SRC_URI=" - https://github.com/${PN}/${PN}/archive/${P}.tar.gz - https://github.com/clojure/spec.alpha/archive/v${SPEC_ALPHA_VER}.tar.gz -> spec.alpha-${SPEC_ALPHA_VER}.tar.gz - https://github.com/clojure/core.specs.alpha/archive/v${CORE_SPECS_ALPHA_VER}.tar.gz -> core.specs.alpha-${CORE_SPECS_ALPHA_VER}.tar.gz - test? ( - https://github.com/clojure/tools.namespace/archive/tools.namespace-${TOOLS_NAMESPACE_VER}.tar.gz - https://github.com/clojure/java.classpath/archive/java.classpath-${JAVA_CLASSPATH_VER}.tar.gz - https://github.com/clojure/tools.reader/archive/tools.reader-${TOOLS_READER_VER}.tar.gz - https://github.com/clojure/test.generative/archive/test.generative-${TEST_GENERATIVE_VER}.tar.gz - https://github.com/clojure/data.generators/archive/data.generators-${DATA_GENERATORS_VER}.tar.gz - https://github.com/clojure/test.check/archive/v${TEST_CHECK_VER}.tar.gz -> test.check-${TEST_CHECK_VER}.tar.gz - ) -" -S="${WORKDIR}/${PN}-${P}" - -LICENSE="EPL-1.0 Apache-2.0 BSD" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 x86 ~x86-linux" -RESTRICT="!test? ( test )" - -RDEPEND=">=virtual/jre-1.8" -DEPEND=">=virtual/jdk-1.8" - -PATCHES=( "${FILESDIR}"/add-compile-spec-ant-build-target.patch ) - -DOCS=( changes.md CONTRIBUTING.md readme.txt ) - -src_prepare() { - default - java-utils-2_src_prepare - - ln -rs \ - ../spec.alpha-${SPEC_ALPHA_VER}/src/main/clojure/clojure/spec \ - src/clj/clojure/spec || die "Could not create symbolic link for spec-alpha" - ln -rs \ - ../core.specs.alpha-${CORE_SPECS_ALPHA_VER}/src/main/clojure/clojure/core/specs \ - src/clj/clojure/core/specs || die "Could not create symbolic link for core-specs-alpha" -} - -src_compile() { - eant -f build.xml jar -} - -src_test() { - ln -rs \ - ../tools.namespace-tools.namespace-${TOOLS_NAMESPACE_VER}/src/main/clojure/clojure/tools \ - src/clj/clojure/tools || die "Could not create symbolic link for tools-namespace" - mv \ - ../java.classpath-java.classpath-${JAVA_CLASSPATH_VER}/src/main/clojure/clojure/java/* \ - src/clj/clojure/java || die "Could not move java-classpath" - mv \ - ../tools.reader-tools.reader-${TOOLS_READER_VER}/src/main/clojure/clojure/tools/* \ - src/clj/clojure/tools || die "Could not move tools-reader" - mv \ - ../test.generative-test.generative-${TEST_GENERATIVE_VER}/src/main/clojure/clojure/test/* \ - src/clj/clojure/test || die "Could not move test-generative" - ln -rs \ - ../data.generators-data.generators-${DATA_GENERATORS_VER}/src/main/clojure/clojure/data/ \ - src/clj/clojure/data || die "Could not create symbolic link for data-generators" - mv \ - ../test.check-${TEST_CHECK_VER}/src/main/clojure/clojure/test/* \ - src/clj/clojure/test || die "Could not move test-check" - - eant -f build.xml test -} - -src_install() { - java-pkg_newjar "${PN}.jar" - java-pkg_dolauncher "${PN}" --main clojure.main - - einstalldocs -} diff --git a/dev-lang/clojure/clojure-1.11.2-r1.ebuild b/dev-lang/clojure/clojure-1.11.2-r1.ebuild index a0ea1c284db5..089737c06143 100644 --- a/dev-lang/clojure/clojure-1.11.2-r1.ebuild +++ b/dev-lang/clojure/clojure-1.11.2-r1.ebuild @@ -47,7 +47,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="EPL-1.0 Apache-2.0 BSD" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~x86 ~x86-linux" +KEYWORDS="amd64 x86 ~x86-linux" RESTRICT="!test? ( test )" RDEPEND=" diff --git a/dev-lang/clojure/clojure-1.11.3.ebuild b/dev-lang/clojure/clojure-1.11.3.ebuild index 68ed2abe4e98..d29d73b5c0b1 100644 --- a/dev-lang/clojure/clojure-1.11.3.ebuild +++ b/dev-lang/clojure/clojure-1.11.3.ebuild @@ -47,7 +47,7 @@ S="${WORKDIR}/${PN}-${P}" LICENSE="EPL-1.0 Apache-2.0 BSD" SLOT="0/$(ver_cut 1-2)" -KEYWORDS="~amd64 ~x86 ~x86-linux" +KEYWORDS="amd64 x86 ~x86-linux" RESTRICT="!test? ( test )" RDEPEND=" diff --git a/dev-lang/crystal/Manifest b/dev-lang/crystal/Manifest index 890098d53fae..4d0605f5725e 100644 --- a/dev-lang/crystal/Manifest +++ b/dev-lang/crystal/Manifest @@ -1,4 +1,4 @@ -DIST crystal-1.11.2-1-linux-x86_64.tar.gz 46947860 BLAKE2B c3f08d8a399c139f2eb465857142ad6faaf6925459318d5e6b5b5b879974cc63f43c99f8b2d1fa852fe239a81c0341e24c84023b8b8113bc2bfe9e4fe03c8346 SHA512 54cf8e24d5bd87602a65d22dfa0bbe3520b49cedb430d0652066caf2f47d1cea1bafdb852133a886f3c3b324826212dfa82ac15475ef044016b4b8210e20da39 -DIST crystal-1.11.2.tar.gz 3620048 BLAKE2B 3838f43897ba74a3c7f5717ba795f38cfd4265bbcbe11fa5a155d196afae40c60f7b5789c5d97e94eea1a1affb2cbd5c7fa9208e74a0fa7fa932b013e6124923 SHA512 e9b828539359fbae93799654f39b75c0c72764348ae279da326ac4ff4d2fa8e693c01956f5bc7ce1fff1504156049bf2b261c8defbde9cb690e1e84c13c8a296 DIST crystal-1.12.1-1-linux-x86_64.tar.gz 47041074 BLAKE2B 7e5d4a422144902de4b187947d55f9e8069d55f51013e10236fcf79b142ff96fc39973c883f5a633fbd10180553b6c82bdea824bff09d355fa171e4f5e308b68 SHA512 3256dc2340ed7b783bdf7e5f3d5c03cf981655ac2f50921aa53ada13cc72315d5a70515adb1c511f0f6e37c09310a963773b4f57eaeffe34c68e539edaaa7726 DIST crystal-1.12.1.tar.gz 3657963 BLAKE2B 42cf32dca63a2bdd2925b4970e2277cb163ddcdbcbc997b7c72b155024f642d03c5a565e82dfc8a2b1aed0d3f877633beb9d128eb592485c034bfdcbc3f5baab SHA512 bd0c085d44a473b86797fa64ce9a5c66c7d3eda44bdba929faee490b635aef45bdf84b45baaa5dfea8e2b6fd218d1ae7fbdf117d3924b04b284075d4a500e55c +DIST crystal-1.12.2-1-linux-x86_64.tar.gz 47042270 BLAKE2B 17c29658fba1e32eafc0716f34d96f080b8500ef81d573719a3944873fbd16521ef2e3c0b6f3ea2753f67e96fe6cbf361df03233aa9e3eea19b87850b8d38089 SHA512 33d40b003481f56c1a3dcefb586e45326629455faad0adc6fce60f4fe91b586f01f997665aa535286b6909b5a4e0c05db3577b3eb8b36f6864f80d576ddd1d39 +DIST crystal-1.12.2.tar.gz 3655994 BLAKE2B d5de81445e3e81352ae821cdf91863464f70466674f541e2b9e499610e0d68b4aac3af6e2688870be8b2ccd84c9da78734e0e8f5f8be070192bd7d7342d77853 SHA512 b972015fa17da19bcb649a4e0387e709b4a792c8e9279898e48fb82f8840e92f35492df9cce1ec2487724ee460d3ab9099144f6bd25a091a725578ec3fb0fbd6 diff --git a/dev-lang/crystal/crystal-1.12.1.ebuild b/dev-lang/crystal/crystal-1.12.1.ebuild index 02631f5f838f..92f5bc42f945 100644 --- a/dev-lang/crystal/crystal-1.12.1.ebuild +++ b/dev-lang/crystal/crystal-1.12.1.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="doc debug llvm-libunwind" # Upstream test suite not reliable diff --git a/dev-lang/crystal/crystal-1.11.2.ebuild b/dev-lang/crystal/crystal-1.12.2.ebuild index 92f5bc42f945..02631f5f838f 100644 --- a/dev-lang/crystal/crystal-1.11.2.ebuild +++ b/dev-lang/crystal/crystal-1.12.2.ebuild @@ -23,7 +23,7 @@ SRC_URI=" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64" +KEYWORDS="~amd64" IUSE="doc debug llvm-libunwind" # Upstream test suite not reliable diff --git a/dev-lang/dafny/Manifest b/dev-lang/dafny/Manifest index c408c2033349..133f085036b5 100644 --- a/dev-lang/dafny/Manifest +++ b/dev-lang/dafny/Manifest @@ -1,34 +1,20 @@ DIST bignumber.js-9.1.2.tgz 79226 BLAKE2B 3d2ff19d73a6fcfbcc0d03d1e9808796baae639e19973cbe0c26af4b514abc299129b8a7bc3e4e803c61af44b76f4381b1965d8fa331ea43e8a4c8fc7f98d8e7 SHA512 dbf98ac991fd2bce5bcce11f8570c11594c6775093b3ee481e9785428f65ba2046ee1821742f39d4f8f658085be84dd1e9bf6d663fd72a16e0e1fba6f8a7a9ba -DIST boogie.abstractinterpretation.3.0.9.nupkg 29646 BLAKE2B 20b0e150d3a9a6ed11a24cd9920a97971d515207d86864a9b1cd4d554b2b3c34e27778051a9bf6d8b3178352a6cfbb33c363b2d69958f6503e17e366ca3e1147 SHA512 26b75a409b4bfe5dd4ac982ca2c1b03df2118254a9becaab74f4d44b652746faa0448ab943ee9177f6a0fd105f8ce015a4403b6ff58df12201b542c50618b222 DIST boogie.abstractinterpretation.3.1.3.nupkg 29640 BLAKE2B 6ebadfc92014018649ba1998f878ca8d8cda2df25d8b7f5243becd27bcafbcc166c071769adabdc99098b4fbf4aee8a6de8be9f8da43b3a3e1511dba96bbf2d1 SHA512 b950ceab224aca2a6d9a0202d2f79dc59f5e8f18f710933d843e8eb6dae9badadf6f78e79297f74bbe35a9d9170f2c928174c93a6edfd70e79aa282348b4be58 -DIST boogie.basetypes.3.0.9.nupkg 25717 BLAKE2B c1e549c6d7c675fd3b1acbe1a39fb5854d182b70ebab734350439dfd0cfd2be879b1d2b9c91ad832dae8e6f695fbc41510285bc7573b11fd51a170d4bbc50780 SHA512 d561f66a89af09cc07596bd1079993010a325ab2f22f2cc85408d12fd1286b15b0d7774b2e4037465a3b78aa829205f77b8b0b2efae9b9f3145eca6e82ced4d0 DIST boogie.basetypes.3.1.3.nupkg 25710 BLAKE2B e45663df336757dcc448f2ebe4f150948504047a1d5e4814fba81b0c08d7480aa717a42ebaa1ef9714276093a0d2755780669d0af410dda4806181c513874bf0 SHA512 ce3bbdf67d1332a51dbfffc21f12cde720b6583638dd7b6bc1fb68e5e6a7d1d6f0a191e795728b79adc1f113102996475c0290afb7062bd1122a17c1d6d1605f -DIST boogie.codecontractsextender.3.0.9.nupkg 17455 BLAKE2B 6a6f060e16942750e52bb72630b306cb591212ddd9960ac9778efe44239300f19b5793bb0cb94cb66e01a16f0337bf77bc6f39d2ce680f5ae94c566e2420331b SHA512 b15d7b0d24d5464189daf797e02b7e6342841de5c7cc3a15c954ee270d805afe0dfc3e5268dba5abbb636e2de2c859bf7a3f442180fd3a7cd2f70ec227fdfc24 DIST boogie.codecontractsextender.3.1.3.nupkg 17458 BLAKE2B 2005168450015740d0afd9415c47674bb55f99b2a717ad03f56e0571be1f5532a9abb0a662b3b3f785dab32914684dc0046854c4286ea9be338aa0dcad0e4618 SHA512 1508e11342e88ef0fe3a6f7dc758924987b6edcc30f62d0a7e43aaba09cc14b26b999eb0d59faa13e26f246e91b9c176f4c983fdeb653892cff655f40b5bd24f -DIST boogie.concurrency.3.0.9.nupkg 93215 BLAKE2B aa8e969eea49750503249b1f196ed3c4f388fae2a39c46c61c4dcc343feb15b3d98d0b87065afe1f82fa0d8bbeea895b3362bc2ecca26daba0b0316ab8fad648 SHA512 618e4e3c06354b8ff8e6c23341915f1bd92366aa99dd8f9ef217110191f653be2a4d30cb83d004d4a34dcd7244e9f0603179859d1371109f1ae7706046643cbf DIST boogie.concurrency.3.1.3.nupkg 92168 BLAKE2B 81ff170058924043a10c83aed60ea38951bca7ff35de3d8be29fcf68fea9da2d658ba0abf36f0fa93e4c9f96b0a81f96b550396ca55e3ac204b4e21e49d112bd SHA512 069c34b152ccfa9ab8903b6beda6090fcbfbad243d79dc473c01e30d19a6a5ed15528120180ad271d28b43eb520dae6e221a9256680b7e241a6bb83415988d93 -DIST boogie.core.3.0.9.nupkg 208520 BLAKE2B 180b099ac167eb4cdc2b96ebfecc0e70789d0bcb01fe2842b69520b1757efbc8cf0ca56846dee6ab17d5a88c38920273368803d646a143f4010926de81c420c1 SHA512 eaa0289840caed37aee889a66b60e0389729f2233b568c58de22790fd3eb3e93478b17d58d290c1622ccb7bf788f8a98cb942ed6124c8aa3efe5beb44889fbe0 DIST boogie.core.3.1.3.nupkg 208304 BLAKE2B c3affd650c0c81c61e39e5bba0e3f88684fe43169c59b60aa15ef532747ed624d3b4d2a1ebf1fef6d216bb380b535c62a48cce072bf4a3ff57feea907c48ca8c SHA512 ae611fe91b8189ba55315db75be7fd927d08ae096305d099aa5b51ef692b4c5f4633c7cdcc95f9344791f7e11414e4078a8640127e2442f667594b335338eb1e -DIST boogie.executionengine.3.0.9.nupkg 83903 BLAKE2B c3b8caf6097ab8f2b81b72593d7802674a8f6069f5601431a709095e0c785dea07c8b7b4033954ee7786e518973c9fe275d59be698918bcb5177bd90e3583525 SHA512 d80374d6df8f663ddef0a2bf004e9f414ca9d79e02861344f5878a1033db17a7d5102f92c4299e16ad5d1cf421a7cec4702dc320a5969a7699bcd2c31e933a1e DIST boogie.executionengine.3.1.3.nupkg 85951 BLAKE2B 4dc3e7c442d2fc8f79b8f17c5139bf28453205f7fbb22caf35cdff40ff5294e940820e44029669e4f2103ae4dda56ad34b5d3d76dc73327d8925e6c5384859af SHA512 d06372aa80356ee5b07dd6cd30495246a5d900727fd7c6bba52faef25aabc191b5d89f479ba3c936a2a31a0045c8c195e9099d4c87231c14705ff00ac37b8c84 -DIST boogie.graph.3.0.9.nupkg 27933 BLAKE2B 5ba929366367792f0288655c5f304ac6ad88d3a89c84df5082d78939306bd6e3441a1c517a060fd1c32eaa7d25e14a3eccf7c40873d413b68a5c36a109353ba8 SHA512 1b65fbf349c9516a18e2cdb876a343ee037096ee528933edc2565e43c5e79bcb2dcc56b7e095b150f6c70aa55b217789d04e6c4109e369cd2e9d96c465fd76f8 DIST boogie.graph.3.1.3.nupkg 27927 BLAKE2B 66694f02030c943892514881969c05be58d2a9cc4e4ca44a7b6115908a2e04e104350b706b19346e5ea7d659101532ffba2cf0ac919157102c7832185f4cf112 SHA512 f50c932d6ca907f359f698c02cdf857cf21b47ec6671ec917f4ae5a03db5b02cfdf3bc075b4ad840ab31c44db343aac2fe0d623d555f17e3ce2d9cf0f5efe9e3 -DIST boogie.houdini.3.0.9.nupkg 52700 BLAKE2B 686c532de540e11d70be62bf95f6398c21e12ff9386a295b21d58882d105933068524d865b93eba8996bc29f80b05285196a2253493ddcaee13217797b0506ba SHA512 6ea2874623a582529e2e6921ca4c05e76602e6bf11f53323dbb5269e6201b1e1d2ec9bba7641a4918a95fb64f5a488841fab92da8ecc7c3fb033d0e286a4d0a9 DIST boogie.houdini.3.1.3.nupkg 52727 BLAKE2B 4a37e98bc0ab9bc8956e81df2541bf1bcfb50c32258b94818a5c8cafbcc74c76d4cfc5432a2e1ee94db5fc503dddd020123cc4f5f4a47c6b3bc8743b47784a04 SHA512 0f83ea50aa6f453d741cc7ff28a00ab9e9205a90caecaf7ccbd49d5b9217ec3bf9f5e1a7e9cce83314f48f25ee32c682c9509d00ed7bdcee602827f78712ce31 -DIST boogie.model.3.0.9.nupkg 26904 BLAKE2B ebc9e26fe815a7133e87febf8e4bf7af5af4b565e099dc2dfc45515e4e1a4559643d189c1ba5d0d21d230be958e3751306735c533fc99ed95acca740b22887ca SHA512 54a13e45ff1d53eed7cd372997525008c49075783df30a6159958c319c0ae661599bf08ec6bf9ebcdc45c85c97e2ca1d4cb33139db78a5abc50bd018a55c125b DIST boogie.model.3.1.3.nupkg 26902 BLAKE2B f384227782a32efa4083412a0820343e301337df11bcf4dc4611ce9022a63387b66a350d921dab484230d29f6a33006e1e56ebbd1818e8d5a4b0b34e61912211 SHA512 f6e52696ded95d9be9ec4046917c171cddda7429f63d2a0f188b960950bd9684285ce6eb21d1181b4f582b2d400117bf810a8b5a11a654f43a40c22fef4abbf4 -DIST boogie.provers.smtlib.3.0.9.nupkg 70598 BLAKE2B 49195c7478a7c82fef6e15fb57bea2ddc891f5145fb7e655fc5b84fa4989d209aa0eff6bca8d57da9d08f6df026ee8cfb14d37953267048f5e191ad0520dcd74 SHA512 1c290058568cb170c0774779c8264f5e05700784bf21369852c0b0dd581665e64f9d23f98cd2ee22124b5a2866af56ad59fa56925212eae5b7ba26833d7034f1 DIST boogie.provers.smtlib.3.1.3.nupkg 70581 BLAKE2B ade8aaf77a42dc7aa8ab7a7dcf2eacd00db612b032a7e62d2ddb5f96431e43ac16df282e55fe2cc46b104b721bb1183421b98a22e8823746c6f655c7f7789fc6 SHA512 50368434be8277c5dd84edce72fcb1ba107737cedcac0f6ff7cbad32b44bc749912b576e4c1076a840239cf5f84d93354fc8a5fe649121f5ff339316cd53c1c4 -DIST boogie.vcexpr.3.0.9.nupkg 74092 BLAKE2B 978887817f7d48d26d999b2f0a37adee927506aa6eb2e7a93b78567b8fc67411e1cd56e0ee0876d95473edc0dc5068f69524093f8ffd7b4f109490c815a28b80 SHA512 024e898e35c933e4b1c55547624d5a3c531245ac1a8b9c03a2d5955d702bc1d51cbfcac0aaf214e9f0f3decfafaab02761490b02bc6ec5c385c2a20778c33de2 DIST boogie.vcexpr.3.1.3.nupkg 74142 BLAKE2B d523aecb82111a712fe619a69c159213ee4bef8182b1dd5708ff2b84ecd7690bceed5eaa825f8735c373ae7d3cf5ba4385e552f4a332d68fa5740cf862992bce SHA512 540e15a2830b739921e72165a39633bbc5b0a820463d79d7a2a915d2d902d242d9221e12026b6c8f6796d2309f5bff672dae50ff9d27834f2660fb433ce5809b -DIST boogie.vcgeneration.3.0.9.nupkg 90650 BLAKE2B 435902e5892351f6aba902d3e3cf89c719c68ccff2075500fab607b6af64dda7837864284a3c44fc3a3ac17201355c1249c5ac2ed4ed61a2f1c3867b1338f18d SHA512 a9bb6155275f6f86ef5be7d26be560c8fd1f6f976da552cb038dd7eb41331ebcfb694f0b6367f73a778550e0545dd695c8a35d568cd0c9bd78fcf30c894cc490 DIST boogie.vcgeneration.3.1.3.nupkg 90517 BLAKE2B d5f0271491a37f7ba806c2a46894c474b0c65d5bc66a659241e9ebffbf63c77a75a3533a615957ced4af1ee0363a34fd2c6803beca59e1fe656a1ba29c5fb309 SHA512 e402de9912b9d788520ef615fd80b8dba2eca9938f8321fb9e3f53bf158baedfd4c69f3aa4eaa3fe8f685d3ed9556982001117014279f9440605bac368b521c5 DIST castle.core.4.4.0.nupkg 916004 BLAKE2B 7404f946c140bc4c22132282a4a12694328bac2f37f3cae06c595076068dbedc808465e352f083450cea3e3869698f91b7a5b2b55c08f29f4a9feba7f15abf74 SHA512 7626c347f82038bc29b0b2ae399937047aead260ed85ff8c107d36adbe901d729be59cd89a5f98ef45da2d1883c8374b6f286c81c044a5a2b69ab4b5dde9ce98 DIST commandlineparser.2.8.0.nupkg 475554 BLAKE2B e55eda3a96441169220e5b081f432d8445d719cbcf8e86527920d44085e6e97934e20aa0266bc5dbdc16ba1a6daa6ece55bc2c63266c9d733ab4992f2fe3e0a1 SHA512 8c276513dfe91e5bc72cfb3b96a0d24411ee3bd2e9832d423f6ade3f3964a011dbb977ca90601750fa133a0a25fe72f66955be7f69a72f5d6b73c7f313094b5f DIST commandlineparser.2.9.1.nupkg 496069 BLAKE2B e2c4b38841f83d6bc10432b8055af90369f1fe0a10105a58b51b44cd48e5d84cb0b5e4b19f444d8c81b38646a62c7c4d11cbd710e92fea68be3ebea6ab98e3f1 SHA512 4f364e45c9668c7e7cc6a922b488f3fa523033c20d7a432694f0a6af05ce528ea0481d8375e2f4f1032c6990347b4803ce9a0e48068c6fe15ec46fb1254f085d DIST coverlet.collector.3.2.0.nupkg 2209480 BLAKE2B 175bcfcb9d6e5177d44f2d607f2411cbe77d6009d096bbc84372e33d7be972d3e39ec39d7f2669b4b91f4bcf44f6ddd46bc91541c0cc4843426e2dd1073bf5c2 SHA512 b63d02a5d3233805b42f0b8cc76f40c8d9f5a0117beb6bdb2ab147f5521bb99919b29d51ff91767ce0bfcab92d25fc8fe794133cadc60da3e009ae18d10fc920 -DIST dafny-4.4.0.tar.gz 6241907 BLAKE2B 43f5b6bed5ea0bc6f8de04650b2f97c0092df1df47aba9bf0c6b9210677077427c67cc80364f659305b7d851c178439a1536864dfb7c6396b4ac6517789fc83d SHA512 33789f10b75a1946aab552f11f40296682156bab7cb08cae431f00f6fdb6b12d3211ec2f423a42adb78a3245b19ab8f772dafca4d1448cb30077268680f73534 -DIST dafny-4.5.0.tar.gz 6365137 BLAKE2B 6233107e680e04ecc5a0d730bab4d5f2228ff04f9d83fe33688731c4226ae03b06a2c08447beda025e2e34e7d92bf6fbb57de5b6913e8cde9f61ae255d09722d SHA512 d56ba0a28bb235ad2c4baba526b4de1757a6574b9d04a195e541189ba5c24a82a7ca4d3ebbcc50244b7f35043aa80101210568f20656f21169c4cf42c41abce0 DIST dafny-4.6.0.tar.gz 6373177 BLAKE2B 9348a9b170dd694885efe4682f05abe60240e6f7df7bde7bb53e8955c1c75a332ca6e7d6d6f38eb1aa9a83a9a5dfccea13b7683e99873c1fce12181d47679548 SHA512 abac500a27a811b434d32036ff7d877dd337a0a5917a07a7ac1fceffb1dd5d493bd07b7d518875243674b7919862a25f628fe62052983a8ff8f1450669c49b69 DIST diffplex.1.7.0.nupkg 69699 BLAKE2B 9c7d6eab09e7df1d791183bbfc4cc46b7bea8dd4b5d09fd3e7e3dc1734e6a8973f92a34387e1a2a0e3a4cbf11ffb89f8138844b2b46d2e94010932ed47158911 SHA512 a0f7a30c59889d71eba97db9bda2efbf1b458ca439d129b52ba3eae32626325e73ec13d46018603a81a33cf18a25a5b08a1b2e6a89c7e716faa47eb9db6d6474 DIST humanizer.core.2.2.0.nupkg 104728 BLAKE2B 6c383abbbed9250f2a7eeec4478ead8f23ad53aa62a5b0f22e71fed9157aa6644a9a7518842d637885b7b63a4300754e1a7e9f3f9968725607ad30bf18e27a21 SHA512 e232459f914c8e7fc3f8dee69a85e66beb8c44515d4c83a976ee24084a91f32aae61c6f845ff38edcae02d0bcab44f9ec253277dccf2f4ae7e82235047bc6ade @@ -101,11 +87,9 @@ DIST microsoft.netcore.targets.1.0.1.nupkg 18189 BLAKE2B d43a064d4c6f836be516470 DIST microsoft.netcore.targets.1.1.0.nupkg 18162 BLAKE2B 419d19e0da934ab4b9db75dd66cc22b83a003f34e93cf7a92feccf4f32d3d695e18b826b1aba13073dd4ec53aa7905a67346921d1055516647ddcde0d79009f1 SHA512 1ef033a68688aab9997ec1c0378acb1638b4afb618e533fcaf749d93389737ba94f4a0a94481becdf701c7e988ae2fe390136a8eae225887ee60db45063490fe DIST microsoft.netframework.referenceassemblies.1.0.2.nupkg 20957 BLAKE2B e521646690b142a703d943cb0528552a669ceed16fa71e3a04300da1eb58d5428b168628c85b8e963e963cf0041b0a02d7442414248e6f506ff3d7ae452a85cb SHA512 8bf3922b695856059b8eec696a7ace03a7269d71d4c456cbdfb21bd3f6e69f2a9fa25e46acd5c29ad872829a07cc05ec083c3a6ee942bca21afd47ce3bc533e3 DIST microsoft.netframework.referenceassemblies.net452.1.0.2.nupkg 19845441 BLAKE2B c2be1acfd4207984ba33a5ed468fea39299d61d6af99ef9cfc7df16096c0ecfb6133a3c970ffc150f79566710a589c5a387a5d2da8d5ce25f23173cfcfcc7661 SHA512 f4b099aa012c3d117c58dafcaa3edfc273ad7d5acf30c84d213eb15ae101559e7da3f1810285909153e85d73ac58dfedc34e6730c264cb0ae013e19a1213d691 -DIST microsoft.testplatform.extensions.trxlogger.17.0.0.nupkg 361862 BLAKE2B 7315293c1ab965bbcc299a842a2e1f462e4821168f79f3036f7a14a4116f3d73c00f5b645bd1d16fc963f595e65ae11d7658544a6482c0e5926b36528644b259 SHA512 d72f41fbe9d4155b85d0e20e6a476d41ea55e355c61561270f241a1b2ef5b9d8dc9c81ca43d14c550a50bff0a301923e9e84a5035e5b31006a9639ba0221e907 DIST microsoft.testplatform.extensions.trxlogger.17.9.0.nupkg 441869 BLAKE2B a250401ca8d21f51ee8fae91dc3b83b5453280b22f10b77a481e0e27735ae5cd1c7f0f04dcb0b5b0e74192c3e171e8d7fcad1a5f771835a7ce846d0cc7042105 SHA512 9b6c67ded3f150a2daae6f5a6db52d86e0338b3aea60a07dfeec67ca630e3ca9a5a8715c71c5bb0508760b877f5e2bd2f135d7f18f9bab9c81991a2fd44f00a6 DIST microsoft.testplatform.objectmodel.16.11.0.nupkg 2966263 BLAKE2B 5bf6464154b639b478c4000dd64e7570d124a446680583bceafee1cf3eafdc6a7bc10cacc665327a562a28fe0268c5d749dad0ef11376880f76310f1e3cb055c SHA512 105ec3c2d2d476abfa9fec73b25a701d815b743512b575e7ee2373ef7e459f767688be7ecdb555849a8342e07e922ab819dfae637e8b23b36ed918655d9a7471 DIST microsoft.testplatform.objectmodel.16.9.4.nupkg 2224614 BLAKE2B c8b0899000db731c0041f6209e4f85d2bbee5a7ebe3d3addd4405a33e1036bef52098c3fe8146123db262e71868d7bbe541149ef7443c7fc718ca78f916d384b SHA512 a1fc8192007d0d1a852393eadea26b8400df81a50d8a29549f79f726694696b2c361460561a3910f66dc195044b7773addc25642f9c7389b7152489e162f9ad9 -DIST microsoft.testplatform.objectmodel.17.0.0.nupkg 2963393 BLAKE2B 106eddcbc897147fabc6a7c5509e7800ed4af37fcbd7a05771a1fd752e354677d7f8ff4856015b2cb1cd2ad54ed5eba1d0cc62f58962830e0b84d71bb6b049bb SHA512 19ad56cad83f5897c5b93608be9d357c83ddd5f97f2f7751f40fc017236ae2ef3b0517147e4dba2c4395511a9f4f5b262a4f660a25974e7b34f220c275af9c4e DIST microsoft.testplatform.objectmodel.17.1.0.nupkg 3191688 BLAKE2B 26be3f32f39257044cf0947aaf68b486befeded4901e5344fc7d1df1bba1f8d8e564d310fc946e5d5d4b3462aba1734bb44274f6f471bc27f1a493e2e0480dac SHA512 fb7333c71906dc2a13a3bdb33363e926d0c6066addd1ef43b2b5067a616b754798f32f515cadc58bc2a9c6e157c05e6d36ef79bf602e9da9b37089644933240a DIST microsoft.testplatform.objectmodel.17.9.0.nupkg 1655717 BLAKE2B 5ae125e4fee8770a6a9f18a8566eeeacbbcac42cfd5eed4e407fd2cc2b1d773e20ad0dea461483fa3525cf113ea97dfbad6763a7afa354cf3d438057310d0140 SHA512 637048c70b190a0269d7e0761d7cbec7da8d306f5770480cb91286c06047d7f4f1666556dfc4494ec090db011b03fb736ca03313479b566019a5a54567e05f37 DIST microsoft.testplatform.testhost.16.11.0.nupkg 7327788 BLAKE2B eab31bacbbf159a128db837076c2057b4a68b912e4dbc1583f5042b0333bbec78e2718ab2db0a6900c41d984a913115573444695d117f270b272141402db55d9 SHA512 17b0956e03edf7660dc31d59d5cd9fb141b3d002149aeed824a2d3381bab2f6a5ccfbcc2fd6c37e960bfd29e33e734db14cd1862799fadc80154f3d8ac3825a5 @@ -180,7 +164,6 @@ DIST runtime.unix.system.net.primitives.4.3.0.nupkg 125060 BLAKE2B 76f760a4fe1f1 DIST runtime.unix.system.net.sockets.4.3.0.nupkg 105673 BLAKE2B 06119cfdac3ce590b2f12f5587c75b6799fa876d7def559a78a1ccf53e34e6e1bf79410bfd676b04f1ab3f34a887eb919078a55cf79dc75faa75fc62094c2cbe SHA512 31b62be088315ead04d89f452a6c49a656b88f0668f7dadb2790511675d48705e01c9df24dbed3a0095157875c208ab6e6b5b6afc82bac13e4d6cdd3026f8424 DIST runtime.unix.system.private.uri.4.3.0.nupkg 75969 BLAKE2B 82611545be3eba44ccfbef1f104e9b5afade845fd3b30c6cb40171368330f9d4bb2ad8752e415aa3b1678ec140c40f8e72cd4cc3731f42ca64016c1a1dce70cf SHA512 203ebe272791d79ab0c40afe9d0543852ee91b9fb4ae5bc15524d97728bc8bc9d7e0cbcf65d1fab8cfb0aa7a4ae37e7938933eef127aa5ea46f60e57b6ad2d91 DIST runtime.unix.system.runtime.extensions.4.3.0.nupkg 54075 BLAKE2B f81d86cc15c63aa0b4a3d03546a07649587af7a0285af0de4123734e719fc023fa4227b7abb18307d4fc060e2952c157ec72b3bb85d49ab8508d8167b1aeedd7 SHA512 54b81784c08e934389c59e6e155af6b1855e4bbc41678b01a702c94e6daba87c6ddfd16fe9e2cb61f3097bfa4950dbc37781454d027ce5ba6c50a393cc91b888 -DIST serilog.2.10.0.nupkg 491974 BLAKE2B 27839d2ca6db6b745a627e9b534954633539bd0126872dffeddfff87ffe140167dc04c62cd801a8183dd210c735c9319c2fe76c5ea5a4c0bb37c87aa82b257ca SHA512 9c19964d1126c2e99f546f1da81764644fe39b153e3d8d725473221a6e0855f356776d2f40a8a5d04ece4e420075d5b987650108a4fc9b32b4f56ad3d0792260 DIST serilog.2.12.0.nupkg 769482 BLAKE2B 178f0796f7a9cd82d60a6d8c1501dd4b5432bdcc9d41061572eb5e0a1e0da924f48c2557dc43e610f9f49da80ba459e2301d43772130b22be5e464764db5e945 SHA512 3546b98340b8399a8ca778b9b82072833ade67b2a016fe261f5a93a3f9afda222a1f432b146dc06edddb68e6bd32bffa4a9aacaae03205c365b43f88044111fd DIST serilog.extensions.logging.3.0.1.nupkg 21474 BLAKE2B 8a0987a47939ce9901648f0ebeca3a4b29eb15beda0bd0206fc1ff0217132c574314bef35fa6de87ff4686455a5a24497af1393243b033e4ca1720b20917554e SHA512 65e5b01f8493c5ddf8927221a431a3c2bc2454c12de4392d85bd13f1c0d3cece3f73135d2f81242d14456dae7bf0f99ca0711a6006efa8e2359c86e0847e3f6f DIST serilog.settings.configuration.3.1.0.nupkg 75871 BLAKE2B c32066f2850cd49b4d2a4ca2b1ee50fbd509457073109b60b2a3a15d69e784390de1804dc87db33f90adb829e28bb2590d0787da0f00f2290847489267382d6c SHA512 dcf09d92376a4600f039c63ae11d644af88afd2029309e8f9efc2a9854c2840d34be7a34a067bc596b9c4040bdf72f85dfbcb9e51fa8da3b8f40ee1d65d48198 @@ -199,9 +182,7 @@ DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09b DIST system.collections.immutable.1.7.0.nupkg 481313 BLAKE2B 6c10496bce03924feb03a45d7e0b4e523918d1e52f3a40b35e667d6aa9c765732d05bd418600b00bfc6a4e165ba1bc6762ad44f99e3363e10e7c64e457ba213c SHA512 da02822ffd801e236958e9bd28f616eae0db1f7f948b23f50aa20bc0b163bb5ec8e284aef9126880951e9c37d61fe9dae9aae54be5f34a01fe6237c1a5cb81d3 DIST system.collections.immutable.1.7.1.nupkg 595037 BLAKE2B 83f95d1b23960b35915e5418b125810d3087e7dd46fd2702907cac9856290bdb02d3c7e1d0a8fc73fb8cab4bdb4e928b717f6b61e7ff8fb3b508f6de49940597 SHA512 d263cc2c90a537edc49bce334490fd09d888a50f5b793e42e89133ad8db9544f356bd5745a735c4b81b7687bc1b8e4df9c8d64e388c8433361a775591ddedd76 DIST system.collections.immutable.5.0.0.nupkg 623075 BLAKE2B 14724fcb8654455184f8f16f8ac56b7b3c995e632af36e91f307331620b4e9f515a13bc4625d898fbb4b57ff9f017b43cb91ab40b0cebcd7d5eefe32979afa4a SHA512 726f8db7d179714cf0efeb0fc02fcebe7b4755762902e391e77cf78671dd5d5f364c7cf4ce3545b51cc7f37327d12d1500ba19f4b934f0e8bb69a6a347c0bbfd -DIST system.collections.nongeneric.4.0.1.nupkg 239254 BLAKE2B 0179bcd640e80a53e15f96525ae9dcc67e463936c5e8af88713dc978de525265c7cb33356f56e34003398cf1974fcda377339f41ac0171a83155009d6f988832 SHA512 5c38a3c61b6f4ec205a970773db90fced9319cde2ba3b92876a2d04a0ea63a97d67b088972e7d8215d1580efdf1bd7fbf5c89ceab15faf1b8212d72bbbc573f2 DIST system.collections.nongeneric.4.3.0.nupkg 239265 BLAKE2B cc987578ab9b0c1dfc8925f2c946876f8c8d6f335d8d6a6a0a30848c6c812a24774d059fe28aa83887b45d924705abe88fd96451dba7b2253dc9b99afc7a75e8 SHA512 dc6abfe778b3ea08e99f50b79112a51728e689f353b082234351b9f5b1be4b601a0b6d38a04c2138d05b5bdd83d6f3d91b53ee86ed119225c15e4683c38bf98c -DIST system.collections.specialized.4.0.1.nupkg 183457 BLAKE2B 4b886d3db9b40b6ba0372deb97ba84918a2523401b09986bd42b84f7b01d088e75467477f549113396c37db8b4f111987c93e5d6cd4e9a2935656b5c5de67abb SHA512 53d2b256394c9dd1d16930c25f21714dd2d23ab0c9f3d3ac3a3a4552b64f679f2342b03d193984d050d506a22c450dfebb5bc6e404930cfff98ac9c19d7c9d08 DIST system.collections.specialized.4.3.0.nupkg 183462 BLAKE2B 9297ea15b3d8880a719e4608622793e8883f68887ed2422b287897ad389b41f5301c69707434868c3db88ba3b8819c4cc22b7f5cbb09d2729b0f5e121ddb6921 SHA512 c7a257cbda812d6c0c44b29d8bb5cc4f5cf2d3cb81574eb1dc94a7efde980ac26c5ffadb7cc3521fe7b19437766a046c83cbf2e7ea59a36435c288add8142b57 DIST system.commandline.2.0.0-beta4.22272.1.nupkg 616636 BLAKE2B 5252560598c4cd67348520cea086c37b4151b984a61238de1984838975340247b16050113422b1765931bdfc1dee38e226789b6427e56ab7c3a36bf07d0bcc20 SHA512 979a7e66ba29e17bc5bec42e926ed15362e23ae403e498c955e09dffc4d3baa14777a06f95e25d591fc9757a0eaa18deb9e4662a1ca1663fa300f509a4a0383c DIST system.componentmodel.4.3.0.nupkg 95320 BLAKE2B 8c03f003539d1c0920c4d1a2d0b57a19f93c9c1d7f2e0004035b758b56915da1ba0207d1506cc0cf8af71bb2e58408fb824674941230a0465249752b1dc0df93 SHA512 7c638ac92a132e1553a089c6a711ffb7431b22fecca322ce748d6684ae2baaf161bab2f71704750bd15ec6fda11e795f2ab8491ac769b89341bde77aa9212d59 @@ -230,7 +211,6 @@ DIST system.dynamic.runtime.4.3.0.nupkg 548103 BLAKE2B 42ac34ffe9b9b6fe69c984aa2 DIST system.globalization.4.0.11.nupkg 589139 BLAKE2B a4ee2d6848c249b34a67192dfd32f78d842f4b12f8be137804966d00b2e15dd8b2f9ecc6427f9074c35802d9bc13674c912c80ba405e610324772f9b640dea46 SHA512 66bc21667f5f839bc711eda3b0463863d70e0ad86770fd5410e0123006d6f031755cf7220187fb7cefed69b3f4a9eab8f0868cae765cb1425c8bf60427f395e6 DIST system.globalization.4.3.0.nupkg 589136 BLAKE2B 7b07f9b68f0744ddcfa3f0db6190c1a0696c2f89f8c5e92922ac20fc4155e22d97e7191bf7866c9b58acec056bff08531b0adacccaec7d4301e1d4b149fa511f SHA512 823d2ba308cb073b40a3146ecccd0d9fd7b1615ac3fbefb16f73d873e411fd81c3bdc87df206d3dc7e2f14c9cd53aafca684a3570c25471280aada8de805ece2 DIST system.globalization.calendars.4.3.0.nupkg 177689 BLAKE2B b70b5d9e545835e5a3fe4c703b2bd7c857968ba1fcae5299c9c41d550338914f2ad9d168948018fa7da7271d62a3b9d2ad1e696d334ee7d3fdaefd25395aa64c SHA512 e97190231402b393774b925efc02a2bfa41d1d117a17fb87da6e399f5234546962767e9cd8f39970efa408e4f453cd1e6751a2a61e366bc97406e1b0b8a4be86 -DIST system.globalization.extensions.4.0.1.nupkg 142766 BLAKE2B 28344f900c32045cf4f6d168e02dd1df501fee3a5d0ede8ee35034e96cea6655ecb0f0d722eaeed78c500535b0795e7cd0f067e286cf65ca083fc4c37477efd5 SHA512 415ab44aa3e46b59ad1d314ceda11f9dc78f85adede3daece96c83c98448e2a0cad7e79045edeeeaca8618115c38517364b00cdd9a0a7228e7da1ebc342b0116 DIST system.globalization.extensions.4.3.0.nupkg 142949 BLAKE2B 4eb77d4ce5af01136145ea867e9d6cc81181b36a178ff487905dd7d7c6a4986c518675af68eac0e854347503e11513056173a93e6803683f3fddee7677b88e05 SHA512 a4d360003f95e0c31edf39c0b91e1c73850a60ac5d0032b17db888a3c7d7134cef9acd97219d14174ad213b7c044f49b364cc5720073ebfcb6e1bf6e4ec24ce5 DIST system.io.4.1.0.nupkg 703645 BLAKE2B b0df16bf1368571d6755f88cc8fcce330d1dd5b478a009363e87f463e12eed7722d4bcd66a1e70de63d1b31ae2793b80c735e19a63e80ad4bc4c45f107e94ce6 SHA512 e01b432f3d715f3c88d5d7f3e7cc1ceee78caf99407a11c3306f9103aee78963f818417f14eec52f0096fa247900a31e53bd3226e06f0c0f93870db0b2b78331 DIST system.io.4.3.0.nupkg 703652 BLAKE2B b5b2627ace4cc49f35a0caf5c064c4c8262ff0fe3df79bb1bd3529b3e306c8b1e77ea9e5948de343ee786a50e12be822ca89b5ea3f16347b9c0bce6bd8071127 SHA512 bfca5a21e3e1986b9765b13dc6fbcd6f8b89e4c1383855d1d7ef256bf1bf2f51889769db5365859dd7606fbf6454add4daeb3bab56994ffb98fd1d03fe8bc1e6 diff --git a/dev-lang/dafny/dafny-4.4.0-r1.ebuild b/dev-lang/dafny/dafny-4.4.0-r1.ebuild deleted file mode 100644 index 2fd7b19b0f00..000000000000 --- a/dev-lang/dafny/dafny-4.4.0-r1.ebuild +++ /dev/null @@ -1,592 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -DOTNET_PKG_COMPAT=6.0 -NUGETS=" -boogie.abstractinterpretation@3.0.9 -boogie.basetypes@3.0.9 -boogie.codecontractsextender@3.0.9 -boogie.concurrency@3.0.9 -boogie.core@3.0.9 -boogie.executionengine@3.0.9 -boogie.graph@3.0.9 -boogie.houdini@3.0.9 -boogie.model@3.0.9 -boogie.provers.smtlib@3.0.9 -boogie.vcexpr@3.0.9 -boogie.vcgeneration@3.0.9 -castle.core@4.4.0 -commandlineparser@2.8.0 -commandlineparser@2.9.1 -coverlet.collector@3.2.0 -diffplex@1.7.0 -humanizer.core@2.2.0 -jetbrains.annotations@2021.1.0 -mediatr@8.1.0 -microsoft.bcl.asyncinterfaces@1.1.1 -microsoft.bcl.asyncinterfaces@5.0.0 -microsoft.bcl.asyncinterfaces@6.0.0 -microsoft.build.framework@17.0.0 -microsoft.build.locator@1.4.1 -microsoft.build.tasks.core@17.0.0 -microsoft.build.utilities.core@17.0.0 -microsoft.build@17.0.0 -microsoft.codeanalysis.analyzers@3.0.0 -microsoft.codeanalysis.analyzers@3.3.2 -microsoft.codeanalysis.common@3.7.0 -microsoft.codeanalysis.common@4.0.1 -microsoft.codeanalysis.csharp.workspaces@4.0.1 -microsoft.codeanalysis.csharp@3.7.0 -microsoft.codeanalysis.csharp@4.0.1 -microsoft.codeanalysis.visualbasic.workspaces@4.0.1 -microsoft.codeanalysis.visualbasic@4.0.1 -microsoft.codeanalysis.workspaces.common@4.0.1 -microsoft.codeanalysis.workspaces.msbuild@4.0.1 -microsoft.codeanalysis@4.0.1 -microsoft.codecoverage@16.11.0 -microsoft.codecoverage@16.9.4 -microsoft.codecoverage@17.1.0 -microsoft.csharp@4.0.1 -microsoft.dotnet.platformabstractions@2.0.4 -microsoft.extensions.configuration.abstractions@2.0.0 -microsoft.extensions.configuration.abstractions@5.0.0 -microsoft.extensions.configuration.binder@2.0.0 -microsoft.extensions.configuration.binder@5.0.0 -microsoft.extensions.configuration.commandline@5.0.0 -microsoft.extensions.configuration.fileextensions@5.0.0 -microsoft.extensions.configuration.json@5.0.0 -microsoft.extensions.configuration@2.0.0 -microsoft.extensions.configuration@5.0.0 -microsoft.extensions.dependencyinjection.abstractions@2.0.0 -microsoft.extensions.dependencyinjection.abstractions@5.0.0 -microsoft.extensions.dependencyinjection@2.0.0 -microsoft.extensions.dependencyinjection@5.0.0 -microsoft.extensions.dependencymodel@2.0.4 -microsoft.extensions.fileproviders.abstractions@5.0.0 -microsoft.extensions.fileproviders.physical@5.0.0 -microsoft.extensions.filesystemglobbing@5.0.0 -microsoft.extensions.logging.abstractions@2.0.0 -microsoft.extensions.logging.abstractions@5.0.0 -microsoft.extensions.logging.configuration@5.0.0 -microsoft.extensions.logging.console@5.0.0 -microsoft.extensions.logging@2.0.0 -microsoft.extensions.logging@5.0.0 -microsoft.extensions.options.configurationextensions@2.0.0 -microsoft.extensions.options.configurationextensions@5.0.0 -microsoft.extensions.options@2.0.0 -microsoft.extensions.options@5.0.0 -microsoft.extensions.primitives@2.0.0 -microsoft.extensions.primitives@5.0.0 -microsoft.net.stringtools@1.0.0 -microsoft.net.test.sdk@16.11.0 -microsoft.net.test.sdk@16.9.4 -microsoft.net.test.sdk@17.1.0 -microsoft.netcore.platforms@1.0.1 -microsoft.netcore.platforms@1.1.0 -microsoft.netcore.platforms@2.1.2 -microsoft.netcore.platforms@3.0.0 -microsoft.netcore.platforms@3.1.0 -microsoft.netcore.targets@1.0.1 -microsoft.netcore.targets@1.1.0 -microsoft.netframework.referenceassemblies.net452@1.0.2 -microsoft.netframework.referenceassemblies@1.0.2 -microsoft.testplatform.extensions.trxlogger@17.0.0 -microsoft.testplatform.objectmodel@16.11.0 -microsoft.testplatform.objectmodel@16.9.4 -microsoft.testplatform.objectmodel@17.0.0 -microsoft.testplatform.objectmodel@17.1.0 -microsoft.testplatform.testhost@16.11.0 -microsoft.testplatform.testhost@16.9.4 -microsoft.testplatform.testhost@17.1.0 -microsoft.visualstudio.threading.analyzers@16.7.56 -microsoft.visualstudio.threading@16.7.56 -microsoft.visualstudio.validation@15.5.31 -microsoft.win32.primitives@4.3.0 -microsoft.win32.registry@4.3.0 -microsoft.win32.registry@4.6.0 -microsoft.win32.systemevents@4.7.0 -microsoft.win32.systemevents@6.0.0 -moq@4.16.1 -nerdbank.streams@2.6.81 -netstandard.library@1.6.1 -netstandard.library@2.0.3 -newtonsoft.json@11.0.2 -newtonsoft.json@13.0.1 -newtonsoft.json@9.0.1 -nuget.frameworks@5.0.0 -nuget.frameworks@5.11.0 -omnisharp.extensions.jsonrpc.generators@0.19.5 -omnisharp.extensions.jsonrpc.testing@0.19.5 -omnisharp.extensions.jsonrpc@0.19.5 -omnisharp.extensions.languageclient@0.19.5 -omnisharp.extensions.languageprotocol.testing@0.19.5 -omnisharp.extensions.languageprotocol@0.19.5 -omnisharp.extensions.languageserver.shared@0.19.5 -omnisharp.extensions.languageserver@0.19.5 -rangetree@3.0.1 -runtime.any.system.collections@4.3.0 -runtime.any.system.diagnostics.tools@4.3.0 -runtime.any.system.diagnostics.tracing@4.3.0 -runtime.any.system.globalization.calendars@4.3.0 -runtime.any.system.globalization@4.3.0 -runtime.any.system.io@4.3.0 -runtime.any.system.reflection.extensions@4.3.0 -runtime.any.system.reflection.primitives@4.3.0 -runtime.any.system.reflection@4.3.0 -runtime.any.system.resources.resourcemanager@4.3.0 -runtime.any.system.runtime.handles@4.3.0 -runtime.any.system.runtime.interopservices@4.3.0 -runtime.any.system.runtime@4.3.0 -runtime.any.system.text.encoding.extensions@4.3.0 -runtime.any.system.text.encoding@4.3.0 -runtime.any.system.threading.tasks@4.3.0 -runtime.any.system.threading.timer@4.3.0 -runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.native.system.io.compression@4.3.0 -runtime.native.system.net.http@4.3.0 -runtime.native.system.security.cryptography.apple@4.3.0 -runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.native.system@4.0.0 -runtime.native.system@4.3.0 -runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0 -runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.unix.microsoft.win32.primitives@4.3.0 -runtime.unix.system.console@4.3.0 -runtime.unix.system.diagnostics.debug@4.3.0 -runtime.unix.system.io.filesystem@4.3.0 -runtime.unix.system.net.primitives@4.3.0 -runtime.unix.system.net.sockets@4.3.0 -runtime.unix.system.private.uri@4.3.0 -runtime.unix.system.runtime.extensions@4.3.0 -serilog.extensions.logging@3.0.1 -serilog.settings.configuration@3.1.0 -serilog.sinks.debug@2.0.0 -serilog.sinks.file@5.0.0 -serilog.sinks.inmemory@0.11.0 -serilog@2.10.0 -serilog@2.12.0 -system.appcontext@4.1.0 -system.appcontext@4.3.0 -system.buffers@4.3.0 -system.buffers@4.4.0 -system.codedom@4.4.0 -system.collections.concurrent@4.3.0 -system.collections.immutable@1.5.0 -system.collections.immutable@1.7.0 -system.collections.immutable@1.7.1 -system.collections.immutable@5.0.0 -system.collections.nongeneric@4.0.1 -system.collections.nongeneric@4.3.0 -system.collections.specialized@4.0.1 -system.collections.specialized@4.3.0 -system.collections@4.0.11 -system.collections@4.3.0 -system.commandline@2.0.0-beta4.22272.1 -system.componentmodel.primitives@4.3.0 -system.componentmodel.typeconverter@4.3.0 -system.componentmodel@4.3.0 -system.composition.attributedmodel@1.0.31 -system.composition.convention@1.0.31 -system.composition.hosting@1.0.31 -system.composition.runtime@1.0.31 -system.composition.typedparts@1.0.31 -system.composition@1.0.31 -system.configuration.configurationmanager@4.7.0 -system.configuration.configurationmanager@6.0.0 -system.console@4.3.0 -system.diagnostics.debug@4.0.11 -system.diagnostics.debug@4.3.0 -system.diagnostics.diagnosticsource@4.3.0 -system.diagnostics.tools@4.0.1 -system.diagnostics.tools@4.3.0 -system.diagnostics.tracesource@4.3.0 -system.diagnostics.tracing@4.3.0 -system.drawing.common@4.7.0 -system.drawing.common@6.0.0 -system.dynamic.runtime@4.0.11 -system.dynamic.runtime@4.3.0 -system.globalization.calendars@4.3.0 -system.globalization.extensions@4.0.1 -system.globalization.extensions@4.3.0 -system.globalization@4.0.11 -system.globalization@4.3.0 -system.io.compression.zipfile@4.3.0 -system.io.compression@4.3.0 -system.io.filesystem.primitives@4.0.1 -system.io.filesystem.primitives@4.3.0 -system.io.filesystem@4.0.1 -system.io.filesystem@4.3.0 -system.io.pipelines@4.7.3 -system.io.pipelines@5.0.1 -system.io@4.1.0 -system.io@4.3.0 -system.linq.async@6.0.1 -system.linq.expressions@4.1.0 -system.linq.expressions@4.3.0 -system.linq@4.1.0 -system.linq@4.3.0 -system.memory@4.5.3 -system.memory@4.5.4 -system.net.http@4.3.0 -system.net.nameresolution@4.3.0 -system.net.primitives@4.3.0 -system.net.sockets@4.3.0 -system.net.websockets@4.3.0 -system.numerics.vectors@4.4.0 -system.objectmodel@4.0.12 -system.objectmodel@4.3.0 -system.private.uri@4.3.0 -system.reactive@4.4.1 -system.reflection.emit.ilgeneration@4.0.1 -system.reflection.emit.ilgeneration@4.3.0 -system.reflection.emit.lightweight@4.0.1 -system.reflection.emit.lightweight@4.3.0 -system.reflection.emit@4.0.1 -system.reflection.emit@4.3.0 -system.reflection.extensions@4.0.1 -system.reflection.extensions@4.3.0 -system.reflection.metadata@1.6.0 -system.reflection.metadata@5.0.0 -system.reflection.primitives@4.0.1 -system.reflection.primitives@4.3.0 -system.reflection.typeextensions@4.1.0 -system.reflection.typeextensions@4.3.0 -system.reflection@4.1.0 -system.reflection@4.3.0 -system.resources.extensions@4.6.0 -system.resources.resourcemanager@4.0.1 -system.resources.resourcemanager@4.3.0 -system.runtime.caching@6.0.0 -system.runtime.compilerservices.unsafe@4.4.0 -system.runtime.compilerservices.unsafe@4.5.2 -system.runtime.compilerservices.unsafe@4.7.0 -system.runtime.compilerservices.unsafe@4.7.1 -system.runtime.compilerservices.unsafe@5.0.0 -system.runtime.extensions@4.1.0 -system.runtime.extensions@4.3.0 -system.runtime.handles@4.0.1 -system.runtime.handles@4.3.0 -system.runtime.interopservices.runtimeinformation@4.0.0 -system.runtime.interopservices.runtimeinformation@4.3.0 -system.runtime.interopservices@4.1.0 -system.runtime.interopservices@4.3.0 -system.runtime.numerics@4.3.0 -system.runtime.serialization.primitives@4.1.1 -system.runtime@4.1.0 -system.runtime@4.3.0 -system.security.accesscontrol@4.6.0 -system.security.accesscontrol@4.7.0 -system.security.accesscontrol@6.0.0 -system.security.claims@4.3.0 -system.security.cryptography.algorithms@4.3.0 -system.security.cryptography.cng@4.3.0 -system.security.cryptography.cng@4.7.0 -system.security.cryptography.csp@4.3.0 -system.security.cryptography.encoding@4.3.0 -system.security.cryptography.openssl@4.3.0 -system.security.cryptography.pkcs@4.7.0 -system.security.cryptography.primitives@4.3.0 -system.security.cryptography.protecteddata@4.7.0 -system.security.cryptography.protecteddata@6.0.0 -system.security.cryptography.x509certificates@4.3.0 -system.security.cryptography.xml@4.7.0 -system.security.permissions@4.7.0 -system.security.permissions@6.0.0 -system.security.principal.windows@4.3.0 -system.security.principal.windows@4.6.0 -system.security.principal.windows@4.7.0 -system.security.principal@4.3.0 -system.text.encoding.codepages@4.0.1 -system.text.encoding.codepages@4.5.1 -system.text.encoding.extensions@4.0.11 -system.text.encoding.extensions@4.3.0 -system.text.encoding@4.0.11 -system.text.encoding@4.3.0 -system.text.json@4.7.0 -system.text.json@5.0.2 -system.text.regularexpressions@4.1.0 -system.text.regularexpressions@4.3.0 -system.threading.channels@4.7.1 -system.threading.tasks.dataflow@4.9.0 -system.threading.tasks.extensions@4.0.0 -system.threading.tasks.extensions@4.3.0 -system.threading.tasks.extensions@4.5.3 -system.threading.tasks.extensions@4.5.4 -system.threading.tasks@4.0.11 -system.threading.tasks@4.3.0 -system.threading.threadpool@4.3.0 -system.threading.timer@4.3.0 -system.threading@4.0.11 -system.threading@4.3.0 -system.windows.extensions@4.7.0 -system.windows.extensions@6.0.0 -system.xml.readerwriter@4.0.11 -system.xml.readerwriter@4.3.0 -system.xml.xdocument@4.0.11 -system.xml.xdocument@4.3.0 -system.xml.xmldocument@4.3.0 -tomlyn@0.16.2 -validation@2.4.18 -xunit.abstractions@2.0.2 -xunit.abstractions@2.0.3 -xunit.analyzers@0.10.0 -xunit.analyzers@1.0.0 -xunit.assert@2.4.1 -xunit.assert@2.4.2 -xunit.assertmessages@2.4.0 -xunit.core@2.4.1 -xunit.core@2.4.2 -xunit.extensibility.core@2.4.0 -xunit.extensibility.core@2.4.1 -xunit.extensibility.core@2.4.2 -xunit.extensibility.execution@2.4.0 -xunit.extensibility.execution@2.4.1 -xunit.extensibility.execution@2.4.2 -xunit.runner.visualstudio@2.4.3 -xunit.runner.visualstudio@2.5.1 -xunit.skippablefact@1.4.8 -xunit@2.4.1 -xunit@2.4.2 -" - -inherit check-reqs dotnet-pkg edo java-pkg-2 multiprocessing python-any-r1 - -DESCRIPTION="Dafny is a verification-aware programming language" -HOMEPAGE="https://dafny.org/ - https://github.com/dafny-lang/dafny/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/dafny-lang/${PN}.git" -else - SRC_URI="https://github.com/dafny-lang/${PN}/archive/v${PV}.tar.gz - -> ${P}.tar.gz" - - KEYWORDS="amd64" -fi - -SRC_URI+=" - ${NUGET_URIS} - test? ( https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz ) -" - -LICENSE="MIT" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - !dev-lang/dafny-bin - >=virtual/jre-1.8:* - sci-mathematics/z3 -" -DEPEND=" - >=virtual/jdk-1.8:* -" -BDEPEND=" - ${RDEPEND} - dev-dotnet/coco - test? ( - ${PYTHON_DEPS} - dev-lang/boogie - dev-lang/go - dev-python/OutputCheck - dev-python/lit - net-libs/nodejs[npm] - ) -" - -CHECKREQS_DISK_BUILD="2G" -DOTNET_PKG_PROJECTS=( - "${S}/Source/Dafny/Dafny.csproj" - "${S}/Source/TestDafny/TestDafny.csproj" -) - -PATCHES=( - "${FILESDIR}/${PN}-3.12.0-DafnyCore-csproj.patch" - "${FILESDIR}/${PN}-3.12.0-DafnyRuntime-csproj.patch" - "${FILESDIR}/${PN}-4.4.0-lit-config.patch" - "${FILESDIR}/${PN}-4.4.0-lit-system-boogie.patch" -) - -DOCS=( - CODE_OF_CONDUCT.md - CONTRIBUTING.md - NOTICES.txt - README.md - RELEASE_NOTES.md - docs/DafnyCheatsheet.pdf - docs/DafnyRef/out/DafnyRef.pdf -) - -TEST_S="${S}/Source/IntegrationTests/TestFiles/LitTests/LitTest" - -pkg_setup() { - # Clean the environment. - unset NPM_CONFIG_USERCONFIG - - if [[ -n "${_JAVA_OPTIONS}" ]] ; then - ewarn "Cleaning _JAVA_OPTIONS because when set compile and test may fail" - - unset _JAVA_OPTIONS - fi - - check-reqs_pkg_setup - dotnet-pkg_pkg_setup - java-pkg-2_pkg_setup - - # We need to set up Python only for running test tools (called via lit). - if use test ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - dotnet-pkg_src_unpack - - if [[ -n "${EGIT_REPO_URI}" ]] ; then - git-r3_src_unpack - fi -} - -src_prepare() { - # Using "for-each-compiler" will fail because of Cargo requiring network access. - while read -r test_file ; do - if grep "// RUN: %testDafnyForEachCompiler" "${test_file}" >/dev/null ; then - rm "${test_file}" || die - fi - done < <(find "${TEST_S}" -type f -name "*.dfy") - - # Remove bad tests (recursive). - local -a bad_tests=( - # Following tests fail: - VSComp2010/Problem2-Invert.dfy - auditor/TestAuditor.dfy - benchmarks/sequence-race/SequenceRace.dfy - dafny0/Fuel.legacy.dfy - dafny0/JavaUseRuntimeLib.dfy - dafny0/Stdin.dfy - dafny4/Lucas-up.legacy.dfy - git-issues/git-issue-2026.dfy - git-issues/git-issue-2299.dfy - git-issues/git-issue-2301.dfy - separate-verification/assumptions.dfy - server/counterexample_none.transcript - wishlist/exists-b-exists-not-b.dfy - - # Following tests are very slow: - VSI-Benchmarks/b4.dfy - comp/CompileWithArguments.dfy - comp/MainMethod.dfy - comp/compile3/JustRun.dfy - concurrency/07-CounterThreadOwnership.dfy - concurrency/09-CounterNoStateMachine.dfy - concurrency/10-SequenceInvariant.dfy - concurrency/12-MutexLifetime-short.dfy - dafny1/SchorrWaite.dfy - dafny2/SnapshotableTrees.dfy - dafny4/git-issue250.dfy - git-issues/git-issue-Main4.dfy - git-issues/git-issue-MainE.dfy - unicodechars/comp/CompileWithArguments.dfy - ) - local bad_test - for bad_test in "${bad_tests[@]}" ; do - rm "${TEST_S}/${bad_test}" || die "failed to remove test ${bad_test}" - done - - dotnet-pkg_src_prepare - - # Update lit's "lit.site.cfg" file. - local dotnet_exec="${DOTNET_PKG_EXECUTABLE} exec ${DOTNET_PKG_OUTPUT}" - local lit_config="${TEST_S}/lit.site.cfg" - - sed "/^defaultDafnyExecutable/s|=.*|= '${dotnet_exec}/Dafny.dll '|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" - sed "/^dafnyExecutable/s|=.*|= '${dotnet_exec}/Dafny.dll '|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" - sed "/^testDafnyExecutableCompiler/s|=.*|= '${dotnet_exec}/TestDafny.dll for-each-compiler '|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" - sed "/^testDafnyExecutableResolver/s|=.*|= '${dotnet_exec}/TestDafny.dll for-each-resolver '|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" - sed "/^defaultServerExecutable/s|=.*|= '${dotnet_exec}/DafnyServer.dll'|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" - sed "/^serverExecutable/s|=.*|= '${dotnet_exec}/DafnyServer.dll'|" \ - -i "${lit_config}" || die "failed to update ${lit_config}" -} - -src_compile () { - einfo "Building DafnyRuntimeJava JAR." - local dafny_runtime_java="${S}/Source/DafnyRuntime/DafnyRuntimeJava" - mkdir -p "${dafny_runtime_java}/build/libs/" || die - pushd "${dafny_runtime_java}/build" || die - - ejavac -d ./ $(find "${dafny_runtime_java}/src/main" -type f -name "*.java") - edo jar cvf "DafnyRuntime-${PV}.jar" dafny/* - - cp "DafnyRuntime-${PV}.jar" "${dafny_runtime_java}/build/libs/" || die - popd || die - - # Build main dotnet package. - dotnet-pkg_src_compile -} - -src_test() { - # The test "dafny0/DafnyLibClient.dfy" expects to use "DafnyRuntime.dll" - # from the "Binaries" directory. - ln -s "${DOTNET_PKG_OUTPUT}/DafnyRuntime.dll" "${S}/Binaries/" || die - - einfo "Installing bignumber.js package required for tests using NodeJS." - local -a npm_opts=( - --audit false - --color false - --foreground-scripts - --offline - --progress false - --verbose - ) - edob npm "${npm_opts[@]}" install "${DISTDIR}/bignumber.js-9.1.2.tgz" - - einfo "Starting tests using the lit test tool." - local -a lit_opts=( - --order=lexical - --time-tests - --verbose - --workers="$(makeopts_jobs)" - ) - edob lit "${lit_opts[@]}" "${TEST_S}" -} - -src_install() { - dotnet-pkg-base_install - - local -a dafny_exes=( - Dafny - DafnyDriver - DafnyLanguageServer - DafnyServer - TestDafny - ) - local dafny_exe - for dafny_exe in "${dafny_exes[@]}" ; do - dotnet-pkg-base_dolauncher "/usr/share/${P}/${dafny_exe}" "${dafny_exe}" - done - - dosym -r /usr/bin/Dafny /usr/bin/dafny - dosym -r /usr/bin/DafnyServer /usr/bin/dafny-server - - einstalldocs -} diff --git a/dev-lang/dafny/dafny-4.5.0.ebuild b/dev-lang/dafny/dafny-4.5.0.ebuild deleted file mode 100644 index 601423b0fbfa..000000000000 --- a/dev-lang/dafny/dafny-4.5.0.ebuild +++ /dev/null @@ -1,624 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -DOTNET_PKG_COMPAT=6.0 -NUGETS=" -boogie.abstractinterpretation@3.1.3 -boogie.basetypes@3.1.3 -boogie.codecontractsextender@3.1.3 -boogie.concurrency@3.1.3 -boogie.core@3.1.3 -boogie.executionengine@3.1.3 -boogie.graph@3.1.3 -boogie.houdini@3.1.3 -boogie.model@3.1.3 -boogie.provers.smtlib@3.1.3 -boogie.vcexpr@3.1.3 -boogie.vcgeneration@3.1.3 -castle.core@4.4.0 -commandlineparser@2.8.0 -commandlineparser@2.9.1 -coverlet.collector@3.2.0 -diffplex@1.7.0 -humanizer.core@2.2.0 -jetbrains.annotations@2021.1.0 -mediatr@8.1.0 -microsoft.bcl.asyncinterfaces@1.1.1 -microsoft.bcl.asyncinterfaces@5.0.0 -microsoft.bcl.asyncinterfaces@6.0.0 -microsoft.build.framework@17.0.0 -microsoft.build.locator@1.4.1 -microsoft.build.tasks.core@17.0.0 -microsoft.build.utilities.core@17.0.0 -microsoft.build@17.0.0 -microsoft.codeanalysis.analyzers@3.0.0 -microsoft.codeanalysis.analyzers@3.3.2 -microsoft.codeanalysis.common@3.7.0 -microsoft.codeanalysis.common@4.0.1 -microsoft.codeanalysis.csharp.workspaces@4.0.1 -microsoft.codeanalysis.csharp@3.7.0 -microsoft.codeanalysis.csharp@4.0.1 -microsoft.codeanalysis.visualbasic.workspaces@4.0.1 -microsoft.codeanalysis.visualbasic@4.0.1 -microsoft.codeanalysis.workspaces.common@4.0.1 -microsoft.codeanalysis.workspaces.msbuild@4.0.1 -microsoft.codeanalysis@4.0.1 -microsoft.codecoverage@16.11.0 -microsoft.codecoverage@16.9.4 -microsoft.codecoverage@17.1.0 -microsoft.csharp@4.0.1 -microsoft.dotnet.platformabstractions@2.0.4 -microsoft.extensions.configuration.abstractions@2.0.0 -microsoft.extensions.configuration.abstractions@5.0.0 -microsoft.extensions.configuration.binder@2.0.0 -microsoft.extensions.configuration.binder@5.0.0 -microsoft.extensions.configuration.commandline@5.0.0 -microsoft.extensions.configuration.fileextensions@5.0.0 -microsoft.extensions.configuration.json@5.0.0 -microsoft.extensions.configuration@2.0.0 -microsoft.extensions.configuration@5.0.0 -microsoft.extensions.dependencyinjection.abstractions@2.0.0 -microsoft.extensions.dependencyinjection.abstractions@5.0.0 -microsoft.extensions.dependencyinjection@2.0.0 -microsoft.extensions.dependencyinjection@5.0.0 -microsoft.extensions.dependencymodel@2.0.4 -microsoft.extensions.fileproviders.abstractions@5.0.0 -microsoft.extensions.fileproviders.physical@5.0.0 -microsoft.extensions.filesystemglobbing@5.0.0 -microsoft.extensions.logging.abstractions@2.0.0 -microsoft.extensions.logging.abstractions@5.0.0 -microsoft.extensions.logging.configuration@5.0.0 -microsoft.extensions.logging.console@5.0.0 -microsoft.extensions.logging@2.0.0 -microsoft.extensions.logging@5.0.0 -microsoft.extensions.options.configurationextensions@2.0.0 -microsoft.extensions.options.configurationextensions@5.0.0 -microsoft.extensions.options@2.0.0 -microsoft.extensions.options@5.0.0 -microsoft.extensions.primitives@2.0.0 -microsoft.extensions.primitives@5.0.0 -microsoft.net.stringtools@1.0.0 -microsoft.net.test.sdk@16.11.0 -microsoft.net.test.sdk@16.9.4 -microsoft.net.test.sdk@17.1.0 -microsoft.netcore.platforms@1.0.1 -microsoft.netcore.platforms@1.1.0 -microsoft.netcore.platforms@2.1.2 -microsoft.netcore.platforms@3.0.0 -microsoft.netcore.platforms@3.1.0 -microsoft.netcore.targets@1.0.1 -microsoft.netcore.targets@1.1.0 -microsoft.netframework.referenceassemblies.net452@1.0.2 -microsoft.netframework.referenceassemblies@1.0.2 -microsoft.testplatform.extensions.trxlogger@17.9.0 -microsoft.testplatform.objectmodel@16.11.0 -microsoft.testplatform.objectmodel@16.9.4 -microsoft.testplatform.objectmodel@17.1.0 -microsoft.testplatform.objectmodel@17.9.0 -microsoft.testplatform.testhost@16.11.0 -microsoft.testplatform.testhost@16.9.4 -microsoft.testplatform.testhost@17.1.0 -microsoft.testplatform.testhost@17.9.0 -microsoft.visualstudio.threading.analyzers@16.7.56 -microsoft.visualstudio.threading@16.7.56 -microsoft.visualstudio.validation@15.5.31 -microsoft.win32.primitives@4.3.0 -microsoft.win32.registry@4.3.0 -microsoft.win32.registry@4.6.0 -microsoft.win32.systemevents@4.7.0 -microsoft.win32.systemevents@6.0.0 -moq@4.16.1 -nerdbank.streams@2.6.81 -netstandard.library@1.6.1 -netstandard.library@2.0.3 -newtonsoft.json@11.0.2 -newtonsoft.json@13.0.1 -newtonsoft.json@9.0.1 -nuget.frameworks@5.0.0 -nuget.frameworks@5.11.0 -omnisharp.extensions.jsonrpc.generators@0.19.5 -omnisharp.extensions.jsonrpc.testing@0.19.5 -omnisharp.extensions.jsonrpc@0.19.5 -omnisharp.extensions.languageclient@0.19.5 -omnisharp.extensions.languageprotocol.testing@0.19.5 -omnisharp.extensions.languageprotocol@0.19.5 -omnisharp.extensions.languageserver.shared@0.19.5 -omnisharp.extensions.languageserver@0.19.5 -rangetree@3.0.1 -runtime.any.system.collections@4.3.0 -runtime.any.system.diagnostics.tools@4.3.0 -runtime.any.system.diagnostics.tracing@4.3.0 -runtime.any.system.globalization.calendars@4.3.0 -runtime.any.system.globalization@4.3.0 -runtime.any.system.io@4.3.0 -runtime.any.system.reflection.extensions@4.3.0 -runtime.any.system.reflection.primitives@4.3.0 -runtime.any.system.reflection@4.3.0 -runtime.any.system.resources.resourcemanager@4.3.0 -runtime.any.system.runtime.handles@4.3.0 -runtime.any.system.runtime.interopservices@4.3.0 -runtime.any.system.runtime@4.3.0 -runtime.any.system.text.encoding.extensions@4.3.0 -runtime.any.system.text.encoding@4.3.0 -runtime.any.system.threading.tasks@4.3.0 -runtime.any.system.threading.timer@4.3.0 -runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.native.system.io.compression@4.3.0 -runtime.native.system.net.http@4.3.0 -runtime.native.system.security.cryptography.apple@4.3.0 -runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.native.system@4.0.0 -runtime.native.system@4.3.0 -runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple@4.3.0 -runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0 -runtime.unix.microsoft.win32.primitives@4.3.0 -runtime.unix.system.console@4.3.0 -runtime.unix.system.diagnostics.debug@4.3.0 -runtime.unix.system.io.filesystem@4.3.0 -runtime.unix.system.net.primitives@4.3.0 -runtime.unix.system.net.sockets@4.3.0 -runtime.unix.system.private.uri@4.3.0 -runtime.unix.system.runtime.extensions@4.3.0 -serilog.extensions.logging@3.0.1 -serilog.settings.configuration@3.1.0 -serilog.sinks.debug@2.0.0 -serilog.sinks.file@5.0.0 -serilog.sinks.inmemory@0.11.0 -serilog@2.12.0 -system.appcontext@4.1.0 -system.appcontext@4.3.0 -system.buffers@4.3.0 -system.buffers@4.4.0 -system.codedom@4.4.0 -system.collections.concurrent@4.3.0 -system.collections.immutable@1.5.0 -system.collections.immutable@1.7.0 -system.collections.immutable@1.7.1 -system.collections.immutable@5.0.0 -system.collections.nongeneric@4.3.0 -system.collections.specialized@4.3.0 -system.collections@4.0.11 -system.collections@4.3.0 -system.commandline@2.0.0-beta4.22272.1 -system.componentmodel.primitives@4.3.0 -system.componentmodel.typeconverter@4.3.0 -system.componentmodel@4.3.0 -system.composition.attributedmodel@1.0.31 -system.composition.convention@1.0.31 -system.composition.hosting@1.0.31 -system.composition.runtime@1.0.31 -system.composition.typedparts@1.0.31 -system.composition@1.0.31 -system.configuration.configurationmanager@4.7.0 -system.configuration.configurationmanager@6.0.0 -system.console@4.3.0 -system.diagnostics.debug@4.0.11 -system.diagnostics.debug@4.3.0 -system.diagnostics.diagnosticsource@4.3.0 -system.diagnostics.tools@4.0.1 -system.diagnostics.tools@4.3.0 -system.diagnostics.tracesource@4.3.0 -system.diagnostics.tracing@4.3.0 -system.drawing.common@4.7.0 -system.drawing.common@6.0.0 -system.dynamic.runtime@4.0.11 -system.dynamic.runtime@4.3.0 -system.globalization.calendars@4.3.0 -system.globalization.extensions@4.3.0 -system.globalization@4.0.11 -system.globalization@4.3.0 -system.io.compression.zipfile@4.3.0 -system.io.compression@4.3.0 -system.io.filesystem.primitives@4.0.1 -system.io.filesystem.primitives@4.3.0 -system.io.filesystem@4.0.1 -system.io.filesystem@4.3.0 -system.io.pipelines@4.7.3 -system.io.pipelines@5.0.1 -system.io@4.1.0 -system.io@4.3.0 -system.linq.async@6.0.1 -system.linq.expressions@4.1.0 -system.linq.expressions@4.3.0 -system.linq@4.1.0 -system.linq@4.3.0 -system.memory@4.5.3 -system.memory@4.5.4 -system.net.http@4.3.0 -system.net.nameresolution@4.3.0 -system.net.primitives@4.3.0 -system.net.sockets@4.3.0 -system.net.websockets@4.3.0 -system.numerics.vectors@4.4.0 -system.objectmodel@4.0.12 -system.objectmodel@4.3.0 -system.private.uri@4.3.0 -system.reactive@4.4.1 -system.reflection.emit.ilgeneration@4.0.1 -system.reflection.emit.ilgeneration@4.3.0 -system.reflection.emit.lightweight@4.0.1 -system.reflection.emit.lightweight@4.3.0 -system.reflection.emit@4.0.1 -system.reflection.emit@4.3.0 -system.reflection.extensions@4.0.1 -system.reflection.extensions@4.3.0 -system.reflection.metadata@1.6.0 -system.reflection.metadata@5.0.0 -system.reflection.primitives@4.0.1 -system.reflection.primitives@4.3.0 -system.reflection.typeextensions@4.1.0 -system.reflection.typeextensions@4.3.0 -system.reflection@4.1.0 -system.reflection@4.3.0 -system.resources.extensions@4.6.0 -system.resources.resourcemanager@4.0.1 -system.resources.resourcemanager@4.3.0 -system.runtime.caching@6.0.0 -system.runtime.compilerservices.unsafe@4.4.0 -system.runtime.compilerservices.unsafe@4.5.2 -system.runtime.compilerservices.unsafe@4.7.0 -system.runtime.compilerservices.unsafe@4.7.1 -system.runtime.compilerservices.unsafe@5.0.0 -system.runtime.extensions@4.1.0 -system.runtime.extensions@4.3.0 -system.runtime.handles@4.0.1 -system.runtime.handles@4.3.0 -system.runtime.interopservices.runtimeinformation@4.0.0 -system.runtime.interopservices.runtimeinformation@4.3.0 -system.runtime.interopservices@4.1.0 -system.runtime.interopservices@4.3.0 -system.runtime.numerics@4.3.0 -system.runtime.serialization.primitives@4.1.1 -system.runtime@4.1.0 -system.runtime@4.3.0 -system.security.accesscontrol@4.6.0 -system.security.accesscontrol@4.7.0 -system.security.accesscontrol@6.0.0 -system.security.claims@4.3.0 -system.security.cryptography.algorithms@4.3.0 -system.security.cryptography.cng@4.3.0 -system.security.cryptography.cng@4.7.0 -system.security.cryptography.csp@4.3.0 -system.security.cryptography.encoding@4.3.0 -system.security.cryptography.openssl@4.3.0 -system.security.cryptography.pkcs@4.7.0 -system.security.cryptography.primitives@4.3.0 -system.security.cryptography.protecteddata@4.7.0 -system.security.cryptography.protecteddata@6.0.0 -system.security.cryptography.x509certificates@4.3.0 -system.security.cryptography.xml@4.7.0 -system.security.permissions@4.7.0 -system.security.permissions@6.0.0 -system.security.principal.windows@4.3.0 -system.security.principal.windows@4.6.0 -system.security.principal.windows@4.7.0 -system.security.principal@4.3.0 -system.text.encoding.codepages@4.0.1 -system.text.encoding.codepages@4.5.1 -system.text.encoding.extensions@4.0.11 -system.text.encoding.extensions@4.3.0 -system.text.encoding@4.0.11 -system.text.encoding@4.3.0 -system.text.json@4.7.0 -system.text.json@5.0.2 -system.text.regularexpressions@4.1.0 -system.text.regularexpressions@4.3.0 -system.threading.channels@4.7.1 -system.threading.tasks.dataflow@4.9.0 -system.threading.tasks.extensions@4.0.0 -system.threading.tasks.extensions@4.3.0 -system.threading.tasks.extensions@4.5.3 -system.threading.tasks.extensions@4.5.4 -system.threading.tasks@4.0.11 -system.threading.tasks@4.3.0 -system.threading.threadpool@4.3.0 -system.threading.timer@4.3.0 -system.threading@4.0.11 -system.threading@4.3.0 -system.windows.extensions@4.7.0 -system.windows.extensions@6.0.0 -system.xml.readerwriter@4.0.11 -system.xml.readerwriter@4.3.0 -system.xml.xdocument@4.0.11 -system.xml.xdocument@4.3.0 -system.xml.xmldocument@4.3.0 -tomlyn@0.16.2 -validation@2.4.18 -xunit.abstractions@2.0.2 -xunit.abstractions@2.0.3 -xunit.analyzers@0.10.0 -xunit.analyzers@1.0.0 -xunit.assert@2.4.1 -xunit.assert@2.4.2 -xunit.assertmessages@2.4.0 -xunit.core@2.4.1 -xunit.core@2.4.2 -xunit.extensibility.core@2.4.0 -xunit.extensibility.core@2.4.1 -xunit.extensibility.core@2.4.2 -xunit.extensibility.execution@2.4.0 -xunit.extensibility.execution@2.4.1 -xunit.extensibility.execution@2.4.2 -xunit.runner.visualstudio@2.4.3 -xunit.runner.visualstudio@2.5.1 -xunit.skippablefact@1.4.8 -xunit@2.4.1 -xunit@2.4.2 -" - -inherit check-reqs dotnet-pkg edo java-pkg-2 multiprocessing python-any-r1 optfeature - -DESCRIPTION="Dafny is a verification-aware programming language" -HOMEPAGE="https://dafny.org/ - https://github.com/dafny-lang/dafny/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/dafny-lang/${PN}.git" -else - SRC_URI="https://github.com/dafny-lang/${PN}/archive/v${PV}.tar.gz - -> ${P}.tar.gz" - - KEYWORDS="~amd64" -fi - -SRC_URI+=" - ${NUGET_URIS} - test? ( https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz ) -" - -LICENSE="MIT" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - !dev-lang/dafny-bin - >=virtual/jre-1.8:* - sci-mathematics/z3 -" -DEPEND=" - >=virtual/jdk-1.8:* -" -BDEPEND=" - ${RDEPEND} - dev-dotnet/coco - test? ( - ${PYTHON_DEPS} - dev-go/go-tools - dev-lang/boogie - dev-lang/go - dev-python/OutputCheck - dev-python/lit - dev-python/psutil - net-libs/nodejs[npm] - ) -" - -CHECKREQS_DISK_BUILD="2G" -DOTNET_PKG_PROJECTS=( - "${S}/Source/Dafny/Dafny.csproj" -) - -PATCHES=( - "${FILESDIR}/${PN}-3.12.0-DafnyCore-csproj.patch" - "${FILESDIR}/${PN}-3.12.0-DafnyRuntime-csproj.patch" - "${FILESDIR}/${PN}-4.5.0-lit-config.patch" -) - -DOCS=( - CODE_OF_CONDUCT.md - CONTRIBUTING.md - NOTICES.txt - README.md - RELEASE_NOTES.md - docs/DafnyCheatsheet.pdf - docs/DafnyRef/out/DafnyRef.pdf -) - -TEST_S="${S}/Source/IntegrationTests/TestFiles/LitTests/LitTest" - -pkg_setup() { - # Clean the environment. - unset NPM_CONFIG_USERCONFIG - - if [[ -n "${_JAVA_OPTIONS}" ]] ; then - ewarn "Cleaning _JAVA_OPTIONS because when set compile and test may fail" - - unset _JAVA_OPTIONS - fi - - check-reqs_pkg_setup - dotnet-pkg_pkg_setup - java-pkg-2_pkg_setup - - # We need to set up Python only for running test tools (called via lit). - if use test ; then - python-any-r1_pkg_setup - fi -} - -src_unpack() { - dotnet-pkg_src_unpack - - if [[ -n "${EGIT_REPO_URI}" ]] ; then - git-r3_src_unpack - fi -} - -src_prepare() { - # Using "for-each-compiler" will fail because of Cargo requiring network access. - while read -r test_file ; do - if grep "// RUN: %testDafnyForEachCompiler" "${test_file}" >/dev/null ; then - rm "${test_file}" || die "failed to remove test ${bad_test}" - fi - done < <(find "${TEST_S}" -type f -name "*.dfy") - - # Remove bad tests (recursive). - local -a bad_tests=( - # Following tests fail: - VSComp2010/Problem2-Invert.dfy - auditor/TestAuditor.dfy - benchmarks/sequence-race/SequenceRace.dfy - comp/CoverageReport.dfy - concurrency/06-ThreadOwnership.dfy - dafny0/Fuel.legacy.dfy - dafny0/Stdin.dfy - dafny1/MoreInduction.dfy - dafny4/Lucas-up.legacy.dfy - dafny4/Primes.dfy - examples/Simple_compiler/Compiler.dfy - git-issues/git-issue-2026.dfy - git-issues/git-issue-2299.dfy - git-issues/git-issue-2301.dfy - git-issues/git-issue-505.dfy - metatests/InconsistentCompilerBehavior.dfy - metatests/TestBeyondVerifierExpect.dfy - separate-verification/assumptions.dfy - server/counterexample_none.transcript - triggers/emptyTrigger.dfy - unicodechars/DafnyTests/RunAllTestsOption.dfy - vstte2012/Combinators.dfy - wishlist/exists-b-exists-not-b.dfy - - # Following tests are very slow: - DafnyTests/RunAllTests/RunAllTestsOption.dfy - VSI-Benchmarks/b4.dfy - blogposts/TestGenerationNoInliningEnumerativeDefinitions.dfy - comp/BranchCoverage.dfy - comp/CompileWithArguments.dfy - comp/Extern.dfy - comp/MainMethod.dfy - comp/Print.dfy - comp/SequenceConcatOptimization.dfy - comp/compile1quiet/CompileRunQuietly.dfy - comp/compile1verbose/CompileAndThenRun.dfy - comp/compile3/JustRun.dfy - comp/manualcompile/ManualCompile.dfy - comp/replaceables/complex/user.dfy - concurrency/07-CounterThreadOwnership.dfy - concurrency/08-CounterNoTermination.dfy - concurrency/09-CounterNoStateMachine.dfy - concurrency/10-SequenceInvariant.dfy - concurrency/12-MutexLifetime-short.dfy - dafny0/RlimitMultiplier.dfy - dafny1/SchorrWaite.dfy - dafny2/SnapshotableTrees.dfy - dafny4/git-issue250.dfy - git-issues/git-issue-Main4.dfy - git-issues/git-issue-MainE.dfy - unicodechars/comp/CompileWithArguments.dfy - ) - local bad_test - for bad_test in "${bad_tests[@]}" ; do - if [[ -f "${TEST_S}/${bad_test}" ]] ; then - rm "${TEST_S}/${bad_test}" || die "failed to remove test ${bad_test}" - else - ewarn "Test file ${bad_test} does not exist" - fi - done - - dotnet-pkg_src_prepare - - # Update lit's "lit.site.cfg" file. - local dotnet_exec="${DOTNET_PKG_EXECUTABLE} exec ${DOTNET_PKG_OUTPUT}" - local lit_config="${TEST_S}/lit.site.cfg" - - sed -i "${lit_config}" \ - -e "/^defaultDafnyExecutable/s|=.*|= '${dotnet_exec}/Dafny.dll '|" \ - -e "/^dafnyExecutable/s|=.*|= '${dotnet_exec}/Dafny.dll '|" \ - -e "/^defaultServerExecutable/s|=.*|= '${dotnet_exec}/DafnyServer.dll'|" \ - -e "/^serverExecutable/s|=.*|= '${dotnet_exec}/DafnyServer.dll'|" \ - -e "s|dotnet run |${DOTNET_PKG_EXECUTABLE} run |g" \ - || die "failed to update ${lit_config}" -} - -src_compile () { - einfo "Building DafnyRuntimeJava JAR." - local dafny_runtime_java="${S}/Source/DafnyRuntime/DafnyRuntimeJava" - mkdir -p "${dafny_runtime_java}/build/libs/" || die - pushd "${dafny_runtime_java}/build" || die - - ejavac -d ./ $(find "${dafny_runtime_java}/src/main" -type f -name "*.java") - edo jar cvf "DafnyRuntime-${PV}.jar" dafny/* - - cp "DafnyRuntime-${PV}.jar" "${dafny_runtime_java}/build/libs/" || die - popd || die - - # Build main dotnet package. - dotnet-pkg_src_compile - - if use test ; then - # Build "TestDafny" without saving artifacts. - edotnet build \ - --configuration Debug \ - --no-self-contained \ - -maxCpuCount:$(makeopts_jobs) \ - "${S}/Source/TestDafny/TestDafny.csproj" - fi -} - -src_test() { - # Dafny GOLang transpiler tests need "goimports" from "/usr/lib/go/bin". - local -x PATH="${EPREFIX}/usr/lib/go/bin:${PATH}" - - einfo "Installing bignumber.js package required for tests using NodeJS." - local -a npm_opts=( - --audit false - --color false - --foreground-scripts - --offline - --progress false - --verbose - ) - edob npm "${npm_opts[@]}" install "${DISTDIR}/bignumber.js-9.1.2.tgz" - - einfo "Starting tests using the lit test tool." - local -a lit_opts=( - --order=lexical - --time-tests - --timeout 1800 # Let one test take no mere than half a hour. - --verbose - --workers="$(makeopts_jobs)" - ) - edob lit "${lit_opts[@]}" "${TEST_S}" -} - -src_install() { - dotnet-pkg-base_install - - local -a dafny_exes=( - Dafny - DafnyDriver - DafnyLanguageServer - DafnyServer - TestDafny - ) - local dafny_exe - for dafny_exe in "${dafny_exes[@]}" ; do - dotnet-pkg-base_dolauncher "/usr/share/${P}/${dafny_exe}" "${dafny_exe}" - done - - dosym -r /usr/bin/Dafny /usr/bin/dafny - dosym -r /usr/bin/DafnyServer /usr/bin/dafny-server - - einstalldocs -} - -pkg_postinst() { - optfeature "Dafny GO language backend" dev-go/go-tools - optfeature "Dafny Rust language backend" virtual/rust -} diff --git a/dev-lang/dafny/dafny-4.6.0.ebuild b/dev-lang/dafny/dafny-4.6.0.ebuild index ca5c0f6861e7..0ca08b0d4f0f 100644 --- a/dev-lang/dafny/dafny-4.6.0.ebuild +++ b/dev-lang/dafny/dafny-4.6.0.ebuild @@ -372,7 +372,7 @@ else SRC_URI="https://github.com/dafny-lang/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="amd64" fi SRC_URI+=" @@ -473,6 +473,9 @@ src_prepare() { VSComp2010/Problem2-Invert.dfy auditor/TestAuditor.dfy benchmarks/sequence-race/SequenceRace.dfy + c++/extern.dfy + c++/functions.dfy + c++/tuple.dfy cli/runArgument.dfy comp/CoverageReport.dfy concurrency/06-ThreadOwnership.dfy @@ -597,7 +600,7 @@ src_test() { --verbose --workers="$(makeopts_jobs)" ) - edob lit "${lit_opts[@]}" "${TEST_S}" + edo lit "${lit_opts[@]}" "${TEST_S}" } src_install() { diff --git a/dev-lang/dafny/files/dafny-4.4.0-lit-config.patch b/dev-lang/dafny/files/dafny-4.4.0-lit-config.patch deleted file mode 100644 index 31e6619c0c44..000000000000 --- a/dev-lang/dafny/files/dafny-4.4.0-lit-config.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/Source/IntegrationTests/TestFiles/LitTests/LitTest/lit.site.cfg -+++ b/Source/IntegrationTests/TestFiles/LitTests/LitTest/lit.site.cfg -@@ -215,9 +215,9 @@ def find(name, rooot): - return name - return "" - -+import shutil - solverPath = \ -- find("z3-4.12.1", binaryDir) or \ -- find("cvc4", binaryDir) -+ shutil.which("z3") - - if not solverPath: - lit_config.fatal('Could not find solver') diff --git a/dev-lang/dafny/files/dafny-4.4.0-lit-system-boogie.patch b/dev-lang/dafny/files/dafny-4.4.0-lit-system-boogie.patch deleted file mode 100644 index b661ccf96af6..000000000000 --- a/dev-lang/dafny/files/dafny-4.4.0-lit-system-boogie.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Source/IntegrationTests/TestFiles/LitTests/LitTest/lit.site.cfg -+++ b/Source/IntegrationTests/TestFiles/LitTests/LitTest/lit.site.cfg -@@ -107,7 +107,7 @@ testDafnyExecutable = 'dotnet-bin-6.0 exec /var/tmp/portage/dev-lang/dafny-4.2.0 - defaultServerExecutable = 'dotnet-bin-6.0 exec /var/tmp/portage/dev-lang/dafny-4.2.0/work/dafny-4.2.0_net6.0_Release/DafnyServer.dll' - serverExecutable = 'dotnet-bin-6.0 exec /var/tmp/portage/dev-lang/dafny-4.2.0/work/dafny-4.2.0_net6.0_Release/DafnyServer.dll' - --boogieExecutable = 'dotnet tool run boogie' -+boogieExecutable = 'boogie' - - config.suffixes.append('.transcript') - diff --git a/dev-lang/dzaima-bqn/dzaima-bqn-0.2.1.ebuild b/dev-lang/dzaima-bqn/dzaima-bqn-0.2.1.ebuild index de1b210a761b..6ea55f8362e1 100644 --- a/dev-lang/dzaima-bqn/dzaima-bqn-0.2.1.ebuild +++ b/dev-lang/dzaima-bqn/dzaima-bqn-0.2.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -46,7 +46,7 @@ src_compile() { } src_test() { - edob java -jar "${BUILD_JAR}" -f "${S}"/test/test + edo java -jar "${BUILD_JAR}" -f "${S}"/test/test } src_install() { diff --git a/dev-lang/dzaima-bqn/dzaima-bqn-9999.ebuild b/dev-lang/dzaima-bqn/dzaima-bqn-9999.ebuild index 9c7b4bd92031..1f962b56b85c 100644 --- a/dev-lang/dzaima-bqn/dzaima-bqn-9999.ebuild +++ b/dev-lang/dzaima-bqn/dzaima-bqn-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -46,7 +46,7 @@ src_compile() { } src_test() { - edob java -jar "${BUILD_JAR}" -f "${S}"/test/test + edo java -jar "${BUILD_JAR}" -f "${S}"/test/test } src_install() { diff --git a/dev-lang/eisl/Manifest b/dev-lang/eisl/Manifest index a583abb34d28..7fe8bf7792d3 100644 --- a/dev-lang/eisl/Manifest +++ b/dev-lang/eisl/Manifest @@ -1,3 +1,3 @@ -DIST eisl-3.70.tar.gz 2431916 BLAKE2B 113ff28ecc9312647a07602b03968d90760397b97262ba36e43caa7b4197808b23410387c222b77ab162aab31a988d6af30e37295f5fb6cb1c84b359355877f6 SHA512 a830ff39eb165fec4367e54d7d2a90e1a53405b151a89e455ae8ed8eee681aab3761ae0a71ae15a9e4f029c2c0ec7a31f4e9c03f2be385784c2c6100c2de63c4 -DIST eisl-3.72.tar.gz 2430755 BLAKE2B e64f249ada16fb291e3aeb29e2a3366936fe458f2ae1e1915b7577f1d212c577438debaf73ad2daae59af52c3b8a72253160b4cc84bd0f338c57dcb164b4a235 SHA512 bc73008732505e5b610dd4797302c4e37730bfbf17d46643c616f7aaa5bbd63a3f0909be3f047c1134302fb017827c2883ce7ec5e2bf9d96ee06bc77557c596d DIST eisl-3.90.tar.gz 2435398 BLAKE2B 168c96312783542d2011fc190bd471d9ed9f7f384cc38a5e05617b873623a44641e0fad155c1970b30edd333d03b77ad228798c7f340a63e26d64f79ad7f8cce SHA512 1295d77c25779258882541f4d2a3cd75eb31dbcd89c03144028bfc86453f69c90f822deaca5a20bd45c6361bb0ba74f544c344cd92e6bca6ce8983c36c1860d6 +DIST eisl-3.95.tar.gz 2438216 BLAKE2B 927af9a8b0469fcda16501a6fffba60eebc708dcfaba1b076b0ffe80396c285fc1fbb427694548418f76102451f7e37506686bf8d025decd04245e105fa618f7 SHA512 50e4159bbbc3c72fe985db3b2d77be63f2e8197027e97ac5af0e9316e5f817497bfc0a9f7cf0b0624bb8baf2cf28b5b94556ad77edcdee2e8e8a6d63a74e02a2 +DIST eisl-4.00.tar.gz 2299966 BLAKE2B fe2d4e486d459866870b0baa23d2eb32890e1661460116508bd18aa401ec71cb68395bf857c98ba749005dcfd0985ab628274800a32e749abf27a767a2ce8615 SHA512 0b4d225f6068a9ff05c6483663b68ae920a1f63e30b47e7350243a70902ae7f5818cf4713fdd45c223e858a4e435d5e93f0944965af1db3f8d9d48f0e2db8239 diff --git a/dev-lang/eisl/eisl-3.90.ebuild b/dev-lang/eisl/eisl-3.90.ebuild index 0ef48728bee1..1e6288f65690 100644 --- a/dev-lang/eisl/eisl-3.90.ebuild +++ b/dev-lang/eisl/eisl-3.90.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="BSD-2" diff --git a/dev-lang/eisl/eisl-3.70.ebuild b/dev-lang/eisl/eisl-3.95.ebuild index 1e6288f65690..0ef48728bee1 100644 --- a/dev-lang/eisl/eisl-3.70.ebuild +++ b/dev-lang/eisl/eisl-3.95.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~x86" + KEYWORDS="~amd64 ~x86" fi LICENSE="BSD-2" diff --git a/dev-lang/eisl/eisl-3.72.ebuild b/dev-lang/eisl/eisl-4.00.ebuild index 1e6288f65690..0ef48728bee1 100644 --- a/dev-lang/eisl/eisl-3.72.ebuild +++ b/dev-lang/eisl/eisl-4.00.ebuild @@ -16,7 +16,7 @@ else SRC_URI="https://github.com/sasagawa888/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~x86" + KEYWORDS="~amd64 ~x86" fi LICENSE="BSD-2" diff --git a/dev-lang/elixir/Manifest b/dev-lang/elixir/Manifest index 1719aa5b5565..8171ea81074e 100644 --- a/dev-lang/elixir/Manifest +++ b/dev-lang/elixir/Manifest @@ -1,5 +1,3 @@ -DIST elixir-1.13.4.tar.gz 2912984 BLAKE2B 3849e7be7d1ba54ac3f96690f158b60a3b7da720e85a6c2ef38b078da795c1debaff319133eae6d5e77a7159f452b2ee6a7ad9ebbf7339391e4ee9ae8838d848 SHA512 cd3a28cd227bf60f09500563b7ad4700b2688e0361f975268d5fa81b530aee80ed4f8640335bf08a8c544a2f5d79dbf96c97f281bd3bf4582466a73a9d2edbec -DIST elixir-1.14.3.tar.gz 3086297 BLAKE2B b162ea35a762bc1e151c7844237f3167c97da9aae44bca9fe022d09cde6f6909103b383e67b2133b68e76c061c4ed05cdd081070bdbb48be85bbc0ed067fadfd SHA512 eec1e161364f823e26d79596d18b0ff7e6ade1c2c1f6f9ca84eb34d20fd90f434bbd29ef74cd41096e8f25e71d9cd1da0ec6f0a4f24c485124f9525b1ae2c4e0 DIST elixir-1.14.5.tar.gz 3076366 BLAKE2B cf1487c269b4f09c5a7771339782ddc5f6dc2d5f31bd098486824e1f50040462a55a6135e76a7d635461b8d61ce8ab45be2d1da86d60ecf0bc3c86c98b86531d SHA512 589482fb080eb9f71319b7927312ee255dab0376a8fb781533bc97b6a75dd71ec43cd022bb2eff12eca205cdeaf9a6d629f754c555c17cd6222e05912ff3d960 DIST elixir-1.15.7.tar.gz 3151775 BLAKE2B 62dc5e390f7b704fdab2be91b36faabc62aed097ec1a077476fee0e50717cfe527322d8eaf2afd90035bf1b4fb48803112ef4c7fded20f133b64cea3bee43c6d SHA512 a46f0569cbff342f15a04776f8d57cf2554867546004adabd9b9dff36c184ec56a78f2df2fc6c0855e65c11277662f694f5e6a8c6e1716cf4e22d8fdd5e1d4ae DIST elixir-1.16.2.tar.gz 3357093 BLAKE2B 61ba738542d33e827f7352b7f0a27aa76fc06f037d35c56efd96be1c26e28be90b6f2998cd2cac0090e5da771f6c45ad12d68644e36a214de36c9e26d4ac9686 SHA512 1e90adcd5d0512d4b394276e431f3987fc61a3f6191cd5c1d0f7fdd82baba99747aa553a3583e0813ffb5a48a32ce02a24e27b641f86a61e421722a802a850c1 diff --git a/dev-lang/elixir/elixir-1.13.4-r1.ebuild b/dev-lang/elixir/elixir-1.13.4-r1.ebuild deleted file mode 100644 index 1fb0c382166f..000000000000 --- a/dev-lang/elixir/elixir-1.13.4-r1.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2023 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 ~riscv ~sparc x86" -IUSE="test" - -RESTRICT="!test? ( test )" - -# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp -DEPEND=" - >=dev-lang/erlang-22:0=[ssl] - <dev-lang/erlang-26 -" -# '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 - "${FILESDIR}"/${PN}-1.14.1-make44-parallel-build.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/elixir-1.14.3-r1.ebuild b/dev-lang/elixir/elixir-1.14.3-r1.ebuild deleted file mode 100644 index 13dd40642c9d..000000000000 --- a/dev-lang/elixir/elixir-1.14.3-r1.ebuild +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 1999-2023 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 ~riscv ~sparc x86" -IUSE="test" - -RESTRICT="!test? ( test )" - -# https://hexdocs.pm/elixir/compatibility-and-deprecations.html#compatibility-between-elixir-and-erlang-otp -DEPEND=" - >=dev-lang/erlang-23:0=[ssl] - <dev-lang/erlang-26 -" -# '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 - "${FILESDIR}"/${PN}-1.14.1-make44-parallel-build.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/elixir-1.16.2.ebuild b/dev-lang/elixir/elixir-1.16.2.ebuild index 429d175339cf..caa41ed09e6a 100644 --- a/dev-lang/elixir/elixir-1.16.2.ebuild +++ b/dev-lang/elixir/elixir-1.16.2.ebuild @@ -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 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ~riscv ~sparc x86" IUSE="test" RESTRICT="!test? ( test )" diff --git a/dev-lang/elpi/Manifest b/dev-lang/elpi/Manifest index 6022c7d0f219..ba9daec0c496 100644 --- a/dev-lang/elpi/Manifest +++ b/dev-lang/elpi/Manifest @@ -1,2 +1,2 @@ -DIST elpi-1.17.0.tar.gz 2607106 BLAKE2B 7e6a2f1305ec69f93f7519bb8ced9e2b3d38106cf71a1506941f0c50e3af4959838fe01a092ddaad49f41de59aac34ff45c972099f1797d86ec2b446475c9391 SHA512 6539593bd4a4ff516f023601d4dbe10cf4c99d2fd99e5b6ed89da0a8d63f8c79fac0c667b11ca77e0ae618ec036c27a7adcefbd19fc26e6d11672b90f412654b DIST elpi-1.17.4.tar.gz 2609080 BLAKE2B 5280f0eed17b80abb1ce68613beb57bd9aba900c821b71d5f184f98c0042b69fa016426f35e531a106ae6597bbb11237b56bd38dcf08ed56cbca624f2afbdbe6 SHA512 0a4a85c967d4016c3cf4b6613e561b45b935aef3cec68fd4e3764cd7f64420cf41ce0562804b1647fef9ed2d564da737fabd9a3e42e2b9e70071be6f64a3a611 +DIST elpi-1.18.2.tar.gz 2630264 BLAKE2B 9921cfb71755f46f29ec8934c5f3e3ea7d57807854c2402660ffebaeb6ce8f64416ceda4e2eaefa91d5b46cf7d9e8caeaadd75b0eddc5c35b234a228dfdf9bcb SHA512 096865d2b777d36ab8c0a63613f268491cb5b4e3a1c8a2adc11b63a3d39d04be5ddc198f0379090da8e3e0b6e7997bad6453d4b48f9f2e5d7d7d4f852af45a41 diff --git a/dev-lang/elpi/elpi-1.17.0.ebuild b/dev-lang/elpi/elpi-1.18.2.ebuild index 184849b51e67..7721a9d3b009 100644 --- a/dev-lang/elpi/elpi-1.17.0.ebuild +++ b/dev-lang/elpi/elpi-1.18.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest index 46bf6c6b7422..184d277e7135 100644 --- a/dev-lang/erlang/Manifest +++ b/dev-lang/erlang/Manifest @@ -1,15 +1,8 @@ -DIST erlang-25.3.tar.gz 60060354 BLAKE2B c18beb1aa00f88ac303ce2488da6973cd63b4cb3c611d9ee93bdb8a522fa068bfab2307448d085e40c7c6e1b300a1d2b72f0626e8fd236c84617ff031afcb569 SHA512 cf104918917e33db250b48aaad3c098899739358035d764ea2ee1fc9ba7937504190752163ce8430bdbfc576ce2c2533d4f50fc8f0994ff155e3df188a8db99e -DIST erlang-26.0.tar.gz 61355457 BLAKE2B 4f5abc04b794d2b2b9e27e20be9197a7c81113607a5ca2605c189212eef70db55eee5120eca36426a2c16237f576751605cdc943c7c2f070d68c6cca6585c46b SHA512 732e259f2018102b62a5d8076953a6a78d3e1f1714edde2c306fe863e5377b9a7f87052e03e92df93eea270a608b29ab4e22d5841d1314f9a532dac4aeff5436 -DIST erlang-26.1.2.tar.gz 63932020 BLAKE2B 56c862270398b458106056ea0e86a167b40d769c5b2fd84c39a0ed0c074c00d301145a98ef6e5f4b755d1124005da382ade6d4f0648823cf0e7d662a9b6bdcf2 SHA512 6907bba4ee726582b6344995c73223f725ea628897b34fc807a2a0306536bb15ce55c7fd4da1cb596dc59c9695b3bb6bba59618ca2a7a9a999e183f671656710 DIST erlang-26.2.1.tar.gz 62435848 BLAKE2B 4e257c73de868b5bbd213a66ece60f29e5231845c5f40b17876b8f042c20ba89bced920ffdbb2a44b890b920d8a147b0a0cb4a2bce66a51e49b720ee794c06c9 SHA512 f4fa0d11ecbd99ca5ef4421abb78ef2aba8ea0f8d19e4aed991c2afcc42bb057a37ae34a416b050fd7ed8ca39ba7cc8b3619ff371bc09f56dfd5b523988a8f8c DIST erlang-26.2.2.tar.gz 62440930 BLAKE2B c2746b3eb4ffcd3643803745df3e6474291edfb1bd50a0a7cd858942d89808d8b041afd7d8c9dbd0ac336b71412cad972768a3c11d06908605e8a9521f5f5c11 SHA512 27d89f4ee1c7beccd27348ad0d5d9650cda58614f3c278b0a7cf062bf4efc91bd1c7aecfff55b934c57f69cb30c41ead89b94625616817acb2e5910b95bc80fd DIST erlang-26.2.4.tar.gz 62476971 BLAKE2B f3acfb05a569ce0b4cfd9d9a30ac4840845cc285691294c2ff2776c45812b9046d3453700150912128c385458a3afba7dc54ab773611d46de31b4d2744fcdaf6 SHA512 2fa385b5ec93810c984f31e22757fe8614087191adf0f99376702bd15a316237f8abc1b65d40a302d3919cd28afe65fb4086e39638c6c39af165c0c1ee6fb51d -DIST erlang-26.2.tar.gz 64008902 BLAKE2B 145ade4a05a8c92f9ba848774e927fc0a186aba834b2d4850cbe92f7604aac6136b16e3e6208658220c8c07b906be06263dfc7173f588165bb7bd5b98fe8a162 SHA512 647f38e7a1d2a0e49aee982d9f6461a83df01d6248756eea3cc926c60dd03e82d881534e3ce3374e233a3ab7b0fad7c775a54d0079f4d5b13de8d8a97c7de642 -DIST erlang_doc_html_25.3.tar.gz 37134864 BLAKE2B 86af9f6eacccbdc8e66e1407a29bc70620052f5968f4378df751f89795f98898a057c2e187553e5b938b5a9cc55a223fedb9bc2936cb3ade5f444e05a810f7d0 SHA512 d469f6088a20a840687ceed66b3d4ef3bf9446a00ea490f6bb14e5ec8a0b642ac0ff14243010e45483e9d4d33742525916d05ec93e171fe9f5e0dfbac3733837 -DIST erlang_doc_html_26.0.tar.gz 37434137 BLAKE2B 0a1bd0f4966d90cc5aaa8852b280204d81271af0449a019399dfcbeab4b2427a91fa57e1dafe24c55ee1a7abf5f52c019ca7454f7c2ca8dbe604d60ef437a4e0 SHA512 c11cf064808bee3a9e8334ee597daadfff397bd700622c80affa8df127a53de3cb5685c3338fa6d28b5c7a5c171379e0289f557dc3fc6ab0459ada757219ce3e -DIST erlang_doc_html_26.1.tar.gz 37562532 BLAKE2B 235841cd644deb5c4d47adf7aa49cdb9be5dcb17154d91b8716ab8dcd8b74ca8f805348879c7ebb45a4b31dfabab772aa9f0d5dd5eb4e573a4a687ed0a93cec2 SHA512 160f208c81cbd8c615d233ad913a2e1ddfac4f3a3368f9b33ddb5202b5bf839116cddce2dbe1c5d7ba38d30083a0b33fe3a4fe5121452057d898be1a4e8950f9 +DIST erlang-27.0.tar.gz 62019520 BLAKE2B 9c683e4de7a1b98579e572667746461b9cba0b54d572cde75e3484003548fea2f657292b7f6bfcb4e765d74d744276ddf5ee3f7f615b29cc4b3e563a8cc00944 SHA512 16945c50c09caad9aac6808470ea2a0e282713f23e54cd4ad60510b114811b5deac427acb36cc8049443b4e3c3302c40b02c696cf3f2028f8bd3e836c8c48ea9 DIST erlang_doc_html_26.2.tar.gz 37572819 BLAKE2B c9e5dcaf4a282063a58883fc63adb14e4448333e07994542fdf6dfb29cf4c782f3b7a33b4b6543ffa64b2ce9f40fa9482ca798181bd84e00ebaf5a3223d300d4 SHA512 846f42666d190c9c2b4c11048e842f921d2bc9767483b6f54095c3aba0cbea9a0fbe06daac4c4837b371f9653346660704ea957fd9fbb6606e4274897042abaa -DIST erlang_doc_man_25.3.tar.gz 1719335 BLAKE2B d3d91e5920648ddb5b8375c969586b904d743f1d60acbefddd98577bd11b82246a2f149fdaa8ff1d16e8efc9f3793ce1dbc61efc9bc28c68f50919460d1e8e24 SHA512 9f2e6c4e4a39dd41deb6a2d7b7a04dd374f110bf776c8d08f3139265a8fa00e7c9420e2d2c406231a8d2748bdc65ca7e40ef1d4b9bfe6b06f52a24881ee8747d -DIST erlang_doc_man_26.0.tar.gz 1742307 BLAKE2B cd52b6e148fd45a1a1b427fa9dccdb7127082f0cfc23a850c519a9dc9e6cc7e0fca3894433d44dcad27e2a8123626b09d86b7f581e503d977f0977ef62a574d8 SHA512 9e3fc06667e633fd1c90f57d86159cbbdbb6105719e3c1ab6733e5190aa48b8c8fbf735172e5763b6893e89a56ec13c0afcdf6c6505de739312b37ff246ed113 -DIST erlang_doc_man_26.1.tar.gz 1745691 BLAKE2B b06532551ab9d02c08a664eeeeae495d706969eed5151a013eb64da962e73d871c6e8a17506bdd854a3ac86caa756f78be0fdcfc76c00be89b8e4564ab881457 SHA512 2129c7c7f60f456dd0322d4fbbf3fc0398f8cdb982bb9450a99d7f45573f685fddd36a0440c4d51b89c0e4f19dc2145d1285b9fcf847c7c8bc3d95b2393c20b9 +DIST erlang_doc_html_27.0.tar.gz 29506649 BLAKE2B bae1425e3b43608c59975c7936e3e250ae9606acce34a7168c2ef1aba60a2956858e3a5cb4412f8ff937c93821110eae5f0d71b9378cce86d9ad9810f70510dc SHA512 a86497709bb0571b261f520f3e875d51628bc741affa8aded941fd9f66a7a6c821dbf415554cd7be6f91ebedd0d6ca7e6dde2f072bbffdf307bc127f17423536 DIST erlang_doc_man_26.2.tar.gz 1746046 BLAKE2B 20f3c5203313bc40595f9a0996c1a31c76d9b1da1ba90fd99b8946b23425c13ce11d27fb9b042911a39297c5bceeff098b44082a007cb2373cac253321f4435c SHA512 bdde6687b449391af5144de54e6d4edbaa75065e9f9cf1ec3878a034968785c2b35eb95331cad329fae6656461f1bc9475b68d1ee05af48166aa9c1083f841a0 +DIST erlang_doc_man_27.0.tar.gz 1764909 BLAKE2B b55614bc3c795813eb2d73dc990f740efc8408a3639d98569adb9718ee140eb04ac2289ca3cd764d2610ac2138dfd6173b50bcae58b3971b51f4819cc33420e3 SHA512 f37fca2943f1c607da5d9cddfa3949b0f43e2cff1049eb9dea60a9833a607a0d1ff8bd835204d0dce20865c326dd4da149a6047a084e95ad9719e84817fd8f46 diff --git a/dev-lang/erlang/erlang-25.3.ebuild b/dev-lang/erlang/erlang-25.3.ebuild deleted file mode 100644 index 554952363897..000000000000 --- a/dev-lang/erlang/erlang-25.3.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -WX_GTK_VER="3.0-gtk3" - -inherit autotools 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. - -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 - 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 ~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=" - acct-group/epmd - acct-user/epmd - sys-libs/ncurses:0 - sys-libs/zlib - emacs? ( >=app-editors/emacs-23.1:* ) - java? ( >=virtual/jdk-1.8:* ) - odbc? ( dev-db/unixODBC ) - sctp? ( net-misc/lksctp-tools ) - ssl? ( >=dev-libs/openssl-0.9.7d:0= ) - systemd? ( sys-apps/systemd ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) -" -DEPEND="${RDEPEND} - dev-lang/perl -" - -S="${WORKDIR}/otp-OTP-${PV}" - -PATCHES=( - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch - "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch - "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 -) - -SITEFILE=50"${PN}"-gentoo.el - -src_prepare() { - default - - tc-export AR CPP CXX LD - - # bug #797886: erlang's VM does unsafe casts for ints - # to pointers and back. This breaks on gcc-11 -flto. - append-flags -fno-strict-aliasing - - # Ensure that we use erl_interface's libei.a, and not the system - # libei.so from dev-libs/libei. Bug #912888. - sed -i 's/-lei$/-l:libei.a/' \ - "${S}"/lib/odbc/c_src/Makefile.in || die - (cd "${S}"/lib/odbc && - eautoconf -B "${S}"/make/autoconf && - eautoheader -B "${S}"/make/autoconf) || die -} - -src_configure() { - use wxwidgets && setup-wxwidgets - - local myconf=( - --disable-builtin-zlib - - # don't search for static zlib - --with-ssl-zlib=no - - $(use_enable kpoll kernel-poll) - $(use_with java javac) - $(use_enable sctp) - $(use_with ssl ssl) - $(use_enable ssl dynamic-ssl-lib) - $(use_enable systemd) - $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") - ) - econf "${myconf[@]}" -} - -src_compile() { - emake - - if use doc ; then - emake docs DOC_TARGETS=chunks - fi - - if use emacs ; then - pushd lib/tools/emacs &>/dev/null || die - elisp-compile *.el - popd &>/dev/null || die - fi -} - -extract_version() { - local path="$1" - local var_name="$2" - sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" -} - -src_install() { - local erl_libdir_rel="$(get_libdir)/erlang" - local erl_libdir="/usr/${erl_libdir_rel}" - local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" - local erl_erts_ver="$(extract_version erts VSN)" - local my_manpath="/usr/share/${PN}/man" - - [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" - [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" - - emake INSTALL_PREFIX="${D}" install - - if use doc ; then - emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks - - # Note: we explicitly install docs into: - # /usr/share/doc/${PF}/{doc,lib,erts-*} - # To maintain that layout we gather everything in 'html-docs'. - # See bug #684376. - mkdir html-docs || die - mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die - local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) - docompress -x /usr/share/doc/${PF} - else - local DOCS=("README.md") - fi - - einstalldocs - - dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl - dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc - dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript - dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call - dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp - - ## Clean up the no longer needed files - rm "${ED}/${erl_libdir}/Install" || die - - insinto "${my_manpath}" - doins -r "${WORKDIR}"/man/* - # extend MANPATH, so the normal man command can find it - # see bug 189639 - newenvd - "90erlang" <<-_EOF_ - MANPATH="${my_manpath}" - _EOF_ - - if use emacs ; then - elisp-install erlang lib/tools/emacs/*.{el,elc} - sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ - "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die - elisp-site-file-install "${T}/${SITEFILE}" - fi - - newinitd "${FILESDIR}"/epmd.init-r3 epmd - use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service -} - -src_test() { - # Only run a subset of tests to test that everything was built - # successfully, otherwise we will be here for a long time. - emake kernel_test ARGS="-suite os_SUITE" -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/erlang/erlang-26.0.ebuild b/dev-lang/erlang/erlang-26.0.ebuild deleted file mode 100644 index 69fd2d8496d2..000000000000 --- a/dev-lang/erlang/erlang-26.0.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -WX_GTK_VER="3.0-gtk3" - -inherit autotools 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. - -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 - 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 ~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=" - acct-group/epmd - acct-user/epmd - sys-libs/ncurses:0 - sys-libs/zlib - emacs? ( >=app-editors/emacs-23.1:* ) - java? ( >=virtual/jdk-1.8:* ) - odbc? ( dev-db/unixODBC ) - sctp? ( net-misc/lksctp-tools ) - ssl? ( >=dev-libs/openssl-0.9.7d:0= ) - systemd? ( sys-apps/systemd ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) -" -DEPEND="${RDEPEND} - dev-lang/perl -" - -S="${WORKDIR}/otp-OTP-${PV}" - -PATCHES=( - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch - "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch - "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 -) - -SITEFILE=50"${PN}"-gentoo.el - -src_prepare() { - default - - tc-export AR CPP CXX LD - - # bug #797886: erlang's VM does unsafe casts for ints - # to pointers and back. This breaks on gcc-11 -flto. - append-flags -fno-strict-aliasing - - # Ensure that we use erl_interface's libei.a, and not the system - # libei.so from dev-libs/libei. Bug #912888. - sed -i 's/-lei$/-l:libei.a/' \ - "${S}"/lib/odbc/c_src/Makefile.in || die - (cd "${S}"/lib/odbc && - eautoconf -B "${S}"/make/autoconf && - eautoheader -B "${S}"/make/autoconf) || die -} - -src_configure() { - use wxwidgets && setup-wxwidgets - - local myconf=( - --disable-builtin-zlib - - # don't search for static zlib - --with-ssl-zlib=no - - $(use_enable kpoll kernel-poll) - $(use_with java javac) - $(use_enable sctp) - $(use_with ssl ssl) - $(use_enable ssl dynamic-ssl-lib) - $(use_enable systemd) - $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") - ) - econf "${myconf[@]}" -} - -src_compile() { - emake - - if use doc ; then - emake docs DOC_TARGETS=chunks - fi - - if use emacs ; then - pushd lib/tools/emacs &>/dev/null || die - elisp-compile *.el - popd &>/dev/null || die - fi -} - -extract_version() { - local path="$1" - local var_name="$2" - sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" -} - -src_install() { - local erl_libdir_rel="$(get_libdir)/erlang" - local erl_libdir="/usr/${erl_libdir_rel}" - local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" - local erl_erts_ver="$(extract_version erts VSN)" - local my_manpath="/usr/share/${PN}/man" - - [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" - [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" - - emake INSTALL_PREFIX="${D}" install - - if use doc ; then - emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks - - # Note: we explicitly install docs into: - # /usr/share/doc/${PF}/{doc,lib,erts-*} - # To maintain that layout we gather everything in 'html-docs'. - # See bug #684376. - mkdir html-docs || die - mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die - local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) - docompress -x /usr/share/doc/${PF} - else - local DOCS=("README.md") - fi - - einstalldocs - - dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl - dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc - dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript - dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call - dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp - - ## Clean up the no longer needed files - rm "${ED}/${erl_libdir}/Install" || die - - insinto "${my_manpath}" - doins -r "${WORKDIR}"/man/* - # extend MANPATH, so the normal man command can find it - # see bug 189639 - newenvd - "90erlang" <<-_EOF_ - MANPATH="${my_manpath}" - _EOF_ - - if use emacs ; then - elisp-install erlang lib/tools/emacs/*.{el,elc} - sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ - "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die - elisp-site-file-install "${T}/${SITEFILE}" - fi - - newinitd "${FILESDIR}"/epmd.init-r3 epmd - use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service -} - -src_test() { - # Only run a subset of tests to test that everything was built - # successfully, otherwise we will be here for a long time. - emake kernel_test ARGS="-suite os_SUITE" -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/erlang/erlang-26.1.2.ebuild b/dev-lang/erlang/erlang-26.1.2.ebuild deleted file mode 100644 index 1f48b8bb0ef4..000000000000 --- a/dev-lang/erlang/erlang-26.1.2.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -WX_GTK_VER="3.2-gtk3" - -inherit autotools 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. - -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 - 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 ~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=" - acct-group/epmd - acct-user/epmd - sys-libs/ncurses:0 - sys-libs/zlib - emacs? ( >=app-editors/emacs-23.1:* ) - java? ( >=virtual/jdk-1.8:* ) - odbc? ( dev-db/unixODBC ) - sctp? ( net-misc/lksctp-tools ) - ssl? ( >=dev-libs/openssl-0.9.7d:0= ) - systemd? ( sys-apps/systemd ) - wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) -" -DEPEND="${RDEPEND} - dev-lang/perl -" - -S="${WORKDIR}/otp-OTP-${PV}" - -PATCHES=( - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch - "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch - "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 -) - -SITEFILE=50"${PN}"-gentoo.el - -src_prepare() { - default - - tc-export AR CPP CXX LD - - # bug #797886: erlang's VM does unsafe casts for ints - # to pointers and back. This breaks on gcc-11 -flto. - append-flags -fno-strict-aliasing - - # Ensure that we use erl_interface's libei.a, and not the system - # libei.so from dev-libs/libei. Bug #912888. - sed -i 's/-lei$/-l:libei.a/' \ - "${S}"/lib/odbc/c_src/Makefile.in || die - (cd "${S}"/lib/odbc && - eautoconf -B "${S}"/make/autoconf && - eautoheader -B "${S}"/make/autoconf) || die -} - -src_configure() { - use wxwidgets && setup-wxwidgets - - local myconf=( - --disable-builtin-zlib - - # don't search for static zlib - --with-ssl-zlib=no - - $(use_enable kpoll kernel-poll) - $(use_with java javac) - $(use_enable sctp) - $(use_with ssl ssl) - $(use_enable ssl dynamic-ssl-lib) - $(use_enable systemd) - $(usex wxwidgets "--with-wx-config=${WX_CONFIG}" "--with-wxdir=/dev/null") - ) - econf "${myconf[@]}" -} - -src_compile() { - emake - - if use doc ; then - emake docs DOC_TARGETS=chunks - fi - - if use emacs ; then - pushd lib/tools/emacs &>/dev/null || die - elisp-compile *.el - popd &>/dev/null || die - fi -} - -extract_version() { - local path="$1" - local var_name="$2" - sed -n -e "/^${var_name} = \(.*\)$/s::\1:p" "${S}/${path}/vsn.mk" || die "extract_version() failed" -} - -src_install() { - local erl_libdir_rel="$(get_libdir)/erlang" - local erl_libdir="/usr/${erl_libdir_rel}" - local erl_interface_ver="$(extract_version lib/erl_interface EI_VSN)" - local erl_erts_ver="$(extract_version erts VSN)" - local my_manpath="/usr/share/${PN}/man" - - [[ -z "${erl_erts_ver}" ]] && die "Couldn't determine erts version" - [[ -z "${erl_interface_ver}" ]] && die "Couldn't determine interface version" - - emake INSTALL_PREFIX="${D}" install - - if use doc ; then - emake INSTALL_PREFIX="${D}" install-docs DOC_TARGETS=chunks - - # Note: we explicitly install docs into: - # /usr/share/doc/${PF}/{doc,lib,erts-*} - # To maintain that layout we gather everything in 'html-docs'. - # See bug #684376. - mkdir html-docs || die - mv "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* html-docs/ || die - local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" html-docs/. ) - docompress -x /usr/share/doc/${PF} - else - local DOCS=("README.md") - fi - - einstalldocs - - dosym "../${erl_libdir_rel}/bin/erl" /usr/bin/erl - dosym "../${erl_libdir_rel}/bin/erlc" /usr/bin/erlc - dosym "../${erl_libdir_rel}/bin/escript" /usr/bin/escript - dosym "../${erl_libdir_rel}/lib/erl_interface-${erl_interface_ver}/bin/erl_call" /usr/bin/erl_call - dosym "../${erl_libdir_rel}/erts-${erl_erts_ver}/bin/beam.smp" /usr/bin/beam.smp - - ## Clean up the no longer needed files - rm "${ED}/${erl_libdir}/Install" || die - - insinto "${my_manpath}" - doins -r "${WORKDIR}"/man/* - # extend MANPATH, so the normal man command can find it - # see bug 189639 - newenvd - "90erlang" <<-_EOF_ - MANPATH="${my_manpath}" - _EOF_ - - if use emacs ; then - elisp-install erlang lib/tools/emacs/*.{el,elc} - sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ - "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die - elisp-site-file-install "${T}/${SITEFILE}" - fi - - newinitd "${FILESDIR}"/epmd.init-r3 epmd - use systemd && systemd_newunit "${FILESDIR}"/epmd.service-r1 epmd.service -} - -src_test() { - # Only run a subset of tests to test that everything was built - # successfully, otherwise we will be here for a long time. - emake kernel_test ARGS="-suite os_SUITE" -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/erlang/erlang-26.2.ebuild b/dev-lang/erlang/erlang-27.0.ebuild index 981ad712372f..4cd14be66aa9 100644 --- a/dev-lang/erlang/erlang-26.2.ebuild +++ b/dev-lang/erlang/erlang-27.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,10 +9,13 @@ inherit autotools elisp-common flag-o-matic java-pkg-opt-2 systemd toolchain-fun UPSTREAM_V="$(ver_cut 1-2)" DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" -HOMEPAGE="https://www.erlang.org/" +HOMEPAGE="https://www.erlang.org/ https://github.com/erlang/otp" SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz - https://github.com/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 )" + https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_man_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( https://github.com/${PN}/otp/releases/download/OTP-${UPSTREAM_V}/otp_doc_html_${UPSTREAM_V}.tar.gz + -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" +S="${WORKDIR}"/otp-OTP-${PV} LICENSE="Apache-2.0" # We use this subslot because Compiled HiPE Code can be loaded on the exact @@ -36,22 +39,27 @@ RDEPEND=" wxwidgets? ( dev-libs/glib:2 x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu ) " DEPEND="${RDEPEND} dev-lang/perl " -S="${WORKDIR}/otp-OTP-${PV}" - PATCHES=( - "${FILESDIR}"/${PN}-22.0-dont-ignore-LDFLAGS.patch + "${FILESDIR}"/${PN}-27.0-dont-ignore-LDFLAGS.patch "${FILESDIR}"/${PN}-24.0.2-serial-configure.patch "${FILESDIR}"/${PN}-25.1.2-c99.patch # Bug #882887 + "${FILESDIR}"/${PN}-26.2.4-test-errorinfo.patch ) SITEFILE=50"${PN}"-gentoo.el +QA_CONFIG_IMPL_DECL_SKIP=( + # FreeBSD & OpenBSD + pthread_set_name_np +) + src_prepare() { default @@ -149,6 +157,9 @@ src_install() { ## Clean up the no longer needed files rm "${ED}/${erl_libdir}/Install" || die + # Bug #922743 + docompress "${my_manpath}" + insinto "${my_manpath}" doins -r "${WORKDIR}"/man/* # extend MANPATH, so the normal man command can find it diff --git a/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch new file mode 100644 index 000000000000..caa582d1773e --- /dev/null +++ b/dev-lang/erlang/files/erlang-27.0-dont-ignore-LDFLAGS.patch @@ -0,0 +1,23 @@ +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -47,7 +47,7 @@ + CC = @DED_CC@ + CFLAGS_MT = $(CFLAGS) @DED_THR_DEFS@ + LD = @DED_LD@ +-LDFLAGS = @DED_LDFLAGS@ ++LDFLAGS += @DED_LDFLAGS@ + LEX = @LEX@ + LEXLIB = @LEXLIB@ + PERL = @PERL@ +--- a/lib/odbc/c_src/Makefile.in ++++ b/lib/odbc/c_src/Makefile.in +@@ -82,7 +82,7 @@ + CC = @CC@ + CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@ + EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) $(EI_LIB) + LD = @LD@ +-LDFLAGS = $(EI_LDFLAGS) $(ODBC_LIB) ++LDFLAGS += $(EI_LDFLAGS) $(ODBC_LIB) + LIBS = @LIBS@ @THR_LIBS@ + INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE) + TARGET_FLAGS = @TARGET_FLAGS@ diff --git a/dev-lang/execline/Manifest b/dev-lang/execline/Manifest index a7f9a70f696d..bf54495faacb 100644 --- a/dev-lang/execline/Manifest +++ b/dev-lang/execline/Manifest @@ -1,2 +1,2 @@ -DIST execline-2.9.4.0.tar.gz 110097 BLAKE2B a59af5d1cff360ab6c2c41f3156d762e2928b22d7cab8a3b499935ded102e5b9e4efc2a0849875cf6a44cdca0e9b1f13a41443c0343ca3d7a068e4d749774701 SHA512 11d96863d2f90abc371656e17bac9fd83f1303337444db5a1f24e8a02cab654a3b5e9081af130d5cbca5a4f6ea5cf5f6c2affa66e2b4a9eb39c20410efeb8795 DIST execline-2.9.5.1.tar.gz 110874 BLAKE2B bef3cb560f00c01c96065429220017315edc8378403c73e4a0edba67ee248f76ca849cd8a107756251db9844d3ac650259b33db2f93abc1c7aa4f68995b5b624 SHA512 11bfd825b0b72cba118eff9ecb97672d0c015e0bd50c7c8f83e101ee41c323b3a3c82e42fed75b6bc65ab6edb85a8bbeef8900b594cf651825b6313a5123c88f +DIST execline-2.9.6.0.tar.gz 111660 BLAKE2B 42baed36228b1e6a370d6d4c18829be7f517812ce9e3838e5b102d0fe58ac48ecd84f17caef89e9a07b3b149ed9b38b3b00f7eef810c231995c8e5ecbf07a770 SHA512 1c5233b0f17b4c92ab2e9e8700b47c8429ad97962bcb7c83190d0b3251b26584e591d77418eca77e8112cdecd24eec50aaca7da1dbb506120931bbda39f2b7cb diff --git a/dev-lang/execline/execline-2.9.5.1.ebuild b/dev-lang/execline/execline-2.9.5.1.ebuild index cb8dadc3aff3..25e4a9c495bd 100644 --- a/dev-lang/execline/execline-2.9.5.1.ebuild +++ b/dev-lang/execline/execline-2.9.5.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" LICENSE="ISC" SLOT="0/$(ver_cut 1-2).4" -KEYWORDS="~alpha ~amd64 ~arm ~mips ~riscv ~x86" +KEYWORDS="~alpha amd64 arm ~mips ~ppc ~ppc64 ~riscv x86" RDEPEND=">=dev-libs/skalibs-2.14.0.0:=" DEPEND="${RDEPEND}" diff --git a/dev-lang/execline/execline-2.9.4.0.ebuild b/dev-lang/execline/execline-2.9.6.0.ebuild index da959d63bdca..6eff46cb134a 100644 --- a/dev-lang/execline/execline-2.9.4.0.ebuild +++ b/dev-lang/execline/execline-2.9.6.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).4" -KEYWORDS="~alpha amd64 arm ~mips ~riscv x86" +KEYWORDS="~alpha ~amd64 ~arm ~mips ~ppc ~ppc64 ~riscv ~x86" RDEPEND=">=dev-libs/skalibs-2.14.0.0:=" DEPEND="${RDEPEND}" diff --git a/dev-lang/fennel/Manifest b/dev-lang/fennel/Manifest index 18fdb5f8393e..2969695a6497 100644 --- a/dev-lang/fennel/Manifest +++ b/dev-lang/fennel/Manifest @@ -1,2 +1 @@ -DIST fennel-1.4.0.tar.gz 299561 BLAKE2B a94bb15c04b69154dbea1bc562347cef0b9ddd9ec3c3994bf5999593ef89422338f54dfb0bbd6c8e6f487eeb6d1178cc916ed8a92ec7755c43108ff58d3a842e SHA512 0c92496db478eb5445d95057433b54a945c38a40541c6891c1d887a296ce3c89468c688702249488b34192ce1783b4891e292b9b1702a0620e51cc103602694a DIST fennel-1.4.2.tar.gz 301195 BLAKE2B f5a124725b4d2573275f179090b0400ed07dcc50d6ae661dd588887b8774a2cb48ab9f720dfb7bc7049d1e353f430e75da48e9a08b716cc1a80e4e09bf269bc7 SHA512 13b6020314d010566c7521b85065a446e09f8a0cfec9b9cb4bc2e23fe59369d105538bcb8a3a7cd865c399742d98a1742da932f8bde993c1136422f803069071 diff --git a/dev-lang/fennel/fennel-1.4.0-r2.ebuild b/dev-lang/fennel/fennel-1.4.0-r2.ebuild deleted file mode 100644 index 68ee8a548f2b..000000000000 --- a/dev-lang/fennel/fennel-1.4.0-r2.ebuild +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Fails to build with with "lua5-1". -LUA_COMPAT=( lua5-{3,4} luajit ) - -inherit lua-single - -DESCRIPTION="Lisp-like language that compiles to Lua" -HOMEPAGE="https://fennel-lang.org/ - https://sr.ht/~technomancy/fennel/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://git.sr.ht/~technomancy/${PN}" -else - SRC_URI="https://git.sr.ht/~technomancy/${PN}/archive/${PV}.tar.gz - -> ${P}.tar.gz" - - KEYWORDS="amd64 ~arm ~arm64 ~ppc ~x86" -fi - -LICENSE="MIT" -SLOT="0/${PV}" -REQUIRED_USE="${LUA_REQUIRED_USE}" - -RDEPEND=" - ${LUA_DEPS} -" -BDEPEND=" - ${RDEPEND} -" - -src_prepare() { - default - - # Turn off failing tests. bug https://bugs.gentoo.org/906351 - sed -e 's|"failures",||' -e 's|"repl",||' -i test/init.lua || die - - # Remove bad tests, bug #923281 - rm test/macro.fnl || die - sed -i test/init.lua -e 's|"test.macro",||' || die -} - -src_test() { - emake test -} - -src_install() { - emake LUA_LIB_DIR="${ED}/$(lua_get_lmod_dir)" PREFIX="${ED}/usr" install - - dodoc *.md -} diff --git a/dev-lang/fuzion/Manifest b/dev-lang/fuzion/Manifest index d51c967dd45e..9be9a00de6dc 100644 --- a/dev-lang/fuzion/Manifest +++ b/dev-lang/fuzion/Manifest @@ -1 +1,2 @@ DIST fuzion-0.086.tar.gz 994894 BLAKE2B e698ea7b8de215c55e84e0f55f405156d5c386c1001c7b29e0c7c49e7a7e7babf7cb64cf30726a24aa7b6ccdc0eaf01cc543867361e2554f258d76be1fc08b97 SHA512 6d2df12d1dced9c5a61bb183767fc205ddbc0d04db8cae3f5e3eabd9ab60f18b3c2b3fa8f57702dc792882b1a6f79da1cfcb7801d84ecc2cff1844a4bc226f67 +DIST fuzion-0.088.tar.gz 1123270 BLAKE2B 3d68c136a862c02955b4a15e6cfe4d41a63a106c47289f7fdfe0af2b0119ebe26cbd9c6920c8b5311c756264bdd33d46f4b1108869427f83d55a350c2ab52e6f SHA512 b0fb1ea4175912684b4759ec58a91bc25d963fa2fa6234116fa91a63d757d9af5da9e20a3fdcc340fe956c01026d4b74c7a12dac40a0b7826d74c567b4e3383a diff --git a/dev-lang/fuzion/fuzion-0.088.ebuild b/dev-lang/fuzion/fuzion-0.088.ebuild new file mode 100644 index 000000000000..c40f20b0f208 --- /dev/null +++ b/dev-lang/fuzion/fuzion-0.088.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit java-pkg-2 + +DESCRIPTION="A language with a focus on simplicity, safety and correctness" +HOMEPAGE="https://fuzion-lang.dev/ + https://github.com/tokiwa-software/fuzion/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/tokiwa-software/${PN}.git" +else + SRC_URI="https://github.com/tokiwa-software/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=virtual/jre-21:* + dev-libs/boehm-gc +" +DEPEND=" + virtual/jdk:21 +" +BDEPEND=" + test? ( + sys-devel/clang:* + ) +" + +DOCS=( README.md release_notes.md ) + +src_prepare() { + java-pkg-2_src_prepare + + rm -fr tests/sockets || die +} + +src_compile() { + emake -j1 +} + +src_test() { + emake -j1 run_tests_parallel +} + +src_install() { + # Remove unnecessary files from build directory. bug #893450 + local toremove + local toremove_path + for toremove in tests run_tests.{failures,results} ; do + toremove_path="${S}/build/${toremove}" + + if [[ -e "${toremove_path}" ]] ; then + rm -r "${toremove_path}" || die "failed to remove ${toremove_path}" + fi + done + + insinto "/usr/share/${PN}" + doins -r build/. + insopts -m755 + doins -r build/bin + + local exe + for exe in fz fzjava ; do + dosym -r "/usr/share/${PN}/bin/${exe}" "/usr/bin/${exe}" + done + + einstalldocs +} diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index 5197175b5767..e119454afc2e 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,4 +1,2 @@ -DIST go1.21.10.src.tar.gz 26993576 BLAKE2B a310b89b6db0d6bffcc64d028b4130c7d1b456299016de3b31cb1223ad915f697dcbc15718984ab9b6199b31e192c50d1a014e38d10d32f5424133957d3aafe5 SHA512 90105f977c86a0d5ea4d31e4e699d8611a74178db1e443ddc57679b7a2a648baa328e7fa9ea4a732727487cc29afe07e9597a1e2eb0184cb270973f403349f5a -DIST go1.21.9.src.tar.gz 26993426 BLAKE2B 08eb5a78e1d4933de63105a886e0b0d9d8582edbd18b2a40f7655628a3d5627102abf8d25b3190751109273962b731d16c25bdc58b370b6a39faa6e5c3ef3736 SHA512 e1cf7e458d41f8b343c34b7d35dc4a1696bacbad2ad64abac36dbbeaf1e0a1b71cdb32cebb1686c6e5c90bf0ad3474714d09acea010d6c074730c59d71e79f4e -DIST go1.22.2.src.tar.gz 27551470 BLAKE2B f8994f7868f14b68d5b57a251ff4b79f26cd2dbee69e93887165a37dbdb74a0004998c2666e0bb1673a0f0efcbe58b10e2437f6ce06340fad004628e3a9cca1c SHA512 f2491d2b5d4ef2dd86ca7820503a2534cd1860822049dc01a6cb40b556a0812cfc4196fa83173765816060253ac949f4165b0fb4b2bed5d45e30d03bb69e434d -DIST go1.22.3.src.tar.gz 27552410 BLAKE2B 8f5e5695c5bd945ad46990897c1b051abd5446dc7d9e52f7120139b084f6ec648679d4bc5c07b057a267e65dceb18dadc21234fd90b1e15444c1e3e5b5a2a1df SHA512 e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672 +DIST go1.21.11.src.tar.gz 26994914 BLAKE2B 73f0a5c133844c287cc7aa32e9b8d8735956e0e88b0100b644c22a2748ab28b5bedcba3575e9f34be50ac67a0ccf8ef04100e8076176d175d9cdd111c13a8f6e SHA512 dffcef964a4fbe08cd965bcffad6138fab164f14936a83988ced86924f794c1f107c122d1aeb674eacb0a1a498a31bdf83ea8f87b352494fa69f6e38931d2120 +DIST go1.22.4.src.tar.gz 27555503 BLAKE2B 00a6a3430e38fe5b63df3d453bd58ff51f3cff7814f3e05520725ef2093d1f2547c214f6e58c9bbd078334b51be2407dfe5b68eac5b7eeaa2a33bd3c3a13f3f4 SHA512 4855ba7e277b2eb79eb52e3ad2a52f18b3a4cd3adc20b7a17d29fabae74141265bf31399307b8d3f35110031d11ad7f583016aa903f3e36eeb6d1f64cfc8a5ad diff --git a/dev-lang/go/go-1.21.10.ebuild b/dev-lang/go/go-1.21.10.ebuild deleted file mode 100644 index 6060e4160e11..000000000000 --- a/dev-lang/go/go-1.21.10.ebuild +++ /dev/null @@ -1,210 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.17.13 -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 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_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) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_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 - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.21.9.ebuild b/dev-lang/go/go-1.21.11.ebuild index 7588d8461f60..7588d8461f60 100644 --- a/dev-lang/go/go-1.21.9.ebuild +++ b/dev-lang/go/go-1.21.11.ebuild diff --git a/dev-lang/go/go-1.22.3.ebuild b/dev-lang/go/go-1.22.3.ebuild deleted file mode 100644 index fc36a2d33ae9..000000000000 --- a/dev-lang/go/go-1.22.3.ebuild +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -# See "Bootstrap" in release notes -GO_BOOTSTRAP_MIN=1.20.14 -MY_PV=${PV/_/} - -inherit toolchain-funcs - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="-* ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://go.dev" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2" - -RDEPEND=" -arm? ( sys-devel/binutils[gold] ) -arm64? ( sys-devel/binutils[gold] )" -BDEPEND="|| ( - >=dev-lang/go-${GO_BOOTSTRAP_MIN} - >=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )" - -# the *.syso files have writable/executable stacks -QA_EXECSTACK='*.syso' - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# This package triggers "unrecognized elf file(s)" notices on riscv. -# https://bugs.gentoo.org/794046 -QA_PREBUILT='.*' - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT=" strip" - -DOCS=( - CONTRIBUTING.md - PATENTS - README.md - SECURITY.md -) - -go_arch() { - # By chance most portage arch names match Go - local tc_arch=$(tc-arch $@) - case "${tc_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - loong) echo loong64;; - mips) if use abi_mips_o32; then - [[ $(tc-endian $@) = big ]] && echo mips || echo mipsle - elif use abi_mips_n64; then - [[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le - fi ;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - riscv) echo riscv64 ;; - s390) echo s390x ;; - *) echo "${tc_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) ]] -} - -PATCHES=( - "${FILESDIR}"/go-never-download-newer-toolchains.patch -) - -src_compile() { - if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - fi - - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="${PWD}" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_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 - - # https://github.com/golang/go/issues/42005 - rm cmd/link/internal/ld/fallocate_test.go || die - - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild -k || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -src_install() { - dodir /usr/lib/go - # The use of cp is deliberate in order to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - einstalldocs - - insinto /usr/lib/go - doins go.env VERSION* - - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - - local bin_path - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - local f x - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - - # install the @golang-rebuild set for Portage - insinto /usr/share/portage/config/sets - newins "${FILESDIR}"/go-sets.conf go.conf -} - -pkg_postinst() { - [[ -z ${REPLACING_VERSIONS} ]] && return - elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild" - elog "all packages compiled with previous versions of ${CATEGORY}/${PN}" - elog "due to the static linking nature of go." - elog "If this is not done, the packages compiled with the older" - elog "version of the compiler will not be updated until they are" - elog "updated individually, which could mean they will have" - elog "vulnerabilities." - elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages" - elog "See https://bugs.gentoo.org/752153 for more info" -} diff --git a/dev-lang/go/go-1.22.2.ebuild b/dev-lang/go/go-1.22.4.ebuild index 38f5a0419240..38f5a0419240 100644 --- a/dev-lang/go/go-1.22.2.ebuild +++ b/dev-lang/go/go-1.22.4.ebuild diff --git a/dev-lang/gprolog/Manifest b/dev-lang/gprolog/Manifest index c39f0b3c5d47..a1f25fe789db 100644 --- a/dev-lang/gprolog/Manifest +++ b/dev-lang/gprolog/Manifest @@ -1,2 +1 @@ -DIST gprolog-1.4.5.tar.gz 3587361 BLAKE2B c0c73ce249d7c26b914a3f831c6ac93aeb884bded6c5ebbe51223f0685de0be2e746533aade1633a953b93e88a30796fa52ecd5e609d05bc051363cbf34e0477 SHA512 425103bc9e5bdbdb4ae331f5be0cf49524fbdb4f5e2809fb973360de9e7ad9935c1b28f3603e0be696a647153d9f0d3dacdc87251098ac99faf7d0b3c652fc60 DIST gprolog-1.5.0.tar.gz 3813899 BLAKE2B e1d82393f122f37b1e139732c1b954b8a407feac4973b56c2e39dcf907424acca67bd10ea0e833ebbd6764a47b075911a29e05b51c37d3751a5d5fc751a08789 SHA512 7ef1a3555ffa58d3fb0db2b55ffc1d00868021f0f9f3d63dd1f43b5b833e6e00ecc74abfc0573828a3d53f20c134dffaf7fe79ab21b3e16dccfca8c73b5dfb8d diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-check-boot.patch b/dev-lang/gprolog/files/gprolog-1.4.5-check-boot.patch deleted file mode 100644 index a2b9638872fb..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-check-boot.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- gprolog-1.4.5.orig/src/Pl2Wam/check_boot 2012-12-07 03:09:23.000000000 +0100 -+++ gprolog-1.4.5/src/Pl2Wam/check_boot 2018-09-01 12:56:38.385276112 +0200 -@@ -13,7 +13,7 @@ - - rm_make() { - rm -f $* -- make >/tmp/make.log 2>&1 || (echo /tmp/make.log ; exit 1) -+ make >make.log 2>&1 || (echo make.log ; exit 1) - } - - diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-ldflags.patch b/dev-lang/gprolog/files/gprolog-1.4.5-ldflags.patch deleted file mode 100644 index 05bdb8e366a4..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-ldflags.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff -urN gprolog-1.4.5.orig/src/Ma2Asm/Makefile.in gprolog-1.4.5/src/Ma2Asm/Makefile.in ---- gprolog-1.4.5.orig/src/Ma2Asm/Makefile.in 2015-01-13 19:00:19.000000000 +0100 -+++ gprolog-1.4.5/src/Ma2Asm/Makefile.in 2018-07-22 11:20:29.622236171 +0200 -@@ -19,7 +19,7 @@ - - ma2asm@EXE_SUFFIX@: ma2asm@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ \ - ma2asm_inst@OBJ_SUFFIX@ ma2asm_inst.c -- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ -+ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ - - - clean: -diff -urN gprolog-1.4.5.orig/src/TopComp/Makefile.in gprolog-1.4.5/src/TopComp/Makefile.in ---- gprolog-1.4.5.orig/src/TopComp/Makefile.in 2018-07-14 10:19:12.000000000 +0200 -+++ gprolog-1.4.5/src/TopComp/Makefile.in 2018-07-22 11:20:29.622236171 +0200 -@@ -23,10 +23,10 @@ - - $(GPLC)@EXE_SUFFIX@: top_comp.c copying.c ../EnginePl/wam_regs.h \ - ../EnginePl/gp_config.h ../EnginePl/machine1.c decode_hexa.c copying.c prolog_path.c -- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS) -+ $(CC) $(LDFLAGS) $(CFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS) - - $(HEXGPLC)@EXE_SUFFIX@: hexfilter.c decode_hexa.c -- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c -+ $(CC) $(LDFLAGS) $(CFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c - - - -diff -urN gprolog-1.4.5.orig/src/Wam2Ma/Makefile.in gprolog-1.4.5/src/Wam2Ma/Makefile.in ---- gprolog-1.4.5.orig/src/Wam2Ma/Makefile.in 2015-01-05 11:11:29.000000000 +0100 -+++ gprolog-1.4.5/src/Wam2Ma/Makefile.in 2018-07-22 11:20:29.622236171 +0200 -@@ -12,7 +12,7 @@ - $(CC) $(CFLAGS) -c wam2ma.c - - wam2ma@EXE_SUFFIX@: wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ -- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ -+ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@ - - - clean: diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-links.patch b/dev-lang/gprolog/files/gprolog-1.4.5-links.patch deleted file mode 100644 index 573e27910bd0..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-links.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- gprolog-1.4.5.orig/src/Makefile.in 2018-07-14 10:19:12.000000000 +0200 -+++ gprolog-1.4.5/src/Makefile.in 2018-07-22 11:41:15.762184054 +0200 -@@ -81,10 +81,10 @@ - - # --- Links --- # - --install-links: uninstall-links -+install-links: - if test $(LINKS_DIR) != none; then \ - ./mkinstalldirs $(LINKS_DIR); \ -- (cd $(LINKS_DIR) ; $(LN_S) $(INSTALL_DIR)/bin/* .); \ -+ (cd $(LINKS_DIR); for i in $(BIN_FILES); do $(LN_S) -r $(INSTALL_DIR)/bin/$$i .; done); \ - fi - - uninstall-links: diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-llvm-as.patch b/dev-lang/gprolog/files/gprolog-1.4.5-llvm-as.patch deleted file mode 100644 index 6adc8feb2720..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-llvm-as.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- gprolog-1.4.5.orig/src/configure.in 2018-07-14 08:19:12.000000000 -0000 -+++ gprolog-1.4.5/src/configure.in 2021-06-27 10:13:31.004977355 -0000 -@@ -334,15 +334,26 @@ - dnl we use AS0 instead of AS else AC_CHECK_TOOL does not work - dnl (instead of testing a prefix like x86_64-w64-mingw32- it will - dnl think the user wants to override the test) -- AS0=as -- case "$host" in -- sparc64*bsd*) ASFLAGS='-Av9a -64 -K PIC';; -- i*86*darwin1*) ASFLAGS='-arch i686';; -- i*86*linux*) ASFLAGS='--32';; -- x86_64*solaris*) AS0=gas; ASFLAGS='--64';; -- x86_64*darwin*) ASFLAGS='-arch x86_64';; -- x86_64*linux*) ASFLAGS='--64';; -- *) if test "$with_gas" = yes; then AS0=gas; fi;; -+ case "$CC" in -+ *cc) -+ AS0=as -+ case "$host" in -+ sparc64*bsd*) ASFLAGS='-Av9a -64 -K PIC';; -+ i*86*darwin1*) ASFLAGS='-arch i686';; -+ i*86*linux*) ASFLAGS='--32';; -+ x86_64*solaris*) AS0=gas; ASFLAGS='--64';; -+ x86_64*darwin*) ASFLAGS='-arch x86_64';; -+ x86_64*linux*) ASFLAGS='--64';; -+ *) if test "$with_gas" = yes; then AS0=gas; fi;; -+ esac -+ ;; -+ *clang) -+ AS0=$CC -+ ASFLAGS='-c' -+ ;; -+ *) -+ AC_MSG_ERROR([unsupported compiler $CC]) -+ ;; - esac - AC_CHECK_TOOL([AS],[$AS0]) - AC_PROG_RANLIB diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-nodocs.patch b/dev-lang/gprolog/files/gprolog-1.4.5-nodocs.patch deleted file mode 100644 index c5c517b1887a..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-nodocs.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- gprolog-1.4.5.orig/src/Makefile.in 2018-07-14 10:19:12.000000000 +0200 -+++ gprolog-1.4.5/src/Makefile.in 2018-07-22 11:59:54.877137249 +0200 -@@ -97,7 +97,7 @@ - # --- Documentation --- # - - install-doc: -- if test $(DOC_DIR) != none; then \ -+ if test $(DOC_DIR) != $(DESTDIR)none; then \ - ./mkinstalldirs $(DOC_DIR); \ - (F=`cd ../doc; echo $(DOC_FILES)`; \ - for i in $$F; do $(INSTALL_DATA) ../doc/$$i $(DOC_DIR); done); \ -@@ -113,7 +113,7 @@ - # --- HTML --- # - - install-html: -- if test $(HTML_DIR) != none; then \ -+ if test $(HTML_DIR) != $(DESTDIR)none; then \ - ./mkinstalldirs $(HTML_DIR); \ - (F=`cd ../doc/html_node; echo $(HTML_FILES)`; \ - for i in $$F; do $(INSTALL_DATA) ../doc/html_node/$$i $(HTML_DIR); done); \ -@@ -129,7 +129,7 @@ - # --- Examples --- # - - install-examples: -- if test $(EXAMPLES_DIR) != none; then \ -+ if test $(EXAMPLES_DIR) != $(DESTDIR)none; then \ - ./mkinstalldirs $(EXAMPLES_DIR)/ExamplesPl; \ - (F=`cd ../examples/ExamplesPl; echo $(EXPL_FILES)`; \ - for i in $$F; do $(INSTALL_DATA) ../examples/ExamplesPl/$$i $(EXAMPLES_DIR)/ExamplesPl; done); \ diff --git a/dev-lang/gprolog/files/gprolog-1.4.5-txt-file.patch b/dev-lang/gprolog/files/gprolog-1.4.5-txt-file.patch deleted file mode 100644 index e385e948129b..000000000000 --- a/dev-lang/gprolog/files/gprolog-1.4.5-txt-file.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gprolog-1.4.5.orig/src/Makefile.in 2018-07-14 10:19:12.000000000 +0200 -+++ gprolog-1.4.5/src/Makefile.in 2018-07-22 11:56:09.247146686 +0200 -@@ -60,7 +60,6 @@ - install-system: - ./mkinstalldirs $(INSTALL_DIR) $(INSTALL_DIR)/bin \ - $(INSTALL_DIR)/include $(INSTALL_DIR)/lib -- for i in $(TXT_FILES); do $(INSTALL_DATA) ../$$i $(INSTALL_DIR); done - for i in $(BIN_FILES); do $(INSTALL_PROGRAM) */$$i $(INSTALL_DIR)/bin; done - for i in $(OBJ_FILES); do $(INSTALL_DATA) */$$i $(INSTALL_DIR)/lib; done - for i in $(LIB_FILES); do $(INSTALL_DATA) */$$i $(INSTALL_DIR)/lib; done diff --git a/dev-lang/gprolog/gprolog-1.4.5.ebuild b/dev-lang/gprolog/gprolog-1.4.5.ebuild deleted file mode 100644 index 355d3940417f..000000000000 --- a/dev-lang/gprolog/gprolog-1.4.5.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools flag-o-matic toolchain-funcs - -DESCRIPTION="A native Prolog compiler with constraint solving over finite domains (FD)" -HOMEPAGE="http://www.gprolog.org/" -SRC_URI="http://www.gprolog.org/${P}.tar.gz" -S="${WORKDIR}"/${P} - -LICENSE="|| ( GPL-2+ LGPL-3+ )" -SLOT="0" -KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="debug doc examples" - -PATCHES=( - "${FILESDIR}"/${P}-ldflags.patch - "${FILESDIR}"/${P}-links.patch - "${FILESDIR}"/${P}-nodocs.patch - "${FILESDIR}"/${P}-txt-file.patch - "${FILESDIR}"/${P}-check-boot.patch - "${FILESDIR}"/${P}-llvm-as.patch -) - -src_prepare() { - default - - cd "${S}"/src - eautoconf -} - -src_configure() { - CFLAGS_MACHINE="`get-flag -march` `get-flag -mcpu` `get-flag -mtune`" - - # Work around -fno-common (GCC 10 default), bug #71202 - append-flags -fcommon - - append-flags -fno-strict-aliasing - use debug && append-flags -DDEBUG - - if tc-enables-pie; then - # gplc generates its own native ASM; disable PIE - append-ldflags -no-pie - fi - - if tc-is-gcc && ! use x86; then - gprolog_use_regs=yes - else - gprolog_use_regs=no - fi - - cd "${S}"/src || die - econf \ - CFLAGS_MACHINE="${CFLAGS_MACHINE}" \ - --with-c-flags="${CFLAGS}" \ - --with-install-dir="${EPREFIX}"/usr/$(get_libdir)/${P} \ - --with-links-dir="${EPREFIX}"/usr/bin \ - --enable-regs=${gprolog_use_regs} \ - $(use_with doc doc-dir "${EPREFIX}"/usr/share/doc/${PF}) \ - $(use_with doc html-dir "${EPREFIX}"/usr/share/doc/${PF}/html) \ - $(use_with examples examples-dir "${EPREFIX}"/usr/share/doc/${PF}/examples) -} - -src_compile() { - cd "${S}"/src || die - - # gprolog is compiled using gplc which cannot be run in parallel - emake -j1 -} - -src_test() { - cd "${S}"/src || die - - emake -j1 check -} - -src_install() { - cd "${S}"/src || die - emake DESTDIR="${D}" install - - cd "${S}" || die - dodoc ChangeLog NEWS PROBLEMS README -} diff --git a/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild b/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild index 29233aa9547b..9762d540b63f 100644 --- a/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild +++ b/dev-lang/gprolog/gprolog-1.5.0-r1.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}"/${P} LICENSE="|| ( GPL-2+ LGPL-3+ )" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="debug doc examples" PATCHES=( diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest index a843a6c1018c..7c4a0de3cbb1 100644 --- a/dev-lang/ispc/Manifest +++ b/dev-lang/ispc/Manifest @@ -1 +1 @@ -DIST ispc-1.23.0.gh.tar.gz 19624959 BLAKE2B 08cf817bdd4cd76121dd6c9586ef5f3f9296e7a3b509c51db6413fb62aee0b462ae8baa9fd9497b20c67d4df90149eba16a48b61dd8793c5b64c95a21b13e5d8 SHA512 34cd2572cdaf38f7911ffe52dfb7346f1607de1f81635bdf94e365dee810b30ddeb090eee4a592d9331bb051498172bfd868cd8de9c38bed388d7207a30ac0d8 +DIST ispc-1.24.0.gh.tar.gz 19674211 BLAKE2B 246a079f03fa17f1ab4d80c55b992e92f44d5395e3f1feadee90c773771496ead4de0671b3869c70d5a93038d7c0ccaf9ed3ad5b5e40eb156d605a73150b15d9 SHA512 ad9feab1b5986471a52c775c1220ae46904ae952b33a14299f525eb03e004c6e1395dd171ddedee833892d57ad195ffddb234b26a2df42138fb1b2364b62803e diff --git a/dev-lang/ispc/ispc-1.23.0.ebuild b/dev-lang/ispc/ispc-1.24.0.ebuild index 0bf8808f4f97..9c93989e4624 100644 --- a/dev-lang/ispc/ispc-1.23.0.ebuild +++ b/dev-lang/ispc/ispc-1.24.0.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( 17 ) +LLVM_COMPAT=( {17..18} ) PYTHON_COMPAT=( python3_{10..12} ) inherit cmake llvm-r1 multiprocessing python-any-r1 toolchain-funcs diff --git a/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild index 60be1af801e9..c87480e20a8c 100644 --- a/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild +++ b/dev-lang/jerryscript/jerryscript-2.4.0-r4.ebuild @@ -1,9 +1,9 @@ -# Copyright 2021-2023 Gentoo Authors +# Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit cmake python-single-r1 DESCRIPTION="Ultra-lightweight JavaScript engine for the Internet of Things" @@ -17,7 +17,7 @@ IUSE="debugger" RDEPEND="debugger? ( ${PYTHON_DEPS} )" BDEPEND="${RDEPEND}" REQUIRED_USE="debugger? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT+=" test" +RESTRICT="test" PATCHES=( "${FILESDIR}/jerryscript-2.4.0-python3-r4.patch" diff --git a/dev-lang/jint/Manifest b/dev-lang/jint/Manifest index c38c475808a1..0d1497c224e5 100644 --- a/dev-lang/jint/Manifest +++ b/dev-lang/jint/Manifest @@ -1,20 +1,30 @@ +DIST benchmarkdotnet.0.13.12.nupkg 1396093 BLAKE2B 225ef4c00f6a7f00c1a70de9c1a2dc1c7b4e1222a63581da7e12460e0a7adb0365ee2cc95d4da7aa104a0589dee902a8d727c92228f6ccb4ebed36cefd671d59 SHA512 f8bcef1b876c80c2e0fdde0dfcc131c216772721ed95c71001d0399566ed8036334a729bf230902547aa3206d96affba2de0a3060a27e573f9fa9e12a653f299 DIST benchmarkdotnet.0.13.7.nupkg 919221 BLAKE2B 0625b92961628fc5a7a88590ff9f92ab4e1bcb88698cec16185c85a151a2bd72a57f576f8ba974c75e8be4cfddd69500808d8c3f8344805ea900a15a59a8249f SHA512 0879981c458b2d5457655eef4ad7361c854d7e4cd06030b980742e62d9ac636f55ecc0acb0a0520b882caf206d445de48acd35e1ac2d031006a9f33be6f51020 +DIST benchmarkdotnet.annotations.0.13.12.nupkg 77356 BLAKE2B c3f99334e9fcdc1d428edc02fbd3d2e3fc9bb06a288666b68bb2b8d6fd51ee553d5056d52356859fe6ad77c20e0920c299dec2e0a7dafb5f38ca2642bceef03a SHA512 e02fb5a992b4aa3d4bdd20bb821756db8ad5be7cd09c44137c2cc978ac0824eabf3b0d2562a8bbec9b1a147470ed78641ab1a6e8e729a09ef5b8ab1d49395a06 DIST benchmarkdotnet.annotations.0.13.7.nupkg 63642 BLAKE2B 9c39a1f13a1a5e17002fe60bc28f08799732a3cabecdff5db68afd6b70aeed33d4d8684174723804d4fa35364cb8d2a54d27b7c584508050da5e97b4a73cc60d SHA512 ef619cd5efd7912c57598f230d231a201481e6b4476192590c5a8caaa019707e1006885095a8129f12b6f749ca119489fae93b05b70abe294d6b4b02196013d6 DIST commandlineparser.2.9.1.nupkg 496069 BLAKE2B e2c4b38841f83d6bc10432b8055af90369f1fe0a10105a58b51b44cd48e5d84cb0b5e4b19f444d8c81b38646a62c7c4d11cbd710e92fea68be3ebea6ab98e3f1 SHA512 4f364e45c9668c7e7cc6a922b488f3fa523033c20d7a432694f0a6af05ce528ea0481d8375e2f4f1032c6990347b4803ce9a0e48068c6fe15ec46fb1254f085d DIST esprima.3.0.0-rc-04.nupkg 552214 BLAKE2B 5f84bac650ec596a6cf487493a15516c80969dec250cb199b581b9b271883ecd93abef2224390a76a578ae59469672e6458f7ba154723db71cbc6736f991605a SHA512 68753b24275f6161fabbb124332b456431f077e3c69c1bf99d4247693bdaa183d874baca0b2f624acf4b68ec3c4af4790370add6a88785dd5e49574b5f1c9a4f +DIST esprima.3.0.5.nupkg 509058 BLAKE2B a15db682d07f7261a85a27a3da82ab752b7a373c0e6d3a2781424d9d6212fe0b749969746e509330f2b6c73ea4b648e5012ea62a06242d2ea22a088b6a901ed3 SHA512 751f282833feb4667937e3b88b69904047b914a20ff551f7cf7dcb936f88646bb9f898f033dcf326d0663ea72b513329827473b697f139bc4a45b42f98be1dee +DIST fluentassertions.6.12.0.nupkg 2451840 BLAKE2B b2a35a7dd0f1176573ea32c906a3b91c92d23d0f53183fe00762720d769c1bcfc90d91054f14f45c5baff45b25db4d0f6461230930dcb438b1920660bf4aa166 SHA512 b99ecd0c8ac555ee086a59248a7b41767559ebd753a4d337d2252bdb138d48399ae88c368927dc1382c162a2d8fbf027a33e326c6c662dfb7e0d015ef8a42fc0 DIST flurl.http.signed.3.2.4.nupkg 217681 BLAKE2B 0d972554abd9c00155ca5bc560703cd7a1b5c6c753e5b00283d0a94821cba5877b7fc524b1dd74ea6c5e9168bc9427d577498c3f04badf87e75ed0dc9ef600cd SHA512 c7d3c751afc589588fc0d468c618c7491b675adf848e323d4fc1e164f59fda93fc47c3a9f1f7bab7f2bbf56102c8c973b8e649bb4ad98e92e73bc9d07be1bad2 DIST flurl.signed.3.0.6.nupkg 86054 BLAKE2B 8b5a83d1b628645cd109be4eff33c6b4eb1037845ab856cfb718133a8554b547f1a999a10ba90fe21a4c952bcec8624e2fb111f4f9e17d82c3eb8a5f06513fb9 SHA512 4e33455ec4eb700bedf55148bcd1ebcee14ced96d7123b9b2747365391b67c7c01216272ad0ea14d7c07b82ee9c65490b270eb05116090ca6ee3a5f446be42d7 DIST gee.external.capstone.2.3.0.nupkg 8145352 BLAKE2B 1e1cfa75c9d8fcff0e905e7d8d5fdd3415daec907f97ee4eb810630d1df26397a5a2a80cdb1fa5fee6268599bc49dd8ee41366867aa16ca689c97db78b4be135 SHA512 9079d5705d591c3b819127b2e0b763dacabb212314e9f96b2f632f62b45a9f3e1c208f136df91a4834dd1838a38ac2fd2161ce8b545fe70f8078b66fc66c4aa8 DIST githubactionstestlogger.2.3.3.nupkg 143114 BLAKE2B 8c20b4cf084ee9465aea6b9c1c1d56758c7bb011ba2d3a9c73310d911880f669fc735abc24443480df321980689c8a3553dba8da08e085857bd3e5b4b5cc62de SHA512 9a40885220cab4f47ec232143658fb5d2844bf6dbb8b861239a0858c5de0c16fef8c27b657d23b12545ae53eb8375bba7fbe5300e5c98e749f820b8ee7409641 DIST iced.1.17.0.nupkg 2106811 BLAKE2B c7042f76781d7a536a8169c861fdbd36d8761e0e89faccf1251506bc6304ad5719da9c62a1f07a43952c1bc1baab2e5ece7e78304b0cdb9eaf3f72d899622661 SHA512 6404bf5518b3d7a7c74478edd56c2c2f194ccadd1cfde3ae7c13c332e442779b817b99744aae19dd4c6400a205055eee7dfc16b43a2f97d0f5200a9bc6c97549 DIST jint-3.0.0_beta2051.tar.gz 2018962 BLAKE2B d03830151ba0076d6b07edb65d56bb6575531e98a71988791ee8e88ce00b7bb9c7fc2c9de9486b3969830cb656d613d6aaabf2da0e500f7fa8b59ba8a0d80453 SHA512 3faddd5f20062177d464a97db67a028af17dedb4867bb1948a1f8b1fdfd6c1b82a5fda60f5e3a9a0ca2e256687a3fc882acc5e7b3113688f292190be580e39e9 +DIST jint-3.1.2.tar.gz 2084105 BLAKE2B cb2baff3a9f3458f1a5856de8f7859361f727200a8c1341cc421a52f9e2f0cbad559f46d40dc3eb05b87c71ca515d64e02b055fac41bb75460e5062f6ee1231c SHA512 25ea826035ab76bc9d25fd293bad8d17113aa5a2354cf3ecfc8156be64818f09ac201287ab7c9bb138fa01027cbc1a4495d9af473dda3623415d86167278ffe0 DIST jurassic.3.2.6.nupkg 301414 BLAKE2B 453fe2cded3b1cd3a0e144965dfe85e63b53301872894271fc6e0ad1cff1d7d2b38c319cf2950d326cc5dadb9d3d624e6461bbb7db23f7dc6276617ea9e104f0 SHA512 ee83621cd7e739eb601b1b28e068121451f4be8255c23914ea6a011adea6402c945d3821ed514ccc68629e08311586d6bcce9cc9d8423913a109376e4bc8a572 +DIST jurassic.3.2.7.nupkg 310835 BLAKE2B 689d8f915e634d2798f5e14776106cb5d5b857e4ecc302c3aa49d0c2c74e81a3ec3afd6b801c1c385e1126926b4a33be1e06c7080c2601587cbcab62b6570383 SHA512 22f3fffd90c65238ddc8bf801b95c18b055dbfa7a3b96bdb1706a8ab94e7b415d5d9701bef3a994dd3bd7a7e9d68e3fbfa27e2b7f7c30458a7a477e2fd596b28 +DIST meziantou.analyzer.2.0.141.nupkg 3376139 BLAKE2B 99ff35b7c396ad7af0ffc148ad6a713ea08b800c82a725f6b213b9d1a3dd979d1b93b3f424e6f34d1d8a0be6121003a9f1a27de2762e37e585a5543f2b2d1037 SHA512 682e7b09e59403f9c943aa95457e8bd41237ba70d1466f99fac648174bd14e3dd994cac0b65676123a48d0a898f7498d9f86a7feebd8eaad63af75d50515a4fc DIST microsoft.bcl.asyncinterfaces.1.1.0.nupkg 92985 BLAKE2B 3de4d3c85a43d9c81b24419919e82a590615de75dadfc5bc156777938c1ee30ba9602719614223be3a4aedfd589bf4f02e78b576f80926bb29d8e0a742c692d6 SHA512 4277ce265233e5ebf15370e7d42cf8574c1fce715a892eadbeba136136dbc36ba4d78b4090e55217293f8421f2eb84bcfdc9343de42a2d5e06b8ff5b00d0723d +DIST microsoft.bcl.timeprovider.8.0.0.nupkg 105522 BLAKE2B 58ce1b97f6340ff18499e1e96030ca62bd0e70a0269251d4d7b5ba46c041c3aef343faebe61cde8260c1187976cd2d2c4f7e0e618765b719d9c616f1e4dc3b1f SHA512 cd3ef95abb779e57649e24830d2e004d08f534abc0742aff7fb691b72998fe92269c0d6a95c70da2b8349e18b69c6bb7fcb95bd031c4954e568d23822723ba5a DIST microsoft.build.tasks.git.1.1.1.nupkg 479497 BLAKE2B 053ad5b3b88194d12e9e784c8a91d33deb8a2abc48cf3179990fdd2f576168b19a757b3a3915309fb040a1441bd5102bca333383d757f828c029846e3feef88f SHA512 1961b5ba2ce215f6cd0943948e66462b7388b612708c58a5e03ab1e041ac77f1582f9ed9134136fce0d5345d1d46a1537ff728f542e6dd4ea2c11eac9d3f8d46 +DIST microsoft.build.tasks.git.8.0.0.nupkg 463717 BLAKE2B 0c98d762063932ddd139aa0e0c5d09bd83d8c67230f734c71add92c22b8e4692008dec50753eb0965cfe9d88d1b0b33e03d99b70a9ddf5a2714c94ccf0d2ea58 SHA512 0e4eecd441c4fb05e17aaae4d63a75e43779e8def8eaddd95c4171f690b7dfe622e06e765dc74ebd21ad28427e271d14ad0bb2af2e29bf13724e819f618dd188 DIST microsoft.codeanalysis.analyzers.3.3.3.nupkg 1111022 BLAKE2B 8704bf2c8a57bdca4ad3d5a2531ff47b0b44d2461ce3c8eec4b58f5cb38f9371fe5aaeb8026a3abbf6299fe30b3f059c892ee6dd239a03eb8b36462f132a2b4b SHA512 0d4896db8aff9d731c5b1c8f73a4b37460c3f08080fbeac0ecf169abf5bdff9c9a994778f453816b888e939d9d0d615245c91a2e4ba31f85d2ea8de222767104 DIST microsoft.codeanalysis.common.4.1.0.nupkg 4561936 BLAKE2B a3f1d1e9d8e10cd2b6ecb87f1dfbeff158bf488a63e56ff78c7c96107ad65b17e3f2296da21a1dba183b8dbe0d9fc3b2b5778e8a14481866c2b8aa5a63b2d937 SHA512 006f100f9f2b1ce676ba8ffec6eee5019ceba0ecd0fdc109fe92584a0697ebad58e75ba3c96ade6298487588c5d66aa24ae6195118f48bb9f16e27e42c3dd299 DIST microsoft.codeanalysis.csharp.4.1.0.nupkg 10405400 BLAKE2B c287af3ff6dce7c3aacae3d7295236dbde32852683c5f0c74bf14cf8499de219eaf2131ff6943cb2876ff99c77913986ed89b6dcc1ff6b27324900bfc0f1bb5b SHA512 fcf8a01dcb5097390d4d75405de3f637356ba9acb4bd208ac2bf28e01c14feed09a1d2b84c801a59df6b94cf0e386fba2865729b1c339bc29381e1ef1f06d8ea DIST microsoft.codecoverage.17.7.2.nupkg 9116095 BLAKE2B 2646e030cff43543d271b79eeca75b8b3d62dec1eb2b32b4f7984720b0d124684b9d3002f5167f4d8cc95b4c9cd81206940dafd952e9b74264f6607a5a576af2 SHA512 791aaef8ade199e2f88302544d81db8c04074b455ea35e33d941d2d3e6f60f14397725290283baaef3afe6fa591173debbb66c5afe5d193da622d669a6365da1 +DIST microsoft.codecoverage.17.8.0.nupkg 9139132 BLAKE2B b9a9e71595742023f43a50e159ae6c0ec61858b0f786a394eb24438a28708a4583e7cb1914ca5e0a717738452aa01c816258eb032736fd3ee404ffb1994d2988 SHA512 bbfb44e01038c77dc33c175478c5f1107bda23536cfc212c14060385c5e41145411550462f6665924883788fbf66477d2f517acb28c51fad53c0f895ceec288c DIST microsoft.diagnostics.netcore.client.0.2.251802.nupkg 146459 BLAKE2B 5f3c1b217602aac357b529e8d48943c2aaf90973ccb86b577748d3eb11899e9a43f5370c3be77531d15550792f5f966fc694c72d8e3abe83fea1a0d6fcd11f9b SHA512 553336be495e4d899318256fdf085e7800e6cd01a50ba561a3fb879d12f75bd42d58383bdb7b0e679d6f9ba7414b9b5b9d07ded6150a57651e16d1e95cd804a4 DIST microsoft.diagnostics.runtime.2.2.332302.nupkg 747281 BLAKE2B bb3335a3490ecfd1b4ee5c6d83e136c0a0411b599fdbc5a63f18fe8740f63c6d4e313c6c8346bc890ab95ed007c6ac31513b0351e90766a241f56397abc06cfc SHA512 7b682033f65f6ae06f8c63d6d607551861e1f36045cd670f8b39e28786958c5e7da10426f9ce13762a9a88edb8aa2e730c0a7d04455a61e3e014327ab06dde18 DIST microsoft.diagnostics.tracing.traceevent.3.0.2.nupkg 7528517 BLAKE2B 911f3cb4337c3eb9f9d3fe414691b4a3b1df3bf3ea1294c3053ee82cbf820d76e2d9afc8f7eeef295b1e34dece1757206b8aed102ddc89146757953e9878e1b6 SHA512 31fe5d47f445629e350a27b981f2eb97a9a9842746f8beaec553eb5832b8cb8362ada825d73cdafc02736a92836a16a1f21fe6b375f918241d553a9ae47d8ce0 @@ -29,34 +39,46 @@ DIST microsoft.extensions.logging.2.1.1.nupkg 42526 BLAKE2B b4c303cc0f0a277e58a3 DIST microsoft.extensions.logging.abstractions.2.1.1.nupkg 51616 BLAKE2B 9ad56ee27a9e669866ba2eb312df5ca8a8f28470a352dca45a4aefbb8a8edcd6db592a63459e2be295c5cb16ac574907b7792a90f8e180c42d2e12217cfe4cbb SHA512 7eb031114a70af9f9fe82d84935cadedeb3bd9a9c60e00c914d741cf0d52b9f854cb82abbf294b2494e46603b14deca2c4b5e2cb39591df990e7f79b3a327091 DIST microsoft.extensions.options.2.1.1.nupkg 47762 BLAKE2B 130745fed8c4d5b47ef496744045ec3183ea8ab199a2516009d0ae563aa2683758ae6c10d1ccfe8b2b9dc9d5f881d2553b9d90c0918dd6fdd82c135010bf5ba7 SHA512 55c72f83c97892406b5c00da965b84198373f475d23188a52a849a2dd69600deb48029b2488072cf987857cd8627afb353065c3a8c81ae38a7af4baf4f897ee5 DIST microsoft.extensions.primitives.2.1.1.nupkg 46663 BLAKE2B 50c71f1af3f8019a42f2ab930e1e9c3e8992c532fe27320e98b6ca794473c067c538f8ad7db0f7dce4bf52e3b49b0037106a98bd6ec01303cdc4c9911abbdfb1 SHA512 4c24e6b4cdedd5e7928bebd95c82ea4fdbcd068a0e7ae07d54284445f78ff973e2ec108957af1e0f51090c2fcba579006fedd92b615df27a3b53790797aa3391 +DIST microsoft.extensions.timeprovider.testing.8.0.0.nupkg 95170 BLAKE2B 9db60f292e82b93f5f395daeee5d49db2ca6f0183abb10d55f934d92eb7434a16283a2367338d679e9b13453f3cb8270e053f244605ffc5ca1e3c33af7313821 SHA512 672e79cf74500636c491f2a5e8c4e61c62a5b3a312341d541b7598289fb92910863fc13b410ed5ea67985cba98d0aec2ff97165b41a73c5884525f6005a0c3db DIST microsoft.net.test.sdk.17.7.2.nupkg 39430 BLAKE2B c7d00e93daf1cb4180104c2111b3a286819ef8d692b90d8157877794087357aeffb34640bbf9bcd5e04cf25512db4fa2f41d24cbfdb01e17a1db6e3f23b1973d SHA512 e0ebd2dff0bc55e5aac59b300ea0558aa5110d08caeedf513c441ef98ffffd6d92e8e5a9ca1a1ec7e1fc2e661efc57b1f74d5bb8068b5120cb49e4c11998180c +DIST microsoft.net.test.sdk.17.8.0.nupkg 37824 BLAKE2B 3ef98fbed1b0fb6e6734939601744c4047ea701681fc7eb5cd13ed33d3a317379aad946d931410492b9efed3543bd50213bb1def3fc465d812ff3ddab0f940cb SHA512 f211f2610137cd114621bd6c8418e52a64149af37c176a79f418892fadb6d5dba31ea4622a95c67e50b32a92fb1b1d5d7fb980502c5c9570dcc4c3258c6787e9 DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106 DIST microsoft.netcore.platforms.1.1.1.nupkg 31072 BLAKE2B 095f6e8b48a99353061a021ac9a07ec161e28602338d7fa3624891696e9b91642034f968d9e1b77c74ced46628cad45f47cc24189dc12479d1bee92c93eb4cec SHA512 9835090f578b5c8ce6527582cd69663506460e9fdc5464fc2b287331c24d9369e57dd1543a865a8bd89d4fcfc569c26bf0dbfcce102675fdfd1479b9a9652819 DIST microsoft.netcore.platforms.2.1.2.nupkg 31064 BLAKE2B 6b28f015a1c3c2dbad93fac315a896c4ad116befd618f28b89d451b92f2ab642e414bdd372f46858daa52e72978ad6e4862b6a431d121e331296b0f6a08a1c02 SHA512 ec9eef7881fb32eeb37389655a733b611813bfdf84c3e2569240e3d0aedc11ef30b8503a1d1b7a493b70bb1da0faa8e90d7798796b0ad14437b8881189360722 DIST microsoft.netcore.platforms.5.0.0.nupkg 39826 BLAKE2B a122f0d2afb77455c005740fe5096c055f72eb658b0d1f10e6a17f9d07c3bf91ad0010ff472ee1d05b84bfbb75c9de3c46d2a2d33fdcaa245d64d6c3a956f233 SHA512 8493fe11648c7ecc20b6530490d30fd63744961345c0501a7a10b11046661da09b783ddceb8b3208ae52a72a8a94cafdce8dc1bd6073c32081e30d0e7407f174 DIST microsoft.netcore.targets.1.1.0.nupkg 18162 BLAKE2B 419d19e0da934ab4b9db75dd66cc22b83a003f34e93cf7a92feccf4f32d3d695e18b826b1aba13073dd4ec53aa7905a67346921d1055516647ddcde0d79009f1 SHA512 1ef033a68688aab9997ec1c0378acb1638b4afb618e533fcaf749d93389737ba94f4a0a94481becdf701c7e988ae2fe390136a8eae225887ee60db45063490fe DIST microsoft.netcore.targets.1.1.3.nupkg 31152 BLAKE2B 80a656508fda7db32065d89f8eeb319db79869a00cb22d7a8c9c2204711f057f076e905050717302d4f900b8881c7d2a15bfc040fa285dca984c138cce311d3a SHA512 a71c2af20d8f61188417929756399914c353aac8361abd69baffe9475b2a01db802870066da0ae27afb2737a4026c782950503dbd4b651bae6ee7fd90fbf1d52 +DIST microsoft.netframework.referenceassemblies.1.0.3.nupkg 20961 BLAKE2B 8632244fc71708fbb2a56331c8642a12782baeebda676b1b8d3ada50788e0725a7572cf0ed1c296c4cad3fb8bdd669871c90f963b9c8da6eff796fd30ba768e2 SHA512 e3b8317b290696a380a32abdd9e75e71ddae68049769beb895024c34089f41262aeddf53e30984330b1293f013e34d854a83223ae1e2afe417186795da8dc148 +DIST microsoft.netframework.referenceassemblies.net462.1.0.3.nupkg 19902484 BLAKE2B f4380ca1d96ecfd7a05ba260d69d240bd656e07ed57f38f5c774246ee256ebff1a489a198afdc55a6359e54af8d3f211dfab4302a3d3a8c4800c0e191f4dae51 SHA512 1cc9f441098f61c26c56e29eb7d580f0841b070799bdced44bcf0ddfd8ad491a9c9ffd57393fca6a8d508a2ca4c54fafc7c93bff38a6d7571598ab6e9e3bb830 DIST microsoft.sourcelink.common.1.1.1.nupkg 271934 BLAKE2B 6678fa357eba30a58cd1b457bfe8423a2c0e1359c9088cab364707c0061a7e11035094a00a75528a290b1c9415062ce47a17600bd010f769b3d7e2501456e911 SHA512 bf2241eeeb82876f7612d525064aa90f9bb56610260d44a2fc5b75b63b45a652444c25451f7daacbe97cb2c5a6e72180805f894054f7176cc290d147a2753ef4 +DIST microsoft.sourcelink.common.8.0.0.nupkg 318281 BLAKE2B d53a9f305dd9ad5b6455d3d3146313e9344a9e4e59680644a239d06cfec03f8dbce6577f01113e0ff36fa3911ac6d6d31ee390e34ceb1a613c202950d79cc0ea SHA512 e1c18c1a5a3c83c1215aff7348d6ca4731161f59ef2aaf286910ba7ff3984ca131b04e2f6bd3ae765367039e7489d30eaa298b06616cf9e013d86f5aefb4023d DIST microsoft.sourcelink.github.1.1.1.nupkg 285433 BLAKE2B 986ee1aa2bd39c577c0ffc71e27d5ed5128dc5b2df9dcdc29f0b62cae31de120253cea0afeb583ab1a3fc5e5b50766a608f2f8ec749224436a031092fb14b553 SHA512 54c7ff8d0cafd654a115d5755710ec89534399a605949ffd43778290796022092679a43e1a129250ff9a03e61417c43dc2fc1362a9019dee88a7e048c1be953c +DIST microsoft.sourcelink.github.8.0.0.nupkg 330089 BLAKE2B 5c9683ce4b55e6fad9b335495c993dfa656747b15a049f8df9cc7839c91618a157aeea1d5e3f14cf6d4b20a06c91aa37172cca6d12102b060aaf147ced103fba SHA512 1a46485ed34d76994c0eb761600400519edcbff97181f1bff2a2666d432bd912527e82a267c8a9c13497417c6dc4c503fe63672eea20c21fdfa857716e26db9b DIST microsoft.testplatform.objectmodel.17.7.1.nupkg 1496394 BLAKE2B 2957d63fd29b5adc5753730bedc6531128a36f6738a8951cb7e328d9e2fd9a637dba20974fab33822723b510a6063b782cbea699308bce968caf172991b6cfde SHA512 6230d4db57b4b94e53dbece850ccd8e6d7b5d68a0fe06cf73dd16108f07e0b566ae721b4eeaaaa5b36415d9405bda14b922731d6d50638ea6a8c97a0322305e4 DIST microsoft.testplatform.objectmodel.17.7.2.nupkg 1494924 BLAKE2B ed237ca748d969242f48044bf33eacb8e03a8fcbc78cc36d45233e92b82d150425258c0805631d3d58ae0a1eb66f0dd678007470ec3ef49ab53431885b336a4f SHA512 821050a26c80e5328f6cc5f4b1720e43b293365a956a76f6d9555d047423d416ebde0bc7c62183ca4be4d17beb74c0ff39f37744019fa939b9f0b4b94341bbcb +DIST microsoft.testplatform.objectmodel.17.8.0.nupkg 1492114 BLAKE2B 32a3a7f4e4cb9af1d330fcb2588ee9602414760eb4f2bda49888372b3ed64e8c47347dbdeda11259134e37b717ad5c23b06ffeda9a1a1772e1afe299429e828d SHA512 17119c472fd87ff721677f92a801693eab53a1897582150c26a60429c99eb1764628e7ba895b40e3b10b9edc00f803b18316a6fdc906ffe54dbd2d04ac63db33 DIST microsoft.testplatform.testhost.17.7.2.nupkg 2808650 BLAKE2B 7f091133b02f319e1d8bee440cd7ce4ec4fc8382a81bc30c62d5c4769bdeb32534d776db64acd146defa34a1b4322fb04025604342795564546c7ed7ee48f317 SHA512 cf2885c5a91aedec09bcc4f15662096340d7b37351db368de98b0569b35e8238ce6dd86c60706fb021f37ecbc3e4b35b405e44b18b4e1adb8cf404076345c3f7 +DIST microsoft.testplatform.testhost.17.8.0.nupkg 2806274 BLAKE2B dff54d1c59a6873793bbe2d6fc9ed75c2d610a8dc41f4f9349228b690db3beb7845660c7d90a5d2588443c13aff4d97b6e0a1df58e88a398b3631a344609060c SHA512 39fb1549fd23fc2c7b4f5525043fc1152b8c62cc813a88c9701f33a666041c6690dadd455899d247fef5e6df372d17f081d6098839086007b2c10618e187ac7a DIST microsoft.win32.primitives.4.3.0.nupkg 63333 BLAKE2B 132ec29940d4b716110980c4f9a06ba15183d29de638379d09998124605165e51652b2727e3892b57dbc7cacfdc71f9e1b59c9dd5463a524657351f5385d896d SHA512 366f07a79d72f6d61c2b7c43eaa938dd68dfb6b83599d1f6e02089b136fa82bec74b6d54d6e03e08a3c612d51c5596e3535cbc2b29f39b97a827b3e7c79826f0 DIST microsoft.win32.registry.5.0.0.nupkg 354731 BLAKE2B 3e98fbda73990aa8d4a8fe584d317ae59804c3ac40fb42194e332826b5be57ab78e563111dd3278a8099b9cd890d4e37f1bb74e6ec4a443edf7c783ea0cceb0b SHA512 471e66567ce59cc86475aece7815d05261264ce114e0c1688ba2551dd51494901fa72dd7a8f74f8e8f0f3dba74af8595f177552f3c06abb4bfce76692197076e DIST mongodb.bson.signed.2.19.0.nupkg 831922 BLAKE2B a9e22e5e7dd6c7d3185b6e318650bdc27c9a480cc7c434209ec0f38a4a8201b348c7a0a887d421ec99d2166e3a28ed36887a9da0a6b4270d8eaad226bc2d4223 SHA512 9276b30ec8bf27be56794dd1ea1cfebc7c40781f6aee03eb56236cd4cbd45b5a8e4e4710c236371843bbf8a309c01eb1efbef9ece89869f30e614262b4e46fa9 DIST netstandard.library.1.6.1.nupkg 17360 BLAKE2B 02badd3473451f83997f0b66d05f1541c741e65b9127b8b27ab391260df7939f235eb6648b11c7c11cc5400489ddf1cd26820b7bdf6fd9f1d8f0dfdfeef96acc SHA512 0972dc2dbb4925e896f62bce2e59d4e48639320ee38ad3016dcd485fbd6936a0ed08073ad5eef2a612dff05dfc390f3930fff9e79d87a06070eeb8128277cbd0 DIST netstandard.library.2.0.0.nupkg 3143842 BLAKE2B 7e3fc865e7893fb531b21e2ca791b788af01481316e49a79c4676050c2b8ad413fd8a4ef9890557582ec8b9741c8aa01b080b8d2caa16e02bfff2a7b38777989 SHA512 e3d64072b9cd9f9e86209c06a22688ecda7070427c9a35327d2a9560824c0e1381ccf7bc1d21d2ef8b301761f4bfc7f38fba712df7188d2f4fe4f748aac4d0c7 DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601 +DIST newtonsoft.json.12.0.2.nupkg 2521025 BLAKE2B 2d6a40a97fedde8a83cef9d4ea9f5635efc83f4f7f6a8d38633e1d2011c9e9a1120979db181396c894f38c4fe0515b86781407fa607bd402dbad80f41d6cfd51 SHA512 9adc1e0573d6869d42310013b414fb65f319adb6414ca7e31b0cfa63be4dc068f1fc6ced0da5277f0f062bd299d93e1f0c8a8a2720e373d471970e7e1b615c54 DIST newtonsoft.json.13.0.1.nupkg 2065787 BLAKE2B 000c38ce26a2a00bb25a9c1d6fb069ada521ff089bb624a5c1255b25767c10616cc51821524e7bc3d8b45eb8f8ee54c97454db1db9ae5e5c78eb6300a99f979d SHA512 83731b662eaf05379a23f8446ef47bbc111349dd4358b7bd8b51383fe9cf637e2fe62f78cea52a0d7bdd582dc6fbbb5837d4a7b1d53dcf37a0ae7473e21ee7b1 DIST newtonsoft.json.13.0.3.nupkg 2441966 BLAKE2B 0c83cd81b9eb647fd9106c5b8b7af4ff6b35eae4fa24712f16cef1db070857b072b9e40a52ed006a82125c860dc48b89ac54224baa24bfdedfa573183e19d169 SHA512 99b252bc77d1c5f5f7b51fd4ea7d5653e9961d7b3061cf9207f8643a9c7cc9965eebc84d6467f2989bb4723b1a244915cc232a78f894e8b748ca882a7c89fb92 DIST nil.js.2.5.1665.nupkg 1338937 BLAKE2B 7dd38082e8b83620880a39efb6be28ecfac42f4e2f9e40d5cf3354a802a4dd5c9f190ef7ab30cde9be89cdaf9a23de38199e8f162066751b2d01f5d28bd11879 SHA512 0d938e4b7d701a2fcd560cd0b6e7584b1d90a1069185f5f8183b77877d983a6d0738e2380f9cbfc549eee1ea15c74147ed09db71cc34a6061deef0e1b04c7eb2 +DIST nil.js.2.5.1677.nupkg 1347465 BLAKE2B a3dfc5ac2341e579375b825efe2f76ef55b78dde10b08eedd4e8e0a3bb6df6baaed421f3acf659345df2f32474cfc2709d6b338f089131707f81ec84732d6c19 SHA512 d65f7eb1f70d1969da4f53cbb5326e7b9f1b0128ed60fc346f2a8aabc0f9afe5578f53c1193b5e0a244af2233f07a194d66317ccfde892b1a2c312472c91c78e DIST nodatime.3.1.9.nupkg 836198 BLAKE2B 95680514aa414cb7917bee62db8de458b8e78a8190fb57e31e9c088bcc493d42767598f5fa2159e06428931af328e374159f8c8d7bc71ff7c8965effbcb1e2de SHA512 6e40853153a9f43a31fce0532d012af326482d303edd1583a32f56c2ca6354abbcaef57c3c090ade7aa7fbba27ca76d5e5e76931616695a78a4c463b8cc888d4 DIST nuget.frameworks.6.5.0.nupkg 131644 BLAKE2B d8fbfaeb2ec4c269ecad319478b64da5ad9e44d9d82fab8b42400a15ea7d31627bcdb9f1af0f18b15dd8455ac4e92df1b25bc47808f465cd2e972ffa40333f1c SHA512 3f97626af018fa9b03f06751054be2c4e8dbd0d5329de21662b36f3336849838bf5af7d3721643faa6ea90935f836cf502661573953176cff33d4d829d953d56 DIST nullable.1.3.1.nupkg 174895 BLAKE2B e64bd184b940fed76c9cd7d149a9d8d1121dee993b0d27b74bbe39ac83133ef7c691bf7a48d15877b25ba25d268950d561063dbf1f87a01dafd31f768ebaadb8 SHA512 0e5b8353fbc83d130ff38959f85f73faa0778960e112d8e98aeb29a17120e58cfe2e2e770cb5e9bcedec61d01c3f145dbf42f0e061824b8caa610cdfa00b54eb DIST nunit.3.13.3.nupkg 1307336 BLAKE2B 45475c312fe17bdc60d5999f29a81f64fd19bb125bced63a73eee9bf4f158920adc4bd2d97164954af624c5bd480a99d2f3da56797127acecac1e6d753754b12 SHA512 09dfca502d636c3123adf93331732db354e9e280935d1bbd7923d710f5b29adf82d41efc763e2ce8781dde01d81bbb21af168d897d5820a53c15a0f9bcf11f20 +DIST nunit.4.0.1.nupkg 723573 BLAKE2B 56e92e384b92126fc1fd6889794ab0cc30707c1718c5bcd9fa62b14243a2014c3b6a628b29ea347e9fce906ff440d3b28ed857f58ba579d719e02d71075ea239 SHA512 674603ee7c4024dd83b8ba4a7180ab653404a9acaa691e58cfbf9ea58669950581d9cef51012f80d13dff43442bb648269fac0822c53400c02009fc17fcc1561 DIST nunit3testadapter.4.5.0.nupkg 504560 BLAKE2B 8fb18358909ef9b5828b2b6c2a5bb1c234b2041cef7d57f22319a287bb187621c6e8e40e33b7e1e23f17b9e5ff01a2cc41f932d54e7affc935edf275f0d397d6 SHA512 be32fd672c3ab18bc948f7a6d9c41f79bdabc1fd8d2b6ad9106c14499b35a613ebf05a720959aae4507c2cc10adab45e79f48aa731c6506c716d300193d69154 DIST perfolizer.0.2.1.nupkg 51987 BLAKE2B 2e01e7673ae420136e6194d89c406fca31af85b7f90b460a53ebbe0fef82c38ba3be3821d9e1a7b9b2bf5d117bb9f2f4f91767796bffb51ac14e5cb9f472d873 SHA512 9db50cdcf13a85737c275a0aa3dc4a98b97e7d23e7aca1c9b27df28e454b0d4587315bd62f7181dc03e0257a83d79c7af2e90733eafda70afe5a956c92c20a9a DIST polysharp.1.13.2.nupkg 73874 BLAKE2B 7ef9479a0d689d2c1d7c84a7afadce32eff5ac88faa89b83d9721df550f7013923c7fa04e010196107af7b05c60bef23254c56da549f758a6699e41f2c3347d2 SHA512 530f122877d122db505da399b7ff6550a595835d08ce49c71995fcf4ae2e0e6836e73264d950e423c7c7b13151005c83841288998525374ca5b732afd8196d58 +DIST polysharp.1.14.1.nupkg 77244 BLAKE2B 463ab5f1a4849b7cac8935211d3ebe0443492a227c33e5a799aa630925676dc64752a5d748402042f953c749786d997c6238f60a1f2a3538b6b68db9c9481775 SHA512 10e80f0e498d6697c70e8e34ee5b1ea13b76518457cee204acfe4c8c0f5b6c971a544ca66f323cc8136576d337daececcc981da5b2647cee44b6bc8c3fe65a30 DIST runtime.any.system.collections.4.3.0.nupkg 107990 BLAKE2B 802e2ae919a4834150d825ac086d8f47e2185e31b60b45f3dbe5f63b1d714953d9faaa7d8fe4cc25a1ea8495c4f8fd925bb198eea0b67e594a8558238b18196c SHA512 9f8833176c139b71a58694ae401c5aec209a63227be07c7ab559bef772082bd1f6cc38ba2949cb1c8e5c5514ad9f4ff51859838dc2f28191f8bb7ae611a50239 DIST runtime.any.system.diagnostics.tools.4.3.0.nupkg 43707 BLAKE2B 33d1c57eb4e50c06488da02ab2bb1b8dba9948026053e662986af05b74045c014e76815edbb588f10d6a904de22e4c50177f31f3fac36d159b9af361a4cb2b62 SHA512 bd257401e179d4b836a4a2f7236a0e303ae997d2453c946bf272036620a0b14e85e5f42c229332930a954655ab4cae359d191a3e3d9746df09535a651367764c DIST runtime.any.system.diagnostics.tracing.4.3.0.nupkg 49844 BLAKE2B e35998e1369bacc9fa90f74825e021c62b9c671ac9b7cfad4e9b455656bd40e968f348ba8943ed670c74c22bddb1c94ccf5058885233607e3c73a5c7d2a56688 SHA512 0b480d21e23c38965222be7fa1e1a0c7e444cebdf400d1db8d3ac609f893b82d78c5d8b271da61808b7b179dd6466a0090bd807fc2d35020f93a00f0213bb436 @@ -99,13 +121,16 @@ DIST runtime.unix.system.net.sockets.4.3.0.nupkg 105673 BLAKE2B 06119cfdac3ce590 DIST runtime.unix.system.private.uri.4.3.0.nupkg 75969 BLAKE2B 82611545be3eba44ccfbef1f104e9b5afade845fd3b30c6cb40171368330f9d4bb2ad8752e415aa3b1678ec140c40f8e72cd4cc3731f42ca64016c1a1dce70cf SHA512 203ebe272791d79ab0c40afe9d0543852ee91b9fb4ae5bc15524d97728bc8bc9d7e0cbcf65d1fab8cfb0aa7a4ae37e7938933eef127aa5ea46f60e57b6ad2d91 DIST runtime.unix.system.runtime.extensions.4.3.0.nupkg 54075 BLAKE2B f81d86cc15c63aa0b4a3d03546a07649587af7a0285af0de4123734e719fc023fa4227b7abb18307d4fc060e2952c157ec72b3bb85d49ab8508d8167b1aeedd7 SHA512 54b81784c08e934389c59e6e155af6b1855e4bbc41678b01a702c94e6daba87c6ddfd16fe9e2cb61f3097bfa4950dbc37781454d027ce5ba6c50a393cc91b888 DIST sharpziplib.1.4.0.nupkg 726743 BLAKE2B fe43fa0039f474d60804dce1af24e9100fd9b0256c15fa51e5c4e04cb2601100fb2dce2aee9080e4bd63907718bea601d2a81acdaa67d91092110ec555722341 SHA512 799a95729a1e177f2274d8356f5ab75f6a848bdfdb9a5cc3eec31779d86984c1af6d20759902fc745ed3c83e3c702a18e93f08be19409fc35da54da4d4477db4 +DIST sharpziplib.1.4.2.nupkg 741182 BLAKE2B 3d22a281cf9afed622be8a4134f0ce143df11a94c6950bd14d35cf5a39700c4a1bb706c718561b06f8698ae804254bb1d38552a5f1bcce316d85a9394ee359f3 SHA512 4e080196e9b20427d1b5abe23943d647c365611247cf571d3cf2575808be7294b9957050aed57fa34326ef8965bbb314e03944693216502d0eb990253dfc94f4 DIST system.appcontext.4.3.0.nupkg 147030 BLAKE2B fafd6d050e77a265cf41c6d00a3ab3d8db47f2258e10a6cb556031ab183a01a508a986bb495b68c5e8610c05b92b2f3c7b0718f68f508111fd262291684f84c3 SHA512 0d6ea63006304708feae2cc0590d2cdd99327b682210822bb2803ac842fdf4d8d57170d7947c006eec4b5687c942768478a7ec109745472f3946d230732483e8 DIST system.buffers.4.3.0.nupkg 35171 BLAKE2B 3b274a048ce14845ca957019b3670db00338972f6e11279e47f59ca6b4326aaecab1d11317694ed98e8a27f3de7ef6f90de94d4711ab224f805388d468728392 SHA512 3dcbf66f6edf7e9bb4f698cddcf81b9d059811d84e05c7ac618b2640efed642f089b0ef84c927c5f58feffe43bb96a6bcf4fec422529b82998b18d70e4648cbe DIST system.buffers.4.5.1.nupkg 93737 BLAKE2B e846885f9ace79f30bf7698a96ff3277a45fc2988a48cddba1862e23650ce55b06dcc6c1bcc29e08cf5380c9700dfcc15964f7263aeb11c737306d27963b34da SHA512 80da6158e55b9bcf7e0b5e6379b9cf45a632914f037b53c5bf5609576e3cd7821f7861956b73d74470d2d0c2e56dd235a5ef4ca6ffe7e192b820dc2d023aaff2 DIST system.codedom.5.0.0.nupkg 281008 BLAKE2B ba44d0ee1856cde7487caef684e007ba48be61d4e061b0d3e1a524127823bce1e54e3d4a539f66964edbc93efdf9f5be8a46cbff7ee0868dc64333a2aa72e248 SHA512 150a20dd314a4cf96ac538a48e67b529a8453d17164646bcce9dc04a46d923e12eebea9583746ad66d0f400705118383992ac9cf7ba31563b886180913527438 DIST system.collections.4.3.0.nupkg 810001 BLAKE2B 0079d5834bb3857c002cc686313646895b47be1079e10cf365ce9e67c05f14c2e70e782b122b07a7cd9d5090b57334d0cb2336503cf5059cdbafeb3ef3cc8220 SHA512 ca7b952d30da1487ca4e43aa522817b5ee26e7e10537062810112fc67a7512766c39d402f394bb0426d1108bbcf9bbb64e9ce1f5af736ef215a51a35e55f051b DIST system.collections.concurrent.4.3.0.nupkg 502676 BLAKE2B 0d98ffad345254596133bad8a487bb91bd235f2a757573c3ab7999184fac6685b4ec33316bee9b4a4e588ba96aa745a681077cb2e2d2b0a7f5cc113aa75efc2c SHA512 35c1aa3e636216fe5dc2ebeb504293e69ad6355d26e22453af060af94d8279faa93bdcfe127aecb0b316c7e7d9185bcac72e994984efdb7f2d8515f1f55cf682 +DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09bb65aec905d8a7b56318fc1f6e4ba723fc5ef393340fe3e29cb8f5d3e788d31b61a80661367371af90065432a63b3a954c39b68b8ecf16 SHA512 4f95c64257078443bbe50c77f061825033dd9389ffef2ad1993832e32733cc957c6a53c76b13d4e794c10b6505ae4438d9bbb7e2c64f7cad1d53e9d665438424 DIST system.collections.immutable.5.0.0.nupkg 623075 BLAKE2B 14724fcb8654455184f8f16f8ac56b7b3c995e632af36e91f307331620b4e9f515a13bc4625d898fbb4b57ff9f017b43cb91ab40b0cebcd7d5eefe32979afa4a SHA512 726f8db7d179714cf0efeb0fc02fcebe7b4755762902e391e77cf78671dd5d5f364c7cf4ce3545b51cc7f37327d12d1500ba19f4b934f0e8bb69a6a347c0bbfd +DIST system.configuration.configurationmanager.4.4.0.nupkg 341985 BLAKE2B 94c73192226761051208f23f1d40c7a3afdc97026e565c7ef0889883196667c3337fffb8a41367d806eeb368c59ead06460447a0982f8b1a36a366a360554e1a SHA512 44b601dd83a6773f5d137ccc841146bf7185ef8ba91a31f49c5d06f6514544b34bb0210c2298ae42c306bf6a84d2a769d4976179534ef11211a5429da2488afa DIST system.console.4.3.0.nupkg 102397 BLAKE2B c21bc97bbcda781257473768239f775a16fcc399e933df35a5f5c00f75c5088462ea01ecec2d711a803581d5499c8cb15518e790d6c9e74b15a36c3a1f237d19 SHA512 a08a684a583c9b3278ce32be1007dae495f9d87254666392f794ef1203079f333cd7d388c28944ffa36fb49f0c8bb21f42c70f6e1d7c1c03920df6d0d1130c82 DIST system.diagnostics.debug.4.3.0.nupkg 149774 BLAKE2B bdb6d5ee3b8ca4f28b241b098281b7d2957d0996f9345aa086a54b1a981822962e5cc319687849ee52445db47b439b6cd4e99a4c71595f6227f78160aa31724b SHA512 6c58fe1e3618e7f87684c1cea7efc7d3b19bd7df8d2535f9e27b62c52f441f11b67b21225d6bcd62f409e02c2a16231c4db19be33b8fab5b9b0a5c8660ddab24 DIST system.diagnostics.diagnosticsource.4.3.0.nupkg 120125 BLAKE2B 33f203d8ffc39e0c38599eee625053beae160a0aebe6fbfaaafdc85b570c7b82e3aae281092014e90d10fad7083f37afbb546ad5a0c74a94843ae9b1e9fe85f1 SHA512 8f54df5ff382b6650e2e10d1043863a24bf49ff0714e779e837cd7073e46fb2635bcfcdcf99d7c4a9d95f35ebffd86ab0ca068305f4b245072e08303b917b34d @@ -125,6 +150,7 @@ DIST system.management.5.0.0.nupkg 265788 BLAKE2B 9080ac288d0b9591b0799f54b56bec DIST system.memory.4.5.1.nupkg 195808 BLAKE2B 15be57951bb2031a33315090878122d12add7d3eaabf2f3e7965dbd9d859df6030e36b87f70f1c7435e6404a908039c26d3baead8e4dfb064f5ac023c141f5dd SHA512 a289e72d03d90060f6d6ab4d306e04b5599b60e2279368d5eccfa0d74f01e8e1ce6faed939a5a703f2bc3f9a10eae2bdc312b30758845d20a140e8b6b1c28ea8 DIST system.memory.4.5.3.nupkg 154054 BLAKE2B 0f75d5365d96b42949e53ae9498affce97ba074d6f404d30bec043e5def8cc39af05ccedffc7e9b13af4200336a9737cf44c85aa2d58069a64b1dc80537a6eac SHA512 70fce15a52cc76aacbae05c8e89e2e398d1d32903f63f640a7dd4a3e5747f2c7a887d4bfd22f2a2e40274906cf91648dfd169734fb7c74eb9b4f72614084e1db DIST system.memory.4.5.4.nupkg 205467 BLAKE2B c5b66e68917fc14d5b94aef9aef53087756c59473a2580448f20233e559b3ac9d691b2c063d129083593a1b610252acb01016ef078ed21b390615bf5a6e04dc0 SHA512 8ece5491eb0fe332bc190f40cf76b3beee0c5f996325034861be221fdb0ff02fd59e4f7020b3c4a1f29a457f76ff76c4c95d46d38555e4f48c7a3bf172d87966 +DIST system.memory.4.5.5.nupkg 208978 BLAKE2B 487049b1ffd622868d4aa84cc14f13127641c56937826c11d83851b7032ea248ccf8555f48aca93acc4891ac99ce2178ede50bf13ccbd70ba6004226fb583275 SHA512 e8c8e536c97b94ac3443c940b30dad43cf6e97dc7a8c3d989371048fe74e168606384f5e0143bdc0d86f7783bf9fdee8417964cb3a8a5d752713e90b125172dc DIST system.net.http.4.3.0.nupkg 1371903 BLAKE2B c0b56398662d8f149eba439ce16ec254bd5a64cee0faf251af07d89ec130953d8865d537b52b432ee19df9ed7405318119d301743bf84f98179c1cd7e6615731 SHA512 e8105ce8151aee95852fb29423f73cc1bd7c2286d36474ed7102a4b31248e45f434434a176d3af0442738398c96c5753965ee0444fb9c97525abbd9c88b13e41 DIST system.net.nameresolution.4.3.0.nupkg 177639 BLAKE2B c3d666f33577682ba43292ccca908cbd81971ab53eaeb904438a378997903e80d5d3789b3c76db6c50f0411fb17b227db973bc09eadfc0f98ebed88ac0209057 SHA512 40d39e131fe7a392e58e9f58b516b5db88383de91c05b771f5e509acf46cc874271e90623d327ab039003ab8f2714144694390261278de324e1aee228a828ab4 DIST system.net.primitives.4.3.0.nupkg 769347 BLAKE2B 070d9aaecf9c4ec485850954c425d6d6af23fdb8a50fe40c305657654fcaf58d366f29f62bca6ae32c8604dfd7f5217f822ebe03c68446d4fbc4ee7e44b07852 SHA512 9f7fdece330a81f3312ea7c804927852413bee2c929f3066b736993803df47cc0692fbca236c222bf19dc8f59b42f54f2a4c00da9a4d624e458da5874d127ce6 @@ -165,6 +191,7 @@ DIST system.security.cryptography.csp.4.3.0.nupkg 117553 BLAKE2B 93f32c719f999c5 DIST system.security.cryptography.encoding.4.3.0.nupkg 144382 BLAKE2B 9f8e6a4ce5fe2a4de2be0c827e914a02a257011b508e97e289b9de4657b598fdbba4e64dcf23a29af6e4910af41e62f3b3f0d6a2156ab691e2e00ad76c6499ef SHA512 5c26add23e63542f37506f5fa1f72e8980f03743d529cd8e583d1054b8d8a579fb773fa035a00d9073db84db6be4f47cac340d1ebc6d23dd761dbdbd600075e0 DIST system.security.cryptography.openssl.4.3.0.nupkg 71949 BLAKE2B ec1654bbd09e1244d260d1ddbefcbdeed207816a2719f3bb0f055a7a140d466f186667b1f202e0d1a3eda97f247d2c1776ad6f38f50de58960da5f0dfd2a2d08 SHA512 64530a19489730f873f8c68e6b245135ea260c02d68591880261768358d0145795132ba5ee877741822ff05dcd0c61edca27696ef99e8f9302a21cadf3b1329f DIST system.security.cryptography.primitives.4.3.0.nupkg 81382 BLAKE2B 55bcbe3143e85d24f47c72ec5e1f0ad38a1f931932b3a8a03dc00028668fc085d070dfcded55654e09328a745b208b9f15928aaff1087d8906bad41d7cfb23e0 SHA512 5ad8273f998ebb9cca2f7bd03143d3f6d57b5d560657b26d6f4e78d038010fb30c379a23a27c08730f15c9b66f4ba565a06984ec246dfc79acf1a741b0dd4347 +DIST system.security.cryptography.protecteddata.4.4.0.nupkg 185701 BLAKE2B 8133633dc020cba0b552b7e1e498cda3b4f8578132e83a9fe38bb6f79a5b5ceaa76089440de2f6c7a948e160e9aebed1fca467cd02a9ca09b5e5cdcbf5c8f1c7 SHA512 5b011ec6f05dfb5ef27d8edf712f9f04697e1c00c47c226e29e0c9a814fb0fa8fabcac18bdf2f21aeab6cbf326aca3910ba99b630b61ee48e29ced663e14cbde DIST system.security.cryptography.x509certificates.4.3.0.nupkg 706727 BLAKE2B 67c777394c982267c08dba232dd75aba6e924784d14388f7f8e347293c8f3a67ef9490a078b3f56f649a1ab352a4c924630f384850e3d5f1510dceae45fd0af1 SHA512 318d86ab5528e2b444ec3e4b9824c1be82bb93db513eab34b238e486f886c4d74310ed82c2110401fe5cd790e4d97f4a023a0b2d5c2e29952d3fd02e42734d00 DIST system.security.principal.4.3.0.nupkg 94590 BLAKE2B c6fc5d6944a44b3ab125af5d59493aada6e8c73857311b8118adf197b9db3bf77fc8de9f320dcc0d55c6e529106b36307e14baab75766296bf804289de800a26 SHA512 db8a1ed0d189637d9ef83147550ce5da890cf6ec189a7d006ba9de86ab55679e7f025e18bdaed2dc137ddf82a7e6a0131fb4d54d4264831862b1d7c5ee62837e DIST system.security.principal.windows.4.3.0.nupkg 220931 BLAKE2B dcf84627ab57c5e72e0f1828b48c6e9bfa2ea2ead7b9c02bff03b9819f4057cb9d4a8821cfd0a98a381f2d7a2471df04041567de970f9d60557923e6e09317aa SHA512 66c1d5a9d649b964e1653fa2cd41d8f80515b7cd727fcd7f0890552070da1099ecd1032560f259a108e0d1d6a6da23fa07bc5c922f426a91f33b667f7c004019 @@ -173,7 +200,9 @@ DIST system.text.encoding.4.3.0.nupkg 327281 BLAKE2B e153609b257919932499a013337 DIST system.text.encoding.codepages.4.5.1.nupkg 4234891 BLAKE2B d06be022d76a5793999248baa82db37adc262da2e74531d75f5f5e1a6c29b0ca702694b19c3254ab2e955f5b70959ff22f35d43593a2072af6ba5b7952155dc2 SHA512 12edddc9452a0c592eb24aeb2b9e152d60b8d44540349368e6fce3a239c6029847f8557adcd260df3b39c744ef45a6034d9db2fbce9e20e2b8dc78363578b0ef DIST system.text.encoding.extensions.4.3.0.nupkg 244195 BLAKE2B 9dc2fbf672e07c5302bbb8435e8c09bc91febb96f22b85b57b09b2046fca224c786f8710b634559de2722f3dbece7b30e6a3c6a78e98e77f955d550e440beb60 SHA512 e648c5dc781e35cf00c5cc8e7e42e815b963cf8fb788e8a817f9b53e318b2b42e2f7a556e9c3c64bf2f6a2fd4615f26ab4f0d4eb713a0151e71e0af3fe9c3eed DIST system.text.encodings.web.6.0.0.nupkg 235525 BLAKE2B 1a9c6233292c8d9186c92fea63b918a3a97ec23588f06a3170d0f085359acf77eea7b10867ee81602837818f25968f7cd91e193f83a081fbe6ae4467ec92d32f SHA512 0f26afeeaa709ea1f05ef87058408dd9df640c869d7398b2c9c270268ddf21a9208cd7d2bfa1f7fbd8a5ceab735dd22d470a3689627c9c4fadc0ea5fe76237fa +DIST system.text.encodings.web.8.0.0.nupkg 374440 BLAKE2B 97211e710df3dcd17932f168e254806d7c8692ac01d667a2e89a5ddc956b24fba8467fbc2d451057757b5c502442d2c91bcaf0f867da7e95456b2aa18136b354 SHA512 ba0822c38c3b658aba9495642d269e882b827e3be4ad2dc1426d8a97d3cbc5a2277c5f80847d0cb9381078af01523328c4992caa058146d5d8ee6b8a08609c32 DIST system.text.json.6.0.5.nupkg 1267769 BLAKE2B 21b51f64953a1788610460a2d367b22e23e6be5a6644deab0e3b7b1643b6fe766de87b03d94a17eee6d63821f6f6039ef09a57c7533f8369be3ab539082ecda0 SHA512 365a854b3a6187af14888fca10573f84c73c9066fec84a25cae233949dcf51ada2efe716ea3d315f8f7cb438ff153ae03ef8ee69e8f24ec3f50971133014e3c0 +DIST system.text.json.8.0.3.nupkg 1980649 BLAKE2B 33ae24de89869995df21d89f156222d55cf7b369644d54dddbb62bca75674c6ace6dd1af97e7e39722d9c1e4c2800bd71a91f14b42c6b64a300a260ce2e2ec1f SHA512 b5f39d6e82b35046ea48fae5db39695e3bf65a7ad02bf68bfe44487a8f69b6400d1862cbe48a1967ec83601a85f1aff1e6d1f2f65cbabf9139f24fcbd8e0a0a8 DIST system.text.regularexpressions.4.3.0.nupkg 530523 BLAKE2B fc77aa0a92658cfac1b3fc00b87fabbec1be5c79776b0b2680775615b273a5a49ff8d5000f97415b85fc0283ff95569ba9a5a72917828455646053033088b49b SHA512 80353c148df30d9a2c03ee10a624d91b64d7ccc3218cb966344cfa70657f0b59c867fed2ab94057f64ab281ad9318353f25c23375c00e1376b6589ae0a70aad3 DIST system.threading.4.3.0.nupkg 708088 BLAKE2B 004d01762fad35a4607522d974a0cdc3d0049c82fe704f2f86fb98ee81059ebb56d13c290fcd273d1067a1a7c7f17bf3259d4d7e802c1d09a95e3c5fa29ef3f3 SHA512 97a2751bdce69faaf9c54f834a9fd5c60c7a786faa52f420769828dbc9b5804c1f3721ba1ea945ea1d844835d909810f9e782c9a44d0faaecccb230c4cd95a88 DIST system.threading.tasks.4.3.0.nupkg 840017 BLAKE2B 1cf4a8cc833da0a38304757db3808df5c217518c817d5807bf6f35393725a31223129fd1c4c964a36a60c65b686d24fc25d1777fa12ee622bddbb0f7c1772bec SHA512 7d488ff82cb20a3b3cef6380f2dae5ea9f7baa66bf75ad711aade1e3301b25993ccf2694e33c847ea5b9bdb90ff34c46fcd8a6ba7d6f95605ba0c124ed7c5d13 @@ -184,16 +213,29 @@ DIST system.threading.timer.4.3.0.nupkg 77054 BLAKE2B be1665b86776f2f7e780de889e DIST system.xml.readerwriter.4.3.0.nupkg 1388897 BLAKE2B ae51b8fe4492dec1e4e3584d05b0f477fd4e75e79dddb46d8077ae5311245d6fc6213d0655025f25db56f1370cb0e88bd60a83dc937bb53db1db0262390281f2 SHA512 991101497fbd39e43fc306ca280a465318868afa8db1f34bb87c266fe61f0c81a0ec34a797b236ee823bd60d1149b7592def96fe044abb511858efffe890c2e6 DIST system.xml.xdocument.4.3.0.nupkg 591350 BLAKE2B 86f910cef36c056f4a9ea9dc26eea6e01070467d27ac80fb8a0af5e1a572ad5d2169e4f1297cd362fddc9e0309458dbd413fca85ef8e56f97781c218e594604a SHA512 c2d9236a696daf23a29b530b9aa510fb813041685a1bb9a95845a51e61d870a0615e988b150f5be0d0896ef94b123e97f96c8a43ee815cf5b9897593986b1113 DIST test262harness.0.0.22.nupkg 43594 BLAKE2B f658cb27db0c2cd7ebd92bb97a1712f5aeae2df2d79c221f2529a0f4a31d4540043496bbc837d5ce0ae58ab3f48239cb2452920c1765acff3c35af1eb3933c37 SHA512 cab584d04e3a18ad5d4475ddd492cda5c230f2f9c5a5f64884bbb11a3dbf6d0e0116f5d1a4cf0f63f32b3eea36a7a89cb01bb171eeacd88b845c7335b69cd87d +DIST test262harness.1.0.0.nupkg 66453 BLAKE2B 4370a447bc63dba86b4bf7c79f20b37884032b0d1d452f3828527476a9e5990aa92bfd5975d33863e4cbf8650c1a936464dfb5dbd27d16cacf9664258f4b1fee SHA512 7ede1beceabf2783bf4ac98175db244fa51fbb05f32ae216b2b14bfeb688f1653610d083ea235774eb7d184b6a774b3dfabfffd9d76d2b890c8bef31a46dd9c7 DIST xunit.2.5.0.nupkg 29632 BLAKE2B 4b7c3fbde40ae346aeed839a398fe58954dfd026d6542933736445a21ddd741af9d6024fe92f799a6e9718dbdc983f1ea470d3888913916150bcfc6a19ee4c51 SHA512 84cd3219a8898930efc7f9d776047d395fc025061ecc9b72717eb1a08c142e507dd64c754e50452f364e578444b2a0a8c5cf3a6c45a7fd58a4a5abd29f29ff07 +DIST xunit.2.7.0.nupkg 29108 BLAKE2B 4948774bc4767c0460377401663c04315f7c21b1f0fa4f8ea6868ed9df9c9f8c5e9dcb696c9bbe9041d45365ef6bc68a879345cfc20de7f061c0bb35c7ef287a SHA512 d8132256336293124cd4e716c98efdad23b1ba1f52468cb2c6708d800cb558998ad347c051d1a6ecdfd66d8e1fb72c61580384ba3e493b93b1f57f5fde9de13f DIST xunit.abstractions.2.0.3.nupkg 75155 BLAKE2B 8cfecf557dbe20e0e14b1d8b413acd7516b6538cb543a12708910311fa76b7dcd9d060c7be70a05b0af5ef3b8bd5f819104025afe9796e240c28fcae1c7460c1 SHA512 3ca26b8b97f4a8440f16f818e82651f571bc2513a5592742fd960b9240d0b880fef84827fb25a307e61fe7b019f14e864653fbcf7dee0d0e3faf90593deaf624 +DIST xunit.analyzers.1.11.0.nupkg 839348 BLAKE2B 487c4abd885047221899ff03046cd71810fce46b7d1a2189d2aeebb7ca246fb662ad41defed87b9e1a9d546dd5c3ebba697213f4dce61e09a6c69d8470b5bde0 SHA512 74472b0b1ac0ed34d25325e4fe64a7d0c313f779274a47e1f41f748aeb4215eb8de39f2c4bbbced99e3759d46fe4549b16b303575d6a8a7740859376e9610a50 DIST xunit.analyzers.1.2.0.nupkg 153837 BLAKE2B 0d1013d81f721b59b7ffc42962d2383f35118ecd150021acbc5a8dd417f1ebf96c68f1746287339f138f8b1583e307b88aa74ec3a9c3dc3b59f09cf16029c3e7 SHA512 c2490d8478e801b89ad1767ce5ca8f12c00a99148859dec325ac03824dd1898667f5d436bd43cea94756e3ced01c6bda7c6b840473f35f07ad1d1035caaeb84b DIST xunit.assert.2.5.0.nupkg 109990 BLAKE2B a883c328bbd537d8c15dcc8f4b486317d82e3a9c0db02e9cdb70b6de47c49962a413ecd2d5d76f8921f48ce3243c3da7496d1fde197f370a20a134e4a05bc3ed SHA512 e4445d673fadf1dbbf6a168c5e7f62591b310df21859d8d85185f3e91cbe08f48b16454a448c72c10224685f58cba8a5d66a07a1d05f97116ff04db363336e40 +DIST xunit.assert.2.7.0.nupkg 227952 BLAKE2B f9334377dbaa9ea191b04345db0ca00609200de52a8bc811c28965305f805ddce0d170830712062b723f748999fbc17fde51290f141da4a5112dee0ef23d1383 SHA512 2dc24034aceccb62efc5f5771784295c24c613334ab749f1e451bd306d00e2e29422d019a89cb0e4557feaf6584d14a1ac2e918ffc316cb9a75bbed6a3daea06 DIST xunit.core.2.5.0.nupkg 31557 BLAKE2B 2f819b3e956115273eaad6ad1d0b103baf847253451b8230e5ba71f992fc79fffaa6ff78dff3cc341fb93735ecc006874914435dac3a43175a73d508e85e3e73 SHA512 fad634e80cfafd7067512e048905c955063cc8e5f9ba7c618ead0c5bc922fc32c601fdb5a584ec20ab8d2187b5b3dc6c328ef163f146d9b5cacce81c3145de93 +DIST xunit.core.2.7.0.nupkg 31001 BLAKE2B 0ae2525bd874f32bc19c701e79c490b67821d3d380ac3eb5c03eb3086cf83a83e037eeb3a723433dc06728cafe3e1130557ee3fa2926b53b98e0335565194429 SHA512 50f66f392c3be25f798806ff698a3b9a1f2b1640b3884a0c3fa39ddf31aa9a5949ba1585416af9c8a718b852c9b3bd9282419bf213701dd235c261f494de0335 DIST xunit.extensibility.core.2.5.0.nupkg 283074 BLAKE2B 6274c1f3e18cc092cbb7fb1d687748dd7efdf128d005e5342a0dbb7223a3d90e2bd04b1c2fcb9d36777e76d6decf3ea877ef5cd88b7cbc7a2ce40b4e7c8ef9bd SHA512 8d14f28a2fe8520d073bbed4384e494aa2a1833c77e1baf75715ac1b2e82cd736b66fb6f4572858fcacbe3c7cb2e773843e9957331f20d86a3f05d1ead357500 +DIST xunit.extensibility.core.2.7.0.nupkg 285689 BLAKE2B c4c46b0d0084109ad120577466b776357a22e01859eae45b71576e0169bb3da5c629c73fb8e11efd64fe1f9b9bc4e7746f6d346e594645e850b2813ea11928b3 SHA512 c6ab3a396e950d86e2c649e3d9e0feaf80533a346674bcc6961676ca599801de0ab2f79ac510706bc6a6cf16c744ac0ec52c9c08cf2b8cc95f8c12833bf85d72 DIST xunit.extensibility.execution.2.5.0.nupkg 360329 BLAKE2B 9338daedc7936ee441402a3c01e4f6dd7903074a560a0d91498d7be831a4f578386bfaab8dbe18616897f52e0114d90db732c8f2997242c7fecaa87aca35ea8f SHA512 54cb5d69a2d0a0952c89613720ccc0bffdc7163834a0f46d7fa574a5f2cbb4774e44eb7dce4c2c6f659470bee48a8a679746b38e983f14cabcd229a7ec8a31e0 +DIST xunit.extensibility.execution.2.7.0.nupkg 365887 BLAKE2B b7d517bddf45fda83067f6c4c274730e83d9ead7ff4a082370abf44f2e46ad4b23941a1f892f03a2222bb9780e7d63609326bb533603db16b34399c9f17c3c64 SHA512 d30afc1769a126cfeea130790406906173a36ddcafadf9e473e6388dd760b321f22ddd311251fb332a63ff31897f319a6519da9bd1bf7016939a3b2fe5912e4f DIST xunit.runner.visualstudio.2.5.0.nupkg 570004 BLAKE2B 6da331945900877f1bf0d622d0da3a399c4fbf3c000b3231da76d002279f18f1f3b470b3182e9ab4da73c64b658a990d6ea7e5ec3d267856cf5f4ce7af37e523 SHA512 f7d40d5eed1adc68f8514fd975467b1a1dbe7744f9bc0b0d65cfa17451283c229215c7d8975cc809cdd94ffbf2b9ed9d6d713defc5e7cfd3667a1f2470d3fa9c +DIST xunit.runner.visualstudio.2.5.7.nupkg 578349 BLAKE2B 741a8d4cdb121ab95c8dbd6e55c21cf66d2946085c9bce5cdfd8782c8dbe8c6eedeefd6fa75c30762a1d4a4764ef84527bd74e103cb1792b1c0c0d912473514e SHA512 a95f2024cec05039702f85d830046a15f74ac0da52ee9150e2c207d4207847ebe8e3dec0e1a3d1e6ad0355b3e7013cfb04bea13fa165cfb4baf28c9265937fa7 DIST yamldotnet.12.0.1.nupkg 730415 BLAKE2B aacb8b75b5d9bac3e83de1ace0ece4639b19d68a5e6a885a144bec9e5f39668de1506e2037e05818cf70f9fbbfa9d3e770af95f8d22cb88440f93bbb1350fe83 SHA512 faa1d304c743631dbdec325535ddd74ba1159b9c6eccf98fcdd6b1113085b9b77ba73ac6eaa82d46caf9512c869bdb3e2788dff4615776d9e5169618d3dbcdfb +DIST yamldotnet.15.1.1.nupkg 863188 BLAKE2B f5c0b7269fdbb58d3494cbfe328766ad01476e096f5a867d560a9952bc54c2cd615f00c50565fe3282bd5cfc2a04299c485068510f18e5b26ca0f40587067b7b SHA512 d47bb98b3dd556a656f5d9ff349e16a16431bf87ab54ab6b9098acf012fac003a2431544cedb2e158b5b250c1c2204e11929515ffc1b8d41860aec1ba0ea2caa DIST yantrajs.core.1.2.179.nupkg 1636982 BLAKE2B 225f3796212e13c33c64e1d5dfd3b5fb203d9f1fc3135daac09dc36b91182788397b66d1073a9e19f55316e83e02d7a440db7c34e0cd178c882829aa04029df5 SHA512 9eeab63180bd4dad7f0e15db6b63889cbc52a6f24d1ef83e882fce4319a323cea4b8f7e71bcf2d6a65cc7a5074676ce0942e91c48903c741e0f9e7d76f455e81 +DIST yantrajs.core.1.2.206.nupkg 1664658 BLAKE2B 4528181725eabc4b07a5b5d44169080c85b73ac8db8c26bbb3f93f8406b8c32bcc343d4524e5711503b82163f1613486358c5785fa5f4c62cb13d907cd44f85f SHA512 0c0027b9b27fef0dd9c8056f3d0d0d4abbd3e6f4359b29272ed5374a7b59d0a238302b93932771cf0259c192ee529d6057aa123e569643eeff9926cce37cee98 DIST yantrajs.expressioncompiler.1.2.179.nupkg 208237 BLAKE2B 87eae924d2c671c1f194b6057536d4fd6fa247c8e9cfc9d70c4cb2ed8b252f472998e0396a913648c41a5a48ac860c9071036149cbb8158988f35f66bc034bf6 SHA512 c32aad55ee58b253db2e0e845d3cdb3765349e5fa9da55e82d2e86489ccf0bcaf92b5271c42a003c52bec8abf15cd35466ea5254198b51ade7a7dedfbe4e3661 +DIST yantrajs.expressioncompiler.1.2.206.nupkg 208208 BLAKE2B 22e2d341994f10c0c6f042c1b77c0b9cf25cfc0c556b946809ecc11fdc4f8814e01328c18b83cc14b740ab5ae5a3ba2bae0ae2d95875f10b707bc3a6685cd4ea SHA512 d97d00000084f0cf2f95927ce1d47711a37fb316e06e32d12d4a93cbd7edbe19a49816e00f0ba63a607d1fef7571873cccef049eb468ec2ce57ec50dd6cf37e9 DIST zio.0.15.0.nupkg 402398 BLAKE2B 80f4fdf6a96a526f32f967b8505c62840819177f16ee0aa51e8a05c74f36f630b59c1ca9b4a8b1a5b3075a3d1393928bf1ebe4f74901586d237928b64373d96b SHA512 6c5badfdb48510667bb4eeb53fb5e17afc19946f80de1ceb30bf65abc0e11b7682ae39e69e65a9d3e235a3e2420814169bc4f4767cfee3c57b4859ee1ec78502 +DIST zio.0.17.0.nupkg 335432 BLAKE2B 286e7a38be2ca5803db0af388eb445ed2ab54d4c4f37cce7caac26e7b3b09cad61148b0ab5efa512209892e402ae32f126094769e92ee7ed97838400826aa0b6 SHA512 00affccbc9039255bb5af795019d25d0c0a18145ffae486d52f517006613f377887ddffe98735baf7734ce4197a2256a6571f8c26a2ee43d780402983ed30b8e DIST zstring.2.4.4.nupkg 136907 BLAKE2B 651ce26395f16eaeff89faa54156e19dc6110821f1e303b8850e8c66fd7b1cd88843959f82f4a12c3b50a39f2b8b6aa264dc5036c74f82f8411a02ed5cca603c SHA512 6ce8bcdab38bc33aee80f3924fc8b34e83f761b835802d9aeb53ddf23f6299115c9f8c7e28212e40b16439bbb975485c97f84005f44708f00b55a3e0afe83418 +DIST zstring.2.5.1.nupkg 308844 BLAKE2B 9f7c504edffcd29cbe8b0e9146d2f63d6c1974a96de7fe4b929011bde99b1d02cb97c4c55a9a84fe7c560146994b792eb3eed5883cb046928522c1cc05664707 SHA512 3e2a6a5ef52291936053ee5ecb4ed009ce6783b44f2ee0eb5ba13a15d404c112658576242a77503f58ae95b95903fa5e396731f3c1463163fe446889376538c8 diff --git a/dev-lang/jint/jint-3.0.0_beta2051.ebuild b/dev-lang/jint/jint-3.0.0_beta2051.ebuild index 1fabcbaa39f5..d33b73141326 100644 --- a/dev-lang/jint/jint-3.0.0_beta2051.ebuild +++ b/dev-lang/jint/jint-3.0.0_beta2051.ebuild @@ -228,7 +228,6 @@ SRC_URI+=" ${NUGET_URIS} " LICENSE="BSD-2" SLOT="0" -RESTRICT="test" # Tests fail. CHECKREQS_DISK_BUILD="2G" DOTNET_PKG_RESTORE_EXTRA_ARGS=( @@ -238,6 +237,11 @@ DOTNET_PKG_RESTORE_EXTRA_ARGS=( DOTNET_PKG_BUILD_EXTRA_ARGS=( "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}" ) DOTNET_PKG_TEST_EXTRA_ARGS=( "${DOTNET_PKG_RESTORE_EXTRA_ARGS[@]}" ) DOTNET_PKG_PROJECTS=( Jint.Repl/Jint.Repl.csproj ) +DOTNET_PKG_BAD_PROJECTS=( + Jint.Benchmark/Jint.Benchmark.csproj + Jint.Tests.Test262/Jint.Tests.Test262.csproj + Jint.Tests/Jint.Tests.csproj +) pkg_setup() { check-reqs_pkg_setup diff --git a/dev-lang/jint/jint-3.1.2.ebuild b/dev-lang/jint/jint-3.1.2.ebuild new file mode 100644 index 000000000000..50ce529b01fc --- /dev/null +++ b/dev-lang/jint/jint-3.1.2.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOTNET_PKG_COMPAT=8.0 +NUGETS=" +benchmarkdotnet.annotations@0.13.12 +benchmarkdotnet@0.13.12 +commandlineparser@2.9.1 +esprima@3.0.5 +fluentassertions@6.12.0 +flurl.http.signed@3.2.4 +flurl.signed@3.0.6 +gee.external.capstone@2.3.0 +githubactionstestlogger@2.3.3 +iced@1.17.0 +jurassic@3.2.7 +meziantou.analyzer@2.0.141 +microsoft.bcl.asyncinterfaces@1.1.0 +microsoft.bcl.timeprovider@8.0.0 +microsoft.build.tasks.git@8.0.0 +microsoft.codeanalysis.analyzers@3.3.3 +microsoft.codeanalysis.common@4.1.0 +microsoft.codeanalysis.csharp@4.1.0 +microsoft.codecoverage@17.8.0 +microsoft.diagnostics.netcore.client@0.2.251802 +microsoft.diagnostics.runtime@2.2.332302 +microsoft.diagnostics.tracing.traceevent@3.0.2 +microsoft.dotnet.platformabstractions@3.1.6 +microsoft.extensions.configuration.abstractions@2.1.1 +microsoft.extensions.configuration.binder@2.1.1 +microsoft.extensions.configuration@2.1.1 +microsoft.extensions.dependencyinjection.abstractions@2.1.1 +microsoft.extensions.dependencyinjection.abstractions@7.0.0 +microsoft.extensions.dependencyinjection@7.0.0 +microsoft.extensions.logging.abstractions@2.1.1 +microsoft.extensions.logging@2.1.1 +microsoft.extensions.options@2.1.1 +microsoft.extensions.primitives@2.1.1 +microsoft.extensions.timeprovider.testing@8.0.0 +microsoft.net.test.sdk@17.8.0 +microsoft.netcore.platforms@1.1.0 +microsoft.netcore.platforms@1.1.1 +microsoft.netcore.platforms@2.1.2 +microsoft.netcore.platforms@5.0.0 +microsoft.netcore.targets@1.1.0 +microsoft.netcore.targets@1.1.3 +microsoft.netframework.referenceassemblies.net462@1.0.3 +microsoft.netframework.referenceassemblies@1.0.3 +microsoft.sourcelink.common@8.0.0 +microsoft.sourcelink.github@8.0.0 +microsoft.testplatform.objectmodel@17.7.1 +microsoft.testplatform.objectmodel@17.8.0 +microsoft.testplatform.testhost@17.8.0 +microsoft.win32.registry@5.0.0 +mongodb.bson.signed@2.19.0 +netstandard.library@2.0.3 +newtonsoft.json@12.0.2 +newtonsoft.json@13.0.1 +nil.js@2.5.1677 +nodatime@3.1.9 +nuget.frameworks@6.5.0 +nunit3testadapter@4.5.0 +nunit@4.0.1 +perfolizer@0.2.1 +polysharp@1.14.1 +runtime.any.system.io@4.3.0 +runtime.any.system.reflection.primitives@4.3.0 +runtime.any.system.reflection@4.3.0 +runtime.any.system.runtime@4.3.0 +runtime.any.system.text.encoding@4.3.0 +runtime.any.system.threading.tasks@4.3.0 +runtime.native.system@4.3.0 +runtime.unix.system.private.uri@4.3.0 +sharpziplib@1.4.2 +system.buffers@4.5.1 +system.codedom@5.0.0 +system.collections.immutable@1.5.0 +system.collections.immutable@5.0.0 +system.configuration.configurationmanager@4.4.0 +system.io@4.3.0 +system.management@5.0.0 +system.memory@4.5.1 +system.memory@4.5.3 +system.memory@4.5.4 +system.memory@4.5.5 +system.numerics.vectors@4.4.0 +system.numerics.vectors@4.5.0 +system.private.uri@4.3.0 +system.reflection.emit.ilgeneration@4.3.0 +system.reflection.emit.lightweight@4.3.0 +system.reflection.emit.lightweight@4.7.0 +system.reflection.emit@4.7.0 +system.reflection.metadata@1.6.0 +system.reflection.metadata@5.0.0 +system.reflection.primitives@4.3.0 +system.reflection@4.3.0 +system.runtime.compilerservices.unsafe@4.5.2 +system.runtime.compilerservices.unsafe@4.5.3 +system.runtime.compilerservices.unsafe@4.7.1 +system.runtime.compilerservices.unsafe@5.0.0 +system.runtime.compilerservices.unsafe@6.0.0 +system.runtime@4.3.0 +system.runtime@4.3.1 +system.security.accesscontrol@5.0.0 +system.security.cryptography.protecteddata@4.4.0 +system.security.principal.windows@5.0.0 +system.text.encoding.codepages@4.5.1 +system.text.encoding@4.3.0 +system.text.encodings.web@6.0.0 +system.text.encodings.web@8.0.0 +system.text.json@6.0.5 +system.text.json@8.0.3 +system.threading.tasks.extensions@4.5.4 +system.threading.tasks@4.3.0 +test262harness@1.0.0 +xunit.abstractions@2.0.3 +xunit.analyzers@1.11.0 +xunit.assert@2.7.0 +xunit.core@2.7.0 +xunit.extensibility.core@2.7.0 +xunit.extensibility.execution@2.7.0 +xunit.runner.visualstudio@2.5.7 +xunit@2.7.0 +yamldotnet@15.1.1 +yantrajs.core@1.2.206 +yantrajs.expressioncompiler@1.2.206 +zio@0.17.0 +zstring@2.5.1 +" + +inherit check-reqs dotnet-pkg + +DESCRIPTION="Javascript Interpreter for .NET" +HOMEPAGE="https://github.com/sebastienros/jint/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/sebastienros/${PN}.git" +else + SRC_URI="https://github.com/sebastienros/${PN}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + + KEYWORDS="~amd64" +fi + +SRC_URI+=" ${NUGET_URIS} " + +LICENSE="Apache-2.0 BSD-2 BSD MIT" +SLOT="0" + +CHECKREQS_DISK_BUILD="2G" +DOTNET_PKG_PROJECTS=( Jint.Repl/Jint.Repl.csproj ) +DOTNET_PKG_BAD_PROJECTS=( + Jint.Benchmark/Jint.Benchmark.csproj + Jint.Tests.Test262/Jint.Tests.Test262.csproj + Jint.Tests/Jint.Tests.csproj +) + +pkg_setup() { + check-reqs_pkg_setup + dotnet-pkg_pkg_setup +} + +src_install() { + dotnet-pkg-base_install + dotnet-pkg-base_dolauncher "/usr/share/${P}/Jint.Repl" "${PN}" + + einstalldocs +} diff --git a/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild b/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild index cc1f61faa103..d3e555a11be7 100644 --- a/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild +++ b/dev-lang/jsonnet/jsonnet-0.20.0-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/google/jsonnet/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" IUSE="custom-optimization doc examples python test" RDEPEND=" diff --git a/dev-lang/jwasm/files/makefile-dep-fix.patch b/dev-lang/jwasm/files/makefile-dep-fix.patch new file mode 100644 index 000000000000..1b97a7c5aca4 --- /dev/null +++ b/dev-lang/jwasm/files/makefile-dep-fix.patch @@ -0,0 +1,22 @@ +Bug: https://bugs.gentoo.org/881519 + +diff --git a/GccUnix.mak b/GccUnix.mak +index 3f53d5b..8eb434e 100644 +--- a/GccUnix.mak ++++ b/GccUnix.mak +@@ -31,13 +31,13 @@ include gccmod.inc + + #.c.o: + # $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $< +-$(OUTD)/%.o: %.c ++$(OUTD)/%.o: %.c | $(OUTD) + $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $< + + all: $(OUTD) $(OUTD)/$(TARGET1) + + $(OUTD): +- mkdir $(OUTD) ++ mkdir -p $(OUTD) + + $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj) + ifeq ($(DEBUG),0) diff --git a/dev-lang/jwasm/jwasm-2.13.ebuild b/dev-lang/jwasm/jwasm-2.13.ebuild index ecb666549892..0242aa2b604c 100644 --- a/dev-lang/jwasm/jwasm-2.13.ebuild +++ b/dev-lang/jwasm/jwasm-2.13.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -19,7 +19,10 @@ BDEPEND="" S="${WORKDIR}/JWasm-${PV}" -PATCHES=("${FILESDIR}"/${PN}-2.11-types-test.patch) +PATCHES=( + "${FILESDIR}"/${PN}-2.11-types-test.patch + "${FILESDIR}/makefile-dep-fix.patch" +) src_prepare() { default diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest index 4997e85259f7..20a2ca137866 100644 --- a/dev-lang/kotlin-bin/Manifest +++ b/dev-lang/kotlin-bin/Manifest @@ -1,2 +1,2 @@ -DIST kotlin-compiler-1.9.23.zip 91045770 BLAKE2B f15bf111b0de8527312ae3ffced8fd80812a8ea949f4157d21085966ec7f9c19facf116cc70915d41aca2fb4b3c3d1d9d3cebe23c5312728f295204528c82f2d SHA512 6baea5f968b8cd21a89fd80302a26761b775d2631d5a434775eecf1c4bbc1e07b657f389da4c4d2cd10e3687908e0417d12b94ed822b029a7126ae1988dba445 DIST kotlin-compiler-1.9.24.zip 91056044 BLAKE2B b872635e83b334cf4b8ee6f2aad5f4d1cf44594848c02a027fd3f7adcffb6d05232e66658ed8e6e234c2ea0996728338f6fdd46628ccfeddeeb5f3b330307340 SHA512 cc6f3cd141faed849f0c8b11b4473f30211d242001292eecc1a0927151034afd892840289457cef6fc8a201dacf157fdb5782cf0a96d27bfa2b3693fac118a84 +DIST kotlin-compiler-2.0.0.zip 83767523 BLAKE2B 4627ec2ccf0751baee141a980f14bace98a96b4f826b72f001dc2e27afe1fa60b3967e533e775f7dd81a5e682670cd38c02378884a2d543caca050aee519e765 SHA512 ca723146188a60a995089d4b06bb23c83bfb2dbaabbbad632921601babbccddf4e3f0519692018480b7a0a7a1d0ce3002dcb6f4a445dc2dfa2a2b8f4e39364c7 diff --git a/dev-lang/kotlin-bin/kotlin-bin-1.9.23.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.0.0.ebuild index 7e3629cfadfc..7e3629cfadfc 100644 --- a/dev-lang/kotlin-bin/kotlin-bin-1.9.23.ebuild +++ b/dev-lang/kotlin-bin/kotlin-bin-2.0.0.ebuild diff --git a/dev-lang/lazarus/Manifest b/dev-lang/lazarus/Manifest index 6814ab378a15..ff5cf5671243 100644 --- a/dev-lang/lazarus/Manifest +++ b/dev-lang/lazarus/Manifest @@ -2,3 +2,6 @@ DIST lazarus-2.0.12.tar.gz 69560778 BLAKE2B ff6c9414483b0d50dbbb30c8fbf626c81d9c DIST lazarus-2.2.0-0.tar.gz 76777421 BLAKE2B 29a7ed3285e3fbb6f72fe932d72d71edfd6903a8a5eb24f9534a12a4d1ccf5e40c61ce3cc1cbd8eef6dd7700f6e29fb640e35510b23a1ca1b02f7df0a4a738cc SHA512 4ebd8b4b7c6dfea491a30b1253e604646109d208c237e59be2fd9f6be3fb1e29443dd4e482076d77100678d0e4085b998398fca0532aa6122b59db7157af0ce4 DIST lazarus-2.2.4-0.tar.gz 77272959 BLAKE2B 2d7b2872a7399eb1a3a7d9fb20fed209900603ae433db75ac2c4244edf5e5981314ed3d8e39143ff30764e7ccbf1286edace9c38505df1cd28b44250bdd07224 SHA512 1a2fbc8451f1954df1d0071c586662ebc3cd0e9a7db5d910e0af86a3095252a5796d4c7abcf3861ad723af26974ac416c5bf919cd77ad5f406295ad7cdf47eb1 DIST lazarus-2.2.4-makefile.patch.bz2 3650 BLAKE2B 4a86e0dee7759183e3311cfa9f250995dbf2bb39d1de4c0fbc0191767b5f16029285ab92c76466d261708a88ed600929e777798560161e9942a64e44f956ff89 SHA512 560ffd3d43b75a804dfdb756323cecc7f2039215ab176ca0149cfee11dfe31d7943ad4aa212e9194c2bd2acbd0835e635501ef157888daf3715be7f760b3d51b +DIST lazarus-3.0-0.tar.gz 87513233 BLAKE2B 26e8492194541453230832591445b97827e65b61531078cb4bd1c9f549bcd0aa531fef036f701de885e96f9e56476b0dd1c9465e2388ea43080ba418acbd097e SHA512 85cb3548fab017f2fd97f5fb141d59a0d0ec1412a161f98fea726ad5d6ed32ee2eb6ef6573e058d4df7dfcc067256e842acf994b73c9a50ebfb064657db33881 +DIST lazarus-3.0-makefile.patch.xz 3968 BLAKE2B f61d535cab6b1b04be5805fe2a321bd644b3f47092d9d76ca624e33fbfce6bd89dba7bf00adebbbe5635b898567a8b62bfd0e44142f1dc3d8640b5276014888a SHA512 c91bee56a41f31ff8b5cfb4a7149cf0856e8c7b47fe502ba9828854ba4589ab19ddfecba182e5fc89cf8b7d71bda01d67a534ecab3f09437a0d7064c2b0f1fe8 +DIST lazarus-3.4-0.tar.gz 87535234 BLAKE2B f7da0b4edacf1e93b53bcdc4093e8c6ef3487985a5054db4368a56237ac8e39dbb088dea5e0146923554cf498ef969f86f6480235cc725f7c8d0f4e3fc9345de SHA512 ab4096345d72028e89da4a284479bbe5d4ed89a6bd0463f62b7d04a23c0491dc3f7934c75b4a4a916f81db8c0b252bf382e5ab41a16ef42efc1c08efcce68aef diff --git a/dev-lang/lazarus/lazarus-3.0-r2.ebuild b/dev-lang/lazarus/lazarus-3.0-r2.ebuild new file mode 100644 index 000000000000..464571a70783 --- /dev/null +++ b/dev-lang/lazarus/lazarus-3.0-r2.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +# See https://wiki.freepascal.org/Lazarus_3.0_fixes_branch for notes and +# changes in FPCVER. It *does* change between minor versions of lazarus. +FPCVER="3.2.2" + +DESCRIPTION="feature rich visual programming environment emulating Delphi" +HOMEPAGE="https://www.lazarus-ide.org/" +SRC_URI="https://downloads.sourceforge.net/lazarus/${P}-0.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0-makefile.patch.xz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2 LGPL-2.1-with-linking-exception" +SLOT="0/3.0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND. +KEYWORDS="~amd64 ~x86" +IUSE="+gui gtk2 gtk qt5 qt6 extras" +REQUIRED_USE="gui? ( ^^ ( gtk2 gtk qt5 qt6 ) ) extras? ( gui )" + +# Pascal ignores CFLAGS and does its own stripping. Nothing else can be done about it. +QA_FLAGS_IGNORED=" +/usr/share/lazarus/startlazarus \ +/usr/share/lazarus/lazarus \ +/usr/share/lazarus/tools/lazres \ +/usr/share/lazarus/tools/lrstolfm \ +/usr/share/lazarus/tools/updatepofiles \ +/usr/share/lazarus/tools/svn2revisioninc \ +/usr/share/lazarus/lazbuild \ +/usr/share/lazarus/components/chmhelp/lhelp/lhelp" + +QA_PRESTRIPPED=${QA_FLAGS_IGNORED} + +DEPEND=" + >=dev-lang/fpc-${FPCVER}[source] + >=sys-devel/binutils-2.19.1-r1:= + gui? ( + gtk2? ( x11-libs/gtk+:2 ) + gtk? ( x11-libs/gtk+:3 ) + qt5? ( dev-libs/libqt5pas:0/3.0 ) + qt6? ( dev-libs/libqt6pas:0/3.0 ) + ) +" +BDEPEND="net-misc/rsync" +RDEPEND="${DEPEND}" + +RESTRICT="strip" #269221 + +PATCHES=( + "${WORKDIR}"/${PN}-3.0-makefile.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() { + # bug #732758 + if ( use gui ) ; then + if ( use gtk2 ) ; then + export LCL_PLATFORM=gtk2 + elif ( use gtk ) ; then + export LCL_PLATFORM=gtk3 + elif ( use qt5 ) ; then + export LCL_PLATFORM=qt5 + else + export LCL_PLATFORM=qt6 + fi + else + export LCL_PLATFORM=nogui + fi + if ( use gui ) ; then + emake all $(usex extras "bigide lhelp" "") -j1 || die "make failed!" + else + emake lazbuild -j1 || die "make failed!" + fi +} + +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!" + + if ( use gui ) ; then + dosym ../share/lazarus/startlazarus /usr/bin/startlazarus + dosym ../share/lazarus/startlazarus /usr/bin/lazarus + fi + dosym ../share/lazarus/lazbuild /usr/bin/lazbuild + use extras && dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp + dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png + + use gui && make_desktop_entry startlazarus "Lazarus IDE" "lazarus" +} diff --git a/dev-lang/lazarus/lazarus-3.4-r1.ebuild b/dev-lang/lazarus/lazarus-3.4-r1.ebuild new file mode 100644 index 000000000000..8e8dc7986393 --- /dev/null +++ b/dev-lang/lazarus/lazarus-3.4-r1.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop + +# See https://wiki.freepascal.org/Lazarus_3.0_fixes_branch for notes and +# changes in FPCVER. It *does* change between minor versions of lazarus. +FPCVER="3.2.2" + +DESCRIPTION="feature rich visual programming environment emulating Delphi" +HOMEPAGE="https://www.lazarus-ide.org/" +SRC_URI="https://downloads.sourceforge.net/lazarus/${P}-0.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0-makefile.patch.xz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-2 LGPL-2.1-with-linking-exception" +SLOT="0/3.0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND. +KEYWORDS="~amd64 ~x86" +IUSE="+gui gtk2 gtk qt5 qt6 extras" +# TODO: Drop REQUIRED_USE per QA policy for USE=gui +REQUIRED_USE="gui? ( ^^ ( gtk2 gtk qt5 qt6 ) ) extras? ( gui )" + +# Pascal ignores CFLAGS and does its own stripping. Nothing else can be done about it. +QA_FLAGS_IGNORED=" + usr/share/lazarus/startlazarus + usr/share/lazarus/lazarus + usr/share/lazarus/tools/lazres + usr/share/lazarus/tools/lrstolfm + usr/share/lazarus/tools/updatepofiles + usr/share/lazarus/tools/svn2revisioninc + usr/share/lazarus/lazbuild + usr/share/lazarus/components/chmhelp/lhelp/lhelp +" +QA_PRESTRIPPED="${QA_FLAGS_IGNORED}" + +DEPEND=" + >=dev-lang/fpc-${FPCVER}[source] + >=sys-devel/binutils-2.19.1-r1:= + gui? ( + gtk2? ( x11-libs/gtk+:2 ) + gtk? ( x11-libs/gtk+:3 ) + qt5? ( dev-libs/libqt5pas:0/3.0 ) + qt6? ( dev-libs/libqt6pas:0/3.0 ) + ) +" +BDEPEND="net-misc/rsync" +RDEPEND="${DEPEND}" + +RESTRICT="strip" #269221 + +PATCHES=( + "${WORKDIR}"/${PN}-3.0-makefile.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() { + # bug #732758 + if use gui ; then + if use gtk2 ; then + export LCL_PLATFORM=gtk2 + elif use gtk ; then + export LCL_PLATFORM=gtk3 + elif use qt5 ; then + export LCL_PLATFORM=qt5 + else + export LCL_PLATFORM=qt6 + fi + else + export LCL_PLATFORM=nogui + fi + + if use gui ; then + emake -j1 all $(usev extras "bigide lhelp") + else + emake -j1 lazbuild + fi +} + +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!" + + if ( use gui ) ; then + dosym ../share/lazarus/startlazarus /usr/bin/startlazarus + dosym ../share/lazarus/startlazarus /usr/bin/lazarus + fi + dosym ../share/lazarus/lazbuild /usr/bin/lazbuild + use extras && dosym ../share/lazarus/components/chmhelp/lhelp/lhelp /usr/bin/lhelp + dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png + + use gui && make_desktop_entry startlazarus "Lazarus IDE" "lazarus" +} diff --git a/dev-lang/logtalk/Manifest b/dev-lang/logtalk/Manifest index ef03f23e10e3..8b5074252e36 100644 --- a/dev-lang/logtalk/Manifest +++ b/dev-lang/logtalk/Manifest @@ -1,2 +1 @@ -DIST logtalk-3.36.0.tar.bz2 18373894 BLAKE2B 3f4917dea47b32760edfde0538a260e5405b566520c514ec137766d17ad532f1d3e3a7a6d05b4b643b21933073951ed41bf92161ae49545eb458619444b10210 SHA512 0e93f091cb24aed3b08db05df29484e708e14cf58a673a42df70c899f3bafae30896be118d89dfdf3f3cb7d4ba520a815e46d563dd7418f80912b7067ed7da8e DIST logtalk-3.47.0.tar.bz2 26219166 BLAKE2B 9492d27ac041562c57ab1f5f111e0f7ad062268e20d8128284d8d5085ec1c3dc63db6efa0f3a4dac34f83f206c3a4b9827d5245191227000ae56cd306da3b699 SHA512 cf07c1dec80131e477cfc9f2bf31bae573cc01222f3fba70452663dbddbddaee68b25da2e4c0abec18e1bda46059c23fca2c012cb59bbdcb4298a8c89e2d93d4 diff --git a/dev-lang/logtalk/files/logtalk-3.36.0-portage.patch b/dev-lang/logtalk/files/logtalk-3.36.0-portage.patch deleted file mode 100644 index 8e08a9f2ff7b..000000000000 --- a/dev-lang/logtalk/files/logtalk-3.36.0-portage.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- logtalk-3.36.0.orig/scripts/logtalk_user_setup.sh 2018-06-26 15:11:02.000000000 +0200 -+++ logtalk-3.36.0/scripts/logtalk_user_setup.sh 2018-07-22 14:05:50.343406307 +0200 -@@ -131,16 +131,6 @@ - rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/lgt2* - rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/logtalk.dtd - rm -f "$LOGTALKUSER"/tools/lgtdoc/xml/logtalk.xsd --ln -sf "$LOGTALKHOME"/ACKNOWLEDGMENTS.md "$LOGTALKUSER"/ACKNOWLEDGMENTS.md --ln -sf "$LOGTALKHOME"/BIBLIOGRAPHY.bib "$LOGTALKUSER"/BIBLIOGRAPHY.bib --ln -sf "$LOGTALKHOME"/CONTRIBUTING.md "$LOGTALKUSER"/CONTRIBUTING.md --ln -sf "$LOGTALKHOME"/CUSTOMIZE.md "$LOGTALKUSER"/CUSTOMIZE.md --ln -sf "$LOGTALKHOME"/INSTALL.md "$LOGTALKUSER"/INSTALL.md --ln -sf "$LOGTALKHOME"/LICENSE.txt "$LOGTALKUSER"/LICENSE.txt --ln -sf "$LOGTALKHOME"/QUICK_START.md "$LOGTALKUSER"/QUICK_START.md --ln -sf "$LOGTALKHOME"/README.md "$LOGTALKUSER"/README.md --ln -sf "$LOGTALKHOME"/RELEASE_NOTES.md "$LOGTALKUSER"/RELEASE_NOTES.md --ln -sf "$LOGTALKHOME"/UPGRADING.md "$LOGTALKUSER"/UPGRADING.md - ln -sf "$LOGTALKHOME"/adapters "$LOGTALKUSER"/adapters - ln -sf "$LOGTALKHOME"/coding "$LOGTALKUSER"/coding - ln -sf "$LOGTALKHOME"/integration "$LOGTALKUSER"/integration diff --git a/dev-lang/logtalk/logtalk-3.36.0.ebuild b/dev-lang/logtalk/logtalk-3.36.0.ebuild deleted file mode 100644 index 51b8770f7e81..000000000000 --- a/dev-lang/logtalk/logtalk-3.36.0.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit xdg-utils - -DESCRIPTION="Open source object-oriented logic programming language" -HOMEPAGE="https://logtalk.org" -SRC_URI="https://logtalk.org/files/${P}.tar.bz2" -LICENSE="Apache-2.0" - -SLOT="0" -KEYWORDS="amd64 ppc x86" -IUSE="fop xslt" - -DEPEND="" -RDEPEND="${DEPEND} - xslt? ( dev-libs/libxslt ) - fop? ( dev-java/fop )" - -PATCHES=( - "${FILESDIR}"/${P}-portage.patch -) - -src_install() { - # Look at scripts/install.sh for upstream installation process. - # Install logtalk base - mv scripts/logtalk_user_setup.sh integration/ - mkdir -p "${ED}/usr/share/${P}" || die - cp -r adapters coding contributions core docs examples integration \ - library manuals paths scratch tests tools VERSION.txt \ - loader-sample.lgt settings-sample.lgt tester-sample.lgt \ - tests-sample.lgt \ - "${ED}/usr/share/${P}" \ - || die "Failed to install files" - - # Install mime file, the database will be updated later - insinto /usr/share/mime/packages - doins scripts/freedesktop/logtalk.xml - - # Install documentation - dodoc ACKNOWLEDGMENTS.md BIBLIOGRAPHY.bib CONTRIBUTING.md \ - CUSTOMIZE.md INSTALL.md LICENSE.txt QUICK_START.md \ - README.md RELEASE_NOTES.md UPGRADING.md VERSION.txt - - rm -f man/man1/logtalk_backend_select.1 - rm -f man/man1/logtalk_version_select.1 - doman man/man1/*.1 - - # Integration symlinks - dosym ../share/${P}/integration/logtalk_user_setup.sh \ - /usr/bin/logtalk_user_setup - dosym ../share/${P}/integration/bplgt.sh \ - /usr/bin/bplgt - dosym ../share/${P}/integration/cxlgt.sh \ - /usr/bin/cxlgt - dosym ../share/${P}/integration/eclipselgt.sh \ - /usr/bin/eclipselgt - dosym ../share/${P}/integration/gplgt.sh \ - /usr/bin/gplgt - dosym ../share/${P}/integration/jiplgt.sh \ - /usr/bin/jiplgt - dosym ../share/${P}/integration/lplgt.sh \ - /usr/bin/lplgt - dosym ../share/${P}/integration/qplgt.sh \ - /usr/bin/qplgt - dosym ../share/${P}/integration/quintuslgt.sh \ - /usr/bin/quintuslgt - dosym ../share/${P}/integration/sicstuslgt.sh \ - /usr/bin/sicstuslgt - dosym ../share/${P}/integration/swilgt.sh \ - /usr/bin/swilgt - dosym ../share/${P}/integration/xsblgt.sh \ - /usr/bin/xsblgt - dosym ../share/${P}/integration/xsbmtlgt.sh \ - /usr/bin/xsbmtlgt - dosym ../share/${P}/integration/yaplgt.sh \ - /usr/bin/yaplgt - - dosym ../share/${P}/tools/lgtdoc/xml/lgt2xml.sh \ - /usr/bin/lgt2xml - use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2html.sh \ - /usr/bin/lgt2html - use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2txt.sh \ - /usr/bin/lgt2txt - use xslt && dosym ../share/${P}/tools/lgtdoc/xml/lgt2md.sh \ - /usr/bin/lgt2md - use fop && dosym ../share/${P}/tools/lgtdoc/xml/lgt2pdf.sh \ - /usr/bin/lgt2pdf - - # Install environment files - echo "LOGTALKHOME=/usr/share/${P}" > 99logtalk - doenvd 99logtalk -} - -pkg_postinst() { - xdg_mimeinfo_database_update - xdg_desktop_database_update - - ewarn "The following integration scripts are installed" - ewarn "for running logtalk with selected Prolog compilers:" - ewarn "B-Prolog: /usr/bin/bplgt" - ewarn "CxProlog: /usr/bin/cxlgt" - ewarn "ECLiPSe: /usr/bin/eclipselgt" - ewarn "GNU Prolog: /usr/bin/gplgt" - ewarn "JIProlog: /usr/bin/jiplgt" - ewarn "Lean Prolog: /usr/bin/lplgt" - ewarn "Qu-Prolog: /usr/bin/qplgt" - ewarn "Quintus Prolog: /usr/bin/quintuslgt" - ewarn "SICStus Prolog: /usr/bin/sicstuslgt" - ewarn "SWI Prolog: /usr/bin/swilgt" - ewarn "XSB: /usr/bin/xsblgt" - ewarn "XSB MT: /usr/bin/xsbmtlgt" - ewarn "YAP: /usr/bin/yaplgt" - ewarn "" - - ewarn "The environment has been set up to make the above" - ewarn "integration scripts find files automatically for logtalk." - ewarn "Please run 'etc-update && source /etc/profile' to update" - ewarn "the environment now, otherwise it will be updated at next" - ewarn "login." -} - -pkg_postrm() { - xdg_mimeinfo_database_update - xdg_desktop_database_update -} diff --git a/dev-lang/logtalk/logtalk-3.47.0-r1.ebuild b/dev-lang/logtalk/logtalk-3.47.0-r1.ebuild index e65ccc6e0960..9c0ae1682824 100644 --- a/dev-lang/logtalk/logtalk-3.47.0-r1.ebuild +++ b/dev-lang/logtalk/logtalk-3.47.0-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://logtalk.org/files/${P}.tar.bz2" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" +KEYWORDS="amd64 ppc x86" IUSE="fop xslt" RDEPEND=" diff --git a/dev-lang/lua/metadata.xml b/dev-lang/lua/metadata.xml index 9237282a3ce5..29700972f00e 100644 --- a/dev-lang/lua/metadata.xml +++ b/dev-lang/lua/metadata.xml @@ -2,10 +2,6 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>williamh@gentoo.org</email> - <name>William Hubbs</name> - </maintainer> - <maintainer type="person"> <email>robbat2@gentoo.org</email> <name>Robin H. Johnson</name> </maintainer> diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest index 9b0d30a48afc..c8ba66d29edc 100644 --- a/dev-lang/luajit/Manifest +++ b/dev-lang/luajit/Manifest @@ -1,2 +1,3 @@ DIST luajit-2.1.0_beta3_p20220127.tar.gz 1072282 BLAKE2B e1d4834683b9ec16f0567f5de486262d84af145e3e27724d343c130288e90abff089fd5c7ff1275f9dde3cb5ae4f818f710020bd708c599972a14f1671381c2a SHA512 4c6ae7173bb91dc2d4d425da4afdab2520078e15ae4471c0cb99a255dd7544d6900b333efbbfc8f26ffbc4fcd8f1d2daf65671c59b5cafd6b0d53cb07b49d4ff DIST luajit-2.1.0_beta3_p20220613.tar.gz 1074088 BLAKE2B dbcfd4efcffb9b659a85af753017da5ca9b95e89a03dfe4e594513f2ad09b08e19a862527d41bd5adf8473afd022a471176ff5412975af47bdd785b9b9cfd43b SHA512 e4fc6ebde9cd9efc5e9936416526a0f581186bf0661eca60a50bcf5048312e02f66dc905308d63abda03380c33aa2e64ceddd87527d59a4488ae7f4aeaf36dfe +DIST luajit-2.1.1716656478.tar.gz 1081717 BLAKE2B 42807910aa81e705ff39c382e98e479d46d31453fd6fc1857220c7d4cb66d0801e2ffd813ea3c55ab2bcde8e64275d0fec2044514d7b0ef5287714ec8061bf7a SHA512 6b00d37a33f0bafbd953569ef035546a97237a53cfb718d8aecca7e9c7afe5e4706e4a53e40b9afb8720adc8eee044d8d75b8ea6cdc50d2c3f8461d79bb73b26 diff --git a/dev-lang/luajit/luajit-2.1.1716656478.ebuild b/dev-lang/luajit/luajit-2.1.1716656478.ebuild new file mode 100644 index 000000000000..9d52ad0cb632 --- /dev/null +++ b/dev-lang/luajit/luajit-2.1.1716656478.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +GIT_COMMIT=93e87998b24021b94de8d1c8db244444c46fb6e9 + +# Upstream doesn't make releases anymore and instead have a (broken) "rolling +# git tag" model. +# +# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583 +# https://www.freelists.org/post/luajit/LuaJIT-uses-rolling-releases +# +# Regular snapshots should be made from the v2.1 branch. Get the version with +# `git show -s --format=%ct` + +inherit toolchain-funcs + +DESCRIPTION="Just-In-Time Compiler for the Lua programming language" +HOMEPAGE="https://luajit.org/" +SRC_URI="https://github.com/LuaJIT/LuaJIT/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/LuaJIT-${GIT_COMMIT}" + +LICENSE="MIT" +# this should probably be pkgmoved to 2.0 for sake of consistency. +SLOT="2/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 -hppa ~mips ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="lua52compat static-libs" + +_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-"${PV}" /usr/bin/luajit + + HTML_DOCS="doc/." einstalldocs +} diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest index 630f70500166..351f87052e86 100644 --- a/dev-lang/luau/Manifest +++ b/dev-lang/luau/Manifest @@ -1,2 +1,2 @@ -DIST luau-0.613.tar.gz 1617826 BLAKE2B d7e9b898fe74d376f963ead6a1d410d1eb6832ca70ebfc7d840e4322b9bf9b8d585f0e2c8f1743f55d4d745a6be49df259489d7c85e96c9a4fdfa602dfadca30 SHA512 c118f35345dd030074a86283ae931f48e8ef18bf2a89efed8e516ce321a720c9b49a2211ff439832e6da994f65b87c7613e061845c0daeb9c93490f2fafc9f8b DIST luau-0.618.tar.gz 1672989 BLAKE2B ecd166a9562aa103d27e29154687548bce04e45c9810b4aa264fe6eb38e3c2077a9cd4c61f138af62c605580c477b382fd2612616a3638a5a708c3d315011a12 SHA512 9fb6aa39ff2ad92a90afefb77ede472a2fb8a99417a669a1e19774a5550ca79709c034f353b459780f07f406dcac1b83639fb4fcd31215d811df491851fc1a6c +DIST luau-0.630.tar.gz 1736333 BLAKE2B 205d5575b97007108ebf197ff1bfd9d94c3c3f116ba2c1f8068ef9762b30e211973d5da458f261223647fc725bad926fa9406070d95220d390b9e5ecaabf75af SHA512 9f8290a11abe5e9c91eaf5c9c71b940d4ca2bd6a730a2fc6e9cb830e9f7bf6d87a29cb8e71268ed1fe5af0e01738e7e15fbe2a14d81c32e7c76961d146c1128c diff --git a/dev-lang/luau/luau-0.613.ebuild b/dev-lang/luau/luau-0.630.ebuild index ba40b86df707..ff2804b115f7 100644 --- a/dev-lang/luau/luau-0.613.ebuild +++ b/dev-lang/luau/luau-0.630.ebuild @@ -17,7 +17,7 @@ else SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64 ~x86" + KEYWORDS="~amd64 ~x86" fi LICENSE="MIT" diff --git a/dev-lang/mercury-extras/Manifest b/dev-lang/mercury-extras/Manifest index 7fd31befe526..1b76bcf84db7 100644 --- a/dev-lang/mercury-extras/Manifest +++ b/dev-lang/mercury-extras/Manifest @@ -1,8 +1,2 @@ -DIST mercury-extras-20.06-gentoo-patchset-0.tar.gz 1093 BLAKE2B cd0087a7a878c303a610e0007b352deec2e54b8223af1fbdcdd5e1fec0a7d6b4533895ba4ec01d4f90734349535a4c16c69f4ec60495f5a7888f99e4580e3ce3 SHA512 abd74dee931a01085a75f45d2793109737662345bdc68f4cf25dd874b59726da6a5ec8acd84cc8f0957052eeb9e5a9e3502090a0688fbea817d05c6948728ecb -DIST mercury-extras-20.06.1-gentoo-patchset-0.tar.gz 617 BLAKE2B e16a3887bd0927911e2062befa38119d0347e01eae08d21dcf185942648ce52a94890c26059d39b096f69d19227c2ed22e2d3ded0cc762ebfd1bcb702810f5ea SHA512 1274c08c7c02f6f5fa5183f42e958a8e469df38d8e693722134a24aa846d4f3a74dafa0dd4f9d11fbca58497ff6d714aa7456dc2fd516d8961bc1ba43f3b3b8c -DIST mercury-extras-22.01-gentoo-patchset-0.tar.gz 436 BLAKE2B 2c1ff61b87e04777f3d3b66e7a6ae1c8e82e7caec413e2ed51eeb785b5dd8bc1773aa065219ccc58833b1c2aae3d481f531b94a48c215ce7eea2e0762948f946 SHA512 eac4615c951665150c6e6d2cc317d68be8e510aa9be663cadfe04b55d30fe8a0d17fae93a19d1e54556179618262ea4fdb6381e05aca278c4c516bc1f52656bd DIST mercury-extras-22.01.1-gentoo-patchset-1.tar.gz 824 BLAKE2B 677ab82f668f2e35cccf6eff0fc453fb5483941b5315891b1b02a2afb3216b59c86aa3712cdbc7382aa604ce7d1ac7cd8e32bb25c7643b8a3786bae09e987dbb SHA512 bb6ca63a9d4ceb71f7e2c07540301ca319a0163414b5d005251de4b8d4948fcd551b892e1520be0e95c845c31fd6953f2293f5fe52990af680b5bf9117a22e69 -DIST mercury-srcdist-20.06.1.tar.gz 47796261 BLAKE2B f282c6edb78e9090eb451585c65c9214927b94eaa5fcdf6f674aef6beb62eb65179f998bcc2e56c3c93b73dd1dc94973084eb8363bc05e334384096c9520d478 SHA512 94e901e5d3db39e3342bf2d6a2a74556a7b18b295c7e02669b487a81d41c72e572046ce1133d670ca6c1b8e246dd277439087efe8fb99b979a73555a101aa9a8 -DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71 SHA512 b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4 DIST mercury-srcdist-22.01.1.tar.gz 48956249 BLAKE2B 0f5a7662327f27c27a4d9e421f71afa58920f6232093452781124817ce5c34d1953a80a08b75e95101a7e2e88159b7d4ead08d25c67a99abcb908a9582af2bab SHA512 5fa49640307233ea0f641488e5ea526385e52833007a31469e083711b63925ca7568d7ad6e09301ddf7816384a080546bc4cf46b1422f974e008917d1aa4f37a -DIST mercury-srcdist-22.01.tar.gz 48960609 BLAKE2B 4ac45251bc098c1465f4bc418501db152bfcf36a2e04bb9153a44c44ff2dff300545103c29551818e773728c5a61947c019997fcc2cb64900e538d5ef64c1b39 SHA512 35b3b1e9fd85062edea5263b304bfc965382d04353e5548d59211519ee222bb6a8e8c95cb03faa089062e39c90b2d1c4af7ca0d9eabbf3bb44872d461e10ff2d diff --git a/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild b/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild deleted file mode 100644 index 6069ed489b0f..000000000000 --- a/dev-lang/mercury-extras/mercury-extras-20.06.1.ebuild +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib toolchain-funcs vcs-clean - -PATCHSET_VER="0" -MY_P=mercury-srcdist-${PV} - -DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury-extras/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml" -REQUIRED_USE="?? ( odbc iodbc )" - -RDEPEND=" - ~dev-lang/mercury-${PV} - cairo? ( >=x11-libs/cairo-1.10.0 ) - gmp? ( dev-libs/gmp:0 ) - glut? ( media-libs/freeglut ) - odbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) - tommath? ( dev-libs/libtommath ) - ncurses? ( sys-libs/ncurses:= ) - opengl? ( - virtual/opengl - virtual/glu - ) - tk? ( - dev-lang/tcl:0 - dev-lang/tk:0 - ) - X? ( x11-libs/libX11 )" - -DEPEND="${RDEPEND}" - -BDEPEND="virtual/pkgconfig" - -S="${WORKDIR}"/${MY_P}/extras - -mercury_pkgs() { - echo " - align_right/align_right:bin: - base64/mercury_base64:lib: - cgi/mercury_www:lib: - complex_numbers/complex_numbers:lib: - $(use ncurses && echo \ - curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses) - dynamic_linking/dl:lib: - error/error:bin: - fixed/fixed:lib: - $(use gmp && echo gmp_int/gmp_int:lib:) - $(use tommath && echo mp_int/mp_int:lib:libtommath) - $(use X && echo graphics/easyx/easyx:lib:x11) - $(use cairo && echo graphics/mercury_cairo/mercury_cairo:lib:cairo) - $(use glut && echo graphics/mercury_glut/mercury_glut:lib:freeglut) - $(use opengl && echo graphics/mercury_opengl/mercury_opengl:lib:gl,glu) - $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk) - lex/lex:lib: - lex/regex:lib: - moose/moose:bin: - net/net:lib: - net/echo:bin: - $(use ssl && echo mopenssl/mopenssl:lib:openssl) - $(use odbc && echo odbc/odbc:lib:odbc) - $(use iodbc && echo odbc/odbc:lib:libiodbc) - posix/posix:lib: - $(has_version dev-lang/mercury[trail] && echo \ - references/global:lib:) - show_ops/show_ops:bin: - solver_types/library/any:lib: - $(use xml && echo xml/xml:lib:)" -} - -mercury_pkg_setup() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%%:*} - mercury_pkg_deps=${mercury_pkg_atts#*:} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Preparing Mercury package: ${mercury_pkg}" - - echo "MCFLAGS += --libgrades-exclude java" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "MCFLAGS += --libgrades-exclude erlang" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "MCFLAGS += --libgrades-exclude csharp" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - - if test -n "$mercury_pkg_deps"; then - echo "EXTRA_CFLAGS += $($(tc-getPKG_CONFIG) --cflags ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "EXTRA_LDFLAGS += $($(tc-getPKG_CONFIG) --libs ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi - - if test ${mercury_pkg_name} = dl; then - echo "EXTRA_LDFLAGS += -ldl" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = gmp_int; then - echo "EXTRA_LDFLAGS += -lgmp" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = mercury_tcltk; then - echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use odbc; then - echo "EXTRA_CFLAGS += -DMODBC_UNIX -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use iodbc; then - echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi -} - -mercury_pkg_compile() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Compiling Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - mercury_mmc_target=${mercury_pkg_name} - else - mercury_mmc_target=lib${mercury_pkg_name} - fi - - mmc -f *.m || die "mmc -f .m failed" - - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - ${mercury_mmc_target} || die "mmc ${mercury_mmc_target} failed" -} - -mercury_pkg_install() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Installing Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - into /usr/$(get_libdir)/mercury/extras - dobin ${mercury_pkg_name} - else - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - --install-prefix "${D}/usr/$(get_libdir)/mercury/extras" \ - lib${mercury_pkg_name}.install || die "mmc lib${mercury_pkg_name}.install failed" - fi -} - -src_prepare() { - cd "${WORKDIR}"/${MY_P} - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - cd "${S}" - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_setup ${mercury_pkg} - done - - cp "${S}"/net/*.m "${S}"/mopenssl/ || die -} - -src_compile() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_compile ${mercury_pkg} - done -} - -src_install() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_install ${mercury_pkg} - done - - cd "${S}" - dodoc README - - if use examples; then - docinto samples/cgi - dodoc cgi/form_test.m - - docinto samples/complex_numbers - dodoc complex_numbers/samples/*.m - - if use ncurses; then - docinto samples/curs - dodoc curs/samples/*.m - - docinto samples/curses - dodoc curses/sample/*.m - fi - - docinto samples/dynamic_linking - dodoc dynamic_linking/{hello,dl_test}.m - - docinto samples/gator - dodoc -r gator/* - - if use gmp; then - docinto samples/gmp_int - dodoc gmp_int/gmp_int_test.m - fi - - if use tommath; then - docinto samples/mp_int - dodoc mp_int/mp_int_test.m - fi - - if use X; then - docinto samples/graphics - dodoc graphics/easyx/samples/*.m - fi - - if use glut && use opengl; then - docinto samples/graphics - dodoc graphics/samples/gears/*.m - dodoc graphics/samples/maze/*.m - fi - - if use tk; then - docinto samples/graphics - dodoc graphics/samples/calc/*.m - fi - - if use opengl && use tk; then - docinto samples/graphics - dodoc graphics/samples/pent/*.m - fi - - docinto samples/lex - dodoc lex/samples/*.m - - docinto samples/log4m - dodoc log4m/*.m - - docinto samples/monte - dodoc monte/*.m - - docinto samples/moose - dodoc moose/samples/* - - docinto samples/net - dodoc net/test_lookups.m - - if use odbc || use iodbc; then - docinto samples/odbc - dodoc odbc/odbc_test.m - fi - - docinto samples/posix - dodoc posix/samples/*.m - - docinto samples/random - dodoc random/*.m - - if has_version dev-lang/mercury[trail]; then - docinto samples/references - dodoc references/samples/*.m - - docinto samples/trail - dodoc trail/*.m - fi - - if use xml; then - docinto samples/xml - dodoc xml/tryit.m - dodoc xml/samples/* - dodoc xml_stylesheets/*.xsl - fi - - ecvs_clean - fi -} diff --git a/dev-lang/mercury-extras/mercury-extras-20.06.ebuild b/dev-lang/mercury-extras/mercury-extras-20.06.ebuild deleted file mode 100644 index 29d3f055a119..000000000000 --- a/dev-lang/mercury-extras/mercury-extras-20.06.ebuild +++ /dev/null @@ -1,307 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib toolchain-funcs vcs-clean - -PATCHSET_VER="0" -MY_P=mercury-srcdist-${PV} - -DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury-extras/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml" -REQUIRED_USE="?? ( odbc iodbc )" - -RDEPEND=" - ~dev-lang/mercury-${PV} - cairo? ( >=x11-libs/cairo-1.10.0 ) - gmp? ( dev-libs/gmp:0 ) - glut? ( media-libs/freeglut ) - odbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) - tommath? ( dev-libs/libtommath ) - ncurses? ( sys-libs/ncurses:= ) - opengl? ( - virtual/opengl - virtual/glu - ) - tk? ( - dev-lang/tcl:0 - dev-lang/tk:0 - ) - X? ( x11-libs/libX11 )" - -DEPEND="${RDEPEND}" - -BDEPEND="virtual/pkgconfig" - -S="${WORKDIR}"/${MY_P}/extras - -mercury_pkgs() { - echo " - align_right/align_right:bin: - base64/mercury_base64:lib: - cgi/mercury_www:lib: - complex_numbers/complex_numbers:lib: - $(use ncurses && echo \ - curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses) - dynamic_linking/dl:lib: - error/error:bin: - fixed/fixed:lib: - $(use gmp && echo gmp_int/gmp_int:lib:) - $(use tommath && echo mp_int/mp_int:lib:libtommath) - $(use X && echo graphics/easyx/easyx:lib:x11) - $(use cairo && echo graphics/mercury_cairo/mercury_cairo:lib:cairo) - $(use glut && echo graphics/mercury_glut/mercury_glut:lib:freeglut) - $(use opengl && echo graphics/mercury_opengl/mercury_opengl:lib:gl,glu) - $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk) - lex/lex:lib: - lex/regex:lib: - moose/moose:bin: - net/net:lib: - net/echo:bin: - $(use ssl && echo mopenssl/mopenssl:lib:openssl) - $(use odbc && echo odbc/odbc:lib:odbc) - $(use iodbc && echo odbc/odbc:lib:libiodbc) - posix/posix:lib: - $(has_version dev-lang/mercury[trail] && echo \ - references/global:lib:) - show_ops/show_ops:bin: - solver_types/library/any:lib: - $(use xml && echo xml/xml:lib:)" -} - -mercury_pkg_setup() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%%:*} - mercury_pkg_deps=${mercury_pkg_atts#*:} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Preparing Mercury package: ${mercury_pkg}" - - echo "MCFLAGS += --libgrades-exclude java" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "MCFLAGS += --libgrades-exclude erlang" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "MCFLAGS += --libgrades-exclude csharp" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - - if test -n "$mercury_pkg_deps"; then - echo "EXTRA_CFLAGS += $($(tc-getPKG_CONFIG) --cflags ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "EXTRA_LDFLAGS += $($(tc-getPKG_CONFIG) --libs ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi - - if test ${mercury_pkg_name} = dl; then - echo "EXTRA_LDFLAGS += -ldl" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = gmp_int; then - echo "EXTRA_LDFLAGS += -lgmp" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = mercury_tcltk; then - echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use odbc; then - echo "EXTRA_CFLAGS += -DMODBC_UNIX -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use iodbc; then - echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi -} - -mercury_pkg_compile() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Compiling Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - mercury_mmc_target=${mercury_pkg_name} - else - mercury_mmc_target=lib${mercury_pkg_name} - fi - - mmc -f *.m || die "mmc -f .m failed" - - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - ${mercury_mmc_target} || die "mmc ${mercury_mmc_target} failed" -} - -mercury_pkg_install() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Installing Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - into /usr/$(get_libdir)/mercury/extras - dobin ${mercury_pkg_name} - else - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - --install-prefix "${D}/usr/$(get_libdir)/mercury/extras" \ - lib${mercury_pkg_name}.install || die "mmc lib${mercury_pkg_name}.install failed" - fi -} - -src_prepare() { - cd "${WORKDIR}"/${MY_P} - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - cd "${S}" - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_setup ${mercury_pkg} - done - - cp "${S}"/net/*.m "${S}"/mopenssl/ || die -} - -src_compile() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_compile ${mercury_pkg} - done -} - -src_install() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_install ${mercury_pkg} - done - - cd "${S}" - dodoc README - - if use examples; then - docinto samples/cgi - dodoc cgi/form_test.m - - docinto samples/complex_numbers - dodoc complex_numbers/samples/*.m - - if use ncurses; then - docinto samples/curs - dodoc curs/samples/*.m - - docinto samples/curses - dodoc curses/sample/*.m - fi - - docinto samples/dynamic_linking - dodoc dynamic_linking/{hello,dl_test}.m - - docinto samples/gator - dodoc -r gator/* - - if use gmp; then - docinto samples/gmp_int - dodoc gmp_int/gmp_int_test.m - fi - - if use tommath; then - docinto samples/mp_int - dodoc mp_int/mp_int_test.m - fi - - if use X; then - docinto samples/graphics - dodoc graphics/easyx/samples/*.m - fi - - if use glut && use opengl; then - docinto samples/graphics - dodoc graphics/samples/gears/*.m - dodoc graphics/samples/maze/*.m - fi - - if use tk; then - docinto samples/graphics - dodoc graphics/samples/calc/*.m - fi - - if use opengl && use tk; then - docinto samples/graphics - dodoc graphics/samples/pent/*.m - fi - - docinto samples/lex - dodoc lex/samples/*.m - - docinto samples/log4m - dodoc log4m/*.m - - docinto samples/monte - dodoc monte/*.m - - docinto samples/moose - dodoc moose/samples/* - - docinto samples/net - dodoc net/test_lookups.m - - if use odbc || use iodbc; then - docinto samples/odbc - dodoc odbc/odbc_test.m - fi - - docinto samples/posix - dodoc posix/samples/*.m - - docinto samples/random - dodoc random/*.m - - if has_version dev-lang/mercury[trail]; then - docinto samples/references - dodoc references/samples/*.m - - docinto samples/trail - dodoc trail/*.m - fi - - if use xml; then - docinto samples/xml - dodoc xml/tryit.m - dodoc xml/samples/* - dodoc xml_stylesheets/*.xsl - fi - - ecvs_clean - fi -} diff --git a/dev-lang/mercury-extras/mercury-extras-22.01.ebuild b/dev-lang/mercury-extras/mercury-extras-22.01.ebuild deleted file mode 100644 index c73b6e8a9b8c..000000000000 --- a/dev-lang/mercury-extras/mercury-extras-22.01.ebuild +++ /dev/null @@ -1,298 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib vcs-clean - -PATCHSET_VER="0" -MY_P=mercury-srcdist-${PV} - -DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury-extras/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="cairo examples glut gmp iodbc ncurses odbc opengl ssl tk tommath X xml" -REQUIRED_USE="?? ( odbc iodbc )" - -RDEPEND=" - ~dev-lang/mercury-${PV} - cairo? ( >=x11-libs/cairo-1.10.0 ) - gmp? ( dev-libs/gmp:0 ) - glut? ( media-libs/freeglut ) - odbc? ( dev-db/unixODBC ) - iodbc? ( dev-db/libiodbc ) - tommath? ( dev-libs/libtommath ) - ncurses? ( sys-libs/ncurses:= ) - opengl? ( - virtual/opengl - virtual/glu - ) - tk? ( - dev-lang/tcl:0 - dev-lang/tk:0 - ) - X? ( x11-libs/libX11 )" - -DEPEND="${RDEPEND}" - -S="${WORKDIR}"/${MY_P}/extras - -mercury_pkgs() { - echo " - align_right/align_right:bin: - base64/mercury_base64:lib: - cgi/mercury_www:lib: - complex_numbers/complex_numbers:lib: - $(use ncurses && echo \ - curs/curs:lib:ncurses,panel curses/mcurses:lib:ncurses) - dynamic_linking/dl:lib: - error/error:bin: - fixed/fixed:lib: - $(use gmp && echo gmp_int/gmp_int:lib:) - $(use tommath && echo mp_int/mp_int:lib:libtommath) - $(use X && echo graphics/easyx/easyx:lib:x11) - $(use cairo && echo graphics/mercury_cairo/mercury_cairo:lib:cairo) - $(use glut && echo graphics/mercury_glut/mercury_glut:lib:freeglut) - $(use opengl && echo graphics/mercury_opengl/mercury_opengl:lib:gl,glu) - $(use tk && echo graphics/mercury_tcltk/mercury_tcltk:lib:tk) - lex/lex:lib: - lex/regex:lib: - moose/moose:bin: - net/net:lib: - net/echo:bin: - $(use ssl && echo mopenssl/mopenssl:lib:openssl) - $(use odbc && echo odbc/odbc:lib:odbc) - $(use iodbc && echo odbc/odbc:lib:libiodbc) - posix/posix:lib: - $(has_version dev-lang/mercury[trail] && echo \ - references/global:lib:) - show_ops/show_ops:bin: - solver_types/library/any:lib: - $(use xml && echo xml/xml:lib:)" -} - -mercury_pkg_setup() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%%:*} - mercury_pkg_deps=${mercury_pkg_atts#*:} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Preparing Mercury package: ${mercury_pkg}" - - echo "MCFLAGS += --libgrades-exclude java" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "MCFLAGS += --libgrades-exclude csharp" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - - if test -n "$mercury_pkg_deps"; then - echo "EXTRA_CFLAGS += $(pkg-config --cflags ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - echo "EXTRA_LDFLAGS += $(pkg-config --libs ${mercury_pkg_deps/,/ })" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi - - if test ${mercury_pkg_name} = dl; then - echo "EXTRA_LDFLAGS += -ldl" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = gmp_int; then - echo "EXTRA_LDFLAGS += -lgmp" >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = mercury_tcltk; then - echo "EXTRA_CFLAGS += -DUSE_INTERP_RESULT" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use odbc; then - echo "EXTRA_CFLAGS += -DMODBC_UNIX -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - elif test ${mercury_pkg_name} = odbc && use iodbc; then - echo "EXTRA_CFLAGS += -DMODBC_IODBC -DMODBC_MYSQL" \ - >> "${S}"/${mercury_pkg_dir}/Mercury.options - fi -} - -mercury_pkg_compile() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Compiling Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - mercury_mmc_target=${mercury_pkg_name} - else - mercury_mmc_target=lib${mercury_pkg_name} - fi - - mmc -f *.m || die "mmc -f .m failed" - - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - ${mercury_mmc_target} || die "mmc ${mercury_mmc_target} failed" -} - -mercury_pkg_install() { - mercury_pkg=${1%%:*} - mercury_pkg_dir=${mercury_pkg%/*} - mercury_pkg_name=${mercury_pkg##*/} - - mercury_pkg_atts=${1#*:} - mercury_pkg_type=${mercury_pkg_atts%:*} - - cd "${S}"/${mercury_pkg_dir} || die - - echo ">> Installing Mercury package: ${mercury_pkg}" - - if test "${mercury_pkg_type}" = "bin"; then - into /usr/$(get_libdir)/mercury/extras - dobin ${mercury_pkg_name} - else - mmc \ - --make \ - --verbose-commands \ - --no-strip \ - --cflags "${CFLAGS}" \ - --ld-flags "${LDFLAGS}" \ - --ld-libflags "${LDFLAGS}" \ - --install-prefix "${D}/usr/$(get_libdir)/mercury/extras" \ - lib${mercury_pkg_name}.install || die "mmc lib${mercury_pkg_name}.install failed" - fi -} - -src_prepare() { - cd "${WORKDIR}"/${MY_P} - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - cd "${S}" - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_setup ${mercury_pkg} - done - - cp "${S}"/net/*.m "${S}"/mopenssl/ || die -} - -src_compile() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_compile ${mercury_pkg} - done -} - -src_install() { - for mercury_pkg in $(mercury_pkgs); do - mercury_pkg_install ${mercury_pkg} - done - - cd "${S}" - dodoc README.md - - if use examples; then - docinto samples/cgi - dodoc cgi/form_test.m - - docinto samples/complex_numbers - dodoc complex_numbers/samples/*.m - - if use ncurses; then - docinto samples/curs - dodoc curs/samples/*.m - - docinto samples/curses - dodoc curses/sample/*.m - fi - - docinto samples/dynamic_linking - dodoc dynamic_linking/{hello,dl_test}.m - - docinto samples/gator - dodoc -r gator/* - - if use gmp; then - docinto samples/gmp_int - dodoc gmp_int/gmp_int_test.m - fi - - if use tommath; then - docinto samples/mp_int - dodoc mp_int/mp_int_test.m - fi - - if use X; then - docinto samples/graphics - dodoc graphics/easyx/samples/*.m - fi - - if use glut && use opengl; then - docinto samples/graphics - dodoc graphics/samples/gears/*.m - dodoc graphics/samples/maze/*.m - fi - - if use tk; then - docinto samples/graphics - dodoc graphics/samples/calc/*.m - fi - - docinto samples/lex - dodoc lex/samples/*.m - - docinto samples/log4m - dodoc log4m/*.m - - docinto samples/monte - dodoc monte/*.m - - docinto samples/moose - dodoc moose/samples/* - - docinto samples/net - dodoc net/test_lookups.m - - if use odbc || use iodbc; then - docinto samples/odbc - dodoc odbc/odbc_test.m - fi - - docinto samples/posix - dodoc posix/samples/*.m - - docinto samples/random - dodoc random/*.m - - if has_version dev-lang/mercury[trail]; then - docinto samples/references - dodoc references/samples/*.m - - docinto samples/trail - dodoc trail/*.m - fi - - if use xml; then - docinto samples/xml - dodoc xml/tryit.m - dodoc xml/samples/* - dodoc xml_stylesheets/*.xsl - fi - - ecvs_clean - fi -} diff --git a/dev-lang/mercury/Manifest b/dev-lang/mercury/Manifest index 98779fca5b66..0d34064a0b84 100644 --- a/dev-lang/mercury/Manifest +++ b/dev-lang/mercury/Manifest @@ -1,8 +1,2 @@ -DIST mercury-20.06-gentoo-patchset-3.tar.gz 5265 BLAKE2B 0539611691cfb714937bca8dc967246ce32c515b7133391d81333284e6ceffe29b929c042ee0000752bd9980c2d2332de20d7c5dc4e1a6077a6421056d975808 SHA512 54595a71db4d7684071c6496c3e92fe8c9de0a29832cc85901046f2627bd453cf0760b9857e73a91e87edfddc80d384627dc5c2cb7f3bc12ea5737eb5afa4f3b -DIST mercury-20.06.1-gentoo-patchset-0.tar.gz 4426 BLAKE2B df6f1a3b52b1f57f502621abba175a55342ae88ecbbe8e37d22b89a7514e0dea14299c87fb1dd47866c5fc89bbb2746a92de8dcf037c1a9d5d2ba4e2e9b8c828 SHA512 c26c209a2fc2380793373785c7a8290ea336c38fe1c243df5c71791e2d1f8b6f8d4a9452a9139181aeb0422cd538c5e6ffe40332ea5b2635cab3324dc4dc320b -DIST mercury-22.01-gentoo-patchset-0.tar.gz 4147 BLAKE2B d59f58cb8870ee3ba636f62c1df7ab54d45d23e92626e1a18717e2ef7511c8a14a63c7d9bbfbeb8ec78841f6a05311f2431c5488df9996dae1ab71ce39c99a55 SHA512 a38d524e900b1771a12921618f785436ebca6029d94c9bd7a3115682b900d688d4cab3e3167a7b110f2fc4f5e9d09c1f24dffe9e39222efd20bb17782829b4a8 DIST mercury-22.01.1-gentoo-patchset-2.tar.gz 4975 BLAKE2B 73dfe5688f7f2c44ee236e3b9fd38811afecc7f8f4dd8f0694c2c3f27ce20a74aade3678bb3a16f7bcfc1fc8b07e518a5954802e410a3f566c00df7898800675 SHA512 16319d2e78af5cb73f67555c1498b277e8c6435cfe4e62fc87817cf06f04deadfad6f8264a5270100aaf6985866b879e9b7c69d3c1839c25d36ca2506bbabd72 -DIST mercury-srcdist-20.06.1.tar.gz 47796261 BLAKE2B f282c6edb78e9090eb451585c65c9214927b94eaa5fcdf6f674aef6beb62eb65179f998bcc2e56c3c93b73dd1dc94973084eb8363bc05e334384096c9520d478 SHA512 94e901e5d3db39e3342bf2d6a2a74556a7b18b295c7e02669b487a81d41c72e572046ce1133d670ca6c1b8e246dd277439087efe8fb99b979a73555a101aa9a8 -DIST mercury-srcdist-20.06.tar.gz 47768559 BLAKE2B f242aa2ef7da53aa2dfa054e4fee8646434d276f0748b014e33ea52d22f2a8a37e6fecaa20617f4943c4c1e7d8c179ed0603a344fde2dd58da98b2bacadf1a71 SHA512 b76bd22d8eb16242c68b614ff122ed7ee7535efef6c0ceb8cc798fee4c550bc41b6faff2135cea43b24c652b654bb35ae049656585d8e7bf3a1122d07cb1ecf4 DIST mercury-srcdist-22.01.1.tar.gz 48956249 BLAKE2B 0f5a7662327f27c27a4d9e421f71afa58920f6232093452781124817ce5c34d1953a80a08b75e95101a7e2e88159b7d4ead08d25c67a99abcb908a9582af2bab SHA512 5fa49640307233ea0f641488e5ea526385e52833007a31469e083711b63925ca7568d7ad6e09301ddf7816384a080546bc4cf46b1422f974e008917d1aa4f37a -DIST mercury-srcdist-22.01.tar.gz 48960609 BLAKE2B 4ac45251bc098c1465f4bc418501db152bfcf36a2e04bb9153a44c44ff2dff300545103c29551818e773728c5a61947c019997fcc2cb64900e538d5ef64c1b39 SHA512 35b3b1e9fd85062edea5263b304bfc965382d04353e5548d59211519ee222bb6a8e8c95cb03faa089062e39c90b2d1c4af7ca0d9eabbf3bb44872d461e10ff2d diff --git a/dev-lang/mercury/mercury-20.06-r1.ebuild b/dev-lang/mercury/mercury-20.06-r1.ebuild deleted file mode 100644 index d2f14d41fd07..000000000000 --- a/dev-lang/mercury/mercury-20.06-r1.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils - -PATCHSET_VER="3" -MY_P=${PN}-srcdist-${PV} - -DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release-20.06/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="amd64 x86" - -IUSE="debug doc emacs erlang examples java mono profile readline threads trail" - -DEPEND="net-libs/libnsl:0= - readline? ( sys-libs/readline:= ) - erlang? ( dev-lang/erlang ) - java? ( >=virtual/jdk-1.8:* ) - mono? ( dev-lang/mono ) - doc? ( sys-apps/texinfo )" - -RDEPEND="${DEPEND} - emacs? ( >=app-editors/emacs-23.1:* )" - -S="${WORKDIR}"/${MY_P} - -SITEFILE=50${PN}-gentoo.el - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - AT_M4DIR=m4 eautoreconf - - xdg_environment_reset -} - -src_configure() { - strip-flags - - local myconf - myconf="--libdir=/usr/$(get_libdir) \ - $(use_enable mono csharp-grade) \ - $(use_enable erlang erlang-grade) \ - $(use_enable java java-grade) \ - $(use_enable debug debug-grades) \ - $(use_enable profile prof-grades) \ - $(use_enable threads par-grades) \ - $(use_enable trail trail-grades) \ - $(use_with readline)" - - econf ${myconf} -} - -src_compile() { - # Prepare mmake flags - echo "EXTRA_CFLAGS = ${CFLAGS}" >> Mmake.params - echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params - - if use trail; then - echo "CFLAGS-int = -O0" >> Mmake.params - echo "CFLAGS-uint = -O0" >> Mmake.params - fi - - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> boehm_gc/Mmake.boehm_gc.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> runtime/Mmake.runtime.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> library/Mmake.library.params - - # Build Mercury using bootstrap grade - emake \ - PARALLEL="'${MAKEOPTS}'" \ - TEXI2DVI="" PDFTEX="" - - # We can now patch .m Mercury compiler files since we - # have just built mercury_compiler. - if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then - eapply "${WORKDIR}"/${PV}-mmc - fi - - # Rebuild Mercury compiler using the just built mercury_compiler - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" - - # The default Mercury grade may not be the same as the bootstrap - # grade. Since src_test() is run before src_install() we compile - # the default grade now - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - default_grade -} - -src_test() { - TEST_GRADE=$(scripts/ml --print-grade) - if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then - TWS="${S}"/install_grade_dir.${TEST_GRADE} - cp runtime/mer_rt.init "${TWS}"/runtime/ - cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/ - cp browser/mer_browser.init "${TWS}"/browser/ - else - TWS="${S}" - fi - - cd "${S}"/tests || die - sed -e "s:@WORKSPACE@:${TWS}:" \ - < WS_FLAGS.ws \ - > WS_FLAGS \ - || die "sed WORKSPACE failed" - sed -e "s:@WORKSPACE@:${TWS}:" \ - < .mgnuc_copts.ws \ - > .mgnuc_copts \ - || die "sed WORKSPACE failed" - find . -mindepth 1 -type d -exec cp .mgnuc_opts {} \; - find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \; - - # Mercury tests must be run in C locale since Mercury output is - # compared to hard-coded warnings/errors - LC_ALL="C" \ - PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \ - TERM="" \ - WORKSPACE="${TWS}" \ - WORKSPACE_FLAGS=yes \ - MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \ - MMAKE_DIR="${TWS}"/scripts \ - MERCURY_SUPPRESS_STACK_TRACE=yes \ - GRADE=${TEST_GRADE} \ - mmake || die "mmake test failed" -} - -src_install() { - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - DESTDIR="${D}" \ - INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ - install - - if use java; then - keepdir /usr/$(get_libdir)/mercury/modules/java - fi - - if use mono; then - keepdir /usr/$(get_libdir)/mercury/modules/csharp - fi - - if use emacs; then - elisp-site-file-install "${FILESDIR}/${SITEFILE}" \ - || die "elisp-site-file-install failed" - fi - - dodoc \ - BUGS HISTORY LIMITATIONS NEWS README README.Linux \ - README.Linux-Alpha README.Linux-m68k README.Linux-PPC \ - RELEASE_NOTES VERSION || die - - if use erlang; then - dodoc README.Erlang - fi - - if use java; then - dodoc README.Java - fi - - if use mono; then - dodoc README.CSharp - fi - - if use examples; then - docinto samples - dodoc samples/{*.m,README,Mmakefile} - dodoc -r samples/c_interface \ - samples/diff \ - samples/muz \ - samples/rot13 \ - samples/solutions \ - samples/solver_types - - if use java; then - dodoc -r samples/java_interface - fi - - ecvs_clean "${D}"/usr/share/doc/${PF}/samples - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/mercury/mercury-20.06.1.ebuild b/dev-lang/mercury/mercury-20.06.1.ebuild deleted file mode 100644 index ece3d848fee3..000000000000 --- a/dev-lang/mercury/mercury-20.06.1.ebuild +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils - -PATCHSET_VER="0" -MY_P=${PN}-srcdist-${PV} - -DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release-20.06/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="debug doc emacs erlang examples java mono profile readline threads trail" - -DEPEND="net-libs/libnsl:0= - readline? ( sys-libs/readline:= ) - erlang? ( dev-lang/erlang ) - java? ( >=virtual/jdk-1.8:* ) - mono? ( dev-lang/mono ) - doc? ( sys-apps/texinfo )" - -RDEPEND="${DEPEND} - emacs? ( >=app-editors/emacs-23.1:* )" - -S="${WORKDIR}"/${MY_P} - -SITEFILE=50${PN}-gentoo.el - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - AT_M4DIR=m4 eautoreconf - - xdg_environment_reset -} - -src_configure() { - strip-flags - - local myconf - myconf="--libdir=/usr/$(get_libdir) \ - $(use_enable mono csharp-grade) \ - $(use_enable erlang erlang-grade) \ - $(use_enable java java-grade) \ - $(use_enable debug debug-grades) \ - $(use_enable profile prof-grades) \ - $(use_enable threads par-grades) \ - $(use_enable trail trail-grades) \ - $(use_with readline)" - - econf ${myconf} -} - -src_compile() { - # Prepare mmake flags - echo "EXTRA_CFLAGS = ${CFLAGS} -Wno-error" >> Mmake.params - echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params - - if use trail; then - echo "CFLAGS-int = -O0" >> Mmake.params - echo "CFLAGS-uint = -O0" >> Mmake.params - fi - - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> boehm_gc/Mmake.boehm_gc.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> runtime/Mmake.runtime.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> library/Mmake.library.params - - # Build Mercury using bootstrap grade - emake \ - PARALLEL="'${MAKEOPTS}'" \ - TEXI2DVI="" PDFTEX="" - - # We can now patch .m Mercury compiler files since we - # have just built mercury_compiler. - if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then - eapply "${WORKDIR}"/${PV}-mmc - fi - - # Rebuild Mercury compiler using the just built mercury_compiler - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" - - # The default Mercury grade may not be the same as the bootstrap - # grade. Since src_test() is run before src_install() we compile - # the default grade now - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - default_grade -} - -src_test() { - TEST_GRADE=$(scripts/ml --print-grade) - if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then - TWS="${S}"/install_grade_dir.${TEST_GRADE} - cp runtime/mer_rt.init "${TWS}"/runtime/ - cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/ - cp browser/mer_browser.init "${TWS}"/browser/ - else - TWS="${S}" - fi - - cd "${S}"/tests || die - sed -e "s:@WORKSPACE@:${TWS}:" \ - < WS_FLAGS.ws \ - > WS_FLAGS \ - || die "sed WORKSPACE failed" - sed -e "s:@WORKSPACE@:${TWS}:" \ - < .mgnuc_copts.ws \ - > .mgnuc_copts \ - || die "sed WORKSPACE failed" - find . -mindepth 1 -type d -exec cp .mgnuc_opts {} \; - find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \; - - # Mercury tests must be run in C locale since Mercury output is - # compared to hard-coded warnings/errors - LC_ALL="C" \ - PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \ - TERM="" \ - WORKSPACE="${TWS}" \ - WORKSPACE_FLAGS=yes \ - MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \ - MMAKE_DIR="${TWS}"/scripts \ - MERCURY_SUPPRESS_STACK_TRACE=yes \ - GRADE=${TEST_GRADE} \ - mmake || die "mmake test failed" -} - -src_install() { - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - DESTDIR="${D}" \ - INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ - install - - if use java; then - keepdir /usr/$(get_libdir)/mercury/modules/java - fi - - if use mono; then - keepdir /usr/$(get_libdir)/mercury/modules/csharp - fi - - if use emacs; then - elisp-site-file-install "${FILESDIR}/${SITEFILE}" \ - || die "elisp-site-file-install failed" - fi - - dodoc \ - BUGS HISTORY LIMITATIONS NEWS README README.Linux \ - README.Linux-Alpha README.Linux-m68k README.Linux-PPC \ - RELEASE_NOTES VERSION || die - - if use erlang; then - dodoc README.Erlang - fi - - if use java; then - dodoc README.Java - fi - - if use mono; then - dodoc README.CSharp - fi - - if use examples; then - docinto samples - dodoc samples/{*.m,README,Mmakefile} - dodoc -r samples/c_interface \ - samples/diff \ - samples/muz \ - samples/rot13 \ - samples/solutions \ - samples/solver_types - - if use java; then - dodoc -r samples/java_interface - fi - - ecvs_clean "${D}"/usr/share/doc/${PF}/samples - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/mercury/mercury-22.01.ebuild b/dev-lang/mercury/mercury-22.01.ebuild deleted file mode 100644 index 3524e6009a37..000000000000 --- a/dev-lang/mercury/mercury-22.01.ebuild +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools elisp-common flag-o-matic java-pkg-opt-2 multilib vcs-clean xdg-utils - -PATCHSET_VER="0" -MY_P=${PN}-srcdist-${PV} - -DESCRIPTION="Mercury is a modern general-purpose logic/functional programming language" -HOMEPAGE="https://www.mercurylang.org/index.html" -SRC_URI="https://dl.mercurylang.org/release/${MY_P}.tar.gz - https://dev.gentoo.org/~keri/distfiles/mercury/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" - -LICENSE="GPL-2 LGPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="debug doc emacs examples java mono profile readline threads trail" - -DEPEND="net-libs/libnsl:0= - readline? ( sys-libs/readline:= ) - java? ( >=virtual/jdk-1.8:* ) - mono? ( dev-lang/mono ) - doc? ( sys-apps/texinfo )" - -RDEPEND="${DEPEND} - emacs? ( >=app-editors/emacs-23.1:* )" - -S="${WORKDIR}"/${MY_P} - -SITEFILE=50${PN}-gentoo.el - -src_prepare() { - if [[ -d "${WORKDIR}"/${PV} ]] ; then - eapply "${WORKDIR}"/${PV} - fi - eapply_user - - AT_M4DIR=m4 eautoreconf - - xdg_environment_reset -} - -src_configure() { - strip-flags - - local myconf - myconf="--libdir=/usr/$(get_libdir) \ - $(use_enable mono csharp-grade) \ - $(use_enable java java-grade) \ - $(use_enable debug debug-grades) \ - $(use_enable profile prof-grades) \ - $(use_enable threads par-grades) \ - $(use_enable trail trail-grades) \ - $(use_with readline)" - - econf ${myconf} -} - -src_compile() { - # Prepare mmake flags - echo "EXTRA_CFLAGS = ${CFLAGS} -Wno-error" >> Mmake.params - echo "EXTRA_LDFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_LD_LIBFLAGS = ${LDFLAGS}" >> Mmake.params - echo "EXTRA_MLFLAGS = --no-strip" >> Mmake.params - - if use trail; then - echo "CFLAGS-int = -O0" >> Mmake.params - echo "CFLAGS-uint = -O0" >> Mmake.params - fi - - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libgc.so" >> boehm_gc/Mmake.boehm_gc.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_rt.so" >> runtime/Mmake.runtime.params - echo "EXTRA_LD_LIBFLAGS += -Wl,-soname=libmer_std.so" >> library/Mmake.library.params - - # Build Mercury using bootstrap grade - emake \ - PARALLEL="'${MAKEOPTS}'" \ - TEXI2DVI="" PDFTEX="" - - # We can now patch .m Mercury compiler files since we - # have just built mercury_compiler. - if [[ -d "${WORKDIR}"/${PV}-mmc ]] ; then - eapply "${WORKDIR}"/${PV}-mmc - fi - - # Rebuild Mercury compiler using the just built mercury_compiler - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" - - # The default Mercury grade may not be the same as the bootstrap - # grade. Since src_test() is run before src_install() we compile - # the default grade now - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - default_grade -} - -src_test() { - TEST_GRADE=$(scripts/ml --print-grade) - if [ -d "${S}"/install_grade_dir.${TEST_GRADE} ] ; then - TWS="${S}"/install_grade_dir.${TEST_GRADE} - cp runtime/mer_rt.init "${TWS}"/runtime/ - cp mdbcomp/mer_mdbcomp.init "${TWS}"/mdbcomp/ - cp browser/mer_browser.init "${TWS}"/browser/ - else - TWS="${S}" - fi - - cd "${S}"/tests || die - sed -e "s:@WORKSPACE@:${TWS}:" \ - < WS_FLAGS.ws \ - > WS_FLAGS \ - || die "sed WORKSPACE failed" - sed -e "s:@WORKSPACE@:${TWS}:" \ - < .mgnuc_copts.ws \ - > .mgnuc_copts \ - || die "sed WORKSPACE failed" - find . -mindepth 1 -type d -exec cp .mgnuc_opts {} \; - find . -mindepth 1 -type d -exec cp .mgnuc_copts {} \; - - # Mercury tests must be run in C locale since Mercury output is - # compared to hard-coded warnings/errors - LC_ALL="C" \ - PATH="${TWS}"/scripts:"${TWS}"/util:"${S}"/slice:"${PATH}" \ - TERM="" \ - WORKSPACE="${TWS}" \ - WORKSPACE_FLAGS=yes \ - MERCURY_COMPILER="${TWS}"/compiler/mercury_compile \ - MMAKE_DIR="${TWS}"/scripts \ - MERCURY_SUPPRESS_STACK_TRACE=yes \ - GRADE=${TEST_GRADE} \ - mmake || die "mmake test failed" -} - -src_install() { - emake \ - PARALLEL="'${MAKEOPTS}'" \ - MERCURY_COMPILER="${S}"/compiler/mercury_compile \ - TEXI2DVI="" PDFTEX="" \ - DESTDIR="${D}" \ - INSTALL_ELISP_DIR="${D}/${SITELISP}"/${PN} \ - install - - if use java; then - keepdir /usr/$(get_libdir)/mercury/modules/java - fi - - if use mono; then - keepdir /usr/$(get_libdir)/mercury/modules/csharp - fi - - if use emacs; then - elisp-site-file-install "${FILESDIR}/${SITEFILE}" \ - || die "elisp-site-file-install failed" - fi - - dodoc \ - BUGS HISTORY LIMITATIONS.md NEWS README README.md \ - README.Linux README.Linux-m68k README.Linux-PPC \ - RELEASE_NOTES VERSION || die - - if use java; then - dodoc README.Java - fi - - if use mono; then - dodoc README.CSharp - fi - - if use examples; then - docinto samples - dodoc samples/{*.m,README,Mmakefile} - dodoc -r samples/c_interface \ - samples/diff \ - samples/muz \ - samples/rot13 \ - samples/solutions \ - samples/solver_types - - if use java; then - dodoc -r samples/java_interface - fi - - ecvs_clean "${D}"/usr/share/doc/${PF}/samples - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-lang/mercury/metadata.xml b/dev-lang/mercury/metadata.xml index 99628dd871a5..5061e4f27e59 100644 --- a/dev-lang/mercury/metadata.xml +++ b/dev-lang/mercury/metadata.xml @@ -3,7 +3,6 @@ <pkgmetadata> <!-- maintainer-needed --> <use> - <flag name="erlang">Support Mercury Erlang grade</flag> <flag name="trail">Support Mercury trail grades</flag> </use> </pkgmetadata> diff --git a/dev-lang/mond/Manifest b/dev-lang/mond/Manifest index 8bd336d4409a..4afb58e2c6ca 100644 --- a/dev-lang/mond/Manifest +++ b/dev-lang/mond/Manifest @@ -35,6 +35,7 @@ DIST microsoft.sourcelink.github.8.0.0.nupkg 330089 BLAKE2B 5c9683ce4b55e6fad9b3 DIST microsoft.testplatform.objectmodel.17.8.0.nupkg 1492114 BLAKE2B 32a3a7f4e4cb9af1d330fcb2588ee9602414760eb4f2bda49888372b3ed64e8c47347dbdeda11259134e37b717ad5c23b06ffeda9a1a1772e1afe299429e828d SHA512 17119c472fd87ff721677f92a801693eab53a1897582150c26a60429c99eb1764628e7ba895b40e3b10b9edc00f803b18316a6fdc906ffe54dbd2d04ac63db33 DIST microsoft.testplatform.testhost.17.8.0.nupkg 2806274 BLAKE2B dff54d1c59a6873793bbe2d6fc9ed75c2d610a8dc41f4f9349228b690db3beb7845660c7d90a5d2588443c13aff4d97b6e0a1df58e88a398b3631a344609060c SHA512 39fb1549fd23fc2c7b4f5525043fc1152b8c62cc813a88c9701f33a666041c6690dadd455899d247fef5e6df372d17f081d6098839086007b2c10618e187ac7a DIST mond-0.10.0.tar.gz 612465 BLAKE2B b802d7e97fbaf2fd8a7350d19623fe5e8319e0e36e54d98f01c8f49b2a1900003b4c144420faa5a2bd0718474cc93f7e2912ac4afdfe6461b300ce9f9386a0ec SHA512 2e16b4ed4cfa1009b21631cee1b722cf80ff2a3e7c17f53cd36fbc18bdf683e958b25fb60b701be1a164f69eb1d0689c2cb2ff0bfa2082446d8abfd60b23b1de +DIST mond-0.10.2.tar.gz 612942 BLAKE2B 70be09334e89234cb2ac889c48c0cb6b04feecace1fad6ab0f93a448b49e289e12e49167b2075cad4404bcca0ec9ab68987d121376383b5a2d35da7910b3327d SHA512 0014fa673c0b213fd360642ec3008635ee6dae560da72c0e656e6c90bc48d1c45e15a2d2ebd34e63f5593fb708adb3b8739ad2ef3fe46d684b0f6546faa116d9 DIST netstandard.library.2.0.0.nupkg 3143842 BLAKE2B 7e3fc865e7893fb531b21e2ca791b788af01481316e49a79c4676050c2b8ad413fd8a4ef9890557582ec8b9741c8aa01b080b8d2caa16e02bfff2a7b38777989 SHA512 e3d64072b9cd9f9e86209c06a22688ecda7070427c9a35327d2a9560824c0e1381ccf7bc1d21d2ef8b301761f4bfc7f38fba712df7188d2f4fe4f748aac4d0c7 DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601 DIST newtonsoft.json.13.0.1.nupkg 2065787 BLAKE2B 000c38ce26a2a00bb25a9c1d6fb069ada521ff089bb624a5c1255b25767c10616cc51821524e7bc3d8b45eb8f8ee54c97454db1db9ae5e5c78eb6300a99f979d SHA512 83731b662eaf05379a23f8446ef47bbc111349dd4358b7bd8b51383fe9cf637e2fe62f78cea52a0d7bdd582dc6fbbb5837d4a7b1d53dcf37a0ae7473e21ee7b1 diff --git a/dev-lang/mond/mond-0.10.2.ebuild b/dev-lang/mond/mond-0.10.2.ebuild new file mode 100644 index 000000000000..339abf525b27 --- /dev/null +++ b/dev-lang/mond/mond-0.10.2.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DOTNET_PKG_COMPAT=8.0 +NUGETS=" +fleck@1.2.0 +microsoft.aspnetcore.authorization@8.0.0 +microsoft.aspnetcore.components.analyzers@8.0.0 +microsoft.aspnetcore.components.forms@8.0.0 +microsoft.aspnetcore.components.web@8.0.0 +microsoft.aspnetcore.components.webassembly.devserver@8.0.0 +microsoft.aspnetcore.components.webassembly@8.0.0 +microsoft.aspnetcore.components@8.0.0 +microsoft.aspnetcore.metadata@8.0.0 +microsoft.build.tasks.git@8.0.0 +microsoft.codeanalysis.analyzers@3.3.4 +microsoft.codeanalysis.common@4.8.0 +microsoft.codeanalysis.csharp@4.8.0 +microsoft.codecoverage@17.8.0 +microsoft.extensions.configuration.abstractions@8.0.0 +microsoft.extensions.configuration.binder@8.0.0 +microsoft.extensions.configuration.fileextensions@8.0.0 +microsoft.extensions.configuration.json@8.0.0 +microsoft.extensions.configuration@8.0.0 +microsoft.extensions.dependencyinjection.abstractions@8.0.0 +microsoft.extensions.dependencyinjection@8.0.0 +microsoft.extensions.fileproviders.abstractions@8.0.0 +microsoft.extensions.fileproviders.physical@8.0.0 +microsoft.extensions.filesystemglobbing@8.0.0 +microsoft.extensions.logging.abstractions@8.0.0 +microsoft.extensions.logging@8.0.0 +microsoft.extensions.options@8.0.0 +microsoft.extensions.primitives@8.0.0 +microsoft.jsinterop.webassembly@8.0.0 +microsoft.jsinterop@8.0.0 +microsoft.net.test.sdk@17.8.0 +microsoft.netcore.platforms@1.1.0 +microsoft.sourcelink.common@8.0.0 +microsoft.sourcelink.github@8.0.0 +microsoft.testplatform.objectmodel@17.8.0 +microsoft.testplatform.testhost@17.8.0 +netstandard.library@2.0.0 +netstandard.library@2.0.3 +newtonsoft.json@13.0.1 +nuget.frameworks@6.5.0 +nunit3testadapter@4.5.0 +nunit@3.14.0 +system.buffers@4.5.1 +system.collections.immutable@7.0.0 +system.io.pipelines@8.0.0 +system.memory@4.5.5 +system.numerics.vectors@4.4.0 +system.reflection.metadata@1.6.0 +system.reflection.metadata@7.0.0 +system.runtime.compilerservices.unsafe@6.0.0 +system.text.encoding.codepages@7.0.0 +system.text.encodings.web@8.0.0 +system.text.json@8.0.0 +system.threading.tasks.extensions@4.5.4 +" + +inherit dotnet-pkg + +DESCRIPTION="Mond is a scripting language for .NET Core" +HOMEPAGE="https://mond.rohan.dev/ + https://github.com/Rohansi/Mond/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/Rohansi/${PN^}.git" +else + SRC_URI="https://github.com/Rohansi/${PN^}/archive/v${PV}.tar.gz + -> ${P}.tar.gz" + S="${WORKDIR}/${P^}" + + KEYWORDS="~amd64" +fi + +SRC_URI+=" ${NUGET_URIS} " + +LICENSE="MIT" +SLOT="0" + +DOTNET_PKG_BAD_PROJECTS=( TryMond/TryMond.csproj ) +DOTNET_PKG_PROJECTS=( Mond.Repl/Mond.Repl.csproj ) + +DOCS=( README.md Examples ) + +src_unpack() { + dotnet-pkg_src_unpack + + if [[ -n "${EGIT_REPO_URI}" ]] ; then + git-r3_src_unpack + fi +} + +src_install() { + dotnet-pkg-base_install + dotnet-pkg-base_dolauncher "/usr/share/${P}/Mond.Repl" "${PN}" + + docompress -x "/usr/share/doc/${PF}/Examples" + einstalldocs +} diff --git a/dev-lang/nim/nim-2.0.4.ebuild b/dev-lang/nim/nim-2.0.4.ebuild index d91d6fed17c5..b1eecd7b7cd4 100644 --- a/dev-lang/nim/nim-2.0.4.ebuild +++ b/dev-lang/nim/nim-2.0.4.ebuild @@ -18,7 +18,7 @@ SRC_URI=" LICENSE="MIT" SLOT="0" -KEYWORDS="~amd64 ~arm ~x86" +KEYWORDS="amd64 ~arm ~x86" IUSE="test-js test" RESTRICT="!test? ( test )" diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest index b24d4629ee2c..b6476e6f2b79 100644 --- a/dev-lang/ocaml/Manifest +++ b/dev-lang/ocaml/Manifest @@ -5,6 +5,6 @@ DIST ocaml-4.10.2.tar.gz 4933135 BLAKE2B ec5e92adb23c28a254247182c79ab555fd82603 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-4.14.0.tar.gz 5494844 BLAKE2B f2f9142a95722c7fc5fda205ea6b951939f7d285963b8aa14dc157ac10202ef9d00c7590beabdc97ed83548d61e5ef28b60a360f1a492420a54f4e26dfbf89f0 SHA512 3c5e5b9f00bb109dd99b5f7b0078cf8663d4247e548f3e601d6b2a55582e04bb20f6de85005c4cf2f78ae9aaa449f5ca6f2bab2f6ce83eeb3aeb386e3f2fcc32 DIST ocaml-4.14.1.tar.gz 5498436 BLAKE2B 6113283ab0f7ac39ade1f35a02c203a6956f8f4efa4f174daf53483c1d874613195c2705ca02760f0ff4abd9b37c91f8dec59c010ac8ae8731790cdd6f429673 SHA512 6340e145c7d11a1ee9fa1699fc6a8a6785f14ff9c05dca708cf278194642ec9b7c562d744d8b38e5dab74b88fa3a5760035e214f5f8fab8b233a344b035db8fb DIST ocaml-4.14.2.tar.gz 5505119 BLAKE2B 518c2a69ee32e1c141b574a9800a64efc445381eb2808985b5dbb9d5ec54228aa25042a1c410307c3556488ba12a751980396b0d9a01e60a1ea84ac5b52e6dd6 SHA512 61bfa7961aae02458210f10865a5703f7a50a9be2452379e820cf2dfac2c6037da553c31835145e50a776880bdeb2ec78cd7a3147d65f418e7b3e593534e8a04 +DIST ocaml-5.2.0.tar.gz 6047633 BLAKE2B 5d0a7d48d9ed9fcd2974237a93e30ffee20fc444b5ede296bd35cb3285909f8cf5a489ac1cdc75778ca6d45f8ff40a92939bfcfc42e218aeda0170b1ac0bfd49 SHA512 78115690186c13c1f2480e4812a9fe34cce2c28bf8a89d5c9810bca0391f930cecd9cee2b53daca8a32da1815628b33be68f3948f1ad03fa50b72b14e3ea84f2 diff --git a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild index 489cf0a32fef..d57b85a17ce1 100644 --- a/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild +++ b/dev-lang/ocaml/ocaml-4.11.2-r2.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit flag-o-matic +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" -DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" LICENSE="QPL-1.0 LGPL-2" SLOT="0/$(ver_cut 1-2)" diff --git a/dev-lang/ocaml/ocaml-4.12.1.ebuild b/dev-lang/ocaml/ocaml-4.12.1.ebuild index 9294aeacdc06..397ff3c8ab8d 100644 --- a/dev-lang/ocaml/ocaml-4.12.1.ebuild +++ b/dev-lang/ocaml/ocaml-4.12.1.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit flag-o-matic +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" -DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" LICENSE="QPL-1.0 LGPL-2" SLOT="0/$(ver_cut 1-2)" diff --git a/dev-lang/ocaml/ocaml-4.13.1.ebuild b/dev-lang/ocaml/ocaml-4.13.1.ebuild index 73ab996ee176..385f7be2f182 100644 --- a/dev-lang/ocaml/ocaml-4.13.1.ebuild +++ b/dev-lang/ocaml/ocaml-4.13.1.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit flag-o-matic +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" -DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" LICENSE="QPL-1.0 LGPL-2" SLOT="0/$(ver_cut 1-2)" diff --git a/dev-lang/ocaml/ocaml-4.14.1.ebuild b/dev-lang/ocaml/ocaml-4.14.1.ebuild index fe9b42d885eb..5ed03c0a3f13 100644 --- a/dev-lang/ocaml/ocaml-4.14.1.ebuild +++ b/dev-lang/ocaml/ocaml-4.14.1.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit flag-o-matic +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" -DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" LICENSE="QPL-1.0 LGPL-2" SLOT="0/${PV}" diff --git a/dev-lang/ocaml/ocaml-4.14.2.ebuild b/dev-lang/ocaml/ocaml-4.14.2.ebuild index f94e0f851126..bb61347421c2 100644 --- a/dev-lang/ocaml/ocaml-4.14.2.ebuild +++ b/dev-lang/ocaml/ocaml-4.14.2.ebuild @@ -79,6 +79,10 @@ src_test() { } src_install() { + # OCaml generates textrels on 32-bit arches + if use arm || use ppc || use x86 ; then + export QA_TEXTRELS='.*' + fi default dodir /usr/include diff --git a/dev-lang/ocaml/ocaml-4.14.0-r1.ebuild b/dev-lang/ocaml/ocaml-5.2.0.ebuild index 83dfc2f12fc2..dc8655e47ad7 100644 --- a/dev-lang/ocaml/ocaml-4.14.0-r1.ebuild +++ b/dev-lang/ocaml/ocaml-5.2.0.ebuild @@ -1,18 +1,18 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit flag-o-matic +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" -DESCRIPTION="Programming language supporting functional, imperative & object-oriented styles" LICENSE="QPL-1.0 LGPL-2" -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -IUSE="emacs flambda latex +ocamlopt xemacs" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="emacs flambda latex +ocamlopt test xemacs" RDEPEND="sys-libs/binutils-libs:=" BDEPEND="${RDEPEND} @@ -22,9 +22,7 @@ PDEPEND="emacs? ( app-emacs/ocaml-mode ) QA_FLAGS_IGNORED='/usr/lib.*/ocaml/bigarray.cmxs' -PATCHES=( - "${FILESDIR}"/${PN}-4.14.0-clang.patch -) +RESTRICT="!test? ( test )" src_prepare() { default @@ -53,6 +51,7 @@ src_configure() { --libdir="${EPREFIX}/usr/$(get_libdir)/ocaml" --mandir="${EPREFIX}/usr/share/man" --prefix="${EPREFIX}/usr" + $(use_enable test ocamltest) \ $(use_enable flambda) ) @@ -83,6 +82,10 @@ src_test() { } src_install() { + # OCaml generates textrels on 32-bit arches + if use arm || use ppc || use x86 ; then + export QA_TEXTRELS='.*' + fi default dodir /usr/include diff --git a/dev-lang/perl/Manifest b/dev-lang/perl/Manifest index aecb4fde543c..86751b9111c2 100644 --- a/dev-lang/perl/Manifest +++ b/dev-lang/perl/Manifest @@ -1,3 +1,5 @@ DIST perl-5.38.0-patches-1.tar.gz 26047 BLAKE2B 809dd5242f9868e54525ae8056598d3252c889afc72ed6f122174f828947223399a5ba4dbc16dd43501f7138205991f8c102cbe0ed94175ae3353040c53a0162 SHA512 c66160e20095555aa21d3be70050dce934d62e55e01dcf0f716129b2faa390923958a48bc448b4fab6f55e5b097eb378f7a6409a92c024fe68c8b34fddcfc5e4 DIST perl-5.38.2.tar.xz 13679524 BLAKE2B 74250e30dde76911902a787134808dae69113c07029cdf09ab4777e7bb4e6c389cdefb9cb08be87e106a4bcd40dacaf188907d7a62c5aca22c1e374741855b39 SHA512 0ca51e447c7a18639627c281a1c7ae6662c773745ea3c86bede46336d5514ecc97ded2c61166e1ac15635581489dc596368907aa3a775b34db225b76d7402d10 +DIST perl-5.40.0-patches-2.tar.xz 17072 BLAKE2B 7cc1085a0a701f72cf1fce2b7f18ac949eb03a9e40716c37082396483045df577ef13bbca58ef06f20868e52e9c78e18fa5b8a3434ceea272ff49832a086a1f5 SHA512 d31a25894e3b34c8e80f439ebd423dd8f28eac056ce42d69376882c1655b1f7289ef22f8aa8d30147eaebbe6693f4d86d1570e153b55d58d7b30e5832e7bea60 +DIST perl-5.40.0.tar.xz 13804184 BLAKE2B cf191c3ccaf6f395c0c7d08c2ad3456c1dd622d4fe78e7fb3a74c741e9a84f1d39a55f5bc6adbea54c9520b1b387e72e957f9a7544ab8f24968d233cd5b959ae SHA512 a2fb1a24c6367b4043f4e929b2d74fc3bad1415e53b791ed1f219f1701064ae21b2bd3164ba95fcf24eaf458bd54433024ccae43725c0bb82a1ec6a98dc7052d DIST perl-cross-1.5.2.tar.gz 120097 BLAKE2B 8703816363b41ea5fe528b192ed28b169cf0bfc3c61a9332682240bdc02f6ef0208fc0202517ba03e7c177bfbb52783c833aacaf2d16583e0f90bd58805a03ff SHA512 fb16316add0a7458f087295077518402eddaa1c759da6e268742e9ba5439cb3f1db7adcd7ef769c4a613b7518ff9e48849f60b24bd2a6daaaf6e96b59bbf0ac8 diff --git a/dev-lang/perl/metadata.xml b/dev-lang/perl/metadata.xml index c36cc7ac8780..993685cc10e1 100644 --- a/dev-lang/perl/metadata.xml +++ b/dev-lang/perl/metadata.xml @@ -5,10 +5,6 @@ <email>perl@gentoo.org</email> <name>Gentoo Perl Project</name> </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="cpe">cpe:/a:perl:perl</remote-id> <remote-id type="github">Perl/perl5</remote-id> diff --git a/dev-lang/perl/perl-5.38.2-r5.ebuild b/dev-lang/perl/perl-5.38.2-r5.ebuild index 7d4eea184691..37a04465b8e2 100644 --- a/dev-lang/perl/perl-5.38.2-r5.ebuild +++ b/dev-lang/perl/perl-5.38.2-r5.ebuild @@ -627,6 +627,9 @@ src_configure() { if tc-is-cross-compiler; then append-cflags "-fwrapv" + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + # bug #913171 export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" fi diff --git a/dev-lang/perl/perl-5.38.2-r4.ebuild b/dev-lang/perl/perl-5.38.2-r6.ebuild index 05d1fecd87ba..51b567eba914 100644 --- a/dev-lang/perl/perl-5.38.2-r4.ebuild +++ b/dev-lang/perl/perl-5.38.2-r6.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing @@ -70,10 +70,9 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND="${RDEPEND}" - PDEPEND=" - >=app-admin/perl-cleaner-2.30 !minimal? ( + >=app-admin/perl-cleaner-2.31 >=virtual/perl-CPAN-2.290.0 >=virtual/perl-Encode-3.120.0 >=virtual/perl-File-Temp-0.230.400-r2 @@ -564,6 +563,9 @@ src_configure() { # However, the darwin prefix people have no locale.h ... use elibc_glibc && myconf -Ui_xlocale + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + # This flag makes compiling crash in interesting ways filter-flags "-malign-double" @@ -625,6 +627,9 @@ src_configure() { if tc-is-cross-compiler; then append-cflags "-fwrapv" + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + # bug #913171 export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" fi diff --git a/dev-lang/perl/perl-5.38.2-r2.ebuild b/dev-lang/perl/perl-5.40.0.ebuild index e49b6cd534d7..ebcb1e7114af 100644 --- a/dev-lang/perl/perl-5.38.2-r2.ebuild +++ b/dev-lang/perl/perl-5.40.0.ebuild @@ -1,16 +1,16 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing -PATCH_VER=1 +PATCH_VER=2 CROSS_VER=1.5.2 -PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}" +PATCH_BASE="perl-5.40.0-patches-${PATCH_VER}" PATCH_DEV=dilfridge -DIST_AUTHOR=PEVANS +DIST_AUTHOR=HAARG # Greatest first, don't include yourself # Devel point-releases are not ABI-intercompatible, but stable point releases are @@ -18,7 +18,7 @@ DIST_AUTHOR=PEVANS PERL_BIN_OLDVERSEN="" if [[ "${PV##*.}" == "9999" ]]; then - DIST_VERSION=5.30.0 + DIST_VERSION=5.40.0 else DIST_VERSION="${PV/_rc/-RC}" fi @@ -39,24 +39,26 @@ MY_PV="${DIST_VERSION%-RC*}" DESCRIPTION="Larry Wall's Practical Extraction and Report Language" +HOMEPAGE="https://www.perl.org/" + 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/archive/refs/tags/${PATCH_BASE}.tar.gz - https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.gz + 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/" +S="${WORKDIR}/${MY_P}" LICENSE="|| ( Artistic GPL-1+ )" + SLOT="0/${SUBSLOT}" if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi -IUSE="berkdb debug doc gdbm ithreads minimal quadmath" +IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath" RDEPEND=" berkdb? ( sys-libs/db:= ) @@ -67,10 +69,9 @@ RDEPEND=" " DEPEND="${RDEPEND}" BDEPEND="${RDEPEND}" - PDEPEND=" - >=app-admin/perl-cleaner-2.30 !minimal? ( + >=app-admin/perl-cleaner-2.31 >=virtual/perl-CPAN-2.290.0 >=virtual/perl-Encode-3.120.0 >=virtual/perl-File-Temp-0.230.400-r2 @@ -79,27 +80,26 @@ PDEPEND=" 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.400.0 ptar ptardiff ptargrep + src_remove_dual perl-core/Archive-Tar 3.20.10_rc ptar ptardiff ptargrep src_remove_dual perl-core/CPAN 2.360.0 cpan src_remove_dual perl-core/Digest-SHA 6.40.0 shasum - src_remove_dual perl-core/Encode 3.190.0 enc2xs piconv + src_remove_dual perl-core/Encode 3.210.0 enc2xs piconv src_remove_dual perl-core/ExtUtils-MakeMaker 7.700.0 instmodsh src_remove_dual perl-core/ExtUtils-ParseXS 3.510.0 xsubpp - src_remove_dual perl-core/IO-Compress 2.204.0 zipdetails - src_remove_dual perl-core/JSON-PP 4.160.0 json_pp - src_remove_dual perl-core/Module-CoreList 5.202.311.290 corelist - src_remove_dual perl-core/Pod-Checker 1.750.0 podchecker + src_remove_dual perl-core/IO-Compress 2.212.0 zipdetails + src_remove_dual perl-core/JSON-PP 4.160.0 json_pp + src_remove_dual perl-core/Module-CoreList 5.202.406.90 corelist + src_remove_dual perl-core/Pod-Checker 1.770.0 podchecker src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc - src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage - src_remove_dual perl-core/Test-Harness 3.440.0 prove - src_remove_dual perl-core/podlators 5.10.0 pod2man pod2text - src_remove_dual_man perl-core/podlators 5.10.0 /usr/share/man/man1/perlpodstyle.1 + src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage + src_remove_dual perl-core/Test-Harness 3.480.0 prove + src_remove_dual perl-core/podlators 5.10.200_rc pod2man pod2text + src_remove_dual_man perl-core/podlators 5.10.200_rc /usr/share/man/man1/perlpodstyle.1 } check_rebuild() { @@ -129,17 +129,46 @@ check_rebuild() { # 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 + ( use perl_features_ithreads && ( has_version '<dev-lang/perl-5.38.2-r3[-ithreads]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \ + ( ! use perl_features_ithreads && ( has_version '<dev-lang/perl-5.38.2-r3[ithreads]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \ + ( use perl_features_quadmath && ( has_version '<dev-lang/perl-5.38.2-r3[-quadmath]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \ + ( ! use perl_features_quadmath && ( has_version '<dev-lang/perl-5.38.2-r3[quadmath]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \ + ( use perl_features_debug && ( has_version '<dev-lang/perl-5.38.2-r3[-debug]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \ + ( ! use perl_features_debug && ( has_version '<dev-lang/perl-5.38.2-r3[debug]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_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 "TOGGLED PERL FEATURES WARNING:" + ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug." + ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically" + ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner." ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl" + ewarn + ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl." + ewarn "If you just upgraded and do not intend to change anything, carry the same settings over" + ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., " + ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\"" + fi +} + +pkg_pretend() { + if \ + ( use perl_features_ithreads && has_version '<dev-lang/perl-5.38.2-r3[-ithreads]' ) || \ + ( ! use perl_features_ithreads && has_version '<dev-lang/perl-5.38.2-r3[ithreads]' ) || \ + ( use perl_features_quadmath && has_version '<dev-lang/perl-5.38.2-r3[-quadmath]' ) || \ + ( ! use perl_features_quadmath && has_version '<dev-lang/perl-5.38.2-r3[quadmath]' ) || \ + ( use perl_features_debug && has_version '<dev-lang/perl-5.38.2-r3[-debug]' ) || \ + ( ! use perl_features_debug && has_version '<dev-lang/perl-5.38.2-r3[debug]' ) ; \ + then + echo "" + ewarn "As of dev-lang/perl-5.38.2-r3, the useflags debug, ithreads, quadmath move into" + ewarn "a use-expand variable PERL_FEATURES, which should be set globally in make.conf." + ewarn "It appears that you have not set this variable properly yet." + ewarn "" + ewarn "Giving you a chance to abort and read the corresponding news item now..." + for n in 10 9 8 7 6 5 4 3 2 1 ; do + echo -n "${n} " + sleep 2 + done; + echo "continuing." fi } @@ -151,13 +180,13 @@ pkg_setup() { esac myarch="${CHOST%%-*}-${osname}" - if use debug ; then + if use perl_features_debug ; then myarch+="-debug" fi - if use quadmath ; then + if use perl_features_quadmath ; then myarch+="-quadmath" fi - if use ithreads ; then + if use perl_features_ithreads ; then mythreading="-multi" myarch+="-thread" fi @@ -387,8 +416,8 @@ src_prepare() { local patchdir="${WORKDIR}/patches" - mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die - mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die + # mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die # Prepare Patch dir with additional patches / remove unwanted patches # Inject bug/desc entries for perl -V @@ -396,10 +425,6 @@ src_prepare() { # 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" - add_patch "${FILESDIR}/${PN}-5.36.0-fix-configure-for-clang.patch" \ - "100-5.36.0-fix-configure-for-clang.patch" \ - "Fix clang check in configure" \ - "https://github.com/Perl/perl5/issues/21099" if [[ ${CHOST} == *-solaris* ]] ; then # do NOT mess with nsl, on Solaris this is always necessary, @@ -534,12 +559,12 @@ src_configure() { # However, the darwin prefix people have no locale.h ... use elibc_glibc && myconf -Ui_xlocale + # Perl relies on -fwrapv semantics + filter-flags -ftrapv + # This flag makes compiling crash in interesting ways filter-flags "-malign-double" - # Generic LTO broken since 5.28, triggers EUMM failures - filter-lto - # On musl we dont want to use largefile *64 types, since 1) normal # types are 64bit / largefile anyway and 2) the *64 types are going # away in 1.2.4... bug #911233 @@ -581,11 +606,11 @@ src_configure() { myconf -Ui_db -Ui_ndbm fi - use ithreads && myconf -Dusethreads + use perl_features_ithreads && myconf -Dusethreads - use quadmath && myconf -Dusequadmath + use perl_features_quadmath && myconf -Dusequadmath - if use debug ; then + if use perl_features_debug ; then append-cflags "-g" myconf -DDEBUGGING elif [[ ${CFLAGS} == *-g* ]] ; then @@ -598,6 +623,9 @@ src_configure() { if tc-is-cross-compiler; then append-cflags "-fwrapv" + # Needed for the CHOST build too (bug #932385) + export CFLAGS="${CFLAGS} -D_GNU_SOURCE" + # bug #913171 export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE" fi @@ -678,14 +706,13 @@ src_configure() { # 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}" \ -Dar="$(tc-getAR)" \ -Dcc="$(tc-getCC)" \ -Dcpp="$(tc-getCPP)" \ + -Dld="$(tc-getCC)" \ -Dnm="$(tc-getNM)" \ -Dranlib="$(tc-getRANLIB)" \ -Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \ diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest index 29a8ddbafa8c..d558144544a8 100644 --- a/dev-lang/php/Manifest +++ b/dev-lang/php/Manifest @@ -1,5 +1,7 @@ DIST php-8.1.26.tar.xz 11809448 BLAKE2B e1d50f1de572580a207586b3c3b57081f7b9f1b680ffe8f9e82c88c9285af117dd7e9e2576fcb13119176cb9cd02b39481b6f40e9a1df81aa90b8c4d3e59e4b1 SHA512 5bc40077e57c0fccdf17810d688baea416f22ac248bb01b73d2e2590fc4cfabc7001c1c3833281a60870c74178f7b06cbc85474eba695aabf969ad0081a98417 DIST php-8.1.28.tar.xz 11848504 BLAKE2B a5deb596176bcd69c33f239e752ac75e2da1538efe6d2b321802c50ea250214c6d9b59e8a5cb74f97f37c917159ef4fde4ccda4403d6e0a6fe751a19b7687472 SHA512 d56ecac164e00e9514cd3c6c8c453598b323118dc7d7ae7cc14ba0847d50a2e455b2391f52e0d81af325b02d8f73a7d2ed66bf66d068dac4a496d777c83a398f +DIST php-8.1.29.tar.xz 11826292 BLAKE2B 471f85504531c61e534c857a854de2ce9935b263e002deee19c4508390f6b2a11f89a02f55a90d660ee8d537b22a45db057e24373fb17fd2edf45f6e458f0196 SHA512 fd4f75224f71111a4cc40b3015ae70ac57a623326a3299da9ab8bd9dfad4ea27ff345d0eb75f1407d183207e763d372d738bbd8d217d01ec1414d29a547e8ba7 DIST php-8.2.15.tar.xz 12075384 BLAKE2B cef15868968538e232093bd66d862a88f0960325f2274eaf53a3d114d01787c58844aa3bce8bc09a723acd95801e1935a60e79fc189317e7f1ba19196dbfcdc4 SHA512 56c94bcafe07cf4bf5eb5fc6c67fcf16654c44a262ffb18188fc3ffac5e9bb11d39093bfb26c26bc8d2dec7e530d1a175180909262c9b5c30130cf5a4a293166 DIST php-8.2.18.tar.xz 12089400 BLAKE2B 82a4ef0aee7fa66018cb528e6fc2da40f67be2a75449ed85c54881e6725cfa9fe82d6d5655c12d2e92f3fd685479367b7c038df5af0d7a0a122d627c78c50514 SHA512 8bdd6e5aa19dac80745d258a43f7330a3096d47dc66cbef0054b8f9eb9ace5e87d841a4001185a783241a416975753c922425e977f50b2716ce643b6a7bf351f -DIST php-8.3.6.tar.xz 12468116 BLAKE2B 33d318058123544cbfd95ca65bd75b1eda64757f07af1d0c49eeb98c1ea5f803f1a27f5fe32c983ecdf6f789cef8afc564b384b8537b0a11525cf3ec38373e04 SHA512 fa0b6734e34af90b67bdb991726faa02f7ddd7f31adf73d0b96762452a652690ef5fbae2f6cb941fbd41533b1d6870a78192433e78d5a16a8b5f55b3a5fdf44a +DIST php-8.2.20.tar.xz 12097568 BLAKE2B 1e38e48ea9c28abfe2c3bd860bc5d959fbe327669c007f2e2a665ae14f5a045f6ad8a0a972f32618f88ea1ff3636c2692504478b5b094b48404d6c4a214f863b SHA512 c659ed4809b6507aa428b483c85c7322815ac9d7d8e4bfe575513a5e69c5a680b8d089fd98a19f83d3a00df3de61468809f21408455913aa24d519776e44abc5 +DIST php-8.3.8.tar.xz 12480896 BLAKE2B 477129fcd766f2235e3d776c923ba51b76539f074245e8041a861db09ebbc648658b2756e6a23051a75a512fdc6e5c129633d1471213dec6f7e24d4da0d317e8 SHA512 1a2840f0b5dcbea6dfcc3894cb9e38d103bf4110c1b956438199deee0b60e5ae63cce34be25ca6f03ac8d26581a852657f8800f92fefe38345e20443b646bb3e diff --git a/dev-lang/php/php-8.1.28.ebuild b/dev-lang/php/php-8.1.28.ebuild index 406551a46114..4fb765cbc0a9 100644 --- a/dev-lang/php/php-8.1.28.ebuild +++ b/dev-lang/php/php-8.1.28.ebuild @@ -20,7 +20,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" diff --git a/dev-lang/php/php-8.1.29.ebuild b/dev-lang/php/php-8.1.29.ebuild new file mode 100644 index 000000000000..40dff326628c --- /dev/null +++ b/dev-lang/php/php-8.1.29.ebuild @@ -0,0 +1,782 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOMAKE="none" + +inherit flag-o-matic multilib systemd autotools + +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 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +# 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 apparmor argon2 avif 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 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 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 ) + avif? ( gd zlib ) + 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 ) + 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.7[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[jit?,unicode] + virtual/libcrypt:= + fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + avif? ( media-libs/libavif:= ) + 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.29.0 ) + enchant? ( app-text/enchant:2 ) + ffi? ( >=dev-libs/libffi-3.0.11:= ) + firebird? ( dev-db/firebird ) + gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( net-libs/c-client[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-9.1:* ) + 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.2: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.9.0 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + 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? ( + 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}/php-capstone-optional.patch" + "${FILESDIR}/php-8.1.27-gcc14-libxml.patch" + "${FILESDIR}/php-8.1.27-implicit-decls.patch" + "${FILESDIR}/fix-musl-llvm.patch" +) + +# ARM/Windows functions that are expected to be undefined. +QA_CONFIG_IMPL_DECL_SKIP=( + __crc32d + _controlfp + _controlfp_s +) + +# Functions from alternate iconv implementations (bug 925268) +QA_CONFIG_IMPL_DECL_SKIP+=( + iconv_ccs_init + cstoccsid +) + +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 + + # 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 \ + ext/fileinfo/tests/bug78987.phpt || die +} + +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}" + + # https://bugs.gentoo.org/866683, https://bugs.gentoo.org/913527 + filter-lto + + # 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 + --without-valgrind + $(use_enable threads zts) + ) + + # The slotted man/info pages will be missed by the default list of + # docompress paths. + docompress "${PHP_DESTDIR}/man" "${PHP_DESTDIR}/info" + + our_conf+=( + $(use_with apparmor fpm-apparmor) + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_with avif) + $(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_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 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 + our_conf+=( $(use_with mysqli mysqli "mysqlnd") ) + + 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 "mysqlnd") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # 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$(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$(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 + + 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}" + + 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-8.2.18.ebuild b/dev-lang/php/php-8.2.18.ebuild index 5b90e1767bb8..a7ece279280a 100644 --- a/dev-lang/php/php-8.2.18.ebuild +++ b/dev-lang/php/php-8.2.18.ebuild @@ -20,7 +20,7 @@ LICENSE="PHP-3.01 unicode? ( BSD-2 LGPL-2.1 )" SLOT="$(ver_cut 1-2)" -KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" # We can build the following SAPIs in the given order SAPIS="embed cli cgi fpm apache2 phpdbg" @@ -328,6 +328,10 @@ src_prepare() { # the tests fail. This is not really a test that end users should # be running pre-install, in my opinion. Bug 927461. rm ext/fileinfo/tests/bug78987.phpt || die + + # glibc-2.39 compatibility, fixed upstream in + # https://github.com/php/php-src/pull/14097 + rm ext/standard/tests/strings/setlocale_variation3.phpt || die } src_configure() { diff --git a/dev-lang/php/php-8.2.20.ebuild b/dev-lang/php/php-8.2.20.ebuild new file mode 100644 index 000000000000..b41df824151a --- /dev/null +++ b/dev-lang/php/php-8.2.20.ebuild @@ -0,0 +1,869 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOMAKE="none" + +inherit flag-o-matic multilib systemd autotools + +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 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" + +# 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 apparmor argon2 avif bcmath berkdb bzip2 calendar + cdb cjk +ctype curl debug + enchant exif ffi +fileinfo +filter firebird + +flatfile ftp gd gdbm gmp +iconv imap inifile + intl iodbc ipv6 +jit 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 + valgrind webp +xml xmlreader xmlwriter 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 ) + avif? ( gd zlib ) + 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 ) + 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 ) + test? ( cli ) +" + +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.7[apache2?,fpm?] + >=dev-libs/libpcre2-10.30[jit?,unicode] + virtual/libcrypt:= + fpm? ( acl? ( sys-apps/acl ) apparmor? ( sys-libs/libapparmor ) selinux? ( sys-libs/libselinux ) ) + apache2? ( www-servers/apache[apache2_modules_unixd(+),threads=] ) + argon2? ( app-crypt/argon2:= ) + avif? ( media-libs/libavif:= ) + berkdb? ( || ( sys-libs/db:5.3 sys-libs/db:4.8 ) ) + bzip2? ( app-arch/bzip2:0= ) + cdb? ( || ( dev-db/cdb dev-db/tinycdb ) ) + curl? ( >=net-misc/curl-7.29.0 ) + enchant? ( app-text/enchant:2 ) + ffi? ( >=dev-libs/libffi-3.0.11:= ) + firebird? ( dev-db/firebird ) + gd? ( media-libs/libjpeg-turbo:0= media-libs/libpng:0= ) + gdbm? ( >=sys-libs/gdbm-1.8.0:0= ) + gmp? ( dev-libs/gmp:0= ) + iconv? ( virtual/libiconv ) + imap? ( net-libs/c-client[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-9.1:* ) + 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.2:0= ) + tidy? ( app-text/htmltidy ) + tokyocabinet? ( dev-db/tokyocabinet ) + truetype? ( =media-libs/freetype-2* ) + unicode? ( dev-libs/oniguruma:= ) + valgrind? ( dev-debug/valgrind ) + webp? ( media-libs/libwebp:0= ) + xml? ( >=dev-libs/libxml2-2.9.0 ) + xpm? ( x11-libs/libXpm ) + xslt? ( dev-libs/libxslt ) + zip? ( >=dev-libs/libzip-1.2.0:= ) + 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? ( + 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}/php-capstone-optional.patch" + "${FILESDIR}/php-8.2.8-openssl-tests.patch" +) + +# ARM/Windows functions (bug 923335) +QA_CONFIG_IMPL_DECL_SKIP=( + __crc32d + _controlfp + _controlfp_s +) + +# Functions from alternate iconv implementations (bug 925268) +QA_CONFIG_IMPL_DECL_SKIP+=( + iconv_ccs_init + cstoccsid +) + +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 + + # missing skipif; fixed upstream already + rm sapi/cgi/tests/005.phpt || die + + # These three get BORKED on no-ipv6 systems, + # + # https://github.com/php/php-src/pull/11651 + # + rm ext/sockets/tests/mcast_ipv6_recv.phpt \ + ext/sockets/tests/mcast_ipv6_recv_limited.phpt \ + ext/sockets/tests/mcast_ipv6_send.phpt \ + || die + + # fails in a network sandbox, + # + # https://github.com/php/php-src/issues/11662 + # + rm ext/sockets/tests/bug63000.phpt || die + + # expected output needs to be updated, + # + # https://github.com/php/php-src/pull/11648 + # + rm ext/dba/tests/dba_tcadb.phpt || die + + # Two IMAP tests missing SKIPIFs, + # + # https://github.com/php/php-src/pull/11654 + # + rm ext/imap/tests/imap_mutf7_to_utf8.phpt \ + ext/imap/tests/imap_utf8_to_mutf7_basic.phpt \ + || die + + # broken upstream with icu-73.x, + # + # https://github.com/php/php-src/issues/11128 + # + rm ext/intl/tests/calendar_clear_variation1.phpt || die + + # overly sensitive to INI values; fixes sent upstream: + # + # https://github.com/php/php-src/pull/11631 + # + rm ext/session/tests/{bug74514,bug74936,gh7787}.phpt || die + + # This is sensitive to the current "nice" level: + # + # https://github.com/php/php-src/issues/11630 + # + rm ext/standard/tests/general_functions/proc_nice_basic.phpt || die + + # Tests ignoring the "-n" flag we pass to run-tests.php, + # + # https://github.com/php/php-src/pull/11669 + # + rm ext/standard/tests/file/bug60120.phpt \ + ext/standard/tests/general_functions/proc_open_null.phpt \ + ext/standard/tests/general_functions/proc_open_redirect.phpt \ + ext/standard/tests/general_functions/proc_open_sockets1.phpt \ + ext/standard/tests/general_functions/proc_open_sockets2.phpt \ + ext/standard/tests/general_functions/proc_open_sockets3.phpt \ + ext/standard/tests/ini_info/php_ini_loaded_file.phpt \ + sapi/cli/tests/016.phpt \ + sapi/cli/tests/023.phpt \ + sapi/cli/tests/bug65275.phpt \ + sapi/cli/tests/bug74600.phpt \ + sapi/cli/tests/bug78323.phpt \ + || die + + # Same TEST_PHP_EXTRA_ARGS (-n) issue with this one, but it's + # already been fixed upstream. + rm sapi/cli/tests/017.phpt || die + + # Most Oracle tests are borked, + # + # * https://github.com/php/php-src/issues/11804 + # * https://github.com/php/php-src/pull/11820 + # * https://github.com/php/php-src/issues/11819 + # + rm ext/oci8/tests/*.phpt || die + + # https://github.com/php/php-src/issues/12801 + rm ext/pcre/tests/gh11374.phpt || die + + # This is a memory usage test with hard-coded limits. Whenever the + # limits are surpassed... they get increased... but in the meantime, + # the tests fail. This is not really a test that end users should + # be running pre-install, in my opinion. Bug 927461. + rm ext/fileinfo/tests/bug78987.phpt || die + + # glibc-2.39 compatibility, fixed upstream in + # https://github.com/php/php-src/pull/14097 + rm ext/standard/tests/strings/setlocale_variation3.phpt || die + + # The expected warnings aren't triggered in this test because we + # define session.save_path on the CLI: + # + # https://github.com/php/php-src/issues/14368 + # + rm ext/session/tests/gh13856.phpt || die +} + +src_configure() { + addpredict /usr/share/snmp/mibs/.index #nowarn + addpredict /var/lib/net-snmp/mib_indexes #nowarn + + # https://bugs.gentoo.org/866683, https://bugs.gentoo.org/913527 + filter-lto + + PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}" + + # Don't allow ./configure to detect and use an existing version + # of PHP; this can lead to all sorts of weird unpredictability + # as in bug 900210. + export ac_cv_prog_PHP="" + + # 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 + --without-valgrind + --with-external-libcrypt + $(use_enable threads zts) + ) + + # The slotted man/info pages will be missed by the default list of + # docompress paths. + docompress "${PHP_DESTDIR}/man" "${PHP_DESTDIR}/info" + + our_conf+=( + $(use_with apparmor fpm-apparmor) + $(use_with argon2 password-argon2 "${EPREFIX}/usr") + $(use_with avif) + $(use_enable bcmath) + $(use_with bzip2 bz2 "${EPREFIX}/usr") + $(use_enable calendar) + $(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_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 selinux fpm-selinux) + $(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 xslt xsl) + $(use_with zip) + $(use_with zlib zlib "${EPREFIX}/usr") + $(use_enable debug) + $(use_with valgrind) + ) + + # 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 + our_conf+=( $(use_with mysqli) ) + + 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 "mysqlnd") + $(use_with postgres pdo-pgsql) + $(use_with sqlite pdo-sqlite) + $(use_with firebird pdo-firebird "${EPREFIX}/usr") + $(use_with oci8-instant-client pdo-oci) + ) + fi + + # 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 + + # Create separate build trees for each enabled SAPI. The upstream + # build system doesn't do this, but we have to do it to use a + # different php.ini for each SAPI (see --with-config-file-path and + # --with-config-file-scan-dir below). The path winds up define'd + # in main/build-defs.h which is included in main/php.h which is + # included by basically everything; so, avoiding a rebuild after + # changing it is not an easy job. + local one_sapi + local sapi + mkdir "${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 + + 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 + einfo "Running econf in ${BUILD_DIR}" + 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 + + if use oci8-instant-client && use kerberos && use imap && use phar; then + # A conspiracy takes place when the first three of these flags + # are set together, causing the newly-built "php" to open + # /dev/urandom with mode rw when it starts. That's not actually + # a problem... unless you also have USE=phar, which runs that + # "php" to build some phar thingy in src_compile(). Later in + # src_test(), portage (at least) sets "addpredict /" so the + # problem does not repeat. + addpredict /dev/urandom #nowarn + fi + + local sapi + for sapi in ${SAPIS} ; do + use "${sapi}" && emake -C "${WORKDIR}/sapis-build/${sapi}" + 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$(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$(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() { + export TEST_PHP_EXECUTABLE="${WORKDIR}/sapis-build/cli/sapi/cli/php" + + # Sometimes when the sub-php launches a sub-sub-php, it uses these. + # Without an "-n" in all instances, the *live* php.ini can be loaded, + # pulling in *live* zend extensions. And those can be incompatible + # with the thing we just built. + export TEST_PHP_EXTRA_ARGS="-n" + + 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 + + # The sendmail override prevents ext/imap/tests/bug77020.phpt from + # actually trying to send mail, and will be fixed upstream soon: + # + # https://github.com/php/php-src/issues/11629 + # + # The IO capture tests need to be disabled because they fail when + # std{in,out,err} are redirected (as they are within portage). + # + # One -n applies to the top-level "php", while the other applies + # to any sub-php that get invoked by the test runner. + SKIP_IO_CAPTURE_TESTS=1 SKIP_PERF_SENSITIVE=1 REPORT_EXIT_STATUS=1 \ + "${TEST_PHP_EXECUTABLE}" -n \ + "${WORKDIR}/sapis-build/cli/run-tests.php" --offline -n -q \ + -d "session.save_path=${T}" \ + -d "sendmail_path=echo >/dev/null" \ + || die "tests failed" +} + +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-8.3.6.ebuild b/dev-lang/php/php-8.3.8.ebuild index 7242d6432c71..607ae090b3e6 100644 --- a/dev-lang/php/php-8.3.6.ebuild +++ b/dev-lang/php/php-8.3.8.ebuild @@ -5,7 +5,7 @@ EAPI=8 WANT_AUTOMAKE="none" -inherit flag-o-matic multilib systemd autotools +inherit flag-o-matic multilib systemd DESCRIPTION="The PHP language runtime engine" HOMEPAGE="https://www.php.net/" @@ -118,7 +118,7 @@ COMMON_DEPEND=" unicode? ( dev-libs/oniguruma:= ) valgrind? ( dev-debug/valgrind ) webp? ( media-libs/libwebp:0= ) - xml? ( dev-libs/libxml2 ) + xml? ( >=dev-libs/libxml2-2.12.5 ) xpm? ( x11-libs/libXpm ) xslt? ( dev-libs/libxslt ) zip? ( dev-libs/libzip:= ) @@ -144,11 +144,6 @@ BDEPEND="virtual/pkgconfig" PHP_MV="$(ver_cut 1)" -PATCHES=( - "${FILESDIR}/php-iodbc-header-location.patch" - "${FILESDIR}/fix-musl-llvm.patch" -) - # ARM/Windows functions (bug 923335) QA_CONFIG_IMPL_DECL_SKIP=( __crc32d @@ -229,12 +224,6 @@ src_prepare() { 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 - # fails in a network sandbox, # # https://github.com/php/php-src/issues/11662 @@ -259,21 +248,18 @@ src_prepare() { sapi/cli/tests/bug78323.phpt \ || die - # https://github.com/php/php-src/issues/12801 - rm ext/pcre/tests/gh11374.phpt || die - - # A new test failure appearing in 8.3.2, mentioned on the PR - # where it was likely introduced: - # - # https://github.com/php/php-src/pull/13017 - # - rm ext/dom/tests/DOMNode_isEqualNode.phpt || die - # This is a memory usage test with hard-coded limits. Whenever the # limits are surpassed... they get increased... but in the meantime, # the tests fail. This is not really a test that end users should # be running pre-install, in my opinion. Bug 927461. rm ext/fileinfo/tests/bug78987.phpt || die + + # The expected warnings aren't triggered in this test because we + # define session.save_path on the CLI: + # + # https://github.com/php/php-src/issues/14368 + # + rm ext/session/tests/gh13856.phpt || die } src_configure() { @@ -422,10 +408,22 @@ src_configure() { # ODBC support if use odbc && use iodbc ; then + # Obtain the correct -l and -I flags for the actual build from + # pkg-config. We use the "generic" library type to avoid the + # (wrong) hard-coded include dir for iodbc. + # + # We set the pdo_odbc_def_incdir variable because the + # ./configure script checks for the headers using "test -f" and + # ignores your CFLAGS... and pdo_odbc_def_libdir prevents the + # build system from appending a nonsense -L flag. + local iodbc_ldflags=$(pkg-config --libs libiodbc) + local iodbc_cflags=$(pkg-config --cflags libiodbc) our_conf+=( + pdo_odbc_def_libdir="${EPREFIX}/usr/$(get_libdir)" + pdo_odbc_def_incdir="${EPREFIX}/usr/include/iodbc" --without-unixODBC --with-iodbc - $(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr") + $(use_with pdo pdo-odbc "generic,,iodbc,${iodbc_ldlags},${iodbc_cflags}") ) elif use odbc ; then our_conf+=( @@ -691,11 +689,6 @@ src_test() { export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" fi - # The sendmail override prevents ext/imap/tests/bug77020.phpt from - # actually trying to send mail, and will be fixed upstream soon: - # - # https://github.com/php/php-src/issues/11629 - # # The IO capture tests need to be disabled because they fail when # std{in,out,err} are redirected (as they are within portage). # @@ -705,7 +698,6 @@ src_test() { "${TEST_PHP_EXECUTABLE}" -n \ "${WORKDIR}/sapis-build/cli/run-tests.php" --offline -n -q \ -d "session.save_path=${T}" \ - -d "sendmail_path=echo >/dev/null" \ || die "tests failed" } diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 3022f6306081..1756a0eb1bc0 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -6,10 +6,12 @@ DIST Python-3.11.9.tar.xz 20175816 BLAKE2B 4e7cd2c42ee39b5ef9624ebd1798320957e94 DIST Python-3.11.9.tar.xz.asc 833 BLAKE2B fa29f632bae0bee7db946038ee3529bc3bfbe1b2e755b21394f67a3c80911ce8079aaab43a16d88e614a8bfc01fb5105ce3f61c59a5ca44470b0f59787c707b3 SHA512 b18b50e7168b2ca5376a1fa75e50e8baae2026d4f11d4cf613d758f3f17df4610fe4653fb2ac0c5c4ec0f6e630dc6490ad1ff32a2fd0ebd60f9f3bd136207ffc DIST Python-3.12.3.tar.xz 20625068 BLAKE2B fc4f57ae50183db4c8cb37d94c37a7e58da5d031e03866841a678b986f01bbb8afdefb38124ba82b0a4988445b647214be43338dea13b0f063d3c2bf81c48c0b SHA512 4a2213b108e7f1f1525baa8348e68b2a2336d925e60d0a59f0225fc470768a2c8031edafc0b8243f94dbae18afda335ee5adf2785328c2218fd64cbb439f13a4 DIST Python-3.12.3.tar.xz.asc 963 BLAKE2B f9668dde210793f8da0e0bb026b8ec3e0b4bc3abc58e72732f8faf356b19ca88a59b9d89b4b10f77b3602d9a967f0f2f44a0f091d698bc28ba9bad8049e5e006 SHA512 c291ec5b5e4f8deba867cc517624dd9a174745f04061ef737e58f3d52b9b30318264aec350e339fe88ccb493809ca1a90a378e86d86b8ec4a4f578b1a5843624 -DIST Python-3.13.0a6.tar.xz 20890000 BLAKE2B 3a08003be366d78c8e3f7d45440bb23a6c9fb1228a31212b1585d1ab1129a6e252e852f8bd300c13d45ccaa0988f6f5de2a067b4a0c9583be10da4c20ceffa74 SHA512 6e999c718cdfede4abc52297aae7160a2864424e8f49a47321fa822d40c331a3d061a0982e355351a0c4bea40e9b1ec3832d76a7f4b6b3986b62fca2757f0ca1 -DIST Python-3.13.0a6.tar.xz.asc 963 BLAKE2B 8f221fbba5f92a0468d2c28418b4d02037a59d4177e3e96f339a67376d0335df9ca23294e63d5ef4ef926bf7deafb2f8a458e740281429b0a648bd087b4e99a4 SHA512 1ec2abe8198a5fbd98490274bed7e84b48fcfc6ff25fcb474455d9f33b62673cfb7cf4939b304684aed005975d166143cb644b9a3e484d25de3dacb869de0131 +DIST Python-3.12.4.tar.xz 20659356 BLAKE2B 4255171ef8ee1777bab829be7bbaf28a9d5073985b3b1309a41694dda5f6b4ad599df4534a1ce83ec65b357d42416cc18722ca94b4227a45ebd90e2c1df90945 SHA512 750132ee6369196096130a924f4ddb78b9a55804133e5d136a70b9280928822974d1aa559d844486df02e89155fb0d8117871e1ac532abc18174309ca4b08369 +DIST Python-3.12.4.tar.xz.asc 963 BLAKE2B d4f62dca1de5f4e4b2581fc49ca55b1d87abe7c4ceb2c9087efe4b92d9e9b3bdd25949bbf82fd771b4b60bc3690be982c2f25b810d87592665f0728fbe08be9d SHA512 1102b17f395e0ec5de5368d04a4dceb8cc98dd408b68b53998071cf129eb9a6c259316a416128f1dfa37a739f86e599507502a98430348da2272442ce1b7059e DIST Python-3.13.0b1.tar.xz 21054240 BLAKE2B fba108b2971fe188a05340753a48379c9a829ce680f13dc50d95d889ef5ee833b82be157d1b011ba841c149d633e8eb64b07098bf03a2adcf711b3f688465050 SHA512 81cc1d8691bfcc8f8bb232ea15c18039d0df036f5cbc1667fec3b6c34cdf198bed97418ec775c037778c250b7bc4f35bd5fb938dd478cc17fc48c74b8a2b2d19 DIST Python-3.13.0b1.tar.xz.asc 963 BLAKE2B 1b038d2b73fdbe11a1ada18ceab4a174ae52aab68ae9c3a9952ee60a16ce3e08e54c13e0c47264442415f70bd39a06c2b0f97c3cef31330f51102dad6d4a837b SHA512 c10832b5016ad9a9588b7efd29a35272c1c07b444df116c397fed82d66f30150687d68a6853637094be2fe1d8ed0928a9cd151617c91d9eb9938ba1385bd7143 +DIST Python-3.13.0b2.tar.xz 21089692 BLAKE2B 3cc77e9b7abcd8c9797a40b2a1f5ff6562a1841dd44c4785a57941b1eb4d70d20a3dc5bcf8cbfe3d1b2c7f846d7da7fd89758e113542820945da996d2c6a68af SHA512 3a37c8137958a6ebaf06f5a03b28c7817f359f346d820a9989932b1a716478647e8d1b94c1a08197bcabf68cd90443a08ab9454af9151eace52401d8b60d0c35 +DIST Python-3.13.0b2.tar.xz.asc 963 BLAKE2B 2acab01cd8b2b5072e87f0c697767e9cec6a73cd6afae38f066a3bfa14798d10e01c03e806a1a90d1db3e5d91dea090d9dd37d1884bef3291783e6163e3d8906 SHA512 17091aba45ebd8c8feb3e9c54854e20dcd44fec4a1c08c9c0c4593166c407c4ad2b245a0e0893afc83a43e8b461a557fa1d6691c87a6a5ebc97ea448a9201c87 DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625 DIST Python-3.8.19.tar.xz.asc 833 BLAKE2B a11705011e9ea2bd6cbabc2b4c896ba94675341188eb483b881c2cb25c932e9ff25f9f589f930605b0442ff93a1f54532608b111c8ace715a406ce10809af671 SHA512 efdaae5462badcf4b98625ce8ab0e34756acea9539416e6ec428725b04539f8c38c1978de346510d669e93bbeef3ae20b1534e4c6582f89c7dc56a04c7cae140 DIST Python-3.9.19.tar.xz 19682840 BLAKE2B a12256663f0ff3b799c2193c5877aa89a434340dfa01e655f790abea70af0709b54577e1c2590add241308a8581fd6f45a22aed450bd5db2bf9fa35c4a9d619b SHA512 5577830c734e63a70bbc62cd33d263b9aa87c4381b49cb694c3559067c4c682a55506b65ec5514a8e0a5abf6294dc728e909385d449ae1c388e62f83cea9bb89 @@ -18,7 +20,15 @@ DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38ccba937f1b3ee8443ed186c22ede58b4c7324a8541cf724590686671a9aa9194662303ce75bc80aac8ee6f9da34b793876817b6f593ff SHA512 5d969f5e5126ee675a062924a5f403de142fc5bfe4a931fd3576bcc6298a855419d305d4b1ffedacb429783a05324b36eef4c45c861c47bada0bdd840de2bca3 DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997 DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f -DIST python-gentoo-patches-3.13.0a6.tar.xz 5240 BLAKE2B 827a365f60a1acfcbb5ddd568e4938cbd7f98678a12c756774b4307141834d90b890006e68965369663af1c6d594cf44466b9624f5ce3741ade28d80f3289437 SHA512 e45e0aaab022d2cc633576990a6232235067d89fc1270004caf18da898b98767ba7fa811bc8beb3cd8f0f842125cbd3cc3382e3aee13f15b8971d818f4813a30 +DIST python-gentoo-patches-3.12.4.tar.xz 6056 BLAKE2B 8e8caa52f5725aaed08e8442609bec45b11c63d5f29f8fdb302416716bf77ef1bb7fe5e9d14bab12517dabd01dc06172fe11b176326291b19785a8b1d74ee9b9 SHA512 d2fd747f81a3812f5d4a0d281ac336a43961abcf4a4e503564fa3b5d33c0312a6c7148c6f516f5c4c917432c63488615161a847ccb6539a457406b82f1661a24 +DIST python-gentoo-patches-3.12.4_p1.tar.xz 7088 BLAKE2B 450b95539aaf7c8c052ca1bbcab3b1a8f1c33e8007b6c66cc290c33d88cac8bad346e13cf96508834599a59ccb6548e6dd8cbfb1e24d84539f502101b04299d0 SHA512 df874cb1d8d0f5df60fca82daa2a59cbcfeba6be72b021101a753306a09bb19ee268681b3fdb39659be923d868c727bf7aabbe8173cfd48a329c66f4727353c7 DIST python-gentoo-patches-3.13.0b1_p1.tar.xz 5480 BLAKE2B 830370b56bd662b10dd4423f1e758da79c61d535a18b35496e09d864642873449a13738da8e042b94c58e8e300ac7c003088be69e27467dd024daf54b6a34c22 SHA512 d696c96263ca51f611d508ee644f7254d2607236e829946c35dc6a6977eafa98748fa807b36d40d5e32f278db3493876b2214b4e2bb1ceb4deaa1fbb8fb2c052 +DIST python-gentoo-patches-3.13.0b1_p2.tar.xz 9300 BLAKE2B 63179b01623c6677363c4d1c2f7890e81defd4ca451259b66eff79c92bee68a92a0a33893801fabd8af2e9f07fe1bbd985a494a9ac3fe4662f9db6dc346db418 SHA512 29b29975571abe7dc4269f8b758bf825b431adc7e72bceb42eb801d35bc2eea4f11adea96c8742a0cc273b718b3a632a1051bac1d2d45e40aa419d0f624cf1f6 +DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b +DIST python-gentoo-patches-3.13.0b2.tar.xz 5276 BLAKE2B 047e0362c328ca7545d7b0a86476f95eeecb381b979284a779788c451000e9fe0e1d31461865cd8f818be203b72404f9d810e5baf479a89c6dccc6db7501719a SHA512 43d3ef8e558309d2d93ce6d473eaecfc5359515067a861303b0f085eeb741265d4d071112dcaf55c0d38707c27df35398d3e6310fc1e522debeaaa1e5e8b55b4 +DIST python-gentoo-patches-3.13.0b2_p1.tar.xz 9300 BLAKE2B 1aad8a19a5c237dc0dd67dd3f83116009e1d78f0e3d63780c463e418f22b5f1a4d50035fff8a80ac24b4d5fbcac281fc766fd3e86428d3c3041b5df3f5a518fc SHA512 bc09bdd4bc9716c83d580307af6d30f149894912ad2dbbf02274c88be82f67653aada0a8d16199d85418b1237ecff7c5e41352c759a31b807e7011089ebbbc20 +DIST python-gentoo-patches-3.13.0b2_p3.tar.xz 10216 BLAKE2B ecc5c82ab17a4874ac8f8694fd76bd9401926a164c8ba38578da3c153138921463d07788e5bbcd5a87bc1d31703c4f06b193003bdb098ff6f07ff93178299113 SHA512 79d19cad2b497a315ecd923e995a99b22b132fb13239592ab73716ff1c799da8d371106f57f597eac44a5958d13e5bc7ce4c8bf4c160b6b219ad59b23da99298 DIST python-gentoo-patches-3.8.19_p1.tar.xz 35008 BLAKE2B 8771e3a2329577659a4ff64987f2500b7dc4f07f78677b823c8f11e7a9e7fc0369cc127e6ad1f1000986937b7811467bd22ba02129a754246658f99b7219a4a7 SHA512 470c125e8df23c1db358c2f7bbf5ac3b28e76fb843364f7fd5aa2fd399ac9b01a2ddfc2c1765f91236c71712941d19f273fb21f960239f79a0263b5b47081d46 +DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3 DIST python-gentoo-patches-3.9.19_p2.tar.xz 27684 BLAKE2B a69f00548c153da7b13dfeccb332d3d67ecf649fb5ae054590492f3e2fc2c84b78ebaf90bcf9738157c9022778e5bf2a6b4fb6a99e996dcb63859dcf6f84af23 SHA512 552a5f2d89307d4193d76df5a2cf1deb4bd5c8ad9ec81e6768987f1649f6571a318e68b92d8f8ecdba12bfe9c5f1a427a4cc577e6aaebf7748027cc50e412804 +DIST python-gentoo-patches-3.9.19_p3.tar.xz 28240 BLAKE2B 35c70b1f9a590abe9a74795f478ab788cd72c96e9d84f2756685e61324dc4203148e71b00a236bb4af8fb8315e3582ecec255b39749a653e0511d4a9f9fef725 SHA512 6b8f4dab4aa7d4d646ee4091b5cf76bbc8896d4299a3623660a2c5fec06c0cf56c0a50ac87604885cd155141bc85e0e80acdbedb7b34a813901aad021b9b8ab2 diff --git a/dev-lang/python/metadata.xml b/dev-lang/python/metadata.xml index 22ce986e0676..97c6bd965b9f 100644 --- a/dev-lang/python/metadata.xml +++ b/dev-lang/python/metadata.xml @@ -14,6 +14,10 @@ to bootstrap pip and setuptools (if disabled, it will be only possible to use venv `--without-pip`) </flag> + <flag name="gil"> + Build with Global Interpreter Lock. Disable to use + the experimental freethreading mode. + </flag> <flag name="jit"> Enable experimental Just-In-Time compilation support. </flag> diff --git a/dev-lang/python/python-3.10.14_p1-r1.ebuild b/dev-lang/python/python-3.10.14_p1-r1.ebuild new file mode 100644 index 000000000000..d8dac73ea15a --- /dev/null +++ b/dev-lang/python/python-3.10.14_p1-r1.ebuild @@ -0,0 +1,542 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + valgrind? ( dev-debug/valgrind ) + test? ( app-arch/xz-utils ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + 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" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # 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/python${PYVER}/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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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.9-r1.ebuild b/dev-lang/python/python-3.11.9-r1.ebuild new file mode 100644 index 000000000000..8faa8aaa1381 --- /dev/null +++ b/dev-lang/python/python-3.11.9-r1.ebuild @@ -0,0 +1,573 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__GDBM_STATE=disabled + MODULE__DBM_STATE=disabled + MODULE__SQLITE3_STATE=disabled + MODULE__HASHLIB_STATE=disabled + MODULE__SSL_STATE=disabled + MODULE__CURSES_STATE=disabled + MODULE__CURSES_PANEL_STATE=disabled + MODULE_READLINE_STATE=disabled + MODULE__TKINTER_STATE=disabled + MODULE_PYEXPAT_STATE=disabled + MODULE_ZLIB_STATE=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + PYTHON_DISABLE_MODULES+=" _ctypes _crypt" emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + 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 + + # force-disable modules we don't want built + local disable_modules=( NIS ) + use gdbm || disable_modules+=( _GDBM _DBM ) + use sqlite || disable_modules+=( _SQLITE3 ) + use ssl || disable_modules+=( _HASHLIB _SSL ) + use ncurses || disable_modules+=( _CURSES _CURSES_PANEL ) + use readline || disable_modules+=( READLINE ) + use tk || disable_modules+=( _TKINTER ) + + local mod + for mod in "${disable_modules[@]}"; do + echo "MODULE_${mod}_STATE=disabled" + done >> Makefile || die + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # Prevent using distutils bundled by setuptools. + # https://bugs.gentoo.org/823728 + 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 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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 +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.13.0_alpha6.ebuild b/dev-lang/python/python-3.12.3-r1.ebuild index ffa0f839d606..092a62b34918 100644 --- a/dev-lang/python/python-3.13.0_alpha6.ebuild +++ b/dev-lang/python/python-3.12.3-r1.ebuild @@ -2,15 +2,12 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="8" - -LLVM_COMPAT=( 16 ) -LLVM_OPTIONAL=1 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing -inherit pax-utils python-utils-r1 toolchain-funcs verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_alpha/a} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -31,11 +28,11 @@ S="${WORKDIR}/${MY_P}" LICENSE="PSF-2" SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit + bluetooth build debug +ensurepip examples gdbm libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" # Do not add a dependency on dev-lang/python to this ebuild. @@ -49,6 +46,7 @@ RDEPEND=" app-crypt/libb2 >=dev-libs/expat-2.1:= dev-libs/libffi:= + dev-libs/mpdecimal:= dev-python/gentoo-common >=sys-libs/zlib-1.1.3:= virtual/libcrypt:= @@ -87,12 +85,6 @@ BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) " RDEPEND+=" @@ -118,7 +110,6 @@ pkg_pretend() { } pkg_setup() { - use jit && llvm-r1_pkg_setup use test && check-reqs_pkg_setup } @@ -257,9 +248,22 @@ src_configure() { # Hangs (actually runs indefinitely executing itself w/ many cpython builds) # bug #900429 -x test_tools + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes - # Fails in profiling run, passes in src_test(). - -x test_capi + # fpathconf, ttyname errno values + -x test_os ) if has_version "app-arch/rpm" ; then @@ -289,12 +293,12 @@ src_configure() { --without-ensurepip --without-lto --with-system-expat + --with-system-libmpdec --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -372,7 +376,7 @@ src_compile() { local -x COLUMNS=80 local -x PYTHONDONTWRITEBYTECODE= - addwrite "/usr/lib/python${PYVER}/site-packages" + addpredict "/usr/lib/python${PYVER}/site-packages" fi # also need to clear the flags explicitly here or they end up @@ -419,6 +423,22 @@ src_test() { ) fi + # musl-specific skips + use elibc_musl && test_opts+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + # workaround docutils breaking tests cat > Lib/docutils.py <<-EOF || die raise ImportError("Thou shalt not import!") @@ -525,7 +545,8 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die # idle if use tk; then diff --git a/dev-lang/python/python-3.12.4.ebuild b/dev-lang/python/python-3.12.4.ebuild new file mode 100644 index 000000000000..f7e54652dedc --- /dev/null +++ b/dev-lang/python/python-3.12.4.ebuild @@ -0,0 +1,574 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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 +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.12.4_p1.ebuild b/dev-lang/python/python-3.12.4_p1.ebuild new file mode 100644 index 000000000000..bec993fb2e80 --- /dev/null +++ b/dev-lang/python/python-3.12.4_p1.ebuild @@ -0,0 +1,558 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +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:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # musl-specific skips + use elibc_musl && test_opts+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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.13.0_beta1_p1.ebuild b/dev-lang/python/python-3.13.0_beta1_p1.ebuild index 2c1b1e63d735..2b6b7179aa75 100644 --- a/dev-lang/python/python-3.13.0_beta1_p1.ebuild +++ b/dev-lang/python/python-3.13.0_beta1_p1.ebuild @@ -33,7 +33,7 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit libedit + bluetooth build +debug +ensurepip examples gdbm +gil jit libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind " REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" @@ -117,6 +117,14 @@ QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) pkg_pretend() { use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi } pkg_setup() { @@ -239,6 +247,7 @@ src_configure() { -m test "-j$(makeopts_jobs)" --pgo-extended + --verbose3 -u-network # We use a timeout because of how often we've had hang issues @@ -299,6 +308,7 @@ src_configure() { --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip $(use_with debug assertions) + $(use_enable gil) $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") @@ -408,6 +418,7 @@ src_test() { local -x LOGNAME=buildbot local test_opts=( + --verbose3 -u-network -j "$(makeopts_jobs)" diff --git a/dev-lang/python/python-3.13.0_beta1_p2.ebuild b/dev-lang/python/python-3.13.0_beta1_p2.ebuild new file mode 100644 index 000000000000..54b95e896355 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta1_p2.ebuild @@ -0,0 +1,643 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + big-endian bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${ARCH} in + hppa) + profile_task_flags+=( + -x test_descr + -x test_exceptions # bug 931908 + -x test_os + ) + ;; + ia64) + profile_task_flags+=( + -x test_ctypes + -x test_external_inspection # partial PGO only (flaky in src_test) + -x test_signal # PGO only + ) + ;; + mips) + profile_task_flags+=( + -x test_ctypes # partial PGO only (more fails) + -x test_external_inspection # PGO only + -x test_statistics + ) + ;; + ppc64) + if use big-endian; then + profile_task_flags+=( + -x test_descr + -x test_exceptions # PGO only, bug 931908 + ) + fi + ;; + riscv) + profile_task_flags+=( + -x test_statistics + -x test_urllib2 + ) + ;; + sparc) + profile_task_flags+=( + -x test_ctypes + -x test_descr + -x test_exceptions # bug 931908 + ) + ;; + esac + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${ARCH} in + ia64) + test_opts+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips) + test_opts+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + ppc64) + if use big-endian; then + test_opts+=( -x test_descr ) + fi + ;; + riscv) + test_opts+=( + -x test_urllib2 + ) + ;; + sparc) + test_opts+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + -x test_exceptions # bug 931908 + ) + ;; + esac + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.13.0_beta1_p3.ebuild b/dev-lang/python/python-3.13.0_beta1_p3.ebuild new file mode 100644 index 000000000000..792927c05468 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta1_p3.ebuild @@ -0,0 +1,684 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.13.0_beta2.ebuild b/dev-lang/python/python-3.13.0_beta2.ebuild new file mode 100644 index 000000000000..792927c05468 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta2.ebuild @@ -0,0 +1,684 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.13.0_beta2_p1.ebuild b/dev-lang/python/python-3.13.0_beta2_p1.ebuild new file mode 100644 index 000000000000..792927c05468 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta2_p1.ebuild @@ -0,0 +1,684 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/python/python-3.13.0_beta2_p3.ebuild b/dev-lang/python/python-3.13.0_beta2_p3.ebuild new file mode 100644 index 000000000000..d8206dba60a4 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta2_p3.ebuild @@ -0,0 +1,668 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_beta/b} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build +debug +ensurepip examples gdbm +gil jit + libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + jit? ( + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + ) + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend + + if ! use gil || use jit; then + ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using" + ewarn "them could lead to unexpected breakage, including race conditions" + ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" + ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead," + ewarn "please consider reporting freethreading / JIT problems upstream." + fi +} + +pkg_setup() { + use jit && llvm-r1_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 and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + # Set baseline test skip flags. + COMMON_TEST_SKIPS=( + # failures + -x test_concurrent_futures + -x test_gdb + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + COMMON_TEST_SKIPS+=( + -x test_builtin + -x test_capi + -x test_cmath + -x test_float + # timeout + -x test_free_threading + -x test_math + -x test_numeric_tower + -x test_random + -x test_statistics + # bug 653850 + -x test_resource + -x test_strtod + ) + ;; + ia64*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + ) + ;; + mips*) + COMMON_TEST_SKIPS+=( + -x test_ctypes + -x test_external_inspection + -x test_statistics + ) + ;; + powerpc64-*) # big endian + COMMON_TEST_SKIPS+=( + -x test_descr + ) + ;; + riscv*) + COMMON_TEST_SKIPS+=( + -x test_urllib2 + ) + ;; + sparc*) + COMMON_TEST_SKIPS+=( + # bug 788022 + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + + -x test_ctypes + -x test_descr + # bug 931908 + -x test_exceptions + ) + ;; + esac + + # musl-specific skips + use elibc_musl && COMMON_TEST_SKIPS+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + --verbose3 + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + "${COMMON_TEST_SKIPS[@]}" + + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + # Arch-specific skips. See #931888 for a collection of these. + case ${CHOST} in + alpha*) + profile_task_flags+=( + -x test_os + ) + ;; + hppa*) + profile_task_flags+=( + -x test_descr + # bug 931908 + -x test_exceptions + -x test_os + ) + ;; + ia64*) + profile_task_flags+=( + -x test_signal + ) + ;; + powerpc64-*) # big endian + profile_task_flags+=( + # bug 931908 + -x test_exceptions + ) + ;; + riscv*) + profile_task_flags+=( + -x test_statistics + ) + ;; + esac + + # musl-specific skips + use elibc_musl && profile_task_flags+=( + # various musl locale deficiencies + -x test__locale + -x test_c_locale_coercion + -x test_locale + -x test_re + + # known issues with find_library on musl + # https://bugs.python.org/issue21622 + -x test_ctypes + + # fpathconf, ttyname errno values + -x test_os + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --without-lto + --with-system-expat + --with-system-libmpdec + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable gil) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addwrite "/usr/lib/python${PYVER}/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 + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + --verbose3 + -u-network + -j "$(makeopts_jobs)" + "${COMMON_TEST_SKIPS[@]}" + ) + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} diff --git a/dev-lang/python/python-3.8.19_p2.ebuild b/dev-lang/python/python-3.8.19_p2.ebuild new file mode 100644 index 000000000000..58a211df31ee --- /dev/null +++ b/dev-lang/python/python-3.8.19_p2.ebuild @@ -0,0 +1,432 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools flag-o-matic multiprocessing pax-utils +inherit prefix 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + 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 + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die + sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die + + rm Lib/distutils/command/wininst*.exe || die + + eautoreconf +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + 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" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + 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 + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # 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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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.19_p3.ebuild b/dev-lang/python/python-3.9.19_p3.ebuild new file mode 100644 index 000000000000..603a9680996d --- /dev/null +++ b/dev-lang/python/python-3.9.19_p3.ebuild @@ -0,0 +1,492 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit prefix 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/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm +ncurses pgo + +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-libs/mpdecimal:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-wheels ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + 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 + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( app-arch/xz-utils ) + valgrind? ( dev-debug/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + dev-build/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( sec-keys/openpgp-keys-python ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +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 and libffi are not used. + rm -r Modules/expat || die + rm -r Modules/_ctypes/libffi* || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # https://bugs.gentoo.org/850151 + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + local jobs=$(makeopts_jobs) + 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() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + local disable + 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" + export PYTHON_DISABLE_MODULES="${disable}" + + if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then + einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}" + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -x test_gdb + -x test_dtrace + -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) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + 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 + --without-lto + --with-system-expat + --with-system-ffi + --with-system-libmpdec + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable pgo optimizations) + $(use_with valgrind) + ) + + # disable implicit optimization/debugging flags + local -x OPT= + + # https://bugs.gentoo.org/700012 + if tc-is-lto; then + append-cflags $(test-flags-CC -ffat-lto-objects) + myeconfargs+=( + --with-lto + ) + fi + + if tc-is-cross-compiler ; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 and bug #864911. + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross. + --without-lto + --disable-optimizations + ) + + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + export PATH="${WORKDIR}/${P}-${CBUILD}:${PATH}" + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + # We disable _ctypes and _crypt for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" \ + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Avoid as many dependencies as possible for the cross build. + cat >> Makefile <<-EOF || die + MODULE_NIS=disabled + MODULE__DBM=disabled + MODULE__GDBM=disabled + MODULE__DBM=disabled + MODULE__SQLITE3=disabled + MODULE__HASHLIB=disabled + MODULE__SSL=disabled + MODULE__CURSES=disabled + MODULE__CURSES_PANEL=disabled + MODULE_READLINE=disabled + MODULE__TKINTER=disabled + MODULE_PYEXPAT=disabled + MODULE_ZLIB=disabled + EOF + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the Python it was pointed to + # immediately. + PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _ctypes _crypt" emake + popd &> /dev/null || die + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + hprefixify setup.py + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + # 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/python${PYVER}/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 + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +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 + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 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/ruby/Manifest b/dev-lang/ruby/Manifest index ec89cddbf5b8..b690e7d8e06d 100644 --- a/dev-lang/ruby/Manifest +++ b/dev-lang/ruby/Manifest @@ -1,6 +1,8 @@ DIST ruby-3.1.4.tar.xz 15316604 BLAKE2B 5d771c267451c05ae192991976957d43d1131e652ac5a90a8dfff9deba97cf6b139d0113f5d2ed44225a545aa79a1c732555de1efc83d1010d097ec35f7e92dd SHA512 a627bb629a10750b8b2081ad451a41faea0fc85d95aa1e267e3d2a0f56a35bb58195d4a8d13bbdbd82f4197a96dae22b1cee1dfc83861ec33a67ece07aef5633 DIST ruby-3.1.5.tar.xz 15293020 BLAKE2B 5d886f45f2a27dbe7682f5afc234d4992ffc5006cfaa98f23c29e1fff0323c277ffec827c71ee75885b4f2cf0bf7baed4ea239ae32283578213821e597bf51da SHA512 a9883f4d074825bb1f54ef3429a9a71341274bd2de1aa8ea32bce19b6b9c1bac5e5dc4c34a92b8e7caa73ba71d7ed7c546a6fec6f1fd3d8986974dce214f6d49 +DIST ruby-3.1.6.tar.xz 15273916 BLAKE2B feb697b8d01ebde0042e679b814c4c95481c6afa607db46ad1511fb0d1a555d7800725e847e90dd9944ef42575c5205cf711025a165a65b6070743701631929c SHA512 a3159648706d6d11ce9613201141e884b3accc69bf928c756de8a8f2b71d219886e91435d30cf2c30e85af31f87801138e10106344766100f1b80662c7244652 DIST ruby-3.2.3.tar.xz 15163960 BLAKE2B e2cfa215b2cb910bac5f3b58edcdece91b21ffcfb6b4c183eec0c8502c320b78e7a8732c393b6e6a38dc9cfd81e129c00562d9be45f0deb36306ac81f96dcdc1 SHA512 d2a1897c2f4e801a28acb869322abfee76775115016252cecad90639485ed51deda1446cb16edb387f10a2e188602d646ef9b008b57f27bd745071277c535f3b DIST ruby-3.2.4.tar.xz 15175656 BLAKE2B 9c2300a958b03528d51f0d74a069c8c538ca4009835d55377509a000bcfb43893a8a80d8fda57011e77c72e6283cb259281d5ba7b37444546e49f2a9ad515cf3 SHA512 fb0af37be4b6ad7b98ab9f8a508952238ee68b5828e3926331e4db52e2ebc1e6046f31114069322db0cd3bea7c9b82ace91c8564573ddcfa1f960877b237dbff DIST ruby-3.3.0.tar.xz 16345456 BLAKE2B 09ef6fb4b2768118207e7a9ece17c5c62c9f596b1c13ac6199245889fcc5d25f03336831ec3bf1367a460a8a26c4426c32bcd576b0da8bdafc90301032b4d2f0 SHA512 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 DIST ruby-3.3.1.tar.xz 16350792 BLAKE2B f3591d2420edd8c1d5b365d1442fcc07c014e402478dce01a80b81c16c3c7083bcd3e9e9aa0f8d586cd482f0f18eb64ad813ea31755f5d12b137ce03b1a0fa4c SHA512 c58e9be9b5ab48191fbf7d67e13f0ec42ee71ed338170e0f7b246708e9cfc617ce65098f5ce7ab32d4305e785642d3e44253462104d5b9c4abcb1a4113f48347 +DIST ruby-3.3.2.tar.xz 16349500 BLAKE2B 2a474df10363555e8f0b9ad73bb854ad34f3d1485b8bdde833c999b20bc2c17282d2097d887d10f454bbd4dfdf08f04bb644a7e41d0b4a0ff0e9eb144339b5e8 SHA512 70dd8eb933956f894c52a8ede42e8ee74ff0e062bd8134a0bfb6bffc83a2848a658b62c8df5530b4dd64087b2d5373909c48917528facb1e6f4e99e79b6ad449 diff --git a/dev-lang/ruby/ruby-3.1.6.ebuild b/dev-lang/ruby/ruby-3.1.6.ebuild new file mode 100644 index 000000000000..a14fd90dfe78 --- /dev/null +++ b/dev-lang/ruby/ruby-3.1.6.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multiprocessing + +MY_P="${PN}-$(ver_cut 1-3)" +S=${WORKDIR}/${MY_P} + +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/irb-1.4.1[ruby_targets_ruby31(-)] + >=dev-ruby/minitest-5.15.0[ruby_targets_ruby31(-)] + >=dev-ruby/power_assert-2.0.1[ruby_targets_ruby31(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby31(-)] + >=dev-ruby/rbs-2.1.0[ruby_targets_ruby31(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby31(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby31(-)] + >=dev-ruby/test-unit-3.5.3[ruby_targets_ruby31(-)] + >=dev-ruby/typeprof-0.12.2[ruby_targets_ruby31(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby31(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby31(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby31(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby31(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby31(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/3.1/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + einfo "Removing bundled libraries..." + rm -fr ext/fiddle/libffi-3.2.1 || die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + # rm -rf tool/test/webrick || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb test/resolv/test_addr.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + sed -i -e '/def test_test/askip "Depends on system setup"' test/ruby/test_file_exhaustive.rb || die + + # MJIT is broken and removed in later ruby versions. + rm -f test/ruby/test_jit.rb || die + + # This test calls out to the system ruby which is not being tested + # and may not be the same version. + sed -e '/test_without_tty/aomit "Calls system ruby"' \ + -i test/readline/test_readline.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + + 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 + + # disable using security framework (GCC barfs on those headers) + sed -i \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + random.c || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # -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 \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support ) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + $(use_with valgrind) \ + ${myconf} \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + fi + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md doc/NEWS* README* +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.3.ebuild b/dev-lang/ruby/ruby-3.2.3.ebuild index 1c19b91c8e3d..1acabf564cb0 100644 --- a/dev-lang/ruby/ruby-3.2.3.ebuild +++ b/dev-lang/ruby/ruby-3.2.3.ebuild @@ -17,7 +17,7 @@ HOMEPAGE="https://www.ruby-lang.org/" SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" LICENSE="|| ( Ruby-BSD BSD-2 )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" RDEPEND=" diff --git a/dev-lang/ruby/ruby-3.3.2.ebuild b/dev-lang/ruby/ruby-3.3.2.ebuild new file mode 100644 index 000000000000..02b05be1c6ca --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.2.ebuild @@ -0,0 +1,293 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic multiprocessing + +MY_P="${PN}-$(ver_cut 1-3)" +S=${WORKDIR}/${MY_P} + +SLOT=$(ver_cut 1-2) +MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) +RUBYVERSION=${SLOT}.0 + +DESCRIPTION="An object-oriented scripting language" +HOMEPAGE="https://www.ruby-lang.org/" +SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz" + +LICENSE="|| ( Ruby-BSD BSD-2 )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="berkdb debug doc examples gdbm jemalloc jit socks5 +ssl static-libs systemtap tk valgrind xemacs" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( >=virtual/rust-1.58.1 ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.2.6[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.3[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + 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 + + # disable using security framework (GCC barfs on those headers) + sed -i \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + random.c || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # -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 + + # 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} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + fi + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest index fa3d893c7e86..ee7ee74850c5 100644 --- a/dev-lang/rust-bin/Manifest +++ b/dev-lang/rust-bin/Manifest @@ -221,6 +221,40 @@ DIST rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz 159040536 BLAKE2B ccfc6a96f1a40 DIST rust-1.77.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1adeaa22c0a80e6b9132fe290272c7713fe03902649fd6a41ccf46fbaa4d6a986540defa7bf34b2b0456bd8eab28a088a30fa23abb82a2cf110d1338aa6a623c SHA512 1d4ad50a386c3f03214439bc8067f2a721c30b9d4aa47a4494f0db32e242293dbf19ae1c5388315eccf377cfa947b2b40084bcba48fbc55a55be673b74074d5d DIST rust-1.77.1-x86_64-unknown-linux-musl.tar.xz 234990960 BLAKE2B badccc8785af974d02b63998ff7b4f4b9235cb181cfa44ec35ad682a5c741d3621f4306ad874f11ac14301079558c162088da85414f335b67760f22475d67c2c SHA512 addb62f012787b391403bb25297c0b620c6beb431bd8ef3287a547ba7c31b4e3ccb29decddddf8a34ae849433f64334309b574dcd8743bf8da0efa38feda771f DIST rust-1.77.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B f1e69cba4d762b98e615b6ddee831193ee915b8a797c48395bff7af3abe13a791267f2fb3b1e1b7df06e6e89497606064dc2fa60ec417bcb67ccc4de7cf5900b SHA512 1aa346a14b8a357b7f747a56d2e718fc15ef3a5095ec6dcaf3381b2d57b170e8b0b604d885d54cd39fad4602928612ddb8754010b4e27060123c67a23def4bd3 +DIST rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz 223523772 BLAKE2B 734416f447462f2778b74f12ffdda13374c95cc399e8728afbeb61b06c0db2e522e760a257d2ce26ce8190cb9c8292880bf02da52df04c3cf205841b95825767 SHA512 80adc842a56ac95d472dcd94aab199dbcfb3d3a5e7a8cb32b8334b038c58a66b8d4f3848ab62a3e799d7c35e6a32abb1f2738a784da8cfa3272ea299c528d5cd +DIST rust-1.78.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B b6cf17229559a845cf63a22043b1ecb9d7e142b536d0fdb0b44f36f05fe1238096c48dd61becac58275d60401a4f0ce623fed9593290d1f659d31976bb0c42ab SHA512 d03a380d0481b4ec19cfd8026d262ed19b7f6f4f40287b0e23127460029b30c47336232a488dc8d19d22df98f356cbd62d7d44f4a3e1cabb6f575531be8916f7 +DIST rust-1.78.0-aarch64-unknown-linux-musl.tar.xz 204806408 BLAKE2B 08abcef8a38d2d1e463971613481806e897ad4aa48a6e3306c23cf7b906807c944809ec60647c5a80e80978cf8aa8bb1b8e990d69769f94f44022b0f764cead4 SHA512 4ec03b17e2f016fc5449431c4d81d113c12227e6e11553f9fb4fb61e4ba3ca4216aad776e7e3c1e88ac42b797c07f5daa23cac90c3eaebc6d360602f026f9dac +DIST rust-1.78.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 1b51cb7337d71930d4d455d7d018a32de858b6627f0ca3cd636420bfdf0d608f550d41985a93b09575e5ac853361c3362a5c0b85366ff19712a4488b79b706c8 SHA512 a9e28326f91009ca248297ba1b099b718f577c030ae3c75daaeb4798cec4e4de585f1652f18ac170228c32e3784d38e328c3821d6735ea1c083bc4d5b80c426f +DIST rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz 188301776 BLAKE2B e227ecff233f42b9b8dd7b5807de8fbc972107e7099612986b275ba0391c8fc074344db0764d96d00c34a099380354ddc5e7beaad1d5444fc3300481f7504a2e SHA512 624eef628d9ac6e1eaa376677296cda0cecf4ff7efd4763e40735ec69788fcd34b4a4e05c34046e2b57b916285acdfa04f5b122142ed661032e9c0d713e8fd37 +DIST rust-1.78.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 43df87950eb9a8a0d2410c861e08ccb90a28c815d50cffbc310fef063e5b6b8b3246f5dc96ad34343a7107b025e863a87021e6d59e0826386e4864b68e3d693a SHA512 85f8822c493a1499e6404400b4c9ac293266533c49c5b0b4fab470d2acaf93078aff4d0c3cc59b9117ae9dcd4c47291a1197de44b56214146fd06e708479a191 +DIST rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz 188746984 BLAKE2B 567ba5298d6b5a4734d126e0b9e5df24460f6204b32ecf3892b45a26689bafe7ccf15f4a6a098a6a6ec7c3f15cf80d314e682f2d8c784a60d9847056be1885e1 SHA512 f9b5b48042868e91d73e3466f7529e2bb2b72d2489b2d0ff1fc83ec1b1cb035c88e57d48b0ed7298d5f50db0cf9da2681e9a4862c185a2bd241356632516c93a +DIST rust-1.78.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 4d4e6f113e18870a654bc175eba1ea8ae0129803503deba03d144be4f434b1b5651288e8e1cfaa51bf603f5bf51a959b584e2932c025c3474575dc282ec14d84 SHA512 6c682f710fc26e94f233ae27dab6be27fc132825c3604789671170c040b689bc1871d9a74436832fd07a0da50654d06f0c2b31dd8dd9787f1563e2085a51c14e +DIST rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz 194117584 BLAKE2B 5a62e628f06ba370b5ca2b11d8c657fe9c0885e4d36b14f49ab0b7759af0317f1c79ae92dbd5685c57de58c4f6c31fbe3f1c8b4e1721c91d67ed45232dbed5a8 SHA512 877c13fc97c5ed0785dd005c34e5d37763cee9b7c0b5c2217246d173d952301b1b6b590c3ca441269ec8d341a0cf5f2eb83db63517385bbecb0cf08167a3948e +DIST rust-1.78.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B a3ba9914c74373835ea6900f97100f631d0d5133adf6f1f938734be0d58484c72372b933e9c42fa37856efc6ade7650d969b412d66edd854ffff4918e8aecfed SHA512 6df8b791841f7bac8539e2ba9fd8d22d516a5906152861baef8ac3256136ef72f8fdb7cc9f843127311a8eeeb7911d058fb377db52ef4fe9a3cdc21396495ea6 +DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz 219666344 BLAKE2B 9302eae6c99af5598f9952255ca8bb3f0288a03b385f77b79323e725bbe398e722baf5ed2de7fd74caa452248800948aad33954a82cbdab97d1935785e6d4437 SHA512 15b6ab20665af6ac7df6e9c9078b9565b3f2e0d493c0b58cb06c682d9368917b2dbc509dfd23fac09dfddc9c60c5f89bdd8321dbada77958ca5a6261ec54d203 +DIST rust-1.78.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 8c23ee14f8db7c4a776f4b5b986384c9e2c79e6449e019c67b526ec219e92e35be5c46a4a2d8187aee0ab958c7ba5f2e10ae40f4c7cd083cbef59bbfc96b0c13 SHA512 ea13084528d4b8d558309a0d5c392c734140a854d9543beb0c9b3c5bd2fb530ba154c608920ad125683e1e9888228422352c3b1c1fdfa9d70df1bd4728193944 +DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz 170256096 BLAKE2B 07507d4517a9e421bcaa763cc93956d5c57d458f7b20f97f186f902702675b305e79c89142f5c9774b11e0842a82c8cb63247b71dacf1c362c0588b52dd86d3d SHA512 fc21d32b4ec72a3a5a353cbabb902df2676e3341a1f38ee45654eaf960bc677b0316af0474e5ce9d346d285a6f7f03ebeda7302b49650cd1ff8371c27166fd25 +DIST rust-1.78.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f99580babc5356c579b81fc0a4168dc1a57432d898e8e2422f00f9027477d704421cb217b5d56fa15a6fe9c01cbf8d4a727c6b01eedddbbcfe9d78e3cdfd24b5 SHA512 ab1ac741f6d71517a510a48fff1b903f325a35b83e35b7b73f4751c1f22e6944044d7a46f21e018659d7cf4ab5b430f6a4ff79971712af46a0d7705faf60e506 +DIST rust-1.78.0-mips-unknown-linux-gnu.tar.xz 70122976 BLAKE2B 78cd77109402f9121539db99bb263f37b9e8dbcd7d0fa102bd40437c4c051bb66d426fd223f062bd9715ce19f8b5f49ecc28ce59c0647dd4a29d9bc91fa68269 SHA512 85e8bdbfb750a20ce56756034f5b8a9a063baf38462ee9c47d0f495e09838b3d51db5428f56e4ca29f0d8bf5d8d7aac6508fbbefbc21b144230111683e2623ef +DIST rust-1.78.0-mips64-unknown-linux-gnuabi64.tar.xz 71942612 BLAKE2B 5735673c7c02f49193d69d02276f7eb1f380f487777a6e8751012ceec1a690dadd88e4b51ef6e393a7bcc066968eb306f4ad1df206bc48e0aab7bea40fc7373e SHA512 1cf95c52279b7ee3a003e2667004494f90d50ef84f57930b6682588c502c9ac1e441e9521d0888e3286cc97628fc0445fb5e5adb8c03ff1da9aca7a10a172d62 +DIST rust-1.78.0-mips64el-unknown-linux-gnuabi64.tar.xz 71921684 BLAKE2B 3aacca634a1749e43ec3d84c5388a16cfc0bef94e27c3221c40b43a296e0a79044af314b1704638f8f8ee9a03cc3f8a3932a252a19c7b91bd43b8b8e4f50dab3 SHA512 1fa047f55f4539fd16110525dbf94b3121e05513f25d81c6e95a30b2f6b099e30292545808a861816c779f060cf7ee9235b11311d1b0005e1c54ed1dc2dbd005 +DIST rust-1.78.0-mipsel-unknown-linux-gnu.tar.xz 71388596 BLAKE2B b0d87f4297f2b1fed10308ceb8809aec9323c2754212481ecf7c080ce993f485612ab5c82625feac644f14499c38780b3d1ea5af7c85f0167c26de5cda461332 SHA512 12a5955673f17243ada754bac4afdadc8ab6d3d6e4fc157328ab0067372d4206ace6ad99c168033cba23481167c24bdc4eafa0de24fd033ff7cf6ba1e16baa21 +DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz 183422544 BLAKE2B a37b4b4c3ba381e0456f46ac7d311ff6b11701026d568653f86d08e5170f9f21177e87efe329ea8fe259a6ab7991f096bb716af2bf3000569c9797db61a41c72 SHA512 eacce0850bbd9dd9a8a94177234d867dcf8d94c7c2e9f4260207b25364abffc8523e2b85e868b9dd9d4bd02ea4be06fb0c5fbcf5621ace2c0e93041a96cf7ad3 +DIST rust-1.78.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ad0201eb1760590381c0e7ee30f612a44157e10a634eb585f253788702653b3658c636c3f8c971a0c96de8944cb4c6960fd555f35dc1ee45fad18c7410ab4b7d SHA512 de5026257f1bd95146cb8057569d643a79ba440aab21efb4ea7df985a527654234c499f16cf75a29eb29cf9d7771893f0d4cfabc3483435ab73ce781aa573ebd +DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz 181366112 BLAKE2B c6edeeddc3934e6b93e65776a01c7f19c5e560716490eac2f52b56ba0ff58b974ee2be8e858265c4242d017106880a368244f5565e6f0438258b0cb0bfaa9a0e SHA512 7e0182680d216757d62627b07041d1e36eaae47ed341a548e29d6fe192f5e99a7f933461da025f4341d4c9b816ed3d8d3224bee12e29a0e7fc8bcd9a93c5069c +DIST rust-1.78.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B eb94775f878935e94b7a678d4588dd586de8ddd47120670326b6b9ed891edb009d637a2c99b0548e8d74d07960a02558f8421e0754d487e93b57bc2bfc19f052 SHA512 490b0ff842eafdf23adf754051c0f4abec2bfda438bc2e3f57cfe5232f1358318c31bcf6a9ea89284f26389f2f1212dc3ad467b14da465d655bbc6974981cd58 +DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz 192130524 BLAKE2B ca961dcd50d9071f0bf7b8f354aa0e78b4e3d4c9bd0b6c72f7a712bbe906833aa8982eb87d9065644c65e57e395ab09ed85bd24cf43477071e0c5cd8ed8590e7 SHA512 c890386b3a82ea36aca2f8753b0fc81a956ce3157b89ccd573403ec99b257299f84c976dc7972278371cca1b3945b21a50d276e10b4cd42647a9d26e0ebdd947 +DIST rust-1.78.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2bf8596c462d1231ad884a417c5b676447b8474023b5769343ec5a7788cb42c89b937987226db9bd526b3f4ff0a39648e4ee1136c3733d316e35b8ff7295b6ea SHA512 6bc9965d32420bd86422e4d5fefd82a46a169d5d80d298ccca08fb421858d5bc077f785a52f3404f29f394f2dc471a747fec208931d19358aebadab6d9952e0f +DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz 194762504 BLAKE2B b3a802e4b6efcd6c0c3155258b57483c24731e0564d0077f65706ac46898828c4e4d612996c16b63f9dbd5770ac6ab05cad27a27f1083f431e13aeb68e1e77be SHA512 530e5409755dcef86a9d074a3d387dedb5966689d7f47706e43daa5a9a8c65249f4d2b42916363b14924c11e1a5f5d934e9a1d9b47b1ed7206e85496fee27604 +DIST rust-1.78.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 6b8f4a535ae61cf04523254267c2f816e51e459a670b5c2aaa1a28d44092745d7c64baa399583a18cf84e03df2a910409cf99140e3337654a1a051e84d3865a1 SHA512 b226ead3b0dd067eea71d3b5088925f0cfa381aaab6f809e58dff83d00c17da4d99a9d241d49eb66e5db381cd9c63a21c2f5be3ab85658b0bf00b91e970c271a +DIST rust-1.78.0-riscv64gc-unknown-linux-musl.tar.xz 79587932 BLAKE2B ef34a7416459f50e9d8e6c8dc7f07435eb9bb93b8e07ba2211d539f9955b102c85a591706bc332127e246eeb842d1308a0568147ea3ba10463a6eb27a1fcb075 SHA512 53b28404505217a80369631e8630df21058f4d0eca4e9503f817b7960ddab95245303c571c0ec03208e5f550f239b247354a63b32c07eb6856e78ee70a02661a +DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz 207632244 BLAKE2B dd548d618a050991121afe1d8ec7d9fa5eab19d9fead94440f34627562bda9b5f544cbb03a06cd6e85eec4c8d5279b4237cd14c9754f95795e7a26f0b20036e6 SHA512 f17a472ba144efd41f791854931e1e2eb566f126037a1f234b0b54191941a77d8c340687c4c47e0bd4fbe306079cddb36637e998439845ec82206e4c567979af +DIST rust-1.78.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 5ea16c70fbdcce4cc17c37e9c3b642fc6deae9e2033821d21d3598652b8ed2dbab58cf09dec4e5b2f913cb9fb25820ccf3511af5eb84441e9bee6ba702005def SHA512 8384b20c9f9b6654fd69e90a91aa8572d22b4abbf83ca3b349b7672a5d8db131053ad1b6f8a48881be0060d3db2eaef52075d3a9b15a3c9ef9bb366d592fbcf0 +DIST rust-1.78.0-sparc64-unknown-linux-gnu.tar.xz 61524980 BLAKE2B 382473f85771b60201a27d4a7812b7a76953f800fb780f415cdedc1e183d6142f4e2cca6d0ad7718c80cd7a181652b175e6c2b51f8f0f303db6fe58b59afaa40 SHA512 0049d8262cd426f1f368919f13969f57ea724ceb15f257c71af7d831e607de874344b3be8a38c10f0d87a4fb72b6b69b77459a63f72ae5e1acbb5c601f30eaff +DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz 163959816 BLAKE2B 1987a6a0ea169d67214bf403cb1e6ada022eed163be6ac72e6e46d1596eba6f282cf87e0581e9ac1b264dee4c59edececc9085b0d16cacabc79f9375da652a24 SHA512 6bb0481804a1de8ee9fde7d4793d45e80f071534f2c3756867d95e99bfc4766de2618b5fd6b1d5e8f4794e54c7056124538fd301c5ec20351f8dada54ef4c20b +DIST rust-1.78.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 1b6b8e54c0eebbde2a803d14db3d75363c306c621845cad89c927a51a5df0ccb5d1406c8806a82d5d611d0a12c6d6c5ed0f113fe802e4b6a8e504e64562e168c SHA512 10072d0684b40a71176f36ad85b7161e1392b3f52c035bfd0c6bbf5889599234a7201d85a13f04de0269ef9d8e0c51d15a4e9a9151b3fa27cf9a6e8663203786 +DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz 245914600 BLAKE2B 66cc40b70ca70eebee5c173eefb07758a8a7421cbf421329b3b405bdab1651334a5ff1202b450139c89039a4c3fd6ecf8b78ed218c62e81c983e6bb7353a335c SHA512 21190a0034aab2757cdcbc2e456fdacc972634f25f5c75daa089030a82b407037d3c7d3528c8d126d48d2a6840edf97526007bef41689a86ef1eec8f8c569f08 +DIST rust-1.78.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 2ebc83f961f3bb1681bfd2e3f08b2c394bd8701c68b873eb524a9f9a79f3d3858ae75f76c0e0bc452cbdde9466b1d1b2723d04a8d41f68902355150c86d41042 SHA512 a32e7706ab9483a464e3001aebda8975ced4ef66a64f534d67c0a0e2b508f8db0523cfef4a66bb2b264bad486566c7f684d01ba96055133eccf0e9da4abfa46e DIST rust-src-1.71.0.tar.xz 2460128 BLAKE2B 3ab6c6cb76a7e18eb0ba085c45f8b1a8bba16e2569962c27187bb415c54d3c5c1032ce4552c52f93bd4ec2512634d8899fd35fbf1a035298a9b621b5af125971 SHA512 fd59a1ced7e950fa14fd7ec9c978043b99e678bda54338f60faaacced36110630385a2bb62af19670ef27db1144810ff60b03dde542273557473b9bb521bcf49 DIST rust-src-1.71.1.tar.xz 2460244 BLAKE2B e3a5b5bfb808310f96e760aab55310c7a790fa551d248c9c5dbb407e0a80653563d8df73a9e0973aa63d3286aad6c755b78098dd8db2dc1a2ed3cadb926b40e1 SHA512 659cc46e1ece2ddbcf5ab748bae48843bd36353cc633b59e4ac062d843af66919e8d5c39ccb72ebdbf94a0e26a8056ade6bd1c8fe9a936469bd405122a8ae35d DIST rust-src-1.73.0.tar.xz 2512888 BLAKE2B 367b68ec0775f49844408d602164634a0bd526dfe1e469b1c8ba9ae5604cbbff2566eb770b7bfb81b2dae892ed1ae16b7441e438726198610ce181c98540955e SHA512 49f493ffd119a0b8b9f7b7f7e049543787eaf96d9beb272d46f2758a35fd648f6523c2edb28864a33fc66337aa07e80a6464ec806307da441a899be4f71bb554 @@ -228,3 +262,4 @@ DIST rust-src-1.74.1.tar.xz 2544036 BLAKE2B d95431b69f102782f51878ff73ce8802cac6 DIST rust-src-1.75.0.tar.xz 2570256 BLAKE2B 9db7ccff07ffe6991233e9f530321fd6ba48c561dcf1226537afa70c7d045421d8e83c5300b0866ec6fccfaae96dd67b9f204e9e0e12108c0c766d467cd78909 SHA512 e7565cea2f1658a05237a698e38880df2544319b41b6d8b0805db5f1f94fd3bb4f986967d0440fcdfe3a135e33246f3c747665b964f57ff5942f56133af78cdd DIST rust-src-1.76.0.tar.xz 2590884 BLAKE2B d1a6215dab34d7b10c3177d2b248f997d3a846388f3442567572880aa5c5bc51b56398f5d4dc32727cee7c9dbef494430d6534a76b66c4ae5ac4fed07266644d SHA512 39d2fe58fae8c8c5a6cb3fb1ef2a1c7548c018fef6ccea531659fdfecd68a4aa77125299d2cbe5b58e500337b4d074928318fa9ebce358af500d0ef27260e3ca DIST rust-src-1.77.1.tar.xz 2618128 BLAKE2B d36f74d3b826a071de8e8a92cfab65348bf1ed7f5fbcabf1994b5e2c99d1fd6d2a936e49aaabb59c44e664a4559cc3c062291cbb381462b9c516fa7ed9d6107d SHA512 a719435636a52b4436afd6dafad7b8112c94b097e2c632fde536155b9977bbffffa8fcb90c6c53675c4d793225917087e5637d36fe250c539e3d7463d90ce28a +DIST rust-src-1.78.0.tar.xz 2662668 BLAKE2B 131e9616d6f72e87fec6e06735c3ae203fd8b8c2fbe650c23892c3419b057c99d9fd0a6278773addfcb46ac0c9c4eacd905a1122a79d110afa0fb1e4bca8aeca SHA512 ecd1b29ae24ab2978de6b2d6587ebae334cf827cfdc3b1fe3c9dbd068d7e2fc780ac05c50433857ad36e980fc44e2ba0f031e311834355898a9cb7b274b82bfd diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml index 91f4d5850916..2f9b2fef5b94 100644 --- a/dev-lang/rust-bin/metadata.xml +++ b/dev-lang/rust-bin/metadata.xml @@ -9,6 +9,10 @@ <email>navi@vlhl.dev</email> <name>Anna Figueiredo Gomes</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>matoro_gentoo@matoro.tk</email> + <name>Matoro Mahri</name> + </maintainer> <maintainer type="project"> <email>rust@gentoo.org</email> <name>Rust Project</name> diff --git a/dev-lang/rust-bin/rust-bin-1.78.0.ebuild b/dev-lang/rust-bin/rust-bin-1.78.0.ebuild new file mode 100644 index 000000000000..3b5c48b65017 --- /dev/null +++ b/dev-lang/rust-bin/rust-bin-1.78.0.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2024 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%/}/2024-05-02/rust-src-${PV}.tar.xz" +GENTOO_BIN_BASEURI="https://dev.gentoo.org/~arthurzam/distfiles/${CATEGORY}/${PN}" # omit leading slash + +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} ) +" +# Keep this separate to allow easy commenting out if not yet built +SRC_URI+=" sparc? ( ${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) " +SRC_URI+=" mips? ( + abi_mips_o32? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz ) + ) + abi_mips_n64? ( + big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz ) + !big-endian? ( ${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz ) + ) +)" +SRC_URI+=" riscv? ( + elibc_musl? ( ${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz ) +)" + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" +SLOT="stable" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="big-endian clippy cpu_flags_x86_sse2 doc prefix profiler rust-analyzer rust-src rustfmt" + +DEPEND="" + +RDEPEND=" + >=app-eselect/eselect-rust-20190311 + dev-libs/openssl + sys-apps/lsb-release + sys-devel/gcc:* +" + +BDEPEND=" + prefix? ( dev-util/patchelf ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )" + +# stripping rust may break it (at least on x86_64) +# https://github.com/rust-lang/rust/issues/112286 +RESTRICT="strip" + +QA_PREBUILT=" + opt/${P}/bin/.* + opt/${P}/lib/.*.so* + opt/${P}/libexec/.* + opt/${P}/lib/rustlib/.*/bin/.* + opt/${P}/lib/rustlib/.*/lib/.* +" + +# An rmeta file is custom binary format that contains the metadata for the crate. +# rmeta files do not support linking, since they do not contain compiled object files. +# so we can safely silence the warning for this QA check. +QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta" + +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc" + +pkg_pretend() { + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then + die "${CHOST} is not supported by upstream Rust. You must use a hard float version." + fi +} + +src_unpack() { + # 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 profiler && components="${components},rust-demangler-preview" + use rustfmt && components="${components},rustfmt-preview" + use rust-analyzer && components="${components},rust-analyzer-preview,${analysis}" + # 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 profiler && symlinks+=( rust-demangler ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + 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}" || die + 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}" + + # make all capital underscored variable + local CARGO_TRIPLET="$(rust_abi)" + CARGO_TRIPLET="${CARGO_TRIPLET//-/_}" + CARGO_TRIPLET="${CARGO_TRIPLET^^}" + cat <<-_EOF_ > "${T}/50${P}" + LDPATH="${EPREFIX}/usr/lib/rust/lib" + MANPATH="${EPREFIX}/usr/lib/rust/man" + $(usev elibc_musl "CARGO_TARGET_${CARGO_TRIPLET}_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 profiler; then + echo /usr/bin/rust-demangler >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${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 1d9c9d33d4a6..914386da90c8 100644 --- a/dev-lang/rust/Manifest +++ b/dev-lang/rust/Manifest @@ -172,6 +172,34 @@ DIST rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz 159385660 BLAKE2B 0846999358aba DIST rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 88e6b124812b409372ee05e2872cb4dfacbc638f8e3b4fb0d5fa4ea63f4594333a9788732502f8bd41e34b5cbc404d7ac08e7690d095a6c37c80b0043dd2be88 SHA512 f7ddca81da468d5617f48240b6d3e8d7d09336ac58f515acd3a20f2d315468ba1d53508dd3264a088ffc0141cb3fbcd8d3c17379f9628270d39c7d44f7727291 DIST rust-1.76.0-x86_64-unknown-linux-musl.tar.xz 237333892 BLAKE2B e95b92c68e3c2df49fa0d5d84e35f6575fb80571db290b5969441cc09b6c07dee6b2b887f41a2b1ff1e3c099cda2ce2a4a8c05afbcf9f4dc8acbaed5245b69e4 SHA512 04bbbb9a6891c3bb7a20845010029e6ca979548ff70324c08d3162ebc1fa3a84e8c7e2d453495edd34aba19b7a685f048d5047993103bbf221c88ea36350370c DIST rust-1.76.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B cd4334fecc17cf03b7333659393004fed4bb895f9b75f93520d1c3e3ee0ce4fcd17d75d748c4a35d31984215c7aec8904ebe3a4ad8bafcd625aef30688a473f7 SHA512 a458372b41c2833bdbd3d6678c35fc23397817b406c409d1ba5e19b4c6246072afff3f938f111382de56f7ff57e660c3eaf3fea0e54871d9af50b52a54f39e41 +DIST rust-1.77.0-aarch64-unknown-linux-gnu.tar.xz 214505028 BLAKE2B 125cad238e23c31373bfa7f02bd09eb35c3fb9425f517d1c74eb34b667fa1cf8a0e36b879ee1ab90c5ab95a8ea499f0a46ece894dc45cdcecc52831c9720b860 SHA512 aa01ef526b8ddc84fc5fd1ef747d94c0a80250606fc9c871a52a6556989b86231ea0706139480b7579f4f817dd17171ad18edd6a6a73c5640aa5a20daec8c9ee +DIST rust-1.77.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f6af9150b43c206e626b9bbb6d31a18b8d04b99f24ff131668045cfcd80a616302954e74f41397dd5772c761a7f8ce1a14c15f1da509d13d64ffde2684f9c3dd SHA512 cfa3d76d441ced70c9991aadfe144c12d56e6bc908882b84965ce1f13373c73199569b87609fd362a09484a95936151e036088def72061b78ea3c13ab36178fb +DIST rust-1.77.0-aarch64-unknown-linux-musl.tar.xz 194482084 BLAKE2B b079e5c09c1c528b35451918ed03ec3788d0a8f5de099c3fe3aeaa815dd0a26e3106a2dc0c55462f752949e8ee50913e1cd1bf97235459ae5175847babd27d30 SHA512 6e3fe34512279138b15547e09fac8ccab49fc9a6e5c8faa010067c601aad284522dda67dcd5901bb153fbfa4b06e819be36e9a06b1061c702418b39f8f351fd2 +DIST rust-1.77.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B c4a523203247096500797238f7473b36c39017aaf1c231713cd2d87379f973a7a464e864952b8dc1575ad91ffc210ff2291f88b77db24ca3e5f18ecebdfc23da SHA512 6fc6655a4da63ebe56af5e34569ae74f3c7daec550249269d4499a7f6d116f01e722f29ac95cbd8c0df60c0135db03ae50436650e8c04ef2ea685344e1ad61e2 +DIST rust-1.77.0-arm-unknown-linux-gnueabi.tar.xz 179351340 BLAKE2B 51571532f1a5a70139acc91d17f6aa06537e32c60aedf5448ae73efbc5b028c54b098ba1c1820bd21ebc4b7fc8bfd35b786610074b7e8e86f2b4a561613c16fc SHA512 cd8de4f9f42d5c210334f7c1e110a9abd571ff6cee39d08582cffb89828fdb4d05cd83cb597f89b5fe2ef56571cae7c087cf5751f0a9ea4836b157e076537b5d +DIST rust-1.77.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B dec3c7d773b61eca698a8efa9138bbd58341b48e391b5898ead2f6739a3e9088820ce8749b0a7016fc2092a7aad3db7bfbd778ee5b56847b6f98a9bf7251af9d SHA512 0a2b1a6eeac880dc3ded3ac28c31413b857bbd0bc68f87d7bb26936b00827d45a72d96d35ed69c6c981f4b9c2ea2d31aef9c82bedb0ab557176246f327f162a5 +DIST rust-1.77.0-arm-unknown-linux-gnueabihf.tar.xz 179479060 BLAKE2B e3a6b29b916a39233e8ae4f6b190479adc19184776f3961373e54d14cd2732ce3561cb08061520c6161c62222b7d2be2027fd826722aef4b128e26c00165ab20 SHA512 695553505af721af3d6d6341230906a707301c41d491118ff3e1c64a9f7e648c6480f8b9c0e786ce3266f2ece266e0805681bc2c23c7bb12ed2a7347b384cba2 +DIST rust-1.77.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 6f456f02b2af2b972dda67a5be9af53576878fe6e434d3385cabb6f6a62728682ed6fa5493dbb8629a861b25b8f722efaaeaeaad5ee20dee55a2567ac6003406 SHA512 a9f97671077b24043aa21b242112e86036ac8acedc719d0e87860a909d734d109db138e5bb7dd8ed2735662bf63ef2310bb8277b280bfa918dbf6c0bf69ee3a1 +DIST rust-1.77.0-armv7-unknown-linux-gnueabihf.tar.xz 181508844 BLAKE2B 78305dd8cb11538c3c5de3883dbae2a7fc08470f940f786fb4e8b5125f57ea119d19cfb11fa55b6ff67fe3c5a03757c10cee6baeae229bbbbcd85f265ebcac85 SHA512 42ac807befa5a56244e892eced3e6771f9bf2cb4cf5df28dc00581916bf655840bf4685c1499fb0a9fbeb40160836f8ec2959526d32b872845f72ce48de93a5f +DIST rust-1.77.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 39a3ff2c0b7088ccb7c16c87f3abed37cb9d4ca8f48c77f6c2964b28d7a1eec4df09ae5f19fa6a2abd636436f3886b7097edf90d2f7cbf0ba0fa93a2dcf37a28 SHA512 83bde08a5b5f34afec0e4b0ad6c58e7d485a0729743a67e0ca09cf475cae194b549c05e1af0667dcaeb8a6e3807e2b20ffe8e7bf7272187ab9da0093278d61be +DIST rust-1.77.0-i686-unknown-linux-gnu.tar.xz 209041428 BLAKE2B 83c5329fdb91f14d0083115209359aa1fba0425e9746cd07f76bf820d7b13c339279f39f0c05d1d2e2049c9acad9a48b4d93c97fb26593bf66d95e9434d1a6fa SHA512 8b546847afcc0860e3617df5006633d7c12adfc7f985ad5c0c2b5a83b9f47e9ad3b0c1917a66d313a4bf370d37e959129a807e957f4cda95efe2ce03d5acefbc +DIST rust-1.77.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B f7955963b450f3db22d62bf9cebec16ee2eb2ea32f13b377b240b7d7bdd54da590bbd5d69ae1df02b3dc4f35a35724d41004cc2b23e5f0001b609f086e8028a3 SHA512 927de4072f4d5c461131b1b4f5a1573d96d4da1a2b23060bf375bd5da00fb962e9eab6094f3677f9f8bb7270b54c30a0c5404fc18b2641407b34740583a7402e +DIST rust-1.77.0-loongarch64-unknown-linux-gnu.tar.xz 161969048 BLAKE2B 0eef0100389715b68def1a491918d0796cc4bb18a481bc8084a96ffb930f7018cea8fdd77e762fd1af18acd81f5fd666f48965e9b72f191588a0c4ed78c975d6 SHA512 8be1eba5615b29d9167e1ad49be301e277f2fc78c6779915dd25b3da395d3933f4ea2c0b4e17d848f580c813c26335285d20ca0c2f966d2248593f04bd8ef1ee +DIST rust-1.77.0-loongarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e1463e570c719881b2394b5f92856cbeec33a5fd0dd326c97f6064b52ed1decc0b7d33ac3b3606754264faa67b6aeb718c1d3f8f7982ab6024acceecb9d0985e SHA512 03cc2bfdeec9c80128f7e7a5d5f0874df7eb9a22b5da19f9ca1a685a9c52830de5093b7b72c614839da14b7eb76ad3dbed92c233d6d9cf0dbccb458e1fed174a +DIST rust-1.77.0-powerpc-unknown-linux-gnu.tar.xz 176187556 BLAKE2B acdb1d1f95591dfb167bd87a2b7390554f96d148f6df01c7a1254d590f79302a233e1561446bb8a7f344e6801506c183221bad431fe40b6e8e1854b920641b41 SHA512 baf226c192c5a6ee44d5c7e32f0d63d48b89fa43db1c9966d04d94bfb7a4bba3dc069719109a9c3cf601f6ef7b3d2c320e75cfded5916f6169f4c19a16665301 +DIST rust-1.77.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B e8053f9b897dbdba5b175c56ad9cb9c278e968c65cde4f8ccc4d15f1df9f26a2be3418040cc5a6cfd6984ce9b0b3703b98976944eb6523ba45a0fd45e6fc31c8 SHA512 d0a8b2e18e59e55819d64f5622a7fc7a15ebfe05d0946f23ee42dd6c75307e9c2f20541c5b344a3bd97e9e9d93b54d6a85ffd7c783492b9c46f819f91c68af61 +DIST rust-1.77.0-powerpc64-unknown-linux-gnu.tar.xz 176156772 BLAKE2B b5910f75e945f5ecebb988ef02485e3535e3f8d10f6c7acf3190c6dfe22e0125a637c8c4dcae3b6655ba0ec19f1ffa2f8ccca67d9fa3b2a8a8dc584e52d2eaac SHA512 403f1898930367a59a54c1a254cb991aa23e3bfccf9ed3da9c992877bab3b33806e374dd97cbf9650109dcecdb6b72e5f4c7fa664bf44d5880f8c75d3698f27d +DIST rust-1.77.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 3d96ad842e8e4189c2cceebe885ccdf3aaf986a3e7835cc02165a76d12fa2da1b3cba9bbf1213cd7cc68a95cc612b735e409d8cf23dd1f252c1d0ab72a09d756 SHA512 26b73b5ac0216b994ee887021dcd6c5562aadeddce8b227a064ae40a19bb80de7d1278c9192833e2d2ff227884524f742c49b52ad5b64e576d3f87d86f7be536 +DIST rust-1.77.0-powerpc64le-unknown-linux-gnu.tar.xz 187190912 BLAKE2B b203cf8e70a952e137f17d4dfd77bfa201970fa6a9d936b62cadaf4db1fcaa3e51f6a320351ca0bccd96bf6bd5e38f5f859080e7154f23bb277dde21969f562e SHA512 5a68cba4de547e7060d7be6260f450a328c0505be35f175f65435c83c13520b10b6d5e6aed3c52ae8b61215a4ba47cdc1bf9ceb2f454f3415d5115efbdc05bbc +DIST rust-1.77.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 7ddd306273a444bb238ef3f7eb9dc88c0f2895bce506e7708c56d31c252c91a20258d6d7fd609c76054872f1e983454d35b985b5dac6775a8e423d9fc5c3d3d4 SHA512 3c4df1c5bf1dbcbf127bb3615e307faabf252c40655bde6ec3afe3179e44629155fb3b549bf983ffc942c464462a601c08f66d6bfc93b033c61d3b69005005b4 +DIST rust-1.77.0-riscv64gc-unknown-linux-gnu.tar.xz 182245920 BLAKE2B 7365f2de5a6e5927536f8b03b2f9b1cd9605e515e4323b279f35ff9c940d23d4f7539abd1f9da25086b85e695e111440d0d1990ce933080385c750d61307bd7b SHA512 39a9d98cbbb1c0247e80a6ed3635833f0ae95e24f7e62286b7c76b2f8f4a06715e324872a67693c97eba7715f868db8af3652e809112c9621c30a1885dd1a029 +DIST rust-1.77.0-riscv64gc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 08128f5df77ea42af1d48a40884e1c7f8f50b8cc16354b9b099694a017d243068c9cfb9a0e096b5147b58eb5e2f9283d0e2be4c607c75f8b110e2cf84eda74d6 SHA512 430fb9105a4bc16edc0b9c4a59d124e2891935f7970efa823461d86945bf163ecb043f72fa11453415642672162978ed4446beb71dad041c9ca48a9ae0440aa1 +DIST rust-1.77.0-s390x-unknown-linux-gnu.tar.xz 198606604 BLAKE2B c102856588697aa08f9c0e3095ef9d0e17df0931a3416ca7b0a0ef4a6182d1ce6367040f8ac19b19f1d0cee6c70b64cf6f653c44684fa137acf5d606db82f23b SHA512 0ba59b16309393945a73615ecf5d10d31d082ea3e21357267fce08c9ddcb64c0ba0da7595747577d400d6549df51d95798ecac43931ebc75f9d57d3107fca11b +DIST rust-1.77.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 2574c4757e0b63c5cfe35a58ab2aa175f024de79abcf36e623ee7b925a528decb7f22df89d16ba20cbc1218a056c1c37b154b33d2dad223604cbd3222017919c SHA512 baabe009b58993fe5f62940c51c0811e9309d5a7f9d33819906241ec38ece45a3420a2ab80d972cb2cb184e965154e50feee85ff4719c3d10851fbc040f6f9a8 +DIST rust-1.77.0-x86_64-unknown-linux-gnu.tar.xz 158351120 BLAKE2B 454e8667ea8899cb915680c0c39e5f7831450604a11a3bc9b7d8a897ef6e723edd382c171f292b5e89a406c823735d86ce96d94d08fda53336f806f83b3fad79 SHA512 462df108a811aa628ebf20cd3ad88dcfedbbe4529929abf86e65cbf02d4157ec56c8b9c424b9b9f6930852ccc972fd9970ceea522eeceb79c6acf5cfb7cf08f5 +DIST rust-1.77.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 627ab5e55ae8095b2dfd1559c798376a5e6efe751f3c7e74540c9dc1ad8d889fe6c4c2190914506829e50f2fd7de022584b9d3bc3c2aab4e8bf3126dc4306c31 SHA512 24ee5edfb675f7598366edd9390d7a6044830c31ba7c9bc729e987a5c9bbc8cc7a6beddaef7cc9b1718d0ef4dc5f6568e0ca1504a23d82328536dd478dc391e6 +DIST rust-1.77.0-x86_64-unknown-linux-musl.tar.xz 235071684 BLAKE2B 556a5c8aff20b1314dfc6c767adc9b4ac1a70a5976b49e4550247082eadb76622dfdab253ec853d38807990d7c9f46503060675187a589da91ae2f093d5be4c5 SHA512 073c8b4c92f3d6444ea4fd599281c262fdac7fd4589aee0a0f0ec8bae2e6a315578b2fb3ac768579946cf4bfd77b0e440bceb0d3523598cbda7fdb2ac59c98e1 +DIST rust-1.77.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B e049d7c7d25af1074420117b8a984ff585c85808e17b60285b4ae288216dc2ff3f6b08707157b5e9a7778abc312525e755b70fe38f1b0a23fbaeaa9a52305be4 SHA512 c9b54e5ee181dd217b36e258cc0e72c9acd17ccd4f99430ac4a473e898cb3a3cc16f79609e7233649bd8126119da1e2a99f6b7cbf8864dbae5b02746468ace06 DIST rustc-1.71.0-src.tar.xz 151962928 BLAKE2B da8d83cd6621947816630ae487efe7d087266c1352949cedbbd441ba7c7f7c7beb13b9470e66e2f3359c37a050d0e44d22481c418532d3ebb339a456ab092648 SHA512 2c93bafdd248563765a285add48ca77c1e4bad4d5431675ae6a5cdee4cfe7a41e6bcc880a489ca1069a307fd9a005f2d5f8e230dfc95b4a69152b4f9ca49ac44 DIST rustc-1.71.0-src.tar.xz.asc 801 BLAKE2B e5ddc4b18a6caeeb63c5aed5b5d15989d086f408787d2e603e50e7b8548dc078683062627280fd2a0393bec01c314eb1cc59f9b0e3146abf07b8365a0b44c640 SHA512 cb1b208c8b2bfccf02c73c4246fb238edb0dd10e292c1ef781920964e54e40add3089d988769982c0ce06b719014685b1c37daa2d08b513d86ad73808f4ce3ac DIST rustc-1.71.1-src.tar.xz 151983068 BLAKE2B 3dfdbc246feb84a79ae94c2de978c5585ee06cf6b683d2245869b62e28f7c79f89cc589f5431537713bf088236a0b824acefc1b68e418e9eb72e1eea98054e3f SHA512 fd0e5a16bdbeb539184513583089e55f681cb772810df357b6b1464853f7022ac02edab3dd155b2262ed0047e2a25dea3808dd078dcdfce9d399384465009db4 @@ -186,3 +214,5 @@ DIST rustc-1.76.0-src.tar.xz 162267908 BLAKE2B 0cf726841a837d9906d82a6216e65edad DIST rustc-1.76.0-src.tar.xz.asc 801 BLAKE2B eadb2f54fceb9c1ac60af72407a2957e37e1ba134a696675a1e9dcf23a2958b41d7f5aa1f75156e4843cefc387cdc9c909e364c3bfcabecc6bfbe262d9c6e8af SHA512 d35c010a5a129580746bcec5c0dad1b0bc1b7864a69505c7c0ccfad436fdfbdf33f87518965a09de187d6a70fb8867dc6a20037c648861031a17501577855120 DIST rustc-1.77.1-src.tar.xz 162796048 BLAKE2B 18a9fd095808ba78bf50ec94f7fd4087a1033ec79750aa593bacf64219c77ef90c030d41a7d8bc43f7ec8eb30b316c225024be4aeb517100ff6723487f8bb282 SHA512 e057ae638e4c3e54fdb367d48f4b85458121cee0d0ee1ed72f346940b8acad2f16cd9cc8abc16fcf4a17bf244b3300bb56a7e7be3bd0c23b034692c983b84fe8 DIST rustc-1.77.1-src.tar.xz.asc 801 BLAKE2B 175a551abdb970295d37a0797cf262ac43055a3cb75b23845dbb8696d04b7705b7a2908b82fcbce7cd7dec2e05c382d06622013b9d4aa19fab7f651f7e00bb73 SHA512 eb24976ae97d2980d4c547bcf27d815f4b98b8aa45441a7201a849ee37e0ef15671732c9916d33964b8e802a87ede758daaadf84901bd569527c8b6c48efff23 +DIST rustc-1.78.0-src.tar.xz 159181212 BLAKE2B dedae58e413689de258f852c988a9a91d4cf14c9525f2619ca6155006ddc9b2262c8141ff995e4fc6ecceec383470e50d2fa0952d933db9b3957ce5c5b96f62e SHA512 d2fb9881e28849d871fda71b1b51652be3839b3283f0d32163f258c5c707a9fb7b589da8dc03bca2fefee1abdd2b44a5f17e85d8c6df7bea119d1e8d22371941 +DIST rustc-1.78.0-src.tar.xz.asc 801 BLAKE2B a40b0eab4e9263694e79f21d92652402579f4a0587fa48b4043211bc645d4303f9af7629e9c8361938748163e99fa7cd04108156780f23f9c8600361785e834b SHA512 ef16c9eed79f36576517e9dd77b56aa767ae9dc745f5df1839e24b76084ac791b27926f3d608b41695ae6022aa10cbdd3650cad163f35037c60d3bd0427b3cbd diff --git a/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch b/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch new file mode 100644 index 000000000000..610e5d04ea2b --- /dev/null +++ b/dev-lang/rust/files/1.78.0-ignore-broken-and-non-applicable-tests.patch @@ -0,0 +1,30 @@ +From 1879d1d1a284bf51c752e47db284ce22701ed5d0 Mon Sep 17 00:00:00 2001 +From: Samuel Holland <samuel@sholland.org> +Date: Sun, 16 Sep 2018 16:38:48 +0000 +Subject: [PATCH 12/15] Ignore broken and non-applicable tests + +c-link-to-rust-va-list-fn: unstable feature, broken on aarch64, #56475 +env-funky-keys: can't handle LD_PRELOAD (e.g. sandbox) +long-linker-command-lines: takes >10 minutes to run (but still passes) +simd-intrinsic-generic-bitmask.rs: broken on BE, #59356 +sparc-struct-abi: no sparc target +sysroot-crates-are-unstable: can't run rustc without RPATH +--- + test/ui/env-funky-keys.rs | 1 + + 6 files changed, 10 insertions(+) + +diff --git a/tests/ui/env-funky-keys.rs b/tests/ui/env-funky-keys.rs +index c5c824ac58d..f3fe047a79c 100644 +--- a/tests/ui/env-funky-keys.rs ++++ b/tests/ui/env-funky-keys.rs +@@ -1,6 +1,7 @@ + //@ run-pass + //@ Ignore this test on Android, because it segfaults there. + ++//@ ignore-test + //@ ignore-android + //@ ignore-windows + //@ ignore-cloudabi no execve +-- +2.24.1 + diff --git a/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch b/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch new file mode 100644 index 000000000000..25a281ceaaaf --- /dev/null +++ b/dev-lang/rust/files/1.78.0-musl-dynamic-linking.patch @@ -0,0 +1,19 @@ +From e42709c46647dab342b826d30324f3e6e5590e00 Mon Sep 17 00:00:00 2001 +From: Jory Pratt <anarchy@gentoo.org> +Date: Tue, 2 Aug 2022 18:32:53 -0500 +Subject: [PATCH] Enable dynamic linking by default for musl + +Signed-off-by: Jory Pratt <anarchy@gentoo.org> +--- a/compiler/rustc_target/src/spec/base/linux_musl.rs ++++ b/compiler/rustc_target/src/spec/base/linux_musl.rs +@@ -10,7 +10,7 @@ pub fn opts() -> TargetOptions { + base.link_self_contained = LinkSelfContainedDefault::InferredForMusl; + + // These targets statically link libc by default +- base.crt_static_default = true; ++ base.crt_static_default = false; + + base + } +-- +2.35.1 diff --git a/dev-lang/rust/metadata.xml b/dev-lang/rust/metadata.xml index 1cf83c8ea80f..85c7e7cb871e 100644 --- a/dev-lang/rust/metadata.xml +++ b/dev-lang/rust/metadata.xml @@ -9,6 +9,10 @@ <email>navi@vlhl.dev</email> <name>Anna Figueiredo Gomes</name> </maintainer> + <maintainer type="person" proxied="yes"> + <email>matoro_gentoo@matoro.tk</email> + <name>Matoro Mahri</name> + </maintainer> <maintainer type="project"> <email>rust@gentoo.org</email> <name>Rust Project</name> diff --git a/dev-lang/rust/rust-1.78.0.ebuild b/dev-lang/rust/rust-1.78.0.ebuild new file mode 100644 index 000000000000..d5761df73c02 --- /dev/null +++ b/dev-lang/rust/rust-1.78.0.ebuild @@ -0,0 +1,788 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +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 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0" + +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 ARC ARM AVR BPF CSKY DirectX Hexagon Lanai + LoongArch M68k Mips MSP430 NVPTX PowerPC RISCV Sparc SPIRV SystemZ VE + WebAssembly X86 XCore Xtensa ) +ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" ) +LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/(-)?} + +LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4" + +IUSE="big-endian clippy cpu_flags_x86_sse2 debug dist doc llvm-libunwind lto miri nightly parallel-compiler profiler rustfmt rust-analyzer 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=( 18 ) +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}(-)] ) + wasm? ( sys-devel/lld:${_s} )" + done + LLVM_DEPEND+=" )" +done +unset _s _x +LLVM_DEPEND+=" ) + <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):= +" + +# 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.json +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-build/cmake-3.13.4 + app-alternatives/ninja + ) + test? ( dev-debug/gdb ) + verify-sig? ( sec-keys/openpgp-keys-rust ) +" + +DEPEND=" + >=app-arch/xz-utils-5.2 + net-misc/curl:=[http2,ssl] + sys-libs/zlib:= + dev-libs/openssl:0= + system-llvm? ( + ${LLVM_DEPEND} + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + ) + !system-llvm? ( + !llvm-libunwind? ( + elibc_musl? ( sys-libs/libunwind:= ) + ) + ) +" + +RDEPEND="${DEPEND} + app-eselect/eselect-rust + sys-apps/lsb-release +" + +REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} ) + miri? ( nightly ) + parallel-compiler? ( nightly ) + rust-analyzer? ( 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 + usr/lib/${PN}/${PV}/lib/rustlib/.*/lib/self-contained/crtn.o +" + +# 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" + +S="${WORKDIR}/${MY_P}-src" + +# causes double bootstrap +RESTRICT="test" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc + +PATCHES=( + "${FILESDIR}"/1.78.0-musl-dynamic-linking.patch + "${FILESDIR}"/1.74.1-cross-compile-libz.patch + #"${FILESDIR}"/1.72.0-bump-libc-deps-to-0.2.146.patch # pending refresh + "${FILESDIR}"/1.78.0-ignore-broken-and-non-applicable-tests.patch + "${FILESDIR}"/1.67.0-doc-wasm.patch +) + +clear_vendor_checksums() { + sed -i 's/\("files":{\)[^}]*/\1/' "vendor/${1}/.cargo-checksum.json" || die +} + +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 --root="${BROOT}" 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=8192 + # multiply requirements by 1.3 if we are doing x86-multilib + if use amd64; then + M=$(( $(usex abi_x86_32 13 10) * ${M} / 10 )) + fi + M=$(( $(usex clippy 128 0) + ${M} )) + M=$(( $(usex miri 128 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// /,}]" +} + +# Is LLVM being linked against libc++? +is_libcxx_linked() { + local code='#include <ciso646> +#if defined(_LIBCPP_VERSION) + HAVE_LIBCXX +#endif +' + local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1 + [[ ${out} == *HAVE_LIBCXX* ]] +} + +pkg_pretend() { + pre_build_checks +} + +pkg_setup() { + pre_build_checks + python-any-r1_pkg_setup + + export LIBGIT2_NO_PKG_CONFIG=1 #749381 + if tc-is-cross-compiler; then + export PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_PATH="${ROOT}/usr/$(get_libdir)/pkgconfig" + export OPENSSL_INCLUDE_DIR="${ROOT}/usr/include" + export OPENSSL_LIB_DIR="${ROOT}/usr/$(get_libdir)" + + use system-bootstrap || die "USE=system-bootstrap is required when cross-compiling" + use system-llvm && die "USE=system-llvm not allowed when cross-compiling" + local cross_llvm_target="$(llvm_tuple_to_target "${CBUILD}")" + use "llvm_targets_${cross_llvm_target}" || \ + die "Must enable LLVM_TARGETS=${cross_llvm_target} matching CBUILD=${CBUILD} when cross-compiling" + fi + + 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 +} + +esetup_unwind_hack() { + # https://bugs.gentoo.org/870280 + # this is a hack needed to bootstrap with libgcc_s linked tarball on llvm-libunwind system. + # it should trigger for internal bootstrap or system-bootstrap with rust-bin. + # the whole idea is for stage0 to bootstrap with fake libgcc_s. + # final stage will receive -L${T}/lib but not -lgcc_s args, producing clean compiler. + local fakelib="${T}/fakelib" + mkdir -p "${fakelib}" || die + # we need both symlinks, one for cargo runtime, other for linker. + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so.1" || die + ln -s "${ESYSROOT}/usr/lib/libunwind.so" "${fakelib}/libgcc_s.so" || die + export LD_LIBRARY_PATH="${fakelib}" + export RUSTFLAGS+=" -L${fakelib}" + # this is a literally magic variable that gets through cargo cache, without it some + # crates ignore RUSTFLAGS. + # this variable can not contain leading space. + export MAGIC_EXTRA_RUSTFLAGS+="${MAGIC_EXTRA_RUSTFLAGS:+ }-L${fakelib}" +} + +src_prepare() { + # Clear vendor checksums for crates that we patched to bump libc. + # NOTE: refresh this on each bump. + #for i in addr2line-0.20.0 bstr cranelift-jit crossbeam-channel elasticlunr-rs handlebars icu_locid libffi \ + # terminal_size tracing-tree; do + # clear_vendor_checksums "${i}" + #done + + if ! use system-bootstrap; then + has_version sys-devel/gcc || esetup_unwind_hack + local rust_stage0_root="${WORKDIR}"/rust-stage0 + local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi "${CBUILD}")" + + "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig \ + --without=rust-docs-json-preview,rust-docs --destdir="${rust_stage0_root}" --prefix=/ || die + fi + + default +} + +src_configure() { + filter-lto # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231 + + 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_abi $(get_abi_CHOST ${v##*.}))\"" + done + if use wasm; then + 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/base/wasm.rs || die + fi + fi + rust_targets="${rust_targets#,}" + + # cargo and rustdoc are mandatory and should always be included + local tools='"cargo","rustdoc"' + use clippy && tools+=',"clippy"' + use miri && tools+=',"miri"' + use profiler && tools+=',"rust-demangler"' + use rustfmt && tools+=',"rustfmt"' + use rust-analyzer && tools+=',"rust-analyzer","rust-analyzer-proc-macro-srv"' + use rust-src && tools+=',"src"' + + 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)" + rust_build="$(rust_abi "${CBUILD}")" + rust_host="$(rust_abi "${CHOST}")" + + local cm_btype="$(usex debug DEBUG RELEASE)" + 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) + $(if is_libcxx_linked; then + # https://bugs.gentoo.org/732632 + echo "use-libcxx = true" + echo "static-libstdcpp = false" + fi) + $(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) + enable-warnings = false + [llvm.build-config] + CMAKE_VERBOSE_MAKEFILE = "ON" + $(if ! tc-is-cross-compiler; then + # When cross-compiling, LLVM is compiled twice, once for host and + # once for target. Unfortunately, this build configuration applies + # to both, which means any flags applicable to one target but not + # the other will break. Conditionally disable respecting user + # flags when cross-compiling. + echo "CMAKE_C_FLAGS_${cm_btype} = \"${CFLAGS}\"" + echo "CMAKE_CXX_FLAGS_${cm_btype} = \"${CXXFLAGS}\"" + echo "CMAKE_EXE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_MODULE_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_SHARED_LINKER_FLAGS_${cm_btype} = \"${LDFLAGS}\"" + echo "CMAKE_STATIC_LINKER_FLAGS_${cm_btype} = \"${ARFLAGS}\"" + fi) + [build] + build-stage = 2 + test-stage = 2 + build = "${rust_build}" + host = ["${rust_host}"] + 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 = $(toml_usex profiler) + 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 + $(if ! tc-is-cross-compiler; then + echo "default-linker = \"$(tc-getCC)\"" + fi) + 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 + # See https://github.com/rust-lang/rust/issues/121124 + lto = "$(usex lto thin off)" + [dist] + src-tarball = false + compression-formats = ["xz"] + compression-profile = "balanced" + _EOF_ + + for v in $(multilib_get_enabled_abi_pairs); do + rust_target=$(rust_abi $(get_abi_CHOST ${v##*.})) + arch_cflags="$(get_abi_CFLAGS ${v##*.})" + + export CFLAGS_${rust_target//-/_}="${arch_cflags}" + + cat <<- _EOF_ >> "${S}"/config.toml + [target.${rust_target}] + ar = "$(tc-getAR)" + cc = "$(tc-getCC)" + cxx = "$(tc-getCXX)" + linker = "$(tc-getCC)" + ranlib = "$(tc-getRANLIB)" + llvm-libunwind = "$(usex llvm-libunwind $(usex system-llvm system in-tree) no)" + _EOF_ + if use system-llvm; then + cat <<- _EOF_ >> "${S}"/config.toml + llvm-config = "$(get_llvm_prefix "${LLVM_MAX_SLOT}")/bin/llvm-config" + _EOF_ + fi + # by default librustc_target/spec/linux_musl_base.rs sets base.crt_static_default = true; + # but we patch it and set to false here as well + if use elibc_musl; then + cat <<- _EOF_ >> "${S}"/config.toml + crt-static = false + _EOF_ + fi + done + if use wasm; then + wasm_target="wasm32-unknown-unknown" + export CFLAGS_${wasm_target//-/_}="$(filter-flags '-mcpu*' '-march*' '-mtune*'; echo "$CFLAGS")" + cat <<- _EOF_ >> "${S}"/config.toml + [target.wasm32-unknown-unknown] + linker = "$(usex system-llvm lld rust-lld)" + # wasm target does not have profiler_builtins https://bugs.gentoo.org/848483 + profiler = false + _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}\"" + echo MAGIC_EXTRA_RUSTFLAGS="\"${MAGIC_EXTRA_RUSTFLAGS}\"" + env | grep "CARGO_TARGET_.*_RUSTFLAGS=" + env | grep "CFLAGS_.*" + echo + einfo "config.toml contents:" + cat "${S}"/config.toml || die + echo +} + +src_compile() { + RUST_BACKTRACE=1 "${EPYTHON}" ./x.py build -vvv --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 ! 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() { + 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 profiler && symlinks+=( rust-demangler ) + use rustfmt && symlinks+=( rustfmt cargo-fmt ) + use rust-analyzer && symlinks+=( rust-analyzer ) + + 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" + _EOF_ + + rm -rf "${ED}/usr/lib/${PN}/${PV}"/*.old || die + rm -rf "${ED}/usr/lib/${PN}/${PV}/bin"/*.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 profiler; then + echo /usr/bin/rust-demangler >> "${T}/provider-${P}" + fi + if use rustfmt; then + echo /usr/bin/rustfmt >> "${T}/provider-${P}" + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}" + fi + if use rust-analyzer; then + echo /usr/bin/rust-analyzer >> "${T}/provider-${P}" + fi + + insinto /etc/env.d/rust + doins "${T}/provider-${P}" + + if use dist; then + "${EPYTHON}" ./x.py dist -vv --config="${S}"/config.toml -j$(makeopts_jobs) || die + insinto "/usr/lib/${PN}/${PV}/dist" + doins -r "${S}/build/dist/." + fi +} + +pkg_postinst() { + eselect rust update + + if has_version dev-debug/gdb || has_version dev-debug/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 cebd0158857e..ad55f5d0c13f 100644 --- a/dev-lang/smlnj/Manifest +++ b/dev-lang/smlnj/Manifest @@ -1,29 +1,3 @@ -DIST smlnj-110.99.3-MLRISC.tgz 1457337 BLAKE2B a639a9afcaf1bf3e6521eeaa2dd8cb28f164b4c9b439dcb1370c9189b8ca769fa79f3b6c15aa3ee4db49afd61c321d1a6197ad3a46f7209bd51a431e1249dd49 SHA512 f1f2d7cd1316bd6c4156fc184990ccfee916993283ce0963ff30306089b5c6297d2c4fe55a280f17ae05ad45a764e3bdfcfd1b8ee9a8382a049f323b48692c8a -DIST smlnj-110.99.3-asdl.tgz 241353 BLAKE2B a9f61116411919c51a56097d59f3501022d3b5d3fbd01660b16c3a5fc629b6b96102b17b1047e29c12c8b739a3ab66ff20a7d0c70d6edd899f26b713b9ac7f94 SHA512 cc703609a192a83766d6e8298912bf427fed66a3d5a20f98c1dcddec63ec234df1d868e418932676a0300bf68b490c5c8e2b8f8106f42bc0d38b93be5dde794d -DIST smlnj-110.99.3-boot.amd64-unix.tgz 5971321 BLAKE2B c6a7c96344da723dfd88155586b680b6f54e7711335bc88d8f1468d3f989077febe6624596d16d7236e651f17d33b6bdf268e8a99164b46e21780d87c697551b SHA512 8616a06975f285623156637929b202fb1d060718bb990aeeff12e185f36ae0764d7074482eaa446dbf0ed8afd2527bfc38c423cdebfa8ed0346fd43b4d3442e3 -DIST smlnj-110.99.3-boot.ppc-unix.tgz 5839528 BLAKE2B 30da3659d7918126684a6e947200a4080a0366b43a03f20b5f27ec7c94a874ae9102ebf94dcb346e60c10d2155236448f4f59350813e46c3185b08f47e9cde2b SHA512 7a0c8d70c0a65f3cbe5c0d6e2172a037bc5b5314d805fe9686c11290ac30b26d26ad98dcd085092a3c76f2a23cc402857cd38afe4f9b0086f6b8a9cab9c19a53 -DIST smlnj-110.99.3-boot.sparc-unix.tgz 5981512 BLAKE2B 6a86232df38bc0ecf7525d8406f6d4f7fadf4730c20b679d4dc540a92e2cfbe14120bd211a5fc96e9b7bec55f2dcdd2b6fdf5969ff230011992d2ea942b7fec7 SHA512 eb167a171f0b0635619eff7e6c0c2ff5a347f3dbae6c690de334671a3aabc5c6ad0a21e6e3192852f2d86806c3cebb4cd6b769c8cf6e8883bb4ce137af8b1578 -DIST smlnj-110.99.3-boot.x86-unix.tgz 5923052 BLAKE2B 52e9f86e7dabaf51ddb642a135f72c6e59f870152107730f7321f7d1d6c165594bdaaf085795360a9dadccec1cd2595c56b7bf7d84d038254273ab8bd5ec1c03 SHA512 8a6680e910cda9b344192db4978c74f9eb55a872824f9ef9deb7419a43e475277997bba19de8abd8eeffda565f8900aeee31f6a94cb0a0bcdbb067b3ec12457a -DIST smlnj-110.99.3-ckit.tgz 200785 BLAKE2B 0834239040c7e15b96c8ca8812a0d74f5254bbdca22fdba8da5059ec3a256896fa8840dcc18534b9ba3578cb204fe12665f02337f7e1f46af71f19acc2ee4c45 SHA512 c41835ccc1f0ed4352386a398f6847adfe11bd3926ebaeed6e9c6c9b24ff09ad5c676ac6d98700bb6c2f443b43e733071040452886f7a266b7053cdacc0c7b89 -DIST smlnj-110.99.3-cm.tgz 220282 BLAKE2B 6e4ecfc4d74756b1e69a3f61e25649798c6b74327e4d86ff649e9664f22e092a09b80ff0f6e0b94a5210db97985fabc3803e103b3be1da0f9c2bfccb06064e10 SHA512 5030b99dcfec2abb4be76fc15c7846b602d3fbd14ff78eba087a92b72e43a19584fe667281416ecb48fc3df1e7c9756f36d12a8e6ab66fa3917deaaa383fcf82 -DIST smlnj-110.99.3-cml.tgz 103973 BLAKE2B 4723c4a9f891274bac82168c21d19ec2506fc01f48fd330b179b468f73174c049df78a3948a10fe245f0f84f2f8b433ed0b64fc0340092e30433b247fbbd3773 SHA512 79fc9f7060d484c58171ab9577428ab12abd4376b3074bc87d5db5a080d49073a3950ea3d70baae927a2780a0072e83ce2159381c1d03791bce7ffd5bfcc8331 -DIST smlnj-110.99.3-compiler.tgz 856614 BLAKE2B c98a337003619d5968f416c83422fb1ed92dbb37423630d41e2600d62a8cda1d2eb02ecd681bc79cb71a51881c1f4e6189430a05726d6345585f87a5585bc66a SHA512 4616f1d86417ce542aa3f30159adcbbda5a89fc50248b48e53953d596180444b1af178633ba70b2c47ce9c1351cb718f0aab7bc481f6cd9ef4495b084eef4e28 -DIST smlnj-110.99.3-config.tgz 23167 BLAKE2B 78c6cafc1bc5ac8f6e1fe837c1d1fe8d725eab09713a004a2d89df02c52a2553a2b91a7f540d64b097661b80c1b7bbbbd96f9c2ffdae4e2d3655fd182a7c31aa SHA512 4a2f95cde1314f288f13af499b3af7a97ce799c4653cb8382d2361b46142e57a1943d471b7e841240f7accf7c73bd3a085a6e1d0bf3bbfb0246daf88773f0c38 -DIST smlnj-110.99.3-doc.tgz 2506809 BLAKE2B 3a4d568bd1f36d6268127120fc8aaab105fc777a8e4eae8af9d08254ef5b84a432a188b5b16d32399072a919f177f989abb6229d4126ae5da7fb10bdafecda17 SHA512 a042ab0eed78f0c2b3ece17f9fa0ab30c4327b50270e6f85476fee6676bde98f46288979d605dbd937112451e1014a09acd90f589ba2904eaea5a688caa9118a -DIST smlnj-110.99.3-eXene.tgz 714453 BLAKE2B 579970eba09897cce2497dc3355a17ef4f8ca3a6f31cfc6a8b910aad3531558c5072c17b5a27fab1922b4a26c0ecf632abd547f2551f0de26e999351879c8c76 SHA512 ba380e7b1c751782015aa3603d54a57901697f13c0eb6c3b1928082224dca16f658cda16b4a3400ff46b3e7a46c1069f59366f35b35e837bcd73c1792515aca4 -DIST smlnj-110.99.3-heap2asm.tgz 1763 BLAKE2B 739ce12c488483b7a74f445f4584f43cd156c2912966bf8ce49ba84ed798c47e45175c47b6033a3be3411285245d4344dc58cfbae6064e2905c36af5fdde4847 SHA512 49eaf8ac9772b62d48cd52c3d395b1f2c40d4ce4f62c90ab875f934f3dae6e20e717d6bc41dc674ffa6f0ec03b437ac0a87478e214ac8d28890077faae8e42f5 -DIST smlnj-110.99.3-ml-burg.tgz 40357 BLAKE2B 3ef88f8ada0110b91db783901e1efefeea835bef94dbfbbb2de08480adaff79c484abcfb196bc473a0c5d517d6120dad56199c548cf52b5ced712090120afe62 SHA512 3b19feaba7d3616b364ccb5cf54e203a5583cfe850b1949bbf1f97182255594b5b8498225b8cfd437fb2066cb9461626358f6d3007646ca2cdfaf3f8fa6fd12c -DIST smlnj-110.99.3-ml-lex.tgz 28038 BLAKE2B 7891b4c26aa44c945f18cd1300fb7c49455c1d2eef4d7ed425509387edd87abea8e23900fa9777798bd7db976d0f4788c3a97120f13c1778b6d476cca190a747 SHA512 5fc0acb9dcd49b663c2b0f071b1cf0a0619c9aa83ef6736eec330eca74693be3272a1c771928e0b3d0e46fc3058ba69445c8e0bfe6815042d51d5493512c81b3 -DIST smlnj-110.99.3-ml-lpt.tgz 267067 BLAKE2B 3b0a853c92eed28d0d8a4394d1b87761bd093d1e701b289e5de28a351f27e97abb1921a5e5ade6e7dea1faef1dccca4dbcb30aefe4624361b302f14084cf08af SHA512 aa3ae9109d42b42f9f619395807f0f7486f9eee794ef61a43df069ab29fcf028e5efb50831dd5a35519e592a89606be6a51aee9da0078a83e62a37c2f23f54f7 -DIST smlnj-110.99.3-ml-yacc.tgz 101376 BLAKE2B 39f9f50f612c5b263f6146d39262d669d7ee3f65daf7d24a0c950ddea8868f13ac6881860f694cba3ecb6b2f29b4755f1364fac2c08401e537d6c355071ebbde SHA512 0cec5df0cbad8b93e079a70dc5979231443a6563bd61dbeadaf3c82e5a28d61cc6d1ee080c3c003d8ece79fbab6a8a31790e29d10ebd64a644a779103751af89 -DIST smlnj-110.99.3-nlffi.tgz 74810 BLAKE2B 0129c45031c750fcb8b879fa325532170c937ac0dc50e224ff22e1ea7c0822f13794be22ff5bc8c1570ed28b8ff9aa90910cb07b3c18519344bbad17bbf351da SHA512 f35033fcaff75b930f4136d8cf903ee17702856fcb58c3b70bfd5fa69e45d3a37df277d9753e989fb1b1f7f21783758fc167d36f3a4537aa2162a754d652ba84 -DIST smlnj-110.99.3-old-basis.tgz 1363 BLAKE2B 32d3afda93fe372ec8bfc9589101c2e4c2b04259d481b39a3a932d3ff225f9142ecc978dae55081417c6437a5c64e5655c43bb29ccd9dc7d6073ff7b19a94e61 SHA512 1dff1f3e5eafb94c5b235f2cc04af4ab87a927d74eac641bad36e66db39a11078fe9aacc20fadadf9c8d13e4c3f7a211cd64efd7741b0dc45e1b22c013c81329 -DIST smlnj-110.99.3-pgraph.tgz 5367 BLAKE2B f30b054433ccb1394e557fc63dae9d097734fcbadee3bcbcd3cfe7bf2d2f833882ac5d187f846f0895b19eeb75de667b2394295858a6e0d873ff58bf55e3bd83 SHA512 3c9d4f3d42c49cd6950eb42712aafc8a58b253b0fade35b7b4c6a1bfef88b7a5805a07fad1d7e107f31d73912e4f32729b2d001dc5751aa629d0f0b4d1a20401 -DIST smlnj-110.99.3-runtime.tgz 334293 BLAKE2B ce70bd05fc311ed11285aceb4cb78af7f08a18431538a341f768fc04e9aa3b1df1f0f3f86f384622aea59fb3322eb8446176bf3481df6f0efa5d67fd1bf71da1 SHA512 21da06900903a2a460b3a8ea895b3f864df5e8f4606ee9c4303de838678c5ab8df947d2eaca74a0ad057c4ec3b7e20f498cde599d5761db14ce6ce516b4ade41 -DIST smlnj-110.99.3-smlnj-c.tgz 10591 BLAKE2B 1dd6646e64157ee31dbd04a0d7d485012ab31fb1e3855d5bf930e9705298df40d33391363dd927758ae2a931aa7d1f61259c688a437851ebff1b3979f12f6ef7 SHA512 3fb88af71a257229322d88c1bbd30a2081d58ad454f541853d327c785a50b88447db667ac787d6a6a98f449886139b71a4721af65cda18e620889cb3cc0d73de -DIST smlnj-110.99.3-smlnj-lib.tgz 641512 BLAKE2B 1904fc25ae19f8a62669e8ad81272702df3871b04a8ee82e3526d5cbec15835d17fb9ebc710fa7cad5634a9485b5ae9534cb9015e96fae4c19d8a51bcb57b77e SHA512 e711cee0974a7357c0ecac7e38a8bda1db43da7a5262f5878994aab4df604245ccf70510ed7d1a7ff62cc184399ebe08c4a30fb83a881c95c77ed6179d411151 -DIST smlnj-110.99.3-system.tgz 283393 BLAKE2B 9fbb815ee69269ed962899a8374d5669adde670f1846c2137958fb945bc29ac52ae60a1e7393d6fe5479b037641f53bd938555c483683f4f8532c22a44073224 SHA512 90c84826cbc86ebe43cd8bb4bd8aff6ddae67c05c1d263f0528720ceb6291bdc6ef3d51ea117cea86d5af8412a43f4dc3422eae6c1de4442139e4d366398d3ae -DIST smlnj-110.99.3-trace-debug-profile.tgz 3890 BLAKE2B 53bc19a0b805bde85527fec711e088e5805420ed969347075f1876ebbc0d13a54a9d5b444da9541fbccdd0e48444ce663806f08ed35095d63d87382dab020f32 SHA512 0fedf4d291823f279caf57695826b61da07cecbc1a10cf259a8faf4352e2631dc3d64f8442bf57c9df0c4a39150f37ab95995c4498b3a6700bd125fd2d8d6c15 DIST smlnj-110.99.4-MLRISC.tgz 1457408 BLAKE2B 6d01d0a994ded4167e7429ac4d7a7184197a76b454c7270de8c0887a1a38fffc13db7c1ec23a2e26c3ee765de590cb9483ff74ef944ff71a6ed45dfab9b4c268 SHA512 8ab2d36b0f46824060c87080ea1d450de869db48a768772d4725ca2a7c807451ee675554d5440517960fe41d5f64ceb3a8368c97f667b2bbd83d03195666d64e DIST smlnj-110.99.4-asdl.tgz 241360 BLAKE2B 3fb88f1a44487bff643bf6d011c234cb27c31c220c8ea929b57f72ebd50c1df4da15444617e5a7adaa9f814b0aec4bf3995aad9871f9c808b4bb86df7dbd106d SHA512 9926bb97ac12b595907e2a86ffd4b208e2283275fabc3383b9a4942b99ec0daf5beaec2781072b21d1fefa2331ae99fc9a1cdbf6daf247714a495fe86c4bba2a DIST smlnj-110.99.4-boot.amd64-unix.tgz 5974915 BLAKE2B 81e88ecc65455ce29147130b9b848ba95e64cec184ca3c04020766eeff3bf17b4c8937d105d71748155e71cc5ae1e59a8630b9547123aa554674eba4d8f6b148 SHA512 f3a3baf0c725b590def75d5ba8bc71a46230f26f47cd921ebaf45912954d3ec47abf068c20a2719ce6b5db07b9160d6d75997e0e967073b0585bc415b92c859a @@ -50,3 +24,29 @@ DIST smlnj-110.99.4-smlnj-c.tgz 10589 BLAKE2B df85102595bfdb492ee1a8967f4fc322b7 DIST smlnj-110.99.4-smlnj-lib.tgz 645485 BLAKE2B a1adc247c82dde766a34026a2cef77b4b89cc80f52b4a949173910d30aae2a8a28dc716691c7248d145791c81c27aae75f9b5a91cdcdd3397f1f944255c50c60 SHA512 ac32ed428de0512534445991ae02755170d61dfaa3d4ae5234b437edb7ed6cf9e72e94bfe8edbfd40e5bc7f7a18a97d90a42f5b4f8cbfac2b66cff1b8b6318fc DIST smlnj-110.99.4-system.tgz 282951 BLAKE2B 61ecb598b2daeefcd62ff8214579ecf30434368fb3b3d75edc2b701170ed9719b9f1bc8114c440ab3582329e5e965b3d1fc4287be0226707766bfc796db49fcf SHA512 35b5c2c1e27745c4f366d655768cbb5fd08953f58906751d49e6a4b5d19dd13bb0e1003e7dac5990dc121c81fc3ecab242a367ef43a02a2728ff3de9d2f0ad1b DIST smlnj-110.99.4-trace-debug-profile.tgz 3891 BLAKE2B 81cec5f57efc4345a287b5a0b5d93ee96271c2494feb06df3c4583bf23e6079322e9f93e0092469a233954ab145e7e6d56b821bf8bffb85c8d92338ad0fd7163 SHA512 db8c147d65b6211fdff71171a2b517726502e742c7ae48e4bb326decaaeba8ab5abfefd192cc7381182dc266d26a81d2792635821256c7ed7ff7652e9f6fbd41 +DIST smlnj-110.99.5-MLRISC.tgz 1457434 BLAKE2B 385460ebe010667dc4b22d13b4dce64a766c656ab6182b5b347e4612c5f3e428e3788f8ca3cfb1ba50f04fe86acfa7ce98ea5ee37631b179bf0c3d955548b86f SHA512 d134cd9f6f0ef49cabbbed15b390a1f4102271c5a65376afe96eb93ff196f36a591c6c252a9068b74c78158ebfbbc8e89e298f46d764701d38d4ea9bbaa7f22c +DIST smlnj-110.99.5-asdl.tgz 241656 BLAKE2B 60900c26da035690a2b41f67ba54edb5952f30e1455c62c7a12d57986b24fb10714955ee26eb5c0e037214190e07ef246e309e9e9527dd9837d184fa0ac9d5ce SHA512 3f829f057b5e33b574a79e6efdb5a0d595a462d6d6f95036d44924e6872898b353a21ae2d650bf42589d4bb444c77fb0d7a50857ca7514fa4d229be3ed305691 +DIST smlnj-110.99.5-boot.amd64-unix.tgz 6000465 BLAKE2B 56d84401739540bde737ef35814ed73ec6381b88b29a93503e242fd60c1bb421cd30d40439cd9e334e8ea70f18e3e25f2150c0a5cc143ec649f54bf65803abe4 SHA512 aa2ea0d615d9e90dedab6b9c915e642bb6ebb4189e1bea0214c47b057208a3a2a7609bdb59126c8331ecd49d3c1717b6db2ab18c2cca362cc5ff92dd51df539e +DIST smlnj-110.99.5-boot.ppc-unix.tgz 5879832 BLAKE2B 552c04efae3f32b6871c439eb1d5f36deb8bc06d154b3e44c2cf4bfcf264c108ddb6ea4f7be4bbf2165a197c0e2023e2d841255a601ef0eb99363925728921cb SHA512 ca9017bbe6f9ced187ca5a35c62aeb55f64d49cab660b2dc78122c253d91b2a1617d6446db63527e579eb1527c32a3256b3d9a4edfb7b2c7c4f4d7b95b060b28 +DIST smlnj-110.99.5-boot.sparc-unix.tgz 6019691 BLAKE2B 4eca69f41a567f012ae94fef2c158f82380e9e7d4acddffd3e4692aa3c98e08bf321c2acf9f955bd47e069e93c5f0b2c4813396b445259daf0313033a37215fc SHA512 84e0d15d6b351d2deea0385ef46e76b1cc9c813377d7026bdbc65bb4d754d78b1d66d620337a6e2443e16c1586af70e6f26aa622d3f5ff1fe6878b9091528748 +DIST smlnj-110.99.5-boot.x86-unix.tgz 5957165 BLAKE2B 162ffc78cefc46d7953b03d567aede86f80e55222467f3ff54007af1d503052a58ea2df43e20f85c1d17799e10367d7291abf2798505de4daedfdabd48e33369 SHA512 48f5aded7422f2d587e8cfa43161b18c71d4d57219a366a04162d16145ce4ae3ef7f168a65de635e770d510ba326b3a2a171d9a3a9fda9a8b587e057d114c3d3 +DIST smlnj-110.99.5-ckit.tgz 200816 BLAKE2B 19baf874be066c677c88b316659b3350a0343c45faa4a61704e93a1ba940bf2a0be7aa915ef06fc49b8b2be35bdb3ee1e69ce7e2bf75f8f713c24654a9142b4d SHA512 e276c665fe732b33e3bb2d564bcd321e51613ab660da02c808740b8dc362c19ff2eeca7f18c4ebdd618fcccb5c149c1e514ec96fdeb3768045d1a6689256625c +DIST smlnj-110.99.5-cm.tgz 220329 BLAKE2B 30bc6a5ab4a5009cb63dbb2cc87196d94c5c7c05647607fca5cff8baf06a66b6cd48191d7c2d560ab1b3e802f3a7c0e3374250efdda0b8fc7c0ec66dc1b83148 SHA512 9fc83a637868023fbad0e955a43d36db879538a6515707068b70b50ef957f1602065f2af0603fec47488be1c7e77b1b080ca139bc7d363da30de91938a96f86a +DIST smlnj-110.99.5-cml.tgz 103975 BLAKE2B 5eb737d7aa39c393f613464fbd655741b17d53953a3cf005bb7b595e0ae166657cdebaf7a2c47c16ea23ea13d2f7a4d9b043e9634cafb001ab1661122c71c429 SHA512 d6e789ebfae42724e70863e2bb5b315675a16254f3ec95d9dc7cc0a3f1738c6ae1333eb027fb0c63053df452d3f9faf31cda0f8ef76fb0984f738e466411a151 +DIST smlnj-110.99.5-compiler.tgz 888050 BLAKE2B 8d7ee627207fd9ed3464efa5cd35db048a08d66858e81092a877b64f0188e4f0397598e2307e338ff9fe4f030293f7e70f22005eca74c132fbd8d151e9eb19ee SHA512 f37ec10a68ce42c60821c1258cae65e93dac0fbfc5cbd9bf37de3dae61b2df065e737faf16504d8eda9e258c4520d3805c7b265457e6f60302975e5142d3c967 +DIST smlnj-110.99.5-config.tgz 23303 BLAKE2B 1f1f70da9d9d45d6ebd0681f281e46604568e0ac039d1e00bebc98dbd814236fd2940a7dfe77f41d7f6bddabef00d1b25e9de1c010d731770ed3f73d30f03ead SHA512 03457ce016c603ed23aaf310dc3c9231b267a1abb6510515c999bbec6cb25b7c3e6ab3e79a223ae835444c10b5635b2d54971ba1987f42dc308dc555b72f460e +DIST smlnj-110.99.5-doc.tgz 2529773 BLAKE2B d4d3addc5f614b53703445bb735df38031433a731a0d10a9dc9db39e66b8a5ce5355c08805dfde7ee11525746076fa7fbd8e907705a37809dc8feff5284c7e57 SHA512 4c2d90ce6e3dd0a561bb4a355963471fd2c2226825497b6dafd19dcfb53aef34c66eb116beb8f6d51bd911884fb642ab602175f42d54e0906a875ae8619c075b +DIST smlnj-110.99.5-eXene.tgz 714471 BLAKE2B e66ba11610d4d104b2ae8b53da23782de94a58bcb84ef8df90d049e0448fd9a5e0e014d76c67e4e831059180afed52053582682204320cfdd9fc57c41b6f81d0 SHA512 ba2ab853949c6d1f616326e35b2ec30aae0281bca5697c36fcc308ffdfc44dddfd745dc342be2c2f43e1cd4aa0d8a83508c404d357802b679af45b86a627db6e +DIST smlnj-110.99.5-heap2asm.tgz 1763 BLAKE2B 23a1dea3f408828eb68b2807a2bac06b3a47ecf0273f8450d6f75aff5b891a96cf13d17b963e65ca04cf1c3eaf553eb7b3ae0c90c110c5898bb9d8f305c331d8 SHA512 522b9c4f078410df135ec3a0f66f4abad0275a8b1dac9544951edb18ef3c12d2db375e3bd9c2fac291c1b276c5a4ae060b392899e30fd02033606278b87790e1 +DIST smlnj-110.99.5-ml-burg.tgz 40293 BLAKE2B a9d02176f7e60bac80704d0284838bfcc24b58a1a5bbb67d86e6a1a1f8c66d9b529356d250331fefd59476fbeffc5ad603a5016a2f1433f5487eafb42c18cd98 SHA512 45e8fe097d23004d5cb97553191271506bf7a6ba8152bf5d961e378c9f503e085288e6d93aeeb486c045bd0c7cefd493eb0a2f263ea3e0ee1b814deabf4db6e3 +DIST smlnj-110.99.5-ml-lex.tgz 28040 BLAKE2B 1920b9edc631634f756efa4d4281684729f518bd90a99917a98c979dfd0fcfd4e53d726f3ca76e2f016d0b927d55e67d18e654ecbac6708f83eecade090d7f1e SHA512 0e9ade2a6703a08ea9231c659acf1acab89c6d911bb73143b967512c7f0f195eda121239635c3dab492bbf90bd95afc2ec333928f1b7d1ba7c2bd794fa55510b +DIST smlnj-110.99.5-ml-lpt.tgz 267318 BLAKE2B 78c89ad24e3175f55453e5061f33441d974f011e921ed7ac3e968f7fa21137d93e8f106d680a7aaa6695fc7d954645a04026863d8453e662254864e05263b241 SHA512 17d2c79b80311e27a4260797a17564d5334bd91d23da6ba0e5c9b07475d51d9e896d5823ce8134ee6d621779ebc222c558f7d124a546dfcb1effe18b12240119 +DIST smlnj-110.99.5-ml-yacc.tgz 101379 BLAKE2B ebdd8498407e4b9ada7810d631b20acee44eab8029662bbe265477029332ad1937e095b6aa108178ff27a276e292e7d103c6022ab40e0c0b56bd6a12717c53a8 SHA512 984b3f74a35167ac85aa101279dd3ee6188516e27f7cb40b9be175a29419328a76e6f0812a18c97ab0fca4826531cbd0e43af0da41bebc73448e671480b7eb60 +DIST smlnj-110.99.5-nlffi.tgz 74701 BLAKE2B b27391f67f72c093d45f73c80e803b348e5a65f5a22e0a6a546c30fd05e4c49fe746649788a0da760194f9ace7ae66a166c0acf7618111aa9beeb276b933ca88 SHA512 492621b2725772af7af3cc8a0b96cc274083c010df96b9efa44ee5a0bf2965cb68bcd6415f9ba91bc1f3e64041cecf71e6298e5c66a7ea441842fdbef4416d01 +DIST smlnj-110.99.5-old-basis.tgz 1365 BLAKE2B 4b5b97131255976ee32b62a236f7cb0180b680832afe405c7286e1a501da25d2269deb5361135a90d5d0e51dad641ee39f90fa961b1664e49eb33dccf2cb8574 SHA512 1b0622f053ab83cd50516e9a6cbbb2da6b32e177e993a998c9fc1b73cb897411629f542260c38d9f4764e07ab0d5e79821c506a0e7bd9bb02bbb84ebe95e888a +DIST smlnj-110.99.5-pgraph.tgz 5367 BLAKE2B 77a94c720c06977c7906656b063ca382ec7313d6ca3318d6b839b8305281b36553310df384c07ebd0055639cc7a5d762796e534bec97f9fed33bf8b909ad5e26 SHA512 811f098a67ded93d14e05c0e805ed6d8d508635c919d3ed6b2b844f1180ac44b25d7c81d911aaec85d917e8817f2ceba654585523039f899f0ac6c4f4a71f57a +DIST smlnj-110.99.5-runtime.tgz 335029 BLAKE2B 5473aa7a40589ecd7de58f799623911fbd3bc02adb76ac28123d215d36bb319ba60899cac913555d55c24156a4ec6fd174d97a63e906e81b3b7fd4dc565d20fb SHA512 9a026b4a4d0c4d840d4e3a5d2db06484974315f7584c78f207eb474b6c4b188ce97cef907ff58280f924113ac0a2e6e38c13ce591631be814b072622315398dd +DIST smlnj-110.99.5-smlnj-c.tgz 10594 BLAKE2B 42b2e852a2ca16a04a1f406034aff66c83f9d1239eb4991489cce9f786d7bb15e0aae073262509def7dd0ab449c836a87d2a7460cfffdfe51d2b9324022a0bf3 SHA512 fd7ae015f94445ad7017a7849de028820ea02bf7343c0ad4231caedb2da2029a747c4b083dbbd424550a4feccac97b293627332b043f4f7e2f2d494729fae8e5 +DIST smlnj-110.99.5-smlnj-lib.tgz 658010 BLAKE2B d0f03e38116aa14c7d376facb855fd3b56778c601bc0f2bea21e1793d1a3d9a496da602f1f092fa2402eea411fac995f676cb30b1819e9a15832a60eef97a998 SHA512 0c643e3ab3f6ca5f3a483666042c3b7b835e73969ca3d7602359d8229d5291bd5b90fbc1e66a876a697a8d82fab003edebe61c18c0c0a79a7a987f430845c615 +DIST smlnj-110.99.5-system.tgz 295177 BLAKE2B cb6648d514754ea16650170dda240b2f318e326d1c6cb7a185c9f9e1a33ad32c5c71902ceda09be7a99d4610b3367f8ec590817f3b7d331d7c2b9ffa9cf5ae84 SHA512 038c233eae021293dd83cdaeee5e5d0a78259016684e74183a4f6defca4b72992158e1557c1195f8f1be4c4b5e6a6daf5bdc461eed5b1deabc75f51a8e9480c3 +DIST smlnj-110.99.5-trace-debug-profile.tgz 3892 BLAKE2B 48a4130428e48a46b1d33ae2d7d76b2e3dd564d186ae388b127ab5f72aa8a6d4d60eed5b2b03f9055ad2ac963aca09606a84c2f07aad871c83f1c4416081e887 SHA512 ca55979fccaaaf9a6668f459bbecff959b29d5e54e4c69c851fe7b9361b09e830d1133dfa821eece92610f5ed7faa3122c8c47fa2c87f5b9bbd807ec468f5a10 diff --git a/dev-lang/smlnj/files/smlnj-110.99.3-shuffle.patch b/dev-lang/smlnj/files/smlnj-110.99.3-shuffle.patch deleted file mode 100644 index 8073e36baf41..000000000000 --- a/dev-lang/smlnj/files/smlnj-110.99.3-shuffle.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/base/runtime/c-libs/smlnj-date/makefile 2023-01-23 08:32:22.450319630 +0100 -+++ b/base/runtime/c-libs/smlnj-date/makefile 2023-01-23 08:37:23.920174357 +0100 -@@ -26,6 +26,7 @@ - strftime.o \ - unix-date.o - -+$(OBJS) : $(VERSION) - $(LIBRARY) : $(VERSION) $(OBJS) - rm -rf $(LIBRARY) - $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS) diff --git a/dev-lang/smlnj/files/smlnj-110.99.4-shuffle.patch b/dev-lang/smlnj/files/smlnj-110.99.4-shuffle.patch new file mode 100644 index 000000000000..9a37a1d859bb --- /dev/null +++ b/dev-lang/smlnj/files/smlnj-110.99.4-shuffle.patch @@ -0,0 +1,36 @@ +--- a/base/runtime/c-libs/posix-io/makefile 2024-06-04 08:38:20.192453601 +0200 ++++ b/base/runtime/c-libs/posix-io/makefile 2024-06-04 08:39:09.504903619 +0200 +@@ -37,7 +37,8 @@ + lseek.o \ + fsync.o + +-$(LIBRARY) : $(VERSION) $(OBJS) ++$(LIBRARY) : $(VERSION) ++ $(MAKE) $(OBJS) + rm -rf $(LIBRARY) + $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS) + $(RANLIB) $(LIBRARY) +--- a/base/runtime/objs/makefile 2024-06-04 09:26:03.961409055 +0200 ++++ b/base/runtime/objs/makefile 2024-06-04 09:27:12.461586788 +0200 +@@ -113,7 +113,8 @@ + (cd $(MP_DIR); $(MAKE) MAKE="$(MAKE)" clean) + + +-$(RUNTIME): $(VERSION) main.o $(OBJS) $(ALL_LIBS) ++$(RUNTIME): $(VERSION) ++ $(MAKE) main.o $(OBJS) $(ALL_LIBS) + $(CC) -o $(RUNTIME) $(CFLAGS) $(LDFLAGS) main.o $(OBJS) $(ALL_LIBS) $(LD_LIBS) + + $(RUNTIME_A): $(VERSION) main.o $(OBJS) $(ALL_LIBS) +--- a/base/runtime/c-libs/posix-signal/makefile 2024-06-04 09:32:49.906560537 +0200 ++++ b/base/runtime/c-libs/posix-signal/makefile 2024-06-04 09:33:12.811305204 +0200 +@@ -21,7 +21,8 @@ + OBJS = posix-signal-lib.o \ + osval.o + +-$(LIBRARY) : $(VERSION) $(OBJS) ++$(LIBRARY) : $(VERSION) ++ $(MAKE) $(OBJS) + rm -rf $(LIBRARY) + $(AR) $(ARFLAGS) $(LIBRARY) $(OBJS) + $(RANLIB) $(LIBRARY) diff --git a/dev-lang/smlnj/smlnj-110.99.4.ebuild b/dev-lang/smlnj/smlnj-110.99.4.ebuild index 8b5e2ab139ba..fd72dd7ca0a9 100644 --- a/dev-lang/smlnj/smlnj-110.99.4.ebuild +++ b/dev-lang/smlnj/smlnj-110.99.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -81,6 +81,8 @@ src_unpack() { # Unpack asdl to fix autoconf linker check unpack "${S}"/asdl.tgz + + eapply "${FILESDIR}"/${P}-shuffle.patch } src_prepare() { diff --git a/dev-lang/smlnj/smlnj-110.99.3.ebuild b/dev-lang/smlnj/smlnj-110.99.5.ebuild index 35f77904057e..49b93fb2e8fa 100644 --- a/dev-lang/smlnj/smlnj-110.99.3.ebuild +++ b/dev-lang/smlnj/smlnj-110.99.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -10,7 +10,7 @@ HOMEPAGE="http://www.smlnj.org" BASE_URI="http://smlnj.cs.uchicago.edu/dist/working/${PV}" -FILES=" +SRC_FILES=" doc.tgz config.tgz @@ -50,7 +50,7 @@ SRC_URI=" x86? ( ${BASE_URI}/boot.x86-unix.tgz -> ${P}-boot.x86-unix.tgz ) " -for file in ${FILES} ; do +for file in ${SRC_FILES} ; do SRC_URI+=" ${BASE_URI}/${file} -> ${P}-${file} " done @@ -62,8 +62,6 @@ SLOT="0" # sparc support should be there but is untested KEYWORDS="~amd64 ~ppc ~x86" -PATCHES=( "${FILESDIR}"/${P}-shuffle.patch ) - src_unpack() { mkdir -p "${S}" || die local file @@ -114,7 +112,7 @@ src_compile() { } src_install() { - local DIR=/usr/$(get_libdir)/${PN} + local DIR="/usr/$(get_libdir)/${PN}" local i local file @@ -125,8 +123,10 @@ src_install() { -i ${file} done - newbin ./config/_heap2exec heap2exec - exeinto ${DIR}/bin + exeinto /usr/bin + newexe ./config/_heap2exec heap2exec + + exeinto "${DIR}/bin" pushd bin || die for i in {*,.*} ; do [[ -f ${i} ]] && doexe ${i} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index 554099e6f6e2..b50b0059395a 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -1,9 +1,9 @@ DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520 DIST firefox-115.10.0esr.source.tar.xz 507826764 BLAKE2B 342d5cf4d61b3efe3dde6a6e53f064739d4107690f1d101915ba8cf2214f518aa8c7490903e20179f0874a3bd62871723e877e8f789d9816f3e0d9227d751eb6 SHA512 0626e2c68ce43f24dfc2b9216e2565537ad8781daf4195d53420e1b78d57d0f6360fbe56b0ddbedae3818546c72472c85c1ff2b208c123d32a0543e666f42b65 -DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1 +DIST firefox-115.11.0esr.source.tar.xz 506015444 BLAKE2B ced11d0665215dbf0aed710015a1e27863ecb8ccbba71ff6f6c57e1789e54c3c7c1940507db86ff2d8eea4d323a9ca7fbc40eaa6eaa7b0ec922ff69ffad64886 SHA512 0f3a87c99fb008088afd509d9259f893fdd44ea6bf6a5e69806fefb8d355415e81b9e8832a392acb9d0c1c50e4add7f1362a4aaadc35e1d9c2e55baf7136aed8 +DIST firefox-115.12.0esr.source.tar.xz 505219784 BLAKE2B 6d2cc80daca9977f73ea0c0fe7e7cac999f2d7a99c324332d69d9438a6d954fe72ffb35e4df4c2a86abcdc94231c4847bb3e64dd612240f8a6d86e63abdb1be2 SHA512 d98475061d870e0f3aa920b7c0b9b0c1cbdb3f4102f760f1d1c5ea3e45e216c673c8d3662501e7e78af4950a003a519e94b57e9b1eda8d615c159cdf62130e89 DIST firefox-115.9.1esr.source.tar.xz 508070816 BLAKE2B 5182972f45edfb9ec6b23cc2e869fe86237bd51bd23fd31058d03d9dc98f0ea2dcf57215d61d724e08f98d0e0771b86b5e5ce78ed03c3ac08fac60ed4377f890 SHA512 9ccaede2fcda13a07f98a2110bb8f99c7324601d66bff311f3070a669576a1598fe1d7de2d005d725d1f44dbe3934a9c0fd0b7950f60686047d4ce8d9d812310 -DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257 DIST firefox-115esr-patches-09.tar.xz 16660 BLAKE2B 1dcdf62f35013b82dd70bf00c0505394b9277affcd1b1cbde92421778f4fcc146f536a546c2db8d6a70f92d40e4b1c96927fedec54383e6bb80bd9806d9b4461 SHA512 e003d0a2a5304dcdd0851b57ceb11993333326c8221d5d99555cd0c64090d5eda1bdb2a2a52e605f6094a3214ffa2238e43d57ff64eb7d424ff54b8125c16f5c DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185 diff --git a/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild index ecca50c0ad51..41c724870547 100644 --- a/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-115.10.0.ebuild @@ -61,7 +61,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86" SLOT="$(ver_cut 1)" LICENSE="MPL-2.0" diff --git a/dev-lang/spidermonkey/spidermonkey-115.3.1.ebuild b/dev-lang/spidermonkey/spidermonkey-115.11.0.ebuild index 552bc5c63e43..30f367f6a1f9 100644 --- a/dev-lang/spidermonkey/spidermonkey-115.3.1.ebuild +++ b/dev-lang/spidermonkey/spidermonkey-115.11.0.ebuild @@ -4,12 +4,12 @@ EAPI="8" # Patch version -FIREFOX_PATCHSET="firefox-115esr-patches-06.tar.xz" +FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz" SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz" -LLVM_MAX_SLOT=17 +LLVM_MAX_SLOT=18 -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) PYTHON_REQ_USE="ncurses,ssl,xml(+)" WANT_AUTOCONF="2.1" @@ -61,7 +61,7 @@ SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES} DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" SLOT="$(ver_cut 1)" LICENSE="MPL-2.0" @@ -71,8 +71,17 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test" RESTRICT="!test? ( test )" BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig || ( ( + sys-devel/llvm:18 + clang? ( + sys-devel/lld:18 + sys-devel/clang:18 + virtual/rust:0/llvm-18 + ) + ) + ( sys-devel/llvm:17 clang? ( sys-devel/lld:17 @@ -98,7 +107,12 @@ BDEPEND="${PYTHON_DEPS} ) ) !clang? ( virtual/rust ) - virtual/pkgconfig + !elibc_glibc? ( + || ( + dev-lang/rust + <dev-lang/rust-bin-1.73 + ) + ) test? ( $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') )" @@ -246,6 +260,11 @@ src_prepare() { rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die fi + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + eapply "${WORKDIR}"/firefox-patches eapply "${WORKDIR}"/spidermonkey-patches @@ -254,6 +273,17 @@ src_prepare() { # Make cargo respect MAKEOPTS export CARGO_BUILD_JOBS="$(makeopts_jobs)" + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + # sed-in toolchain prefix sed -i \ -e "s/objdump/${CHOST}-objdump/" \ @@ -361,9 +391,8 @@ src_configure() { myeconfargs+=( --disable-real-time-tracing ) fi - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - myeconfargs+=( --enable-rust-simd ) - fi + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + myeconfargs+=( --disable-rust-simd ) # Modifications to better support ARM, bug 717344 if use cpu_flags_arm_neon ; then diff --git a/dev-lang/spidermonkey/spidermonkey-115.12.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.12.0.ebuild new file mode 100644 index 000000000000..30f367f6a1f9 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-115.12.0.ebuild @@ -0,0 +1,503 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Patch version +FIREFOX_PATCHSET="firefox-115esr-patches-10.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz" + +LLVM_MAX_SLOT=18 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + +SLOT="$(ver_cut 1)" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig + || ( + ( + sys-devel/llvm:18 + clang? ( + sys-devel/lld:18 + sys-devel/clang:18 + virtual/rust:0/llvm-18 + ) + ) + ( + sys-devel/llvm:17 + clang? ( + sys-devel/lld:17 + sys-devel/clang:17 + virtual/rust:0/llvm-17 + ) + ) + ( + sys-devel/llvm:16 + clang? ( + sys-devel/lld:16 + sys-devel/clang:16 + virtual/rust:0/llvm-16 + ) + ) + ( + sys-devel/llvm:15 + clang? ( + sys-devel/lld:15 + sys-devel/clang:15 + virtual/rust:0/llvm-15 + ) + ) + ) + !clang? ( virtual/rust ) + !elibc_glibc? ( + || ( + dev-lang/rust + <dev-lang/rust-bin-1.73 + ) + ) + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then + einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then + einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then + einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ! tc-ld-is-mold ; then + if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then + einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_setup + + llvm_pkg_setup + + if use clang && use lto && tc-ld-is-lld ; then + local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') + [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") + [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" + + 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}." + eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" + eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" + eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" + eerror " - Build ${CATEGORY}/${PN} without USE=lto" + eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole " + eerror " llvm/clang/lld/rust chain depending on your @world updates)" + die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + # use prefix shell in wrapper linker scripts, bug #789660 + hprefixify "${S}"/../../build/cargo-{,host-}linker + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + + --disable-ctype + --disable-jemalloc + --disable-smoosh + --disable-strip + + --enable-project=js + --enable-readline + --enable-release + --enable-shared-js + + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if use debug; then + myeconfargs+=( --disable-optimize ) + myeconfargs+=( --enable-debug-symbols ) + myeconfargs+=( --enable-real-time-tracing ) + else + myeconfargs+=( --enable-optimize ) + myeconfargs+=( --disable-debug-symbols ) + myeconfargs+=( --disable-real-time-tracing ) + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + myeconfargs+=( --disable-rust-simd ) + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + myeconfargs+=( --enable-linker=mold ) + else + myeconfargs+=( --enable-linker=lld ) + fi + myeconfargs+=( --enable-lto=cross ) + + else + myeconfargs+=( --enable-linker=bfd ) + myeconfargs+=( --enable-lto=full ) + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + + if use x86 ; then + echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list + fi + + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/starlark-rust/starlark-rust-0.8.0.ebuild b/dev-lang/starlark-rust/starlark-rust-0.8.0.ebuild index 583c4b1b2c2d..c113e7a06b47 100644 --- a/dev-lang/starlark-rust/starlark-rust-0.8.0.ebuild +++ b/dev-lang/starlark-rust/starlark-rust-0.8.0.ebuild @@ -1,185 +1,184 @@ -# Copyright 2022 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 CRATES=" - Inflector-0.11.4 - ahash-0.7.6 - aho-corasick-0.7.18 - annotate-snippets-0.9.1 - ansi_term-0.12.1 - anyhow-1.0.57 - argfile-0.1.4 - ascii-canvas-3.0.0 - atty-0.2.14 - autocfg-1.1.0 - beef-0.5.1 - bit-set-0.5.2 - bit-vec-0.6.3 - bitflags-1.3.2 - bumpalo-3.9.1 - cc-1.0.73 - cfg-if-1.0.0 - clap-2.34.0 - clipboard-win-4.4.1 - convert_case-0.4.0 - crossbeam-channel-0.5.4 - crossbeam-utils-0.8.8 - crunchy-0.2.2 - debugserver-types-0.5.0 - derivative-2.2.0 - derive_more-0.99.17 - diff-0.1.12 - dirs-next-2.0.0 - dirs-sys-next-0.1.2 - either-1.6.1 - ena-0.14.0 - endian-type-0.1.2 - erased-serde-0.3.20 - errno-0.2.8 - errno-dragonfly-0.1.2 - error-code-2.3.1 - fancy-regex-0.5.0 - fd-lock-3.0.5 - fixedbitset-0.4.1 - fnv-1.0.7 - form_urlencoded-1.0.1 - gazebo-0.7.0 - gazebo_derive-0.7.0 - gazebo_lint-0.1.1 - getrandom-0.2.6 - hashbrown-0.11.2 - heck-0.3.3 - hermit-abi-0.1.19 - idna-0.2.3 - indenter-0.3.3 - indexmap-1.8.1 - indoc-1.0.6 - io-lifetimes-0.6.1 - itertools-0.9.0 - itertools-0.10.3 - itoa-1.0.1 - lalrpop-0.19.8 - lalrpop-util-0.19.8 - lazy_static-1.4.0 - libc-0.2.125 - linux-raw-sys-0.0.46 - lock_api-0.4.7 - log-0.4.17 - logos-0.12.0 - logos-derive-0.12.0 - lsp-server-0.5.2 - lsp-types-0.89.2 - maplit-1.0.2 - matches-0.1.9 - memchr-2.5.0 - memoffset-0.6.5 - new_debug_unreachable-1.0.4 - nibble_vec-0.1.0 - nix-0.23.1 - num-bigint-0.4.3 - num-integer-0.1.45 - num-traits-0.2.15 - once_cell-1.10.0 - os_str_bytes-6.0.0 - parking_lot-0.12.0 - parking_lot_core-0.9.3 - paste-1.0.7 - percent-encoding-2.1.0 - petgraph-0.6.0 - phf_shared-0.10.0 - pico-args-0.4.2 - ppv-lite86-0.2.16 - precomputed-hash-0.1.1 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.38 - quote-1.0.18 - radix_trie-0.2.1 - rand-0.8.5 - rand_chacha-0.3.1 - rand_core-0.6.3 - redox_syscall-0.2.13 - redox_users-0.4.3 - regex-1.5.5 - regex-syntax-0.6.25 - rustc_version-0.4.0 - rustix-0.34.6 - rustversion-1.0.6 - rustyline-9.1.2 - ryu-1.0.9 - same-file-1.0.6 - schemafy-0.5.2 - schemafy_core-0.5.2 - schemafy_lib-0.5.2 - scopeguard-1.1.0 - semver-1.0.9 - serde-1.0.137 - serde_derive-1.0.137 - serde_json-1.0.81 - serde_repr-0.1.8 - siphasher-0.3.10 - smallvec-1.8.0 - smawk-0.3.1 - static_assertions-1.1.0 - str-buf-1.0.5 - string_cache-0.8.4 - strsim-0.8.0 - strsim-0.10.0 - structopt-0.3.26 - structopt-derive-0.4.18 - syn-1.0.93 - term-0.7.0 - textwrap-0.11.0 - textwrap-0.14.2 - thiserror-1.0.31 - thiserror-impl-1.0.31 - tiny-keccak-2.0.2 - tinyvec-1.6.0 - tinyvec_macros-0.1.0 - unicode-bidi-0.3.8 - unicode-linebreak-0.1.2 - unicode-normalization-0.1.19 - unicode-segmentation-1.9.0 - unicode-width-0.1.9 - unicode-xid-0.2.3 - url-2.2.2 - utf8-ranges-1.0.5 - utf8parse-0.2.0 - vec_map-0.8.2 - version_check-0.9.4 - walkdir-2.3.2 - wasi-0.10.2+wasi-snapshot-preview1 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.5 - winapi-x86_64-pc-windows-gnu-0.4.0 - windows-sys-0.30.0 - windows-sys-0.36.1 - windows_aarch64_msvc-0.30.0 - windows_aarch64_msvc-0.36.1 - windows_i686_gnu-0.30.0 - windows_i686_gnu-0.36.1 - windows_i686_msvc-0.30.0 - windows_i686_msvc-0.36.1 - windows_x86_64_gnu-0.30.0 - windows_x86_64_gnu-0.36.1 - windows_x86_64_msvc-0.30.0 - windows_x86_64_msvc-0.36.1 - yansi-term-0.1.2 + Inflector@0.11.4 + ahash@0.7.6 + aho-corasick@0.7.18 + annotate-snippets@0.9.1 + ansi_term@0.12.1 + anyhow@1.0.57 + argfile@0.1.4 + ascii-canvas@3.0.0 + atty@0.2.14 + autocfg@1.1.0 + beef@0.5.1 + bit-set@0.5.2 + bit-vec@0.6.3 + bitflags@1.3.2 + bumpalo@3.9.1 + cc@1.0.73 + cfg-if@1.0.0 + clap@2.34.0 + clipboard-win@4.4.1 + convert_case@0.4.0 + crossbeam-channel@0.5.4 + crossbeam-utils@0.8.8 + crunchy@0.2.2 + debugserver-types@0.5.0 + derivative@2.2.0 + derive_more@0.99.17 + diff@0.1.12 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + either@1.6.1 + ena@0.14.0 + endian-type@0.1.2 + erased-serde@0.3.20 + errno@0.2.8 + errno-dragonfly@0.1.2 + error-code@2.3.1 + fancy-regex@0.5.0 + fd-lock@3.0.5 + fixedbitset@0.4.1 + fnv@1.0.7 + form_urlencoded@1.0.1 + gazebo@0.7.0 + gazebo_derive@0.7.0 + gazebo_lint@0.1.1 + getrandom@0.2.6 + hashbrown@0.11.2 + heck@0.3.3 + hermit-abi@0.1.19 + idna@0.2.3 + indenter@0.3.3 + indexmap@1.8.1 + indoc@1.0.6 + io-lifetimes@0.6.1 + itertools@0.9.0 + itertools@0.10.3 + itoa@1.0.1 + lalrpop@0.19.8 + lalrpop-util@0.19.8 + lazy_static@1.4.0 + libc@0.2.125 + linux-raw-sys@0.0.46 + lock_api@0.4.7 + log@0.4.17 + logos@0.12.0 + logos-derive@0.12.0 + lsp-server@0.5.2 + lsp-types@0.89.2 + maplit@1.0.2 + matches@0.1.9 + memchr@2.5.0 + memoffset@0.6.5 + new_debug_unreachable@1.0.4 + nibble_vec@0.1.0 + nix@0.23.1 + num-bigint@0.4.3 + num-integer@0.1.45 + num-traits@0.2.15 + once_cell@1.10.0 + os_str_bytes@6.0.0 + parking_lot@0.12.0 + parking_lot_core@0.9.3 + paste@1.0.7 + percent-encoding@2.1.0 + petgraph@0.6.0 + phf_shared@0.10.0 + pico-args@0.4.2 + ppv-lite86@0.2.16 + precomputed-hash@0.1.1 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.38 + quote@1.0.18 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.3 + redox_syscall@0.2.13 + redox_users@0.4.3 + regex@1.5.5 + regex-syntax@0.6.25 + rustc_version@0.4.0 + rustix@0.34.6 + rustversion@1.0.6 + rustyline@9.1.2 + ryu@1.0.9 + same-file@1.0.6 + schemafy@0.5.2 + schemafy_core@0.5.2 + schemafy_lib@0.5.2 + scopeguard@1.1.0 + semver@1.0.9 + serde@1.0.137 + serde_derive@1.0.137 + serde_json@1.0.81 + serde_repr@0.1.8 + siphasher@0.3.10 + smallvec@1.8.0 + smawk@0.3.1 + static_assertions@1.1.0 + str-buf@1.0.5 + string_cache@0.8.4 + strsim@0.8.0 + strsim@0.10.0 + structopt@0.3.26 + structopt-derive@0.4.18 + syn@1.0.93 + term@0.7.0 + textwrap@0.11.0 + textwrap@0.14.2 + thiserror@1.0.31 + thiserror-impl@1.0.31 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + unicode-bidi@0.3.8 + unicode-linebreak@0.1.2 + unicode-normalization@0.1.19 + unicode-segmentation@1.9.0 + unicode-width@0.1.9 + unicode-xid@0.2.3 + url@2.2.2 + utf8-ranges@1.0.5 + utf8parse@0.2.0 + vec_map@0.8.2 + version_check@0.9.4 + walkdir@2.3.2 + wasi@0.10.2+wasi-snapshot-preview1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.30.0 + windows-sys@0.36.1 + windows_aarch64_msvc@0.30.0 + windows_aarch64_msvc@0.36.1 + windows_i686_gnu@0.30.0 + windows_i686_gnu@0.36.1 + windows_i686_msvc@0.30.0 + windows_i686_msvc@0.36.1 + windows_x86_64_gnu@0.30.0 + windows_x86_64_gnu@0.36.1 + windows_x86_64_msvc@0.30.0 + windows_x86_64_msvc@0.36.1 + yansi-term@0.1.2 " inherit cargo DESCRIPTION="A Rust implementation of the Starlark language" HOMEPAGE="https://github.com/facebookexperimental/starlark-rust" -SRC_URI="$(cargo_crate_uris ${CRATES}) +SRC_URI="${CARGO_CRATE_URIS} https://github.com/facebookexperimental/starlark-rust/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" KEYWORDS="~amd64" -IUSE="" # Nightly rust-1.53.0 required for https://bugs.gentoo.org/796824 BDEPEND="${RUST_DEPEND} diff --git a/dev-lang/swig/swig-4.2.1.ebuild b/dev-lang/swig/swig-4.2.1.ebuild index 9768e5632ec5..9455e5922f3b 100644 --- a/dev-lang/swig/swig-4.2.1.ebuild +++ b/dev-lang/swig/swig-4.2.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" LICENSE="GPL-3+ BSD BSD-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" IUSE="ccache doc pcre test" RESTRICT="!test? ( test )" diff --git a/dev-lang/typescript/Manifest b/dev-lang/typescript/Manifest index c2fbcf27f1df..c5666049d890 100644 --- a/dev-lang/typescript/Manifest +++ b/dev-lang/typescript/Manifest @@ -1,5 +1 @@ -DIST typescript-5.3.3.tgz 5761919 BLAKE2B 629d2d97a9d57f63cd693a6d77cc385058778c4e4de6002f5e2646c64d1b8ff80386290435b2c838f647bc76f626e4dfd9613e1237d53fa5e4b98f503fbdf9ea SHA512 a5759cadac4cd2ec404beb4dd001bf045d93caa9873b4d78674ef452c27ea45bd8b914aaf0a1fc0e65a99db5ded2910f0c75d957715c01b2648a3279a0d1275b -DIST typescript-5.4.2.tgz 5824544 BLAKE2B a22ecc8a17be22da10263746537d5ce0a0af359866773d6d4d081332a82436c734628d0d89134db63f46fae57f62f6e674f420cea2fff902c1be1a25307b03d8 SHA512 fb6fe0d0576cd444653fa26c6a44100d78d975930cfabaa96a61592442a1e24c13227de20e480ab5bcb409e35de404cd678472d5ac75e53331d16d95fa68a2cd -DIST typescript-5.4.3.tgz 5824407 BLAKE2B c985361a7248f87437bd3df1ce7a66cb6c409b91718fd874f4a51cbff91d7b1bcf91034d1bcfbd3e469e168c4e2571892b28ac74edcdd04fc12c3391925dfb49 SHA512 2ab3dddcf29a08bafbf0c6a5822c099c0db9366f070267703779985186601bfc22cc8a3d11a8a7355408f7fc836afb5515137687793cb9fdc62c7ba10cc8041e -DIST typescript-5.4.4.tgz 5825725 BLAKE2B 98ebd2f2c3472b7944009f672d647d34540b3cb331fb02d41069df572dc10a0f19c08aee7a12c0536e6d3895502e4a8c11b8ff0c1dcb2d58e0398795f2ce50fe SHA512 74613656ff1ca55bf0dbcbfc1c23eac9bd3c1336c1511c43a6e849bd3aeeb128547c69e11c169f0ec2dd4b5121871c8be8125013ed9c4f77433c0bfe310ea82f DIST typescript-5.4.5.tgz 5825770 BLAKE2B aea24c0924b2a0b0d01face2ce6be4e7fac85c2205cb0ecde492c5301f83d55fd8cd501326bd47f90cd78abf48c7aaf0381b13fc8242f3d2f9235e6051860b2b SHA512 bdc23852946083cd68211505c11d164881cab75d6727b48056560d22ef90a6a7b25cffa0a50272fd9e3e174686c5213832ac23c97bd6fd3ce090b031d80187c1 diff --git a/dev-lang/typescript/typescript-5.3.3.ebuild b/dev-lang/typescript/typescript-5.3.3.ebuild deleted file mode 100644 index 761177a3441e..000000000000 --- a/dev-lang/typescript/typescript-5.3.3.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces" -HOMEPAGE="https://www.typescriptlang.org/ - https://github.com/microsoft/TypeScript/" -SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz" -S="${WORKDIR}"/package - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -RDEPEND="net-libs/nodejs" -BDEPEND=">=net-libs/nodejs-16[npm]" - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local myopts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}"/usr - --progress false - --verbose - ) - npm ${myopts[@]} install "${DISTDIR}"/${P}.tgz || die "npm install failed" - - dodoc *.md *.txt -} diff --git a/dev-lang/typescript/typescript-5.4.2.ebuild b/dev-lang/typescript/typescript-5.4.2.ebuild deleted file mode 100644 index 761177a3441e..000000000000 --- a/dev-lang/typescript/typescript-5.4.2.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces" -HOMEPAGE="https://www.typescriptlang.org/ - https://github.com/microsoft/TypeScript/" -SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz" -S="${WORKDIR}"/package - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -RDEPEND="net-libs/nodejs" -BDEPEND=">=net-libs/nodejs-16[npm]" - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local myopts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}"/usr - --progress false - --verbose - ) - npm ${myopts[@]} install "${DISTDIR}"/${P}.tgz || die "npm install failed" - - dodoc *.md *.txt -} diff --git a/dev-lang/typescript/typescript-5.4.3.ebuild b/dev-lang/typescript/typescript-5.4.3.ebuild deleted file mode 100644 index 761177a3441e..000000000000 --- a/dev-lang/typescript/typescript-5.4.3.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces" -HOMEPAGE="https://www.typescriptlang.org/ - https://github.com/microsoft/TypeScript/" -SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz" -S="${WORKDIR}"/package - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -RDEPEND="net-libs/nodejs" -BDEPEND=">=net-libs/nodejs-16[npm]" - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local myopts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}"/usr - --progress false - --verbose - ) - npm ${myopts[@]} install "${DISTDIR}"/${P}.tgz || die "npm install failed" - - dodoc *.md *.txt -} diff --git a/dev-lang/typescript/typescript-5.4.4.ebuild b/dev-lang/typescript/typescript-5.4.4.ebuild deleted file mode 100644 index 761177a3441e..000000000000 --- a/dev-lang/typescript/typescript-5.4.4.ebuild +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DESCRIPTION="Superset of JavaScript with optional static typing, classes and interfaces" -HOMEPAGE="https://www.typescriptlang.org/ - https://github.com/microsoft/TypeScript/" -SRC_URI="https://registry.npmjs.org/${PN}/-/${P}.tgz" -S="${WORKDIR}"/package - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -RDEPEND="net-libs/nodejs" -BDEPEND=">=net-libs/nodejs-16[npm]" - -src_compile() { - # Skip, nothing to compile here. - : -} - -src_install() { - local myopts=( - --audit false - --color false - --foreground-scripts - --global - --offline - --omit dev - --prefix "${ED}"/usr - --progress false - --verbose - ) - npm ${myopts[@]} install "${DISTDIR}"/${P}.tgz || die "npm install failed" - - dodoc *.md *.txt -} diff --git a/dev-lang/typescript/typescript-5.4.5.ebuild b/dev-lang/typescript/typescript-5.4.5.ebuild index 2be080b52222..761177a3441e 100644 --- a/dev-lang/typescript/typescript-5.4.5.ebuild +++ b/dev-lang/typescript/typescript-5.4.5.ebuild @@ -11,7 +11,7 @@ S="${WORKDIR}"/package LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" +KEYWORDS="amd64 ~arm64 ~ppc64" RDEPEND="net-libs/nodejs" BDEPEND=">=net-libs/nodejs-16[npm]" diff --git a/dev-lang/uasm/files/makefile-dep-fix.patch b/dev-lang/uasm/files/makefile-dep-fix.patch new file mode 100644 index 000000000000..66b5ab3d5293 --- /dev/null +++ b/dev-lang/uasm/files/makefile-dep-fix.patch @@ -0,0 +1,22 @@ +Bug: https://bugs.gentoo.org/933867 + +diff --git a/gccLinux64.mak b/gccLinux64.mak +index 9d4431a..e4fb10f 100644 +--- a/gccLinux64.mak ++++ b/gccLinux64.mak +@@ -31,13 +31,13 @@ include gccmod.inc + + #.c.o: + # $(CC) -c $(inc_dirs) $(c_flags) -o $(OUTD)/$*.o $< +-$(OUTD)/%.o: %.c ++$(OUTD)/%.o: %.c | $(OUTD) + $(CC) -D __UNIX__ -c $(inc_dirs) $(c_flags) $(CFLAGS) $(CPPFLAGS) -o $(OUTD)/$*.o $< + + all: $(OUTD) $(OUTD)/$(TARGET1) + + $(OUTD): +- mkdir $(OUTD) ++ mkdir -p $(OUTD) + + $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj) + ifeq ($(DEBUG),0) diff --git a/dev-lang/uasm/uasm-2.56.2.ebuild b/dev-lang/uasm/uasm-2.56.2.ebuild index 8210588c135e..3d96057ef673 100644 --- a/dev-lang/uasm/uasm-2.56.2.ebuild +++ b/dev-lang/uasm/uasm-2.56.2.ebuild @@ -15,6 +15,7 @@ SLOT="0" KEYWORDS="~amd64" PATCHES=( "${FILESDIR}/build-fix.patch" + "${FILESDIR}/makefile-dep-fix.patch" ) src_prepare() { diff --git a/dev-lang/xsb/files/0001-modern-C-fix-for-implicit-int.patch b/dev-lang/xsb/files/0001-modern-C-fix-for-implicit-int.patch new file mode 100644 index 000000000000..d70019db4b5f --- /dev/null +++ b/dev-lang/xsb/files/0001-modern-C-fix-for-implicit-int.patch @@ -0,0 +1,25 @@ +From 3dd24018e4f5c48c382588dd9d8da5b80056a55b Mon Sep 17 00:00:00 2001 +From: Eli Schwartz <eschwartz93@gmail.com> +Date: Thu, 14 Mar 2024 20:28:31 -0400 +Subject: [PATCH] modern C fix for implicit-int + +--- + build/configure.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/configure.in b/build/configure.in +index d51bfeb..6999565 100644 +--- a/build/configure.in ++++ b/build/configure.in +@@ -1346,7 +1346,7 @@ LDFLAGS="-Wl,-export-dynamic" + AC_MSG_CHECKING([whether loader understands -Wl,-export-dynamic]) + # Ideally we should use AC_LINK_IFELSE instead of the obsolete AC_TRY_LINK + #AC_TRY_LINK([],[], __export_dynamic=yes, __export_dynamic=no) +-AC_LINK_IFELSE([AC_LANG_SOURCE([[main(){return 0;}]])], __export_dynamic=yes, __export_dynamic=no) ++AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])], __export_dynamic=yes, __export_dynamic=no) + AC_MSG_RESULT($__export_dynamic) + LDFLAGS=$TEMP_LDFLAGS + ####### End of test for -export-dynamic option of ld +-- +2.43.2 + diff --git a/dev-lang/xsb/xsb-4.0.0.ebuild b/dev-lang/xsb/xsb-4.0.0-r1.ebuild index 6739cc6695c0..bf99d5d3efb6 100644 --- a/dev-lang/xsb/xsb-4.0.0.ebuild +++ b/dev-lang/xsb/xsb-4.0.0-r1.ebuild @@ -1,14 +1,14 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 PATCHSET_VER="3" -inherit autotools java-pkg-opt-2 +inherit autotools flag-o-matic java-pkg-opt-2 DESCRIPTION="XSB is a logic programming and deductive database system" -HOMEPAGE="http://xsb.sourceforge.net" +HOMEPAGE="https://xsb.sourceforge.net" SRC_URI="https://downloads.sourceforge.net/xsb/XSB-$(ver_rs 1-3 -).tar.gz https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz" @@ -30,7 +30,12 @@ DEPEND="${RDEPEND}" S="${WORKDIR}"/XSB -PATCHES=( "${WORKDIR}/${PV}" ) +PATCHES=( + "${WORKDIR}/${PV}" + # https://bugs.gentoo.org/870970 + # https://sourceforge.net/p/xsb/bugs/265/ + "${FILESDIR}"/0001-modern-C-fix-for-implicit-int.patch +) src_prepare() { default @@ -50,6 +55,12 @@ src_prepare() { } src_configure() { + # -Werror=strict-aliasing, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/855659 + # https://sourceforge.net/p/xsb/bugs/264/ + append-flags -fno-strict-aliasing + filter-lto + cd "${S}"/build econf \ diff --git a/dev-lang/zig-bin/Manifest b/dev-lang/zig-bin/Manifest index 7ce5d4b9c74c..8912f192b2e9 100644 --- a/dev-lang/zig-bin/Manifest +++ b/dev-lang/zig-bin/Manifest @@ -1,12 +1,36 @@ DIST zig-linux-aarch64-0.10.1.tar.xz 40321280 BLAKE2B 39abefb80d540d52333ec76203893630ac5df2a784684397033e9ac766f67c4512be71513ebb80faac6c5ebaa2a737859b7bc27b82797232cf97d87d91e8492e SHA512 44dd15b1b2d7bc85a4f8e8171ae5c51122be352249273091b499de5a392c72e262585f981908afd1718a41fa7e67b36f1b65c6cacbf8e9f226a687bd85b7edc6 +DIST zig-linux-aarch64-0.10.1.tar.xz.minisig 326 BLAKE2B f20178d19a0a3415af5557787ba5380b6502771b1df858a03812d47f5602c6cf4bb9c1d7f854ea086a45a7c05a4fb0d6df42e05e3c9e383918195bc3843a88a6 SHA512 ffff297e3946b0bc5c8da6377360764f37ad9a088672c0ba32327cac60379bc5dcba37265e3e9c92ae17073bb8f26f67466c9ac9fd6151c72e62b76214432d0f DIST zig-linux-aarch64-0.11.0.tar.xz 41492432 BLAKE2B fd4e1f242475bfdc94f418817d2f1b256ebdc7e29b94e7629f54c241b7a1df273a2c776ab29dad645af041b5cfb0e7d1b0a922bb04a82553604076d36e957580 SHA512 07a026958cac0f1674496f8a1fd3a3dfcd79274d1a25c87e4123b74a437f332bbea4097320da7f83d67626fb9d6e9fe1d78e917522debb8873f7c40938031e63 +DIST zig-linux-aarch64-0.11.0.tar.xz.minisig 326 BLAKE2B 2b9d4aac400789019430fc4a2e28a255cf259730c2f3f6b18129cd2b43465ef513931e827c58bd5170dfe519f602840892e201b9a66ba013384d1e4f18d3ea92 SHA512 0bb645a52704ecad1b98d91659468a0b8a29c3cc4db8fb2c9bb43cee17ba2cb7227222b0ea81e081cc13772ed2bf1a5253a7f3d7204b2a8166451f4384d7963c +DIST zig-linux-aarch64-0.12.0.tar.xz 41849060 BLAKE2B a12a6c946a365b391b323f51c7b25f855dddaed7a768067da0abfb64ca2440a3ba36b6b5987d5129485e506f45e7f90e98ef29f9242aa71b1dc286426fbc8403 SHA512 6fba718ff4cdf58f9a9db9183b9d436eedea3317c7e91dfa495b47f0dc95d2042784d4692cb65907cb9c3c74484b4e15adeeefd0c1ac462064848bdad4d6e4c4 +DIST zig-linux-aarch64-0.12.0.tar.xz.minisig 326 BLAKE2B 9cf7cdd6a1029e61c695610a4b77aafd915c23108c7a2315b51a2115b1b9f6e944d72fea84dbcc87f0e2e7eab2180ed095434b834a1a87f1c0424a8800db27c8 SHA512 7d0468fa56f6fcc8960a1dba43be6695fb7231e1de8b07f8d4c8b3d4ec8917e3c0cb19b7539db8e316b993bf5396197ab2d16e357fa5d541c7f88da2d7429038 DIST zig-linux-armv7a-0.10.1.tar.xz 50718132 BLAKE2B 76ef431ef8957272b992f6b861913a961d348120106a7f4b77d1f6b2a042dd8904a1ac744ab6b02b78681eef68af4143372e5315cd113d40711bd26fc78e6632 SHA512 4ec3ccd7ac980bfd9fc7a2f6b2301051d3df43b00143914d869389fc44b48916820d996e27cb922dac152228c4b04a0cce51f7b125317de85440a5479fe8ff7d +DIST zig-linux-armv7a-0.10.1.tar.xz.minisig 325 BLAKE2B 675416641adfa9a1cdc6797dd310a7cdd83dda20cf73b5d3dafd616d3686ab72f00d735576c3d6839c9b7a92869ce058dd532beec27e5ec0a7b7d4f94008d592 SHA512 7f7be843ce7718294816f5c8dc349386cd76d9e7ad0a96d74bfe09d7361e864f275593fbd92b44091c5cdd5fcb0d9e8e07683c96585ac932b5f80e7c7356e6cc DIST zig-linux-armv7a-0.11.0.tar.xz 42240664 BLAKE2B 0d301c1a2fa2ddcddccf37333418ceea06b48539548e533a20c098021fba12c1bfe467d0c8dd3d9207c6d129e4de8c47c436a39f7fd6165a0c6ad5a679ca5f50 SHA512 f4235418b3251d03727ba85a6002f6561f20b095a9fddf92ff126a20f49d17533d15d7e0f570ea734e40a1a76dd1b8a4bca78ad6ab3846aeb5f90dc812586008 +DIST zig-linux-armv7a-0.11.0.tar.xz.minisig 325 BLAKE2B 4f8c686969a3f74c91906a1a9b79bef16b8695caf3829b6550d9c3a7b3c92703cad6e5d45e8260fb13b2be1947fe1f0adfc71afcaa6f28b6fd42364a706272dc SHA512 8ae13173ef26d97ff6dfb019f709020d3dd6112dae75ff7e7ba34e53d582f62e37ce2ff16574cfd4a061f0ac16a067eba80639beda1bc319920837321299c9fd +DIST zig-linux-armv7a-0.12.0.tar.xz 42638808 BLAKE2B 58e905a5519729ae8e549be354558d2df72c4d07fafb00c2e78a2b92cf562fe4cabe826992cc0b3165fded1d7e7bffac23af13256aa3cba9497f6561b819e531 SHA512 9cf8afa94afd47a54131e80fad8dc2852cfd2243e33d06eb2ba607cd7de186f7f1245a84efce8556e180fbee6a3c05448b3ab568d93233a16f398b258526867f +DIST zig-linux-armv7a-0.12.0.tar.xz.minisig 325 BLAKE2B 47de3ac2f3abaabae21060a85ffbccb9db1b8df4c67ca02ea9208913c2ec765d6e7b713a8863358cb0a00519397445f269db6c70622fe658bcb7ef34922ba5b0 SHA512 c51884ea6d0849cf97d9e4a206af64a33a66bab5feac610f61ed5239c2122c40a33589fbed5e07d7baefa5e8181dc914a946fb4cfba91480f7581cb56ba358eb DIST zig-linux-i386-0.10.1.tar.xz 48367388 BLAKE2B 482ec9e42d9036177f41c459faf82c79ba525f35ed14150d97af9110efab3e9894b8c64f92f9257b224893179134e43306c985ad6a04ae6a7d427d14ef4e7a3f SHA512 97345a8f7f15a83e51635ec667e869833a597511a1b004fa4ab19d78ad234e05e8344823e0c623510c7c5dbeef447d13636223e8d339f6d53f2eca053852a8d3 +DIST zig-linux-i386-0.10.1.tar.xz.minisig 323 BLAKE2B e25778cf26696ae0450186b6173dc69cfc9eb165903d5c4b1bcb9d01b55646f1af5047e129a1241200b7d7bd041bc9aa85841eee3a9366b7e88a2eccce3dae88 SHA512 52e66eb9a486e853330f125bad2baf63b87e3544ef1cc12cd59889f3c3a8a7ada5363307eb29d797c54202ebc5a3edb87452d6b09f53f099f51f79c053cf8b7d DIST zig-linux-powerpc-0.11.0.tar.xz 44539972 BLAKE2B b713c23f537c8f47be7aae7bf0609d056dc6817aac207ba39df0a53d1c391f1c64bc05edbb53fb5584c60cd6963f35fa56448440c5065dc21b5cf978fbb0bbb4 SHA512 faabbbae501b56c91fec036c209a6d6aea0c974749a777eb13f273e06fde960c7b2a2b29caf83a43fef740652db313933b3eeb72a9c0445ad412a7f8023da3af +DIST zig-linux-powerpc-0.11.0.tar.xz.minisig 326 BLAKE2B ddf87eece5a2238a72d672af245de57ec3163d6849b84a72375dd08e12b9f4d068fd1584abfe0d9dbf449b802383e522bef1a4e21217788ca5638b885c1030c0 SHA512 c762e4a2414aee08fa4a7afd26660cf43c81478fa1a154cd7e7ecdcff15aa3d4ab8263fabe271ce9bd5191a1564b38bb7f96ee7afc2317f71d60c0fd527e32f6 DIST zig-linux-powerpc64le-0.11.0.tar.xz 44656184 BLAKE2B 597947c4bee73847abf0941819477bf8a47a4d019a8060e79133e3d01b43325c0acfae7a8d57a4d84e1cd9dfe63b3439fac4e4372d6b538e9992a9364d65ee73 SHA512 fc1dbe9115e2f92f03a6934d32c65d1de4cbe0cf070d6f468632c906966048400a806d8ec8540fde7a1b195a8ae8238fde5ddd94c2d54a0af70d9060d006cf89 +DIST zig-linux-powerpc64le-0.11.0.tar.xz.minisig 330 BLAKE2B 4a657d18c184bd37b1d3e3ab50b096b2594e204c5bdfe5f94c5543051823b43c7014e99b8b51718513006b4391b400df67ace22a86111a863373f34c526d0f94 SHA512 093f957cfea8605452d52f402371caa4552e10f612fb71240d34d905f7a86271b767163af15e3969f33fadd5d385164e87d944c48cc96cfdc6de00877b239476 +DIST zig-linux-powerpc64le-0.12.0.tar.xz 45216736 BLAKE2B 4da27f58536c311ee5585c3e411ea230459ef5ad3006d381fe75e04c3088735a57eac8fc83856e9182585b5ee27f00026ba393741c55e5b4ed069760c8839d10 SHA512 9c44db49dc5e698bd19ef7341927216d88a813cee03eb5057a9b17b33c4750d6c28aab0befdb4cb2066e7a84befa3e237475a1fdeba672748940e972b27822c0 +DIST zig-linux-powerpc64le-0.12.0.tar.xz.minisig 330 BLAKE2B f43ba19e848ad3777d257d03304cd26a8cf317032b85f3841434fe4d9f70099b053d4b97b09e7b9fc13bb7f403c69f7aac41d0f522ba0aca4de70a3db0c83a94 SHA512 3629f18568066a59b8cfa2026b86e291b742739101df2b0914e935aa5c008ee8fd66c1cb11b961a0acba75eb5e56ba002578a94e4ebbd4b21071fe7e7faebeeb DIST zig-linux-riscv64-0.10.1.tar.xz 42196008 BLAKE2B a7ae37b1d1db1281b09bbd7e35ecaf390bbe28774bd1a4fa76b4468255be19b07fb514326d48576946f3c4eb04dcef34d6ab14f550407aa33803754fabbd848c SHA512 1a1da96924fa4a16a53721017eadc3363859a4f53671e27b11588200d0302d9065de9ba517ad40940aad98725e617cf853f2e83f732a4e23c33deacb99487ad0 +DIST zig-linux-riscv64-0.10.1.tar.xz.minisig 326 BLAKE2B ebe0b448aa59fb1f63ad8a5320207bfb139f7b55af8b4d1d3347580093f0adad31957647b40b296414876c2cc013d6c701ebfe3d95c91240322602bef693ebf8 SHA512 7cb59ebbaeb33be1c743509564478b9d2f513e6142c0b80380be4c70f1b203818330fd3a9322f0dc93cb21121dd4e1bd153225804e467cd13f28f4ff73a4bd2f DIST zig-linux-riscv64-0.11.0.tar.xz 43532324 BLAKE2B f82a7a32b94a084767fa205bf8b66371bfebd4753f647930a5689d727a2211c9cd37f76a855732356a220a64515f8146c5b450207be59854f08132ccf178d23c SHA512 f2ab35c6a7c3452a5dd825d03fa8b5329786a705dbc04260980fefc64e24f4d61cb22c95c10b9952cbc58bdd8741503aa98ad8ed4a8c0a0e856a0e8ba9eb1ca7 +DIST zig-linux-riscv64-0.11.0.tar.xz.minisig 326 BLAKE2B 01a6c8fd20e757fa4f238b676fd6d85c94295929bf0e944b90a307f1579a74840cd100dd28fc56b47ffa77a1fde9b73fed5047a96f55521a671fbf4b2bc9a6ae SHA512 e226ba090392aece2d4d7287e49ad389f11c799d29b528015a180764ee5d64f739011bc0ac649641127feffa017a4f7052ca30107d326e7d50cdb279134faad7 +DIST zig-linux-riscv64-0.12.0.tar.xz 43917444 BLAKE2B 1d06f543f8cc8b4ec2d2cfb0f11e3096effc7f458ff2b9e380a22c8213f9898ae28fdbb09da23f83d5d01f65b174a3461a08fe1af142289016e7c230a0aa0f06 SHA512 f02aff638a46a9a491aeb386e71b3c0c1e536893b1f61348599df9a903dabadb7c21ddff810160f00ce505944e3941ec82f4222bed355accf24fb3dd929f3ce9 +DIST zig-linux-riscv64-0.12.0.tar.xz.minisig 326 BLAKE2B bc8a550010af06d45a8186b0a47370f6b8dcdeb48f503ebe49caef8e2e075c0034e5184fb65c289cdbd17c23a89d9a4a42b25bc7cbde6f709e990a8f9dc521da SHA512 bab7b063452d73d647a65898ffcb65c65171a798333a28cbbac04af12d21303c5a4e185af04df3286c099d7a7194a5d96f57d8bff977796e56cc6a561dcbd40c DIST zig-linux-x86-0.11.0.tar.xz 49824456 BLAKE2B 4a9b4c9551ffe555d1283c9d5aab6649fc5ea5807b9465d18c10cae622beca23df114ab4f503b9d86e14ce26cbf6ac07df8e60521fbc2c3784c9d25eeabf852d SHA512 aaa2adb128ae0cc8e6f43323b78dc60699b80f56b0e1be7524ac7e9ac71513229c4224d2ef7d63fedb74c513c31d5614fe34cbcfb0cc4bb268952427d082594f +DIST zig-linux-x86-0.11.0.tar.xz.minisig 322 BLAKE2B 6d967e2bce7b0c3b891ab91ce6e777f9ded2f13d736215608e5d2f4458eeb5789c628e0cf0ceb516ae9fe6562484fde9dfff73126f460ceac4284717eef484d3 SHA512 a993dce9d4568709c73742530a3892f2e4e5e8a4302b26b88a0480fbcdb50e3333ac109e9b127b4a07fdf16c5e96ce68fda160a8fe6d16dd4d8159145906e7f1 +DIST zig-linux-x86-0.12.0.tar.xz 50498940 BLAKE2B 1d86022cb51ef737d8994c5854cc3bc7051907be33bbc2f52b5d395a9fc1c206ee24d62d1e4323d808b3242888d2179e5e2bc6d913de845ebf64468aff04af4a SHA512 2a2c462553a79635f13c6931eb1aae61f3c6ad8190794686711d4a0c33039f3c2e609d96bd7e8e420111d6369dabbe17f5a394d504cf702df5b97e5c15c9943b +DIST zig-linux-x86-0.12.0.tar.xz.minisig 322 BLAKE2B 1cb63844ed396f698419f40cd86eef584f660be00c45f706f3887b1239eefe859572a5325a92620792351707647d2d98d0b5bdaa86200ba2fc78bb0c3c07493a SHA512 b1b8ae28c26ebee7323ab1c6638270e1f138bbf557a26fa931cdc877ef203e77f7f80f8f1d83a4da7f6786be5257f64961adbc8dd957571e074d21e520f04cef DIST zig-linux-x86_64-0.10.1.tar.xz 44085596 BLAKE2B d689a469dbbe790593a561dd4df01c506212754c48be7de03773c7e690cbab197af10d639e80148f3343204ddf9ecfe09a88a62fb6ef63a262bcc2dd79fecd34 SHA512 1cf88a492b1a47800e213b8801477f4ffabf269f960d27d1849c5aec805b5db3768c83d4daa4a738532b1b7367e8c6812e3eea47c205ea732d7a6269a47e16dc +DIST zig-linux-x86_64-0.10.1.tar.xz.minisig 325 BLAKE2B 41cf60ae99405ed55449c35e76a3de761e5de75bf07d8500fe64bf2e45b0dc5f63a929ff6bf47233ea0472f167d9e2305d66c48fbe3da66b6f1223d83ed6fa2b SHA512 309fe97b56673e4f111e2408aa1162194d77cd6976cf7ae491d3a035ef0319b8b634c59977dbc18466182b37d4a12f294d8c258d2d793a3aa3eced448f06e30e DIST zig-linux-x86_64-0.11.0.tar.xz 44961892 BLAKE2B b0780573dbd372c7a9efec32e6860050b15603a80e00e64757a6c09a02757febc14d3df32ff089f418996fb55bf6fb50774393037f86cbecd49f06c250e5bbe3 SHA512 992e49a28edc9bed44c124a887c4700e707c2eef6a6f3adb551c568103242c3a5304af00d95994a511670c2099f476aa5068eef538f6065afe9bc149c88887b9 +DIST zig-linux-x86_64-0.11.0.tar.xz.minisig 325 BLAKE2B 0278fff974f16bb871d75cfec796852cfe8102204467c3f9d55579534d3061b3048b295e6dcf1f69da806b6a7782fea8667995f11ad2e9e92070e136a954d6d3 SHA512 919badc20197be66be0d728a9f94f3adee67f262ddb626bcba5051fc01f521ae65ebc3c29ff96fd0c3fcf2ddf59e5f9c8a7a80a18db4f6e743601389e434faa5 +DIST zig-linux-x86_64-0.12.0.tar.xz 45480516 BLAKE2B 0529796b90dc1b8020327855c42d62d5eb58567f3f0fac42aa2b6c7c938c79455c8527d5d2fee33cd78a6815b55f8c61c554332ed1043c3ec87f0e20a89179f4 SHA512 f596bb1e5294edefcdfb31799b426714b18ca39dd3e058acade90590bd20598115ca0fae612f69892e2b66abf288964a442ea988bae69473168162ef72fc13ac +DIST zig-linux-x86_64-0.12.0.tar.xz.minisig 325 BLAKE2B 4531c46c2fbdc43ed48c949e632023b20f5cc226f56529aef944770e8fde8d7a37c2332b44d5d5666c02bf36a0f14f187953a084a3e252057d32b9e2782dd687 SHA512 f61e9310cd75938e889a7c9f7c6bb5cfd1dd9d23c60c1033e48e95219c3dd15962c6686c60283997e3e83870f22a24c12e58381cf4e9fece37a0dcb4f62f9874 diff --git a/dev-lang/zig-bin/zig-bin-0.10.1-r3.ebuild b/dev-lang/zig-bin/zig-bin-0.10.1-r3.ebuild index b5dcb9e26682..d3bcaa24399a 100644 --- a/dev-lang/zig-bin/zig-bin-0.10.1-r3.ebuild +++ b/dev-lang/zig-bin/zig-bin-0.10.1-r3.ebuild @@ -1,8 +1,12 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +VERIFY_SIG_METHOD=minisig +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub +inherit verify-sig + DESCRIPTION="A robust, optimal, and maintainable programming language" HOMEPAGE="https://ziglang.org/" SRC_URI=" @@ -10,7 +14,15 @@ SRC_URI=" arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz ) arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz ) riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz ) - x86? ( https://ziglang.org/download/${PV}/zig-linux-i386-${PV}.tar.xz )" + x86? ( https://ziglang.org/download/${PV}/zig-linux-i386-${PV}.tar.xz ) + verify-sig? ( + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz.minisig ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz.minisig ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz.minisig ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz.minisig ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-i386-${PV}.tar.xz.minisig ) + ) +" # project itself: MIT # There are bunch of projects under "lib/" folder that are needed for cross-compilation. @@ -28,7 +40,9 @@ SLOT="$(ver_cut 1-2)" KEYWORDS="-* ~amd64 ~arm ~arm64 ~riscv ~x86" IUSE="doc" +BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" IDEPEND="app-eselect/eselect-zig" + # Zig provides its standard library in source form "/opt/zig-bin-{PV}/lib/", # and all other Zig libraries are meant to be consumed in source form, # because they can use compile-time mechanics (and it is easier for distributions to patch them) @@ -41,7 +55,7 @@ PATCHES=( QA_PREBUILT="opt/${P}/zig" src_unpack() { - unpack ${A} + verify-sig_src_unpack mv "${WORKDIR}/"* "${S}" || die } diff --git a/dev-lang/zig-bin/zig-bin-0.11.0-r1.ebuild b/dev-lang/zig-bin/zig-bin-0.11.0-r1.ebuild index 92775c190670..eb8f8fb3b0c7 100644 --- a/dev-lang/zig-bin/zig-bin-0.11.0-r1.ebuild +++ b/dev-lang/zig-bin/zig-bin-0.11.0-r1.ebuild @@ -1,8 +1,12 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +VERIFY_SIG_METHOD=minisig +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub +inherit verify-sig + DESCRIPTION="A robust, optimal, and maintainable programming language" HOMEPAGE="https://ziglang.org/" SRC_URI=" @@ -12,7 +16,17 @@ SRC_URI=" ppc? ( https://ziglang.org/download/${PV}/zig-linux-powerpc-${PV}.tar.xz ) ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz ) riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz ) - x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz )" + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz ) + verify-sig? ( + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz.minisig ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz.minisig ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz.minisig ) + ppc? ( https://ziglang.org/download/${PV}/zig-linux-powerpc-${PV}.tar.xz.minisig ) + ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz.minisig ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz.minisig ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz.minisig ) + ) +" # project itself: MIT # There are bunch of projects under "lib/" folder that are needed for cross-compilation. @@ -30,7 +44,9 @@ SLOT="$(ver_cut 1-2)" KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" IUSE="doc" +BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" IDEPEND="app-eselect/eselect-zig" + # Zig provides its standard library in source form "/opt/zig-bin-{PV}/lib/", # and all other Zig libraries are meant to be consumed in source form, # because they can use compile-time mechanics (and it is easier for distributions to patch them) @@ -43,7 +59,7 @@ PATCHES=( QA_PREBUILT="opt/${P}/zig" src_unpack() { - unpack ${A} + verify-sig_src_unpack mv "${WORKDIR}/"* "${S}" || die } diff --git a/dev-lang/zig-bin/zig-bin-0.12.0.ebuild b/dev-lang/zig-bin/zig-bin-0.12.0.ebuild new file mode 100644 index 000000000000..4c4e910205e9 --- /dev/null +++ b/dev-lang/zig-bin/zig-bin-0.12.0.ebuild @@ -0,0 +1,90 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_METHOD=minisig +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub +inherit verify-sig + +DESCRIPTION="A robust, optimal, and maintainable programming language" +HOMEPAGE="https://ziglang.org/" +SRC_URI=" + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz ) + ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz ) + verify-sig? ( + amd64? ( https://ziglang.org/download/${PV}/zig-linux-x86_64-${PV}.tar.xz.minisig ) + arm? ( https://ziglang.org/download/${PV}/zig-linux-armv7a-${PV}.tar.xz.minisig ) + arm64? ( https://ziglang.org/download/${PV}/zig-linux-aarch64-${PV}.tar.xz.minisig ) + ppc64? ( https://ziglang.org/download/${PV}/zig-linux-powerpc64le-${PV}.tar.xz.minisig ) + riscv? ( https://ziglang.org/download/${PV}/zig-linux-riscv64-${PV}.tar.xz.minisig ) + x86? ( https://ziglang.org/download/${PV}/zig-linux-x86-${PV}.tar.xz.minisig ) + ) +" + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="$(ver_cut 1-2)" +KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" + +BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +IDEPEND="app-eselect/eselect-zig" + +# Zig provides its standard library in source form "/opt/zig-bin-{PV}/lib/", +# and all other Zig libraries are meant to be consumed in source form, +# because they can use compile-time mechanics (and it is easier for distributions to patch them) +# Here we use this feature for fixing programs that use standard library +# Note: Zig build system is also part of standard library, so we can fix it too +PATCHES=() + +DOCS=( "README.md" ) +HTML_DOCS=( "doc/langref.html" ) + +QA_PREBUILT="opt/${P}/zig" + +src_unpack() { + verify-sig_src_unpack + + mv "${WORKDIR}/"* "${S}" || die +} + +src_install() { + insinto /opt/ + + einstalldocs + rm README.md || die + rm -r ./doc/ || die + + doins -r "${S}" + fperms 0755 "/opt/${P}/zig" + dosym -r "/opt/${P}/zig" "/usr/bin/zig-bin-${PV}" +} + +pkg_postinst() { + eselect zig update ifunset + + elog "Starting from 0.12.0, Zig no longer installs" + elog "precompiled standard library documentation." + elog "Instead, you can call \`zig std\` to compile it on-the-fly." + elog "It reflects all edits in standard library automatically." + elog "See \`zig std --help\` for more information." + elog "More technical details here: https://github.com/ziglang/zig/pull/19208" +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/Manifest b/dev-lang/zig/Manifest index 0041c029d4ff..59c8c3e88aaa 100644 --- a/dev-lang/zig/Manifest +++ b/dev-lang/zig/Manifest @@ -1 +1,4 @@ DIST zig-0.11.0.tar.xz 15275316 BLAKE2B 603e4995a36d214ba71cf05b719a04732c8927995c8207ab8fdd574dca3410cdc5ccc8f6aa9964807afc04a5cbce1a3910a6cde4cf12e585cdf7684833217eb2 SHA512 c19a8ae6d440a16dd5e77941fc77c036d1f284f1784376625e63b65f30b4acad62f9f4217bc818c401f88c2c33f8722f26fc467c3e23c29a89178c4b1882d1c4 +DIST zig-0.11.0.tar.xz.minisig 312 BLAKE2B 8df407f07dde36280c945300fd8b803e6e59c026eb7a3eb56e6d2f4fe1047672e17946a3bbe23ccfe9be07b65331e17690e95fd348353be22f7b6d9b73b3f9ca SHA512 565dd1eacb7dd697e6b1ff54517adc1e4775d2523afaeb4f9a3dd404df871b187862211ecbbcf90b42e3a03853677fc1603e7fc8fc5ba7126a054679faa601ca +DIST zig-0.12.0.tar.xz 17099152 BLAKE2B 2a1248302868156c4ddcb154d075af29886a95a4c29de02ff0981e76a85f5d4109dd5c38f95c2c16f5c942bab7d120ae068c1e122ab8ad421c0213b7e996956c SHA512 0c3d9396fea4905245c7e32ce6bd9b4ff140f061cd8a957929e4c84cf105f5bbcbf2e7c030013ac649edb569e909f65d928b3e8a86f35c9076fb62e996feea14 +DIST zig-0.12.0.tar.xz.minisig 312 BLAKE2B 4b3d1ae45d3b6d81054a39255c0892d9376d05da9ff1076bcf740310c9650b0154ddc39f19caee9dae293719d58a63764e43b694b83fe7031c87ab434aa377f5 SHA512 6e14c1e1926beeb249cb88fb2247ff401f679b64785c3ec8a924e33c894174deb77b48286469a863761bce0ca57524f904995eacf544919dda387c140e6e829e diff --git a/dev-lang/zig/zig-0.11.0-r1.ebuild b/dev-lang/zig/zig-0.11.0-r1.ebuild index 633b6e1c6399..8114e11a4f79 100644 --- a/dev-lang/zig/zig-0.11.0-r1.ebuild +++ b/dev-lang/zig/zig-0.11.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 2019-2023 Gentoo Authors +# Copyright 2019-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -12,8 +12,17 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ziglang/zig.git" inherit git-r3 else - SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz" + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" fi # project itself: MIT diff --git a/dev-lang/zig/zig-0.12.0.ebuild b/dev-lang/zig/zig-0.12.0.ebuild new file mode 100644 index 000000000000..2b89e41832af --- /dev/null +++ b/dev-lang/zig/zig-0.12.0.ebuild @@ -0,0 +1,182 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=17 +inherit edo cmake llvm check-reqs toolchain-funcs + +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 + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " + KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" +fi + +# project itself: MIT +# There are bunch of projects under "lib/" folder that are needed for cross-compilation. +# Files that are unnecessary for cross-compilation are removed by upstream +# and therefore their licenses (if any special) are not included. +# lib/libunwind: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxxabi: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libcxx: Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) +# lib/libc/wasi: || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain +# lib/libc/musl: MIT BSD-2 +# lib/libc/mingw: ZPL public-domain BSD-2 ISC HPND +# lib/libc/glibc: BSD HPND ISC inner-net LGPL-2.1+ +LICENSE="MIT Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT ) || ( Apache-2.0-with-LLVM-exceptions Apache-2.0 MIT BSD-2 ) public-domain BSD-2 ZPL ISC HPND BSD inner-net LGPL-2.1+" +SLOT="$(ver_cut 1-2)" +IUSE="doc" + +BUILD_DIR="${S}/build" + +# Zig requires zstd and zlib compression support in LLVM, if using LLVM backend. +# (non-LLVM backends don't require these) +# They are not required "on their own", so please don't add them here. +# You can check https://github.com/ziglang/zig-bootstrap in future, to see +# options that are passed to LLVM CMake building (excluding "static" ofc). +DEPEND=" + sys-devel/clang:${LLVM_MAX_SLOT}= + sys-devel/lld:${LLVM_MAX_SLOT}= + sys-devel/llvm:${LLVM_MAX_SLOT}=[zstd] +" + +RDEPEND=" + ${DEPEND} +" + +IDEPEND="app-eselect/eselect-zig" + +# see https://github.com/ziglang/zig/issues/3382 +# For now, Zig Build System doesn't support enviromental CFLAGS/LDFLAGS/etc. +QA_FLAGS_IGNORED="usr/.*/zig/${PV}/bin/zig" + +# Since commit https://github.com/ziglang/zig/commit/e7d28344fa3ee81d6ad7ca5ce1f83d50d8502118 +# Zig uses self-hosted compiler only +CHECKREQS_MEMORY="4G" + +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} + +ctarget_to_zigtarget() { + # Zig's Target Format: arch-os-abi + local CTARGET="${CTARGET:-${CHOST}}" + + local ZIG_ARCH + case "${CTARGET%%-*}" in + i?86) ZIG_ARCH=x86;; + sparcv9) ZIG_ARCH=sparc64;; + *) ZIG_ARCH="${CTARGET%%-*}";; # Same as in CHOST + esac + + local ZIG_OS + case "${CTARGET}" in + *linux*) ZIG_OS=linux;; + *apple*) ZIG_OS=macos;; + esac + + local ZIG_ABI + case "${CTARGET##*-}" in + gnu) ZIG_ABI=gnu;; + solaris*) ZIG_OS=solaris ZIG_ABI=none;; + darwin*) ZIG_ABI=none;; + *) ZIG_ABI="${CTARGET##*-}";; # Same as in CHOST + esac + + echo "${ZIG_ARCH}-${ZIG_OS}-${ZIG_ABI}" +} + +get_zig_mcpu() { + local ZIG_DEFAULT_MCPU=native + tc-is-cross-compiler && ZIG_DEFAULT_MCPU=baseline + echo "${ZIG_MCPU:-${ZIG_DEFAULT_MCPU}}" +} + +get_zig_target() { + local ZIG_DEFAULT_TARGET=native + tc-is-cross-compiler && ZIG_DEFAULT_TARGET="$(ctarget_to_zigtarget)" + echo "${ZIG_TARGET:-${ZIG_DEFAULT_TARGET}}" +} + +pkg_setup() { + llvm_pkg_setup + check-reqs_pkg_setup +} + +src_configure() { + # Useful for debugging and a little bit more deterministic. + export ZIG_LOCAL_CACHE_DIR="${T}/zig-local-cache" + export ZIG_GLOBAL_CACHE_DIR="${T}/zig-global-cache" + + local mycmakeargs=( + -DZIG_USE_CCACHE=OFF + -DZIG_SHARED_LLVM=ON + -DZIG_TARGET_TRIPLE="$(get_zig_target)" + -DZIG_TARGET_MCPU="$(get_zig_mcpu)" + -DZIG_USE_LLVM_CONFIG=ON + -DCMAKE_PREFIX_PATH="$(get_llvm_prefix ${LLVM_MAX_SLOT})" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/$(get_libdir)/zig/${PV}" + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + "${BUILD_DIR}/stage3/bin/zig" env || die "Zig compilation failed" + + if use doc; then + cd "${BUILD_DIR}" || die + edo ./stage3/bin/zig build std-docs --prefix "${S}/docgen/" + edo ./stage3/bin/zig build langref --prefix "${S}/docgen/" + fi +} + +src_test() { + cd "${BUILD_DIR}" || die + local ZIG_TEST_ARGS="-Dstatic-llvm=false -Denable-llvm -Dskip-non-native \ + -Doptimize=ReleaseSafe -Dtarget=$(get_zig_target) -Dcpu=$(get_zig_mcpu)" + local ZIG_TEST_STEPS=( + test-cases test-fmt test-behavior test-compiler-rt test-universal-libc test-compare-output + test-standalone test-c-abi test-link test-stack-traces test-cli test-asm-link test-translate-c + test-run-translated-c test-std + ) + + local step + for step in "${ZIG_TEST_STEPS[@]}" ; do + edob ./stage3/bin/zig build ${step} ${ZIG_TEST_ARGS} + done +} + +src_install() { + use doc && local HTML_DOCS=( "docgen/doc/langref.html" "docgen/doc/std" ) + cmake_src_install + + cd "${ED}/usr/$(get_libdir)/zig/${PV}/" || die + mv lib/zig/ lib2/ || die + rm -rf lib/ || die + mv lib2/ lib/ || die + dosym -r "/usr/$(get_libdir)/zig/${PV}/bin/zig" "/usr/bin/zig-${PV}" +} + +pkg_postinst() { + eselect zig update ifunset +} + +pkg_postrm() { + eselect zig update ifunset +} diff --git a/dev-lang/zig/zig-9999.ebuild b/dev-lang/zig/zig-9999.ebuild index d3ce3edd625b..d278d521c061 100644 --- a/dev-lang/zig/zig-9999.ebuild +++ b/dev-lang/zig/zig-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -LLVM_COMPAT=( 17 ) +LLVM_COMPAT=( 18 ) LLVM_OPTIONAL=1 inherit check-reqs cmake edo llvm-r1 toolchain-funcs @@ -14,8 +14,17 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ziglang/zig.git" inherit git-r3 else - SRC_URI="https://ziglang.org/download/${PV}/${P}.tar.xz" + VERIFY_SIG_METHOD=minisig + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/minisig-keys/zig-software-foundation.pub + inherit verify-sig + + SRC_URI=" + https://ziglang.org/download/${PV}/${P}.tar.xz + verify-sig? ( https://ziglang.org/download/${PV}/${P}.tar.xz.minisig ) + " KEYWORDS="~amd64 ~arm ~arm64" + + BDEPEND="verify-sig? ( sec-keys/minisig-keys-zig-software-foundation )" fi # project itself: MIT @@ -129,7 +138,7 @@ src_configure() { -Dtarget="$(get_zig_target)" -Dcpu="$(get_zig_mcpu)" -Doptimize=Debug - -Dno-autodocs + -Dstd-docs=false -Dno-langref -Denable-llvm=false -Dforce-link-libc |