diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-04-12 18:56:41 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2025-04-12 18:56:41 +0000 |
| commit | 7e219bec8c8fb44fd3bbc9506b51a6345c1673f2 (patch) | |
| tree | 17ca0c5b961ba4e455be104764dd538603191432 /dev-lang/python/python-3.13.3.ebuild | |
| parent | e3351eb307aac823096dd71fd8479d79b6a2f139 (diff) | |
| download | baldeagleos-repo-7e219bec8c8fb44fd3bbc9506b51a6345c1673f2.tar.gz baldeagleos-repo-7e219bec8c8fb44fd3bbc9506b51a6345c1673f2.tar.xz baldeagleos-repo-7e219bec8c8fb44fd3bbc9506b51a6345c1673f2.zip | |
Adding metadata
Diffstat (limited to 'dev-lang/python/python-3.13.3.ebuild')
| -rw-r--r-- | dev-lang/python/python-3.13.3.ebuild | 103 |
1 files changed, 24 insertions, 79 deletions
diff --git a/dev-lang/python/python-3.13.3.ebuild b/dev-lang/python/python-3.13.3.ebuild index 065f402a8b46..46b04197bbc7 100644 --- a/dev-lang/python/python-3.13.3.ebuild +++ b/dev-lang/python/python-3.13.3.ebuild @@ -1,21 +1,17 @@ # Copyright 2021-2024 Liguros Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="8" - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 +EAPI=8 WANT_LIBTOOL="none" -inherit autotools check-reqs flag-o-matic linux-info llvm-r1 -inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs -inherit verify-sig +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig -MY_PV=${PV/_} +MY_PV=${PV/_rc/rc} MY_P="Python-${MY_PV%_p*}" -PYVER="$(ver_cut 1-2)t" +PYVER=$(ver_cut 1-2) PATCHSET="python-gentoo-patches-${MY_PV}" -DESCRIPTION="Freethreading (no-GIL) version of Python programming language" +DESCRIPTION="An interpreted, interactive, object-oriented programming language" HOMEPAGE=" https://www.python.org/ https://github.com/python/cpython/ @@ -33,10 +29,8 @@ LICENSE="PSF-2" SLOT="${PYVER}" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE=" - bluetooth build debug +ensurepip examples gdbm jit - libedit libressl +ncurses pgo +readline +sqlite +ssl test tk valgrind + bluetooth build debug +ensurepip examples gdbm libressl 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. @@ -53,6 +47,7 @@ RDEPEND=" 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] ) @@ -79,6 +74,7 @@ DEPEND=" ${RDEPEND} bluetooth? ( net-wireless/bluez ) test? ( + app-arch/xz-utils dev-python/ensurepip-pip dev-python/ensurepip-setuptools dev-python/ensurepip-wheel @@ -90,12 +86,6 @@ BDEPEND=" dev-build/autoconf-archive app-alternatives/awk virtual/pkgconfig - jit? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT} - llvm-core/llvm:${LLVM_SLOT} - ') - ) verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) " RDEPEND+=" @@ -112,40 +102,16 @@ 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%t} +QA_PKGCONFIG_VERSION=${PYVER} # false positives -- functions specific to *BSD QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) -declare -rgA PYTHON_KERNEL_CHECKS=( - ["CROSS_MEMORY_ATTACH"]="test_external_inspection" #bug 938589 - ["DNOTIFY"]="test_fcntl" # bug 938662 -) - pkg_pretend() { - if use pgo || use test; then - check-reqs_pkg_pretend - fi - - ewarn "Freethreading build is considered experimental upstream. Using it" - ewarn "could lead to unexpected breakage, including race conditions" - ewarn "and crashes, respectively. Please do not file Gentoo bugs, unless" - ewarn "you can reproduce the problem with dev-lang/python. Instead," - ewarn "please consider reporting freethreading problems upstream." + use test && check-reqs_pkg_pretend } 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 + use test && check-reqs_pkg_setup } src_unpack() { @@ -233,7 +199,7 @@ build_cbuild_python() { # 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 + #_ctypes _crypt EOF ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" @@ -268,8 +234,6 @@ src_configure() { COMMON_TEST_SKIPS=( # this is actually test_gdb.test_pretty_print -x test_pretty_print - # https://bugs.gentoo.org/933840 - -x test_perf_profiler ) # Arch-specific skips. See #931888 for a collection of these. @@ -300,7 +264,7 @@ src_configure() { ;; powerpc64-*) # big endian COMMON_TEST_SKIPS+=( - -x test_gdb + -x test_descr ) ;; riscv*) @@ -313,24 +277,15 @@ src_configure() { # bug 788022 -x test_multiprocessing_fork -x test_multiprocessing_forkserver - -x test_multiprocessing_spawn -x test_ctypes - -x test_gdb + -x test_descr # 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 @@ -352,7 +307,6 @@ src_configure() { -m test "-j$(makeopts_jobs)" --pgo-extended - --verbose3 -u-network # We use a timeout because of how often we've had hang issues @@ -367,6 +321,7 @@ src_configure() { # 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 @@ -376,10 +331,6 @@ src_configure() { # 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 - -x test_external_inspection ) # Arch-specific skips. See #931888 for a collection of these. @@ -441,10 +392,8 @@ src_configure() { --with-platlibdir=lib --with-pkg-config=yes --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip - --disable-gil $(use_with debug assertions) - $(use_enable jit experimental-jit) $(use_enable pgo optimizations) $(use_with readline readline "$(usex libedit editline readline)") $(use_with valgrind) @@ -524,7 +473,6 @@ src_compile() { # 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 @@ -564,7 +512,6 @@ src_test() { # 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 @@ -576,15 +523,15 @@ src_test() { 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}" 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*) @@ -610,11 +557,8 @@ src_install() { 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 + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die rm -r "${libdir}/"{idlelib,tkinter} || die fi @@ -659,7 +603,8 @@ src_install() { EOF chmod +x "${scriptdir}/python${pymajor}-config" || die ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die - # pydoc + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die # idle if use tk; then |
