From 7094f2d0ac530a3435036f9b65a285f4efe8228c Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 17 Nov 2025 07:07:08 +0000 Subject: [PATCH] dev-lang/python: Sync with Gentoo It's from Gentoo commit ad56e7c2efe9d9372948b2e850fba8d21b6e7092. Signed-off-by: Flatcar Buildbot --- .../portage-stable/dev-lang/python/Manifest | 7 +- .../dev-lang/python/python-0.3.13.5_p1.ebuild | 2 +- .../dev-lang/python/python-0.3.13.7.ebuild | 2 +- .../dev-lang/python/python-0.3.13.8.ebuild | 2 +- .../dev-lang/python/python-0.3.13.9.ebuild | 2 +- .../dev-lang/python/python-0.3.13.9999.ebuild | 2 +- .../dev-lang/python/python-0.3.14.0.ebuild | 2 +- ...0_rc3.ebuild => python-0.3.14.0_p1.ebuild} | 20 +- .../python/python-0.3.14.0_rc2.ebuild | 621 ----------------- .../dev-lang/python/python-0.3.14.9999.ebuild | 2 +- .../python/python-0.3.15.0_alpha1.ebuild | 2 +- .../dev-lang/python/python-0.3.15.9999.ebuild | 2 +- .../python/python-2.7.18_p16-r2.ebuild | 2 +- .../dev-lang/python/python-3.10.18_p2.ebuild | 2 +- .../dev-lang/python/python-3.10.19.ebuild | 2 +- .../dev-lang/python/python-3.10.9999.ebuild | 2 +- .../dev-lang/python/python-3.11.13_p1.ebuild | 2 +- .../dev-lang/python/python-3.11.14.ebuild | 2 +- .../dev-lang/python/python-3.11.9999.ebuild | 2 +- .../dev-lang/python/python-3.12.11_p1.ebuild | 2 +- .../dev-lang/python/python-3.12.12.ebuild | 2 +- .../dev-lang/python/python-3.12.9999.ebuild | 2 +- .../dev-lang/python/python-3.13.5_p1.ebuild | 2 +- .../dev-lang/python/python-3.13.7.ebuild | 2 +- .../dev-lang/python/python-3.13.8.ebuild | 2 +- .../dev-lang/python/python-3.13.9.ebuild | 2 +- .../dev-lang/python/python-3.13.9999.ebuild | 2 +- .../dev-lang/python/python-3.14.0.ebuild | 2 +- ...4.0_rc3.ebuild => python-3.14.0_p1.ebuild} | 18 +- .../dev-lang/python/python-3.14.0_rc2.ebuild | 632 ------------------ .../dev-lang/python/python-3.14.9999.ebuild | 2 +- .../python/python-3.15.0_alpha1.ebuild | 2 +- .../dev-lang/python/python-3.15.9999.ebuild | 2 +- .../python/python-3.8.20_p7-r1.ebuild | 2 +- .../dev-lang/python/python-3.9.23_p2.ebuild | 2 +- .../dev-lang/python/python-3.9.24.ebuild | 2 +- .../dev-lang/python/python-3.9.25.ebuild | 2 +- .../dev-lang/python/python-3.9.9999.ebuild | 2 +- 38 files changed, 67 insertions(+), 1297 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-0.3.14.0_rc3.ebuild => python-0.3.14.0_p1.ebuild} (97%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc2.ebuild rename sdk_container/src/third_party/portage-stable/dev-lang/python/{python-3.14.0_rc3.ebuild => python-3.14.0_p1.ebuild} (98%) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc2.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest index f81b9409ee..16a9bf8ae5 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/Manifest @@ -22,10 +22,6 @@ DIST Python-3.13.9.tar.xz 22681368 BLAKE2B 8fbf9b9e0dcc480a5bac82d5c18d6fdb63076 DIST Python-3.13.9.tar.xz.asc 963 BLAKE2B 7989940e3dfc62c553016f9d2b9aef447e770d63b2508f287e14495ba3e98326279d2bdb3b96bbc65ff2a859253bc43d8ce5387873842f656a66abef8380a3b7 SHA512 c33fba3a6b22dccc08beb7f13bd61a25a30f609a54da7c8dfd3b3b4a3490a7b24c11f9617a835388f22709fb09375d35febc417cf104a18f5bec3b43ec999e82 DIST Python-3.14.0.tar.xz 23595844 BLAKE2B 0fe495d62819c9066240927ceff022dc36920cfd9aa7f80f09fd82a6baf42fe0ef85aed7087418ad9769504e62dc0592cf9c06a542335d83ab65fc6399b5ac76 SHA512 46e9e205c3a084cba68bf7f267ab2fd0862a05430165e0eb713f2d6b3a1a4452f72f563de5de55caea824be9df56f66dd568f4814941667a9bb0954229772c53 DIST Python-3.14.0.tar.xz.sigstore 5374 BLAKE2B 50ed6dada3a7dfcfeb47e0cc55568c0e2ea01a5710f341d6423bb5b0982897b13a7a7c91d8b7c995499f687b17a6cf432fdcd3338b0ac658d19a8ad032438957 SHA512 147bf060a55b9108efb6f6a7f478c0b4dc1e7b1e215b842fb8adfe1b96bbe8d1b49ad352455e047d694638130f8533e3ea1c3a246e9ed0fde0d08e80113a6c44 -DIST Python-3.14.0rc2.tar.xz 23566140 BLAKE2B 6871d31eba6167f2d0b2d098b1582e465b1bb8df90ede41bba57b8dbdcb087ceba7cc047e93e43cf93c3c36d3166f4f99ab4c321566ec64cdc4c0e65c0abd1da SHA512 8021dc8e23239fd9e53fafd1fcaa1108da41ef376ee5b5e9c8dfd74995537131990239cd83de45b8bd5fb52b44c4dc08df1c837f69ce82c5b2d99ddf3ea5ef77 -DIST Python-3.14.0rc2.tar.xz.sigstore 4942 BLAKE2B 650404fe155c874f05d114dda6ff47ef90b9ed09f6d40f7a3757a3f0fe4420380cb2e52696dda76badccd86b31117e6f8b906a61881b8f65949d00d692abd959 SHA512 2cce5b68b32f9f0f400e5c2d571ad9ce479cff904690ddd454ea69b612cd8c5c003f632f8866a220be46e5e56b92a1dfb12c4e12b381fc7c58710635be5ea715 -DIST Python-3.14.0rc3.tar.xz 23585028 BLAKE2B a74f441855f20001e04e576bb85227f73907213c435e7cdebcd3d5f04962181ebf7ab9d8fd7503ed51696fa4d285cd64c74a9c48e13250db6b5b3fce8e20bbb4 SHA512 15c55660fc0168bd0f2348fa6d669352b422a626b151b7a7131eb338459e552a15908874ad872eea0eea48801d5a489647e1643bf00548fd6d9c1aff6fc2044f -DIST Python-3.14.0rc3.tar.xz.sigstore 5278 BLAKE2B f03ca95d4c143547533744e943045f22d493ad5c05f41644c20007792b6b4dd8fe3677a3bbab62b44c05dcf370e4bce109ed3fba1ac094f564c86538d6be8ec4 SHA512 8101d92af5e4fb67f5d7a378d817ffa8982898865986f1ed47ec0009b2203af4f797d60a07eb50453a85833a23349c472e9be4a7e10c2c9ea7f18c30ae45544c DIST Python-3.15.0a1.tar.xz 23646768 BLAKE2B 63ccff58638d59b8c0061bf0a91c437c441bb2c08c6a76f51d38021c9122ea884474d52643389e10cddfa37644da69c3fd4267358c5dcf0bd86d4a3aaf5786a6 SHA512 5b86de5c935403b46b718d3a151f26c18e6ff5e468ee03c4dd09fd49c31b57560523ea24b5cd2e5283bbc0daf5621c7145d0af4ba67a23671b0652ce5cdad483 DIST Python-3.15.0a1.tar.xz.sigstore 5138 BLAKE2B 58268279c2f1db2e0350a3219300c2a96780df8d9f524db1526e3792c8b2ca94d1088ca8dabca8a583eeca7a0f429f90687643b5fe4c8e20414e68a3b138d969 SHA512 3f77187359658235c016dd8a8f42e87b23e1e1f5fd7c693e612267344e00aa8e464995f197ab8b0d44a0cf1c53311ecdf323ae670e6e7ee0375e01c80a7de37a DIST Python-3.8.20.tar.xz 18962788 BLAKE2B 715c75e0c0a3d3b77af7f07478311bb0554b80aac72915be703aa2d0dd6459a972e5669808e64da14a0b91bb183e00655055c1726f302dc3ccd8721e3b4ae3e6 SHA512 3c9341ee1fd33cb687958dcf2b7c0c7700489726c4d530c3e9d9537d46a6ab534541a4b312232d8505bea395a07e4518c42d75fb7571103e6b266f8f44115c61 @@ -52,9 +48,8 @@ DIST python-gentoo-patches-3.13.7_p1.tar.xz 8944 BLAKE2B f7d7769328fc5cb83f03a8e DIST python-gentoo-patches-3.13.8.tar.xz 8956 BLAKE2B a98766abfe50feb591e3aa7b7964fdcecd43cadff088735152417d6bad5fe6e6055bc41cdfa74332790775c8b333f35e28f381dc557b9c89c7bd4aafb0e846f3 SHA512 9ee23e972a90eb9578c469af255d2559d4aa454a9b8716075baded60ff6e457a96b69cce3427bba8daddbb4a47d388b1316019fd397b13c8db71cf4882e3f3f5 DIST python-gentoo-patches-3.13.9.tar.xz 8952 BLAKE2B 9941b3dd241adcdde64b38bdc3a610e8f3a820b0b4ff03b06ed6d1c26c91af0567cd1e979a8f1d0cfcd05a1568a182ee87944b27ecef22ec139de001e9085624 SHA512 bd12075b144300f1f922175077345fe38a7067282c057fbc256ef646a3e58dca68c029f1449ce4c40d6e7b62444579d6f892f28d73ddc8f859b48636012e3814 DIST python-gentoo-patches-3.14.0.tar.xz 7992 BLAKE2B 8faff97c198abc1549d7c871c82ff649bbdbe18f9cfdad31aa7b6535391fff8e6adc387a120a6298ede8842421bc103cfae27da807e651c9898d4edb192f4fd7 SHA512 7bc425a89d0f3ebbdab4f52ce1300e16512bda4f08968222e8e68f22d3a794fc7d32a00644f4949810ebb41da0ffd4a5a962dcbee86c7660cd4214406ad16b01 +DIST python-gentoo-patches-3.14.0_p1.tar.xz 8952 BLAKE2B d53c5a055be72e3f92a63e18cf75d2f6eb1e352a7529f7ce8256aaf0fa5ac92443646fe07bdbc707a28c1ed395c4c2edd29db0b8fc591679c7602aedfc968489 SHA512 ec03a259281d675063ad82dfd9c0fcb08402120663b9c2a56e37de45bb03e678fccd0c3723b6deffc4f5b8ea4ad17492040a98c7434853da2007f31cdb549bdd DIST python-gentoo-patches-3.14.0b1.tar.xz 5680 BLAKE2B 514b3edc3025e5bf675d371b5ada17dea426856edf1fb6095c2ee400eae95bd4265ef81fe593ae9338e801e7d0a25b1d5ba2d05ca563fd9dd020114b13575746 SHA512 74289e42cf532b54bb1b66a283ec19156f8a36ba38764209c133842314c9efb2ce2ebcba5aa9213bcf7fc0c8a5ca9b6e7adbd5dbfa4397233136d7cd55f53ee7 -DIST python-gentoo-patches-3.14.0rc2_p1.tar.xz 7988 BLAKE2B fdcdb5a7319172284f8ad7bc8a1a1ce92f5eee3e6864cf5e7055093b9128928de2a17dce443dd786679ac1f7a33ffa2f7993ea6aa279a904bc9126e2db199f48 SHA512 b30f2b2d5b6fd6263533ebea6545c52e2bb365d035652bbbb215ab828685e2c48585a0544c0fead43c9622c82f51f327e946911d9cbc8717b92e5f75169234ea -DIST python-gentoo-patches-3.14.0rc3.tar.xz 7992 BLAKE2B fd4f0be9f78a6d1f193c62db16f896ee19445f2dd95ffff4f1bca0b55dca0c837dc7a2e4fc07b8633043091e2fc8aa170e6782d66710ce371388896f65b4d68d SHA512 2ab39d1265e51747b2a20fc0dfe8b7391847bace5b5c88561be2c2de6ab2595813d2c84ab32d9df022f8f075f48968b4fd0106140e6eedfee56a6a7201b311b6 DIST python-gentoo-patches-3.15.0a1.tar.xz 3820 BLAKE2B 1ee2ae65f079807d2665b050d4fbd744e71a7db8b14b80f52c32ae0c4593220037f0f7793cb8889fa3cde08b27ca8a2325e578bdf594f0eb1d1fdba90598369c SHA512 ddd00f3d6e22e7757ffe7c55ef7137e8d69377524c4047796594aca73f8d430efef2cb4a6dfe48b6d0fbef3cfae4812ead888ed49270d9b951e872879d2396ab DIST python-gentoo-patches-3.8.20_p7.tar.xz 54544 BLAKE2B e31fc9fb5e98b62b0f70165670ec58ed4fa932cfc95d5287c249015a3a372fdbf0d1ba08cb98f63c2dc500700edfd6ffea6db670385d2c86a4fdb92ffb991192 SHA512 a9e7e4976be226931a503af2c986da207d060d4ce436af61f5e8427da513639adbed32bb0061963b83fef275a5de91707ab13b7a9abf3a7472ee0e2c5310eda1 DIST python-gentoo-patches-3.9.23.tar.xz 37148 BLAKE2B a7c0514037169b9938b2180ec2dd22063621d532367f6febfa47da43f47534559baab992d9c5257271121af755b8445346d4d92582e7e11b6468a1c359f28bf2 SHA512 73ef00a7aa671016de396c9e1c4bb5f5c1a97dc735739f806d809f987e802ec440370bf4c85468097547284a5d2b476cbffcec3cf219b7cb6fc890d5029eb5bd diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.5_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.5_p1.ebuild index 2e133b563a..b87de46d79 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.5_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.5_p1.ebuild @@ -52,7 +52,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.7.ebuild index 17481985ac..ef6de0833d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.7.ebuild @@ -52,7 +52,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.8.ebuild index 2e133b563a..b87de46d79 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.8.ebuild @@ -52,7 +52,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild index 2e133b563a..b87de46d79 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9.ebuild @@ -52,7 +52,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild index ff19b29faf..726d210694 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.13.9999.ebuild @@ -44,7 +44,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0.ebuild index efe2d8cadb..231a1c6034 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0.ebuild @@ -53,7 +53,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild similarity index 97% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild index 742a14ccd3..058acd5be9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_p1.ebuild @@ -11,7 +11,7 @@ inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_/} +MY_PV=${REAL_PV} MY_P="Python-${MY_PV%_p*}" PYVER="$(ver_cut 2-3)t" PATCHSET="python-gentoo-patches-${MY_PV}" @@ -53,7 +53,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) @@ -86,6 +86,12 @@ BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig + tail-call-interp? ( + || ( + >=sys-devel/gcc-15:* + >=llvm-core/clang-19:* + ) + ) " if [[ ${PV} != *_alpha* ]]; then RDEPEND+=" @@ -129,6 +135,10 @@ pkg_setup() { done linux-info_pkg_setup fi + if use tail-call-interp; then + tc-check-min_ver gcc 15 + tc-check-min_ver clang 19 + fi fi } @@ -350,6 +360,10 @@ src_configure() { # Hangs (actually runs indefinitely executing itself w/ many cpython builds) # bug #900429 -x test_tools + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl ) if has_version "app-arch/rpm" ; then @@ -608,7 +622,7 @@ src_install() { } pkg_postinst() { - if ver_replacing -lt 3.14.0_beta3; then + if ver_replacing -lt 0.3.14.0_beta3; then ewarn "Python 3.14.0b3 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" diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc2.ebuild deleted file mode 100644 index 00e1928e19..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.0_rc2.ebuild +++ /dev/null @@ -1,621 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -VERIFY_SIG_METHOD=sigstore -WANT_LIBTOOL="none" - -inherit autotools check-reqs eapi9-ver flag-o-matic linux-info -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -REAL_PV=${PV#0.} -MY_PV=${REAL_PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 2-3)t" -PATCHSET="python-gentoo-patches-${MY_PV}_p1" - -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/${REAL_PV%%_*}/${MY_P}.tar.xz - https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz - verify-sig? ( - https://www.python.org/ftp/python/${REAL_PV%%_*}/${MY_P}.tar.xz.sigstore - ) -" -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 debug +ensurepip examples gdbm libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp 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-arch/zstd:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libintl - 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 - ) - valgrind? ( dev-debug/valgrind ) -" -# autoconf-archive needed to eautoreconf -BDEPEND=" - dev-build/autoconf-archive - app-alternatives/awk - virtual/pkgconfig -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# 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 -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]]; then - 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 - - 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=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # 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 - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - 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 - # 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-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 pgo optimizations) - $(use_with readline readline "$(usex libedit editline readline)") - $(use_with tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - 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 -} - -pkg_postinst() { - if ver_replacing -lt 3.14.0_beta3; then - ewarn "Python 3.14.0b3 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.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14t/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild index e0b4a11ba9..bf971437aa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.14.9999.ebuild @@ -44,7 +44,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild index de2c32d72d..8774bf6a9d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.0_alpha1.ebuild @@ -51,7 +51,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild index bcd5eadcb5..f80ecebdea 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-0.3.15.9999.ebuild @@ -43,7 +43,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild index 4e2a704247..e181436730 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-2.7.18_p16-r2.ebuild @@ -43,7 +43,7 @@ RDEPEND=" app-arch/bzip2:= app-misc/mime-types dev-libs/libffi:= - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl berkdb? ( || ( diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18_p2.ebuild index 2ffd36444e..38b550df49 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.18_p2.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild index f773d6ce75..c9ec812fa9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.19.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild index 13edc56d65..8089e5f53d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.10.9999.ebuild @@ -42,7 +42,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13_p1.ebuild index 33eb872c4e..83a4e1b54b 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.13_p1.ebuild @@ -49,7 +49,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild index 878df7ed98..6da765705c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.14.ebuild @@ -49,7 +49,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild index c174b1c2a9..7589c5e2c9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.11.9999.ebuild @@ -43,7 +43,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11_p1.ebuild index b305024c2b..07f18eaa38 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.11_p1.ebuild @@ -49,7 +49,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild index 182b0c80db..ffc8c25d66 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.12.ebuild @@ -49,7 +49,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild index 5ac7078919..341100a38d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.12.9999.ebuild @@ -43,7 +43,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5_p1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5_p1.ebuild index ce2bc0ac88..9193ed8daa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5_p1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.5_p1.ebuild @@ -54,7 +54,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.7.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.7.ebuild index ec80826ece..83136dda31 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.7.ebuild @@ -54,7 +54,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.8.ebuild index 13bdac28ad..7f49f2d3cf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.8.ebuild @@ -54,7 +54,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild index 13bdac28ad..7f49f2d3cf 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9.ebuild @@ -54,7 +54,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild index 90faf189a2..7f8fc2e4b7 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.13.9999.ebuild @@ -47,7 +47,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0.ebuild index fecf2ad12e..a714a578a9 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0.ebuild @@ -55,7 +55,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc3.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild index fefea21804..3ac6844a46 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_p1.ebuild @@ -12,7 +12,7 @@ inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r1 inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs inherit verify-sig -MY_PV=${PV/_/} +MY_PV=${PV} MY_P="Python-${MY_PV%_p*}" PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" @@ -55,7 +55,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) @@ -94,6 +94,12 @@ BDEPEND=" llvm-core/llvm:${LLVM_SLOT} ') ) + tail-call-interp? ( + || ( + >=sys-devel/gcc-15:* + >=llvm-core/clang-19:* + ) + ) " if [[ ${PV} != *_alpha* ]]; then RDEPEND+=" @@ -146,6 +152,10 @@ pkg_setup() { done linux-info_pkg_setup fi + if use tail-call-interp; then + tc-check-min_ver gcc 15 + tc-check-min_ver clang 19 + fi fi } @@ -367,6 +377,10 @@ src_configure() { # Hangs (actually runs indefinitely executing itself w/ many cpython builds) # bug #900429 -x test_tools + + # Test terminates abruptly which corrupts written profile data + # bug #964023 + -x test_pyrepl ) if has_version "app-arch/rpm" ; then diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc2.ebuild deleted file mode 100644 index 4084135224..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.0_rc2.ebuild +++ /dev/null @@ -1,632 +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 eapi9-ver flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig - -MY_PV=${PV/_/} -MY_P="Python-${MY_PV%_p*}" -PYVER=$(ver_cut 1-2) -PATCHSET="python-gentoo-patches-${MY_PV}_p1" - -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}" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -IUSE=" - bluetooth debug +ensurepip examples gdbm jit libedit +ncurses pgo - +readline +sqlite +ssl tail-call-interp test tk valgrind -" -REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -# Do not add a dependency on dev-lang/python to this ebuild. -# If you need to apply a patch which requires python for bootstrapping, please -# run the bootstrap code on your dev box and include the results in the -# patchset. See bug 447752. - -RDEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-arch/zstd:= - app-misc/mime-types - >=dev-libs/expat-2.1:= - dev-libs/libffi:= - dev-libs/mpdecimal:= - dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= - virtual/libintl - 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 - ) - 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} - ') - ) -" -if [[ ${PV} != *_alpha* ]]; then - RDEPEND+=" - dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] - " -fi -PDEPEND=" - ensurepip? ( dev-python/ensurepip-pip ) -" - -# 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 - - 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=( - # running gdb inside an ebuild as non-root, within sandbox, - # and possibly within a container is unreliable - -x test_gdb - # 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 - ) - ;; - mips*) - COMMON_TEST_SKIPS+=( - -x test_ctypes - -x test_external_inspection - -x test_statistics - ) - ;; - 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 - # 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-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 tail-call-interp) - $(use_with valgrind) - ) - - if tc-is-lto; then - 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 -} - -pkg_postinst() { - if ver_replacing -lt 3.14.0_beta3; then - ewarn "Python 3.14.0b3 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.14 modules, e.g. using:" - ewarn - ewarn " emerge -1v /usr/lib/python3.14/site-packages" - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild index 614bb3b9d7..11bbf0f3dd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.14.9999.ebuild @@ -47,7 +47,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild index 3cf7ef7ce8..21cd4d1869 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.0_alpha1.ebuild @@ -53,7 +53,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild index 36f2b24f15..35e0d5a570 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.15.9999.ebuild @@ -46,7 +46,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) kernel_linux? ( sys-apps/util-linux:= ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild index cbee6d5bda..052de353fd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.8.20_p7-r1.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23_p2.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23_p2.ebuild index d1493c0eaf..669020f55d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23_p2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.23_p2.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.24.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.24.ebuild index 919febbb52..64c6412b21 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.24.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.24.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild index 919febbb52..64c6412b21 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.25.ebuild @@ -48,7 +48,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] ) diff --git a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild index 39973c9fe4..9d95a8100c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-lang/python/python-3.9.9999.ebuild @@ -42,7 +42,7 @@ RDEPEND=" dev-libs/libffi:= dev-libs/mpdecimal:= dev-python/gentoo-common - >=sys-libs/zlib-1.1.3:= + >=virtual/zlib-1.1.3:= virtual/libcrypt:= virtual/libintl gdbm? ( sys-libs/gdbm:=[berkdb] )