summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.22.46.ebuild58
-rw-r--r--dev-python/autobahn/Manifest1
-rw-r--r--dev-python/autobahn/autobahn-22.1.1.ebuild115
-rw-r--r--dev-python/bandit/bandit-1.7.2-r1.ebuild35
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.20.46.ebuild60
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.23.46.ebuild65
-rw-r--r--dev-python/dask/Manifest1
-rw-r--r--dev-python/dask/dask-2022.01.1.ebuild58
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.7.0.ebuild17
-rw-r--r--eclass/distutils-r1.eclass69
-rw-r--r--eclass/python-any-r1.eclass4
-rw-r--r--eclass/python-r1.eclass2
-rw-r--r--eclass/python-single-r1.eclass2
-rw-r--r--eclass/python-utils-r1.eclass2
17 files changed, 461 insertions, 31 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index 56f195c7e306..dc833430c704 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -7,3 +7,4 @@ DIST awscli-1.22.42.tar.gz 2150093 BLAKE2B 5773ce97774003868b085814c72dd8471292d
DIST awscli-1.22.43.tar.gz 2150545 BLAKE2B 8c7efa1f4e8c48359733936d45bd90b51e54e993561b5fad33d9e5ee6e5b090c0815fad9f721b0c1bb31e5fa89323d30f45d395558460434c6bfc6ea819ede26 SHA512 bd87523e640d2cb17adb2a132ff965735567ebfb442cfa752f2a7955e953d6e761ba9ca817c7fa9235a44e9b611d195f2c731c858b7cd26bb7aaca935fcc4a57
DIST awscli-1.22.44.tar.gz 2150694 BLAKE2B db7e88a58ff42cf1ebc2b337ae408dd90d80ab49a43358587a2bad84d0ef1916c3abdd35b62c9ffbbce948cf9cf536eb01c23688992a022019e722179bf204b1 SHA512 bd7ed097682010bed80049f67760235402fb6e0b9bb9c26e0ba8032e6a8f5bd7604a847791c6771dc85e0d02272d3fde5f1c34141d8c011c8aded6863ec334d8
DIST awscli-1.22.45.tar.gz 2151247 BLAKE2B b1f90eb47563d6fe1936fdaa486771778a8e1c2e449e2b6272bfac403100ad72ec53b0ff1925aec9e3e2497040d2998f2034d1d7777a927a68f97da47045a7cc SHA512 3cad811fdaeff8434750887fb3c6a8e6716ae4a1859294d73d25158f14cfe56226ca99994d3eaee1ab5c11a442720c450331948ab64805d33bd0bbec8a8c64d0
+DIST awscli-1.22.46.tar.gz 2160630 BLAKE2B 628f60975b66fb60b4a91edb98856d9cc8cf7b88a1819048dfa25e8a4e3e3b73eade8bfd00355b7bd36a3c61d7028c8226071616aa325021a9e7805a65ff1eda SHA512 0a3eb819a5b34ae0b777f4e35b58ffe165e712bcbe4364643cb5a278f982138e0a4749944d312fd8d5998796758465f4814b67d7a230eb421cb04cf9193dcd5d
diff --git a/app-admin/awscli/awscli-1.22.46.ebuild b/app-admin/awscli/awscli-1.22.46.ebuild
new file mode 100644
index 000000000000..1f3430af8a9f
--- /dev/null
+++ b/app-admin/awscli/awscli-1.22.46.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-python/autobahn/Manifest b/dev-python/autobahn/Manifest
index 96b9dfbe6503..4117850ffa71 100644
--- a/dev-python/autobahn/Manifest
+++ b/dev-python/autobahn/Manifest
@@ -1 +1,2 @@
DIST autobahn-21.11.1.tar.gz 365165 BLAKE2B 91a12bf1fa9acd056246d86675c76fbcdb4de8914f4ab5e2c8ec06cf8e822cc1a72f8a7b39b520405cce32e2f32024ebbaa48ba024e1dc71b50da4e6f8913e19 SHA512 5a23272046ef67821e86c6bfe766273b3ba73a75fbc51c7864c2ab83ffb8d4e119022980f8b71c453118bf15b26ede8042aa0114e54caebbfb33555208093ac2
+DIST autobahn-22.1.1.tar.gz 365843 BLAKE2B 835861db493be3f70fbff1971f3ab09346f689b5e100ea29115635b6d283c14f944a6c6fcc234d549cfa895496125ce7d03576ea6536c0536f6e79277a1e5592 SHA512 9198fc71ef0d967e9d0d577684c9c5f6ef36d12392a043f581a0be920fc0bf842369f50406a3a5a33d1c6063d21a57136735d8dc123230b18b6da8c4e80f8eed
diff --git a/dev-python/autobahn/autobahn-22.1.1.ebuild b/dev-python/autobahn/autobahn-22.1.1.ebuild
new file mode 100644
index 000000000000..7ac3954a819b
--- /dev/null
+++ b/dev-python/autobahn/autobahn-22.1.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-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 optfeature
+
+MY_P=${PN}-$(ver_rs 3 -)
+
+DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
+HOMEPAGE="https://pypi.org/project/autobahn/
+ https://crossbar.io/autobahn/
+ https://github.com/crossbario/autobahn-python"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="test xbr"
+RESTRICT="!test? ( test )"
+
+# The order of deps is based on their appearance in setup.py
+# All extra deps should be included in test and in optfeature
+RDEPEND="
+ >=dev-python/zope-interface-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/twisted-20.3.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-20.3.0[${PYTHON_USEDEP}]
+ >=dev-python/txaio-21.2.1[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/wsaccel-0.6.3[${PYTHON_USEDEP}]
+ >=dev-python/snappy-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/ujson-4.0.2[${PYTHON_USEDEP}]
+ >=dev-python/cbor2-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/cbor-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/py-ubjson-0.16.1[${PYTHON_USEDEP}]
+ >=dev-python/flatbuffers-1.12[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-20.0.1[${PYTHON_USEDEP}]
+ >=dev-python/service_identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytrie-0.4[${PYTHON_USEDEP}]
+ >=dev-python/pyqrcode-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/cffi-1.14.5[${PYTHON_USEDEP}]
+ >=dev-python/argon2-cffi-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.7.4[${PYTHON_USEDEP}]
+
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ if use xbr ; then
+ eerror "***************"
+ eerror "Required xbr dependencies are incomplete in Gentoo."
+ eerror "So this functionality will not yet work"
+ eerror "Please file a bug if this feature is needed"
+ eerror "***************"
+ else
+ # remove xbr components
+ export AUTOBAHN_STRIP_XBR="True"
+ fi
+
+ # avoid useless rust dependency
+ sed -i -e '/cryptography/s:>=3.4.6::' setup.py || die
+
+ # remove twisted plugin cache regen in setup.py
+ # to fix tinderbox sandbox issue
+ sed -e '/import/s:reactor:__importmustfail__:' \
+ -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ einfo "Testing all, cryptosign using twisted"
+ local -x USE_TWISTED=true
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -m twisted.trial autobahn || die "Tests failed with ${EPYTHON}"
+ unset USE_TWISTED
+
+ einfo "RE-testing cryptosign and component_aio using asyncio"
+ local -x USE_ASYNCIO=true
+ epytest autobahn/wamp/test/test_wamp_{cryptosign,component_aio}.py
+ unset USE_ASYNCIO
+
+ rm -f twisted/plugins/dropin.cache || die
+}
+
+pkg_postinst() {
+ optfeature "C-based WebSocket acceleration" "dev-python/wsaccel"
+ optfeature "non-standard WebSocket compression support" "dev-python/snappy"
+ optfeature "accelerated WAMP serialization support" \
+ "dev-python/msgpack dev-python/ujson dev-python/cbor2 dev-python/cbor dev-python/flatbuffers dev-python/py-ubjson"
+ optfeature "TLS transport encryption" \
+ "dev-python/pyopenssl dev-python/pynacl dev-python/pytrie dev-python/pyqrcode dev-python/service_identity"
+ optfeature "WAMP-SCRAM authentication" \
+ "dev-python/cffi dev-python/argon2-cffi dev-python/passlib"
+ optfeature "native SIMD acceleration" "dev-python/cffi"
+
+ python_foreach_impl twisted-regen-cache
+}
+
+pkg_postrm() {
+ python_foreach_impl twisted-regen-cache
+}
diff --git a/dev-python/bandit/bandit-1.7.2-r1.ebuild b/dev-python/bandit/bandit-1.7.2-r1.ebuild
new file mode 100644
index 000000000000..0857a573ec73
--- /dev/null
+++ b/dev-python/bandit/bandit-1.7.2-r1.ebuild
@@ -0,0 +1,35 @@
+# 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..9} )
+inherit distutils-r1
+
+DESCRIPTION="A security linter from OpenStack Security"
+HOMEPAGE="https://github.com/PyCQA/bandit"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~s390 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/GitPython-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/beautifulsoup4-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-1.9.4[${PYTHON_USEDEP}]
+ dev-python/toml[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests unittest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index cc8198f815f0..c745dda40cd2 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -7,3 +7,4 @@ DIST boto3-1.20.42.tar.gz 463092 BLAKE2B 5396f2c47db8aaec468a0e9cb3eebe8450dd3a9
DIST boto3-1.20.43.tar.gz 463424 BLAKE2B 6d67a86d4d0577b2e9d30335ddb1286f25bc866b492416ea64833bc7e8315f847393158abe898e9208b947a7e8505d18ed70885044f9059da38e8ac7a00c6a80 SHA512 95602ce59c4baa24835fcf331674e040d8e41b279bf43bfd7c00f171087644d7a335462cd1941fd1330da7909b6fe707f595ec04c0dcad02627b91fc3fdd3ffc
DIST boto3-1.20.44.tar.gz 463921 BLAKE2B 1276bbddbf1be9e30142ef1ccc24a69e885d1bdf35ce1c136105d1c08b6a24820c965827c6bc569c747efb5dbb8e64b611b3ac2bc63bcb714f8d6748e424f927 SHA512 de223aa34efd81d26287204e9159368ee77bd91e3fd457896d801bc1517ed4b32f5a16d1441f053f90e232beb473c51bee88f591db5746cf5b8049f044c29811
DIST boto3-1.20.45.tar.gz 464557 BLAKE2B f021696e14a2bd82325c666a3ef8266ae3e19564cda9792a2436079b24810949af86f6d1a328850f58c9f53be261ee67c6282adc1cd846df0a37d686835c92fa SHA512 293e89a96601c15f78efc2a7c9dd91bf1db6944deebdb50e093b075540bafd1da5ea82d9719bfc36b205b0cfdb5052f3f69cc504bef089e980ead68f39326d85
+DIST boto3-1.20.46.tar.gz 464857 BLAKE2B 40eb0f2c298821530028c84f90d8acd9757a4b6c74e8355ca644ee2a87297d7ba3b70a2614e83c83befe0f6e3b64e0f1e023cc2fc3edbf3deb40f86382265338 SHA512 3ad8808ace2ce24eba54c60aa1ece5b904a2138a1497ec5c180a9aa1bef95cd61e2eabf26614d35690ae790cb56400afb6e32d0c005911e0eb42deaee7dc2602
diff --git a/dev-python/boto3/boto3-1.20.46.ebuild b/dev-python/boto3/boto3-1.20.46.ebuild
new file mode 100644
index 000000000000..48ea5aa483a1
--- /dev/null
+++ b/dev-python/boto3/boto3-1.20.46.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 efcafb9827c9..13ea44065edc 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -7,3 +7,4 @@ DIST botocore-1.23.42.tar.gz 8734201 BLAKE2B 009fd49716ce5a1453c83f279f36b8b1744
DIST botocore-1.23.43.tar.gz 8739652 BLAKE2B 5520a9933ab87769c8459a0925822e36eba1741512bd11b575ba260ab0ea43aae66c737d66d3488aeb04cc10a2931af9136f7f80fc10bcdda309234de9bb6414 SHA512 51b11df7bf43a011df904e92285ecc373888e42e3d7e349e47df42c78432a60f692ccfbeb01fc598f9d81861823578a3cc1798340196468ee3e30de7e6a9dd03
DIST botocore-1.23.44.tar.gz 8741781 BLAKE2B e76dcbf7a57421e4df3afa9317a1fcc66c0f7e00a3112384537daafb349648e38ec7cc6fb4b808fbfe69a6c6cfd30f04bbefb7fcc246d2b647ea4fc78aa17378 SHA512 59562e8ef5e18465a1981c188a84112326ab5f7d7ed4f72eacea3a88d43d615c8b3514d7bf6a2daf92ac29dc8bb24f8f878c318c8f463cd1ceb7e237f18dfc26
DIST botocore-1.23.45.tar.gz 8742820 BLAKE2B af2304abeb8be458ad46c957e7865ad37b3ffc0f2adf3b412cf2713235c0f5a31005da7630b7d882cdde56c2ea34bbe2562104b8399f2f4b7965d48c9a4276e3 SHA512 bddedc8bb2b70758b1508b1c9f62c82016b2e397b95732243ad3c994cb2fbcf19ed29c8f7bd295498d31b385bf4ad2975cf7733e57c9cbeadbe290e042ea2c0f
+DIST botocore-1.23.46.tar.gz 8743469 BLAKE2B 804e4ea772bbc74a12645fa5b5e1056115aa232eba0a21f347686143721a0a5e5d2bebe3841ff68fd0a3e464fa8fe88cb78e349c33eb22172b7481d1b5de7b28 SHA512 241d44bb509847e97744a0d4b8e38f44eba1f0e0b11d36b3194cd85b06b5a841dd5bee91b4602ddf3bc36c6945638104f22ca0083150fb5331f4c62a9e22c947
diff --git a/dev-python/botocore/botocore-1.23.46.ebuild b/dev-python/botocore/botocore-1.23.46.ebuild
new file mode 100644
index 000000000000..79a1cd5da0e2
--- /dev/null
+++ b/dev-python/botocore/botocore-1.23.46.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/dask/Manifest b/dev-python/dask/Manifest
index 0d136025a401..0025f79a2561 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -1,3 +1,4 @@
DIST dask-2021.11.0.tar.gz 3971871 BLAKE2B be2c28782e3e870b62e70041bd7572783ff9eef61c27d2fa092f00b74ae23877163e3c00f59f67c5c39b6fefd723cb2c25cdc58b5f5c76c08ef1d686f256cb25 SHA512 cebdef68b2c40348c84627505f4e1f17f998aed603d590be5acc7b78233362330352be395396be00f72215b738e9393ef08eeae8ed0fb933466c1c2d6158e5ea
DIST dask-2021.12.0.gh.tar.gz 3987797 BLAKE2B f6c1954ff41048861fcedbc56bd658989dece828613344e876e097d03f93338c194d66e62dd9fa1605b5dfd0362374a1dd2e00a383eec4476db16ac04de29266 SHA512 e9ce4613bf1ccfda7ce85bd90ff8f24d59335f02a941c12335214a2636f46ae1e1e8c2b1777ca9b9dd83f190071a2893b02bee129a68e9b7468c30f2a45df68e
DIST dask-2022.01.0.gh.tar.gz 4903414 BLAKE2B 495531085d126d51c03b1f6dda490cd2d859276821a6d1ab6c2b90fcf6a4cec925b9fcafdf3b3da46344391e77a9bd09cf023f25b0f84bbe6ca8fa36b0bed73f SHA512 3fc25f6ccfca8354e3c6e2425f4d2c8b85807944b02cd1e872931f5b34d82c9afc6f5ffb17b5f835c531ebac4b6759ddaa81897a6f3d2aeee2c09935f221f62d
+DIST dask-2022.01.1.gh.tar.gz 4916694 BLAKE2B b793b8931818e619ef701f5145a27b8c90e237a51b79f370e994a5e7cdace115808c8f657836785059b1cb495b64f85cb5331759de76c79e55f2cd45f1c3494e SHA512 82789735279c71cff5a0123aa95d3311bd5d08f0332edc22468287e573e4b293a13da514a1844879073490b23ead2ff86f4492175c0a4211f727e8537bac5662
diff --git a/dev-python/dask/dask-2022.01.1.ebuild b/dev-python/dask/dask-2022.01.1.ebuild
new file mode 100644
index 000000000000..77fb824ab55c
--- /dev/null
+++ b/dev-python/dask/dask-2022.01.1.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 distutils-r1
+
+DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
+HOMEPAGE="https://dask.org/"
+SRC_URI="
+ https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/toolz[${PYTHON_USEDEP}]
+ test? (
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/numexpr[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/dask-2021.10.0-warning.patch
+)
+
+EPYTEST_DESELECT=(
+ # another test relying on -Werror
+ "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
+ # TODO
+ dask/array/tests/test_reductions.py::test_mean_func_does_not_warn
+ dask/tests/test_config.py::test__get_paths
+)
+
+python_test() {
+ epytest -p no:flaky -m "not network"
+}
diff --git a/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild
index bd52ca1d9ea7..3e6c060c2c67 100644
--- a/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild
+++ b/dev-python/pytest-mock/pytest-mock-3.7.0.ebuild
@@ -15,17 +15,20 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
-RDEPEND=">=dev-python/pytest-6[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pytest-6[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )"
distutils_enable_tests pytest
-src_prepare() {
- sed -e 's/runpytest_subprocess(/&"-p","no:xprocess",/' -i tests/test_pytest_mock.py || die
- distutils-r1_src_prepare
-}
-
python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,pytest_asyncio.plugin
+
if has_version dev-python/mock; then
local EPYTEST_DESELECT=(
tests/test_pytest_mock.py::test_standalone_mock
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 9b2dc841054c..e25263ee7e1d 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -42,7 +42,7 @@
# relevant to the packages using distutils-r1.
#
# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
+# https://projects.gentoo.org/python/guide/
case "${EAPI:-0}" in
[0-5])
@@ -862,13 +862,13 @@ _distutils-r1_backend_to_key() {
local backend=${1}
case ${backend} in
- flit_core.buildapi)
+ flit_core.buildapi|flit.buildapi)
echo flit
;;
pdm.pep517.api)
echo pdm
;;
- poetry.core.masonry.api)
+ poetry.core.masonry.api|poetry.masonry.api)
echo poetry
;;
setuptools.build_meta|setuptools.build_meta:__legacy__)
@@ -950,9 +950,30 @@ distutils-r1_python_compile() {
eerror "(backend: ${build_backend})"
die "DISTUTILS_USE_PEP517 value incorrect"
fi
+
+ # fix deprecated backends up
+ local new_backend=
+ case ${build_backend} in
+ flit.buildapi)
+ new_backend=flit_core.buildapi
+ ;;
+ poetry.masonry.api)
+ new_backend=poetry.core.masonry.api
+ ;;
+ esac
+
+ if [[ -n ${new_backend} ]]; then
+ if [[ ! ${_DISTUTILS_DEPRECATED_BACKEND_WARNED} ]]; then
+ eqawarn "${build_backend} backend is deprecated. Please see:"
+ eqawarn "https://projects.gentoo.org/python/guide/distutils.html#deprecated-pep-517-backends"
+ eqawarn "The eclass will be using ${new_backend} instead."
+ _DISTUTILS_DEPRECATED_BACKEND_WARNED=1
+ fi
+ build_backend=${new_backend}
+ fi
fi
- einfo "Building a wheel via ${build_backend}"
+ einfo " Building the wheel via ${build_backend}"
"${EPYTHON}" -c "import ${build_backend%:*}; \
import os; \
${build_backend/:/.}.build_wheel(os.environ['WHEEL_BUILD_DIR'])" ||
@@ -964,6 +985,7 @@ distutils-r1_python_compile() {
fi
local root=${BUILD_DIR}/install
+ einfo " Installing the wheel to ${root}"
# NB: --compile-bytecode does not produce the correct paths,
# and python_optimize doesn't handle being called outside D,
# so we just defer compiling until the final merge
@@ -982,14 +1004,30 @@ distutils-r1_python_compile() {
esetup.py clean -a
fi
+ # copy executables to python-exec directory
+ # we do it early so that we can alter bindir recklessly
+ local bindir=${root}${EPREFIX}/usr/bin
+ local rscriptdir=${root}$(python_get_scriptdir)
+ [[ -d ${rscriptdir} ]] &&
+ die "${rscriptdir} should not exist!"
+ if [[ -d ${bindir} ]]; then
+ mkdir -p "${rscriptdir}" || die
+ cp -a --reflink=auto "${bindir}"/. "${rscriptdir}"/ || die
+ fi
+
# enable venv magic inside the install tree
- mkdir -p "${root}${EPREFIX}"/usr/bin || die
- ln -s "${PYTHON}" "${root}${EPREFIX}/usr/bin/${EPYTHON}" || die
- ln -s "${EPYTHON}" "${root}${EPREFIX}/usr/bin/python3" || die
- ln -s "${EPYTHON}" "${root}${EPREFIX}/usr/bin/python" || die
- cat > "${root}${EPREFIX}"/usr/pyvenv.cfg <<-EOF || die
+ mkdir -p "${bindir}" || die
+ ln -s "${PYTHON}" "${bindir}/${EPYTHON}" || die
+ ln -s "${EPYTHON}" "${bindir}/python3" || die
+ ln -s "${EPYTHON}" "${bindir}/python" || die
+ cat > "${bindir}"/pyvenv.cfg <<-EOF || die
include-system-site-packages = true
EOF
+
+ # we need to change shebangs to point to the venv-python
+ find "${bindir}" -type f -exec sed -i \
+ -e "1s@^#!\(${EPREFIX}/usr/bin/\(python\|pypy\)\)@#!${root}\1@" \
+ {} + || die
fi
}
@@ -1105,16 +1143,9 @@ distutils-r1_python_install() {
local scriptdir=${EPREFIX}/usr/bin
if [[ ${DISTUTILS_USE_PEP517} ]]; then
local root=${BUILD_DIR}/install
- local rscriptdir=${root}$(python_get_scriptdir)
- [[ -d ${rscriptdir} ]] &&
- die "${rscriptdir} should not exist!"
- # remove venv magic
- rm "${root}${EPREFIX}"/usr/{pyvenv.cfg,bin/{python,python3,${EPYTHON}}} || die
- find "${root}${EPREFIX}"/usr/bin -empty -delete || die
- if [[ ! ${DISTUTILS_SINGLE_IMPL} && -d ${root}${EPREFIX}/usr/bin ]]; then
- mkdir -p "${rscriptdir%/*}" || die
- mv "${root}${EPREFIX}/usr/bin" "${rscriptdir}" || die
- fi
+ # remove the altered bindir, executables from the package
+ # are already in scriptdir
+ rm -r "${root}${scriptdir}" || die
else
local root=${D%/}/_${EPYTHON}
[[ ${DISTUTILS_SINGLE_IMPL} ]] && root=${D%/}
diff --git a/eclass/python-any-r1.eclass b/eclass/python-any-r1.eclass
index 7af9474d9a1f..282c449f2a03 100644
--- a/eclass/python-any-r1.eclass
+++ b/eclass/python-any-r1.eclass
@@ -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
# @ECLASS: python-any-r1.eclass
@@ -36,7 +36,7 @@
# both.
#
# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
+# https://projects.gentoo.org/python/guide/
case "${EAPI:-0}" in
[0-5]) die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}" ;;
diff --git a/eclass/python-r1.eclass b/eclass/python-r1.eclass
index 4b51cc18b959..40ad4ef4bbf8 100644
--- a/eclass/python-r1.eclass
+++ b/eclass/python-r1.eclass
@@ -28,7 +28,7 @@
# both.
#
# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
+# https://projects.gentoo.org/python/guide/
case "${EAPI:-0}" in
[0-5])
diff --git a/eclass/python-single-r1.eclass b/eclass/python-single-r1.eclass
index 5a4bcea55da4..574ee9cfc04e 100644
--- a/eclass/python-single-r1.eclass
+++ b/eclass/python-single-r1.eclass
@@ -35,7 +35,7 @@
# to inherit both.
#
# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
+# https://projects.gentoo.org/python/guide/
case "${EAPI:-0}" in
[0-5])
diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index 3d55bc0905f2..c8367f8065f4 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -17,7 +17,7 @@
# functions. It can be inherited safely.
#
# For more information, please see the Python Guide:
-# https://dev.gentoo.org/~mgorny/python-guide/
+# https://projects.gentoo.org/python/guide/
# NOTE: When dropping support for EAPIs here, we need to update
# metadata/install-qa-check.d/60python-pyc