summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.19.85.ebuild58
-rw-r--r--app-emulation/fs-uae/fs-uae-3.0.5.ebuild6
-rw-r--r--dev-lang/rust/rust-1.52.1.ebuild6
-rw-r--r--dev-python/awxkit/Manifest1
-rw-r--r--dev-python/awxkit/awxkit-19.2.0.ebuild29
-rw-r--r--dev-python/blosc/Manifest1
-rw-r--r--dev-python/blosc/blosc-1.10.4.ebuild46
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.17.85.ebuild56
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.20.85.ebuild59
-rw-r--r--dev-python/prometheus_client/Manifest1
-rw-r--r--dev-python/prometheus_client/prometheus_client-0.11.0.ebuild21
-rw-r--r--dev-python/python-magic/Manifest1
-rw-r--r--dev-python/python-magic/python-magic-0.4.23.ebuild30
-rw-r--r--dev-python/tox/tox-3.23.1.ebuild7
-rw-r--r--dev-python/werkzeug/werkzeug-2.0.1-r1.ebuild12
-rw-r--r--eclass/distutils-r1.eclass96
19 files changed, 380 insertions, 53 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest
index 8df275dba1fa..ff695809be06 100644
--- a/app-admin/awscli/Manifest
+++ b/app-admin/awscli/Manifest
@@ -5,3 +5,4 @@ DIST awscli-1.19.80.tar.gz 2006767 BLAKE2B 9840d8068d10048ff043b43cb3e2dc49ee55f
DIST awscli-1.19.82.tar.gz 2007776 BLAKE2B aaa065a555c481733a3bece914cc84d97845be52a6d254b74494b8f3fc554dbaf33a5cddedd45fdd1f5811e9fad2ce9172939dfa352ba693576dc8554e0d7283 SHA512 87e4b4449d05dd01480c74b992c25163761dc4b495f0414c46631bc547d6b7d2b3b0805205c6d0b641b33f1a8ec98ccb821fdcb18bd2f672695b431505792e18
DIST awscli-1.19.83.tar.gz 2008544 BLAKE2B e970d95e9caad606e66f1985dcf2500670ded3da657926e9ec7f37201a45f480318a6081aa2cdd0e27d46a498085c6fa8e9a13e0c8a091f9aa6a12af885d90e9 SHA512 03e10001115e201c6db3f7bb45eaf47816a95813678502e8b97b1216c9748385df2832f55328780b6e070d57e13a7a680a8b429fcbae351be100add84bb16d45
DIST awscli-1.19.84.tar.gz 2011045 BLAKE2B 581a7d1c22f7f92c434b6726cae34cdfde1f6da73c9b4470c73386389b1969872825850623685ddfc5958e99bc1d065b9f7afad8f88185329f0752dcb79c0b82 SHA512 4408bae1564346c873693e82124d33c17563a0a35fa41c8e2896a8ab4df23c5c41d17c87b522e7c2222335146dab0b9b32aa671f6c0e9f769bdeccf36948ae72
+DIST awscli-1.19.85.tar.gz 2014586 BLAKE2B 7d7ec1d8ece349875403258988ac1732e48a70293471b76b0b3e5278877d606b9390cf3a01166914b3db78696f31598d30c4de1a0f1e5dcc2cc3582bbcf9a493 SHA512 738d433997f7d9a21db2d9d236cf5c1cc0a61ebf601cc2a96f292e22f9fdd4bbb6e6377fb55d161814275b653f61974c13b399d450ecea888b26543c6e3cf955
diff --git a/app-admin/awscli/awscli-1.19.85.ebuild b/app-admin/awscli/awscli-1.19.85.ebuild
new file mode 100644
index 000000000000..d57c79858b9f
--- /dev/null
+++ b/app-admin/awscli/awscli-1.19.85.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+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}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests --install nose
+
+PATCHES=(
+ "${FILESDIR}"/awscli-1.19.47-py39.patch
+)
+
+python_test() {
+ distutils_install_for_testing
+ # integration tests require AWS credentials and Internet access
+ nosetests -v tests/{functional,unit} ||
+ die "Tests failed for ${EPYTHON}"
+}
+
+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/app-emulation/fs-uae/fs-uae-3.0.5.ebuild b/app-emulation/fs-uae/fs-uae-3.0.5.ebuild
index 3cf31cf10ce0..dab8a94a18e3 100644
--- a/app-emulation/fs-uae/fs-uae-3.0.5.ebuild
+++ b/app-emulation/fs-uae/fs-uae-3.0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -50,6 +50,10 @@ src_prepare() {
# used? Lua is bundled but differs from upstream. We keep the
# default of disabling the Lua feature anyway as it is unfinished.
rm -r libmpeg2/ libudis86/ || die
+
+ # Fix building with GCC 11 / C++-17. This code was removed from master so
+ # this change has not been sent upstream.
+ sed -i "s/ throw([^)]*)//g" src/dosbox/setup.h || die
}
src_configure() {
diff --git a/dev-lang/rust/rust-1.52.1.ebuild b/dev-lang/rust/rust-1.52.1.ebuild
index 42d6f2b17da0..efa716a08b92 100644
--- a/dev-lang/rust/rust-1.52.1.ebuild
+++ b/dev-lang/rust/rust-1.52.1.ebuild
@@ -279,10 +279,14 @@ src_configure() {
local rust_stage0_root
if use system-bootstrap; then
- rust_stage0_root="$(rustc --print sysroot)"
+ local printsysroot
+ printsysroot="$(rustc --print sysroot || die "Can't determine rust's sysroot")"
+ rust_stage0_root="${printsysroot}"
else
rust_stage0_root="${WORKDIR}"/rust-stage0
fi
+ # in case of prefix it will be already prefixed, as --print sysroot returns full path
+ [[ -d ${rust_stage0_root} ]] || die "${rust_stage0_root} is not a directory"
rust_target="$(rust_abi)"
diff --git a/dev-python/awxkit/Manifest b/dev-python/awxkit/Manifest
index 02d5ebec89e2..e1e603ec39b8 100644
--- a/dev-python/awxkit/Manifest
+++ b/dev-python/awxkit/Manifest
@@ -1,2 +1,3 @@
DIST awxkit-19.0.0.tar.gz 95820 BLAKE2B eadb3ffbfd5a1bf2835e4a7df788e06676cd7c8132c8527c04c4876e87039b72ed00775ddc342e0b31bb0c4a7036b3ecb0456761b9a6a1a5f40e60656fd06521 SHA512 169531549fd668e9917db55f2d61d8959645659496f249d9bb94432b9d7449aa549a751aa3c0255c38334e24684e4039e581d26aa2c291ede88b623824b78ff9
DIST awxkit-19.1.0.tar.gz 94839 BLAKE2B 751084164581dd772c4f99b14d3e3526effd758bffda0820be56f0d963903314458c0037df33606bf0329009186ef86df1fa0c41f9ecd377b8c2d2de15bcd9e0 SHA512 a4be398f81f370e62b60605c0add70775eebf78bbd21080a65caa64c5b9f9daf33315516cd3771d434ff86d2bb9ec089545adbc174bd19ef5e52ae69e6cb79db
+DIST awxkit-19.2.0.tar.gz 94870 BLAKE2B becd8819e5d7f495d73a16302389af802db9fc3d9e24e09f93f0e5a730552e676a2f6514a07ea6d90436837c78a32e6a7be9ba541942aae6e8437c30aa4fb2c5 SHA512 3bcae70da26170a8b9cfc49c3ea3391f4fc03c868286499b5d3303da3559927c1fd2c0aeae282831412825e34fb83d8324fe2e58ba11d60598bbbbb26ff661a3
diff --git a/dev-python/awxkit/awxkit-19.2.0.ebuild b/dev-python/awxkit/awxkit-19.2.0.ebuild
new file mode 100644
index 000000000000..8045b8749b2a
--- /dev/null
+++ b/dev-python/awxkit/awxkit-19.2.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+inherit distutils-r1
+
+DESCRIPTION="Command line interface for Ansible AWX"
+HOMEPAGE="https://github.com/ansible/awx"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
+ -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/blosc/Manifest b/dev-python/blosc/Manifest
index 424283edb88b..c35afc208d92 100644
--- a/dev-python/blosc/Manifest
+++ b/dev-python/blosc/Manifest
@@ -1 +1,2 @@
DIST blosc-1.10.2.tar.gz 858096 BLAKE2B ff314011e1afc2d972c2445df9ad25c245494479201ddd0944ddf5f14aa0aa772c9da1e117eb5395f5488e7238aefe1236d9a5579b4d03be2b041790de9575e8 SHA512 82dab50a49ddd45d8276fd43999233f41b507e35af5897ed4945565fde8f56be0855b0dd926d254bd77904ec7a13ad3f024007159510b677769d97599b731222
+DIST blosc-1.10.4.tar.gz 858123 BLAKE2B 01c9bd9486a27944caae1bc92b591c8b6f821bb5a6a0b44bc19f6c1778f2a2573a25783631c2140daa4d701569e584c93f8d5da76a92b73fb35ae5880ad2ea34 SHA512 bb41b83ff5198603e3721150976f95ffcbfe7b91bd5b11e1aa5e440dee1af7a9a6f5033e5aa4858117432e1522052ec074e9f14b5be52545e3752bc818637703
diff --git a/dev-python/blosc/blosc-1.10.4.ebuild b/dev-python/blosc/blosc-1.10.4.ebuild
new file mode 100644
index 000000000000..43923c61a128
--- /dev/null
+++ b/dev-python/blosc/blosc-1.10.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="http://python-blosc.blosc.org"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-libs/c-blosc-1.19.0:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/scikit-build[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ANNOUNCE.rst README.rst RELEASE_NOTES.rst )
+PATCHES=(
+ "${FILESDIR}"/blosc-1.10.0-unbundle.patch
+)
+
+python_prepare_all() {
+ export BLOSC_DIR="${EPREFIX}/usr"
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ "${EPYTHON}" -m blosc.test -v || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e31b9ecdf1a6..8989654efeaf 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,3 +6,4 @@ DIST boto3-1.17.80.tar.gz 375564 BLAKE2B dd10855ff88a0f24789cb389b0e10c3a6d4f984
DIST boto3-1.17.82.tar.gz 376284 BLAKE2B 33520a1a80566a17b3a0665ce2520e73bab69b48db02b1ac25b6ff438a2dd68a75c08026abce6a2274e1fa40aaa7fe4f0e56ecc663672d9a6eef205df5d0baea SHA512 0ab14df312032a64746624b67dc721c45ed6cb7c3be21cceba77eb4c20a76d85bd2db22eca41f598431f6579473becc78e84075a57ab43b16561d4b58e3648a5
DIST boto3-1.17.83.tar.gz 376963 BLAKE2B 0bdcae1097a8ee4250c08fe639419ea99b83e33ea77433698ee9bafd928252e6b836c93bb83d383ff4aeacc583d2309236e80d2ebd5425e320aa2a80da295964 SHA512 c1dad3d17b0bf628ae31edda3a6eaf01fa1b820031d541f0dd4f4d56e98a1da9f868ed1c6e63ff0b6bd83cda027c540c08b41a066d3b35959294779c2113cb37
DIST boto3-1.17.84.tar.gz 377284 BLAKE2B dbbc6b8643b720a8a5409c334e268b6de465e7db05684ff5a70d95c91e7e2feff3c3db94ad85f400ac7451e8f37537732ed416602c35bf37955d840701bf5bb4 SHA512 19d224c9bd7135d1de4da807b51f72a3366d5774dba970896388bffb1308b348b001453c0632de5eee8f03bdf0c2b8cf3e9da894e73cb16e10551e060beef5fe
+DIST boto3-1.17.85.tar.gz 377940 BLAKE2B 7fdfa25b7fd6467f484dc988bac280b0e4e7044f2a064625efdc5e6f9725b038f08b88f63442452b151541ae4f0ff26ae395816f6422b49474d2e8d93df3a7da SHA512 126e78056b8ac52cba3db5965563c4b6c1451f5aeba2d7d775f358e75f810229102328230e0f5dd1ef3767468106f1d7f3af5575e51422c6b63ef6b509318e70
diff --git a/dev-python/boto3/boto3-1.17.85.ebuild b/dev-python/boto3/boto3-1.17.85.ebuild
new file mode 100644
index 000000000000..5577742efeb7
--- /dev/null
+++ b/dev-python/boto3/boto3-1.17.85.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+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 ~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 nose
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # prevent an infinite loop
+ rm tests/functional/docs/test_smoke.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -v tests/unit/ tests/functional/ || die "test failed under ${EPYTHON}"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index b0bd13423abf..f74f63db14d5 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,3 +6,4 @@ DIST botocore-1.20.80.tar.gz 7767475 BLAKE2B de8f7f6575e9e5a7f7e8ad0adeb886be776
DIST botocore-1.20.82.tar.gz 7772021 BLAKE2B 09fc32ba42275afde8332287825e954bd5bb8b7f5bea00666f73baf60297bd972b2ec6525f1d6e16e22bb23e233b619fecbb666dcdededcc07a016c9763ab774 SHA512 227b7160ef9d945d00efdcdfaa60ed85d50b183fbeded816e6185b8125b32c2fa0eee9dc473f83f977c0de2139eb042f3338eea37081b37d480edd7c300b641f
DIST botocore-1.20.83.tar.gz 7786168 BLAKE2B 1bd8864da814ed502c4e0860d8c7a82c6c15d778f2aafc333ffe6e64f45398c173ad7700f9fc90a9fbf4b91f8f77b5494619bdc6e4bda1dcec6cef8d496327c2 SHA512 7ff1c73d85e02cc1f2de1de915d337369681e28ac44aba5cfb29df6bc4377f664170844ed8caeb7e50c97d127d1e9caac08fac18724046a7f1450cc7ea212b4a
DIST botocore-1.20.84.tar.gz 7792555 BLAKE2B e9459fad976bb81541ce933666edccdbfe9910674cde9f23b264388845cb3e98cae77639a3333cb3fec00c33602af8fea82681fbd387775ff9ed47245e4d0e4f SHA512 da19ffb81c24c2e7a10c5e0647179f36ebf89c097f795cb16d723a3e0311a81e9c835b7b3795d02047d084a098507f4b6e0cc502129877e4258691a6a6ee1cee
+DIST botocore-1.20.85.tar.gz 7795550 BLAKE2B 483b6fef456de9a37b00dbaf0f2af766079447f70fb992c96f0ab8208c3ce0e39a459d89a29e07b7e9fed9e1b39ddfeac28c3de5bfac1ddde1aac2cbecfe4056 SHA512 1a3e07da2c1b60680c858e4b732fe340563b18ec10aad7a9250bff7e7a11a97ccd3e952245187b90fe84b2fddd8f48568d70d69a03612782da5d90a8e2d06de3
diff --git a/dev-python/botocore/botocore-1.20.85.ebuild b/dev-python/botocore/botocore-1.20.85.ebuild
new file mode 100644
index 000000000000..afca295f8bed
--- /dev/null
+++ b/dev-python/botocore/botocore-1.20.85.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..9} )
+
+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 ~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/mock[${PYTHON_USEDEP}]
+ 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 nose
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+ # very unstable
+ sed -i -e 's:test_stress_test_token_bucket:_&:' \
+ tests/functional/retries/test_bucket.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # note: suites need to be run separately as one of the unit tests
+ # seems to be leaking mocks and breaking a few functional tests
+ nosetests -v tests/unit ||
+ die "unit tests failed under ${EPYTHON}"
+ nosetests -v tests/functional ||
+ die "functional tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/prometheus_client/Manifest b/dev-python/prometheus_client/Manifest
index 8317e54b7930..6f6c15159bd1 100644
--- a/dev-python/prometheus_client/Manifest
+++ b/dev-python/prometheus_client/Manifest
@@ -1 +1,2 @@
DIST prometheus_client-0.10.1.tar.gz 71676 BLAKE2B 63a597eca0f7684013ca2de8cda9d9ca7ab64d3ff923e3d328c1e54e794ea9e34771795117a8cd8254063028ceedd9c50d15c89bba48d3994e79629ebae6df14 SHA512 231c86bfeb2a35fbaf172005ead5b790b107c55f3657d94ad417c0036cc72ad6b48ebef7d52d2fdd1bca9b98032d1057250a880b002a29e98efa803886f26766
+DIST prometheus_client-0.11.0.tar.gz 72272 BLAKE2B 2526a65acf928ce5f492c6a43276ecb951d8b600eeb5050b92db091919862eb0ec4f41ca41347b4dd70a612f70e8f4a49796572de80b197d21c3a8cf8e303201 SHA512 5e644d781b7fcc3e0e386a2244f524ccaf978f1eab87b1d6d8009ac3f10fe2ca4adf2c76c2a2ffa47b4b54237cd906807d55bd99530a92d82cd3825de93280dc
diff --git a/dev-python/prometheus_client/prometheus_client-0.11.0.ebuild b/dev-python/prometheus_client/prometheus_client-0.11.0.ebuild
new file mode 100644
index 000000000000..dfe3fc49a70a
--- /dev/null
+++ b/dev-python/prometheus_client/prometheus_client-0.11.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+inherit distutils-r1
+
+DESCRIPTION="Python client for the Prometheus monitoring system"
+HOMEPAGE="https://pypi.org/project/prometheus-client/
+ https://github.com/prometheus/client_python/"
+SRC_URI="https://github.com/prometheus/client_python/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/client_python-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="dev-python/twisted[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-magic/Manifest b/dev-python/python-magic/Manifest
index 3d84bdf143a1..fc4007252a89 100644
--- a/dev-python/python-magic/Manifest
+++ b/dev-python/python-magic/Manifest
@@ -1 +1,2 @@
DIST python-magic-0.4.22.gh.tar.gz 863567 BLAKE2B 6994869e4cc5ba5ff7ae1a6ac6117f5b1553a11079fb5faaa23b48ee241b2615e2514270f66c55b417b4051d6a5aedd7c289f139c23842979e4af0cdb7a34e3a SHA512 7f16c090a713be4ecc25727f0195bddfadfa9f54507899e35f48bd268ea1d78637ca024ecf02e331a8988a931e430f7346bb5f4b46e58ddc1ff03ec678640e6d
+DIST python-magic-0.4.23.gh.tar.gz 863739 BLAKE2B 7adcf4f8662cb5c6dab1d680a48f80db03f78d6f2f67a81f9d1464a79b820d8ed28a69ca5aa1c8eaa1b016556217dcab0878725a370318db0905985d332561f4 SHA512 8f6093ba6e1138e8c81e7afc596946c3657ddea55554edcf555f6490e2d19c936f41367cd27a04554a344b3116d033ab760c2c954ac6ffd017b9c319abe44b00
diff --git a/dev-python/python-magic/python-magic-0.4.23.ebuild b/dev-python/python-magic/python-magic-0.4.23.ebuild
new file mode 100644
index 000000000000..8cbe1ca0fe8c
--- /dev/null
+++ b/dev-python/python-magic/python-magic-0.4.23.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python3_{7..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Access the libmagic file type identification library"
+HOMEPAGE="https://github.com/ahupp/python-magic"
+SRC_URI="
+ https://github.com/ahupp/python-magic/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="sys-apps/file[-python]"
+BDEPEND="
+ test? ( sys-apps/file )
+"
+
+python_test() {
+ local -x LC_ALL=en_US.UTF-8
+ "${EPYTHON}" test/test.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/tox/tox-3.23.1.ebuild b/dev-python/tox/tox-3.23.1.ebuild
index 195d37f7ec9d..44a1cb28a248 100644
--- a/dev-python/tox/tox-3.23.1.ebuild
+++ b/dev-python/tox/tox-3.23.1.ebuild
@@ -53,11 +53,6 @@ python_test() {
# expects python2 to exist
tests/unit/interpreters/test_interpreters.py::test_tox_get_python_executable
-
- # broken without tox installed first
- # TODO: figure out how to make importlib_metadata work
- tests/unit/test_z_cmdline.py::test_tox_console_script
- tests/unit/test_z_cmdline.py::test_tox_quickstart_script
)
[[ ${EPYTHON} != pypy3 ]] && deselect+=(
@@ -69,6 +64,6 @@ python_test() {
tests/integration/test_parallel_interrupt.py::test_parallel_interrupt
)
- distutils_install_for_testing --via-root
+ distutils_install_for_testing --via-venv
epytest --no-network ${deselect[@]/#/--deselect }
}
diff --git a/dev-python/werkzeug/werkzeug-2.0.1-r1.ebuild b/dev-python/werkzeug/werkzeug-2.0.1-r1.ebuild
index 154eb8d2deda..bac6311782f1 100644
--- a/dev-python/werkzeug/werkzeug-2.0.1-r1.ebuild
+++ b/dev-python/werkzeug/werkzeug-2.0.1-r1.ebuild
@@ -39,18 +39,8 @@ PATCHES=(
"${FILESDIR}"/${P}-py310.patch
)
-src_prepare() {
- distutils-r1_src_prepare
- # prevent esetup.py install from zipping the egg
- sed -i -e '/\[options\]/azip_safe = False' setup.cfg || die
-}
-
python_test() {
- "${EPYTHON}" -m venv --system-site-packages --without-pip \
- "${BUILD_DIR}"/venv || die
- local -x PATH=${BUILD_DIR}/venv/bin:${PATH}
- unset PYTHONPATH
- esetup.py install
+ distutils_install_for_testing --via-venv
# the default portage tempdir is too long for AF_UNIX sockets
local -x TMPDIR=/tmp
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index a02b6d059bd1..53eee173a262 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -481,7 +481,7 @@ esetup.py() {
}
# @FUNCTION: distutils_install_for_testing
-# @USAGE: [--via-root|--via-home] [<args>...]
+# @USAGE: [--via-root|--via-home|--via-venv] [<args>...]
# @DESCRIPTION:
# Install the package into a temporary location for running tests.
# Update PYTHONPATH appropriately and set TEST_DIR to the test
@@ -493,32 +493,36 @@ esetup.py() {
# PYTHONPATH) or tests rely on the results of install command.
# For most of the packages, tests built in BUILD_DIR are good enough.
#
-# The function supports two install modes. The current default is
-# --via-root mode. Previously, the function defaulted to --via-home
-# mode but it has been broken by new versions of setuptools (50.3.0+).
-# If you find that --via-root does not work but --via-home does, please
-# file a bug to let us know. Please note that proper testing sometimes
-# requires unmerging the package first.
+# The function supports three install modes. These are:
+#
+# --via-root (the default) that uses 'setup.py install --root=...'
+# combined with PYTHONPATH and is recommended for the majority
+# of packages.
+#
+# --via-venv that creates a (non-isolated) venv and installs the package
+# into it via 'setup.py install'. This mode does not use PYTHONPATH
+# but requires python to be called via PATH. It may solve a few corner
+# cases that --via-root do not support.
+#
+# --via-home that uses 'setup.py install --home=...'. This is
+# a historical mode that was mostly broken by setuptools 50.3.0+.
+# If your package does not work with the other two modes but works with
+# this one, please report a bug.
+#
+# Please note that in order to test the solution properly you need
+# to unmerge the package first.
distutils_install_for_testing() {
debug-print-function ${FUNCNAME} "${@}"
- # A few notes:
- # 1) because of namespaces, we can't use 'install --root'
- # (NB: this is probably no longer true with py3),
- # 2) 'install --home' is terribly broken on pypy, so we need
+ # A few notes about --via-home mode:
+ # 1) 'install --home' is terribly broken on pypy, so we need
# to override --install-lib and --install-scripts,
- # 3) non-root 'install' complains about PYTHONPATH and missing dirs,
+ # 2) non-root 'install' complains about PYTHONPATH and missing dirs,
# so we need to set it properly and mkdir them,
- # 4) it runs a bunch of commands which write random files to cwd,
+ # 3) it runs a bunch of commands which write random files to cwd,
# in order to avoid that, we add the necessary path overrides
# in _distutils-r1_create_setup_cfg.
- TEST_DIR=${BUILD_DIR}/test
- local bindir=${TEST_DIR}/scripts
- local libdir=${TEST_DIR}/lib
- PATH=${bindir}:${PATH}
- PYTHONPATH=${libdir}:${PYTHONPATH}
-
local install_method=root
case ${1} in
--via-home)
@@ -529,30 +533,50 @@ distutils_install_for_testing() {
install_method=root
shift
;;
+ --via-venv)
+ install_method=venv
+ shift
+ ;;
esac
- local -a add_args
- case ${install_method} in
- home)
- add_args=(
- install
+ TEST_DIR=${BUILD_DIR}/test
+ local add_args=()
+
+ if [[ ${install_method} == venv ]]; then
+ "${EPYTHON}" -m venv --system-site-packages --without-pip \
+ "${TEST_DIR}" || die
+
+ # we only do the minimal necessary subset of activate script
+ PATH=${TEST_DIR}/bin:${PATH}
+ # unset PYTHONPATH in order to prevent BUILD_DIR from overriding
+ # venv packages
+ unset PYTHONPATH
+ else
+ local bindir=${TEST_DIR}/scripts
+ local libdir=${TEST_DIR}/lib
+ PATH=${bindir}:${PATH}
+ PYTHONPATH=${libdir}:${PYTHONPATH}
+
+ case ${install_method} in
+ home)
+ add_args=(
--home="${TEST_DIR}"
--install-lib="${libdir}"
--install-scripts="${bindir}"
- )
- mkdir -p "${libdir}" || die
- ;;
- root)
- add_args=(
- install
+ )
+ mkdir -p "${libdir}" || die
+ ;;
+ root)
+ add_args=(
--root="${TEST_DIR}"
--install-lib=lib
--install-scripts=scripts
- )
- ;;
- esac
+ )
+ ;;
+ esac
+ fi
- esetup.py "${add_args[@]}" "${@}"
+ esetup.py install "${add_args[@]}" "${@}"
}
# @FUNCTION: _distutils-r1_disable_ez_setup
@@ -646,6 +670,10 @@ _distutils-r1_create_setup_cfg() {
# setuptools like to create .egg files for install --home.
[bdist_egg]
dist_dir = ${BUILD_DIR}/dist
+
+ # avoid packing up eggs in a zip as it often breaks test suites
+ [options]
+ zip_safe = False
_EOF_
# we can't refer to ${D} before src_install()