summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-31 06:30:04 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-08-31 06:30:04 +0000
commit373a5f1ff71e78b274fb956810355b097a90a369 (patch)
treedc5008bd5a510588df13cfa44091360ce97bc805 /dev-python
parent41b8e80cb1e9e2c1418272ef8ebf965fc3c17fa9 (diff)
downloadbaldeagleos-repo-373a5f1ff71e78b274fb956810355b097a90a369.tar.gz
baldeagleos-repo-373a5f1ff71e78b274fb956810355b097a90a369.tar.xz
baldeagleos-repo-373a5f1ff71e78b274fb956810355b097a90a369.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.28.38.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.31.38.ebuild72
-rw-r--r--dev-python/jedi/jedi-0.19.0.ebuild2
-rw-r--r--dev-python/langdetect/Manifest2
-rw-r--r--dev-python/langdetect/metadata.xml10
-rw-r--r--dev-python/pandas/Manifest1
-rw-r--r--dev-python/pandas/pandas-2.1.0.ebuild137
-rw-r--r--dev-python/virtualenv/Manifest1
-rw-r--r--dev-python/virtualenv/virtualenv-20.24.4.ebuild107
11 files changed, 391 insertions, 9 deletions
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 2315bbe4b516..cd88123a2d33 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -13,3 +13,4 @@ DIST boto3-1.28.34.gh.tar.gz 692262 BLAKE2B e6382326f74f05c045a3ecacedbef2917dc2
DIST boto3-1.28.35.gh.tar.gz 692481 BLAKE2B fe5c5906598be2aaef8524a0333751bc2368aa33a3c212d45d95b1010f15d228b4b617ad7e855d668f38b9278c32bafc7c5da4395582a053ae3350d4c5453c7b SHA512 790fcb6a0aac9ae37d3d04c707b05d44249b7e265e47ad8fd9195ec338f70297b018f4d3ef34cd704fc3d82564794ea7fb4e5e9057cbae4a969d220eb911981f
DIST boto3-1.28.36.gh.tar.gz 693285 BLAKE2B 9d25f49ecb213c8f273fff908a125373d6558244dbf03cf716bf871a565ec0a71aa7330af0f64111f4a6191654cacb1c2c60566fb9fd2540aa8df3e4c442e0b9 SHA512 b2ee0a647d9863d251dc613550d10a83f60b0513407d7507b4ef4c9db0aa13e6feb9a24c4f93200553b61d756fb3cef417f43203cb71f3839ed66aae6183af91
DIST boto3-1.28.37.gh.tar.gz 693670 BLAKE2B 1ab40cf17ba9694fdb1a95c08b8821a8842fb4c9da13d1457722a5fc0ea09f2acbe0301edc419207481c5560f2881557bd434f0e4921c9e9752bdf41ad541ff9 SHA512 705c100c3b38dd45edc30fc532a83f9f9065d7f7a41a0fa4a3b54cf16a04c369bc609eda0e353c59599fcfc9fe6588ed45112f026100305f0adb1f92d9bdcd21
+DIST boto3-1.28.38.gh.tar.gz 694902 BLAKE2B 2f33b0e1015c3fa15d16c990f709a782ddc0c9903fca8fd6d489e45fd7e2c3a939082f22f8c8c090a1ec6acdf96a6a71e5689bd3317c8f984e83bb36534df814 SHA512 a734d1a5a7532d09dcec1f36d9fcc9e1e03d388cfb5a86a97318c88bdeb2fb3fec6d1770e0e6b9ac7e801ec862d5e42ae48a315f4b01b398712be1f64c651273
diff --git a/dev-python/boto3/boto3-1.28.38.ebuild b/dev-python/boto3/boto3-1.28.38.ebuild
new file mode 100644
index 000000000000..900d8f22baf9
--- /dev/null
+++ b/dev-python/boto3/boto3-1.28.38.ebuild
@@ -0,0 +1,66 @@
+# 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_{8,9,10,11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/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/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.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.6.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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} -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 66839c3b6d53..bb849e8c7d36 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -13,3 +13,4 @@ DIST botocore-1.31.34.gh.tar.gz 11877457 BLAKE2B 1d92e2b3cbddad824d78e374bec5625
DIST botocore-1.31.35.gh.tar.gz 11877715 BLAKE2B 64c90cb764ab47fdf9f644b4819c9fc1486c07ea2b72b8f2b35fc8adbead5efa7fb43140a2008ca21b63e0981017b366588c6f77e8cb5f5e4acef359f0b0e959 SHA512 63f044f7ac2419d2682a838a35a17d9a1a6a56fa7321e181e959923dbeaf41b5396c96a02eaace7421775c25e4ab63822a5fd57e02d618d4644ecbece72286c2
DIST botocore-1.31.36.gh.tar.gz 11879082 BLAKE2B 61f41aef704321e77a7670a4580a1bb18527a953018c87150826990e557658a4d05d47aca4b464a556dd5866cb6cb8a43c033f87a6cb99812ce3cc3dffad2fbd SHA512 b8bf028993c63026b015cbf5248df25055b5d8a52ff153d16c24bddcf957f3abc1c83610da61e5664fe74cf2e7108193a6038339c8b4beb2bacb4686f806aa8c
DIST botocore-1.31.37.gh.tar.gz 11882688 BLAKE2B af7ff26dc7d1ebe2be86334ec642e89af6069a484834a2b02a4d06fc8d05073421401cc962911b41f859d1f2fa00d38803e2100952af7e4925998c1471fae3c4 SHA512 33982ffb855967b6caf58f9eccb37a9e4857a67b9bd5973339aadc092dd23e82c920759ea8e8df9ce0b3b14ebb10f49aa3f58f5ee666bf61f852c8eb07e72b58
+DIST botocore-1.31.38.gh.tar.gz 11926426 BLAKE2B 1f668a23e52f3033f3b12e6dfeb086d21eb6fd3e163ab12e5c07ccbf4a4a11df9504bac99d6b68a3001f7f1c5849a4d5340ddf5b838b349fc3aed580f6733a03 SHA512 800301dfca0a284d53e252bfbeff9e705120e087c45167bfee8ad343e7873a1eb69d2be725ef8a81bbd7c31fa2016908bfb3729d560d44b36f2ca160aac4663e
diff --git a/dev-python/botocore/botocore-1.31.38.ebuild b/dev-python/botocore/botocore-1.31.38.ebuild
new file mode 100644
index 000000000000..cfff2c3537d6
--- /dev/null
+++ b/dev-python/botocore/botocore-1.31.38.ebuild
@@ -0,0 +1,72 @@
+# 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_{8,9,10,11} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/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="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.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-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+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
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/jedi/jedi-0.19.0.ebuild b/dev-python/jedi/jedi-0.19.0.ebuild
index 293554670e25..f85496f944ec 100644
--- a/dev-python/jedi/jedi-0.19.0.ebuild
+++ b/dev-python/jedi/jedi-0.19.0.ebuild
@@ -30,7 +30,7 @@ LICENSE="
test? ( Apache-2.0 )
"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
<dev-python/parso-0.9[${PYTHON_USEDEP}]
diff --git a/dev-python/langdetect/Manifest b/dev-python/langdetect/Manifest
index e9da2ac43cac..a11d7c268c91 100644
--- a/dev-python/langdetect/Manifest
+++ b/dev-python/langdetect/Manifest
@@ -1,3 +1 @@
DIST langdetect-1.0.9.tar.gz 981474 BLAKE2B ea8a9c3f16a2987c080742473bff4f2c1503f53fb3c2b40b0b1d6212bb6133ea22dce7864ffcfb8968c3a46b157d45cb3e2cf6f84bdbed0266cc716a853b032c SHA512 7558d674c47b080c79e43a00a25d2c7f77188cf60bea2cecb3bebb803d75e1aa42b43c74bd26ea1b541f4cb927421908882cbec01a91f0913984217e71ccc8db
-EBUILD langdetect-1.0.9.ebuild 493 BLAKE2B 0df8bce19bc80f79f8e76bcef5a4c2caf333365fe0cb9a3c076b7858bceded5a3e58921474f866a2709dd657b7ed330c1ec4a7f9d7bab0fcf1bc92d77cabc32d SHA512 ea2a1adcb133ac5fc951ba1aa90ef1ce3dfcc424e59727591763d4875aa044a74188be2d15fd89c6b2e83ed6ea04ec3d9851ed584ae79d2c2c127bde7d994b48
-MISC metadata.xml 457 BLAKE2B 630128a3e982b6d60cc7b9f74c79fcb5ee47a71a02c73a50af9da8cedb6fad8e20a7f74b881e5b25c6483b92c9edbd56552cd38b2d9cbfa8b3eb4530facea969 SHA512 674f4f5cd809c6c77bc14e0f5687fa972bef14bdfa0b3343c5d66b7163eef1906eb87d060c8288732f825de71dce291ad0b841a5f2f0dd230f957b5687e45d45
diff --git a/dev-python/langdetect/metadata.xml b/dev-python/langdetect/metadata.xml
index 020e07f2a3dd..ddb5b0f1787e 100644
--- a/dev-python/langdetect/metadata.xml
+++ b/dev-python/langdetect/metadata.xml
@@ -2,11 +2,9 @@
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
+ <email>cyber+gentoo@sysrq.in</email>
+ <name>Anna</name>
</maintainer>
- <upstream>
- <bugs-to>https://github.com/Mimino666/langdetect/issues</bugs-to>
- </upstream>
- <origin>slonko-overlay</origin>
+
+ <origin>gentoo-guru-overlay</origin>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index a10984c4cbe5..c35b3e096f7f 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -5,3 +5,4 @@ DIST pandas-2.0.0.tar.gz 5271334 BLAKE2B 80782f407cb93866ca445518f45ea36e081b789
DIST pandas-2.0.1.tar.gz 5279594 BLAKE2B 84dbab2c6079c77eb7f367aaabc2f4d0c8205a3d8bd2e4db9f071cf1d25c53a32f91679ae7ff56e21e76447a675b4f4e7c660708f3e2a7a56753137018239dd6 SHA512 ecb150045c82ef649fcdd940c3b45884f0f9f8a51402b331fc247c148f669fe7bece33b331d1ddac84b7fef39d096ad7488057d3772e74d087ea26bb9cac3994
DIST pandas-2.0.2.tar.gz 5290568 BLAKE2B 26eb9db6c1c2b4f9ae31b3aae09fc4db930d13e59b2037261eb2e3006a04402bc0a502febe29c0a3e071953bfbf4efac56eddf14bca2e22be0128e82d649a958 SHA512 feda98a2f83865d0ecb3fc2c37c927ddcd075f621954758eee26f1e9a0d9d1367ce790972f4ee3fb5928731ac157533345635fed390fdc306541047ab47fda60
DIST pandas-2.0.3.tar.gz 5284455 BLAKE2B 42db94dd031ca10c87434f4f903509abf0e6c2c3e3561ae5f5db6db09ebf95996aaa34e1f98a3e33f2b687c69dd1b38dc136d5928da2c096756b6755bf9b31c0 SHA512 bee3640521692545cb063b78c85f5ab90817c8029156f97856af4c9edfcc3e13596b48c4c1b4060c92e7e75b3b876d0734f7c1e3b2096d44c52ec09372c99d2e
+DIST pandas-2.1.0.tar.gz 4263970 BLAKE2B cae30e74fa227252a4d05a032662f5229d676917720b7cca5a85d91a680f11bca7b0fb8ac79bdf1cd7f580aab99db1bd13571b86510516d10a74b1197abebbd1 SHA512 85a64ef7abffdb3a78547942dabfe621d7c8e2cf0da5285e64a9018865fadb037e030d5077a1790acecc1616200f50a777c6ab775b888a72d7fc36cd8855a704
diff --git a/dev-python/pandas/pandas-2.1.0.ebuild b/dev-python/pandas/pandas-2.1.0.ebuild
new file mode 100644
index 000000000000..98984f34ae02
--- /dev/null
+++ b/dev-python/pandas/pandas-2.1.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{8,9,10,11} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 multiprocessing optfeature virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="
+ https://pandas.pydata.org/
+ https://github.com/pandas-dev/pandas/
+ https://pypi.org/project/pandas/
+"
+SRC_URI="
+ https://github.com/pandas-dev/pandas/releases/download/v${PV}/${P}.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+SLOT="0"
+LICENSE="BSD"
+# new meson build that:
+# 1) sometimes fails on .pxi.in → .pyx ordering
+# https://github.com/pandas-dev/pandas/issues/54889
+# 2) creates a broken wheel with two pandas/_libs/__init__.py files
+# https://github.com/pandas-dev/pandas/issues/54888
+KEYWORDS=""
+IUSE="full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
+# https://github.com/statsmodels/statsmodels/issues/8287
+OPTIONAL_DEPEND="
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pytables-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
+ !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ ' python3_{8..10} )
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ )
+ X? (
+ || (
+ >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+DEPEND="
+ >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
+"
+COMMON_DEPEND="
+ ${DEPEND}
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x LC_ALL=C.UTF-8
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ epytest pandas --skip-slow --skip-network -m "not single" \
+ -n "$(makeopts_jobs)" || die "Tests failed with ${EPYTHON}"
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/pytables-3.7.0"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index ddc44f5a0571..d6eb97e339f6 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1,3 @@
DIST virtualenv-20.24.1.tar.gz 6338055 BLAKE2B b5d6ff2fa230a094699cd5ef3a289d9f79c35a843e8709009b44c7d5861dffe2072d51c62a623624c3f7b1656d126781ae454a81e3510474e2514ec66d85637f SHA512 7ac4c130df7eb4b7bf2b393505c80ed07824c9d0c09535f1d7483f3926324e0d1c54c0b8310c228e529a9b3839820e943a1d2ff2b06174782f13735c2a1ed472
DIST virtualenv-20.24.3.tar.gz 6345661 BLAKE2B b6e9db2b59114de0aa419f558b863aa980daaca278e658f7dce55b5b2bef16e88915162d4b5ea31bb5c549582debd22d02b2a0edc7db08c168428395251448c3 SHA512 9cf6f03b50bae773cca2a01be4f74251d3054ea997a0b1236c4e6650e779f219ca51f736eff86a6e25548d5bc0c84e85a1d0cf7d3099848d773d205837c76fc3
+DIST virtualenv-20.24.4.tar.gz 7115923 BLAKE2B bd3b002da91673d33b8da9766e81319deee86959a0bc71fe0be9e920bddb24969c096ad31c246f170ccde0b6de55d4126d425419629fd08d065af37835278253 SHA512 2bf9ea5878be0140dba3a6d781fd820d8eb60f0de1e49ea3209f53f3b9bf0f6b063b905a90c0d7bb670c03a3a50638367d5598a8402009d5e9b001271ddedaac
diff --git a/dev-python/virtualenv/virtualenv-20.24.4.ebuild b/dev-python/virtualenv/virtualenv-20.24.4.ebuild
new file mode 100644
index 000000000000..8034cb7a012a
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.24.4.ebuild
@@ -0,0 +1,107 @@
+# 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_{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="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+SLOT="0"
+
+RDEPEND="
+ <dev-python/distlib-1[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ <dev-python/filelock-4[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ <dev-python/platformdirs-4[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${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}]
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' pypy3)
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+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.1[12] ]] && EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ [[ ${EPYTHON} == python3.12 ]] && EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ plugins+=( -p freezegun )
+ else
+ plugins+=( -p time_machine )
+ fi
+ epytest "${plugins[@]}"
+}