summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2022-01-24 22:43:10 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2022-01-24 22:43:10 +0000
commit383c56cf52242738d772575058eb52e62b947a0f (patch)
treed2e85c43bdc6fab339de1229c0a25b2e792d42d0
parent2022-01-24 21:41:28 UTC (diff)
parentdev-python/pytest-param-files: Bump to 0.3.4 (diff)
downloadgentoo-383c56cf52242738d772575058eb52e62b947a0f.tar.gz
gentoo-383c56cf52242738d772575058eb52e62b947a0f.tar.bz2
gentoo-383c56cf52242738d772575058eb52e62b947a0f.zip
Merge updates from master
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.22.42.ebuild58
-rw-r--r--dev-lang/python/python-2.7.18_p13.ebuild7
-rw-r--r--dev-lang/python/python-3.10.2-r1.ebuild386
-rw-r--r--dev-lang/python/python-3.11.0_alpha4.ebuild17
-rw-r--r--dev-lang/python/python-3.6.15-r1.ebuild342
-rw-r--r--dev-lang/python/python-3.7.12_p1-r1.ebuild335
-rw-r--r--dev-lang/python/python-3.8.12_p1-r2.ebuild345
-rw-r--r--dev-lang/python/python-3.9.10-r1.ebuild380
-rw-r--r--dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.ebuild5
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.20.42.ebuild60
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.23.42.ebuild65
-rw-r--r--dev-python/dulwich/Manifest1
-rw-r--r--dev-python/dulwich/dulwich-0.20.32.ebuild56
-rw-r--r--dev-python/fonttools/Manifest1
-rw-r--r--dev-python/fonttools/fonttools-4.29.0.ebuild54
-rw-r--r--dev-python/installer/Manifest2
-rw-r--r--dev-python/installer/installer-0.4.0_p20220115.ebuild55
-rw-r--r--dev-python/markdown-it-py/Manifest1
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-2.0.1.ebuild43
-rw-r--r--dev-python/numpydoc/Manifest1
-rw-r--r--dev-python/numpydoc/numpydoc-1.2.ebuild44
-rw-r--r--dev-python/pdm-pep517/Manifest1
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-0.10.1.ebuild50
-rw-r--r--dev-python/pure_eval/Manifest1
-rw-r--r--dev-python/pure_eval/pure_eval-0.2.2.ebuild20
-rw-r--r--dev-python/py-zabbix/Manifest1
-rw-r--r--dev-python/py-zabbix/metadata.xml17
-rw-r--r--dev-python/py-zabbix/py-zabbix-1.1.7.ebuild16
-rw-r--r--dev-python/pytest-flake8/pytest-flake8-1.0.7.ebuild12
-rw-r--r--dev-python/pytest-flakes/Manifest1
-rw-r--r--dev-python/pytest-flakes/files/pytest-flakes-4.0.3-fix-py3.10.patch17
-rw-r--r--dev-python/pytest-flakes/pytest-flakes-4.0.3.ebuild25
-rw-r--r--dev-python/pytest-flakes/pytest-flakes-4.0.4.ebuild6
-rw-r--r--dev-python/pytest-param-files/Manifest1
-rw-r--r--dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild24
-rw-r--r--dev-python/stack_data/Manifest1
-rw-r--r--dev-python/stack_data/stack_data-0.1.4.ebuild29
-rw-r--r--dev-vcs/git-cola/Manifest2
-rw-r--r--dev-vcs/git-cola/git-cola-3.11.0.ebuild6
-rw-r--r--dev-vcs/git-cola/git-cola-3.8.ebuild114
-rw-r--r--dev-vcs/git-cola/git-cola-3.9.ebuild110
-rw-r--r--eclass/distutils-r1.eclass9
-rw-r--r--eclass/python-utils-r1.eclass8
46 files changed, 2344 insertions, 388 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index ace8aa6cf5f5..ce85636054f6 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -3,3 +3,4 @@ DIST awscli-1.22.31.tar.gz 2134102 BLAKE2B e1918352146b3176c8fc60cc6338a69b04a28
DIST awscli-1.22.37.tar.gz 2148283 BLAKE2B 0355bac3b0710af5ce6938a59c1e93115fb109f5aa6b05fe7bd2b5341a11c9e4bf35b826addaa1a7f8e404fd58c15cd2056802c192abe6d5acfc4ff4facd42fc SHA512 3cb1acead139329774565a5aed818eb2bc1e444627d6448c1c31eb431a6aae1e07af273c8b24a1910522764d5898946629197606e0b2762fb89d1bc163641d73
DIST awscli-1.22.40.tar.gz 2150034 BLAKE2B a03c28f05d80102fc76bafe1d535e2c8907e063c1066e4b5badb006620608c2e174851a673c77a6c0571aba39f9e29036f7d28fd1c4804e950964c08624b9b72 SHA512 3a0097296c22222daa9288972435bb0ed4b410b4f463a49cc67ff4dbb1de29b3a8b638ec337b5746a751605500ef424d5261f1da9d361cd38a4442857a3da78c
DIST awscli-1.22.41.tar.gz 2149857 BLAKE2B dfa66104b723abae76a98d40d40e67e4d7895d9767b2591ce0da1c4c6c77f50f5eaa81dcbf11e7f380df27f5236ff3950c3c80be398e37d4f91a68d95b840147 SHA512 427fe04c0e895fb0b28b37ab81c58e4b4dbeeb5500c237f8bc5cb981409a08d3f54347939a4dcbefc51f5bb480318e51741f64f118bf1ccb5e25a0699ad88ee5
+DIST awscli-1.22.42.tar.gz 2150093 BLAKE2B 5773ce97774003868b085814c72dd8471292df8768f2f6bef984d2f110ea2b53f4728d8736c08cd9e928469a779191cfc92362b1076c830787b7872071c461af SHA512 21fa5cd3c0996aeab87124786fad3ad7ebc66f226a42d4aa55e63d0d4f1ec48a380b669c5b92edb5e386a48af30d936efb93e85dae31a79efa0d4c205f331c98
diff --git a/app-admin/awscli/awscli-1.22.42.ebuild b/app-admin/awscli/awscli-1.22.42.ebuild
new file mode 100644
index 000000000000..1f3430af8a9f
--- /dev/null
+++ b/app-admin/awscli/awscli-1.22.42.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="Universal Command Line Environment for AWS"
+HOMEPAGE="https://pypi.org/project/awscli/"
+#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/aws-cli-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# botocore is x.(y+1).z
+BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(ver_cut 3-)"
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.4.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ # strip overzealous upper bounds on requirements
+ sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # integration tests require AWS credentials and Internet access
+ epytest tests/{functional,unit}
+}
+
+python_install_all() {
+ newbashcomp bin/aws_bash_completer aws
+
+ insinto /usr/share/zsh/site-functions
+ newins bin/aws_zsh_completer.sh _aws
+
+ distutils-r1_python_install_all
+
+ rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
+}
diff --git a/dev-lang/python/python-2.7.18_p13.ebuild b/dev-lang/python/python-2.7.18_p13.ebuild
index c5ca53a4ed2c..da93a624d8f9 100644
--- a/dev-lang/python/python-2.7.18_p13.ebuild
+++ b/dev-lang/python/python-2.7.18_p13.ebuild
@@ -37,14 +37,7 @@ RDEPEND="app-arch/bzip2:=
virtual/libintl
berkdb? ( || (
sys-libs/db:5.3
- sys-libs/db:5.1
sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5
- sys-libs/db:4.4
- sys-libs/db:4.3
- sys-libs/db:4.2
) )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
diff --git a/dev-lang/python/python-3.10.2-r1.ebuild b/dev-lang/python/python-3.10.2-r1.ebuild
new file mode 100644
index 000000000000..c3d1ada324fb
--- /dev/null
+++ b/dev-lang/python/python-3.10.2-r1.ebuild
@@ -0,0 +1,386 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
+ 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/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
+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:=
+ dev-lang/python-exec[python_targets_python3_10(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ 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
+ )
+ xml? ( >=dev-libs/expat-2.1:= )
+ !!<sys-apps/sandbox-2.21"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+# autoconf-archive needed to eautoreconf
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
+
+ # 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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ 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
+ --with-system-expat
+ --with-system-ffi
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ $(use_with readline readline "$(usex libedit editline readline)")
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addpredict /usr/lib/python3.10/site-packages
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+ # workaround https://bugs.gentoo.org/775416
+ addwrite /usr/lib/python3.10/site-packages
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake 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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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
+}
diff --git a/dev-lang/python/python-3.11.0_alpha4.ebuild b/dev-lang/python/python-3.11.0_alpha4.ebuild
index 92c0168fc31a..1ee098aec00d 100644
--- a/dev-lang/python/python-3.11.0_alpha4.ebuild
+++ b/dev-lang/python/python-3.11.0_alpha4.ebuild
@@ -184,7 +184,15 @@ src_configure() {
$(use_with readline readline "$(usex libedit editline readline)")
)
- OPT="" econf "${myeconfargs[@]}"
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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."
@@ -226,6 +234,8 @@ src_compile() {
addpredict /usr/lib/python3.11/site-packages
fi
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
@@ -290,11 +300,6 @@ src_install() {
emake DESTDIR="${D}" altinstall
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
diff --git a/dev-lang/python/python-3.6.15-r1.ebuild b/dev-lang/python/python-3.6.15-r1.ebuild
new file mode 100644
index 000000000000..55fe23a77484
--- /dev/null
+++ b/dev-lang/python/python-3.6.15-r1.ebuild
@@ -0,0 +1,342 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+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}/${PYVER}m"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+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:=
+ dev-libs/libffi:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ sqlite? ( >=dev-db/sqlite-3.3.8:3= )
+ ssl? ( dev-libs/openssl:= )
+ tk? (
+ >=dev-lang/tcl-8.0:=
+ >=dev-lang/tk-8.0:=
+ dev-tcltk/blt:=
+ dev-tcltk/tix
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ Lib/distutils/command/install.py \
+ Lib/distutils/sysconfig.py \
+ Lib/site.py \
+ Lib/sysconfig.py \
+ Lib/test/test_site.py \
+ Makefile.pre.in \
+ Modules/Setup.dist \
+ Modules/getpath.c \
+ configure.ac \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ 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
+
+ --with-fpectl
+ --enable-shared
+ --enable-ipv6
+ --with-threads
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="gdb faulthandler"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # 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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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, pyvenv
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ ln -s "../../../bin/pyvenv-${PYVER}" \
+ "${scriptdir}/pyvenv" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.7.12_p1-r1.ebuild b/dev-lang/python/python-3.7.12_p1-r1.ebuild
new file mode 100644
index 000000000000..074aa167ce94
--- /dev/null
+++ b/dev-lang/python/python-3.7.12_p1-r1.ebuild
@@ -0,0 +1,335 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ python-utils-r1 toolchain-funcs verify-sig
+
+MY_P="Python-${PV%_p*}"
+PYVER=$(ver_cut 1-2)
+PATCHSET="python-gentoo-patches-${PV}"
+
+DESCRIPTION="An interpreted, interactive, object-oriented programming language"
+HOMEPAGE="https://www.python.org/"
+SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~floppym/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}/${PYVER}m"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+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:=
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ 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
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ 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
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # 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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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, pyvenv
+ ln -s "../../../bin/2to3-${PYVER}" \
+ "${scriptdir}/2to3" || die
+ ln -s "../../../bin/pydoc${PYVER}" \
+ "${scriptdir}/pydoc" || die
+ ln -s "../../../bin/pyvenv-${PYVER}" \
+ "${scriptdir}/pyvenv" || die
+ # idle
+ if use tk; then
+ ln -s "../../../bin/idle${PYVER}" \
+ "${scriptdir}/idle" || die
+ fi
+}
diff --git a/dev-lang/python/python-3.8.12_p1-r2.ebuild b/dev-lang/python/python-3.8.12_p1-r2.ebuild
new file mode 100644
index 000000000000..6f6f64737f66
--- /dev/null
+++ b/dev-lang/python/python-3.8.12_p1-r2.ebuild
@@ -0,0 +1,345 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools flag-o-matic multiprocessing pax-utils \
+ 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/"
+SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
+ https://dev.gentoo.org/~floppym/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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
+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:=
+ dev-lang/python-exec[python_targets_python3_8(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ 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
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ sys-devel/autoconf-archive
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ 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
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # 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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
+
+ use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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
+}
diff --git a/dev-lang/python/python-3.9.10-r1.ebuild b/dev-lang/python/python-3.9.10-r1.ebuild
new file mode 100644
index 000000000000..b5cc8dd4a44c
--- /dev/null
+++ b/dev-lang/python/python-3.9.10-r1.ebuild
@@ -0,0 +1,380 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+WANT_LIBTOOL="none"
+
+inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
+ 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/"
+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 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
+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:=
+ dev-lang/python-exec[python_targets_python3_9(-)]
+ dev-libs/libffi:=
+ sys-apps/util-linux:=
+ >=sys-libs/zlib-1.1.3:=
+ virtual/libcrypt:=
+ virtual/libintl
+ gdbm? ( sys-libs/gdbm:=[berkdb] )
+ ncurses? ( >=sys-libs/ncurses-5.2:= )
+ readline? ( >=sys-libs/readline-4.1:= )
+ 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
+ )
+ xml? ( >=dev-libs/expat-2.1:= )"
+# bluetooth requires headers from bluez
+DEPEND="${RDEPEND}
+ bluetooth? ( net-wireless/bluez )
+ test? ( app-arch/xz-utils[extra-filters(+)] )"
+BDEPEND="
+ virtual/awk
+ virtual/pkgconfig
+ sys-devel/autoconf-archive
+ verify-sig? ( sec-keys/openpgp-keys-python )
+ !sys-devel/gcc[libffi(-)]"
+RDEPEND+=" !build? ( app-misc/mime-types )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
+
+# large file tests involve a 2.5G file being copied (duplicated)
+CHECKREQS_DISK_BUILD=5500M
+
+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, libffi and zlib are not used.
+ rm -fr Modules/expat || die
+ rm -fr Modules/_ctypes/libffi* || die
+ rm -fr Modules/zlib || die
+
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+
+ sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
+ setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
+
+ # force correct number of jobs
+ # https://bugs.gentoo.org/737660
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
+ sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local disable
+ # disable automagic bluetooth headers detection
+ use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
+ use gdbm || disable+=" gdbm"
+ use ncurses || disable+=" _curses _curses_panel"
+ use readline || disable+=" readline"
+ use sqlite || disable+=" _sqlite3"
+ use ssl || export PYTHON_DISABLE_SSL="1"
+ use tk || disable+=" _tkinter"
+ use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
+ export PYTHON_DISABLE_MODULES="${disable}"
+
+ if ! use xml; then
+ ewarn "You have configured Python without XML support."
+ ewarn "This is NOT a recommended configuration as you"
+ ewarn "may face problems parsing any XML documents."
+ fi
+
+ if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
+ einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
+ fi
+
+ if [[ "$(gcc-major-version)" -ge 4 ]]; then
+ append-flags -fwrapv
+ fi
+
+ filter-flags -malign-double
+
+ # https://bugs.gentoo.org/show_bug.cgi?id=50309
+ if is-flagq -O3; then
+ is-flagq -fstack-protector-all && replace-flags -O3 -O2
+ use hardened && replace-flags -O3 -O2
+ fi
+
+ # https://bugs.gentoo.org/700012
+ if is-flagq -flto || is-flagq '-flto=*'; then
+ append-cflags $(test-flags-CC -ffat-lto-objects)
+ fi
+
+ # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
+ tc-export CXX
+
+ # Fix implicit declarations on cross and prefix builds. Bug #674070.
+ use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
+
+ local dbmliborder
+ if use gdbm; then
+ dbmliborder+="${dbmliborder:+:}gdbm"
+ fi
+
+ if use pgo; then
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+ export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
+
+ # 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)
+ PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
+
+ if has_version "app-arch/rpm" ; then
+ # Avoid sandbox failure (attempts to write to /var/lib/rpm)
+ PROFILE_TASK+=" -x test_distutils"
+ fi
+ 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
+ --enable-ipv6
+ --infodir='${prefix}/share/info'
+ --mandir='${prefix}/share/man'
+ --with-computed-gotos
+ --with-dbmliborder="${dbmliborder}"
+ --with-libc=
+ --enable-loadable-sqlite-extensions
+ --without-ensurepip
+ --with-system-expat
+ --with-system-ffi
+
+ $(use_with lto)
+ $(use_enable pgo optimizations)
+ )
+
+ # disable implicit optimization/debugging flags
+ local -x OPT=
+ # 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=
+
+ 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
+}
+
+src_compile() {
+ # Ensure sed works as expected
+ # https://bugs.gentoo.org/594768
+ local -x LC_ALL=C
+ # Prevent using distutils bundled by setuptools.
+ # https://bugs.gentoo.org/823728
+ export SETUPTOOLS_USE_DISTUTILS=stdlib
+
+ if use pgo ; then
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ addpredict /usr/lib/python3.9/site-packages
+ fi
+
+ # also need to clear the flags explicitly here or they end up
+ # in _sysconfigdata*
+ emake CPPFLAGS= CFLAGS= LDFLAGS=
+
+ # 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
+
+ # Skip failing tests.
+ local skipped_tests="gdb"
+
+ for test in ${skipped_tests}; do
+ mv "${S}"/Lib/test/test_${test}.py "${T}"
+ done
+
+ # bug 660358
+ local -x COLUMNS=80
+ local -x PYTHONDONTWRITEBYTECODE=
+
+ local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
+
+ emake test EXTRATESTOPTS="-u-network -j${jobs}" \
+ CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
+ local result=$?
+
+ for test in ${skipped_tests}; do
+ mv "${T}/test_${test}.py" "${S}"/Lib/test
+ done
+
+ elog "The following tests have been skipped:"
+ for test in ${skipped_tests}; do
+ elog "test_${test}.py"
+ done
+
+ elog "If you would like to run them, you may:"
+ elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
+ elog "and run the tests separately."
+
+ if [[ ${result} -ne 0 ]]; then
+ die "emake test failed"
+ fi
+}
+
+src_install() {
+ local libdir=${ED}/usr/lib/python${PYVER}
+
+ emake DESTDIR="${D}" altinstall
+
+ # Remove static library
+ rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
+
+ # 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
+
+ use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
+ use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
+
+ local -x EPYTHON=python${PYVER}
+ # if not using a cross-compiler, use the fresh binary
+ if ! tc-is-cross-compiler; then
+ local -x PYTHON=./python
+ local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
+ else
+ local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
+ fi
+
+ echo "EPYTHON='${EPYTHON}'" > epython.py || die
+ python_domodule epython.py
+
+ # python-exec wrapping support
+ local pymajor=${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
+}
diff --git a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.ebuild b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.ebuild
index b76698164cc0..462e690912a0 100644
--- a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.ebuild
+++ b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0.ebuild
@@ -16,7 +16,10 @@ KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ~ppc64 ~riscv ~s390 ~sparc x86"
IUSE="cpu_flags_x86_sse2"
DEPEND="app-crypt/argon2:="
-BDEPEND="virtual/python-cffi[${PYTHON_USEDEP}]"
+BDEPEND="
+ >=dev-python/setuptools_scm-6.2[${PYTHON_USEDEP}]
+ virtual/python-cffi[${PYTHON_USEDEP}]
+"
RDEPEND="
${DEPEND}
${BDEPEND}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index ec8df2395a9b..a7a0d8e4cb1a 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.20.31.tar.gz 458553 BLAKE2B 396acd8bbc47f76a0ba65da4b83f141f2536903
DIST boto3-1.20.37.tar.gz 461197 BLAKE2B 4ae94815809401378bbd6c6b7774776c62436c3ae379be44b045105d00ffdebc6cfba1112ed6d4693662c6a00b5de53b4fcd1ea605a93cccb1406f3f983d8c9a SHA512 368abbe51e814b5a8080323f436d8e0b5ea660b31abd77a49299afd6363c3d10e51883a3237f06799be53472c3e24c76f5ba3ece8cc9721b87fe3fb40ad8911f
DIST boto3-1.20.40.tar.gz 462565 BLAKE2B bd540636392678e83112e85cb6c078d657196a46ddabaa00bdd66d00d7d0aeabe525e8639bf35fa88b039226372bfa5385ea2e1eaea790ebee7f4732d2cdfae4 SHA512 5b28a2de946942c3bb68b1d073a2567bb3cbce9732f3f620ef41c4ffab7c7d6aa4f68ec1e5357f930819f3948d50ed3a58f0176206946a5eaaa42c096fd1e020
DIST boto3-1.20.41.tar.gz 463009 BLAKE2B c60443611023dd03ddcd1cc5ca951d2efdf02c221c673a01fc056788d9ef7d1704a37c006c1706c012d11219cb6c75203518796155aa3ef144154a8a86d6620a SHA512 7bec4a384c42b238bd3f6b0f58884fab357edae2ab985142b76f6b906323c0f02568046c9bbb229bb040de336ea2cbf25fa5441cd09e7c56c94f9e7de2abc763
+DIST boto3-1.20.42.tar.gz 463092 BLAKE2B 5396f2c47db8aaec468a0e9cb3eebe8450dd3a91680ea3e87171186052222c14be40ceb637aa88149eb878cf9dc45a1f0ffe6f02388be3e7dfcc28e92cad032c SHA512 1ae9b70eb601c0445bd67a61681ad1d7765deace0f007320124d587be40d8761e4270ce590994c80313090d060e84080effd6f7c3e40ca01c868bbad2d1ff6c9
diff --git a/dev-python/boto3/boto3-1.20.42.ebuild b/dev-python/boto3/boto3-1.20.42.ebuild
new file mode 100644
index 000000000000..48ea5aa483a1
--- /dev/null
+++ b/dev-python/boto3/boto3-1.20.42.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="https://github.com/boto/boto3"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 11354302914b..dfd4a180cf55 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.23.31.tar.gz 8706949 BLAKE2B 2e31bc09173a93806fe045e5217defcf17b
DIST botocore-1.23.37.tar.gz 8728451 BLAKE2B 039352d4c727433cc5aef435cd7527fa3bc6027c3db8b2a27219d4cab8f602f74995b09e5407c1df1c7a51e37830db7e8f351484485f6b822499933c35607472 SHA512 79004d38fbfc744d2fd91364a1cc99d8be1f2d03f25f2ba77df0da4b4d429a156ac5d52ca523ee4992ff99ac83b7a14e7f49e3b12b9b6f91e164fb720c41e10d
DIST botocore-1.23.40.tar.gz 8730992 BLAKE2B 855742e6661e497c10cee6becbc9fc5eae39b1525b11008ecc27e35126d3c2ab9ce68d5d260a974d8359eeb056dad0d79dd866b6097458989989b6ae9924e49f SHA512 cbed5c316e3976594930ae1c274fdac9e25289c9818bc515e5a27c620431b05c010736f8e94d90fb935e22e5a1c50dbd4708c7674ef6e697c35475f8757df63d
DIST botocore-1.23.41.tar.gz 8732416 BLAKE2B 2d1a3284521a608db2dbfdbb8c98fb3bd01e048fb3b4a34e3dc497b6476bcbf8cd37ea9273ae3d3b09a9356aca8d1063dafdf15ae9c7ab59bbf3cc841bcc7a24 SHA512 d3d12df8faced36a9c7a75fd01d63986cb12d56a259f31211c32cbf0f1eceb1d6708e90f6a6a43189e37b86e01ceef68fcd5dcbd1867c571ca3630cbcc7e94f5
+DIST botocore-1.23.42.tar.gz 8734201 BLAKE2B 009fd49716ce5a1453c83f279f36b8b174403ef7e403caa43a030126fde6e0e9bd414dc4369791aa090d7b10065906c6a97ada1d7796553af0cbbd4af8b78d95 SHA512 bc5ec5996fb139bc18975976bb8907978caf10399867cbcf8dc39bf47a5d61749c617c704cfbbe87074a6db5f4355f645fc88f06a71251c8bd3f65adacd1d9ba
diff --git a/dev-python/botocore/botocore-1.23.42.ebuild b/dev-python/botocore/botocore-1.23.42.ebuild
new file mode 100644
index 000000000000..79a1cd5da0e2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.23.42.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="https://github.com/boto/botocore"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/jmespath[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
+)
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 90d6d04db8a8..2f66260ae117 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -3,3 +3,4 @@ DIST dulwich-0.20.27.tar.gz 416618 BLAKE2B 73ed04d9fc871a82126e212bdac0eaf235e44
DIST dulwich-0.20.28.tar.gz 416723 BLAKE2B ddbb36c65e1372e1c2fbab5d85ef26a77f40e4763eee8dc5d2ba249a6b4e37bd6e38197eaebbcb46f16df577c0ff4730ec69fff39a549adf2e5d147e7a3eabfc SHA512 5eb90dd888909f787ef5e9f0a79d7db9a31c5897e334a862c1d0593c4f115ff30047f108c7b315e0145e267f581ba0f4fd0fafb7b1b2316d3def4f70697f2e20
DIST dulwich-0.20.30.tar.gz 417219 BLAKE2B 6b5b10a37f2901424b632dad081b9972da5af7475e11389c73f8a64a57ebf421700c6591bfddc5418b9c02d61916894aeeb2371a3ceb514532fd1b9e63dffb2c SHA512 1dd18c047e8bfe9f23a10c0c55b57be7b4d89d93af4a682265dac3bf495d1594057ed755e7caad926100d35e3603006377163dc6ae71bc51a500c744064f8bbc
DIST dulwich-0.20.31.tar.gz 418063 BLAKE2B 7b914ce6509227b48fc716ed4ecabfead8b95fa17661564b3dc6b9abedb2c444d026d1261de9bb7195a14f5ffea9dfcb3103f32784f07731d2101a7c60f1abda SHA512 1f181aa62493fc8cdb2a18183f0aa2f5bb0963c1739423fc6790080bcec9d10368689934bfe8828b502bbe319ade4846428f3c4262666be01ccbce55a8803efa
+DIST dulwich-0.20.32.tar.gz 418100 BLAKE2B 21d41a7b1e491848a11ab3e3b1b63bfbe1798b38ef331136b07609f004e780672477e91a637dd3b1ccd3b26e359461e1a16d759ac2cb98d1091fbdb1968c00a9 SHA512 9af4cb4462ab9a69bea9074aace81eeb8d33087f2c53e64145991913ad132e076b62f7958551729c758cd6eeae029a278723872771ef36b046331c85ebf2fcf4
diff --git a/dev-python/dulwich/dulwich-0.20.32.ebuild b/dev-python/dulwich/dulwich-0.20.32.ebuild
new file mode 100644
index 000000000000..db9d32133a7a
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.20.32.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/dulwich/dulwich/
+ https://pypi.org/project/dulwich/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+ Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ !hppa? ( !ia64? (
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/geventhttpclient[${PYTHON_USEDEP}]
+ ) )
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_sphinx docs
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE \
+ GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v dulwich.tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 56b02a28dec3..279af5c95fc6 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,2 +1,3 @@
DIST fonttools-4.28.4.tar.gz 2945369 BLAKE2B f178552aca7b41dcec1c03d2a7c3de17cdb5f4b2e057a75e196e78a098b9959a038a9a3b14ee8546d5ea12e3546c22d2a8d9b34a922c0822bf52f78bc03f4f54 SHA512 9ecdf4186e24a8a44c6010432d71f1689ebf8461a404dde71259eb4712c4987d94bbe31b33ad6943fb2e0105fc9f8e9032a94e6ccbb4ac01fe330bb700a39c63
DIST fonttools-4.28.5.tar.gz 2948092 BLAKE2B b35f4be68cfc2be6afb209c2caee38f7088a1a17dea85fac0f40183b61a3eded59fab47f703587097669f8823a8dbc2e84b0df58305597784bed7f8c2e2b0f28 SHA512 5d87f4fadbcb447d1c1a1e97550f6a477d74bfe8647d14b35097e03e6a45a1a01632d2092483d675c523f97d4a04f39aa9b3175e535b1e1a4f19d619eb40ad5f
+DIST fonttools-4.29.0.tar.gz 2954211 BLAKE2B 47b7228b2f0f7332f54df58d8be8289b9bc3a737caa57ffafe9a8467e4d7e35db153f7e02caf8c6129af8dbb2bc18689af3f3122b0be7afee19bece83c846aad SHA512 0573970ceaf43e4987eee970aa93a6aba5af2b592b5d92a1aec36b102cb1967f380f8170f7a14bb80cd6348ef09737ac17a0f82eaa1ad73f9f5e246271d34b32
diff --git a/dev-python/fonttools/fonttools-4.29.0.ebuild b/dev-python/fonttools/fonttools-4.29.0.ebuild
new file mode 100644
index 000000000000..e91a05a05cd3
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.29.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="https://github.com/fonttools/fonttools/"
+SRC_URI="https://github.com/fonttools/fonttools/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+
+RDEPEND=">=dev-python/fs-2.4.9[${PYTHON_USEDEP}]"
+BDEPEND="
+ ${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ export FONTTOOLS_WITH_CYTHON=1
+}
+
+python_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx epytest Tests fontTools
+}
diff --git a/dev-python/installer/Manifest b/dev-python/installer/Manifest
index b18a2088dca8..9add80aee415 100644
--- a/dev-python/installer/Manifest
+++ b/dev-python/installer/Manifest
@@ -1,4 +1,2 @@
DIST installer-0.4.0-py2.py3-none-any.whl.zip 451433 BLAKE2B 933b7e63b3d0306213789d493d4df112df26b432d63ecd1f8f21449520c34bd2ad542aac25069043fbb535c44f988dca927625eafd0a5a20489fc3ce2bcf84a2 SHA512 cf303bb422e329a36007b361034144a232ba021d4013bb8678dc7c326544e74ec9a3b3fe8b9d3696433dbbe90d2ce4a0ae8967fb054bd5ed49321d470be729a8
-DIST installer-0.4.0_p20220115-cli.patch 14552 BLAKE2B 6632c1472ae0a578f6c7ed0acf1bb0d89ece924626b68c0daa28d9a7d93826837adaf6b0d40f048c4f5c2986b4328ca565340137e7b7fa7f407f62ebddc70275 SHA512 f8c6369955e0bde2bff0b935c39748d02659bc6ca0341af405e2c1026cf145479ba0b908bd769cdc05f3cc920f881b894b6a5eb7ace643951e05250ec0486b80
-DIST installer-0.4.0_p20220115.gh.tar.gz 466532 BLAKE2B 6dea3f4bacb52c4983e111d420495ee157076342a823b7062c6e5b3e4d3b70e6b2e9cb024d0c7baba6f88ed70f4303ab071d1882bc9d8dd0726f82a3e406056f SHA512 fbb0d4c8642fa2cbe2fd3be2eef7044a0353f04c67ecce20aafed33a0d7877ff55872ca5ad51390ae7e02cdb7af5dbd57b662085b60d425be95da6643b061eaa
DIST installer-0.4.0_p20220124.gh.tar.gz 468296 BLAKE2B 44763fd05b9e3cc665871817f3a6a417ddc12274ae42989e96ad432af98d42c23ab9f1c1cc37e17d4b9ce06ead7ef0c8227b2b10fe5744c899a9e3ea347e4e33 SHA512 b25fa910e8a7d9a2757af4694bf12a64c8731213a5682ab02bbe472229c99dd9190b1e7663a7632d61cbf0585006b2d4de62115c40f9b132be2c70672e23726d
diff --git a/dev-python/installer/installer-0.4.0_p20220115.ebuild b/dev-python/installer/installer-0.4.0_p20220115.ebuild
deleted file mode 100644
index 1d5d429041ce..000000000000
--- a/dev-python/installer/installer-0.4.0_p20220115.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_SETUPTOOLS=manual
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-EGIT_COMMIT="bf68f7b045ffc08784af03cf2433548c9ee9e8ca"
-DESCRIPTION="A library for installing Python wheels"
-HOMEPAGE="
- https://pypi.org/project/installer/
- https://github.com/pradyunsg/installer/
- https://installer.readthedocs.io/en/latest/
-"
-SRC_URI="
- https://github.com/pradyunsg/installer/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
- https://files.pythonhosted.org/packages/py2.py3/${PN::1}/${PN}/${P%_p*}-py2.py3-none-any.whl
- -> ${P%_p*}-py2.py3-none-any.whl.zip
- https://patch-diff.githubusercontent.com/raw/pradyunsg/installer/pull/94.diff
- -> ${P}-cli.patch
-"
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# NB: newer git doesn't use mock anymore
-BDEPEND="
- app-arch/unzip
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${DISTDIR}"/${P}-cli.patch
-)
-
-# do not use any build system to avoid circular deps
-python_compile() { :; }
-
-python_test() {
- local -x PYTHONPATH=src
- epytest
-}
-
-python_install() {
- python_domodule src/installer "${WORKDIR}"/*.dist-info
-}
diff --git a/dev-python/markdown-it-py/Manifest b/dev-python/markdown-it-py/Manifest
index f6fc23e4fb2c..04ffab946247 100644
--- a/dev-python/markdown-it-py/Manifest
+++ b/dev-python/markdown-it-py/Manifest
@@ -1 +1,2 @@
DIST markdown-it-py-2.0.0.gh.tar.gz 265346 BLAKE2B f509c3fdc82a2665bb9bca862118c544cf203afbb8454cdbb5f58c58aeadcd1fbd66ef98615ac6501e4fe8ce83d2e668de29d2e67301ddda06d1cbbaf6cf7422 SHA512 226111a8d0e57d9def2076053abfba1b7533bb0cdee569b8e1c7ece2b61ebce49daa263aee673683b83974b7597df0e6d62c1723860af684fe306c55619357ca
+DIST markdown-it-py-2.0.1.gh.tar.gz 265850 BLAKE2B fe61608f14b22dffb81bb943df75967300e8366ff1b1c252b35974414efa6b2daac223b09f40ff6d7feab70c5b033b0eee35a4ee5f8523325f12311f4cbeef57 SHA512 fccf00de7e94986a29047da948d6ebb6304ae3645e79bbad480366c3aadbd417b95d96489d167a532eee3c2e17b67e22777224290564c7bcc17d72fec29b08df
diff --git a/dev-python/markdown-it-py/markdown-it-py-2.0.1.ebuild b/dev-python/markdown-it-py/markdown-it-py-2.0.1.ebuild
new file mode 100644
index 000000000000..834cfae053f4
--- /dev/null
+++ b/dev-python/markdown-it-py/markdown-it-py-2.0.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="Python port of markdown-it, Markdown parser"
+HOMEPAGE="https://pypi.org/project/markdown-it-py/
+ https://github.com/executablebooks/markdown-it-py"
+SRC_URI="
+ https://github.com/executablebooks/markdown-it-py/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/attrs-22[${PYTHON_USEDEP}]
+ dev-python/mdurl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Unimportant tests needing a new dep linkify
+ tests/test_linkify.py::test_token_levels
+ tests/test_port/test_fixtures.py::test_linkify
+)
+
+EPYTEST_IGNORE=(
+ # No need to benchmark
+ benchmarking/
+)
diff --git a/dev-python/numpydoc/Manifest b/dev-python/numpydoc/Manifest
index 73b5150901a4..ad77cba92360 100644
--- a/dev-python/numpydoc/Manifest
+++ b/dev-python/numpydoc/Manifest
@@ -1 +1,2 @@
DIST numpydoc-1.1.0.tar.gz 609482 BLAKE2B 475be835a760dd148b7132a3149a1b79193425b70bbaa51b29a3909c73ed11a933181c917a0f0d0b56d8d30baced2142897e0a931b5eeb6449092d0a2a81632b SHA512 10dfc5e40ca851401be7d7cca3cbf24bf8ded8573c01344976321cd65fe351d985ee0bf48a92a485a43f8fb191c246e4822545a1583c87c1214d819a5fdfc106
+DIST numpydoc-1.2.tar.gz 69659 BLAKE2B e5483ad3d6d82e9ff51d2d7cdc36c75407361059a696047f1d0fb7d3307c36ee056e8c0b9eb45fc11e4d341350c1b1dd021d60252055154c6907942e549b9555 SHA512 b8ea82a947c7fca9d02c2083f6040f2a1a115400e43257fd6ce7ac9b1b174d22ed7723053b87893d6bff8f47a625932297c884e853be4e00d3ae2262ad0161cf
diff --git a/dev-python/numpydoc/numpydoc-1.2.ebuild b/dev-python/numpydoc/numpydoc-1.2.ebuild
new file mode 100644
index 000000000000..1d6b9cd2cb0a
--- /dev/null
+++ b/dev-python/numpydoc/numpydoc-1.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
+HOMEPAGE="https://pypi.org/project/numpydoc/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov-report= --cov=numpydoc::' setup.cfg || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require Internet (intersphinx)
+ numpydoc/tests/test_full.py::test_MyClass
+ numpydoc/tests/test_full.py::test_my_function
+ )
+ epytest --pyargs numpydoc
+}
diff --git a/dev-python/pdm-pep517/Manifest b/dev-python/pdm-pep517/Manifest
index f9273745987d..a2bfe9f63f76 100644
--- a/dev-python/pdm-pep517/Manifest
+++ b/dev-python/pdm-pep517/Manifest
@@ -1 +1,2 @@
DIST pdm-pep517-0.10.0.gh.tar.gz 189457 BLAKE2B 5a51b62dbc828aec5bca6ada8c7ecb479dd7491f22251392198a3d8e183f2d3d86fd4264addd9a428c37a24041365f3eeecec0a33c3f1a39ea8a1a8e6827be91 SHA512 7eb76bdf3db99ec1cf76a467617ce15423eaa465800efa9ccb248efb3c3cb5644b8e6a9ce04d6181dc9f3b5287a167f62f25d5e3334929f3e947a62ca9633d01
+DIST pdm-pep517-0.10.1.gh.tar.gz 189525 BLAKE2B 10d80fee2ac45fd68c61baf9a8ee7365da19a5daa085fdecd3164b3271cf0c0ee8ad110b1f96a33a4eecdceace72c2d4ee1ce789331c208eb4a67e3b4e3fe56a SHA512 acdf36eeb2baf90c1c80b676901ac06946fbb32f2a5c2bfbdfd85d0889ae22a0851dede4f5898d109d20583504b311cbec6903deadfb77e3f1dd7ff6a1098e04
diff --git a/dev-python/pdm-pep517/pdm-pep517-0.10.1.ebuild b/dev-python/pdm-pep517/pdm-pep517-0.10.1.ebuild
new file mode 100644
index 000000000000..9c1dcf99a0c9
--- /dev/null
+++ b/dev-python/pdm-pep517/pdm-pep517-0.10.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{8..10} pypy3 )
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-pep517/
+ https://github.com/pdm-project/pdm-pep517/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-pep517/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# setuptools are used to build C extensions
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_DESELECT+=(
+ tests/test_wheel.py::test_override_tags_in_wheel_filename
+ )
+ fi
+ epytest
+}
diff --git a/dev-python/pure_eval/Manifest b/dev-python/pure_eval/Manifest
index fff84ca7e352..b017b8262d55 100644
--- a/dev-python/pure_eval/Manifest
+++ b/dev-python/pure_eval/Manifest
@@ -1 +1,2 @@
DIST pure_eval-0.2.1.tar.gz 19430 BLAKE2B 6907cf2fc2a7118274a80dacdebeae163be57cc31086bc66f8ad9960f4624accde78149db9098bfba902774b367e2e0e9c5aac53c4e75119465d5f07cabbf17d SHA512 938d5bc5676ca39b728ab5a9c98d33a1eb7a2e8a66e61e3ae16e516a7c3bcc1b6d73c402faaec44581baeec6fee7297092c2473c257588948fabf786b14a7204
+DIST pure_eval-0.2.2.tar.gz 19395 BLAKE2B 19f86a1436e5f1a026a24f62c435e8970d84960f4cde1de80c58949b1aede6aa7562e8430e10e3f7171212c31d5699a3321fad5fb2ea1eed961a30d43a632a79 SHA512 35d20cbbfd513b7ac341759e619401a5f57b7b9df8abd09ce6414d4ee6bfa45dcadbad7529d067e81ad7ea2107c14fd03783a3a77f8074dad30d2e5161656804
diff --git a/dev-python/pure_eval/pure_eval-0.2.2.ebuild b/dev-python/pure_eval/pure_eval-0.2.2.ebuild
new file mode 100644
index 000000000000..8490802a5f09
--- /dev/null
+++ b/dev-python/pure_eval/pure_eval-0.2.2.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Safely evaluate AST nodes without side effects"
+HOMEPAGE="https://github.com/alexmojaki/pure_eval"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~riscv"
+
+BDEPEND="dev-python/wheel[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/py-zabbix/Manifest b/dev-python/py-zabbix/Manifest
deleted file mode 100644
index 771920ad78c8..000000000000
--- a/dev-python/py-zabbix/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST py-zabbix-1.1.7.tar.gz 11447 BLAKE2B a61450f4d1783bbf6879b94300ae71fbecded5f232c234402d19c59af9bea5f1ef164c549a433a4b221032b6105d4ecd0f3515104ed8f02d3da8888ee3c45a90 SHA512 eaa8c5e5ad5604ad4ad41de439ab7856f6907346caa56bed67520df3316f313038e300cbf96f8389dca5be30079392406bcbb26f3ba40d2ef39ccd2fc99c11b6
diff --git a/dev-python/py-zabbix/metadata.xml b/dev-python/py-zabbix/metadata.xml
deleted file mode 100644
index 359f1d2181fa..000000000000
--- a/dev-python/py-zabbix/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>alexxy@gentoo.org</email>
- <name>Alexey Shvetsov</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">py-zabbix</remote-id>
- <remote-id type="github">adubkov/py-zabbix</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild b/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
deleted file mode 100644
index 98d6f4182470..000000000000
--- a/dev-python/py-zabbix/py-zabbix-1.1.7.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Zabbix module for Python"
-HOMEPAGE="https://pypi.org/project/py-zabbix https://github.com/adubkov/py-zabbix"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
diff --git a/dev-python/pytest-flake8/pytest-flake8-1.0.7.ebuild b/dev-python/pytest-flake8/pytest-flake8-1.0.7.ebuild
index 6398ac03bfb8..29d153438360 100644
--- a/dev-python/pytest-flake8/pytest-flake8-1.0.7.ebuild
+++ b/dev-python/pytest-flake8/pytest-flake8-1.0.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,8 +6,10 @@ EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
-DESCRIPTION="py.test plugin for flake8"
-HOMEPAGE="https://github.com/tholo/pytest-flake8 https://pypi.org/project/pytest-flake8"
+DESCRIPTION="pytest plugin for flake8"
+HOMEPAGE="
+ https://github.com/tholo/pytest-flake8/
+ https://pypi.org/project/pytest-flake8/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
@@ -17,3 +19,7 @@ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 x86"
RDEPEND=">=dev-python/flake8-3.5.0[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
+
+python_test() {
+ epytest -p flake8
+}
diff --git a/dev-python/pytest-flakes/Manifest b/dev-python/pytest-flakes/Manifest
index 38db5f1fb820..545b526b2ef0 100644
--- a/dev-python/pytest-flakes/Manifest
+++ b/dev-python/pytest-flakes/Manifest
@@ -1,2 +1 @@
-DIST pytest-flakes-4.0.3.tar.gz 7312 BLAKE2B cf62d7e11a0521592325492c76e67cd51384b31d8a6191f10940230014c9a8797b3603e24664c022add5cec18ff7c3b558cd7507af47e8c90a9e90499f39e583 SHA512 ca63d68063cf48789d86dee3707b3ea7c5076fc1f636e17f408ad6f444303fb3a701af8d1e464d49af745e350272bffe8596853a52c01baa0bdb0b6b0c0bb303
DIST pytest-flakes-4.0.4.tar.gz 7271 BLAKE2B aee9b573c1d4e173465d8547a568433eec3a6ab93a05c1a7655d7ecfd3dff2628f50b4f13f2aaa9a8f3ff365552f54cd1a5a3e4c7b347b056615e136fc5c5657 SHA512 f3bc82bef2dad4a1bf145179f1d25330adcb123cb6e2dd9802b0696be56ef66a8c705725a4e05a9fbbdc37d7482af7fe615735e0e94055f66b0893cc4cf15e53
diff --git a/dev-python/pytest-flakes/files/pytest-flakes-4.0.3-fix-py3.10.patch b/dev-python/pytest-flakes/files/pytest-flakes-4.0.3-fix-py3.10.patch
deleted file mode 100644
index 35b4809c865b..000000000000
--- a/dev-python/pytest-flakes/files/pytest-flakes-4.0.3-fix-py3.10.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Fri, 27 Aug 2021 08:23:16 +0300
-Subject: [PATCH] test_syntax_error: fix for python 3.10
-
-Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
---- a/test_flakes.py
-+++ b/test_flakes.py
-@@ -20,7 +20,8 @@ for x in []
- pass
- """)
- result = testdir.runpytest("--flakes", "--ignore", testdir.tmpdir)
-- assert "1: invalid syntax" in result.stdout.str()
-+ assert ("1: invalid syntax" in result.stdout.str() or
-+ "1: expected ':'" in result.stdout.str())
- assert 'passed' not in result.stdout.str()
-
-
diff --git a/dev-python/pytest-flakes/pytest-flakes-4.0.3.ebuild b/dev-python/pytest-flakes/pytest-flakes-4.0.3.ebuild
deleted file mode 100644
index d3a52d73420f..000000000000
--- a/dev-python/pytest-flakes/pytest-flakes-4.0.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Collection of small Python functions & classes"
-HOMEPAGE="https://pypi.org/project/pytest-flakes/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pyflakes[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-fix-py3.10.patch"
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-flakes/pytest-flakes-4.0.4.ebuild b/dev-python/pytest-flakes/pytest-flakes-4.0.4.ebuild
index ccb22189a668..2dbe18a13be2 100644
--- a/dev-python/pytest-flakes/pytest-flakes-4.0.4.ebuild
+++ b/dev-python/pytest-flakes/pytest-flakes-4.0.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,3 +19,7 @@ RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
+
+python_test() {
+ epytest -p flakes
+}
diff --git a/dev-python/pytest-param-files/Manifest b/dev-python/pytest-param-files/Manifest
index 1654e8c02308..5234361ee133 100644
--- a/dev-python/pytest-param-files/Manifest
+++ b/dev-python/pytest-param-files/Manifest
@@ -1 +1,2 @@
DIST pytest-param-files-0.3.3.gh.tar.gz 6858 BLAKE2B 6614b00dcfab63241daee0951bea442afb885942c4ab1ce0b2f6b4c3fe1e0a6048955d79cb1bd703f31ffedaede19b36f40caded98e0c8dc014b64e847110a00 SHA512 d52d0aa44088879ee5cd55f8af56ed649a1a82420bed357be043fdcc0df4899002cae36d95c6864126eaaa97877a21aedabb00dd12a8730d6aee3bcaecdcee62
+DIST pytest-param-files-0.3.4.gh.tar.gz 6882 BLAKE2B e2e96bd2cf7b8676f92eeb7821ef76f1f82bb066210170ed4d04a16a7fb3ce346bcd63688ef9d46118c03fd74812fd821fff0414565befb8c558d03d15af2945 SHA512 2df6fe798aab743fdbf892b88ee1d09c554119429167e85bccb87e4ae9d487f8ab5a66c4157827500e8a5d2930277c7490348f6c38f23243e421d5449bde2df5
diff --git a/dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild
new file mode 100644
index 000000000000..4bd1d3f4866b
--- /dev/null
+++ b/dev-python/pytest-param-files/pytest-param-files-0.3.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=flit
+inherit distutils-r1
+
+DESCRIPTION="Pytest parametrize decorators from external files."
+HOMEPAGE="https://pypi.org/project/pytest_param_files/
+ https://github.com/chrisjsewell/pytest-param-files"
+SRC_URI="
+ https://github.com/chrisjsewell/pytest-param-files/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/stack_data/Manifest b/dev-python/stack_data/Manifest
index 93736d786b3a..b812efd89f6d 100644
--- a/dev-python/stack_data/Manifest
+++ b/dev-python/stack_data/Manifest
@@ -1 +1,2 @@
DIST stack_data-0.1.3.tar.gz 35593 BLAKE2B 8d60f7c589f75dc8362c25ce88c3d46935768033373fd22846e81cce26609c8137ff64d346904ed38181dc27d24e14ed4c4d0217a1229881b6f7373ea359161f SHA512 89f6fcc680b245747c505fac81780834280d3c67aa37f8ba5e782552d074566fe5d8645ccf1e0e47563593b842a4f4dbe50c0ee100773e1888475728ee0007bb
+DIST stack_data-0.1.4.tar.gz 36049 BLAKE2B 277d403a441ddd6e3d3019fa8e49e5703d140ee0df7ceac81b7a3b513241ed3759a105b8ada896c328804e35965a26527608477870435d4d6506e58651249d40 SHA512 0dc697513adde1f275eec96291f8ee937bd24b25ba2ee51707f973e8eb30c740159a3b0211ec8617a282ccc22c0db0bd6e75244e0778390d744d64950aaa9ba0
diff --git a/dev-python/stack_data/stack_data-0.1.4.ebuild b/dev-python/stack_data/stack_data-0.1.4.ebuild
new file mode 100644
index 000000000000..8d3602838639
--- /dev/null
+++ b/dev-python/stack_data/stack_data-0.1.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Extract data from Python tracebacks for informative displays"
+HOMEPAGE="https://github.com/alexmojaki/stack_data"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~riscv"
+
+RDEPEND="
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/pure_eval[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ dev-python/littleutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-vcs/git-cola/Manifest b/dev-vcs/git-cola/Manifest
index 7008ac23a0cc..f160122dd063 100644
--- a/dev-vcs/git-cola/Manifest
+++ b/dev-vcs/git-cola/Manifest
@@ -1,4 +1,2 @@
DIST git-cola-3.10.1.tar.gz 996036 BLAKE2B 2d705b853cf67a0f437d8dc77d46d5804124af600f872717c832843586d3c739e67a79ebe50ba2a8db38afd4217a7bb94db9cb8e27d51a00087ced340f4877d6 SHA512 79496023bfaa05049079eec2cdaf8449a6598faebedb4a13acf178209edc63e725eb1b003700a1dcfee09072d34e5a49d7053f070e45b498562cc124cd0582d4
DIST git-cola-3.11.0.tar.gz 997046 BLAKE2B 7a8270c30e0cbd919dcd6f8e38ca420257630717e535ef11ed337fde2461b544453b20363906a5b769cd23d96ca77ce72d71729f46ae6abada83ae4d33628cbc SHA512 f05862b9b27ff5dfe9b220bbee4f3f455a7ce98acaa0bb0a8cdbb44f8cb97ce265df036ba48d5abb0bf46a91fd782cd73a67ca544b4662d36e8023e92c80b541
-DIST git-cola-3.8.tar.gz 980190 BLAKE2B 0502701c63f370b304a83094b2154757d1810216e82882472c7eac9633ac26eaa75974af05c32c18203d03b67a027655ea85c0e335915f204f668fcc86ed9c3f SHA512 9ae04dfef3b5bc64452a8df43e7afa93091f282097447208dadbd17522b62e5c43f7afce3eecc59fc4e38863496cdb41ac8b0453bbf327121629fbde20e45bb0
-DIST git-cola-3.9.tar.gz 992335 BLAKE2B ab591d953173aa69773a82eb91ebcc6fa5bc5e31efa78ad27f3e1e57e22c4222d70914f059dffb0b05b2b366d3208e127ad123ccfeb1b4c1b648daae0bf53352 SHA512 91f4bb40c166669e05136985920113d7482a396a46adf45fcf05e8ee56677fee7ebfb6a793face79737a17be42aa5e32b216a30847e8e4a5b8dc5b3b4eba5395
diff --git a/dev-vcs/git-cola/git-cola-3.11.0.ebuild b/dev-vcs/git-cola/git-cola-3.11.0.ebuild
index 1aa8af03490f..ebab708004f6 100644
--- a/dev-vcs/git-cola/git-cola-3.11.0.ebuild
+++ b/dev-vcs/git-cola/git-cola-3.11.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -34,7 +34,6 @@ BDEPEND="sys-devel/gettext
test? (
${VIRTUALX_DEPEND}
dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-flake8[\${PYTHON_USEDEP}]
dev-python/mock[\${PYTHON_USEDEP}]
dev-python/PyQt5[\${PYTHON_USEDEP},gui,widgets]
)
@@ -58,6 +57,9 @@ python_prepare_all() {
# fix ssh-askpass directory reference
sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
+ # disable flake8 testing, it's not useful for ebuilds
+ sed -i -e 's:--flake8::' pytest.ini || die
+
distutils-r1_python_prepare_all
}
diff --git a/dev-vcs/git-cola/git-cola-3.8.ebuild b/dev-vcs/git-cola/git-cola-3.8.ebuild
deleted file mode 100644
index d467fc38d90b..000000000000
--- a/dev-vcs/git-cola/git-cola-3.8.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-DISTUTILS_SINGLE_IMPL=true
-DISTUTILS_USE_SETUPTOOLS=no
-inherit distutils-r1 readme.gentoo-r1 virtualx xdg-utils
-
-DESCRIPTION="The highly caffeinated git GUI"
-HOMEPAGE="https://git-cola.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/PyQt5[network,${PYTHON_USEDEP}]
- dev-python/QtPy[gui,${PYTHON_USEDEP}]
- dev-python/send2trash[${PYTHON_USEDEP}]
- ')
- dev-vcs/git
-"
-BDEPEND="sys-devel/gettext
- $(python_gen_cond_dep "
- doc? ( dev-python/sphinx[\${PYTHON_USEDEP}] )
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/nose[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- )
- ")
-"
-
-python_prepare_all() {
- # make sure that tests also use the system provided QtPy
- rm -r qtpy || die
-
- rm share/git-cola/bin/*askpass* || die
-
- # don't install docs into wrong location
- sed -i -e '/doc/d' setup.py || die
-
- # fix doc directory reference
- sed -i \
- -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
- cola/resources.py || die
-
- # fix ssh-askpass directory reference
- sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- mydistutilsargs=( --no-vendor-libs --no-private-libs )
-}
-
-python_compile_all() {
- cd share/doc/${PN}/ || die
- if use doc ; then
- emake all
- else
- sed \
- -e '/^install:/s:install-html::g' \
- -e '/^install:/s:install-man::g' \
- -i Makefile || die
- fi
-}
-
-python_test() {
- GIT_CONFIG_NOSYSTEM=true \
- PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="en_US.utf8" \
- virtx nosetests --verbose --with-id --with-doctest \
- --exclude=sphinxtogithub
-}
-
-src_install() {
- distutils-r1_src_install
-}
-
-python_install_all() {
- cd share/doc/${PN}/ || die
- emake \
- DESTDIR="${D}" \
- docdir="${EPREFIX}/usr/share/doc/${PF}" \
- prefix="${EPREFIX}/usr" \
- install
-
- # remove empty bin folder
- rm -R "${ED}"/usr/share/git-cola/bin
-
- use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
-
- distutils-r1_python_install_all
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/dev-vcs/git-cola/git-cola-3.9.ebuild b/dev-vcs/git-cola/git-cola-3.9.ebuild
deleted file mode 100644
index ef74afe09e0a..000000000000
--- a/dev-vcs/git-cola/git-cola-3.9.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-DISTUTILS_SINGLE_IMPL=true
-DISTUTILS_USE_SETUPTOOLS=no
-inherit distutils-r1 readme.gentoo-r1 virtualx xdg-utils
-
-DESCRIPTION="The highly caffeinated git GUI"
-HOMEPAGE="https://git-cola.github.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/PyQt5[network,${PYTHON_USEDEP}]
- dev-python/QtPy[gui,${PYTHON_USEDEP}]
- dev-python/send2trash[${PYTHON_USEDEP}]
- ')
- dev-vcs/git
-"
-BDEPEND="sys-devel/gettext
- $(python_gen_cond_dep "
- doc? ( dev-python/sphinx[\${PYTHON_USEDEP}] )
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/nose[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- )
- ")
-"
-
-python_prepare_all() {
- # make sure that tests also use the system provided QtPy
- rm -r qtpy || die
-
- rm share/git-cola/bin/*askpass* || die
-
- # don't install docs into wrong location
- sed -i -e '/doc/d' setup.py || die
-
- # fix doc directory reference
- sed -i \
- -e "s/'doc', 'git-cola'/'doc', '${PF}'/" \
- cola/resources.py || die
-
- # fix ssh-askpass directory reference
- sed -i -e 's/resources\.share/resources\.prefix/' cola/app.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- mydistutilsargs=( --no-vendor-libs --no-private-libs )
-}
-
-python_compile_all() {
- cd share/doc/${PN}/ || die
- if use doc ; then
- emake all
- else
- sed \
- -e '/^install:/s:install-html::g' \
- -e '/^install:/s:install-man::g' \
- -i Makefile || die
- fi
-}
-
-python_test() {
- GIT_CONFIG_NOSYSTEM=true \
- PYTHONPATH="${S}:${S}/build/lib:${PYTHONPATH}" LC_ALL="C.utf8" \
- virtx nosetests --verbose --with-id --with-doctest \
- --exclude=sphinxtogithub
-}
-
-python_install_all() {
- cd share/doc/${PN}/ || die
- emake \
- DESTDIR="${D}" \
- docdir="${EPREFIX}/usr/share/doc/${PF}" \
- prefix="${EPREFIX}/usr" \
- install
-
- # remove empty bin folder
- rm -R "${ED}"/usr/share/git-cola/bin || die
-
- use doc || HTML_DOCS=( "${FILESDIR}"/index.html )
-
- distutils-r1_python_install_all
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index a91442459346..9b2dc841054c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -157,7 +157,7 @@ _distutils_set_globals() {
# installer is used to install the wheel
# tomli is used to read build-backend from pyproject.toml
bdep+='
- >=dev-python/installer-0.4.0_p20220115[${PYTHON_USEDEP}]
+ >=dev-python/installer-0.4.0_p20220124[${PYTHON_USEDEP}]
dev-python/tomli[${PYTHON_USEDEP}]'
case ${DISTUTILS_USE_PEP517} in
flit)
@@ -971,13 +971,6 @@ distutils-r1_python_compile() {
--no-compile-bytecode ||
die "installer failed"
- # TODO: workaround for a bug in installer; remove once we depend
- # on a properly fixed version
- # https://github.com/pradyunsg/installer/commit/245896289a590bd9be505bd061d4f49372948a16
- if [[ -d ${root}${EPREFIX}/usr/bin ]]; then
- chmod +x "${root}${EPREFIX}"/usr/bin/* || die
- fi
-
# remove installed licenses
find "${root}$(python_get_sitedir)" \
'(' -path '*.dist-info/COPYING*' -o \
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 85de8cb92182..3d55bc0905f2 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1321,6 +1321,14 @@ epytest() {
-Wdefault
# override color output
"--color=${color}"
+ # disable the undesirable-dependency plugins by default to
+ # trigger missing argument strips. strip options that require
+ # them from config files. enable them explicitly via "-p ..."
+ # if you *really* need them.
+ -p no:cov
+ -p no:flake8
+ -p no:flakes
+ -p no:pylint
)
local x
for x in "${EPYTEST_DESELECT[@]}"; do