summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-03-25 00:31:50 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-03-25 00:31:50 +0000
commit85e7fcfe5631986ad1144ea54fc179d8658571d3 (patch)
tree70367139217a01e21c28e5d820dfa70782261ab7 /dev-lang
parent72e4c0bc86eea366d063d15b3d5611e8f82ffd05 (diff)
gentoo auto-resync : 25:03:2025 - 00:31:49
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin22621 -> 22618 bytes
-rw-r--r--dev-lang/algol68g/Manifest2
-rw-r--r--dev-lang/algol68g/algol68g-3.5.14.ebuild41
-rw-r--r--dev-lang/crystal/Manifest2
-rw-r--r--dev-lang/crystal/crystal-1.15.1.ebuild2
-rw-r--r--dev-lang/kotlin-bin/Manifest6
-rw-r--r--dev-lang/kotlin-bin/kotlin-bin-2.1.0.ebuild59
-rw-r--r--dev-lang/kotlin-bin/kotlin-bin-2.1.20.ebuild (renamed from dev-lang/kotlin-bin/kotlin-bin-2.0.21.ebuild)2
-rw-r--r--dev-lang/luau/Manifest7
-rw-r--r--dev-lang/luau/files/luau-0.653-cmake_minimum.patch19
-rw-r--r--dev-lang/luau/luau-0.653.ebuild6
-rw-r--r--dev-lang/luau/luau-0.662.ebuild6
-rw-r--r--dev-lang/luau/luau-0.666.ebuild62
-rw-r--r--dev-lang/mrustc/Manifest2
-rw-r--r--dev-lang/mrustc/mrustc-0.11.2-r1.ebuild2
-rw-r--r--dev-lang/python/Manifest17
-rw-r--r--dev-lang/python/python-3.10.16_p1.ebuild595
-rw-r--r--dev-lang/python/python-3.10.16_p2.ebuild2
-rw-r--r--dev-lang/python/python-3.11.11_p1.ebuild626
-rw-r--r--dev-lang/python/python-3.11.11_p2.ebuild2
-rw-r--r--dev-lang/python/python-3.14.0_alpha5-r100.ebuild635
-rw-r--r--dev-lang/python/python-3.14.0_alpha5.ebuild630
-rw-r--r--dev-lang/python/python-3.9.20_p2.ebuild584
-rw-r--r--dev-lang/souffle/Manifest2
-rw-r--r--dev-lang/souffle/souffle-2.5.ebuild123
-rw-r--r--dev-lang/swi-prolog/Manifest2
-rw-r--r--dev-lang/swi-prolog/swi-prolog-9.3.9.ebuild4
27 files changed, 278 insertions, 3162 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 77689c93b35b..70988ac49cca 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/algol68g/Manifest b/dev-lang/algol68g/Manifest
index 5cadb700f23c..9606feacf700 100644
--- a/dev-lang/algol68g/Manifest
+++ b/dev-lang/algol68g/Manifest
@@ -1,4 +1,6 @@
AUX algol68g-3.3.21-configure-implicit.patch 236 BLAKE2B e59d1e65f6d1b83ac1bb43f00614d44ca13b0b2ad77fbc2da944b163487f679302e73d23bbe7d4adeb9a3168466bf38e53a38a3001b2e64725682f7e0edbbeac SHA512 11d9d38d98e210a2b20ef464ae365b4a1eab72befdb5daae15ad031cfda0d65f5d7134fe2c9c26d2929c172ebfef3acafd9072977c68a383784f2ccdefc41ff1
DIST algol68g-3.5.12.tar.gz 662372 BLAKE2B 52d855b4dce6ddefcba5013a0c66a84c4c86109b5cf63cb806f26fef1a165f4383bfd29bfed37460e332874eb1754900a3b6ad8b816970410911b67a5573145c SHA512 f6dcde81376b8150c763c449fa9ad5a58607e5f9d1d5a85f2095cd66433b686e18c6c4a6ab18b2c9144ecc98bf677abb33113962861b8e3b6c7efccba9f4b001
+DIST algol68g-3.5.14.tar.gz 662412 BLAKE2B 95806e4c5ba2f2d74b4ea40abe56f07a6dcfff5c545489183a24c554b7d1281b058ca8adac1e4ad734b8a88c2ae7468aa1d445ef7e1a787f6d923a38a6f1c4f1 SHA512 307eade62ee63c70e094fe20c9c7b83de50185ccaca96389b9252e300a78fec40374d38598f972b2bee4369d86f48edc29f66a31177a0348085ec26f8b6f0e96
EBUILD algol68g-3.5.12.ebuild 946 BLAKE2B 367040f0b742d6374bc889448698f008a5b6aedebd5520371386e3f1db6ba4ac11d813cecfa979194cf59eb7a029a5051242adb50326793d3352a9fbf4241e19 SHA512 8f27f1e5dca69e89e9c5ebdd8f09c6db13f7a241d3dd8862ac7f59964265f77367b52d7b3f86a8b09fc55fb2354dbc4728f421b50ab1873c5279c67444b0e202
+EBUILD algol68g-3.5.14.ebuild 947 BLAKE2B 93ee95aa832af217345027acefc5ea9491e71ff2cde134321fb090b51fb754d6c693623ac11d4983d47f3cfc69e74f805e66a7137d7522f5e16701aeee906626 SHA512 d0882449b545d799ea5bc8b5939b68ec5bb1c0aec04dd84111dbb190d76ae554e73c40689b76a0e58b60e3b5d534fd5fc88f85ec6e69e5fb31133119ba64e7a4
MISC metadata.xml 665 BLAKE2B 2b9b283f86666d64dd77164c5afb0d76403c63f9f0dfac3170eb2ade95bcc382b09d14248cb720edf7c1b055e78ca5ca0017b6784caf4381d970a011301058bd SHA512 b3171d505f9f9e4dcdd5b5a0c6d302849fa017538402832dd3db205c48c68a39867089aae4d1f3c158a45bfc170b21f83789cba16511f251d70300020e102b0a
diff --git a/dev-lang/algol68g/algol68g-3.5.14.ebuild b/dev-lang/algol68g/algol68g-3.5.14.ebuild
new file mode 100644
index 000000000000..703e6c6c442f
--- /dev/null
+++ b/dev-lang/algol68g/algol68g-3.5.14.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 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/crystal/Manifest b/dev-lang/crystal/Manifest
index 21fd3717f610..f52b56690e91 100644
--- a/dev-lang/crystal/Manifest
+++ b/dev-lang/crystal/Manifest
@@ -6,5 +6,5 @@ DIST crystal-1.15.0.gh.tar.gz 3812860 BLAKE2B a6b52007d6a4975d2011104f65cec93230
DIST crystal-1.15.1-1-linux-x86_64.tar.gz 51499223 BLAKE2B 11f94a67c97215f410c4a5987abaaa34d1264cdb4340a34223843e33152697125de05acc1a47604bb85456e1fd507fc854f38498adcc7b19492cb87c160184db SHA512 94faf3859212f0b9b80b4f2ce46bfa8a90cbf9d2c71f0127453baeff6ca8d1d76cde36d9af2c7bb6019e809de08e8eafdc39cc2621695d05c612d2fc8765f303
DIST crystal-1.15.1.gh.tar.gz 3814922 BLAKE2B 0667e93e3c2b7b80d44347377303195161bfee1709fa64e78fd978cc3409813836542642ac04054d94bf280828a29e592af6db8fdbd4a7bf8f04e8ef62ca209e SHA512 3c552bf4acb06a5e0e3adae2a22cc42c8a003b91a3c9f2ce4cc80d790f5981e94178ad0667504f4d709dfa3f1bc9505ef8ae42b8eb79489f4d1396bd9fc456ff
EBUILD crystal-1.15.0-r1.ebuild 2784 BLAKE2B cff25e85a08daf3126d27420128d048e82f56086f7777d678ced3a4c208f654be13d4c88722e115078fd12764b6d467faeefa2eafea26b44e3068f5d4a8f2875 SHA512 d8cb55ed0837398f12b336175686d889682f83271819d8b74602349ce63d4f5427cac3a244ba01c14b9034122a8ce5905066889de0742f6672fd1e0c2cb2703c
-EBUILD crystal-1.15.1.ebuild 2785 BLAKE2B cf0495de84b1af4d292bd05c153db8a1412dcfed2a4bef00abd4c6b984d368b822f162c09ab0177f0b070e39aae2cbfc3582630c51f6f7bfe4a9c6efa83b406e SHA512 5333b4f5456ab7a58c3df1669627dae50e9a82ab71c77ddf564fba73e3d182c29721a7ac624b3e1ab0584f79097d6ca37f0c313b420d29507aedafb4c1de7b94
+EBUILD crystal-1.15.1.ebuild 2784 BLAKE2B cff25e85a08daf3126d27420128d048e82f56086f7777d678ced3a4c208f654be13d4c88722e115078fd12764b6d467faeefa2eafea26b44e3068f5d4a8f2875 SHA512 d8cb55ed0837398f12b336175686d889682f83271819d8b74602349ce63d4f5427cac3a244ba01c14b9034122a8ce5905066889de0742f6672fd1e0c2cb2703c
MISC metadata.xml 762 BLAKE2B 591f38c882318a6564501cc61abe6222264b65adeaffaf3b23d959ee86b83bae33eaf99029229705f92070fa539fd6d63d8242afc38475904483a9a0b997effd SHA512 ea223d568a3c336a43b183efc61bd1f1a9d1e5e0e8d963275e0b23ee879551bc7d8aae797b1e2edba49d119ad306692599eb535c5d164ebee0c6721dfeab78dc
diff --git a/dev-lang/crystal/crystal-1.15.1.ebuild b/dev-lang/crystal/crystal-1.15.1.ebuild
index 573dc999fa39..6b61638ca307 100644
--- a/dev-lang/crystal/crystal-1.15.1.ebuild
+++ b/dev-lang/crystal/crystal-1.15.1.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="doc debug llvm-libunwind"
RESTRICT="test" # Upstream test suite not reliable.
diff --git a/dev-lang/kotlin-bin/Manifest b/dev-lang/kotlin-bin/Manifest
index 7c2958622203..e01373ced60d 100644
--- a/dev-lang/kotlin-bin/Manifest
+++ b/dev-lang/kotlin-bin/Manifest
@@ -1,7 +1,5 @@
-DIST kotlin-compiler-2.0.21.zip 85822011 BLAKE2B 007a3cb8902e5a12d883ede2ef670f821471c3273dc97d17935006e0dc35989fe540cbeaa0a8203fc95e05f2b36d95000a1e3ac11803c2723b1dfa361a102470 SHA512 0ab48b49fc3582274485eb5c65a6e5b5de9c45e9c2faafb0720bf07308af50d813eae6d73c57a56daed6b9fd5378d40ce701f14f13e3063bdb38c5d529eb7626
-DIST kotlin-compiler-2.1.0.zip 86409360 BLAKE2B 67fbdf3e074f44bfe7ee788b458d9ac9a2e0c4d471c312fd3e050df3e9a659994b5884b5d964603ee6b16e1e4f347b4e645245ce0aeb97beeacb250ba8ed83f7 SHA512 1c14213fc10543af09bc031274be7ef9b3cf1b5d0629de3fde731578e2d84d002ab9b3df90c0417d34eaabff7ea9501209e9323662a6c4eb5504f34fcb10c7f0
DIST kotlin-compiler-2.1.10.zip 86422666 BLAKE2B f93c1af67eb82ea493fae917c74f4800d4616f246454532dfa98ae8486f97d9471c54e7e2c703c23482e9c52c5435e0bc2cba5f28e18c8801fd0980a06ef32f5 SHA512 283b4a85f729c13af9c168799fa49bd9f9d190109da53e48284662844a2aad40c3a5a7716366ddc82c8c382901756e148265c340c8fcf0ab7b74f2df23e19b0e
-EBUILD kotlin-bin-2.0.21.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085
-EBUILD kotlin-bin-2.1.0.ebuild 1005 BLAKE2B 0c2efbc96602feaa82e87463c19ab244d44bd7b9596177346ae08331d37a53e1f033f41cc0ee557e7b806997a1d553b8e33eb8abd69bd8552db316053276d21f SHA512 c96c829a4c8f21ed7a82de4af30756806d27f72394242115a1cc34fa755f93f1d1cd7a42abfc6bb40ab3c4209ea6428464ccc9a32aadb16e077f132194abb085
+DIST kotlin-compiler-2.1.20.zip 86919262 BLAKE2B aef3c25f0443e01c437bd354683d0a019eb83988366f0bc68eaf173e7d740a108f183db3bbc4891a552156e8aad7779155da88c13f54fd5d2b79d246f670416d SHA512 6f11a90ff16cd88f3f1a16bb3dd13673d9de02caa280abd080bff2af576c24004f7cff66fcc1e99f8bd5d51010468ae9d18a5191091ab779450bac9adc0e0263
EBUILD kotlin-bin-2.1.10.ebuild 1005 BLAKE2B add055e3ec1d41995fad1c054080a5942be531e71585352ee5ccdc18ff20386c8b73a14e3162cdb1a794a8f8df194804dbff8f21900cead6772da17f4c8b71a0 SHA512 600c2cf2dc3814ba03fcecd7ccae7b9b71bedcf47045ce5d39a6612593c6f830b6a89229e46f77957a285a77c70c28fedc2bae14736efc77aabb14b274903208
+EBUILD kotlin-bin-2.1.20.ebuild 1005 BLAKE2B add055e3ec1d41995fad1c054080a5942be531e71585352ee5ccdc18ff20386c8b73a14e3162cdb1a794a8f8df194804dbff8f21900cead6772da17f4c8b71a0 SHA512 600c2cf2dc3814ba03fcecd7ccae7b9b71bedcf47045ce5d39a6612593c6f830b6a89229e46f77957a285a77c70c28fedc2bae14736efc77aabb14b274903208
MISC metadata.xml 696 BLAKE2B 5ff5c3681ab7e083f1a2ea607b183c279c50a022eea2237bfc705d67b8e3ddac7d61fdb1774ac2d6214e03d61d0fb03367cd399734a4b537dcf53a3d8cb14de1 SHA512 44186263fa0709e3d4fadd54cc80e1063d215f908855be9476062259387ec9d968f35bfe8da6fbc716be22a53212630676157fd08fbebd67c20dc4a4485b5a44
diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.1.0.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.1.0.ebuild
deleted file mode 100644
index 7e3629cfadfc..000000000000
--- a/dev-lang/kotlin-bin/kotlin-bin-2.1.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit java-pkg-2 wrapper
-
-DESCRIPTION="Statically typed language that targets the JVM and JavaScript"
-HOMEPAGE="https://kotlinlang.org/
- https://github.com/JetBrains/kotlin/"
-SRC_URI="https://github.com/JetBrains/kotlin/releases/download/v${PV}/kotlin-compiler-${PV}.zip"
-S="${WORKDIR}/kotlinc"
-
-LICENSE="Apache-2.0 BSD MIT NPL-1.1"
-SLOT="0/${PV}"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=virtual/jre-1.8:*
-"
-DEPEND="
- >=virtual/jdk-1.8:*
-"
-BDEPEND="
- app-arch/unzip
-"
-
-src_prepare() {
- default
-
- rm bin/*.bat || die
-}
-
-src_compile() {
- :
-}
-
-src_install() {
- java-pkg_dojar lib/*
-
- # Follow the Java eclass JAR installation path.
- local app_home="/usr/share/${PN}"
-
- exeinto "${app_home}/bin"
- doexe bin/*
-
- local -a exes=(
- kapt
- kotlin
- kotlinc
- kotlinc-js
- kotlinc-jvm
- kotlin-dce-js
- )
- local exe
- for exe in "${exes[@]}" ; do
- make_wrapper "${exe}" "${app_home}/bin/${exe}"
- done
-}
diff --git a/dev-lang/kotlin-bin/kotlin-bin-2.0.21.ebuild b/dev-lang/kotlin-bin/kotlin-bin-2.1.20.ebuild
index 7e3629cfadfc..5efa76704267 100644
--- a/dev-lang/kotlin-bin/kotlin-bin-2.0.21.ebuild
+++ b/dev-lang/kotlin-bin/kotlin-bin-2.1.20.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest
index c82fc39f70d2..c05aae6b892a 100644
--- a/dev-lang/luau/Manifest
+++ b/dev-lang/luau/Manifest
@@ -1,6 +1,9 @@
AUX luau-0.653-TypedAllocator-cpp.patch 961 BLAKE2B fbbfbf407c2f500583bbfc2c12a5d80fe0479b867e4bc9d8774f7ea7b7d055f52a6ecf47370ab0137ee480f46e915b03153ec691cc1279f52f3af7bb7e27395c SHA512 8f03b0cb15bd324fa580ee4c20e9d0d395c82e1359955d742b9f5e56aa7420b4ffb6a987a512d14819574f23edcc4d10d6a0b5d43ab296f5f4d45bbfc4751f23
+AUX luau-0.653-cmake_minimum.patch 498 BLAKE2B a85925f502c78f8367f666bd92afe16cd52978db60a720e785ee72c82424ec4e1b3afe0718b8dd1ee4a5573301738ec26712a19f2dfbff9401c0bfb0f4e186dd SHA512 66cabf3729d17b588b456ccb2429ef011d33cd9153cedab7a5ca2b7f36ef5129264cd6998a5434f08c7c46320ffa278c36ef1567332e3b79c069219070e59a33
DIST luau-0.653.tar.gz 1858007 BLAKE2B 5e919c2d558f3d9fb44b50c43c063779ef9400bcec7f1881884eccad1f972424ec8c662de3a19c958a00dad0b38dbb295c9ff89b286b39e8d842d102c17346fc SHA512 470cf58a923f0ab3baa36805500100fca16972bea2f87b45fa17ed4d058f3fbc162d4a7802a75a46ad7a46b25630379ac063462751a4d31f65c6df6d0a527c15
DIST luau-0.662.gh.tar.gz 1918568 BLAKE2B 982c4f9878a95a83254d97ec6eb4ab16cb11f8fc7edc868a5377a37298466761a44c6adb5dbb478b44969a73324031409b83c380aeccdf23c0446b4648cda7ca SHA512 ee3657b711e62e8c8003fe1a418b5ca3362b171822426892933c8ea0c80341e5b6bf23e493ce76184577af05944fdd2841412e81c2a217c9a1dc6d9e1a4f5c14
-EBUILD luau-0.653.ebuild 1280 BLAKE2B a12da641668e40b7be1bbdc4c09501aa721deb58aca8f7ae0e67983b0832439de0f9f2e8d5d9b95fd3335444831c2452f7e0e007b5e02ebba6b436588863ae5b SHA512 4df0ced2448bb9f299cb988c9d5aa1c36922864a8d2a348a704932693896e8ad1829bef2f761a0600960c620d2970a00f00b6280f6423b40adb14dd30d4d20fe
-EBUILD luau-0.662.ebuild 1280 BLAKE2B 724d2b1dd7ba9183ef7dee96808e49e03c7d77e87e387a1589f476c4183b1b6455930716c848d38b79172d756f951903e760884e766d5555603bf27341da1264 SHA512 d04ee76a5f3e0dd20419cfea58372e9016790fb3dc0a2e01d6b50c701af42ea994ede96d5e9834bd2bf6bd31de3a2da35c4a281891b517483f445e3af914552e
+DIST luau-0.666.gh.tar.gz 1942716 BLAKE2B 018c395352ebd695782622c53408a5ee4b91d4af1ba0be89eca21a16aab681f88f4adc61b75d5b449ff34128bc73302398f6a27b502b330a6540e5e72c0442a2 SHA512 2d529cc17188f8fdcb881d1004f1f3c9ac4142aaada5d1847863d377ca63d98ec49a3bf8dadd00b954909c4eaaaad3eeff5009020d58105eada0bf02b443d3c8
+EBUILD luau-0.653.ebuild 1328 BLAKE2B 94208a6602a4e4ff4030577bdff69d94b372e520791c6bb53a823021e696a5430c6e7076589fa1277d8d3eb45765f522190555df9dcd366199f92dccc3049918 SHA512 3cbba5562f7e2174faa25bf5357ebb23e1d643d893435e115f374a47aa3ef98d98c747c4448372c9726b741ca7e14eed8b48d376c7bab829f2eefd620341733b
+EBUILD luau-0.662.ebuild 1328 BLAKE2B dce3d9f8ae094d35a3823d57241aa459496785f6ceab8b93a4cdd1d131a94fe16df7b093fcda3423a2797351f833f76fa628110e87be1ff44fbbef623ceb814f SHA512 f16ab941b39162c02b84f7b38a96b1ceefce7d139a5629f918c5bfc114e45d4ede43b1b6c47d9501375b6a4920025e6ebb3140328eff909d020fb2645234e937
+EBUILD luau-0.666.ebuild 1328 BLAKE2B dce3d9f8ae094d35a3823d57241aa459496785f6ceab8b93a4cdd1d131a94fe16df7b093fcda3423a2797351f833f76fa628110e87be1ff44fbbef623ceb814f SHA512 f16ab941b39162c02b84f7b38a96b1ceefce7d139a5629f918c5bfc114e45d4ede43b1b6c47d9501375b6a4920025e6ebb3140328eff909d020fb2645234e937
MISC metadata.xml 1077 BLAKE2B 922b79785db23ac7301e2e7a0c66834ae4ccb42466c87b92bd4d9db821830c307fac2192d0010ef224ef64fd83e80a62d47b29f9118432f70ed2340ec9bf49c5 SHA512 7d334c02c73ddc2628a5bebf598d79e9216eb5e4195905ba3a38453261cb25f240b41903042a0fdaad7453ed3cfd04ed2ba382746f38c25036095b019ea4b286
diff --git a/dev-lang/luau/files/luau-0.653-cmake_minimum.patch b/dev-lang/luau/files/luau-0.653-cmake_minimum.patch
new file mode 100644
index 000000000000..f17901c0a65c
--- /dev/null
+++ b/dev-lang/luau/files/luau-0.653-cmake_minimum.patch
@@ -0,0 +1,19 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,7 @@ if(EXT_PLATFORM_STRING)
+ return()
+ endif()
+
+-cmake_minimum_required(VERSION 3.0)
++cmake_minimum_required(VERSION 3.20)
+
+ option(LUAU_BUILD_CLI "Build CLI" ON)
+ option(LUAU_BUILD_TESTS "Build tests" ON)
+@@ -17,7 +17,6 @@ cmake_policy(SET CMP0054 NEW)
+ cmake_policy(SET CMP0091 NEW)
+
+ if(LUAU_STATIC_CRT)
+- cmake_minimum_required(VERSION 3.15)
+ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
+ endif()
+
diff --git a/dev-lang/luau/luau-0.653.ebuild b/dev-lang/luau/luau-0.653.ebuild
index 43a9a655af4f..c25b9760f14b 100644
--- a/dev-lang/luau/luau-0.653.ebuild
+++ b/dev-lang/luau/luau-0.653.ebuild
@@ -25,7 +25,11 @@ SLOT="0"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
-PATCHES=( "${FILESDIR}/luau-0.653-TypedAllocator-cpp.patch" )
+PATCHES=(
+ "${FILESDIR}/luau-0.653-TypedAllocator-cpp.patch"
+ "${FILESDIR}/luau-0.653-cmake_minimum.patch"
+)
+
DOCS=( CONTRIBUTING.md README.md SECURITY.md )
src_configure() {
diff --git a/dev-lang/luau/luau-0.662.ebuild b/dev-lang/luau/luau-0.662.ebuild
index 4ff0bda23a21..bd0c07fd144e 100644
--- a/dev-lang/luau/luau-0.662.ebuild
+++ b/dev-lang/luau/luau-0.662.ebuild
@@ -25,7 +25,11 @@ SLOT="0"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
-PATCHES=( "${FILESDIR}/luau-0.653-TypedAllocator-cpp.patch" )
+PATCHES=(
+ "${FILESDIR}/luau-0.653-TypedAllocator-cpp.patch"
+ "${FILESDIR}/luau-0.653-cmake_minimum.patch"
+)
+
DOCS=( CONTRIBUTING.md README.md SECURITY.md )
src_configure() {
diff --git a/dev-lang/luau/luau-0.666.ebuild b/dev-lang/luau/luau-0.666.ebuild
new file mode 100644
index 000000000000..bd0c07fd144e
--- /dev/null
+++ b/dev-lang/luau/luau-0.666.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake edo
+
+DESCRIPTION="Gradually typed embeddable scripting language derived from Lua"
+HOMEPAGE="https://luau.org/
+ https://github.com/luau-lang/luau/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/luau-lang/${PN}"
+else
+ SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/luau-0.653-TypedAllocator-cpp.patch"
+ "${FILESDIR}/luau-0.653-cmake_minimum.patch"
+)
+
+DOCS=( CONTRIBUTING.md README.md SECURITY.md )
+
+src_configure() {
+ local -a mycmakeargs=(
+ -DLUAU_BUILD_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ edo "${BUILD_DIR}/Luau.UnitTest" --verbose
+ edo "${BUILD_DIR}/Luau.Conformance" --verbose
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce}
+
+ insinto /usr/include/Luau
+ doins ./CodeGen/include/luacodegen.h
+ doins ./Compiler/include/luacode.h
+ doins ./VM/include/*.h
+ doins ./{Config,Common,Compiler,CodeGen,Ast,Analysis,EqSat}/include/Luau/*.h
+
+ if use static-libs ; then
+ dolib.a "${BUILD_DIR}"/libLuau.*.a
+ fi
+
+ einstalldocs
+}
diff --git a/dev-lang/mrustc/Manifest b/dev-lang/mrustc/Manifest
index a6de5b20f02a..e66696f3d621 100644
--- a/dev-lang/mrustc/Manifest
+++ b/dev-lang/mrustc/Manifest
@@ -7,7 +7,7 @@ AUX mrustc-0.11.2-no-glibcxx-assertions-workaround-more.patch 2553 BLAKE2B e6b71
AUX mrustc-0.11.2-no-glibcxx-assertions-workaround.patch 565 BLAKE2B d4c5aadb8ea46252c9aea3605bcdb18c45cca6009ff3f60a1d4a87ce9a379c04854dca50896d2961cad6f8ba2128619e4136b76273c86d3a9a1d22853e2fd797 SHA512 f7046792b8d590cb08e2ff812ad33c8b6224f08b7dbffd2d50e8f0b7c872ed75e6f1d12e10f9b020db20083f389ab7e7661cda0ce798dbe58c17cac41a9968a5
DIST mrustc-0.11.2.tar.gz 1364024 BLAKE2B e68178d952b3afef526f99dda24def646ebefbf661200e7b57a7ea054c511075a1455e6456f3fbb0e4c1042660f716f92bcee990054dbe7c1ebc4185ce0e3899 SHA512 9a39249c38eee109c4f60af051df89aa5ab1e3408761d67d3ee8ae05cded03b9e4fd36b554a470e35c77d214bf02d39f172ab04fdcb8b03fac068d8af268ebf5
DIST rustc-1.74.1-src.tar.xz 155968724 BLAKE2B e05f2379ac94b286f85791a138e1928e5b5b5a7749f0981d82c40c2a12860f55bf96bb2f0e924e35a0f8b2447b13052d38adea909aaa3199105787bb5a4861b3 SHA512 14c7e7ed2f38ab60299d8c7d41d78f042b6b57ef822d577b5138e60bdde31cf141eccd4332a25bc5da3d58eb5313d63c1448b5dfe9e11b8055bb8ea133a9038d
-EBUILD mrustc-0.11.2-r1.ebuild 3549 BLAKE2B b8a4a42761de7ea6038a39b5d332de5fca647c77c05c0f48bbecc85af8a8e605ddd1c55e21b97b1e71fb23bfe7316aeb952163fdde0ca9afc86e22fdb4947f91 SHA512 6768bddc1f36677938fbad8ebc55a75c340b582fdf4db9c3bfaeae508d2c41b6cb3c04d6e6d19a3871b11b77935dd359a0c8070464e67e591dbe410b89161972
+EBUILD mrustc-0.11.2-r1.ebuild 3548 BLAKE2B df57aef469ad5f908fab0a823b848d4ceefa27386af926ea1d7672447eb47253cd1f8b2258b3922a5cb6b75662887fe288546340af024e425e48853d19db525e SHA512 187b59ad1d875084662c25b874cef517e69e29bb469ccad58a41080bd78109b55503bb766c08c67fa47091439f4ac5319aac4890e6644191fb422dae55bae35f
EBUILD mrustc-0.11.2.ebuild 3410 BLAKE2B 673b73aef3d9b51e7db11c51acb9ef14c1fc5c913f13352f1607d77f4499d3bc956e8dee9b377f7bf66390eca71153a558e9274343aac0a0a915d3566cfd2353 SHA512 0702489c7065e229aae6fc9e8b7a351519d3d7f60334c3ec6ebef6e3c1c0f25603b373094fc0d0a2e69f92db30d3a9c232901411e600ff04aa9b4e8395a2d4d1
EBUILD mrustc-9999.ebuild 3413 BLAKE2B de31ab94d6ccbd391272f1d3524a7770d1d94f45e879c94b2e60b334dd3b7d0bca3f333cb4305cfea99e1e730ed3e84cb4affb7766f2f5ce65d69c8305fcb110 SHA512 417403a2dd8dad2ebae10e450d0a43a93c56e560c087a81fb9f92cc347aecb97818fc851efc39ce499ff27ff7a354b21999f1cc666efb9531a1ed8ce37cf2bf2
MISC metadata.xml 638 BLAKE2B a9895b9698a5e9a16593bbf79029144b3f9ab6d36ec06b6cbbb2212abfd63ae20e3c701e58f3b7a7354a151ebc72ff6d6317083baddc595dee57724d8232b4ea SHA512 0e8b903b76c07eb9aab81bc83370c64fb65d58b10a539a7b049383029f7bf8f3ec4557cb2177b4f3351d465c51f09744903fc55de94f7c32b05c5349e67a0625
diff --git a/dev-lang/mrustc/mrustc-0.11.2-r1.ebuild b/dev-lang/mrustc/mrustc-0.11.2-r1.ebuild
index 12add5b79790..d5aa99ea633d 100644
--- a/dev-lang/mrustc/mrustc-0.11.2-r1.ebuild
+++ b/dev-lang/mrustc/mrustc-0.11.2-r1.ebuild
@@ -20,7 +20,7 @@ else
SRC_URI="https://github.com/thepowersgang/mrustc/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz
"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
LICENSE="MIT"
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 1aec024cf264..ec98da17aaf7 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -10,41 +10,28 @@ DIST Python-3.12.9.tar.xz 20502440 BLAKE2B df1a8ba4996219c018fc14156958ca9c0e8af
DIST Python-3.12.9.tar.xz.asc 963 BLAKE2B d90b9c1a3aafa1a942ef8d978b566829656db1114b74f1565b7cbba188cf3bf5637c1dbeec3432ae0af0f826a154c40f27fd8fc46350a757ef91f5c426908149 SHA512 b59251ca3a0a17c06ff7d165f6c025eb91127c80be0782642590f5c922297e0710544ac5a9ae977378e393f1c4861149576a0515af5ec0e54e6827c4010d544f
DIST Python-3.13.2.tar.xz 22621108 BLAKE2B 79c7dff8a15fd2487d62847a8e654c02433a89887aa4f93819020b60a30587e3ba92b101553d971b59e132677f9f74dfc41cd7c7901db78a7787607ec96c6664 SHA512 bb1c0598914c6d4326554faa568f660f10b20c701d0f36bf1fa58837b6498d728a407416b06ede39604caea1ca93f60545b83b01ae8ee65f55d4cc83242b63fe
DIST Python-3.13.2.tar.xz.asc 963 BLAKE2B 95a36c305dd452df23b4f119de05e1d3a2b2c9e0c2778a52dc4065f82b52752b68d89eb737cc54cced70623ad4a7b48c85fdff781bf7d7e3b747dacb1ef77db0 SHA512 5f019be530f688b0adf5d5cc9f2c2243e2f1dc7338559db14c1eedd12aadc85404d42c7aafd74e41828205d85f13f278876662ac30c8f3382a1ee081ba5f29f2
-DIST Python-3.14.0a5.tar.xz 22850560 BLAKE2B 69d57ff07aad021fcfb626f9164529ce071e08182a4334a95b8411c451aa93db09c60d149868bbaad67d8c4bd79598ea22fa76856c3f70b9c35b04b6f48dbeb4 SHA512 ae34c994f00c36c6ce18091c63eb3469aa545ee391c6879c89f5722f7311f2e97cc997477897969777dfaf98090e3dd01dcdb655c986140e9a7796f963be9df9
-DIST Python-3.14.0a5.tar.xz.sigstore 5067 BLAKE2B c3ef20345e05763d201090756ce7e786969d8351ba567b5708ec7a20e6d348c626201fd5b63afa51c0b6740aa3406222b4e07f01d81a8e3812dfc84b751ca248 SHA512 e6755be4a974d8007519e18b9ef417129fa032c9dff508f5170622bf8e8ef0616c8395a1261e9e0e80848c739f31e8369fb5893e7b29f308ad8d62cf1033d609
DIST Python-3.14.0a6.tar.xz 22956068 BLAKE2B e8605da0dfa0f4ecf2f21cd770a074e73a2fbb24182d8adb27b1583da0ab48157bd9e70438c8efbb8fd17a66447e934a33128e0d50d9f253bde2f6c17df80375 SHA512 0fca503199bed0744139823aaf3ead30d7876556750b476fa6e1f701ae71fa7fe333cd46c775929c26729cf71bef6ba545fdc0118a0efca17c2434de3cadabe1
DIST Python-3.14.0a6.tar.xz.sigstore 5227 BLAKE2B 1e517fc1205a2d9ec448fe17afac2c6a1874c08904b78f1f0ef6bb4140696ebc03e34080bb973eeae6fbb4adc9b0e3ad3a9133fbef0b48ba4aca99ae81f59862 SHA512 e1824480165f68597822e8934a58e744e3c4098b8646006548d20d42b8e8809ca95f129cc23edd49bd9dbaf158a36d60b7bc5bfd449c08af9e08e8e552e21f7d
DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61
DIST Python-3.8.20.tar.xz.asc 833 BLAKE2B 5c86c15a1090b42e42bb7512565b1a7ad9d2137d59e9fd1ab0f83fdfc37dfcf184389418d6703db809e9c8c04a169af292665a2b58bf5dc61b7724ecbb4132d9 SHA512 a751ae0407a593d97acac4d5f8a0456580c753efa12a7d960125c219b4897fdb26fc1ffd43d8ea33ad1449162dd3b2904c16b6c51c57561ba73de3ffa62e0eed
-DIST Python-3.9.20.tar.xz 19648968 BLAKE2B 80a337ff406130599b8320068d11bc275d23473cedd7c85fcb9e40134f0f2d533be6e712139e788a6423cdc74cea938f306aa37c2a5099e3051f3e390159279c SHA512 c828f33edf1704e3149499d6d34e89264cb5cdb2b09ff05561641b359716d7996f0fe928629e09f006b1fd7850fdaf937275919c7fdd83f5efc32707c64d814b
-DIST Python-3.9.20.tar.xz.asc 833 BLAKE2B bcd5a612281bf8e057e19db9105b199cb7e44050441b19832843e8149088d277f4b625421099b09d4ed6fac5578505f46dbfea13b041d157d695eaf668c3a7de SHA512 f21c012f4f642542479ba329da9654589e5a7f7305c39fb1b6f136b578316bdb115cef9773c9a9fe4e195677af01cb80af05780613cca83f42fae131862a9584
DIST Python-3.9.21.tar.xz 19647056 BLAKE2B 7f77a7fb38d9a9f4fda7007587f744ade5f32b7bcd911dd72ab82b00d324173f28ddfbe492c71bf0f71edb8494e61314b4bf6f70298289b0e5796c6d002ff738 SHA512 cc84c967cd7a05361ec144d87ca044bd416032ee92dfb78658758d4e1274971f5fb288876d9c599a729bb21258974a786089341bce6bdcffd9c30ebd69b7ca58
DIST Python-3.9.21.tar.xz.asc 833 BLAKE2B f6e666179d745638a38ace35e13c26cc3e07c116a8c8362cc260a74113cd29a5c1909d2091f2eed4bb088bc71b79ed18c5503739d1cc3cb7ff95d625f4311421 SHA512 1e5e5a5db8074a7ee5eb51e6c789d6e46467165d72d2d636d1fc0d3e15d4355051f9f7ad3063ba43b37b611095765c9d654ed890067c201c087da1eecb620ef9
DIST python-gentoo-patches-2.7.18_p16.tar.xz 35448 BLAKE2B 0139c0944f62f9cdd236f6a8557e0ed19704c7d72869af1cb7d8bd3e646a746cd4a0201e1b44232a5e78ef49f254db20b0d0271bf744fbfd4fe0f1e99b8f3e6c SHA512 810be590d0e06fab4b2165e6852ca49662f09dcd7e20b47a29f613ad7653252c8dfac3f0eb228d77c8a914efa7c08788b2fbd552a4b47504f5fd0ec17450c48f
-DIST python-gentoo-patches-3.10.16_p1.tar.xz 24964 BLAKE2B 93cf5d208f80f1017e4afdcf7d3551d150a1d68c378312af43c668156d98f10087d2b6f315f717823a9aae1114e2baa999f61ce179639e5511d30ed9620c9570 SHA512 74ad92d3256d744e3572c0d858b4ba4d5f0f6fda84d8f3c1a1fb675376c2d525e2d9fd636a65c8a859a0a312eda00877b13ba311f620b6a51e47dfb082843333
DIST python-gentoo-patches-3.10.16_p2.tar.xz 29428 BLAKE2B fa63d2fcdbb53e3b6381eaadfbcfca02a03eddd7035dd4776c706fd1aa0226a2c809260ba5a543a209a63563dab12ea109bf03a2026ea4b5797fa6afc7b45c52 SHA512 0186abf035632a3f8018052f8021c1d0dadbc28b7d03551f6992a658fe53878ac9ea86b79512e0e147efecedfda133cf7936746946238177918be9c695248f15
-DIST python-gentoo-patches-3.11.11_p1.tar.xz 11644 BLAKE2B d080e1b987ea0e1b397113f20a5c84f6a34d6619a3ed9f7389fd10d95636169563fba97d212477ca7f9b93d2bd0b66c9521fc61963bb468805a661ca3ab287a7 SHA512 f6045adf25923053fc9a60506b9164c9c062580d6886f1a3dcaca00dc4affe69aa9e138f8ce93f093798ccf33322ccca2aca674ab87457df98a93dcaca234b44
DIST python-gentoo-patches-3.11.11_p2.tar.xz 16224 BLAKE2B d8404c8c87e109d2c699dbab63c20a319c6efd5b62dab5fcc1b53b5b291e25686e69ef92b495eed0d80491cfa29ae9f523df6b53c7c6a12c3f713c53e3c5b7c6 SHA512 f1bf897305678c2b113aef4553d14e916e83312708352765725d754dffbf2f5dd7ef0f7cd84a774e4a8c18dde8a517d7eaf8e58720d73d25430b28fe49906258
DIST python-gentoo-patches-3.12.9.tar.xz 10736 BLAKE2B 1f87d1bba8c094936e5cd3e0ef2eede0dbca3e658430f81b398735d8f02fff1f87739914014dbcb17163f8a969ffc5e7e4cce7d71557ce3c2e58487e6ed8b80f SHA512 342f11df85926e32455d52115d06b817a17f7ae104e3ea8e852046d321d829835bba7c07803c50dd5433ac8b615499428d5bc1a088b484ca0c4304eb8b2cb879
DIST python-gentoo-patches-3.13.2.tar.xz 8316 BLAKE2B 2367808924c83c02b8b2ca765fd4768d4f12cb8e8451eab9d084ce5950a5a81829e573d415f9a16db2e053105def90b5f52c91423fc71e57cd182a1d9c824d8c SHA512 580332ca037c1453f314d5811f96f7bf74defc16cfe515c4fe82ea08a7bf3679aa88d5456db846d988bcf4fbc9eeb4ebe7cee01d135bd55c87931206250e301a
-DIST python-gentoo-patches-3.14.0a5.tar.xz 5668 BLAKE2B b12801ac5bfa50cb6e3bf4b79e70956b771e0a4c0d5d4265115cf144740a914f764655171fdbf3178ba76f91b7765aa681f0097aaa55e6aa330eeeec3320bb4e SHA512 3110f99058136e8587a4cce2f594a5fde7c575027440e9e4d3b77dba0428c6af60cd0d259833d5d46e3b9ac3f24a2ad3111e4c5436cb423079f5c1a230e47d97
DIST python-gentoo-patches-3.14.0a6.tar.xz 5680 BLAKE2B 704014b9935db57b28e9191b1a9d478b2e3d17c66fc1bbe1d5df4de0197f51ae184ad44c8434d22c3113545c3267fa8838dc8fa90bab00aa50223e38c9f1be7e SHA512 e5446d9bf25334f117e7967d5d77424bfd8b4a5a277358b8e4c27aaa15686a0fd0c6957b4fd0306622dc83f02de5e2d2f02d1f9a5675412915bfbab4b072e94d
DIST python-gentoo-patches-3.8.20_p6.tar.xz 50876 BLAKE2B df0df21c75972fb73e36f66f0c90d3f953b14d7a59bf97ce4214dce6e6d937ed52fbf3db8f3eaf42cde141bfe4d7a731b06e41723285517461c790912706be9e SHA512 48ef567f6972e7975cb61d34a876d8c0db42f1a3c0b832f9366091dd5f2ca854c02887808843d314816c8cf6d7b0738c40e7835fedbba7b84e57f2515dde45e2
-DIST python-gentoo-patches-3.9.20_p2.tar.xz 36140 BLAKE2B af0a9e08f3bfd8eb631760d100ec8f54db968a6bd201820192c4ea63ec88e0f83ffe77c709fcf4da43ad8d44eeb239ca1984561c3e7846e3fe4edd757d2321a4 SHA512 d451b41401de631eed996c34f40f2146d4d2f11bfa04fffa762c9b654e690d0ef95be0f51224a964a7c33784bb9b21e58434f6fee17cf39c20b5af34200569d5
DIST python-gentoo-patches-3.9.21_p1.tar.xz 35404 BLAKE2B 7b5ac27e814b06791fa5f0566763711c1b65a7c82ba66f97e237eebc6076f0bfdad3d8269ece6c4d4c238b62cc75b01f68ea3a5d7c4fffc46e88f79b2ba3e7fc SHA512 92c8548b31100a921378c72cc94a81062c96fd795fa2cd001c57a71e4af39e91b21b99e9e84db12adb142d9c4bda809445519c5c8a35545bd10230926bd7eded
EBUILD python-2.7.18_p16-r2.ebuild 8505 BLAKE2B feb4cf270dd478f2f7f16f969c9c8a28cf8121f3cc32f11407622afe0a1db79247d045cb6324b9b5f4939a6028164c655116fff98e2378eea7e23fe0b8ce1dda SHA512 cc3d964e6fd8577de2176cbf5832d8587e090158317e52fc42615b7494861b0a955983e0f8153401b6af44b1ba227cac87ae901cda524358518d2778fcd162f2
-EBUILD python-3.10.16_p1.ebuild 15531 BLAKE2B cec70438eef3917846e6d26035f33bf2a0e90515a916c4283c286744deaea86f26b33e0fe96f9fba34552bd5917750abac8ec9726cb12937140291cfab689c9f SHA512 edf67f6b68442b860d209a2216b5c72151c242972329bd62463ef9e29d172f64a7bd4d8eb708f8b6830eaaed35336ddda5343c1f30dc3199abe859d97ba4c948
-EBUILD python-3.10.16_p2.ebuild 15532 BLAKE2B 58a941c50c21b527c049b843919d690a07bbbc98e3d566bb544c473087019a7944474e710079d062c0ddf203b0e79279a5bcdaf54fb3fde2731d77f79405bbb1 SHA512 e6ec9e5b459feb3aafab58be91d387d08921de1ccd1a4bc7a3356b012bf47332dc7d15b1fda25646a031d38da361062ae34c5e0fb9fdccc2f17619676a14dad5
-EBUILD python-3.11.11_p1.ebuild 16699 BLAKE2B 5797ee3ec52e380d7f95373fde3130854506f13db4e4dadb07d7159dd290a7c41add2687ea51d79dc1afbee5cc700251ee8799a43440885803e82796407077a9 SHA512 44d5ba374441fd55830c89501cc00f9a9faab36f7a5c9c7dbd0bd2f65a633e0a93cb5aa57f3b5e57788d103a109f08e68a9f1a68bf65a6f97b7ffeb6f1f8a7e4
-EBUILD python-3.11.11_p2.ebuild 16700 BLAKE2B 1fcdfeef5d21bd4ae0239fa9290b2b26b889d0dfdfcd495a69bb1a3d00cd06bbf5fb006d5bd9af3c6516ba123dca711db409d2ce3126c43cf79997ebbce6658e SHA512 9ac4180b156f8c7ef4b0002eb359a6016fd26dfb8077250505b5c5b31160d5f37230ac1f07814ca14ebbe259bf40dad01d4bf8ce7811836ca022b9fc37f91654
+EBUILD python-3.10.16_p2.ebuild 15531 BLAKE2B cec70438eef3917846e6d26035f33bf2a0e90515a916c4283c286744deaea86f26b33e0fe96f9fba34552bd5917750abac8ec9726cb12937140291cfab689c9f SHA512 edf67f6b68442b860d209a2216b5c72151c242972329bd62463ef9e29d172f64a7bd4d8eb708f8b6830eaaed35336ddda5343c1f30dc3199abe859d97ba4c948
+EBUILD python-3.11.11_p2.ebuild 16699 BLAKE2B 5797ee3ec52e380d7f95373fde3130854506f13db4e4dadb07d7159dd290a7c41add2687ea51d79dc1afbee5cc700251ee8799a43440885803e82796407077a9 SHA512 44d5ba374441fd55830c89501cc00f9a9faab36f7a5c9c7dbd0bd2f65a633e0a93cb5aa57f3b5e57788d103a109f08e68a9f1a68bf65a6f97b7ffeb6f1f8a7e4
EBUILD python-3.12.9.ebuild 15671 BLAKE2B 7b4dbd1c4b60b57c12ca33c2523230a3d52f9d5ec6ef56b922e34c369476d07f31fc9aa93b6b3346c092dfefa6631c86d2f498c4f69fc88cc1e4b42dc0698435 SHA512 c53dabbaf74fe6e19525865b42b43b4754171df43c6295183debf108ee43365fd409b302ec6febc90c10e7ef3b42564d11084df746cf37824f437d1ed3e58311
EBUILD python-3.13.2-r100.ebuild 16678 BLAKE2B f70e5c4541719979f5588c97e9b19b5be0f2566783fdfdac558820bd94dcc5f34ec15485db5836587f28dd93c09af046aad91ff1be2855ebde82e518a1e337fe SHA512 e73f5893d2fef16bd668124f918c50ef58ad50307182800598824f782a95928788aa57e18db9f550427c5e8bb958024151cc7bf4c18556d84c8359241b7304c2
EBUILD python-3.13.2.ebuild 16361 BLAKE2B 139a6204daab762327d366d6dc9806a81e1e31c28510b6460883233c488cdd82a06019dca27bde975e63ff68fd011e8fcc77d295b86a5173dd213d3119de1b76 SHA512 a850739e65cfe3d283b94e7b28d190ec026c2f30477368d157daf430530276975ec5c26bec22e3774ee0c380a55a427af08fdf9842e8c1327550aaf6146fe0b3
-EBUILD python-3.14.0_alpha5-r100.ebuild 16695 BLAKE2B 2be26e8dd417df40d72e1361709a16d48add9e5262b09bd04191867f2b0f75b8e71fc8dee98b7f7976e925e54cd18e10e478f6ea06fa34164ce0f1f499738f1b SHA512 dfa892d823a07a7b9356b50a40c066e310ecd8a5e9cc674423a09e390a9115244a46af53df57667b3752103a9ac5bc0e0b9f7a57cec22875499f1edf14895d31
-EBUILD python-3.14.0_alpha5.ebuild 16388 BLAKE2B 7cb2e9c39471f0ccfb2c436c4327469cb6e709f55d38016276876d318042afe59d7df2dea8e829fc21017a87bbd1fa1e3dcad33eb39fb673761d8b9a364f101a SHA512 cc12477ef0388b47441b06f76fc4fc35258753f121735a2ee1648740c9894025b0e426d5bebf922dec17f8c9c10569ee0c62b538cd31b924bdb21ecf4a25b933
EBUILD python-3.14.0_alpha6-r100.ebuild 16695 BLAKE2B 2be26e8dd417df40d72e1361709a16d48add9e5262b09bd04191867f2b0f75b8e71fc8dee98b7f7976e925e54cd18e10e478f6ea06fa34164ce0f1f499738f1b SHA512 dfa892d823a07a7b9356b50a40c066e310ecd8a5e9cc674423a09e390a9115244a46af53df57667b3752103a9ac5bc0e0b9f7a57cec22875499f1edf14895d31
EBUILD python-3.14.0_alpha6.ebuild 16388 BLAKE2B 7cb2e9c39471f0ccfb2c436c4327469cb6e709f55d38016276876d318042afe59d7df2dea8e829fc21017a87bbd1fa1e3dcad33eb39fb673761d8b9a364f101a SHA512 cc12477ef0388b47441b06f76fc4fc35258753f121735a2ee1648740c9894025b0e426d5bebf922dec17f8c9c10569ee0c62b538cd31b924bdb21ecf4a25b933
EBUILD python-3.8.20_p6.ebuild 13329 BLAKE2B 632fc0c922e18895efadeb33b8963a087f1951bb329c03f3d802fbda81ccf1b7c1e22f03c516d07819d1df66e8e1d7de0a8300ec308c8a56042b51dd86a51d01 SHA512 77e07e26f674bb245cc2d2c519c7a1b9e72a6eadcb4ea0631062189a3bf50e78a160a87d108b6867db9b9c3fdab22e85a290d73059a6859f052d83c7dda20014
-EBUILD python-3.9.20_p2.ebuild 15374 BLAKE2B e9920e3c6c3bbfc7c5c07651f5ca16522f8efe926691f818e8126734206b6bd5d8960a769c1cc541505739aeffdce861c6ca176146401fa7c7d02516a56962c7 SHA512 9540922e418d1a820f97e323e98077e6fe584825940144aadae1c30de8f6d27de28d902fd14bcf98a77aa484719864fe2d25283ba7837a43331410401a239d85
EBUILD python-3.9.21_p1.ebuild 15382 BLAKE2B 81df703cc940b016b2e48627dda25da8ea151b26d667da26faf9b1aff340c4003bde7444dcd635f6a7c9264e99c7c9676ae3ad576881c4ca09ffb78466d39446 SHA512 9d0c96e1f56b5d30baff55b16c18be637d410ba4d6c0c28f14bf9ef1b84981858f3bf90e44db3b908c06aaffd21320fab01303f0d9fb22acb178e9c785a87723
MISC metadata.xml 1437 BLAKE2B 22f737ad283774c5ffc55173878bf07b6f89d91b0ebd9cf41c11e518b35461ebc9ecfc8017a519673698869450c1ebe55b5dc2577a8b03ea716d30b99ce21d3e SHA512 9f684412c916a3909bb7c2bbfeeb93c66e1de22d4313d657370162ab8b7438e6397bc7d31641d0bbb06d3373966fbbf7578dc0a30ed44558cb1b8a3bb5bfecec
diff --git a/dev-lang/python/python-3.10.16_p1.ebuild b/dev-lang/python/python-3.10.16_p1.ebuild
deleted file mode 100644
index 2e9d941cb3d9..000000000000
--- a/dev-lang/python/python-3.10.16_p1.ebuild
+++ /dev/null
@@ -1,595 +0,0 @@
-# Copyright 1999-2025 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 ~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
-
- # Set baseline test skip flags.
- COMMON_TEST_SKIPS=(
- -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
- )
- ;;
- 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_multiprocessing_spawn
-
- -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
- -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_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
- )
-
- # 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
- )
- ;;
- powerpc64-*) # big endian
- profile_task_flags+=(
- # bug 931908
- -x test_exceptions
- )
- ;;
- riscv*)
- profile_task_flags+=(
- -x test_statistics
- )
- ;;
- 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-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}
-
- # Gentoo hack to disable accessing system site-packages
- export GENTOO_CPYTHON_BUILD=1
-
- if use pgo ; then
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
- fi
-
- # also need to clear the flags explicitly here or they end up
- # in _sysconfigdata*
- emake CPPFLAGS= CFLAGS= LDFLAGS=
-
- # Restore saved value from above.
- local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- local test_opts=(
- --verbose3
- -u-network
- -j "$(makeopts_jobs)"
- "${COMMON_TEST_SKIPS[@]}"
- )
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
-
- nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local ret=${?}
-
- [[ ${ret} -eq 0 ]] || die "emake test failed"
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- emake DESTDIR="${D}" TEST_MODULES=no altinstall
-
- # Fix collisions between different slots of Python.
- rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
-
- # Cheap hack to get version with ABIFLAGS
- local abiver=$(cd "${ED}/usr/include"; echo python*)
- if [[ ${abiver} != python${PYVER} ]]; then
- # Replace python3.X with a symlink to python3.Xm
- rm "${ED}/usr/bin/python${PYVER}" || die
- dosym "${abiver}" "/usr/bin/python${PYVER}"
- # Create python3.X-config symlink
- dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
- # Create python-3.5m.pc symlink
- dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
- fi
-
- # python seems to get rebuilt in src_install (bug 569908)
- # Work around it for now.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E "${ED}/usr/bin/${abiver}"
- else
- pax-mark m "${ED}/usr/bin/${abiver}"
- fi
-
- rm -r "${libdir}"/ensurepip/_bundled || die
- if ! use 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} || 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.10.16_p2.ebuild b/dev-lang/python/python-3.10.16_p2.ebuild
index 678a928ecbe6..2e9d941cb3d9 100644
--- a/dev-lang/python/python-3.10.16_p2.ebuild
+++ b/dev-lang/python/python-3.10.16_p2.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm libedit
+ncurses pgo +readline +sqlite +ssl test tk valgrind
diff --git a/dev-lang/python/python-3.11.11_p1.ebuild b/dev-lang/python/python-3.11.11_p1.ebuild
deleted file mode 100644
index 0d603d309282..000000000000
--- a/dev-lang/python/python-3.11.11_p1.ebuild
+++ /dev/null
@@ -1,626 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs eapi9-ver 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 ~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
-
- # Set baseline test skip flags.
- COMMON_TEST_SKIPS=(
- # this is actually test_gdb.test_pretty_print
- -x test_pretty_print
- )
-
- # 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
- )
- ;;
- mips*)
- COMMON_TEST_SKIPS+=(
- -x test_ctypes
- -x test_external_inspection
- -x test_statistics
- )
- ;;
- powerpc64-*) # big endian
- COMMON_TEST_SKIPS+=(
- -x test_descr
- -x test_gdb
- )
- ;;
- riscv*)
- COMMON_TEST_SKIPS+=(
- -x test_urllib2
- )
- ;;
- sparc*)
- COMMON_TEST_SKIPS+=(
- # bug 788022
- -x test_multiprocessing_fork
- -x test_multiprocessing_forkserver
- -x test_multiprocessing_spawn
-
- -x test_ctypes
- -x test_descr
- -x test_gdb
- # 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
- -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_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
- )
-
- # 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
- )
- ;;
- powerpc64-*) # big endian
- profile_task_flags+=(
- # bug 931908
- -x test_exceptions
- )
- ;;
- riscv*)
- profile_task_flags+=(
- -x test_statistics
- )
- ;;
- 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-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}
-
- # Gentoo hack to disable accessing system site-packages
- export GENTOO_CPYTHON_BUILD=1
-
- if use pgo ; then
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
- fi
-
- # also need to clear the flags explicitly here or they end up
- # in _sysconfigdata*
- emake CPPFLAGS= CFLAGS= LDFLAGS=
-
- # Restore saved value from above.
- local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- # this just happens to skip test_support.test_freeze that is broken
- # without bundled expat
- # TODO: get a proper skip for it upstream
- local -x LOGNAME=buildbot
-
- local test_opts=(
- --verbose3
- -u-network
- -j "$(makeopts_jobs)"
- "${COMMON_TEST_SKIPS[@]}"
- )
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
-
- nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local ret=${?}
-
- [[ ${ret} -eq 0 ]] || die "emake test failed"
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- # -j1 hack for now for bug #843458
- emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
-
- # Fix collisions between different slots of Python.
- rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
-
- # Cheap hack to get version with ABIFLAGS
- local abiver=$(cd "${ED}/usr/include"; echo python*)
- if [[ ${abiver} != python${PYVER} ]]; then
- # Replace python3.X with a symlink to python3.Xm
- rm "${ED}/usr/bin/python${PYVER}" || die
- dosym "${abiver}" "/usr/bin/python${PYVER}"
- # Create python3.X-config symlink
- dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
- # Create python-3.5m.pc symlink
- dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
- fi
-
- # python seems to get rebuilt in src_install (bug 569908)
- # Work around it for now.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E "${ED}/usr/bin/${abiver}"
- else
- pax-mark m "${ED}/usr/bin/${abiver}"
- fi
-
- rm -r "${libdir}"/ensurepip/_bundled || die
- if ! use 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} || 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() {
- if ver_replacing -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
-}
diff --git a/dev-lang/python/python-3.11.11_p2.ebuild b/dev-lang/python/python-3.11.11_p2.ebuild
index d8b04bb1a53c..0d603d309282 100644
--- a/dev-lang/python/python-3.11.11_p2.ebuild
+++ b/dev-lang/python/python-3.11.11_p2.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm libedit
+ncurses pgo +readline +sqlite +ssl test tk valgrind
diff --git a/dev-lang/python/python-3.14.0_alpha5-r100.ebuild b/dev-lang/python/python-3.14.0_alpha5-r100.ebuild
deleted file mode 100644
index 2abe01749d3a..000000000000
--- a/dev-lang/python/python-3.14.0_alpha5-r100.ebuild
+++ /dev/null
@@ -1,635 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-LLVM_COMPAT=( 19 )
-LLVM_OPTIONAL=1
-VERIFY_SIG_METHOD=sigstore
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs flag-o-matic linux-info llvm-r1
-inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
-inherit verify-sig
-
-MY_PV=${PV/_alpha/a}
-MY_P="Python-${MY_PV%_p*}"
-PYVER="$(ver_cut 1-2)t"
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="Freethreading (no-GIL) version of Python programming language"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-IUSE="
- bluetooth build debug +ensurepip examples gdbm jit
- libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
-"
-REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- >=dev-libs/expat-2.1:=
- dev-libs/libffi:=
- dev-libs/mpdecimal:=
- dev-python/gentoo-common
- >=sys-libs/zlib-1.1.3:=
- virtual/libintl
- ensurepip? ( dev-python/ensurepip-pip )
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- kernel_linux? ( sys-apps/util-linux:= )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? (
- !libedit? ( >=sys-libs/readline-4.1:= )
- libedit? ( dev-libs/libedit:= )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? ( >=dev-libs/openssl-1.1.1:= )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
-"
-# bluetooth requires headers from bluez
-DEPEND="
- ${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? (
- dev-python/ensurepip-pip
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- )
- valgrind? ( dev-debug/valgrind )
-"
-# autoconf-archive needed to eautoreconf
-BDEPEND="
- dev-build/autoconf-archive
- app-alternatives/awk
- virtual/pkgconfig
- jit? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-core/llvm:${LLVM_SLOT}
- ')
- )
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-RDEPEND+="
- !build? ( app-misc/mime-types )
-"
-if [[ ${PV} != *_alpha* ]]; then
- RDEPEND+="
- dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
- "
-fi
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-# large file tests involve a 2.5G file being copied (duplicated)
-CHECKREQS_DISK_BUILD=5500M
-
-QA_PKGCONFIG_VERSION=${PYVER%t}
-# false positives -- functions specific to *BSD
-QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
-
-declare -rgA PYTHON_KERNEL_CHECKS=(
- ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589
- ["DNOTIFY"]="test_fcntl" # bug 938662
-)
-
-pkg_pretend() {
- if use pgo || use test; then
- check-reqs_pkg_pretend
- fi
-
- ewarn "Freethreading build is considered experimental upstream. Using it"
- ewarn "could lead to unexpected breakage, including race conditions"
- ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
- ewarn "you can reproduce the problem with dev-lang/python. Instead,"
- ewarn "please consider reporting freethreading problems upstream."
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- use jit && llvm-r1_pkg_setup
- if use test || use pgo; then
- check-reqs_pkg_setup
-
- local CONFIG_CHECK
- for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do
- CONFIG_CHECK+="~${f} "
- done
- linux-info_pkg_setup
- fi
- fi
-}
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- # Ensure that internal copies of expat and libffi are not used.
- # TODO: Makefile has annoying deps on expat headers
- #rm -r Modules/expat || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- # force the correct number of jobs
- # https://bugs.gentoo.org/737660
- sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
-
- # breaks tests when using --with-wheel-pkg-dir
- rm -r Lib/test/wheeldata || die
-
- eautoreconf
-}
-
-build_cbuild_python() {
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
-
- # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
- # propagated to sysconfig for built extensions
- #
- # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
- local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
- local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
- local -x CFLAGS= LDFLAGS=
- local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
- local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
-
- # We need to build our own Python on CBUILD first, and feed it in.
- # bug #847910
- local myeconfargs_cbuild=(
- "${myeconfargs[@]}"
-
- --prefix="${BROOT}"/usr
- --libdir="${cbuild_libdir:2}"
-
- # Avoid needing to load the right libpython.so.
- --disable-shared
-
- # As minimal as possible for the mini CBUILD Python
- # we build just for cross to satisfy --with-build-python.
- --without-lto
- --without-readline
- --disable-optimizations
- )
-
- mkdir "${WORKDIR}"/${P}-${CBUILD} || die
- pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
-
- # Avoid as many dependencies as possible for the cross build.
- mkdir Modules || die
- cat > Modules/Setup.local <<-EOF || die
- *disabled*
- nis
- _dbm _gdbm
- _sqlite3
- _hashlib _ssl
- _curses _curses_panel
- readline
- _tkinter
- pyexpat
- zlib
- # We disabled these for CBUILD because Python's setup.py can't handle locating
- # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
- # and uncommented if needed.
- #_ctypes
- EOF
-
- ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
-
- # Unfortunately, we do have to build this immediately, and
- # not in src_compile, because CHOST configure for Python
- # will check the existence of the --with-build-python value
- # immediately.
- emake
- popd &> /dev/null || die
-}
-
-src_configure() {
- # disable automagic bluetooth headers detection
- if ! use bluetooth; then
- local -x ac_cv_header_bluetooth_bluetooth_h=no
- fi
-
- append-flags -fwrapv
- filter-flags -malign-double
-
- # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
- # PKG_CONFIG needed for cross.
- tc-export CXX PKG_CONFIG
-
- local dbmliborder=
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
-
- # Set baseline test skip flags.
- COMMON_TEST_SKIPS=(
- # this is actually test_gdb.test_pretty_print
- -x test_pretty_print
- # https://bugs.gentoo.org/933840
- -x test_perf_profiler
- )
-
- # Arch-specific skips. See #931888 for a collection of these.
- case ${CHOST} in
- alpha*)
- COMMON_TEST_SKIPS+=(
- -x test_builtin
- -x test_capi
- -x test_cmath
- -x test_float
- # timeout
- -x test_free_threading
- -x test_math
- -x test_numeric_tower
- -x test_random
- -x test_statistics
- # bug 653850
- -x test_resource
- -x test_strtod
- )
- ;;
- hppa*)
- COMMON_TEST_SKIPS+=(
- -x test_gdb
- )
- ;;
- mips*)
- COMMON_TEST_SKIPS+=(
- -x test_ctypes
- -x test_external_inspection
- -x test_statistics
- )
- ;;
- powerpc64-*) # big endian
- COMMON_TEST_SKIPS+=(
- -x test_gdb
- )
- ;;
- riscv*)
- COMMON_TEST_SKIPS+=(
- -x test_urllib2
- )
- ;;
- sparc*)
- COMMON_TEST_SKIPS+=(
- # bug 788022
- -x test_multiprocessing_fork
- -x test_multiprocessing_forkserver
- -x test_multiprocessing_spawn
-
- -x test_ctypes
- -x test_gdb
- # bug 931908
- -x test_exceptions
- )
- ;;
- esac
-
- # Kernel-config specific skips
- for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do
- if ! linux_config_exists || ! linux_chkconfig_present "${option}"
- then
- COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" )
- fi
- done
-
- # musl-specific skips
- use elibc_musl && COMMON_TEST_SKIPS+=(
- # various musl locale deficiencies
- -x test__locale
- -x test_c_locale_coercion
- -x test_locale
- -x test_re
-
- # known issues with find_library on musl
- # https://bugs.python.org/issue21622
- -x test_ctypes
-
- # fpathconf, ttyname errno values
- -x test_os
- )
-
- if use pgo; then
- local profile_task_flags=(
- -m test
- "-j$(makeopts_jobs)"
- --pgo-extended
- --verbose3
- -u-network
-
- # We use a timeout because of how often we've had hang issues
- # here. It also matches the default upstream PROFILE_TASK.
- --timeout 1200
-
- "${COMMON_TEST_SKIPS[@]}"
-
- -x test_dtrace
-
- # All of these seem to occasionally hang for PGO inconsistently
- # They'll even hang here but be fine in src_test sometimes.
- # bug #828535 (and related: bug #788022)
- -x test_asyncio
- -x test_httpservers
- -x test_logging
- -x test_multiprocessing_fork
- -x test_socket
- -x test_xmlrpc
-
- # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
- # bug #900429
- -x test_tools
- )
-
- if has_version "app-arch/rpm" ; then
- # Avoid sandbox failure (attempts to write to /var/lib/rpm)
- profile_task_flags+=(
- -x test_distutils
- )
- fi
- # PGO sometimes fails randomly
- local -x PROFILE_TASK="${profile_task_flags[*]} || true"
- fi
-
- local myeconfargs=(
- # glibc-2.30 removes it; since we can't cleanly force-rebuild
- # Python on glibc upgrade, remove it proactively to give
- # a chance for users rebuilding python before glibc
- ac_cv_header_stropts_h=no
-
- --enable-shared
- --without-static-libpython
- --enable-ipv6
- --infodir='${prefix}/share/info'
- --mandir='${prefix}/share/man'
- --with-computed-gotos
- --with-dbmliborder="${dbmliborder}"
- --with-libc=
- --enable-loadable-sqlite-extensions
- --without-ensurepip
- --without-lto
- --with-system-expat
- --with-system-libmpdec
- --with-platlibdir=lib
- --with-pkg-config=yes
- --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
- --disable-gil
-
- $(use_with debug assertions)
- $(use_enable jit experimental-jit)
- $(use_enable pgo optimizations)
- $(use_with readline readline "$(usex libedit editline readline)")
- $(use_with valgrind)
- )
-
- # https://bugs.gentoo.org/700012
- if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
- myeconfargs+=(
- --with-lto
- )
- fi
-
- # Force-disable modules we don't want built.
- # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
- cat > Modules/Setup.local <<-EOF || die
- *disabled*
- nis
- $(usev !gdbm '_gdbm _dbm')
- $(usev !sqlite '_sqlite3')
- $(usev !ssl '_hashlib _ssl')
- $(usev !ncurses '_curses _curses_panel')
- $(usev !readline 'readline')
- $(usev !tk '_tkinter')
- EOF
-
- # disable implicit optimization/debugging flags
- local -x OPT=
-
- if tc-is-cross-compiler ; then
- build_cbuild_python
- myeconfargs+=(
- # Point the imminent CHOST build to the Python we just
- # built for CBUILD.
- --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
- )
- fi
-
- # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
- # propagated to sysconfig for built extensions
- local -x CFLAGS_NODIST=${CFLAGS}
- local -x LDFLAGS_NODIST=${LDFLAGS}
- local -x CFLAGS= LDFLAGS=
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- if use ncurses; then
- append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
- fi
-
- econf "${myeconfargs[@]}"
-
- if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
- eerror "configure has detected that the sem_open function is broken."
- eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
- die "Broken sem_open function (bug 496328)"
- fi
-
- # install epython.py as part of stdlib
- echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
- export PYTHONSTRICTEXTENSIONBUILD=1
-
- # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
- # end up writing bytecode & violating sandbox.
- # bug #831897
- local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
-
- # Gentoo hack to disable accessing system site-packages
- export GENTOO_CPYTHON_BUILD=1
-
- if use pgo ; then
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
- fi
-
- # also need to clear the flags explicitly here or they end up
- # in _sysconfigdata*
- emake CPPFLAGS= CFLAGS= LDFLAGS=
-
- # Restore saved value from above.
- local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- # this just happens to skip test_support.test_freeze that is broken
- # without bundled expat
- # TODO: get a proper skip for it upstream
- local -x LOGNAME=buildbot
-
- local test_opts=(
- --verbose3
- -u-network
- -j "$(makeopts_jobs)"
- "${COMMON_TEST_SKIPS[@]}"
- )
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
-
- nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local ret=${?}
-
- [[ ${ret} -eq 0 ]] || die "emake test failed"
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- # -j1 hack for now for bug #843458
- emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
-
- # Fix collisions between different slots of Python.
- rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
- # Fix collision with GIL-enabled build.
- rm "${ED}/usr/bin/python${PYVER%t}" || die
- mv "${ED}"/usr/bin/pydoc{${PYVER%t},${PYVER}} || die
- mv "${ED}"/usr/share/man/man1/python{${PYVER%t},${PYVER}}.1 || die
-
- # Cheap hack to get version with ABIFLAGS
- local abiver=$(cd "${ED}/usr/include"; echo python*)
- if [[ ${abiver} != python${PYVER} ]]; then
- # Replace python3.X with a symlink to python3.Xm
- rm "${ED}/usr/bin/python${PYVER}" || die
- dosym "${abiver}" "/usr/bin/python${PYVER}"
- # Create python3.X-config symlink
- dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
- # Create python-3.5m.pc symlink
- dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
- fi
-
- # python seems to get rebuilt in src_install (bug 569908)
- # Work around it for now.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E "${ED}/usr/bin/${abiver}"
- else
- pax-mark m "${ED}/usr/bin/${abiver}"
- fi
-
- rm -r "${libdir}"/ensurepip/_bundled || die
- if ! use sqlite; then
- rm -r "${libdir}/"sqlite3 || die
- fi
- if use tk; then
- # rename to avoid collision with dev-lang/python
- mv "${ED}"/usr/bin/idle{${PYVER%t},${PYVER}} || die
- else
- rm -r "${ED}/usr/bin/idle${PYVER%t}" || die
- rm -r "${libdir}/"{idlelib,tkinter} || die
- fi
-
- ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
-
- dodoc Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- docinto examples
- find Tools -name __pycache__ -exec rm -fr {} + || die
- dodoc -r Tools
- fi
- insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
- local libname=$(
- printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
- emake --no-print-directory -s -f - 2>/dev/null
- )
- newins Tools/gdb/libpython.py "${libname}"-gdb.py
-
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
- newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
- sed \
- -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
- -e "s:@PYDOC@:pydoc${PYVER}:" \
- -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
- "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
-
- # python-exec wrapping support
- local pymajor=${PYVER%.*}
- local EPYTHON=python${PYVER}
- local scriptdir=${D}$(python_get_scriptdir)
- mkdir -p "${scriptdir}" || die
- # python and pythonX
- ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
- ln -s "python${pymajor}" "${scriptdir}/python" || die
- # python-config and pythonX-config
- # note: we need to create a wrapper rather than symlinking it due
- # to some random dirname(argv[0]) magic performed by python-config
- cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
- #!/bin/sh
- exec "${abiver}-config" "\${@}"
- EOF
- chmod +x "${scriptdir}/python${pymajor}-config" || die
- ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
- # pydoc
- ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
- # idle
- if use tk; then
- ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
- fi
-}
diff --git a/dev-lang/python/python-3.14.0_alpha5.ebuild b/dev-lang/python/python-3.14.0_alpha5.ebuild
deleted file mode 100644
index f4da576cf95f..000000000000
--- a/dev-lang/python/python-3.14.0_alpha5.ebuild
+++ /dev/null
@@ -1,630 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-LLVM_COMPAT=( 19 )
-LLVM_OPTIONAL=1
-VERIFY_SIG_METHOD=sigstore
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs flag-o-matic linux-info llvm-r1
-inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
-inherit verify-sig
-
-MY_PV=${PV/_alpha/a}
-MY_P="Python-${MY_PV%_p*}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${MY_PV}"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="
- https://www.python.org/
- https://github.com/python/cpython/
-"
-SRC_URI="
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
- verify-sig? (
- https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.sigstore
- )
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-IUSE="
- bluetooth build debug +ensurepip examples gdbm jit
- libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
-"
-REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
-RESTRICT="!test? ( test )"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- >=dev-libs/expat-2.1:=
- dev-libs/libffi:=
- dev-libs/mpdecimal:=
- dev-python/gentoo-common
- >=sys-libs/zlib-1.1.3:=
- virtual/libintl
- ensurepip? ( dev-python/ensurepip-pip )
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- kernel_linux? ( sys-apps/util-linux:= )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? (
- !libedit? ( >=sys-libs/readline-4.1:= )
- libedit? ( dev-libs/libedit:= )
- )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? ( >=dev-libs/openssl-1.1.1:= )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
-"
-# bluetooth requires headers from bluez
-DEPEND="
- ${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? (
- dev-python/ensurepip-pip
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- )
- valgrind? ( dev-debug/valgrind )
-"
-# autoconf-archive needed to eautoreconf
-BDEPEND="
- dev-build/autoconf-archive
- app-alternatives/awk
- virtual/pkgconfig
- jit? (
- $(llvm_gen_dep '
- llvm-core/clang:${LLVM_SLOT}
- llvm-core/llvm:${LLVM_SLOT}
- ')
- )
- verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
-"
-RDEPEND+="
- !build? ( app-misc/mime-types )
-"
-if [[ ${PV} != *_alpha* ]]; then
- RDEPEND+="
- dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
- "
-fi
-
-# https://www.python.org/downloads/metadata/sigstore/
-VERIFY_SIG_CERT_IDENTITY=hugo@python.org
-VERIFY_SIG_CERT_OIDC_ISSUER=https://github.com/login/oauth
-
-# large file tests involve a 2.5G file being copied (duplicated)
-CHECKREQS_DISK_BUILD=5500M
-
-QA_PKGCONFIG_VERSION=${PYVER%t}
-# false positives -- functions specific to *BSD
-QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
-
-declare -rgA PYTHON_KERNEL_CHECKS=(
- ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589
- ["DNOTIFY"]="test_fcntl" # bug 938662
-)
-
-pkg_pretend() {
- if use pgo || use test; then
- check-reqs_pkg_pretend
- fi
-
- if use jit; then
- ewarn "USE=jit is considered experimental upstream. Using it"
- ewarn "could lead to unexpected breakage, including race conditions"
- ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
- ewarn "you can reproduce the problem with dev-lang/python[-jit]. Instead,"
- ewarn "please consider reporting JIT problems upstream."
- fi
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- use jit && llvm-r1_pkg_setup
- if use test || use pgo; then
- check-reqs_pkg_setup
-
- local CONFIG_CHECK
- for f in "${!PYTHON_KERNEL_CHECKS[@]}"; do
- CONFIG_CHECK+="~${f} "
- done
- linux-info_pkg_setup
- fi
- fi
-}
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.sigstore}
- fi
- default
-}
-
-src_prepare() {
- # Ensure that internal copies of expat and libffi are not used.
- # TODO: Makefile has annoying deps on expat headers
- #rm -r Modules/expat || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- # force the correct number of jobs
- # https://bugs.gentoo.org/737660
- sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
-
- # breaks tests when using --with-wheel-pkg-dir
- rm -r Lib/test/wheeldata || die
-
- eautoreconf
-}
-
-build_cbuild_python() {
- # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
- local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
-
- # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
- # propagated to sysconfig for built extensions
- #
- # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
- local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
- local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
- local -x CFLAGS= LDFLAGS=
- local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
- local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
-
- # We need to build our own Python on CBUILD first, and feed it in.
- # bug #847910
- local myeconfargs_cbuild=(
- "${myeconfargs[@]}"
-
- --prefix="${BROOT}"/usr
- --libdir="${cbuild_libdir:2}"
-
- # Avoid needing to load the right libpython.so.
- --disable-shared
-
- # As minimal as possible for the mini CBUILD Python
- # we build just for cross to satisfy --with-build-python.
- --without-lto
- --without-readline
- --disable-optimizations
- )
-
- mkdir "${WORKDIR}"/${P}-${CBUILD} || die
- pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
-
- # Avoid as many dependencies as possible for the cross build.
- mkdir Modules || die
- cat > Modules/Setup.local <<-EOF || die
- *disabled*
- nis
- _dbm _gdbm
- _sqlite3
- _hashlib _ssl
- _curses _curses_panel
- readline
- _tkinter
- pyexpat
- zlib
- # We disabled these for CBUILD because Python's setup.py can't handle locating
- # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
- # and uncommented if needed.
- #_ctypes
- EOF
-
- ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
-
- # Unfortunately, we do have to build this immediately, and
- # not in src_compile, because CHOST configure for Python
- # will check the existence of the --with-build-python value
- # immediately.
- emake
- popd &> /dev/null || die
-}
-
-src_configure() {
- # disable automagic bluetooth headers detection
- if ! use bluetooth; then
- local -x ac_cv_header_bluetooth_bluetooth_h=no
- fi
-
- append-flags -fwrapv
- filter-flags -malign-double
-
- # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
- # PKG_CONFIG needed for cross.
- tc-export CXX PKG_CONFIG
-
- local dbmliborder=
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
-
- # Set baseline test skip flags.
- COMMON_TEST_SKIPS=(
- # this is actually test_gdb.test_pretty_print
- -x test_pretty_print
- # https://bugs.gentoo.org/933840
- -x test_perf_profiler
- )
-
- # Arch-specific skips. See #931888 for a collection of these.
- case ${CHOST} in
- alpha*)
- COMMON_TEST_SKIPS+=(
- -x test_builtin
- -x test_capi
- -x test_cmath
- -x test_float
- # timeout
- -x test_free_threading
- -x test_math
- -x test_numeric_tower
- -x test_random
- -x test_statistics
- # bug 653850
- -x test_resource
- -x test_strtod
- )
- ;;
- hppa*)
- COMMON_TEST_SKIPS+=(
- -x test_gdb
- )
- ;;
- mips*)
- COMMON_TEST_SKIPS+=(
- -x test_ctypes
- -x test_external_inspection
- -x test_statistics
- )
- ;;
- powerpc64-*) # big endian
- COMMON_TEST_SKIPS+=(
- -x test_gdb
- )
- ;;
- riscv*)
- COMMON_TEST_SKIPS+=(
- -x test_urllib2
- )
- ;;
- sparc*)
- COMMON_TEST_SKIPS+=(
- # bug 788022
- -x test_multiprocessing_fork
- -x test_multiprocessing_forkserver
- -x test_multiprocessing_spawn
-
- -x test_ctypes
- -x test_gdb
- # bug 931908
- -x test_exceptions
- )
- ;;
- esac
-
- # Kernel-config specific skips
- for option in "${!PYTHON_KERNEL_CHECKS[@]}"; do
- if ! linux_config_exists || ! linux_chkconfig_present "${option}"
- then
- COMMON_TEST_SKIPS+=( -x "${PYTHON_KERNEL_CHECKS[${option}]}" )
- fi
- done
-
- # musl-specific skips
- use elibc_musl && COMMON_TEST_SKIPS+=(
- # various musl locale deficiencies
- -x test__locale
- -x test_c_locale_coercion
- -x test_locale
- -x test_re
-
- # known issues with find_library on musl
- # https://bugs.python.org/issue21622
- -x test_ctypes
-
- # fpathconf, ttyname errno values
- -x test_os
- )
-
- if use pgo; then
- local profile_task_flags=(
- -m test
- "-j$(makeopts_jobs)"
- --pgo-extended
- --verbose3
- -u-network
-
- # We use a timeout because of how often we've had hang issues
- # here. It also matches the default upstream PROFILE_TASK.
- --timeout 1200
-
- "${COMMON_TEST_SKIPS[@]}"
-
- -x test_dtrace
-
- # All of these seem to occasionally hang for PGO inconsistently
- # They'll even hang here but be fine in src_test sometimes.
- # bug #828535 (and related: bug #788022)
- -x test_asyncio
- -x test_httpservers
- -x test_logging
- -x test_multiprocessing_fork
- -x test_socket
- -x test_xmlrpc
-
- # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
- # bug #900429
- -x test_tools
- )
-
- if has_version "app-arch/rpm" ; then
- # Avoid sandbox failure (attempts to write to /var/lib/rpm)
- profile_task_flags+=(
- -x test_distutils
- )
- fi
- # PGO sometimes fails randomly
- local -x PROFILE_TASK="${profile_task_flags[*]} || true"
- fi
-
- local myeconfargs=(
- # glibc-2.30 removes it; since we can't cleanly force-rebuild
- # Python on glibc upgrade, remove it proactively to give
- # a chance for users rebuilding python before glibc
- ac_cv_header_stropts_h=no
-
- --enable-shared
- --without-static-libpython
- --enable-ipv6
- --infodir='${prefix}/share/info'
- --mandir='${prefix}/share/man'
- --with-computed-gotos
- --with-dbmliborder="${dbmliborder}"
- --with-libc=
- --enable-loadable-sqlite-extensions
- --without-ensurepip
- --without-lto
- --with-system-expat
- --with-system-libmpdec
- --with-platlibdir=lib
- --with-pkg-config=yes
- --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
- --enable-gil
-
- $(use_with debug assertions)
- $(use_enable jit experimental-jit)
- $(use_enable pgo optimizations)
- $(use_with readline readline "$(usex libedit editline readline)")
- $(use_with valgrind)
- )
-
- # https://bugs.gentoo.org/700012
- if tc-is-lto; then
- append-cflags $(test-flags-CC -ffat-lto-objects)
- myeconfargs+=(
- --with-lto
- )
- fi
-
- # Force-disable modules we don't want built.
- # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
- cat > Modules/Setup.local <<-EOF || die
- *disabled*
- nis
- $(usev !gdbm '_gdbm _dbm')
- $(usev !sqlite '_sqlite3')
- $(usev !ssl '_hashlib _ssl')
- $(usev !ncurses '_curses _curses_panel')
- $(usev !readline 'readline')
- $(usev !tk '_tkinter')
- EOF
-
- # disable implicit optimization/debugging flags
- local -x OPT=
-
- if tc-is-cross-compiler ; then
- build_cbuild_python
- myeconfargs+=(
- # Point the imminent CHOST build to the Python we just
- # built for CBUILD.
- --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
- )
- fi
-
- # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
- # propagated to sysconfig for built extensions
- local -x CFLAGS_NODIST=${CFLAGS}
- local -x LDFLAGS_NODIST=${LDFLAGS}
- local -x CFLAGS= LDFLAGS=
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- if use ncurses; then
- append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
- fi
-
- econf "${myeconfargs[@]}"
-
- if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
- eerror "configure has detected that the sem_open function is broken."
- eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
- die "Broken sem_open function (bug 496328)"
- fi
-
- # install epython.py as part of stdlib
- echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
- export PYTHONSTRICTEXTENSIONBUILD=1
-
- # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
- # end up writing bytecode & violating sandbox.
- # bug #831897
- local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
-
- # Gentoo hack to disable accessing system site-packages
- export GENTOO_CPYTHON_BUILD=1
-
- if use pgo ; then
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
- fi
-
- # also need to clear the flags explicitly here or they end up
- # in _sysconfigdata*
- emake CPPFLAGS= CFLAGS= LDFLAGS=
-
- # Restore saved value from above.
- local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- # this just happens to skip test_support.test_freeze that is broken
- # without bundled expat
- # TODO: get a proper skip for it upstream
- local -x LOGNAME=buildbot
-
- local test_opts=(
- --verbose3
- -u-network
- -j "$(makeopts_jobs)"
- "${COMMON_TEST_SKIPS[@]}"
- )
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/var/tmp
-
- nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local ret=${?}
-
- [[ ${ret} -eq 0 ]] || die "emake test failed"
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- # -j1 hack for now for bug #843458
- emake -j1 DESTDIR="${D}" TEST_MODULES=no altinstall
-
- # Fix collisions between different slots of Python.
- rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
-
- # Cheap hack to get version with ABIFLAGS
- local abiver=$(cd "${ED}/usr/include"; echo python*)
- if [[ ${abiver} != python${PYVER} ]]; then
- # Replace python3.X with a symlink to python3.Xm
- rm "${ED}/usr/bin/python${PYVER}" || die
- dosym "${abiver}" "/usr/bin/python${PYVER}"
- # Create python3.X-config symlink
- dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
- # Create python-3.5m.pc symlink
- dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
- fi
-
- # python seems to get rebuilt in src_install (bug 569908)
- # Work around it for now.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E "${ED}/usr/bin/${abiver}"
- else
- pax-mark m "${ED}/usr/bin/${abiver}"
- fi
-
- rm -r "${libdir}"/ensurepip/_bundled || die
- if ! use sqlite; then
- rm -r "${libdir}/"sqlite3 || die
- fi
- if ! use tk; then
- rm -r "${ED}/usr/bin/idle${PYVER}" || die
- rm -r "${libdir}/"{idlelib,tkinter} || die
- fi
-
- ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
-
- dodoc Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- docinto examples
- find Tools -name __pycache__ -exec rm -fr {} + || die
- dodoc -r Tools
- fi
- insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
- local libname=$(
- printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
- emake --no-print-directory -s -f - 2>/dev/null
- )
- newins Tools/gdb/libpython.py "${libname}"-gdb.py
-
- newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
- newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
- sed \
- -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
- -e "s:@PYDOC@:pydoc${PYVER}:" \
- -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
- "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
-
- # python-exec wrapping support
- local pymajor=${PYVER%.*}
- local EPYTHON=python${PYVER}
- local scriptdir=${D}$(python_get_scriptdir)
- mkdir -p "${scriptdir}" || die
- # python and pythonX
- ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
- ln -s "python${pymajor}" "${scriptdir}/python" || die
- # python-config and pythonX-config
- # note: we need to create a wrapper rather than symlinking it due
- # to some random dirname(argv[0]) magic performed by python-config
- cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
- #!/bin/sh
- exec "${abiver}-config" "\${@}"
- EOF
- chmod +x "${scriptdir}/python${pymajor}-config" || die
- ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
- # pydoc
- ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
- # idle
- if use tk; then
- ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
- fi
-}
diff --git a/dev-lang/python/python-3.9.20_p2.ebuild b/dev-lang/python/python-3.9.20_p2.ebuild
deleted file mode 100644
index 64cab1508101..000000000000
--- a/dev-lang/python/python-3.9.20_p2.ebuild
+++ /dev/null
@@ -1,584 +0,0 @@
-# Copyright 1999-2025 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 ~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
-
- # Set baseline test skip flags.
- COMMON_TEST_SKIPS=(
- -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
- )
- ;;
- 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_multiprocessing_spawn
-
- -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
- -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_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
- )
-
- # 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
- )
- ;;
- powerpc64-*) # big endian
- profile_task_flags+=(
- # bug 931908
- -x test_exceptions
- )
- ;;
- riscv*)
- profile_task_flags+=(
- -x test_statistics
- )
- ;;
- 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
- --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}
-
- # Gentoo hack to disable accessing system site-packages
- export GENTOO_CPYTHON_BUILD=1
-
- if use pgo ; then
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/tmp
- fi
-
- # also need to clear the flags explicitly here or they end up
- # in _sysconfigdata*
- emake CPPFLAGS= CFLAGS= LDFLAGS=
-
- # Restore saved value from above.
- local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
-
- # Work around bug 329499. See also bug 413751 and 457194.
- if has_version dev-libs/libffi[pax-kernel]; then
- pax-mark E python
- else
- pax-mark m python
- fi
-}
-
-src_test() {
- # Tests will not work when cross compiling.
- if tc-is-cross-compiler; then
- elog "Disabling tests due to crosscompiling."
- return
- fi
-
- local test_opts=(
- --verbose3
- -u-network
- -j "$(makeopts_jobs)"
- "${COMMON_TEST_SKIPS[@]}"
- )
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
- local -x TMPDIR=/tmp
-
- nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local ret=${?}
-
- [[ ${ret} -eq 0 ]] || die "emake test failed"
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- 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/souffle/Manifest b/dev-lang/souffle/Manifest
index 588613567861..9cc4a67d5ab7 100644
--- a/dev-lang/souffle/Manifest
+++ b/dev-lang/souffle/Manifest
@@ -1,5 +1,7 @@
AUX souffle-2.4.1-ncurses.patch 513 BLAKE2B 4ca9241abcc17691c12004b3632efcfb0438e6dd66753cbb40e34fa53338aacc3dfe80d3912989fee2a1694b5537627037df6052ea909385c8fa62e4ba122080 SHA512 0cf585e60e040f5b62f1511e55d97ee8831b5496e5ba431301380b454874b9720cb4c96a429122cc527aeb0d4a160f4937e1aeff7a9e57a21c5e6be1a1e27710
AUX souffle-2.4.1-threads.patch 1352 BLAKE2B 2805c6a6579ee55f57e9335162427fb860a12f9bb0b6418dd3705efbe0ca93c6042aa2e83260e0eb95b7f8df9761db90b8f118ba0c264a5ce0f8ae29b4d28490 SHA512 05f057c54b6b070b1f9e79eeccffa4c38f47af810bd14d5ec16c75f3c331386debfe21cd6d16f2d8675bb1f2c2e1ebd74e956b014d8e6eda9650097e44bc9db9
DIST souffle-2.4.1.tar.gz 9668253 BLAKE2B b101a6f24df7d5bd86854d5d19c166bfe8266a9f6e8c8391fdbb79afddec7bd2297bb7af472ebc01ff2d6b0c1516820d96ec47dbf1042167b1435c22f9671ea3 SHA512 5dd321a2b025f2120d7867fa7317b4784a0f0fcc109250721cdb0918009ca218c63cdad004282046885f7096b287bc111e09057311603828ecce53f9cc532319
+DIST souffle-2.5.tar.gz 9707629 BLAKE2B 76e4499f719e118ba3d82e22548d6cbef1792ba1f44ba08ec5888976e6d76ee822b867806d02bf6a77adf756886ba09fd00070cc51256e2eda6e89c7b2089202 SHA512 a99daa9dccbf7e681115f0dc7c0a83906fd1f18735a421a8037b2f7b4bde3580c125a2d6aa9c472b2e9a54d0afcd2b34479b7680b3e4b77c79bfcc61e06acd86
EBUILD souffle-2.4.1-r1.ebuild 2611 BLAKE2B 8ca82c56960530480f759970e8f53b0697a8b242e6b944023d2f833aa135a389484e3d164c4b66c334a65d3fb8fef9f1a1ecf99eb2430071dc0352e3cb9e20a6 SHA512 0a09fb9da9fe77117c4dec3c5549d7b6555f6d63457c2778cc2c2e485b70927649d4c829f21853a172538459e040f118f68c9f1aea8dcc1c9b4a7eb9c9dd00ae
+EBUILD souffle-2.5.ebuild 2587 BLAKE2B c1f2cd91faaa3a0b9ca914ae0dc23e7567850c2273e80f850025e6f3f1e8c220377a85925d816c92bb2932253cad75abfc3914b6205ff97f1b0ee00d3c837097 SHA512 32714221212806df27406d1b1e3239461051acc5ae121fb2576a51814e77cc7f5f91512364338fa5fdd4763df9d120943a790cb91142e733840e1a105219ef5e
MISC metadata.xml 815 BLAKE2B 6685650f4fe61a45d10eafe2ed7d328638b0fb3d2dd23811e77c481d0b9f1d68074d3d29cb386b0060de5e193deb2abf9f8a33634f122cec54fb1c77966bfff3 SHA512 f42d5bbf5e9e8ffb311cb304e99a6b8e6b580e78312b18cdf450998ddda6da56c035a8fea41c5e9df5eb6e7c0b5b2187097eb13a6f54bf3604d9736ee6ea98d7
diff --git a/dev-lang/souffle/souffle-2.5.ebuild b/dev-lang/souffle/souffle-2.5.ebuild
new file mode 100644
index 000000000000..02b551fcbee1
--- /dev/null
+++ b/dev-lang/souffle/souffle-2.5.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit bash-completion-r1 cmake java-pkg-opt-2 python-single-r1
+
+DESCRIPTION="Datalog compiler, synthesizes C++ program from logic specification"
+HOMEPAGE="http://souffle-lang.github.io/
+ https://github.com/souffle-lang/souffle/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/souffle-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/souffle-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="UPL-1.0"
+SLOT="0"
+IUSE="+ffi java +ncurses +openmp python +sqlite swig test +zlib"
+REQUIRED_USE="java? ( swig ) python? ( swig ) test? ( ${PYTHON_REQUIRED_USE} )"
+
+# Still, some tests fail. TODO: Disable them.
+# RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+RDEPEND="
+ ffi? ( dev-libs/libffi:= )
+ ncurses? ( sys-libs/ncurses:= )
+ openmp? ( llvm-runtimes/openmp:= )
+ python? ( ${PYTHON_DEPS} )
+ sqlite? ( dev-db/sqlite:3 )
+ swig? ( dev-lang/swig:= )
+ zlib? ( sys-libs/zlib:= )
+"
+DEPEND="
+ ${RDEPEND}
+ java? ( >=virtual/jdk-1.8 )
+"
+BDEPEND="
+ sys-devel/bison
+ sys-devel/flex
+ test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.1-ncurses.patch"
+ "${FILESDIR}/${PN}-2.4.1-threads.patch"
+)
+
+pkg_pretend() {
+ if [[ "${MERGE_TYPE}" != binary ]] ; then
+ if has ccache "${FEATURES}" && use test ; then
+ ewarn "A lot of tests fail with \"ccache\" enabled."
+ fi
+ fi
+}
+
+pkg_setup() {
+ if use java ; then
+ java-pkg-opt-2_pkg_setup
+ fi
+
+ if use python || use test ; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ unset LEX
+
+ cmake_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local -a mycmakeargs=(
+ # Configure bash completions.
+ -DBASH_COMPLETION_COMPLETIONSDIR=$(get_bashcompdir)
+ -DSOUFFLE_BASH_COMPLETION=ON
+
+ # Disable developer tests.
+ -DSOUFFLE_TEST_EVALUATION=OFF
+ -DSOUFFLE_TEST_EXAMPLES=OFF
+
+ -DSOUFFLE_ENABLE_TESTING=$(usex test)
+ -DSOUFFLE_SWIG_JAVA=$(usex java)
+ -DSOUFFLE_SWIG_PYTHON=$(usex python)
+ -DSOUFFLE_USE_CURSES=$(usex ncurses)
+ -DSOUFFLE_USE_LIBFFI=$(usex ffi)
+ -DSOUFFLE_USE_OPENMP=$(usex openmp)
+ -DSOUFFLE_USE_SQLITE=$(usex sqlite)
+ -DSOUFFLE_USE_ZLIB=$(usex zlib)
+ )
+
+ # Version information for non-git, non-live builds.
+ if ! has live "${PROPERTIES}" ; then
+ mycmakeargs+=(
+ -DSOUFFLE_GIT="OFF"
+ )
+ fi
+
+ if use ffi ; then
+ mycmakeargs+=(
+ -DLIBFFI_INCLUDE_DIR="${EPREFIX}/usr/$(get_libdir)/libffi/include"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ doman man/*.1
+}
diff --git a/dev-lang/swi-prolog/Manifest b/dev-lang/swi-prolog/Manifest
index 24a564a0e574..0e47a07bd1fc 100644
--- a/dev-lang/swi-prolog/Manifest
+++ b/dev-lang/swi-prolog/Manifest
@@ -2,5 +2,5 @@ AUX swi-prolog-9.1.2-configure-clang16.patch 2605 BLAKE2B c0e547c31c5d613659d92c
DIST swipl-9.1.2.tar.gz 11827220 BLAKE2B e4bf40d1b4d0c48af5e630728208ca849b9a3d0f4129c827b98cd8d666b934218bbbee4c357b67cdd72b9e15046b70a873ffd9e31eaacac620a9aba6a7aec7fd SHA512 d47375c21ed33a2822b9df294a709141fc2e1f0aa61a297bd51a504f6f7859a1deb0ea6705d30b6f8198c71f440b176c7259bd83bff1ac5393ced77fdfbf564a
DIST swipl-9.3.9.tar.gz 12302913 BLAKE2B fb657c58673a250a5a0563a2efd164b491eba15402c4442a0751f2fd3dd176337fc3f8eac828014c8341b852b6546a56c755fa0488daf211329bc8ff02fb67a5 SHA512 6e7247871b6379801b52df7da22d808dd823bc3f42ec1212bd3c3f61d0363dc05135ab389ea08143b99a8b3b356bfed52a749a32a45bb434d8aa6e3514c521b9
EBUILD swi-prolog-9.1.2-r1.ebuild 4047 BLAKE2B c1417db7aff1db4cb7116e2666044f70f5541c62dd8efd4e36bb9511fe90b8458a63121faf4754e74ded44a8f9cf606539d6c4a197d36f1296dbb5414231f9fc SHA512 8e80345d293a98d55c80062a77931014f268e43be371c9136adb7a44aeff027d4f143f3fadf976332805403ba3424d204e998e55b2b88069e1522cb80df29f31
-EBUILD swi-prolog-9.3.9.ebuild 4102 BLAKE2B bdbe82060df37289c1187cdccad031c9e7ec602c9082364b5db054a1bdff3a75e17b4ae04c03705ef0436a441918e3517adc8bf99e32a0063801dbeb86af0eec SHA512 dd26cce63ebcea70dd6c51d2e193691ca19396c0b53558af9c74950a6dcbe3deed38756caf585220cf02396b8efdf186673cbcef6d8c6a8107daf834ef03e812
+EBUILD swi-prolog-9.3.9.ebuild 4100 BLAKE2B c69a3aee11ad04c7cd664ac7bf55c568d1e4affbad51e2bf83dd3f249c62a8185056e11a242b5692cf77b068d0fd326a797ae9185e3f5c911f0263de14fd6612 SHA512 f9b3c3ff44579deae5e0f65a967f29611bef67aeadc0759a6120108a72a7f70d311b9aa29a981afb1d35a71a3b82361d458437748ad9ce428d6c7b89f578138c
MISC metadata.xml 739 BLAKE2B d9bdefa945afd5752828f5e0e4edcbc15bf7db4bd1c68133c5011cf2b416a1511be1f58a2fd69cc55b0f4ee68efa8c7ec65200e2714f0381a02b75096dc31460 SHA512 7ea63958dd18ad3c8b9fa9a3511706f63e00c21249e39fcb47de57d539bffbebf640a9c48b1764f89caacedb267e24dea1f94cf792a66ba6bf9c5d10460c2f75
diff --git a/dev-lang/swi-prolog/swi-prolog-9.3.9.ebuild b/dev-lang/swi-prolog/swi-prolog-9.3.9.ebuild
index f2edfed3417b..6b45373ea031 100644
--- a/dev-lang/swi-prolog/swi-prolog-9.3.9.ebuild
+++ b/dev-lang/swi-prolog/swi-prolog-9.3.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ else
SRC_URI="https://www.swi-prolog.org/download/devel/src/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+ KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
fi
LICENSE="BSD-2"