diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-05-08 18:51:38 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2024-05-08 18:51:38 +0000 |
commit | 48b32272f42ed9f177467ee9198be096e27c1fad (patch) | |
tree | 2d545aa57d9da22eaba7c16aadf03e10f7b81024 | |
parent | 2024-05-08 18:18:44 UTC (diff) | |
parent | dev-util/qbs: prevent auto-selecting Qt version (diff) | |
download | gentoo-48b32272f42ed9f177467ee9198be096e27c1fad.tar.gz gentoo-48b32272f42ed9f177467ee9198be096e27c1fad.tar.bz2 gentoo-48b32272f42ed9f177467ee9198be096e27c1fad.zip |
Merge updates from master
58 files changed, 800 insertions, 80 deletions
diff --git a/app-portage/gpyutils/files/implementations.txt b/app-portage/gpyutils/files/implementations.txt index 17f2119d1046..b5877cbf0676 100644 --- a/app-portage/gpyutils/files/implementations.txt +++ b/app-portage/gpyutils/files/implementations.txt @@ -22,6 +22,7 @@ python3_9 dead 3.9 python3_10 supported 3.10 python3_11 current 3.11 python3_12 supported 3.12 +python3_13 experimental 3.13 pypy1_8 2.7-pypy-1.8 dead p1.8 pypy1_9 2.7-pypy-1.9 dead p1.9 diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 1c16998ded53..72c822f15197 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -8,6 +8,8 @@ DIST Python-3.12.3.tar.xz 20625068 BLAKE2B fc4f57ae50183db4c8cb37d94c37a7e58da5d DIST Python-3.12.3.tar.xz.asc 963 BLAKE2B f9668dde210793f8da0e0bb026b8ec3e0b4bc3abc58e72732f8faf356b19ca88a59b9d89b4b10f77b3602d9a967f0f2f44a0f091d698bc28ba9bad8049e5e006 SHA512 c291ec5b5e4f8deba867cc517624dd9a174745f04061ef737e58f3d52b9b30318264aec350e339fe88ccb493809ca1a90a378e86d86b8ec4a4f578b1a5843624 DIST Python-3.13.0a6.tar.xz 20890000 BLAKE2B 3a08003be366d78c8e3f7d45440bb23a6c9fb1228a31212b1585d1ab1129a6e252e852f8bd300c13d45ccaa0988f6f5de2a067b4a0c9583be10da4c20ceffa74 SHA512 6e999c718cdfede4abc52297aae7160a2864424e8f49a47321fa822d40c331a3d061a0982e355351a0c4bea40e9b1ec3832d76a7f4b6b3986b62fca2757f0ca1 DIST Python-3.13.0a6.tar.xz.asc 963 BLAKE2B 8f221fbba5f92a0468d2c28418b4d02037a59d4177e3e96f339a67376d0335df9ca23294e63d5ef4ef926bf7deafb2f8a458e740281429b0a648bd087b4e99a4 SHA512 1ec2abe8198a5fbd98490274bed7e84b48fcfc6ff25fcb474455d9f33b62673cfb7cf4939b304684aed005975d166143cb644b9a3e484d25de3dacb869de0131 +DIST Python-3.13.0b1.tar.xz 21054240 BLAKE2B fba108b2971fe188a05340753a48379c9a829ce680f13dc50d95d889ef5ee833b82be157d1b011ba841c149d633e8eb64b07098bf03a2adcf711b3f688465050 SHA512 81cc1d8691bfcc8f8bb232ea15c18039d0df036f5cbc1667fec3b6c34cdf198bed97418ec775c037778c250b7bc4f35bd5fb938dd478cc17fc48c74b8a2b2d19 +DIST Python-3.13.0b1.tar.xz.asc 963 BLAKE2B 1b038d2b73fdbe11a1ada18ceab4a174ae52aab68ae9c3a9952ee60a16ce3e08e54c13e0c47264442415f70bd39a06c2b0f97c3cef31330f51102dad6d4a837b SHA512 c10832b5016ad9a9588b7efd29a35272c1c07b444df116c397fed82d66f30150687d68a6853637094be2fe1d8ed0928a9cd151617c91d9eb9938ba1385bd7143 DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625 DIST Python-3.8.19.tar.xz.asc 833 BLAKE2B a11705011e9ea2bd6cbabc2b4c896ba94675341188eb483b881c2cb25c932e9ff25f9f589f930605b0442ff93a1f54532608b111c8ace715a406ce10809af671 SHA512 efdaae5462badcf4b98625ce8ab0e34756acea9539416e6ec428725b04539f8c38c1978de346510d669e93bbeef3ae20b1534e4c6582f89c7dc56a04c7cae140 DIST Python-3.9.19.tar.xz 19682840 BLAKE2B a12256663f0ff3b799c2193c5877aa89a434340dfa01e655f790abea70af0709b54577e1c2590add241308a8581fd6f45a22aed450bd5db2bf9fa35c4a9d619b SHA512 5577830c734e63a70bbc62cd33d263b9aa87c4381b49cb694c3559067c4c682a55506b65ec5514a8e0a5abf6294dc728e909385d449ae1c388e62f83cea9bb89 @@ -17,5 +19,6 @@ DIST python-gentoo-patches-3.10.14_p1.tar.xz 15836 BLAKE2B a850e4ad4f025fa9d38cc DIST python-gentoo-patches-3.11.9.tar.xz 8456 BLAKE2B 4e62837f17c1d056460df417b056a79ad78dbcdd3454761c7cda68ffe6faf8f4d4f04d5539e0ba94332fe19a751f7d5ff2c35ff969a6aa09a2c72d2ce5efbff1 SHA512 a288aa8d1d15e906e0f1762602a2122f9dc91bbd6b72123ac5d00ce55b3af324a4e8280b600fc0fb630e489e57ee1547d7595a4ede7a70e4b26d6686a8414997 DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f DIST python-gentoo-patches-3.13.0a6.tar.xz 5240 BLAKE2B 827a365f60a1acfcbb5ddd568e4938cbd7f98678a12c756774b4307141834d90b890006e68965369663af1c6d594cf44466b9624f5ce3741ade28d80f3289437 SHA512 e45e0aaab022d2cc633576990a6232235067d89fc1270004caf18da898b98767ba7fa811bc8beb3cd8f0f842125cbd3cc3382e3aee13f15b8971d818f4813a30 +DIST python-gentoo-patches-3.13.0b1.tar.xz 5240 BLAKE2B 459bb75f47649e40048358d26741ba47c3a5bba1fdf4048ad44f7875d67546084f2b2edf1f317f80668f19dd00e1361c7d36afc7a467cda0bf3420a9e7ac832e SHA512 bab70e671f131565f154045a590d09cb28c77fd7bf0e4ec8ec14cebb2332ae86689d3e56303c24274942356a2884a44d3eb4fe4f4d3c66f2a5d9cb79bb540765 DIST python-gentoo-patches-3.8.19_p1.tar.xz 35008 BLAKE2B 8771e3a2329577659a4ff64987f2500b7dc4f07f78677b823c8f11e7a9e7fc0369cc127e6ad1f1000986937b7811467bd22ba02129a754246658f99b7219a4a7 SHA512 470c125e8df23c1db358c2f7bbf5ac3b28e76fb843364f7fd5aa2fd399ac9b01a2ddfc2c1765f91236c71712941d19f273fb21f960239f79a0263b5b47081d46 DIST python-gentoo-patches-3.9.19_p2.tar.xz 27684 BLAKE2B a69f00548c153da7b13dfeccb332d3d67ecf649fb5ae054590492f3e2fc2c84b78ebaf90bcf9738157c9022778e5bf2a6b4fb6a99e996dcb63859dcf6f84af23 SHA512 552a5f2d89307d4193d76df5a2cf1deb4bd5c8ad9ec81e6768987f1649f6571a318e68b92d8f8ecdba12bfe9c5f1a427a4cc577e6aaebf7748027cc50e412804 diff --git a/dev-lang/python/python-3.13.0_beta1.ebuild b/dev-lang/python/python-3.13.0_beta1.ebuild new file mode 100644 index 000000000000..c69498233962 --- /dev/null +++ b/dev-lang/python/python-3.13.0_beta1.ebuild @@ -0,0 +1,555 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +LLVM_COMPAT=( 16 ) +LLVM_OPTIONAL=1 +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing +inherit pax-utils python-utils-r1 toolchain-funcs verify-sig + +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="~amd64" +IUSE=" + bluetooth build debug +ensurepip examples gdbm jit libedit + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +REQUIRED_USE="jit? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + 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 +} + +pkg_setup() { + use jit && llvm-r1_pkg_setup + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + # breaks tests when using --with-wheel-pkg-dir + rm -r Lib/test/wheeldata || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_concurrent_futures + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + + # Fails in profiling run, passes in src_test(). + -x test_capi + ) + + 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-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_enable jit experimental-jit) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + + # 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=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_concurrent_futures + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake -Onone test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # pydoc + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-libs/mpdecimal/Manifest b/dev-libs/mpdecimal/Manifest new file mode 100644 index 000000000000..925cbb7e68f4 --- /dev/null +++ b/dev-libs/mpdecimal/Manifest @@ -0,0 +1,2 @@ +DIST dectest.zip 791733 BLAKE2B ba74ee96f6687ce34cac8406fd7fd1f743d72647a5f883f1054829d992d4dc0f61c9e3b88e2529f425cc2fbda14dfc372b3fbfafe6553baabb3244172fed712f SHA512 05f9d12aec1ebfc9ca211b01705b41c5cd1bbc54d9aa6c4799b40fb3ab1835433fd1a277735d26d2530c3793c58b107b3abb1c31f64340e5e9d7856d92c821cf +DIST mpdecimal-4.0.0.tar.gz 315325 BLAKE2B aed5b6d5c03b12017989bbac9a166366e800ce5ee8d2fad5a1b81def48877126233998df306968902c728776616b1c06ce0ef05ea066c07daf841a53541a09f9 SHA512 7610ac53ac79f7a8a33fa7a3e61515810444ec73ebca859df7a9ddc18e96b990c99323172810c9cc7f6d6e1502c0be308cd443d6c2d5d0c871648e4842e05d59 diff --git a/dev-libs/mpdecimal/metadata.xml b/dev-libs/mpdecimal/metadata.xml new file mode 100644 index 000000000000..076793e3f54b --- /dev/null +++ b/dev-libs/mpdecimal/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> +</pkgmetadata> diff --git a/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild new file mode 100644 index 000000000000..27cee7db31ee --- /dev/null +++ b/dev-libs/mpdecimal/mpdecimal-4.0.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Correctly-rounded arbitrary precision decimal floating point arithmetic" +HOMEPAGE="https://www.bytereef.org/mpdecimal/" +SRC_URI=" + https://www.bytereef.org/software/mpdecimal/releases/${P}.tar.gz + test? ( + http://speleotrove.com/decimal/dectest.zip + ) +" + +LICENSE="BSD-2" +SLOT="$(ver_cut 1)" +KEYWORDS="~amd64" +IUSE="cxx test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + app-arch/unzip + ) +" + +src_unpack() { + unpack "${P}.tar.gz" + if use test; then + mkdir "${P}/tests/testdata" || die + cd "${P}/tests/testdata" || die + unpack dectest.zip + fi +} + +src_prepare() { + default + + # sigh + sed -i -e "s:/lib:/$(get_libdir):" lib*/.pc/*.pc.in || die +} + +src_configure() { + local myconf=( + # just COPYRIGHT.txt + --docdir=/removeme + $(use_enable cxx) + ) + + local -x LDXXFLAGS="${LDFLAGS}" + econf "${myconf[@]}" +} + +src_test() { + emake check +} + +src_install() { + default + rm -r "${ED}/removeme" || die +} diff --git a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild index bac28f7a310c..c526c49b17d7 100644 --- a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild +++ b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/build/build-1.2.1.ebuild b/dev-python/build/build-1.2.1.ebuild index 02bf69fa491c..b0a8d0312cff 100644 --- a/dev-python/build/build-1.2.1.ebuild +++ b/dev-python/build/build-1.2.1.ebuild @@ -4,7 +4,8 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_TESTED=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) inherit distutils-r1 @@ -31,23 +32,29 @@ RDEPEND=" " BDEPEND=" test? ( - >=dev-python/filelock-3[${PYTHON_USEDEP}] - >=dev-python/pytest-mock-2[${PYTHON_USEDEP}] - >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}] - >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}] - >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}] - >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}] - >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}] - test-rust? ( - !sparc? ( dev-python/uv ) - ) + $(python_gen_cond_dep ' + >=dev-python/filelock-3[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-2[${PYTHON_USEDEP}] + >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}] + >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}] + >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}] + >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}] + >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}] + test-rust? ( + !sparc? ( dev-python/uv ) + ) + ' "${PYTHON_TESTED[@]}") ) " -EPYTEST_XDIST=1 distutils_enable_tests pytest python_test() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + local EPYTEST_DESELECT=( # broken by the presence of flit_core tests/test_util.py::test_wheel_metadata_isolation @@ -73,5 +80,6 @@ python_test() { fi local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_XDIST=1 epytest -m "not network" -p pytest_mock -p rerunfailures } diff --git a/dev-python/editables/editables-0.5.ebuild b/dev-python/editables/editables-0.5.ebuild index 0984046e406e..52cf46aee0df 100644 --- a/dev-python/editables/editables-0.5.ebuild +++ b/dev-python/editables/editables-0.5.ebuild @@ -1,10 +1,10 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 diff --git a/dev-python/flit-core/flit-core-3.9.0.ebuild b/dev-python/flit-core/flit-core-3.9.0.ebuild index f2c8e13d8ff9..884223238eb7 100644 --- a/dev-python/flit-core/flit-core-3.9.0.ebuild +++ b/dev-python/flit-core/flit-core-3.9.0.ebuild @@ -1,11 +1,11 @@ -# Copyright 2019-2023 Gentoo Authors +# Copyright 2019-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/gpep517/gpep517-15.ebuild b/dev-python/gpep517/gpep517-15.ebuild index 5ea577490b8a..59e88ad9c4ca 100644 --- a/dev-python/gpep517/gpep517-15.ebuild +++ b/dev-python/gpep517/gpep517-15.ebuild @@ -5,7 +5,7 @@ EAPI=7 DISTUTILS_USE_PEP517=no -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 diff --git a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild index a2ca280ae91b..17cf5b1dad8a 100644 --- a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild +++ b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 diff --git a/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild index 08720366cf75..60287b2f1dfa 100644 --- a/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild +++ b/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 diff --git a/dev-python/hatchling/hatchling-1.24.2.ebuild b/dev-python/hatchling/hatchling-1.24.2.ebuild index 5113b4066ed0..cb5f1c813a23 100644 --- a/dev-python/hatchling/hatchling-1.24.2.ebuild +++ b/dev-python/hatchling/hatchling-1.24.2.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone PYTHON_TESTED=( pypy3 python3_{10..12} ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) inherit distutils-r1 diff --git a/dev-python/iniconfig/iniconfig-2.0.0.ebuild b/dev-python/iniconfig/iniconfig-2.0.0.ebuild index 3518b8c151bb..1117f65f2acb 100644 --- a/dev-python/iniconfig/iniconfig-2.0.0.ebuild +++ b/dev-python/iniconfig/iniconfig-2.0.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 2020-2023 Gentoo Authors +# Copyright 2020-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=hatchling -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/installer/installer-0.7.0.ebuild b/dev-python/installer/installer-0.7.0.ebuild index 1d8b92cdcbda..1dbc58a0a422 100644 --- a/dev-python/installer/installer-0.7.0.ebuild +++ b/dev-python/installer/installer-0.7.0.ebuild @@ -1,11 +1,11 @@ -# Copyright 2022-2023 Gentoo Authors +# Copyright 2022-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep EAPI=8 DISTUTILS_USE_PEP517=no -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild index 297d1f822d5e..26c33873878d 100644 --- a/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild +++ b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 pypi diff --git a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild index 17de1cb4a661..5ace6d25e305 100644 --- a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild +++ b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_NO_NORMALIZE=1 PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild index 2774a2f43843..b81cb08e6bbc 100644 --- a/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild +++ b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 pypi diff --git a/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild b/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild index 407c5792a3af..4fc6f1b0833c 100644 --- a/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild +++ b/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 8 -- sys-apps/portage dep @@ -7,7 +7,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_NO_NORMALIZE=1 PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/more-itertools/more-itertools-10.2.0.ebuild b/dev-python/more-itertools/more-itertools-10.2.0.ebuild index f755aed5bcfb..36b8551dc13b 100644 --- a/dev-python/more-itertools/more-itertools-10.2.0.ebuild +++ b/dev-python/more-itertools/more-itertools-10.2.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/ordered-set/ordered-set-4.1.0.ebuild b/dev-python/ordered-set/ordered-set-4.1.0.ebuild index b68a3c64c3e6..b920e7c78860 100644 --- a/dev-python/ordered-set/ordered-set-4.1.0.ebuild +++ b/dev-python/ordered-set/ordered-set-4.1.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # please keep this ebuild at EAPI 7 -- sys-apps/portage dep @@ -6,7 +6,7 @@ EAPI=7 DISTUTILS_USE_PEP517=flit PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/packaging/packaging-24.0.ebuild b/dev-python/packaging/packaging-24.0.ebuild index 9b8b880fe358..cf4d60443386 100644 --- a/dev-python/packaging/packaging-24.0.ebuild +++ b/dev-python/packaging/packaging-24.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/pathspec/pathspec-0.12.1.ebuild b/dev-python/pathspec/pathspec-0.12.1.ebuild index 11a34a2daf73..6d8492c5d961 100644 --- a/dev-python/pathspec/pathspec-0.12.1.ebuild +++ b/dev-python/pathspec/pathspec-0.12.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/platformdirs/platformdirs-4.2.1.ebuild b/dev-python/platformdirs/platformdirs-4.2.1.ebuild index a4620b76de0d..5b2eb5cac9bf 100644 --- a/dev-python/platformdirs/platformdirs-4.2.1.ebuild +++ b/dev-python/platformdirs/platformdirs-4.2.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/pluggy/pluggy-1.5.0.ebuild b/dev-python/pluggy/pluggy-1.5.0.ebuild index e485090460f2..e0d7e60a4771 100644 --- a/dev-python/pluggy/pluggy-1.5.0.ebuild +++ b/dev-python/pluggy/pluggy-1.5.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/portend/portend-3.2.0.ebuild b/dev-python/portend/portend-3.2.0.ebuild index 501d62570ab2..5a60c286894e 100644 --- a/dev-python/portend/portend-3.2.0.ebuild +++ b/dev-python/portend/portend-3.2.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/pretend/pretend-1.0.9-r2.ebuild b/dev-python/pretend/pretend-1.0.9-r2.ebuild index 1fcb007a5620..47c5b2e8e5f1 100644 --- a/dev-python/pretend/pretend-1.0.9-r2.ebuild +++ b/dev-python/pretend/pretend-1.0.9-r2.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild index 338edaf417b4..de011f5615ab 100644 --- a/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild +++ b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 diff --git a/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild index c38d991f71fd..a7f363bd3b14 100644 --- a/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild +++ b/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYTHON_TESTED=( python3_{10..12} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) inherit distutils-r1 pypi diff --git a/dev-python/pytest/pytest-8.2.0.ebuild b/dev-python/pytest/pytest-8.2.0.ebuild index 32656cf32700..7c7bab6ebe19 100644 --- a/dev-python/pytest/pytest-8.2.0.ebuild +++ b/dev-python/pytest/pytest-8.2.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYTHON_TESTED=( python3_{10..12} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) inherit distutils-r1 pypi diff --git a/dev-python/pytz/pytz-2024.1.ebuild b/dev-python/pytz/pytz-2024.1.ebuild index c376c74dbab9..8b4eb20b62a0 100644 --- a/dev-python/pytz/pytz-2024.1.ebuild +++ b/dev-python/pytz/pytz-2024.1.ebuild @@ -4,7 +4,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) PYTHON_REQ_USE="threads(+)" inherit distutils-r1 pypi diff --git a/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild index 3d00ab295e9e..adabb32dbb37 100644 --- a/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild +++ b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi @@ -30,6 +30,7 @@ RDEPEND=" BDEPEND=" dev-python/setuptools[${PYTHON_USEDEP}] test? ( + dev-python/build[${PYTHON_USEDEP}] dev-vcs/git !sparc? ( dev-vcs/mercurial diff --git a/dev-python/setuptools/setuptools-69.5.1-r1.ebuild b/dev-python/setuptools/setuptools-69.5.1-r1.ebuild index 74de6f35caa4..fbbd26ae9253 100644 --- a/dev-python/setuptools/setuptools-69.5.1-r1.ebuild +++ b/dev-python/setuptools/setuptools-69.5.1-r1.ebuild @@ -8,7 +8,7 @@ EAPI=8 DISTUTILS_USE_PEP517=standalone PYTHON_TESTED=( python3_{10..12} pypy3 ) -PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) PYTHON_REQ_USE="xml(+)" inherit distutils-r1 pypi @@ -35,7 +35,7 @@ RDEPEND=" >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}] - ' python3_10 pypy3) + ' 3.10) " BDEPEND=" ${RDEPEND} diff --git a/dev-python/six/six-1.16.0-r1.ebuild b/dev-python/six/six-1.16.0-r1.ebuild index df1788703008..9850b41681e3 100644 --- a/dev-python/six/six-1.16.0-r1.ebuild +++ b/dev-python/six/six-1.16.0-r1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi @@ -23,9 +23,19 @@ distutils_enable_tests pytest python_test() { local EPYTEST_DESELECT=() - [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=( - 'test_six.py::test_move_items[dbm_ndbm]' - ) - + case ${EPYTHON} in + pypy3) + EPYTEST_DESELECT+=( + 'test_six.py::test_move_items[dbm_ndbm]' + ) + ;; + python3.13) + EPYTEST_DESELECT+=( + 'test_six.py::test_move_items[tkinter_tix]' + ) + ;; + esac + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 epytest } diff --git a/dev-python/tempora/tempora-5.5.1.ebuild b/dev-python/tempora/tempora-5.5.1.ebuild index 736a04fbab4f..0b4513b29cad 100644 --- a/dev-python/tempora/tempora-5.5.1.ebuild +++ b/dev-python/tempora/tempora-5.5.1.ebuild @@ -4,7 +4,8 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_TESTED=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 ) inherit distutils-r1 pypi @@ -25,9 +26,21 @@ RDEPEND=" BDEPEND=" dev-python/setuptools-scm[${PYTHON_USEDEP}] test? ( - dev-python/freezegun[${PYTHON_USEDEP}] - dev-python/pytest-freezegun[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/freezegun[${PYTHON_USEDEP}] + dev-python/pytest-freezegun[${PYTHON_USEDEP}] + ' "${PYTHON_TESTED[@]}") ) " distutils_enable_tests pytest + +python_test() { + if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then + einfo "Skipping tests on ${EPYTHON}" + return + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest -p freezer +} diff --git a/dev-python/testpath/testpath-0.6.0.ebuild b/dev-python/testpath/testpath-0.6.0.ebuild index cd0fac55c802..bfd0a36131be 100644 --- a/dev-python/testpath/testpath-0.6.0.ebuild +++ b/dev-python/testpath/testpath-0.6.0.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 diff --git a/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild index 35832d4c838e..663cb41fa84d 100644 --- a/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild +++ b/dev-python/trove-classifiers/trove-classifiers-2024.4.10.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit PYPI_NO_NORMALIZE=1 -PYTHON_COMPAT=( pypy3 python3_{10..12} ) +PYTHON_COMPAT=( pypy3 python3_{10..13} ) inherit distutils-r1 pypi diff --git a/dev-python/wheel/wheel-0.43.0.ebuild b/dev-python/wheel/wheel-0.43.0.ebuild index a493ef96d0a1..a8b3a7d1ade4 100644 --- a/dev-python/wheel/wheel-0.43.0.ebuild +++ b/dev-python/wheel/wheel-0.43.0.ebuild @@ -5,7 +5,7 @@ EAPI=8 DISTUTILS_USE_PEP517=flit -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/zope-event/zope-event-5.0.ebuild b/dev-python/zope-event/zope-event-5.0.ebuild index 99db81ced810..b9e576d375dc 100644 --- a/dev-python/zope-event/zope-event-5.0.ebuild +++ b/dev-python/zope-event/zope-event-5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( python3_{10..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-python/zope-testing/zope-testing-5.0.1.ebuild b/dev-python/zope-testing/zope-testing-5.0.1.ebuild index 27d99d2cd56f..a87572e875ce 100644 --- a/dev-python/zope-testing/zope-testing-5.0.1.ebuild +++ b/dev-python/zope-testing/zope-testing-5.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,7 +6,7 @@ EAPI=8 DISTUTILS_USE_PEP517=setuptools PYPI_NO_NORMALIZE=1 PYPI_PN=${PN/-/.} -PYTHON_COMPAT=( python3_{9..12} pypy3 ) +PYTHON_COMPAT=( python3_{10..13} pypy3 ) inherit distutils-r1 pypi diff --git a/dev-util/qbs/files/qbs-2.3.1-qtver.patch b/dev-util/qbs/files/qbs-2.3.1-qtver.patch new file mode 100644 index 000000000000..3117c432c544 --- /dev/null +++ b/dev-util/qbs/files/qbs-2.3.1-qtver.patch @@ -0,0 +1,9 @@ +https://bugs.gentoo.org/931596 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,3 +29,5 @@ + ++if (NOT DEFINED QT_VERSION_MAJOR) + find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED) ++endif() + diff --git a/dev-util/qbs/qbs-2.3.1.ebuild b/dev-util/qbs/qbs-2.3.1.ebuild index c00fae7ed834..ed014f09332d 100644 --- a/dev-util/qbs/qbs-2.3.1.ebuild +++ b/dev-util/qbs/qbs-2.3.1.ebuild @@ -43,6 +43,10 @@ CMAKE_SKIP_TESTS=( tst_language ) +PATCHES=( + "${FILESDIR}"/${PN}-2.3.1-qtver.patch +) + python_check_deps() { # _find_python_module in cmake/QbsDocumentation.cmake python_has_version "dev-python/beautifulsoup4[${PYTHON_USEDEP}]" && @@ -64,6 +68,7 @@ src_configure() { -DQBS_INSTALL_MAN_PAGE=yes -DQBS_INSTALL_QCH_DOCS=$(usex doc) -DQBS_LIB_INSTALL_DIR="$(get_libdir)" + -DQT_VERSION_MAJOR=6 #931596 -DWITH_TESTS=$(usex test) -DWITH_UNIT_TESTS=$(usex test) ) diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index bbf751399476..275ac3a96523 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -40,7 +40,7 @@ inherit multiprocessing toolchain-funcs # All supported Python implementations, most preferred last. _PYTHON_ALL_IMPLS=( pypy3 - python3_{10..12} + python3_{10..13} ) readonly _PYTHON_ALL_IMPLS @@ -80,7 +80,7 @@ _python_verify_patterns() { local impl pattern for pattern; do case ${pattern} in - -[23]|3.[89]|3.1[012]) + -[23]|3.[89]|3.1[0-3]) continue ;; esac @@ -136,7 +136,7 @@ _python_set_impls() { # please keep them in sync with _PYTHON_ALL_IMPLS # and _PYTHON_HISTORICAL_IMPLS case ${i} in - pypy3|python3_9|python3_1[0-2]) + pypy3|python3_9|python3_1[0-3]) ;; jython2_7|pypy|pypy1_[89]|pypy2_0|python2_[5-7]|python3_[1-9]) obsolete+=( "${i}" ) @@ -231,7 +231,7 @@ _python_impl_matches() { [[ ${impl} == python${pattern/./_} || ${impl} == pypy3 ]] && return 0 ;; - 3.8|3.9|3.1[1-2]) + 3.8|3.9|3.1[1-3]) [[ ${impl} == python${pattern/./_} ]] && return 0 ;; *) diff --git a/eclass/tests/python-utils-r1.sh b/eclass/tests/python-utils-r1.sh index 81c459765f0f..93cea324a3df 100755 --- a/eclass/tests/python-utils-r1.sh +++ b/eclass/tests/python-utils-r1.sh @@ -64,7 +64,7 @@ tmpfile=$(mktemp) inherit python-utils-r1 -for minor in {10..12}; do +for minor in {10..13}; do ebegin "Testing python3.${minor}" eindent test_var EPYTHON "python3_${minor}" "python3.${minor}" @@ -126,7 +126,7 @@ if [[ -x /usr/bin/pypy3 ]]; then test_var PYTHON_SITEDIR pypy3 "/usr/lib*/pypy3.*/site-packages" test_var PYTHON_INCLUDEDIR pypy3 "/usr/include/pypy3.*" fi -test_var PYTHON_PKG_DEP pypy3 '*dev-python/pypy3*:0=' +test_var PYTHON_PKG_DEP pypy3 '*dev-python/pypy3*:=' test_var PYTHON_SCRIPTDIR pypy3 /usr/lib/python-exec/pypy3 eoutdent diff --git a/profiles/arch/alpha/package.use.mask b/profiles/arch/alpha/package.use.mask index bf9a7d7c9591..8789d3aaa07c 100644 --- a/profiles/arch/alpha/package.use.mask +++ b/profiles/arch/alpha/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # matoro <matoro_gentoo@matoro.tk> (2024-02-29) # sys-apps/xdg-desktop-portal is not keyworded here, #925731 x11-base/xwayland libei diff --git a/profiles/arch/amd64/use.mask b/profiles/arch/amd64/use.mask index 8049967550c6..05b4d15bec03 100644 --- a/profiles/arch/amd64/use.mask +++ b/profiles/arch/amd64/use.mask @@ -1,6 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Python 3.13 is due for rekeywording due to a new dep. +-python_targets_python3_13 +-python_single_target_python3_13 + # Unmask the flag which corresponds to ARCH. -amd64 diff --git a/profiles/arch/amd64/use.stable.mask b/profiles/arch/amd64/use.stable.mask index c7159b879206..c37a4c878745 100644 --- a/profiles/arch/amd64/use.stable.mask +++ b/profiles/arch/amd64/use.stable.mask @@ -4,6 +4,11 @@ # This file requires eapi 5 or later. New entries go on top. # Please use the same syntax as in use.mask +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Need to copy this here while the flag is use.masked. +python_targets_python3_13 +python_single_target_python3_13 + # Paul Zander <negril.nx+gentoo@gmail.com> (2023-11-17) # ROCm/HIP is not suitable for stabilization. hip diff --git a/profiles/arch/base/use.mask b/profiles/arch/base/use.mask index d1cd9910ec4a..529ebbacc4e4 100644 --- a/profiles/arch/base/use.mask +++ b/profiles/arch/base/use.mask @@ -1,6 +1,11 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Python 3.13 is due for rekeywording due to a new dep. +python_targets_python3_13 +python_single_target_python3_13 + # Paul Zander <negril.nx+gentoo@gmail.com> (2024-04-14) # media-libs/quirc only keyworded on amd64, x86 quirc diff --git a/profiles/arch/hppa/package.use.mask b/profiles/arch/hppa/package.use.mask index 9728d61161dd..2d77ba533f9f 100644 --- a/profiles/arch/hppa/package.use.mask +++ b/profiles/arch/hppa/package.use.mask @@ -4,6 +4,10 @@ # NOTE: When masking a USE flag due to missing keywords, please file a keyword # request bug for the hppa arch. +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # Ionen Wolkens <ionen@gentoo.org> (2024-01-23) # Needs dev-qt/qtquick3d:6 which itself needs media-libs/assimp that # is not keyworded here and currently fails tests (bug #919896). diff --git a/profiles/arch/ia64/package.use.mask b/profiles/arch/ia64/package.use.mask index 2d99d65bfd3e..9ba2bb84b47d 100644 --- a/profiles/arch/ia64/package.use.mask +++ b/profiles/arch/ia64/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # Robin H. Johnson <robbat2@gentoo.org) (2024-03-13) # sys-cluster/corosync not yet keyworded, niche use case for mdadm sys-fs/mdadm corosync diff --git a/profiles/arch/m68k/package.use.mask b/profiles/arch/m68k/package.use.mask index 9be2feccdf89..5dcd046b960f 100644 --- a/profiles/arch/m68k/package.use.mask +++ b/profiles/arch/m68k/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # James Le Cuirot (2023-12-12) # USE=bpf depends on sys-devel/clang which is not keyworded on m68k media-libs/libv4l bpf diff --git a/profiles/arch/mips/package.use.mask b/profiles/arch/mips/package.use.mask index d12ad2b0168e..a9717ab8aad9 100644 --- a/profiles/arch/mips/package.use.mask +++ b/profiles/arch/mips/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # matoro <matoro_gentoo@matoro.tk> (2024-05-01) # Sanitizers supported on both 32-bit and 64-bit mips, #779742 sys-libs/compiler-rt-sanitizers -asan -profile -ubsan -safestack -scudo -xray diff --git a/profiles/arch/s390/package.use.mask b/profiles/arch/s390/package.use.mask index 144e11dcf539..3f1e43fa394d 100644 --- a/profiles/arch/s390/package.use.mask +++ b/profiles/arch/s390/package.use.mask @@ -1,6 +1,10 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Requires sys-devel/{clang,llvm}:16. +dev-lang/python jit + # NRK <nrk@disroot.org> (2024-04-08) # media-libs/libraw is not keyworded media-libs/imlib2 raw diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force index 65e6df80c21a..f4cd5a5e7e69 100644 --- a/profiles/base/package.use.force +++ b/profiles/base/package.use.force @@ -241,6 +241,7 @@ app-shells/bash:0 readline dev-lang/python-exec python_targets_python3_10 dev-lang/python-exec python_targets_python3_11 dev-lang/python-exec python_targets_python3_12 +dev-lang/python-exec python_targets_python3_13 dev-lang/python-exec python_targets_pypy3 # Zac Medico <zmedico@gentoo.org> (2010-10-20) diff --git a/profiles/base/use.stable.mask b/profiles/base/use.stable.mask index 59d9eb195daf..0a161be42cc7 100644 --- a/profiles/base/use.stable.mask +++ b/profiles/base/use.stable.mask @@ -4,6 +4,13 @@ # This file requires eapi 5 or later. New entries go on top. # Please use the same syntax as in use.mask +# Michał Górny <mgorny@gentoo.org> (2024-05-08) +# Python implementations without stable keywords. +python_targets_python3_13 +python_single_target_python3_13 +python_targets_pypy3 +python_single_target_pypy3 + # Michał Górny <mgorny@gentoo.org> (2024-04-04) # LLVM slots without stablekeywords. llvm_slot_18 @@ -16,8 +23,3 @@ ruby_targets_ruby33 # Michael Orlitzky <mjo@gentoo.org> (2023-12-05) # New unstable PHP slot. php_targets_php8-3 - -# Zac Medico <zmedico@gentoo.org> (2016-09-01) -# Needs dev-python/pypy* stable -python_targets_pypy3 -python_single_target_pypy3 diff --git a/profiles/desc/python_single_target.desc b/profiles/desc/python_single_target.desc index 8a9f6479f1b9..427e206dd196 100644 --- a/profiles/desc/python_single_target.desc +++ b/profiles/desc/python_single_target.desc @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors. +# Copyright 1999-2024 Gentoo Authors. # Distributed under the terms of the GNU General Public License v2 # This file contains descriptions of PYTHON_SINGLE_TARGET USE_EXPAND flags. @@ -6,4 +6,5 @@ python3_10 - Build for Python 3.10 only python3_11 - Build for Python 3.11 only python3_12 - Build for Python 3.12 only +python3_13 - Build for Python 3.13 only pypy3 - Build for PyPy3 only diff --git a/profiles/desc/python_targets.desc b/profiles/desc/python_targets.desc index 7bde52333b5d..b48cc57e99fb 100644 --- a/profiles/desc/python_targets.desc +++ b/profiles/desc/python_targets.desc @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors. +# Copyright 1999-2024 Gentoo Authors. # Distributed under the terms of the GNU General Public License v2 # This file contains descriptions of PYTHON_TARGETS USE_EXPAND flags. @@ -6,4 +6,5 @@ python3_10 - Build with Python 3.10 python3_11 - Build with Python 3.11 python3_12 - Build with Python 3.12 +python3_13 - Build with Python 3.13 pypy3 - Build with PyPy3 |