summaryrefslogtreecommitdiff
path: root/dev-lang/python/python-3.13.3.ebuild
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-12 18:56:41 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-04-12 18:56:41 +0000
commit7e219bec8c8fb44fd3bbc9506b51a6345c1673f2 (patch)
tree17ca0c5b961ba4e455be104764dd538603191432 /dev-lang/python/python-3.13.3.ebuild
parente3351eb307aac823096dd71fd8479d79b6a2f139 (diff)
downloadbaldeagleos-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.ebuild103
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