summaryrefslogtreecommitdiff
path: root/dev-lang/python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-08 20:55:37 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2024-06-08 20:55:37 +0000
commitd350cc03a0dcd4ef41cc08db74694bd56d5eb1ca (patch)
tree35a174ee59a7c8a4b6c33b7e5a4d9160b78fcbaa /dev-lang/python
parentcc48863f284856defad34ea181c9717da58d54fb (diff)
downloadbaldeagleos-repo-d350cc03a0dcd4ef41cc08db74694bd56d5eb1ca.tar.gz
baldeagleos-repo-d350cc03a0dcd4ef41cc08db74694bd56d5eb1ca.tar.xz
baldeagleos-repo-d350cc03a0dcd4ef41cc08db74694bd56d5eb1ca.zip
Adding metadata
Diffstat (limited to 'dev-lang/python')
-rw-r--r--dev-lang/python/Manifest6
-rw-r--r--dev-lang/python/files/hashopenssl-3.12.4.patch28
-rw-r--r--dev-lang/python/python-3.12.2-r1.ebuild542
-rw-r--r--dev-lang/python/python-3.12.4.ebuild (renamed from dev-lang/python/python-3.12.3.ebuild)6
4 files changed, 34 insertions, 548 deletions
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index fa73fe268076..4e4fd8bfd19e 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -6,10 +6,10 @@ DIST Python-3.11.8.tar.xz 20041256 BLAKE2B 361253743c58facd01063922523c39fafe647
DIST Python-3.11.8.tar.xz.asc 833 BLAKE2B c82907808de345b263cd1869589004a29e94f225c338a6da3035130728bda137727898743f30d64cc4b819a28cd035fa70123cc45cbf8719b66f9d3ef14452e2 SHA512 aebec01f84e96a76f6c5949004df2bb51c817bac3fc8d925ee26ded1ff2d80bec1b579dd0fc129004bc9cd81cbdcdcdf7c1f0471c3d26b70bd6dac11b97187e0
DIST Python-3.11.9.tar.xz 20175816 BLAKE2B 4e7cd2c42ee39b5ef9624ebd1798320957e948cb4f23f17fd1530814c60126dbf988846928d4d7d4b9d2174029ab8d4dbaf19e6203da237da4c3212ddebd5803 SHA512 2b0a1d936b4ef8376f9655797aece8ffdff75031ad7bfa840f330cac2aed189aecc80c163edc12ea772851d7a011f3fc1960470a73d9d4290cf3ab8ad6ed7e6a
DIST Python-3.11.9.tar.xz.asc 833 BLAKE2B c18b6b2458350c1fe41e69e88527be542583bd6f4050066a893d94212cc7f3f2e855df4a032ebd1a4bbb52943330ba797c3cae56634c328ed505fa6cededa21a SHA512 97173bcfcb5ff50a3d6c240a789160c4f28291995eb401e965611127d99a41047d79d6b8c87ef7d35848a893aca4ba2df22b531499c76aeb1ceee24638f8016f
-DIST Python-3.12.2.tar.xz 20591308 BLAKE2B 419186d220d4ae5ca31466771158c8b56f5298b93e81a29993f36711e08b0384e002d891280ca29099ae826919ba99c2d056d468d9d3049a984d58e01d4972c0 SHA512 2ccfae7b9f95d8e15ea85d3f66eea5f6a8fdcaffc0b405095fecb33efc0df50b831c1215542910ced948b54e6de1f7242b0b8b9afc5f89079451c552430d7d9f
-DIST Python-3.12.2.tar.xz.asc 963 BLAKE2B 45bfa01009f4df19d348a1fda722901cb4f0b76eb63fcf1061c2796949b5b2ef301fd0fdf818cd145e41d45e5785e0cfbfab8d98751765741715ee7d1b27f2f8 SHA512 fb477acb49864a662b1586db79e80fd8ebab85d4e5e14acd3bfb5afc3dbe8d6b9bf97eb518dfb77662e27040d400f451ed7575fe1264a6cc0d9feb06e4f2dc84
DIST Python-3.12.3.tar.xz 20625068 BLAKE2B fc4f57ae50183db4c8cb37d94c37a7e58da5d031e03866841a678b986f01bbb8afdefb38124ba82b0a4988445b647214be43338dea13b0f063d3c2bf81c48c0b SHA512 4a2213b108e7f1f1525baa8348e68b2a2336d925e60d0a59f0225fc470768a2c8031edafc0b8243f94dbae18afda335ee5adf2785328c2218fd64cbb439f13a4
DIST Python-3.12.3.tar.xz.asc 963 BLAKE2B f9668dde210793f8da0e0bb026b8ec3e0b4bc3abc58e72732f8faf356b19ca88a59b9d89b4b10f77b3602d9a967f0f2f44a0f091d698bc28ba9bad8049e5e006 SHA512 c291ec5b5e4f8deba867cc517624dd9a174745f04061ef737e58f3d52b9b30318264aec350e339fe88ccb493809ca1a90a378e86d86b8ec4a4f578b1a5843624
+DIST Python-3.12.4.tar.xz 20659356 BLAKE2B 4255171ef8ee1777bab829be7bbaf28a9d5073985b3b1309a41694dda5f6b4ad599df4534a1ce83ec65b357d42416cc18722ca94b4227a45ebd90e2c1df90945 SHA512 750132ee6369196096130a924f4ddb78b9a55804133e5d136a70b9280928822974d1aa559d844486df02e89155fb0d8117871e1ac532abc18174309ca4b08369
+DIST Python-3.12.4.tar.xz.asc 963 BLAKE2B d4f62dca1de5f4e4b2581fc49ca55b1d87abe7c4ceb2c9087efe4b92d9e9b3bdd25949bbf82fd771b4b60bc3690be982c2f25b810d87592665f0728fbe08be9d SHA512 1102b17f395e0ec5de5368d04a4dceb8cc98dd408b68b53998071cf129eb9a6c259316a416128f1dfa37a739f86e599507502a98430348da2272442ce1b7059e
DIST Python-3.8.18.tar.xz 20696952 BLAKE2B 45be712aeef8bb3ba04aa2bd7d0282aa5f817327749c620ede18ee307fcb432540db9062a8186b08b49467515c74f01eb6fa739f366cca76dfadedcb22858429 SHA512 0be1d85cafade25e99b8277ba51d7b9b3a3d2dbbcc52fd0d1c633c47982e5dd87fd7a0ca180a78d7801d79a8ecafa79bd9d501d544cd7b6da53ea409daa70adf
DIST Python-3.8.18.tar.xz.asc 833 BLAKE2B bc4e989748d53c6be7040e78d9f1852227c6a76f4c63a68824f5139defd51d1ea7988df01f961ff5c77382e156ef45fead2bb97bddbb38b208ddfa9c709e4f34 SHA512 99a0fd74fe19144819fd9522836474e10c1593787eb464694bdc6224b2d4a9331e31d2ecafc35c2bbb9bf67f20186295b28f9374c1fdcd05ac13f5f400219489
DIST Python-3.8.19.tar.xz 18975156 BLAKE2B 57b241aeb8f99a8c30590dcb9402abbcf573f00d06e807846bc9135c0a8a4af896c4d772d34abc3c292339953f4974a203bff61a78641d91b1826770226cd7e9 SHA512 1d2a57fa15ccdaec8cdca508ba2ffb01e1ae053a3446ac709bc334480f8e913070899f01ed680cce6dc7ddfddcb27ef402fe206562249fa4c4e87be21ece0625
@@ -21,7 +21,7 @@ DIST Python-3.9.19.tar.xz.asc 833 BLAKE2B b48b58b8ccf4d6ba8d0d7120f04bebf59f843f
DIST python-gentoo-patches-3.10.13.tar.xz 13996 BLAKE2B 0123a18c8c39397ac03b1be1d243d8ae4da9f62888f409157bc1781285c9c6cd3d9ec23f1ae7ff0e0591b3dd2934ee366b3eb235e7cc6663afc9d617c4fd42f2 SHA512 ddfc830d2ced508a64e202a6082930f53edb48411c19cc9f364b29977ecd5a4f052d0ce953bbfb7fdf26072acb2836e0b7d5ce55f941955f2039551fa1f48edd
DIST python-gentoo-patches-3.10.14.tar.xz 15240 BLAKE2B 0bfae6d93ceb1292891450d6af3bd7f286546141f1eb4a6a39ec1a43450f62fab6f31aa7e7be25982e6354ccfa1f233a4c949f6c9dffcf2d71ef136a64d91597 SHA512 c7084bf49642192d69979fff205d7e29d9491f483219240e3a1cd5fc00985e471a1f884af789058fa490f0994829b50accf2e445d21906a96aefdec8a394da24
DIST python-gentoo-patches-3.11.8.tar.xz 8484 BLAKE2B 2a6b9275cfcb2edc639a8bfebaa061ccdf3c43c1fda46a97a3cb7ed6eb629d7b581932bf7e3561b7559533e2374e4c5138e7929f1d8edc3e93829ee701ac0779 SHA512 bcc4a0175b7d5f78eb7c431afad5ed4681512e5ec3a0394ff291b11a4d1867212fc093ded0f2e1f504c63f7035cde4d8b19c386d3cb4e50d7a49366a1872905d
-DIST python-gentoo-patches-3.12.2.tar.xz 6044 BLAKE2B cf71fac76d7eee313d249d1531e4b13166fcb5e0e03b73d311cb6203658ac7857a213d324efe9b693b2ccd607a746d087d7173ac405a9f62e350acf59dde43c1 SHA512 a2c2fce72265aeca39ce5050619c5cceacbbfe9b405169bb5590bd8eb16e89f1f665ce2f95a23682883801f31f6f4b9958d6b52082f79af9088b181c88c1d810
DIST python-gentoo-patches-3.12.3.tar.xz 6028 BLAKE2B 7953a48a1d95a6a33bd88060fbcac463a5469371aa0c882c3945f1fea64a63c4d45fca8451f51f4eaeea00a04267ad2e54e4cc720c95e8bb5a3477e00263b80a SHA512 4779bab2b24e59e4a77987ce3e9611d99e87c9c4d016309758c26a65fe2e11ef04d48d5af628c02b1552dc1f31b768f87448f8e19e716b4fe372941e6dacac3f
+DIST python-gentoo-patches-3.12.4.tar.xz 6056 BLAKE2B 8e8caa52f5725aaed08e8442609bec45b11c63d5f29f8fdb302416716bf77ef1bb7fe5e9d14bab12517dabd01dc06172fe11b176326291b19785a8b1d74ee9b9 SHA512 d2fd747f81a3812f5d4a0d281ac336a43961abcf4a4e503564fa3b5d33c0312a6c7148c6f516f5c4c917432c63488615161a847ccb6539a457406b82f1661a24
DIST python-gentoo-patches-3.9.18.tar.xz 25044 BLAKE2B 1d9ace5c5a0f1c15bc23595cc51d64b4c2b416552cdaaa960c3e34360aba3e7029a06e2a077212c68fa7aee4fd20f649a3b0926bd4ebb10e529e8350ab051e63 SHA512 bc180c3346dfae60a7db221d114146ee83409bc42092171eb05c83de528bf5f0e5654d1441f40ba839d0a98e866a5b43452fb7a72047c837497620a12097b8f5
DIST python-gentoo-patches-3.9.19.tar.xz 25828 BLAKE2B 1213880c55a34d4c39546fd5b5bfed17f969d8ebf0230861c04730c193b568adc9236e72cf3d65b0169769f47c488954abbcbbefaa28058409010704f3a5ccd0 SHA512 634809c9c80df37336d435e3d946c156f3623454b2cf5aa9a3a6d5b6754a5cfe2fa370310d9ba846abb3b2cdfe81dfec2071efe45b5e23396b38e392cd3314b8
diff --git a/dev-lang/python/files/hashopenssl-3.12.4.patch b/dev-lang/python/files/hashopenssl-3.12.4.patch
new file mode 100644
index 000000000000..9824bad805c6
--- /dev/null
+++ b/dev-lang/python/files/hashopenssl-3.12.4.patch
@@ -0,0 +1,28 @@
+diff -urN Python-3.12.4.orig/Modules/_hashopenssl.c Python-3.12.4/Modules/_hashopenssl.c
+--- Python-3.12.4.orig/Modules/_hashopenssl.c 2024-06-08 21:13:14.208249467 +0200
++++ Python-3.12.4/Modules/_hashopenssl.c 2024-06-08 21:57:05.029194044 +0200
+@@ -44,7 +44,6 @@
+
+ #define MUNCH_SIZE INT_MAX
+
+-#define PY_OPENSSL_HAS_SCRYPT 1
+ #if defined(NID_sha3_224) && defined(NID_sha3_256) && defined(NID_sha3_384) && defined(NID_sha3_512)
+ #define PY_OPENSSL_HAS_SHA3 1
+ #endif
+@@ -921,12 +920,15 @@
+ if (digest == NULL) {
+ goto exit;
+ }
+-
++#if defined(LIBRESSL_VERSION_NUMBER)
++ type = get_hashlib_state(module)->EVPtype;
++#else
+ if ((EVP_MD_flags(digest) & EVP_MD_FLAG_XOF) == EVP_MD_FLAG_XOF) {
+ type = get_hashlib_state(module)->EVPXOFtype;
+ } else {
+ type = get_hashlib_state(module)->EVPtype;
+ }
++#endif
+
+ self = newEVPobject(type);
+ if (self == NULL) {
diff --git a/dev-lang/python/python-3.12.2-r1.ebuild b/dev-lang/python/python-3.12.2-r1.ebuild
deleted file mode 100644
index 7c5a6e3d9f3b..000000000000
--- a/dev-lang/python/python-3.12.2-r1.ebuild
+++ /dev/null
@@ -1,542 +0,0 @@
-# Copyright 2021-2024 Liguros Authors
-# Distributed under the terms of the GNU General Public License v2
-EAPI=8
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
-inherit python-utils-r1 toolchain-funcs verify-sig
-
-MY_PV=${PV/_rc/rc}
-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 libressl libedit +ncurses pgo +readline +sqlite +ssl test tk valgrind
-"
-RESTRICT="!test? ( test )"
-
-# Do not add a dependency on dev-lang/python to this ebuild.
-# If you need to apply a patch which requires python for bootstrapping, please
-# run the bootstrap code on your dev box and include the results in the
-# patchset. See bug 447752.
-
-RDEPEND="
- app-arch/bzip2:=
- app-arch/xz-utils:=
- app-crypt/libb2
- >=dev-libs/expat-2.1:=
- dev-libs/libffi:=
- 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? (
- !libressl? ( >=dev-libs/openssl-1.1.1:= )
- libressl? ( >=dev-libs/libressl-3.5.0:= )
- )
- 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
- 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 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
-
- if use libressl; then
- eapply -p0 ${FILESDIR}/hashopenssl-3.10.5-r1.patch
- eapply -p0 ${FILESDIR}/ssl.patch
- eapply -p1 ${FILESDIR}/configure_ac.patch
- fi
-
- 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
-
- 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_httpservers
- -x test_logging
- -x test_multiprocessing_fork
- -x test_socket
- -x test_xmlrpc
-
- # Hangs (actually runs indefinitely executing itself w/ many cpython builds)
- # bug #900429
- -x test_tools
- )
-
- if has_version "app-arch/rpm" ; then
- # Avoid sandbox failure (attempts to write to /var/lib/rpm)
- profile_task_flags+=(
- -x test_distutils
- )
- fi
- 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 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=
-
- addpredict "/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_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 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
- # 2to3, pydoc
- ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
- 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-lang/python/python-3.12.3.ebuild b/dev-lang/python/python-3.12.4.ebuild
index 19b1e2b1627c..4fdae437986f 100644
--- a/dev-lang/python/python-3.12.3.ebuild
+++ b/dev-lang/python/python-3.12.4.ebuild
@@ -60,7 +60,7 @@ RDEPEND="
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? (
!libressl? ( >=dev-libs/openssl-1.1.1:= )
- libressl? ( >=dev-libs/libressl-3.5.0:= )
+ libressl? ( >=dev-libs/libressl-3.9.1:= )
)
tk? (
>=dev-lang/tcl-8.0:=
@@ -127,8 +127,8 @@ src_prepare() {
#rm -r Modules/expat || die
if use libressl; then
- eapply -p0 ${FILESDIR}/hashopenssl-3.10.5-r1.patch
- eapply -p1 ${FILESDIR}/ssl-3.12.3.patch
+ eapply -p1 ${FILESDIR}/hashopenssl-3.12.4.patch
+ eapply -p1 ${FILESDIR}/ssl-3.12.3-r1.patch
eapply -p1 ${FILESDIR}/configure_ac.patch
fi