summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin22145 -> 22137 bytes
-rw-r--r--dev-lang/algol68g/Manifest2
-rw-r--r--dev-lang/algol68g/algol68g-3.5.3.ebuild41
-rw-r--r--dev-lang/ispc/Manifest4
-rw-r--r--dev-lang/ispc/ispc-1.23.0.ebuild101
-rw-r--r--dev-lang/ispc/ispc-1.24.0.ebuild2
-rw-r--r--dev-lang/luau/Manifest2
-rw-r--r--dev-lang/luau/luau-0.630.ebuild38
-rw-r--r--dev-lang/python/Manifest2
-rw-r--r--dev-lang/python/python-3.13.0_beta2_p3.ebuild684
10 files changed, 771 insertions, 105 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 205a9c9e3f90..f58d40fdc582 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 f581745407da..603cabb8674a 100644
--- a/dev-lang/algol68g/Manifest
+++ b/dev-lang/algol68g/Manifest
@@ -1,6 +1,8 @@
AUX algol68g-3.3.21-configure-implicit.patch 236 BLAKE2B e59d1e65f6d1b83ac1bb43f00614d44ca13b0b2ad77fbc2da944b163487f679302e73d23bbe7d4adeb9a3168466bf38e53a38a3001b2e64725682f7e0edbbeac SHA512 11d9d38d98e210a2b20ef464ae365b4a1eab72befdb5daae15ad031cfda0d65f5d7134fe2c9c26d2929c172ebfef3acafd9072977c68a383784f2ccdefc41ff1
DIST algol68g-3.5.1.tar.gz 661670 BLAKE2B ec0aa47f367af621f3cf8ebad81bd501bac31238b4a918943917fec4d9f66cf57f98f5bd4c4c02d315a8f1ac2fd789aafb6e331289fac417abf9301a2a5d339d SHA512 764038c7db567d5fc130d4c324b74f43d7dbcfd89efb7b12b1a6983314a7e13f17e105fa783fb3397fff3773b69699ca3f5fd3be873229db9bf91582f7bf52f4
DIST algol68g-3.5.2.tar.gz 664147 BLAKE2B 894d19a01a68613b2d4f3f5aeb10e1a72a87b50ee044c7791880f2e1ac7ef067377e7790009d339941fea3f6c93a13b3d85aac907789fecb5b9044e493d7dcfe SHA512 3bd46d1034cd771086981bc2e2004cca199cf13e8840fb867d66fe8ac63af06bbc8976decd46dea1bec9b64b38bbdb878582c5244fcd893695da19a5f84d924f
+DIST algol68g-3.5.3.tar.gz 664147 BLAKE2B d7052104650fdbbed6014f7a1b01d7bc037d44061ebbf91a46abc6d7bab5865c94a254881bb3915e59676b0fee98dd378a1d90f5cd39ea2369433ad7c425ebb8 SHA512 64758bffaa3275b20ea6a078f1db0a29527030e5dd069fba03a1dc8b3c51c6dc8bb0ad53317c66aaf5904b4c3aed3246dc4edd6ee7a1f0a38c61def5c397c52c
EBUILD algol68g-3.5.1.ebuild 946 BLAKE2B 7826e7dd8c13921585c3056103f6ad3e241e1599e45ed7854fd1f2da334d057bd5c92d6178491387cbdf391b7bc3bda1d2f1ca1eb458a0eb2d1b4251157ef29d SHA512 509e4b99469fcf59a74871f4d5f28ec22d2b6ae6c361abfa9305ef666580f27154cd33ffa3c923df665229c581bb56d8a57f33d16dc0d0b546cf1509cf6f1d39
EBUILD algol68g-3.5.2.ebuild 947 BLAKE2B 87f8a18c197e751b44821dcf82b8c262d8430caa080e2f3a742771b583a94d99b6e072c109d7c66738dce198a03de3c3fecc8fac9f45a504b0d9508fa3d07688 SHA512 d2e9d150e89e830205f4a9f7c406c40ccce9399a89499f8757b0ff1e3651143333f2577b0a4eb6b388a706b14a884023f562bf4a0c018c41bd50cff9c52ac7a3
+EBUILD algol68g-3.5.3.ebuild 947 BLAKE2B 87f8a18c197e751b44821dcf82b8c262d8430caa080e2f3a742771b583a94d99b6e072c109d7c66738dce198a03de3c3fecc8fac9f45a504b0d9508fa3d07688 SHA512 d2e9d150e89e830205f4a9f7c406c40ccce9399a89499f8757b0ff1e3651143333f2577b0a4eb6b388a706b14a884023f562bf4a0c018c41bd50cff9c52ac7a3
MISC metadata.xml 665 BLAKE2B 2b9b283f86666d64dd77164c5afb0d76403c63f9f0dfac3170eb2ade95bcc382b09d14248cb720edf7c1b055e78ca5ca0017b6784caf4381d970a011301058bd SHA512 b3171d505f9f9e4dcdd5b5a0c6d302849fa017538402832dd3db205c48c68a39867089aae4d1f3c158a45bfc170b21f83789cba16511f251d70300020e102b0a
diff --git a/dev-lang/algol68g/algol68g-3.5.3.ebuild b/dev-lang/algol68g/algol68g-3.5.3.ebuild
new file mode 100644
index 000000000000..6689c5616025
--- /dev/null
+++ b/dev-lang/algol68g/algol68g-3.5.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Algol 68 Genie compiler-interpreter"
+HOMEPAGE="https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html"
+SRC_URI="https://jmvdveer.home.xs4all.nl/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl +gsl +mpfr +ncurses plotutils postgres +readline"
+
+RDEPEND="
+ curl? ( net-misc/curl )
+ gsl? ( sci-libs/gsl:= )
+ mpfr? ( dev-libs/mpfr:= )
+ plotutils? ( media-libs/plotutils )
+ postgres? ( dev-db/postgresql:* )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}/${PN}-3.3.21-configure-implicit.patch" )
+
+src_configure() {
+ local -a myconf=(
+ $(use_enable curl)
+ $(use_enable gsl)
+ $(use_enable mpfr)
+ $(use_enable ncurses curses)
+ $(use_enable plotutils)
+ $(use_enable postgres postgresql)
+ $(use_enable readline)
+ $(use_with ncurses)
+ )
+ econf "${myconf[@]}"
+}
diff --git a/dev-lang/ispc/Manifest b/dev-lang/ispc/Manifest
index a7ae68b8ce98..1833ff25eda6 100644
--- a/dev-lang/ispc/Manifest
+++ b/dev-lang/ispc/Manifest
@@ -1,5 +1,3 @@
-DIST ispc-1.23.0.gh.tar.gz 19624959 BLAKE2B 08cf817bdd4cd76121dd6c9586ef5f3f9296e7a3b509c51db6413fb62aee0b462ae8baa9fd9497b20c67d4df90149eba16a48b61dd8793c5b64c95a21b13e5d8 SHA512 34cd2572cdaf38f7911ffe52dfb7346f1607de1f81635bdf94e365dee810b30ddeb090eee4a592d9331bb051498172bfd868cd8de9c38bed388d7207a30ac0d8
DIST ispc-1.24.0.gh.tar.gz 19674211 BLAKE2B 246a079f03fa17f1ab4d80c55b992e92f44d5395e3f1feadee90c773771496ead4de0671b3869c70d5a93038d7c0ccaf9ed3ad5b5e40eb156d605a73150b15d9 SHA512 ad9feab1b5986471a52c775c1220ae46904ae952b33a14299f525eb03e004c6e1395dd171ddedee833892d57ad195ffddb234b26a2df42138fb1b2364b62803e
-EBUILD ispc-1.23.0.ebuild 2305 BLAKE2B 522905c18bb87d34e244f1e5a956291ac2fafc1d8d5331fca62c2152d60d6458a0932079b3576d69ab6e23822520d8c0a62212ecd93e1341e99eac8dc5838498 SHA512 5aafda25901eaacc4706e23b2ca05db4f4debaa6b64076be1df1b0ef54111f935aaeb2db7056934e1281f979e70683a3c2bbe00696a7f8164ca97015d28d9b8c
-EBUILD ispc-1.24.0.ebuild 2312 BLAKE2B 877c7ee9de0203f5880dd3fa627a4cab0189bedc8282c90e62f13a180f6b4adaf4e67a985bfb509536c7610a231c1b09e229ad155e87fe6f7f14979d3b2f8dcc SHA512 959e92cc3270f552ff302dfec4212a9b91a72463d49ea42fe3a852af110e972e6521e0431d613dfbb01e22c40534a179212136b1fc749d1bfd0a6cba09432488
+EBUILD ispc-1.24.0.ebuild 2311 BLAKE2B 210ae5d45f251430ff3309178ab00fd408c01a008dd35f189c0a8b81ce92479525d5f5a3c66031e824216d579c7a1a99c637fd9e78e2933f956c692fe66351f8 SHA512 9030944ba7d885493600e6986e30beb07141a4ff34e6e0c8157de5995684f6eadb9a8ab81fb607aae45a80a8a224ce06df7d490169bddf9cf22997adc71b8ce3
MISC metadata.xml 509 BLAKE2B b605dfbff352fab4fcc58ad46f89f97d5db8522de237a0623021c521231798ad00b2b8cd82ce6840d86cfebbe185e6e767e8d0ec276b03a68554ecad20e6b96d SHA512 eae5fcfb0d56190f969ac83012624965b00bd757d8be0bbafce74ab1ea119dc4ee0c33076dd447fabf0a6a6d5f1e2783b54f6c59ebd7aa0a35a4a27df7db01f9
diff --git a/dev-lang/ispc/ispc-1.23.0.ebuild b/dev-lang/ispc/ispc-1.23.0.ebuild
deleted file mode 100644
index 0bf8808f4f97..000000000000
--- a/dev-lang/ispc/ispc-1.23.0.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( 17 )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake llvm-r1 multiprocessing python-any-r1 toolchain-funcs
-
-DESCRIPTION="Intel SPMD Program Compiler"
-HOMEPAGE="
- https://ispc.github.io/
- https://github.com/ispc/ispc/
-"
-SRC_URI="
- https://github.com/ispc/ispc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD BSD-2 UoI-NCSA"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="examples gpu openmp test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- $(llvm_gen_dep '
- sys-devel/clang:${LLVM_SLOT}
- ')
- sys-libs/ncurses:=
- gpu? ( dev-libs/level-zero:= )
- !openmp? ( dev-cpp/tbb:= )
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-alternatives/yacc
- app-alternatives/lex
- ${PYTHON_DEPS}
-"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- llvm-r1_pkg_setup
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- if use amd64; then
- # On amd64 systems, build system enables x86/i686 build too.
- # This ebuild doesn't even have multilib support, nor need it.
- # https://bugs.gentoo.org/730062
- einfo "Removing auto-x86 build on amd64"
- sed -i -e 's:set(target_arch "i686"):return():' cmake/GenerateBuiltins.cmake || die
- fi
-
- # do not require bundled gtest
- mkdir -p ispcrt/tests/vendor/google/googletest || die
- cat > ispcrt/tests/vendor/google/googletest/CMakeLists.txt <<-EOF || die
- find_package(GTest)
- EOF
- # remove hacks that break unbundling
- sed -i -e '/gmock/d' -e '/install/,$d' ispcrt/tests/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DARM_ENABLED=$(usex arm)
- -DCMAKE_SKIP_RPATH=ON
- -DISPC_INCLUDE_EXAMPLES=OFF
- -DISPC_INCLUDE_TESTS=$(usex test)
- -DISPC_INCLUDE_UTILS=OFF
- -DISPCRT_BUILD_GPU=$(usex gpu)
- -DISPCRT_BUILD_TASK_MODEL=$(usex openmp OpenMP TBB)
- )
- cmake_src_configure
-}
-
-src_test() {
- # Inject path to prevent using system ispc
- local -x PATH="${BUILD_DIR}/bin:${PATH}"
- "${EPYTHON}" ./run_tests.py "-j$(makeopts_jobs)" -v ||
- die "Testing failed under ${EPYTHON}"
-}
-
-src_install() {
- cmake_src_install
-
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- fi
-}
diff --git a/dev-lang/ispc/ispc-1.24.0.ebuild b/dev-lang/ispc/ispc-1.24.0.ebuild
index 0040707fe672..9c93989e4624 100644
--- a/dev-lang/ispc/ispc-1.24.0.ebuild
+++ b/dev-lang/ispc/ispc-1.24.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD BSD-2 UoI-NCSA"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="examples gpu openmp test"
RESTRICT="!test? ( test )"
diff --git a/dev-lang/luau/Manifest b/dev-lang/luau/Manifest
index 084a2d19adb0..b23131190300 100644
--- a/dev-lang/luau/Manifest
+++ b/dev-lang/luau/Manifest
@@ -1,3 +1,5 @@
DIST luau-0.618.tar.gz 1672989 BLAKE2B ecd166a9562aa103d27e29154687548bce04e45c9810b4aa264fe6eb38e3c2077a9cd4c61f138af62c605580c477b382fd2612616a3638a5a708c3d315011a12 SHA512 9fb6aa39ff2ad92a90afefb77ede472a2fb8a99417a669a1e19774a5550ca79709c034f353b459780f07f406dcac1b83639fb4fcd31215d811df491851fc1a6c
+DIST luau-0.630.tar.gz 1736333 BLAKE2B 205d5575b97007108ebf197ff1bfd9d94c3c3f116ba2c1f8068ef9762b30e211973d5da458f261223647fc725bad926fa9406070d95220d390b9e5ecaabf75af SHA512 9f8290a11abe5e9c91eaf5c9c71b940d4ca2bd6a730a2fc6e9cb830e9f7bf6d87a29cb8e71268ed1fe5af0e01738e7e15fbe2a14d81c32e7c76961d146c1128c
EBUILD luau-0.618.ebuild 776 BLAKE2B 6ddab7faf06aab3a3d4f04b8945074e342458df741b3e37e6555b9ebdc019db26541bb75080028292bc233520b58f23d50a872e31e0c7f5a3f3ed0ab092dab9b SHA512 147029f8a5c01e58b390efc9c961cb323ea089b39907f15b6830999b0fc1c90adaddf7a4da86aa6fc8caa51719fda2c034504485b50bd95bb793870c9694651c
+EBUILD luau-0.630.ebuild 777 BLAKE2B c5f16047056f2cfe0a8d1b4373f41b27a6929fe0a789cfee41cb9199921cc3eadf1c67296624bf9a831884f062e4acc6caa988c15fb45b3079b7736cf9a2dff4 SHA512 64d8b22353719b73411b324aac8d18beb584605c935fa6b4a3e01839d625c4f51265ed042489ca486bf8d07d54d3f41759128cb77e43fe6bcb601afef4ed3a99
MISC metadata.xml 1077 BLAKE2B 922b79785db23ac7301e2e7a0c66834ae4ccb42466c87b92bd4d9db821830c307fac2192d0010ef224ef64fd83e80a62d47b29f9118432f70ed2340ec9bf49c5 SHA512 7d334c02c73ddc2628a5bebf598d79e9216eb5e4195905ba3a38453261cb25f240b41903042a0fdaad7453ed3cfd04ed2ba382746f38c25036095b019ea4b286
diff --git a/dev-lang/luau/luau-0.630.ebuild b/dev-lang/luau/luau-0.630.ebuild
new file mode 100644
index 000000000000..ff2804b115f7
--- /dev/null
+++ b/dev-lang/luau/luau-0.630.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Gradually typed embeddable scripting language derived from Lua"
+HOMEPAGE="https://luau-lang.org/
+ https://github.com/luau-lang/luau/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/luau-lang/${PN}.git"
+else
+ SRC_URI="https://github.com/luau-lang/${PN}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+DOCS=( CONTRIBUTING.md README.md SECURITY.md )
+
+src_test() {
+ "${BUILD_DIR}/Luau.UnitTest" || die
+ "${BUILD_DIR}/Luau.Conformance" || die
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe "${BUILD_DIR}"/luau{,-analyze,-ast,-compile,-reduce}
+
+ einstalldocs
+}
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index e9c2e6f46794..938658bd00d1 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -29,6 +29,7 @@ DIST python-gentoo-patches-3.13.0b1_p2.tar.xz 9300 BLAKE2B 63179b01623c6677363c4
DIST python-gentoo-patches-3.13.0b1_p3.tar.xz 11056 BLAKE2B ef932bac59d2316ee8fe638a3d34ce247ff587915546038627674cd4c03179998a58336f8ebae45f1fcc94c8059d61ff6f22693f25ace1462bce275f50bfb48f SHA512 956e3da7376d60d7a593af50fff9842016a3b193180e93ab8298756c9eedfb2aaf8c1287bb75111e6340b5bac20a12dcb00ef51ecf0e12ef9ae5c98202fb071b
DIST python-gentoo-patches-3.13.0b2.tar.xz 5276 BLAKE2B 047e0362c328ca7545d7b0a86476f95eeecb381b979284a779788c451000e9fe0e1d31461865cd8f818be203b72404f9d810e5baf479a89c6dccc6db7501719a SHA512 43d3ef8e558309d2d93ce6d473eaecfc5359515067a861303b0f085eeb741265d4d071112dcaf55c0d38707c27df35398d3e6310fc1e522debeaaa1e5e8b55b4
DIST python-gentoo-patches-3.13.0b2_p1.tar.xz 9300 BLAKE2B 1aad8a19a5c237dc0dd67dd3f83116009e1d78f0e3d63780c463e418f22b5f1a4d50035fff8a80ac24b4d5fbcac281fc766fd3e86428d3c3041b5df3f5a518fc SHA512 bc09bdd4bc9716c83d580307af6d30f149894912ad2dbbf02274c88be82f67653aada0a8d16199d85418b1237ecff7c5e41352c759a31b807e7011089ebbbc20
+DIST python-gentoo-patches-3.13.0b2_p3.tar.xz 10216 BLAKE2B ecc5c82ab17a4874ac8f8694fd76bd9401926a164c8ba38578da3c153138921463d07788e5bbcd5a87bc1d31703c4f06b193003bdb098ff6f07ff93178299113 SHA512 79d19cad2b497a315ecd923e995a99b22b132fb13239592ab73716ff1c799da8d371106f57f597eac44a5958d13e5bc7ce4c8bf4c160b6b219ad59b23da99298
DIST python-gentoo-patches-3.8.19_p1.tar.xz 35008 BLAKE2B 8771e3a2329577659a4ff64987f2500b7dc4f07f78677b823c8f11e7a9e7fc0369cc127e6ad1f1000986937b7811467bd22ba02129a754246658f99b7219a4a7 SHA512 470c125e8df23c1db358c2f7bbf5ac3b28e76fb843364f7fd5aa2fd399ac9b01a2ddfc2c1765f91236c71712941d19f273fb21f960239f79a0263b5b47081d46
DIST python-gentoo-patches-3.8.19_p2.tar.xz 35524 BLAKE2B a6b81e6ae907b60eea676cb65a9c693e62453dc44616baaadb294c5782a195c20eff6c2869b38ea110fe06e9e511468f4ab0c3d1811b16e0ab2833f9dc09b25b SHA512 9944c330b6062c2ac6e13fcfbc1c8835dfd078f6744cdfbc03ba787ae97c08bdae559cefadafe9dfe9be9c31f8c15ee895599b266d870f73c06a2f4b15c78dc3
DIST python-gentoo-patches-3.9.19_p2.tar.xz 27684 BLAKE2B a69f00548c153da7b13dfeccb332d3d67ecf649fb5ae054590492f3e2fc2c84b78ebaf90bcf9738157c9022778e5bf2a6b4fb6a99e996dcb63859dcf6f84af23 SHA512 552a5f2d89307d4193d76df5a2cf1deb4bd5c8ad9ec81e6768987f1649f6571a318e68b92d8f8ecdba12bfe9c5f1a427a4cc577e6aaebf7748027cc50e412804
@@ -47,6 +48,7 @@ EBUILD python-3.13.0_beta1_p2.ebuild 16998 BLAKE2B 5b554cedf13960c02c8fb5b597a29
EBUILD python-3.13.0_beta1_p3.ebuild 17690 BLAKE2B 02720e230d6a720a3d3dfb9f2aa91fc18d062e9ded12996cfbe1c51b400694230498940b3c4c6e2ce59c5567f07b87250cbe6218891efdd3954d5b7beb2d825c SHA512 3f4adf9634987853637e5d1121f8b6248106f00f4c1a585df22d6d5babe4062392c4187bc91a697647f6071a71bfaed81674e569b3c517a449ae81ed2abe6bbd
EBUILD python-3.13.0_beta2.ebuild 17690 BLAKE2B 02720e230d6a720a3d3dfb9f2aa91fc18d062e9ded12996cfbe1c51b400694230498940b3c4c6e2ce59c5567f07b87250cbe6218891efdd3954d5b7beb2d825c SHA512 3f4adf9634987853637e5d1121f8b6248106f00f4c1a585df22d6d5babe4062392c4187bc91a697647f6071a71bfaed81674e569b3c517a449ae81ed2abe6bbd
EBUILD python-3.13.0_beta2_p1.ebuild 17690 BLAKE2B 02720e230d6a720a3d3dfb9f2aa91fc18d062e9ded12996cfbe1c51b400694230498940b3c4c6e2ce59c5567f07b87250cbe6218891efdd3954d5b7beb2d825c SHA512 3f4adf9634987853637e5d1121f8b6248106f00f4c1a585df22d6d5babe4062392c4187bc91a697647f6071a71bfaed81674e569b3c517a449ae81ed2abe6bbd
+EBUILD python-3.13.0_beta2_p3.ebuild 17690 BLAKE2B 02720e230d6a720a3d3dfb9f2aa91fc18d062e9ded12996cfbe1c51b400694230498940b3c4c6e2ce59c5567f07b87250cbe6218891efdd3954d5b7beb2d825c SHA512 3f4adf9634987853637e5d1121f8b6248106f00f4c1a585df22d6d5babe4062392c4187bc91a697647f6071a71bfaed81674e569b3c517a449ae81ed2abe6bbd
EBUILD python-3.8.19_p1.ebuild 12170 BLAKE2B bb93535f4876869a58622df01f0c4d4ee4eead693604b9b195965d67933760e3911ab983b4cf1f75f5548b3b228b3353405b4e9029f1434e0e6a91bd01a00fee SHA512 69afe727c59cdb5f8a64c6d6c11ab45c28c8eefad53355d933558573fcdd8dbb6c69f658c5f8f85068bd42200a6f067ed85761afbe3260f45b77874b6761484c
EBUILD python-3.8.19_p2.ebuild 12225 BLAKE2B b39ffe181bfd0928056b9d4463795279ce41a64c2cd8ef2829ec3aeb7093de9b2514d0c2d54fd877f83581b30d659f295cafa6cda88bf4aa68378ce0d1ca75b2 SHA512 b810c88c716b7f71f9c0875cd63da5dda4894f743880432a1d07be42c5fa62a412f51217a3f4003019405791008e9be0e9b43a5d722b98fcb67131283ded9ea3
EBUILD python-3.9.19_p2.ebuild 13620 BLAKE2B 25ef087c8e4fccf9d2e52fb7b4ba08f3cfe6582d40ab820289a069f54cd06ab2b7a1ec20ff16283485834e73dca0651136d4206bf2ad7b6bbd316542d5ed82fd SHA512 98a73032aad45f9ca6058f7dcd88617554afb1083149b877a858d62d2f4085fdb675b9a22bbf7f08d0029dc6ef0bc1ad2f31c747b5800a65bb4a6b933c85e8d3
diff --git a/dev-lang/python/python-3.13.0_beta2_p3.ebuild b/dev-lang/python/python-3.13.0_beta2_p3.ebuild
new file mode 100644
index 000000000000..792927c05468
--- /dev/null
+++ b/dev-lang/python/python-3.13.0_beta2_p3.ebuild
@@ -0,0 +1,684 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+LLVM_COMPAT=( 18 )
+LLVM_OPTIONAL=1
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing
+inherit pax-utils python-utils-r1 toolchain-funcs verify-sig
+
+MY_PV=${PV/_beta/b}
+MY_P="Python-${MY_PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${MY_PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="
+ https://www.python.org/
+ https://github.com/python/cpython/
+"
+SRC_URI="
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
+ )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="PSF-2"
+SLOT="${PYVER}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="
+ bluetooth build +debug +ensurepip examples gdbm +gil jit
+ libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
+"
+REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# Do not add a dependency on dev-lang/python to this ebuild.
+# If you need to apply a patch which requires python for bootstrapping, please
+# run the bootstrap code on your dev box and include the results in the
+# patchset. See bug 447752.
+
+RDEPEND="
+ app-arch/bzip2:=
+ app-arch/xz-utils:=
+ app-crypt/libb2
+ >=dev-libs/expat-2.1:=
+ dev-libs/libffi:=
+ dev-libs/mpdecimal:=
+ dev-python/gentoo-common
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ ensurepip? ( dev-python/ensurepip-pip )
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ kernel_linux? ( sys-apps/util-linux:= )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? (
+ !libedit? ( >=sys-libs/readline-4.1:= )
+ libedit? ( dev-libs/libedit:= )
+ )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( >=dev-libs/openssl-1.1.1:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+"
+# bluetooth requires headers from bluez
+DEPEND="
+ ${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? (
+ app-arch/xz-utils
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ )
+ valgrind? ( dev-debug/valgrind )
+"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ dev-build/autoconf-archive
+ app-alternatives/awk
+ virtual/pkgconfig
+ jit? (
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ )
+ verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 )
+"
+RDEPEND+="
+ !build? ( app-misc/mime-types )
+"
+if [[ ${PV} != *_alpha* ]]; then
+ RDEPEND+="
+ dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
+ "
+fi
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+QA_PKGCONFIG_VERSION=${PYVER}
+# false positives -- functions specific to *BSD
+QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags )
+
+pkg_pretend() {
+ use test && check-reqs_pkg_pretend
+
+ if ! use gil || use jit; then
+ ewarn "USE=-gil and USE=jit flags are considered experimental upstream. Using"
+ ewarn "them could lead to unexpected breakage, including race conditions"
+ ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless"
+ ewarn "you can reproduce the problem with dev-lang/python[gil,-jit]. Instead,"
+ ewarn "please consider reporting freethreading / JIT problems upstream."
+ fi
+}
+
+pkg_setup() {
+ use jit && llvm-r1_pkg_setup
+ use test && check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
+ fi
+ default
+}
+
+src_prepare() {
+ # Ensure that internal copies of expat and libffi are not used.
+ # TODO: Makefile has annoying deps on expat headers
+ #rm -r Modules/expat || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ # force the correct number of jobs
+ # https://bugs.gentoo.org/737660
+ sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die
+
+ # breaks tests when using --with-wheel-pkg-dir
+ rm -r Lib/test/wheeldata || die
+
+ eautoreconf
+}
+
+build_cbuild_python() {
+ # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181
+ local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi)
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ #
+ # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway)
+ local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto"
+ local -x LDFLAGS_NODIST=${BUILD_LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+ local -x BUILD_CFLAGS="${CFLAGS_NODIST}"
+ local -x BUILD_LDFLAGS=${LDFLAGS_NODIST}
+
+ # We need to build our own Python on CBUILD first, and feed it in.
+ # bug #847910
+ local myeconfargs_cbuild=(
+ "${myeconfargs[@]}"
+
+ --prefix="${BROOT}"/usr
+ --libdir="${cbuild_libdir:2}"
+
+ # Avoid needing to load the right libpython.so.
+ --disable-shared
+
+ # As minimal as possible for the mini CBUILD Python
+ # we build just for cross to satisfy --with-build-python.
+ --without-lto
+ --without-readline
+ --disable-optimizations
+ )
+
+ mkdir "${WORKDIR}"/${P}-${CBUILD} || die
+ pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
+
+ # Avoid as many dependencies as possible for the cross build.
+ mkdir Modules || die
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ _dbm _gdbm
+ _sqlite3
+ _hashlib _ssl
+ _curses _curses_panel
+ readline
+ _tkinter
+ pyexpat
+ zlib
+ # We disabled these for CBUILD because Python's setup.py can't handle locating
+ # libdir correctly for cross. This should be rechecked for the pure Makefile approach,
+ # and uncommented if needed.
+ #_ctypes _crypt
+ EOF
+
+ ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
+
+ # Unfortunately, we do have to build this immediately, and
+ # not in src_compile, because CHOST configure for Python
+ # will check the existence of the --with-build-python value
+ # immediately.
+ emake
+ popd &> /dev/null || die
+}
+
+src_configure() {
+ # disable automagic bluetooth headers detection
+ if ! use bluetooth; then
+ local -x ac_cv_header_bluetooth_bluetooth_h=no
+ fi
+
+ append-flags -fwrapv
+ filter-flags -malign-double
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ # PKG_CONFIG needed for cross.
+ tc-export CXX PKG_CONFIG
+
+ local dbmliborder=
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ # Set baseline test skip flags.
+ COMMON_TEST_SKIPS=(
+ # failures
+ -x test_concurrent_futures
+ -x test_gdb
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ COMMON_TEST_SKIPS+=(
+ -x test_builtin
+ -x test_capi
+ -x test_cmath
+ -x test_float
+ # timeout
+ -x test_free_threading
+ -x test_math
+ -x test_numeric_tower
+ -x test_random
+ -x test_statistics
+ # bug 653850
+ -x test_resource
+ -x test_strtod
+ )
+ ;;
+ ia64*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ )
+ ;;
+ mips*)
+ COMMON_TEST_SKIPS+=(
+ -x test_ctypes
+ -x test_external_inspection
+ -x test_statistics
+ )
+ ;;
+ powerpc64-*) # big endian
+ COMMON_TEST_SKIPS+=(
+ -x test_descr
+ )
+ ;;
+ riscv*)
+ COMMON_TEST_SKIPS+=(
+ -x test_urllib2
+ )
+ ;;
+ sparc*)
+ COMMON_TEST_SKIPS+=(
+ # bug 788022
+ -x test_multiprocessing_fork
+ -x test_multiprocessing_forkserver
+
+ -x test_ctypes
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && COMMON_TEST_SKIPS+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if use pgo; then
+ local profile_task_flags=(
+ -m test
+ "-j$(makeopts_jobs)"
+ --pgo-extended
+ --verbose3
+ -u-network
+
+ # We use a timeout because of how often we've had hang issues
+ # here. It also matches the default upstream PROFILE_TASK.
+ --timeout 1200
+
+ "${COMMON_TEST_SKIPS[@]}"
+
+ -x test_dtrace
+
+ # All of these seem to occasionally hang for PGO inconsistently
+ # They'll even hang here but be fine in src_test sometimes.
+ # bug #828535 (and related: bug #788022)
+ -x test_asyncio
+ -x test_httpservers
+ -x test_logging
+ -x test_multiprocessing_fork
+ -x test_socket
+ -x test_xmlrpc
+
+ # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
+ # bug #900429
+ -x test_tools
+
+ # Fails in profiling run, passes in src_test().
+ -x test_capi
+ )
+
+ # Arch-specific skips. See #931888 for a collection of these.
+ case ${CHOST} in
+ alpha*)
+ profile_task_flags+=(
+ -x test_os
+ )
+ ;;
+ hppa*)
+ profile_task_flags+=(
+ -x test_descr
+ # bug 931908
+ -x test_exceptions
+ -x test_os
+ )
+ ;;
+ ia64*)
+ profile_task_flags+=(
+ -x test_signal
+ )
+ ;;
+ powerpc64-*) # big endian
+ profile_task_flags+=(
+ # bug 931908
+ -x test_exceptions
+ )
+ ;;
+ riscv*)
+ profile_task_flags+=(
+ -x test_statistics
+ )
+ ;;
+ esac
+
+ # musl-specific skips
+ use elibc_musl && profile_task_flags+=(
+ # various musl locale deficiencies
+ -x test__locale
+ -x test_c_locale_coercion
+ -x test_locale
+ -x test_re
+
+ # known issues with find_library on musl
+ # https://bugs.python.org/issue21622
+ -x test_ctypes
+
+ # fpathconf, ttyname errno values
+ -x test_os
+ )
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ profile_task_flags+=(
+ -x test_distutils
+ )
+ fi
+ local -x PROFILE_TASK="${profile_task_flags[*]}"
+ fi
+
+ local myeconfargs=(
+ # glibc-2.30 removes it; since we can't cleanly force-rebuild
+ # Python on glibc upgrade, remove it proactively to give
+ # a chance for users rebuilding python before glibc
+ ac_cv_header_stropts_h=no
+
+ --enable-shared
+ --without-static-libpython
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --without-lto
+ --with-system-expat
+ --with-system-libmpdec
+ --with-platlibdir=lib
+ --with-pkg-config=yes
+ --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
+
+ $(use_with debug assertions)
+ $(use_enable gil)
+ $(use_enable jit experimental-jit)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ $(use_with valgrind)
+ )
+
+ # https://bugs.gentoo.org/700012
+ if tc-is-lto; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ myeconfargs+=(
+ --with-lto
+ )
+ fi
+
+ # Force-disable modules we don't want built.
+ # See Modules/Setup for docs on how this works. Setup.local contains our local deviations.
+ cat > Modules/Setup.local <<-EOF || die
+ *disabled*
+ nis
+ $(usev !gdbm '_gdbm _dbm')
+ $(usev !sqlite '_sqlite3')
+ $(usev !ssl '_hashlib _ssl')
+ $(usev !ncurses '_curses _curses_panel')
+ $(usev !readline 'readline')
+ $(usev !tk '_tkinter')
+ EOF
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+
+ if tc-is-cross-compiler ; then
+ build_cbuild_python
+ myeconfargs+=(
+ # Point the imminent CHOST build to the Python we just
+ # built for CBUILD.
+ --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
+ )
+ fi
+
+ # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
+ # propagated to sysconfig for built extensions
+ local -x CFLAGS_NODIST=${CFLAGS}
+ local -x LDFLAGS_NODIST=${LDFLAGS}
+ local -x CFLAGS= LDFLAGS=
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ if use ncurses; then
+ append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
+ eerror "configure has detected that the sem_open function is broken."
+ eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
+ die "Broken sem_open function (bug 496328)"
+ fi
+
+ # install epython.py as part of stdlib
+ echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ export PYTHONSTRICTEXTENSIONBUILD=1
+
+ # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
+ # end up writing bytecode & violating sandbox.
+ # bug #831897
+ local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # Restore saved value from above.
+ local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
+
+ # Work around bug 329499. See also bug 413751 and 457194.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E python
+ else
+ pax-mark m python
+ fi
+}
+
+src_test() {
+ # Tests will not work when cross compiling.
+ if tc-is-cross-compiler; then
+ elog "Disabling tests due to crosscompiling."
+ return
+ fi
+
+ # this just happens to skip test_support.test_freeze that is broken
+ # without bundled expat
+ # TODO: get a proper skip for it upstream
+ local -x LOGNAME=buildbot
+
+ local test_opts=(
+ --verbose3
+ -u-network
+ -j "$(makeopts_jobs)"
+ "${COMMON_TEST_SKIPS[@]}"
+ )
+
+ # workaround docutils breaking tests
+ cat > Lib/docutils.py <<-EOF || die
+ raise ImportError("Thou shalt not import!")
+ EOF
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite "/usr/lib/python${PYVER}/site-packages"
+
+ nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local ret=${?}
+
+ rm Lib/docutils.py || die
+
+ [[ ${ret} -eq 0 ]] || die "emake test failed"
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ # the Makefile rules are broken
+ # https://github.com/python/cpython/issues/100221
+ mkdir -p "${libdir}"/lib-dynload || die
+
+ # -j1 hack for now for bug #843458
+ emake -j1 DESTDIR="${D}" altinstall
+
+ # Fix collisions between different slots of Python.
+ rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
+
+ # Cheap hack to get version with ABIFLAGS
+ local abiver=$(cd "${ED}/usr/include"; echo python*)
+ if [[ ${abiver} != python${PYVER} ]]; then
+ # Replace python3.X with a symlink to python3.Xm
+ rm "${ED}/usr/bin/python${PYVER}" || die
+ dosym "${abiver}" "/usr/bin/python${PYVER}"
+ # Create python3.X-config symlink
+ dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
+ # Create python-3.5m.pc symlink
+ dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
+ fi
+
+ # python seems to get rebuilt in src_install (bug 569908)
+ # Work around it for now.
+ if has_version dev-libs/libffi[pax-kernel]; then
+ pax-mark E "${ED}/usr/bin/${abiver}"
+ else
+ pax-mark m "${ED}/usr/bin/${abiver}"
+ fi
+
+ rm -r "${libdir}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${libdir}"/ensurepip || die
+ fi
+ if ! use sqlite; then
+ rm -r "${libdir}/"sqlite3 || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}/usr/bin/idle${PYVER}" || die
+ rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+ fi
+
+ ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die
+
+ dodoc Misc/{ACKS,HISTORY,NEWS}
+
+ if use examples; then
+ docinto examples
+ find Tools -name __pycache__ -exec rm -fr {} + || die
+ dodoc -r Tools
+ fi
+ insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
+ local libname=$(
+ printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
+ emake --no-print-directory -s -f - 2>/dev/null
+ )
+ newins Tools/gdb/libpython.py "${libname}"-gdb.py
+
+ newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
+ newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
+ sed \
+ -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
+ -e "s:@PYDOC@:pydoc${PYVER}:" \
+ -i "${ED}/etc/conf.d/pydoc-${PYVER}" \
+ "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+ # python-exec wrapping support
+ local pymajor=${PYVER%.*}
+ local EPYTHON=python${PYVER}
+ local scriptdir=${D}$(python_get_scriptdir)
+ mkdir -p "${scriptdir}" || die
+ # python and pythonX
+ ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+ ln -s "python${pymajor}" "${scriptdir}/python" || die
+ # python-config and pythonX-config
+ # note: we need to create a wrapper rather than symlinking it due
+ # to some random dirname(argv[0]) magic performed by python-config
+ cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+ #!/bin/sh
+ exec "${abiver}-config" "\${@}"
+ EOF
+ chmod +x "${scriptdir}/python${pymajor}-config" || die
+ ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+ # pydoc
+ ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+ fi
+}
+
+pkg_postinst() {
+ local v
+ for v in ${REPLACING_VERSIONS}; do
+ if ver_test "${v}" -lt 3.11.0_beta4-r2; then
+ ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
+ ewarn "installed previously are no longer valid and will be regenerated"
+ ewarn "(or ignored) on the next import. This may cause sandbox failures"
+ ewarn "when installing some packages and checksum mismatches when removing"
+ ewarn "old versions. To actively prevent this, rebuild all packages"
+ ewarn "installing Python 3.11 modules, e.g. using:"
+ ewarn
+ ewarn " emerge -1v /usr/lib/python3.11/site-packages"
+ fi
+ done
+}