summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-03-13 07:18:24 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-03-13 07:18:24 +0000
commite095eea8f0b04a276942581be7a4b98f53876137 (patch)
tree5902fa067281f15d4c4c35992aeb3f3793518f49 /dev-python
parent21d6e460104f39c29c5e383f6112e58aa436ae85 (diff)
downloadbaldeagleos-repo-e095eea8f0b04a276942581be7a4b98f53876137.tar.gz
baldeagleos-repo-e095eea8f0b04a276942581be7a4b98f53876137.tar.xz
baldeagleos-repo-e095eea8f0b04a276942581be7a4b98f53876137.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Nuitka/Manifest1
-rw-r--r--dev-python/Nuitka/Nuitka-1.5.ebuild54
-rw-r--r--dev-python/exceptiongroup/Manifest1
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.1.1.ebuild36
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.5.20.ebuild29
-rw-r--r--dev-python/nbsphinx/Manifest1
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.0.ebuild28
-rw-r--r--dev-python/openpyxl/Manifest1
-rw-r--r--dev-python/openpyxl/openpyxl-3.1.2.ebuild36
-rw-r--r--dev-python/pypdf/Manifest1
-rw-r--r--dev-python/pypdf/pypdf-3.5.2.ebuild60
-rw-r--r--dev-python/pyproject-api/Manifest1
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.5.1.ebuild41
-rw-r--r--dev-python/pyscreenshot/Manifest1
-rw-r--r--dev-python/pyscreenshot/pyscreenshot-3.1.ebuild58
-rw-r--r--dev-python/pytest-xdist/Manifest1
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.2.1.ebuild45
-rw-r--r--dev-python/qtconsole/Manifest1
-rw-r--r--dev-python/qtconsole/qtconsole-5.4.1.ebuild59
-rw-r--r--dev-python/spur/Manifest1
-rw-r--r--dev-python/spur/spur-0.3.23.ebuild36
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.4.7.ebuild90
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.21.0.ebuild102
26 files changed, 687 insertions, 0 deletions
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index a3ca63d203ae..095d3f5751a9 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -2,3 +2,4 @@ DIST Nuitka-1.4.5.tar.gz 4131887 BLAKE2B b4eaea811a98f1ea5618a477841e2fd2ef41eb4
DIST Nuitka-1.4.6.tar.gz 4131786 BLAKE2B a72d8b8925dfdd7ca6416912d725cd711c1f8cedabbdc4ea1764645d935529c2b1561c561c6fe8b8cd2babdadd0b6cd3c239ff7e844bd745cebc3b2d94cfbd63 SHA512 883806d787bd35c687bd0771a0f3182d1d157c4c0f403c5b60a03536631823fbdfbaf32c3c29f484aa7de3dacf01056183607109036f60c5602ab08072d8e40d
DIST Nuitka-1.4.7.tar.gz 4132335 BLAKE2B 5c9e653c8ffa7ad9e757a20d4008e4e2a3083cfefcbce826f0904c0281a9be95dbfb78ad1aab2dd0819b9bf3a800a3b35ee422e38672655fdd900162f9c0d090 SHA512 fb219f5a53bc173365d23f4eae0814fa051c1312bc732ac2b717924dd2336bf140af0237834062223294c840f63b6b4766422f8fd189151ab73877eeb9c39ee6
DIST Nuitka-1.4.8.tar.gz 4132731 BLAKE2B 8e02acdb96596d5e74c486ae069ad4dba2ddff5e5b530d28f67551914eee8dc559fbe25d51454a18977d6e2877cdf9d3626cb5aad8942d0eb17b3e804ca0da21 SHA512 0d5646bf4b7f1de6f3015a59186ef2ff775f45326be6a83ede665e9a10003ed5c481b68016e863f196e5ab5cb2866ad1c6dacbe77edbfdecabab045ae1480b14
+DIST Nuitka-1.5.tar.gz 4169208 BLAKE2B 9a0fed364ba69c01df309a23e08258c8149be81dcdfc26cbe2e5a08081eb98d1a6e2ce393dd372f30ee9f886c2d3f4f181387ab788f6393dd88799ea5298a8f8 SHA512 33c9cad89c021e4472194b769c54e84b965eab5f0c8715482ef33e3c94916b770dee1a9f400e402395fdc854322fd486c385d6e4f99fb328ac245e230db104e0
diff --git a/dev-python/Nuitka/Nuitka-1.5.ebuild b/dev-python/Nuitka/Nuitka-1.5.ebuild
new file mode 100644
index 000000000000..f1bec277226a
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-1.5.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 flag-o-matic optfeature pypi
+
+DESCRIPTION="Python to native compiler"
+HOMEPAGE="
+ https://www.nuitka.net/
+ https://github.com/Nuitka/Nuitka/
+ https://pypi.org/project/Nuitka/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-util/scons[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( dev-util/ccache )
+"
+
+DOCS=( Changelog.pdf Developer_Manual.pdf README.pdf )
+
+distutils-r1_src_prepare() {
+ # remove vendored version of SCons that is Python2 only
+ # this should be removed when upstream removes support for Python2
+ rm -vR "nuitka/build/inline_copy/lib/scons-2.3.2/SCons" || die
+ eapply_user
+}
+
+python_install() {
+ distutils-r1_python_install
+ doman doc/nuitka3.1 doc/nuitka3-run.1
+}
+
+python_test() {
+ append-ldflags -Wl,--no-warn-search-mismatch
+ ./tests/basics/run_all.py search || die
+}
+
+pkg_postinst() {
+ optfeature "support for stand-alone executables" app-admin/chrpath
+}
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index f84c2122833d..8733826aee0d 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1,2 @@
DIST exceptiongroup-1.1.0.gh.tar.gz 22724 BLAKE2B 2de748494fe1356353b7f70d3afc7be7ecb8df4166f57461459c7f463bc5c22340c9073b0b0e032a52680560e37e4004c754fb4ddcc1a5a70f8dd0e973b1d8a9 SHA512 588b4ec3cae01a64140aac191cbdf8d0631eb614d430bbdbd02d17d8ff43aad9d233c3545694c6fffb622a2b3c38a289e20f1b8db6bf0e9b8819d668e38a87e3
+DIST exceptiongroup-1.1.1.gh.tar.gz 23107 BLAKE2B d68778e4a4d14add65ee2300fd15308c17b2cae1733bf4e8938e88b5cf76b9f19d8f9c102c06298769ff9541ded02868763d9c4aac776d22f78c250ea2d942ce SHA512 eb072fef6160cc6d332ae6e08ee7a34ce478188d143f97daae3f8251a8253a7b460249a121af27d66953ff8000ea5ef43a6dee145b14ba7b2968790132a766bf
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.1.1.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.1.1.ebuild
new file mode 100644
index 000000000000..81b215620048
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.1.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit_scm
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Backport of PEP 654 (exception groups)"
+HOMEPAGE="
+ https://github.com/agronholm/exceptiongroup/
+ https://pypi.org/project/exceptiongroup/
+"
+# pypi sdist does not include tests as of 1.1.1
+# https://github.com/agronholm/exceptiongroup/pull/59
+SRC_URI="
+ https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index 6e73518098f6..b7575fb36df1 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,3 +1,4 @@
DIST identify-2.5.17.gh.tar.gz 101448 BLAKE2B d9319bbbe67f8c2c7a0ed8b7db8efc64f7c90d5cb3706366a00e24a78afd76c0c5707514d660febf02397f95d02785ea52f65e09c239d83d82ef84488d9dbbd2 SHA512 c9baf22f6893802c83e302fabe3cd4ca46a3b64ae6ef4fd5c939b131545c260e24861e59a617b3e4c4812e1a250692a26e4f8febaa389eaf6958d5c2aa79aeb2
DIST identify-2.5.18.gh.tar.gz 101457 BLAKE2B 4575b4084dc28678275704f44a02d171d79a02f015e6d2267545b18c4288b55609cc64af2f9eca866bc2d164ed534cac59d69915e23fd3100cb680fcb08ceae0 SHA512 c7c6998340b77ddb13c88df8dbcc9b72efb68bf3cbf8a7ab2b81a4bda1180d04d4bdd9db360b7203235e2ebd252852de2c806b73e6a7236786bffbd3f4d4a672
DIST identify-2.5.19.gh.tar.gz 101475 BLAKE2B 12302ccfaeebd38cca84a530775e5acb2a6b9ef8a741a8d924c09a15f0d410058354e3725df31683a8d20f01767fe78745f60efba6f553b728bce089b463a9d5 SHA512 d188080a83cb26c45108d676dd47498c2a10caa4af02cae3c11950ebd3c1c9478c5e730b68d6a02297c6e563dbb9df41dd324627c6e5f28f60b337e439f7e3c7
+DIST identify-2.5.20.gh.tar.gz 101473 BLAKE2B eaf6994d7b2f8e0449b84fcb6eca14210b3a123ad48709cf9e7bc9557b116dc9fbb5103566b60bfda1a19f6428b8432b2ad6099c471b1f86b898d46dc2c0b4f1 SHA512 00905b2937766c3885b9a604cc55e6201ffcea486cfd553217659652d97632ed11cd12512ecbe2ddd3394e836fbab5ec439a55257dcccd6ed3a2f148df5ca92b
diff --git a/dev-python/identify/identify-2.5.20.ebuild b/dev-python/identify/identify-2.5.20.ebuild
new file mode 100644
index 000000000000..718b36c70087
--- /dev/null
+++ b/dev-python/identify/identify-2.5.20.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/nbsphinx/Manifest b/dev-python/nbsphinx/Manifest
index 9bd2a7ec46dc..3fe774ab5455 100644
--- a/dev-python/nbsphinx/Manifest
+++ b/dev-python/nbsphinx/Manifest
@@ -1 +1,2 @@
DIST nbsphinx-0.8.12.tar.gz 178986 BLAKE2B 5f79e20be5ceb3c9458530c19f453599cff8c278d5ad56faec952cc191336469cee3ecc130bbca8cae5d14447abf544a6b127251f3ee2a26e63c94a1326b707c SHA512 fd18cde3b7034bbd0f0f5ec7addd8925e867dbe0cfe810310240e5748014f2cc6bf275ff24d070d0c8748e7d144bf3dc2e9a26ede3a50e880f3db27d1a0d0575
+DIST nbsphinx-0.9.0.tar.gz 171588 BLAKE2B e5273c9fa04b05335703a1a9c80b77c1d282aa7515379b5c3faa3f561996441a78202b8671b114fc858e064716bb167b6e19e5184167eea2fcac0c44c31c8f04 SHA512 a6a2a15190edb04ec1c953b8c9ad43c289c42896627d7eaeeb8711593ef33e164c1a6083009a91d663e5a2a150a3471e554117dee94c01d91742b8516a324759
diff --git a/dev-python/nbsphinx/nbsphinx-0.9.0.ebuild b/dev-python/nbsphinx/nbsphinx-0.9.0.ebuild
new file mode 100644
index 000000000000..a18d61563441
--- /dev/null
+++ b/dev-python/nbsphinx/nbsphinx-0.9.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter Notebook Tools for Sphinx"
+HOMEPAGE="
+ https://github.com/spatialaudio/nbsphinx/
+ https://pypi.org/project/nbsphinx/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/openpyxl/Manifest b/dev-python/openpyxl/Manifest
index 9fed982498f9..dfc120991ce7 100644
--- a/dev-python/openpyxl/Manifest
+++ b/dev-python/openpyxl/Manifest
@@ -1 +1,2 @@
DIST openpyxl-3.1.1.tar.bz2 2733237 BLAKE2B dfe14e965624e6d82c219eb58d87078e7a44cbd3a2e2c45aa4a63f48d30acf46675a6960cd39132df36e5d2ff71b77ebdbae33a149730ada9784155c881d1503 SHA512 b026b059e31828c2218c2b6d7765f5773b4d9161882d9e225ae4fd1dba3d7548c1a555cd16afd364a1723b3703792a3ea02fe715dc0e3d1f42beb48a6fc710d8
+DIST openpyxl-3.1.2.tar.bz2 2733302 BLAKE2B 7030c698c2dfa3c3f27f23485e33cc9f4ffc0c473e590785ebfa03a958f7c1deab98503890b7350f32cbb4607b3fbf543b35299c0f8abfbfcc779e96ddda9ee1 SHA512 307d82dcf839c60be606c01f862701f69017573894c7fd26e35ec3edead2ea2a126aecca61b0c7f6727ff834dd6bed844095b9a56f2b510689ab071926a7a742
diff --git a/dev-python/openpyxl/openpyxl-3.1.2.ebuild b/dev-python/openpyxl/openpyxl-3.1.2.ebuild
new file mode 100644
index 000000000000..efa57f644d6d
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-3.1.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="
+ https://openpyxl.readthedocs.io/en/stable/
+ https://foss.heptapod.net/openpyxl/openpyxl/
+"
+SRC_URI="
+ https://foss.heptapod.net/openpyxl/openpyxl/-/archive/${PV}/${P}.tar.bz2
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/et_xmlfile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff,jpeg]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index 2e163b75b80a..a8cb63cb6b91 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -3,5 +3,6 @@ DIST pypdf-3.4.0.gh.tar.gz 6931831 BLAKE2B 037ac998cc1e3d078281b64183197678a8034
DIST pypdf-3.4.1.gh.tar.gz 6930245 BLAKE2B 9e8a5a1ebe95b64c9274ce6b0ea252d65f41d4b6791d6c6acf87f810794892337aed13ddc9b77f05a404fe94b3d9c2444f2a06c4feea9661204e71684bbbbfd5 SHA512 e2e3fa74bc6e96afc5999429e7603dd3ab8e6443b6259e456bc6d90cb2d7a15a484b226e218478c1e92cfd7fe23c93247f212568c6fcd51d80afde32b83460ba
DIST pypdf-3.5.0.gh.tar.gz 7181507 BLAKE2B 8f5c129613ed12a9eaa90cf0e6fa189b0fc5bf109f26b8cc35ff1550e916b0635715359b2ece9c3c0243095c2e802474e99fe4c59d16b0f75b4375fb2ce07e5d SHA512 a8a0fad3fd08d88738088a06df4f1cbf419571e9e817c6097ce8bdcf7b1dd32f478ac712879cabceb7034f4e9a421f887ff117a1812782eadb670c8043aff86c
DIST pypdf-3.5.1.gh.tar.gz 7183874 BLAKE2B 29ce7d052f0c466e72974ec051e149c2383136cc0097e2e104c4c1e5c37836f7908b25bfaa32e5fd85082f860b06ad88adbfbb5bbff95bc7a735e127b26d7964 SHA512 4f28cc0822f472087f096b4b2ee553b87e458009b29c43d41bbba53de9862292c78f4b31a860d4c783a6af4f92fdf32612bab7a42190373d9d9ceae39080bb35
+DIST pypdf-3.5.2.gh.tar.gz 7185283 BLAKE2B b92af14da7fed1cecda4cb0088efaa7031e9a44daa7c81ee0450bbb0f7630129b6e09e4044b3592e4333c466c73f16d033ee32f428c2866d163fc250a15516e9 SHA512 f257f05ddbd0a0195e0ec075b88fd4077bf0c44490311eee6fe1f4d3715c6d29abc681df53d22c2e7a08c2a545f5151d48f1bec2e436031c3b8e599204eb0f5a
DIST pypdf-sample-files-0fe84b30ed33ff3daa9293e44349b8618f135699.gh.tar.gz 9027166 BLAKE2B 912bb9fbd632bd0ad2cc2e865a1e6870ad7064aa2cf4d6f96217f63ac685e9a511f0bb20c22d48ae970a2eb171b27a0fa680fa42892425531f69735840cf741b SHA512 07a71a3566dabcea5dc8a549949d0f0c0f9483d5d9f85851d6e4e702dd374b348469a80e5300d18983e560ee9a44d0639b55eb338023b9ebbdb26c6f8c455e07
DIST pypdf-sample-files-fb7a080b35b3553bd10221282beeda7847959e83.gh.tar.gz 9027029 BLAKE2B 8f8797263b86f08efd9708d5812000efd08708abf66a0e95f50f5a147102e555dd7f8c465ae73cae842d86efdb52cabba5f8962626f56cb1b98409bfa108e150 SHA512 3a9cdab964a14cf6b14d80d917441a4e5effe2b7647163b666781ecabd189624dbbe5039111f6b1d753ff73e013665a1b86d87ca7806580fda58ec5810f88e94
diff --git a/dev-python/pypdf/pypdf-3.5.2.ebuild b/dev-python/pypdf/pypdf-3.5.2.ebuild
new file mode 100644
index 000000000000..688053dcdece
--- /dev/null
+++ b/dev-python/pypdf/pypdf-3.5.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=fb7a080b35b3553bd10221282beeda7847959e83
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+S=${WORKDIR}/pypdf-${PV}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.8 3.9)
+"
+BDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index 91b591a6a9d8..8d607289c8ae 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -1 +1,2 @@
DIST pyproject-api-1.5.0.gh.tar.gz 22032 BLAKE2B 7e90bacffee70d2a2343f2360f5d0e6794a04a8b8b9be672150e5ac49e1dfabb0673b4c661ddc27f3fffa7bb3d04644e2b1809555987fc0d914a798fac667c8c SHA512 7a68df007e52c685f512fca26d371d1790f2fb9ced381025fe27462088cd4f1488b7edf4de94f6c1df989c4430336789b94d0b3bd634a2f6ec52f14f292b4474
+DIST pyproject_api-1.5.1.tar.gz 22081 BLAKE2B 53ee778b4e04cac2f16ecd054adc7fd86373d6402f80d485fe22457252684f774b6a5df23d08cf6c6b1f96964d6dc1b1cc9014415f3d9105ffbb09421f69a11e SHA512 31936d242861027ea892e86219f430371aae18631c92893cefc8fb8fc02315906857ee57e5412eed62bf584e0bd24cca7ba82471c0ac6a72c71e8e93b8285a3e
diff --git a/dev-python/pyproject-api/pyproject-api-1.5.1.ebuild b/dev-python/pyproject-api/pyproject-api-1.5.1.ebuild
new file mode 100644
index 000000000000..872a9cd88685
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.5.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="API to interact with the python pyproject.toml based projects"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-api/
+ https://pypi.org/project/pyproject-api/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-23[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.38.4[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.17.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires Python 2 installed
+ tests/test_frontend.py::test_can_build_on_python_2
+)
diff --git a/dev-python/pyscreenshot/Manifest b/dev-python/pyscreenshot/Manifest
index bb0442ae459b..4d03f8566f03 100644
--- a/dev-python/pyscreenshot/Manifest
+++ b/dev-python/pyscreenshot/Manifest
@@ -1 +1,2 @@
DIST pyscreenshot-3.0.tar.gz 32865 BLAKE2B b39d338be4f1dc23fc30fe84a6f8ee6b6346761b023222438e8ff33e01beafc347d34118332efb053057c54383f5468e73049041889a6140a70c0f928c655661 SHA512 f8070941ade2bc710157238f47c9575df1504ef63152980b2bc0edd1f69c9ca4aeec3f738929de1c81a51fed79838053674626981ec61d95dafa7b9998004606
+DIST pyscreenshot-3.1.gh.tar.gz 36860 BLAKE2B fff930ad784da3e800d7c85bba2ea03db8f91011083b437f31c0d62037df9fa8921f9572d2271c258bdafa5d4c0b9d3ff93a7b8ab53db2cc24373f971fb6dc54 SHA512 9cbb58ddf2248548fb8b3519b41646e6f00d635ddaac69cc20a41b57e8693466c2b93947d72cf3a0caa0ee20f9d42f70587079a919b1c1d156212d6f942285ee
diff --git a/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
new file mode 100644
index 000000000000..845821cb877b
--- /dev/null
+++ b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Python screenshot library"
+HOMEPAGE="
+ https://github.com/ponty/pyscreenshot/
+ https://pypi.org/project/pyscreenshot/
+"
+SRC_URI="
+ https://github.com/ponty/pyscreenshot/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/easyprocess[${PYTHON_USEDEP}]
+ dev-python/entrypoint2[${PYTHON_USEDEP}]
+ dev-python/jeepney[${PYTHON_USEDEP}]
+ dev-python/mss[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/python-xlib[${PYTHON_USEDEP}]
+ dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
+ media-gfx/imagemagick
+ media-gfx/pqiv
+ x11-apps/xdpyinfo
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_check.py::test_speedtest
+ )
+
+ # skip GNOME/KDE tests that require D-BUS
+ local -x XDG_CURRENT_DESKTOP=none
+ # nonfatal is already implied by virtx, make it explicit though
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-xdist/Manifest b/dev-python/pytest-xdist/Manifest
index b1692268aebf..678585137850 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1,2 +1,3 @@
DIST pytest-xdist-3.1.0.tar.gz 71977 BLAKE2B c29622377743aec0a90f0e92af866a63106b9c37abee379222fd2b5c40f0607c33010bb5d2cb5212fc90a438d787ecb435f07c31e0db7a10599696c33b309a32 SHA512 884cdd85754b36338666cbdd71575ef18465730cfc4ab7333b93aa46823c1dc33e8055117241f4c87e1b8c82492881cc0f91ef1bb2ddc164aa00bfa1e5e2d245
DIST pytest-xdist-3.2.0.tar.gz 76199 BLAKE2B 462d6af54ba599f506a51ae2e91ab0c08fdb8a6b3e47ba4541c0fe2c19a9aa8a38dee0621e130d23a2daecdc9509b1020eb05d550a50d6de233e185a8108872c SHA512 dd22c2e525681ddabc1df75e8eadcf0d3c52936cefafb7308771e37cfe9023cb4ecbbaf4e437668666f5319e379e7b6c5c7665912b59c5d10890c32da7546433
+DIST pytest-xdist-3.2.1.tar.gz 76362 BLAKE2B a5cea5bab1176554bd0d1ebfff5400f60bd43964ae13c7f77ad77fc257db32ba0a0d6f2f3ec16211e48852a6bfd02a0949d618c7f2f6a8da11dd2843d88565a4 SHA512 ea42bea8b4df3d77ef680cba81f76f9f79d0ffcaad6f5f879cc82c53203d36ffe26f233dd6c5d1cbea22b43d257f0f4e6be793116bb281956316c44fc412f9b7
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.2.1.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.2.1.ebuild
new file mode 100644
index 000000000000..bf8b80a00e63
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.2.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Distributed testing and loop-on-failing modes"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xdist/
+ https://github.com/pytest-dev/pytest-xdist/
+"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-python/execnet[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # disable autoloading plugins in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading necessary plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail,pytest_forked
+
+ epytest
+}
diff --git a/dev-python/qtconsole/Manifest b/dev-python/qtconsole/Manifest
index 218b08518f66..f368b3c7793d 100644
--- a/dev-python/qtconsole/Manifest
+++ b/dev-python/qtconsole/Manifest
@@ -1 +1,2 @@
DIST qtconsole-5.4.0.tar.gz 431119 BLAKE2B 48348b400a9b594bd028d3905719f2d67f6c9281df99863f3d0d87cf83162c91ede3e65529a8efd3bff62ad3ea343cc4ee7ea028913cd5bf7e48d0c493930445 SHA512 c25a381d8494c64d63e379c1dd5a44c1945e773b87b9a27f8494905e7eca24c6381ec5b9792d9a57ac41b14137ce238795a5ff8d83d1b6ddaa62603e7d9ab165
+DIST qtconsole-5.4.1.tar.gz 436651 BLAKE2B 111aeacd324c9cec736f43468ebbf653047018fcd97602f82325dd7f3a92b25666615ac52a58730693d69841ddf18fd83d3468f778d7805713c07047235c83a9 SHA512 98ebb91cd30f1e046429615ef88bbcc047e4673145883b15d60b30c66d0115352b23f39c1109ddfd545e40bd261bc76070a249dbfe2e1751f7c2bf7a7e5d49f3
diff --git a/dev-python/qtconsole/qtconsole-5.4.1.ebuild b/dev-python/qtconsole/qtconsole-5.4.1.ebuild
new file mode 100644
index 000000000000..531debd6bb7a
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.4.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/qtconsole/
+ https://pypi.org/project/qtconsole/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
+ dev-python/ipython_genutils[${PYTHON_USEDEP}]
+ dev-python/jupyter_core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_client-4.1.1[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.0.1[${PYTHON_USEDEP},gui,printsupport,svg]
+"
+# The test suite tests both against pyqt5 *and* pyside2
+BDEPEND="
+ test? (
+ dev-python/QtPy[pyqt5,pyside2,${PYTHON_USEDEP},svg,testlib]
+ )
+"
+# required by the tests that are removed:
+# dev-python/flaky[${PYTHON_USEDEP}]
+# dev-python/pytest-qt[${PYTHON_USEDEP}]
+
+PDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ # TODO: these tests require virtx; however, running under virtx
+ # causes pytest to segv on exit (even though tests pass)
+ EPYTEST_IGNORE=(
+ qtconsole/tests/test_00_console_widget.py
+ qtconsole/tests/test_jupyter_widget.py
+ )
+ epytest
+}
diff --git a/dev-python/spur/Manifest b/dev-python/spur/Manifest
index d2a021e7c22e..03aad49e7246 100644
--- a/dev-python/spur/Manifest
+++ b/dev-python/spur/Manifest
@@ -1,2 +1,3 @@
DIST spur-0.3.22-nose2pytest.diff 31953 BLAKE2B 6ff1ab74215df036101720ca7b1ed5c7f0f9e6dc000a55175da85024d771354cad33d967c7d5ce63bf47dc2009d82147d3da8091a8b605176040f1cef274429e SHA512 ed8617021fe3ea43d8e53dc601b3778026f20e472e7bea2ee9a7565ccc4568a29cb669d7892cb0e16afeb64cb04d0f3973b85a151b20e94ef7b7df4210b17f9d
DIST spur.py-0.3.22.gh.tar.gz 17760 BLAKE2B 676484e73fa38ebcd3bcc2ace21853590b652d0ec2dc31f7635a55a8bbb213e559fbdd7b70e545091e7e28e6000862ef45eba748e13c546b765756b41c352028 SHA512 36518a080d3fff97fdab5af8e7e3045c58ad6b1acad9fb79e11da688d484565ee4d50868f3c3ee10299e135f2c01bd35348256df7bb1b4f6200aa175cafc7f0a
+DIST spur.py-0.3.23.gh.tar.gz 17853 BLAKE2B fe0d93b5c646fc3f26b996595af3d140db5d362a9e9ad4bc2bce911735bcdefd823ecaf478d732671229e6db0640c211643e6e2774e73fb36042eb0231626b9b SHA512 20b8bbee4932f3ecf202332c9e920938d4fc1e2641fcb6bf4ac52004274f81a637100771cb772009fd3fe6857ab87370c7a943cfdc6980e7f9b83bb7999ee261
diff --git a/dev-python/spur/spur-0.3.23.ebuild b/dev-python/spur/spur-0.3.23.ebuild
new file mode 100644
index 000000000000..d8d5240e13c6
--- /dev/null
+++ b/dev-python/spur/spur-0.3.23.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=spur.py-${PV}
+DESCRIPTION="Run commands locally or over SSH using the same interface"
+HOMEPAGE="
+ https://github.com/mwilliamson/spur.py/
+ https://pypi.org/project/spur/
+"
+SRC_URI="
+ https://github.com/mwilliamson/spur.py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ <dev-python/paramiko-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # TODO: set up a local SSH server?
+ tests/ssh_tests.py
+)
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index a43c331805f0..6dbd37f3d5f5 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,2 +1,3 @@
DIST tox-3.28.0.gh.tar.gz 309472 BLAKE2B 9896411426f6aebb3efa468c01696ecc5f17ec3e67825672d0efc74c1b1468bc8b8d9c14b6177c181750ba4b9a5e77d616068dd83e21f5641acfc8e2a271cc1f SHA512 64816754e6800661bb564c5c7d21c4139522d540a04fafe3c4591d596072d48d1cbe0ee2abee9c8faf3d5007774f5371431b5a7a8f49912bc879c7b168aab2ca
DIST tox-4.4.6.gh.tar.gz 304337 BLAKE2B 2c157fe5febf1eb131d767ade87484880201bb37fa65a579abb9780d755d570f216b8f865dd2dd8dbb3a3af01be78133f9ac0b73a3166dfc2b9cd99f6547498a SHA512 403bca89228d665182bfbb61550dfd9e9fb4ce4a5592472d50cd38e3f264c806fa15bbdccc020a720ad69885d9be54a1f074f6d87549cbe2b523e53d870358dc
+DIST tox-4.4.7.tar.gz 168261 BLAKE2B 276842bb82d01c9e3b66f633e79974790b7d1852f831ab954172ddc1d3c50c861a39e959fb0a990a7102a1cc0840238ef3ac84c7b41f9f45ce502b1245e21988 SHA512 58989ecc0a555ee225614d9b7a718b22f6dd1555a0209a0c1428259fbfc7d336a58753fbfa85f1b9aa160c8489587999425437e71f9d4728631d5cd5b50ca159
diff --git a/dev-python/tox/tox-4.4.7.ebuild b/dev-python/tox/tox-4.4.7.ebuild
new file mode 100644
index 000000000000..803d9172e0a0
--- /dev/null
+++ b/dev-python/tox/tox-4.4.7.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/cachetools-5.3[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.1[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-api-1.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.8 3.9 3.10)
+ >=dev-python/virtualenv-20.17.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-0.10[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9.4[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/time-machine-2.9[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # the minimal bounds in tox are entirely meaningless and new packaging
+ # breaks setuptools
+ sed -i -e '/packaging/s:>=[0-9]\+::' pyproject.toml || die
+ # workaround https://github.com/agronholm/exceptiongroup/pull/59
+ [[ -f tox.ini ]] && die "Remove the hack, please"
+ > tox.ini || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+
+ epytest
+}
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index 9a28b501c371..a015159a673a 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -2,3 +2,4 @@ DIST virtualenv-20.17.1.tar.gz 12269737 BLAKE2B 5caa223d549ecb69de3a17dec84a608f
DIST virtualenv-20.18.0.tar.gz 12063086 BLAKE2B 272957077dd0a5868e8979c7c34bda1ae28af857d1d5bbafeef6955bcf44a7c5d38f4f131b57a2593180ffdc5a034b18998ba3e4307b7191ebafccc80ef46278 SHA512 b02533878b8d8859f10b51dbdb9fecddf9b49aa2cf1437ddc10cadba82e5361fdeb8b8c94efcc3c8268ddecef31651c28c213e87588aa917479e8d0e2e823493
DIST virtualenv-20.19.0.tar.gz 12063084 BLAKE2B 6a6d94c7099aa841523909173b04821697c7fc8b284325dbf191f6b2184bce19802924e0a001267448a785c35f8bbd7cee74f7514a375e4e47a9d3275404f756 SHA512 75c63fea11ad070985cb2ba17adfcb7e1739e8798b80919cc17a527d7180f68a04197436b44146cd07423d8d2e4982d1716b0e18159add5ce6a748b31f6b2776
DIST virtualenv-20.20.0.tar.gz 12069625 BLAKE2B 3db53d2859c542953be233af0d195d992eecef345700ad7c229b88519f7042189907263d312d3613b45c5c069bec2440a8639bcc58b2c6894ed79301735e65b2 SHA512 6710efcbead1358479961c84ec3f6b9c3a1fc59c2f6b33fa13e2609554f7072aee7ef8cc07b4aa2fbc27ac950a78e447529fb8ceb2e4ee0881a4356a67d26641
+DIST virtualenv-20.21.0.tar.gz 12070063 BLAKE2B f69d5934191ccd8e9420c37e51b53df7876961d6f13d0f75845530893fd91df29a512e64eaa27135535816250a3149087029e6fe1b15317b8079af9cee2832ea SHA512 77aae5ebc5007093953c30da1eed996e851a65c7dd1f7a3a85961a1bb251b3d7970936eea1efe8babb216d2024072bdbf1c1a97ba8760a04a0abf6e7c3a27d09
diff --git a/dev-python/virtualenv/virtualenv-20.21.0.ebuild b/dev-python/virtualenv/virtualenv-20.21.0.ebuild
new file mode 100644
index 000000000000..36b74b49dcfa
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.21.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="
+ <dev-python/distlib-1[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ <dev-python/filelock-4[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.1[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-4[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.4[${PYTHON_USEDEP}]
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-freezegun-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# (unpackaged deps)
+#distutils_enable_sphinx docs \
+# dev-python/sphinx-argparse \
+# dev-python/sphinx-rtd-theme \
+# dev-python/towncrier
+distutils_enable_tests pytest
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/activation/test_xonsh.py
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ tests/unit/create/test_creator.py::test_cross_major
+ # tests failing without python2 installed
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[True-False]"
+ "tests/unit/create/test_creator.py::test_py_pyc_missing[False-False]"
+ )
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-isolated]'
+ 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-global]'
+ 'tests/unit/create/test_creator.py::test_zip_importer_can_import_setuptools'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7--bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-bin-]'
+ 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--bin-]'
+ )
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_py_info_setuptools
+ tests/unit/discovery/py_info/test_py_info.py::test_custom_venv_install_scheme_is_prefered
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+
+ epytest
+}