summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-18 15:28:09 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-18 15:28:09 +0000
commitdd7fcdaffc94c2c2a9e9ee70a16e2da831368a8c (patch)
treeed36bed7ab44e989dc0d89d7f460429b6039f77c /dev-python
parentcb8e099d303cfee5b033613e0a34096f7f580667 (diff)
downloadbaldeagleos-repo-dd7fcdaffc94c2c2a9e9ee70a16e2da831368a8c.tar.gz
baldeagleos-repo-dd7fcdaffc94c2c2a9e9ee70a16e2da831368a8c.tar.xz
baldeagleos-repo-dd7fcdaffc94c2c2a9e9ee70a16e2da831368a8c.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/BitVector/BitVector-3.5.0.ebuild3
-rw-r--r--dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild3
-rw-r--r--dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild1
-rw-r--r--dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild21
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild29
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild14
-rw-r--r--dev-python/argh/argh-0.26.2-r3.ebuild29
-rw-r--r--dev-python/asn1crypto/asn1crypto-1.5.1.ebuild11
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.10.4.ebuild6
-rw-r--r--dev-python/betamax/betamax-0.8.1-r1.ebuild38
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.23.2.ebuild65
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.26.2.ebuild71
-rw-r--r--dev-python/bsddb3/bsddb3-6.2.9.ebuild2
-rw-r--r--dev-python/cached-property/cached-property-1.5.2-r1.ebuild30
-rw-r--r--dev-python/cached-property/files/cached-property-1.5.2-python311.patch142
-rw-r--r--dev-python/chameleon/Manifest1
-rw-r--r--dev-python/chameleon/chameleon-3.10.1.ebuild30
-rw-r--r--dev-python/cython/Manifest1
-rw-r--r--dev-python/cython/cython-0.29.30.ebuild90
-rw-r--r--dev-python/doc8/Manifest1
-rw-r--r--dev-python/doc8/doc8-0.11.2.ebuild34
-rw-r--r--dev-python/dulwich/Manifest1
-rw-r--r--dev-python/dulwich/dulwich-0.20.38.ebuild59
-rw-r--r--dev-python/ecdsa/ecdsa-0.17.0.ebuild2
-rw-r--r--dev-python/elementpath/Manifest1
-rw-r--r--dev-python/elementpath/elementpath-2.5.2.ebuild38
-rw-r--r--dev-python/exceptiongroup/Manifest1
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.0.0_rc6.ebuild34
-rw-r--r--dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild34
-rw-r--r--dev-python/google-api-python-client/Manifest1
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.48.0.ebuild53
-rw-r--r--dev-python/hatchling/Manifest1
-rw-r--r--dev-python/hatchling/hatchling-1.0.0.ebuild74
-rw-r--r--dev-python/httpcore/Manifest1
-rw-r--r--dev-python/httpcore/httpcore-0.15.0.ebuild53
-rw-r--r--dev-python/httplib2/httplib2-0.20.4.ebuild20
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r1.ebuild5
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.32.ebuild2
-rw-r--r--dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild72
-rw-r--r--dev-python/protobuf-python/protobuf-python-9999.ebuild8
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.9.ebuild2
-rw-r--r--dev-python/pypy3/pypy3-7.3.7.ebuild2
-rw-r--r--dev-python/pypy3/pypy3-7.3.9.ebuild2
-rw-r--r--dev-python/sqlparse/sqlparse-0.4.2.ebuild2
-rw-r--r--dev-python/vcrpy/vcrpy-4.1.1-r1.ebuild62
-rw-r--r--dev-python/watchfiles/Manifest2
-rw-r--r--dev-python/watchfiles/watchfiles-0.14.1.ebuild102
-rw-r--r--dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild20
-rw-r--r--dev-python/yarl/Manifest1
-rw-r--r--dev-python/yarl/yarl-1.7.2-r3.ebuild45
52 files changed, 1296 insertions, 28 deletions
diff --git a/dev-python/BitVector/BitVector-3.5.0.ebuild b/dev-python/BitVector/BitVector-3.5.0.ebuild
index 05d6ade0c180..00311ce5d2d6 100644
--- a/dev-python/BitVector/BitVector-3.5.0.ebuild
+++ b/dev-python/BitVector/BitVector-3.5.0.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
inherit distutils-r1
diff --git a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild
index 71cbe041c879..bb7b9e11dda3 100644
--- a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild
+++ b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
inherit distutils-r1
diff --git a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
index 08ab3f323a4f..2ea5488db5f3 100644
--- a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
+++ b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
@@ -4,6 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
DESCRIPTION="Async JSON-RPC 2.0 protocol + server powered by asyncio"
diff --git a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
new file mode 100644
index 000000000000..48a92629ec6a
--- /dev/null
+++ b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="A library for parsing ISO 8601 strings"
+HOMEPAGE="https://bitbucket.org/nielsenb/aniso8601/ https://pypi.org/project/aniso8601/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND=">=dev-python/python-dateutil-2.7.3[${PYTHON_USEDEP}]"
+
+distutils_enable_tests unittest
diff --git a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
new file mode 100644
index 000000000000..50e84a172d65
--- /dev/null
+++ b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/numerodix/ansicolor.git"
+else
+ # pypi tars don't include tests and github repo is missing release tags,
+ # so only enabling tests for 9999 at this time
+ SRC_URI="
+ https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Produce ansi color output and colored highlighting and diffing"
+HOMEPAGE="https://github.com/numerodix/ansicolor https://pypi.org/project/ansicolor/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansicolor/ansicolor-9999.ebuild b/dev-python/ansicolor/ansicolor-9999.ebuild
index 7785cf09b17b..50e84a172d65 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.ebuild
@@ -1,20 +1,22 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/numerodix/ansicolor.git"
+else
# pypi tars don't include tests and github repo is missing release tags,
# so only enabling tests for 9999 at this time
- distutils_enable_tests pytest
-else
- SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ SRC_URI="
+ https://github.com/numerodix/ansicolor/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
@@ -23,3 +25,5 @@ HOMEPAGE="https://github.com/numerodix/ansicolor https://pypi.org/project/ansico
LICENSE="Apache-2.0"
SLOT="0"
+
+distutils_enable_tests pytest
diff --git a/dev-python/argh/argh-0.26.2-r3.ebuild b/dev-python/argh/argh-0.26.2-r3.ebuild
new file mode 100644
index 000000000000..64adb58740ca
--- /dev/null
+++ b/dev-python/argh/argh-0.26.2-r3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="https://pythonhosted.org/argh/"
+SRC_URI="mirror://pypi/a/${PN}/${P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+LICENSE="LGPL-3"
+
+BDEPEND="
+ test? (
+ dev-python/iocapture[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-py3.9-msgs.patch"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild b/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild
index 6274895d7320..a3173d3bbedf 100644
--- a/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild
+++ b/dev-python/asn1crypto/asn1crypto-1.5.1.ebuild
@@ -10,9 +10,14 @@ PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
DESCRIPTION="Python ASN.1 library with a focus on performance and a pythonic API"
-HOMEPAGE="https://github.com/wbond/asn1crypto/ https://pypi.org/project/asn1crypto/"
-# pypi tarball does not have tests
-SRC_URI="https://github.com/wbond/asn1crypto/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/wbond/asn1crypto/
+ https://pypi.org/project/asn1crypto/
+"
+SRC_URI="
+ https://github.com/wbond/asn1crypto/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.10.4.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.10.4.ebuild
index b80b12f45201..ec2ec9d3b217 100644
--- a/dev-python/asyncstdlib/asyncstdlib-3.10.4.ebuild
+++ b/dev-python/asyncstdlib/asyncstdlib-3.10.4.ebuild
@@ -11,10 +11,12 @@ inherit distutils-r1
DESCRIPTION="The missing async toolbox"
HOMEPAGE="
https://github.com/maxfischer2781/asyncstdlib/
- https://pypi.org/project/asyncstdlib/"
+ https://pypi.org/project/asyncstdlib/
+"
SRC_URI="
https://github.com/maxfischer2781/asyncstdlib/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/betamax/betamax-0.8.1-r1.ebuild b/dev-python/betamax/betamax-0.8.1-r1.ebuild
new file mode 100644
index 000000000000..8c321864f50a
--- /dev/null
+++ b/dev-python/betamax/betamax-0.8.1-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python-requests HTTP exchanges recorder"
+HOMEPAGE="https://github.com/betamaxpy/betamax"
+SRC_URI="mirror://pypi/${PN::1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}/betamax-0.8.1-tests.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm tests/integration/test_hooks.py || die
+ rm tests/integration/test_placeholders.py || die
+ sed -e 's:test_records:_&:' \
+ -e 's:test_replaces:_&:' \
+ -e 's:test_replays:_&:' \
+ -e 's:test_creates:_&:' \
+ -i tests/integration/test_record_modes.py || die
+ rm tests/integration/test_unicode.py || die
+ rm tests/regression/test_gzip_compression.py || die
+ rm tests/regression/test_requests_2_11_body_matcher.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index c9faec249bb9..15aa0e3aa3fa 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,4 @@
DIST boto3-1.22.9.tar.gz 497262 BLAKE2B c3fad6d556c62403578347600f2781b5fbf34a5ba975b596878f892cd1981bd06e25e50e4c67e5b5b27d6a0fec3aa8af0ea6e30a38277dcf1ae157719d95b3c5 SHA512 f32d6b9b2a8f2d6fcf975446f2c3530a8ba29dc8a3d55ed7b675bc7fb68694c3e6e1f0c54c3f6a715923f9c10268c7db04d897b73add7098f0e43062d2f28775
DIST boto3-1.23.0.tar.gz 499085 BLAKE2B d606370e274564f909be46cfac838212de3213fd8407f1f2ac26afc3287feaa4aec8bf25ac6db4f1058739b2cbefc99c8e16c9dd0c12a5bdeaacf4700e9b0015 SHA512 c44237239cadb98f257796e152b13514839d2003d2a8157bf5f8a41c726401a3e248ff021ccfcd3e6b8099939744fb309c6f1ba342ff066e84632f1ac97dbaf8
DIST boto3-1.23.1.tar.gz 499867 BLAKE2B 1ea53a7bf5f453a202347f29f0278d5397d6d10cfb52253a64a09ccb6ddfe1a95631045ecf7b526016f314c8773db04d25ed8cd2a539ae20776629079c168b61 SHA512 a1cc49cd53444bbda3fe0bbb1ec6e7e445a53d94af1eda0ed2984f7e0ddc4af14eed09b269cb4b4e62a15d647071bd9a9e5182b7049da745c19ba8da74e5c9b8
+DIST boto3-1.23.2.tar.gz 500287 BLAKE2B b997f18cfb2b5c03eab7decd14a60d70546eb60fb2d52f02d94ee478686bd520e4e8111757e9e073f17f7f415d9eb7243fdcd9ac2e0f2b98f6bd6d34473dc794 SHA512 6a774199b719496143af79b1a8a0612441a4f1d9ce426dfc3d495679bb0fda3856b7b0e81e8403d050de52bf8363dec9f0242cca6b32cf39d172d559d6ddf548
diff --git a/dev-python/boto3/boto3-1.23.2.ebuild b/dev-python/boto3/boto3-1.23.2.ebuild
new file mode 100644
index 000000000000..6e54ecb92f37
--- /dev/null
+++ b/dev-python/boto3/boto3-1.23.2.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_{7,8,9,10} pypy3 )
+
+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/${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}]
+ dev-python/pytest-xdist[${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} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 5b91aa86cfbd..6a3063caa019 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,4 @@
DIST botocore-1.25.9.tar.gz 8962451 BLAKE2B 5930499f514d5e9b9f0fa0c87a2461071a0432bb3957779a4669448bd7b34e94a5339598703419f36c01e505c8487217a4f525ce63832bc97ad35ef584ef45f3 SHA512 533c5ff383e53aa2b00a83b182207e9dd2d40ea000c7a0f1e74e30989c6c15f54fd26eb67375ceeb90c1a6ab158bda7de75ac40fe6b14614209ebb7063b9e2a1
DIST botocore-1.26.0.tar.gz 8968864 BLAKE2B fc07441c4a759273a1abe6826048082b0e2ce38964de507a9091d5898d998ffb30e9bab835c9a6be2d3d01c15813230fda3a1d0457c5e7aa8573fc262cd9e4d4 SHA512 2bc8cd2c7db5549fa1f8f1364d42a4a6463b1fc8d0a80cd5026ec5f765b2a02108274eb33a6d5d00b3bb07a30351b458e1829b547c07134420a6aed343526990
DIST botocore-1.26.1.tar.gz 8972136 BLAKE2B cf5d18d87fe5e78f6bb623e82dea9ec712867301e7b1fdd46724eb3aa37b7395d91dc206bc9329df96bab9c8072c8b071eaaea767848794db349982c630ab0d2 SHA512 c18160d1eb6f9feb6b4db2441c360112c1d8f88d8d2a3624f89b6ee4815c200c68d70601fbea1c93682af506cc6809a7e34568f543a25adbfd7ca09c309236ff
+DIST botocore-1.26.2.tar.gz 8990271 BLAKE2B 95ddae48b54ba0455959a95eb4dc992bf1a28b5b0004c8004298bea30eb729cc20d0bf7b189a0e62a12939365fd106ccfc06a00092b3229077b665bdcaebd86f SHA512 df478a29511a9436bcab16dca448d4d196988402a326fd8be8f0dd4fbfab0b97ef16b31f241c44e9f9973bbeafc99d79f317838e0e6a83f25299218fd5fce1ac
diff --git a/dev-python/botocore/botocore-1.26.2.ebuild b/dev-python/botocore/botocore-1.26.2.ebuild
new file mode 100644
index 000000000000..e5e1fa6d12b1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.26.2.ebuild
@@ -0,0 +1,71 @@
+# 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_{7,8,9,10} pypy3 )
+
+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="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-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}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
+ "${FILESDIR}/botocore-1.26.0-py311.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} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/bsddb3/bsddb3-6.2.9.ebuild b/dev-python/bsddb3/bsddb3-6.2.9.ebuild
index 17643788d445..67a9536533c9 100644
--- a/dev-python/bsddb3/bsddb3-6.2.9.ebuild
+++ b/dev-python/bsddb3/bsddb3-6.2.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/cached-property/cached-property-1.5.2-r1.ebuild b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
new file mode 100644
index 000000000000..ec94accb61f7
--- /dev/null
+++ b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="A cached-property for decorating methods in classes"
+HOMEPAGE="https://github.com/pydanny/cached-property"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="test? ( dev-python/freezegun[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests pytest
+
+DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst )
+
+PATCHES=(
+ # bug 638250
+ "${FILESDIR}"/${PN}-1.5.1-test-failure.patch
+ # @asyncio.coroutine removed in py3.11
+ "${FILESDIR}"/${PN}-1.5.2-python311.patch
+)
diff --git a/dev-python/cached-property/files/cached-property-1.5.2-python311.patch b/dev-python/cached-property/files/cached-property-1.5.2-python311.patch
new file mode 100644
index 000000000000..989033f20036
--- /dev/null
+++ b/dev-python/cached-property/files/cached-property-1.5.2-python311.patch
@@ -0,0 +1,142 @@
+From 297031687679762849dedeaf24aa3a19116f095b Mon Sep 17 00:00:00 2001
+From: Petr Viktorin <encukou@gmail.com>
+Date: Thu, 2 Dec 2021 11:26:20 +0100
+Subject: [PATCH 1/2] Don't use asyncio.coroutinefunction if it's not available
+
+Python 3.11 drops the deprecated @asyncio.coroutine and
+asyncio.iscoroutinefunction.
+
+Using a wrapper with @asyncio.coroutine in __get__ wasn't
+necessary (the future from asyncio.ensure_future is awaitable,
+and the wrapper doesn't do anything asynchronous), so the
+logic can be simplified to just call asyncio.ensure_future
+(to schedule the task and store the result when it's
+available).
+
+Tests for @asyncio.coroutine are skipped on 3.11+.
+
+An unnecessary call to asyncio.coroutine in tests is
+removed: it's not necessary to call this for `async def`
+functions.
+---
+ cached_property.py | 24 +++++++++++-------------
+ conftest.py | 6 +++++-
+ tests/test_async_cached_property.py | 3 +--
+ 3 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/cached_property.py b/cached_property.py
+index 3135871..254739c 100644
+--- a/cached_property.py
++++ b/cached_property.py
+@@ -13,6 +13,12 @@
+ import asyncio
+ except (ImportError, SyntaxError):
+ asyncio = None
++try:
++ iscoroutinefunction = asyncio.iscoroutinefunction
++except AttributeError:
++ # Python 3.11: @asyncio.coroutine was removed
++ from inspect import iscoroutinefunction
++
+
+
+ class cached_property(object):
+@@ -30,22 +36,14 @@ def __get__(self, obj, cls):
+ if obj is None:
+ return self
+
+- if asyncio and asyncio.iscoroutinefunction(self.func):
+- return self._wrap_in_coroutine(obj)
++ if asyncio and iscoroutinefunction(self.func):
++ value = asyncio.ensure_future(self.func(obj))
++ else:
++ value = self.func(obj)
+
+- value = obj.__dict__[self.func.__name__] = self.func(obj)
++ obj.__dict__[self.func.__name__] = value
+ return value
+
+- def _wrap_in_coroutine(self, obj):
+- @wraps(obj)
+- @asyncio.coroutine
+- def wrapper():
+- future = asyncio.ensure_future(self.func(obj))
+- obj.__dict__[self.func.__name__] = future
+- return future
+-
+- return wrapper()
+-
+
+ class threaded_cached_property(object):
+ """
+diff --git a/conftest.py b/conftest.py
+index 0563f64..1c4b618 100644
+--- a/conftest.py
++++ b/conftest.py
+@@ -7,13 +7,17 @@
+ # Whether the async and await keywords work
+ has_async_await = sys.version_info[0] == 3 and sys.version_info[1] >= 5
+
++# Whether "from asyncio import coroutine" *fails*
++version_info = sys.version_info
++dropped_asyncio_coroutine = version_info[0] == 3 and version_info[1] >= 11
++
+
+ print("conftest.py", has_asyncio, has_async_await)
+
+
+ collect_ignore = []
+
+-if not has_asyncio:
++if not has_asyncio or dropped_asyncio_coroutine:
+ collect_ignore.append("tests/test_coroutine_cached_property.py")
+
+ if not has_async_await:
+diff --git a/tests/test_async_cached_property.py b/tests/test_async_cached_property.py
+index 4ba84f3..d61cc28 100644
+--- a/tests/test_async_cached_property.py
++++ b/tests/test_async_cached_property.py
+@@ -9,8 +9,7 @@
+
+ def unittest_run_loop(f):
+ def wrapper(*args, **kwargs):
+- coro = asyncio.coroutine(f)
+- future = coro(*args, **kwargs)
++ future = f(*args, **kwargs)
+ loop = asyncio.get_event_loop()
+ loop.run_until_complete(future)
+
+
+From 9b210d12fa73c91743378ba4a966417846e7ea9a Mon Sep 17 00:00:00 2001
+From: Petr Viktorin <encukou@gmail.com>
+Date: Thu, 2 Dec 2021 11:44:18 +0100
+Subject: [PATCH 2/2] Restore compatibility with python 2.7
+
+This is still necessary according to the Contributing Guidelines.
+---
+ cached_property.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/cached_property.py b/cached_property.py
+index 254739c..944e2f5 100644
+--- a/cached_property.py
++++ b/cached_property.py
+@@ -13,12 +13,12 @@
+ import asyncio
+ except (ImportError, SyntaxError):
+ asyncio = None
+-try:
+- iscoroutinefunction = asyncio.iscoroutinefunction
+-except AttributeError:
+- # Python 3.11: @asyncio.coroutine was removed
+- from inspect import iscoroutinefunction
+-
++if asyncio:
++ try:
++ iscoroutinefunction = asyncio.iscoroutinefunction
++ except AttributeError:
++ # Python 3.11: @asyncio.coroutine was removed
++ from inspect import iscoroutinefunction
+
+
+ class cached_property(object):
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
index 150d934e2ad7..764bab316b80 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1,2 @@
DIST chameleon-3.10.0.gh.tar.gz 136996 BLAKE2B a622fa4d972dc0bea9532f0815b586e17d56fc4da94bad37f83fb29d2a94442da2a7d1ebd00fdfb0a877fcf9a2d269c2c3780ec9cf96ad772952b096a1ca1db2 SHA512 de59a4f1d0243beae91008f93741e9565831ea3b07c3f39e20e15ecc7220711a78bf475844fcaa9dc25f2376b0e937779ca28bd58f7c9b95fa2cf35cc7212117
+DIST chameleon-3.10.1.gh.tar.gz 137135 BLAKE2B c11520792a833bccc0997ea82e7876e309905ac0cdfd8701c4d83eee7befe1d152787f27b076df15c4ba299d2702ac6a262dc193d1ee7f6d44398e57af73772e SHA512 e79b261ce6f480358191ff3d23af325c0559e9c0b6be8b2c44d4bb3869fb7e09fa759906933d9b4d6f7107779f19bb225170add73ec3205ddf73b9bdb1bcfb9a
diff --git a/dev-python/chameleon/chameleon-3.10.1.ebuild b/dev-python/chameleon/chameleon-3.10.1.ebuild
new file mode 100644
index 000000000000..453d6d5462f0
--- /dev/null
+++ b/dev-python/chameleon/chameleon-3.10.1.ebuild
@@ -0,0 +1,30 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="
+ https://github.com/malthe/chameleon/
+ https://pypi.org/project/Chameleon/
+"
+SRC_URI="
+ https://github.com/malthe/chameleon/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd src || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 123481aedf64..6b6b2f7893f3 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,3 +1,4 @@
DIST cython-0.29.28.gh.tar.gz 2101301 BLAKE2B 980c04545e935deb4b4b1653f167dcbc94b8e2b24bc8897b5cc996dfca977645f7475c32aa973251ffcbbb31e725e27693af61ceaf66f2332c9525b02653dc76 SHA512 52490d0b5355e13cbe586830f763173d7556cf3d79d79192ca75138b1190e7a4c1f3feeb0568349802ef3b97300c3805f54eef5ffd73a5180d68f023ac2a44cd
DIST cython-0.29.29.gh.tar.gz 2105839 BLAKE2B ab7879ce70733cfd77b7aa42a2de717bfc1b9bf933754bfecc6548ee1d097ce4102daaee98a1902d957b50f18400b5ba58d6517edfe43c9332c5bb3ec45f9665 SHA512 db14813f6191445cc3d497d3c7d76cc8b55fbe8e6857d800f5e05052fe4b05e9c2a2e597bdc1891254a62ecef203780c1c495e8d28e831072ddd46992bfe6df4
+DIST cython-0.29.30.gh.tar.gz 2105561 BLAKE2B c995bc710d2c397b8d6e4edee0f989e43969a51efb29b83643149d8c4110ae0331a35b9cc2ec7a45a43fea19ab8d63f1ef934f92d451c62d057e0e04ec79a871 SHA512 f6b07adfa1ebe9d52dfb72857ffd40b35d8777914299de101c7b96ee2d64cdd85ac0374ed41b382881b1f3ce535a9af9419dfabee9a4781a3f818125292627d4
DIST cython-74073417c4f7e616af0a139a55f790f1ec7fe728.gh.tar.gz 2106765 BLAKE2B c2686a1d49fd1b522dcdf89f16c52fbb34595aed72e5626c8d3697ecc9318751d108999db443cfefe08334155ab59d230fcbd8e74715e185a161399abad6ae35 SHA512 2454a364fdd33f0090ba052a0bfa0ffb464ef750253a91c20a63c4db0b513f743870e7b9fafd844b0bf1a6b66b9b639f830d3a8c2f64abac6e197e2ff2279a59
diff --git a/dev-python/cython/cython-0.29.30.ebuild b/dev-python/cython/cython-0.29.30.ebuild
new file mode 100644
index 000000000000..4a76e6166a38
--- /dev/null
+++ b/dev-python/cython/cython-0.29.30.ebuild
@@ -0,0 +1,90 @@
+# 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_{7,8,9,10} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs elisp-common
+
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+SRC_URI="
+ https://github.com/cython/cython/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+IUSE="emacs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ emacs? ( >=app-editors/emacs-23.1:* )
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
+)
+
+SITEFILE=50cython-gentoo.el
+
+distutils_enable_sphinx docs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use emacs && elisp-compile Tools/cython-mode.el
+}
+
+python_test() {
+ if has "${EPYTHON}" pypy3 python3.11; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ tc-export CC
+ # https://github.com/cython/cython/issues/1911
+ local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
+ "${PYTHON}" runtests.py -vv --work-dir "${BUILD_DIR}"/tests ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+
+ if use emacs; then
+ elisp-install ${PN} Tools/cython-mode.*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-python/doc8/Manifest b/dev-python/doc8/Manifest
index 2f9086ff52e8..e79d931de9ed 100644
--- a/dev-python/doc8/Manifest
+++ b/dev-python/doc8/Manifest
@@ -1 +1,2 @@
DIST doc8-0.11.1.tar.gz 25643 BLAKE2B 5f7eaa00b6fac123d02da41e02c7585c7c7160664766466a3bf06ba146411fda14b3720f8c8277f307f7b4985ded47707c836f9f6e6d7e4f89dc1af50111b87f SHA512 88b0882af3a671afc2a87d9dea0df5e7890895907545ff8fc02b40ae7f765c142bc715bff3e90685dd1d2358b701b8c6c30cac431fe3d6d0ec078b78added2f3
+DIST doc8-0.11.2.tar.gz 25898 BLAKE2B 097c6d6b82fe4acf7cfc43ff7860334f0a53df3ca39def33de4b9f04553acab785fe339d8126dd5ae56a7d45c846c575b9c689eed47bc47302b89fd5bfabfe3a SHA512 f607251c3ae792b3210893b2074bb34aad866a54645c4244ef53e156a4c3af9cfb61ddb93617d153510cc6868be7f04409eac47f66f91d4d0b9400bb7aca0eb1
diff --git a/dev-python/doc8/doc8-0.11.2.ebuild b/dev-python/doc8/doc8-0.11.2.ebuild
new file mode 100644
index 000000000000..0ebbc0d25f12
--- /dev/null
+++ b/dev-python/doc8/doc8-0.11.2.ebuild
@@ -0,0 +1,34 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Style checker for Sphinx (or other) RST documentation"
+HOMEPAGE="
+ https://pypi.org/project/doc8/
+ https://github.com/pycqa/doc8/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/restructuredtext-lint-0.7[${PYTHON_USEDEP}]
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index 2e43bfbee7f3..d824f578f101 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1 +1,2 @@
DIST dulwich-0.20.35.tar.gz 420972 BLAKE2B 97c877554199aa8f3abf2f95a43c350cbef784f6f71af6280c537a93297c89981190fe1f66914532641a99cc3dca82a33b43d09f864f2ddf370c0097fa28a5e0 SHA512 23c272153547e0ef25a0e7d2deb64987e5d503545775e7d6f438ae09366c0037686eba1027d38a9dbf042bd1553eeb25ccdc818bdd785a2edf2cd3688f0b1271
+DIST dulwich-0.20.38.tar.gz 423847 BLAKE2B dc4b9505e30ff88331928355ea708aa7efc802baab3738d8ead0ca57d9387b4fff8f539a67edde8e66a342d504627afdafda5874e12f3c809294183398693d54 SHA512 c4b8be7568153984b17d3f892fa52316702c5f1c697e93c494492db136cc74d50ab9067dd9f1bf67b645e3bf5069cc578ccfd0b6727bd4ec579335528c62f6cf
diff --git a/dev-python/dulwich/dulwich-0.20.38.ebuild b/dev-python/dulwich/dulwich-0.20.38.ebuild
new file mode 100644
index 000000000000..5c9b33b890b7
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.20.38.ebuild
@@ -0,0 +1,59 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2+ Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ !hppa? ( !ia64? ( !s390? (
+ dev-python/gevent[${PYTHON_USEDEP}]
+ dev-python/geventhttpclient[${PYTHON_USEDEP}]
+ ) ) )
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE \
+ GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v dulwich.tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/ecdsa/ecdsa-0.17.0.ebuild b/dev-python/ecdsa/ecdsa-0.17.0.ebuild
index c03da56f4b85..c67c43a50f9c 100644
--- a/dev-python/ecdsa/ecdsa-0.17.0.ebuild
+++ b/dev-python/ecdsa/ecdsa-0.17.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 9a4ae5989e2b..525103861af3 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1,2 +1,3 @@
DIST elementpath-2.5.0.gh.tar.gz 263680 BLAKE2B 50ecea0766ddad4239b9283b223e945ae12fabf51bc246bb672517d04912b07cc2d46c1f04ff74f7f6da44d7dc422cde0c38a1f25a1f61068390dbfcc5ad58c4 SHA512 bbc6ce6a6a3eb3312d53be6040b8f4676f460e76de9b476410a3170734410b7a3d61c53081633d39089def05c74446d26abe093f02b9686a595cdb6e10440047
DIST elementpath-2.5.1.gh.tar.gz 263727 BLAKE2B adfc3727c8afe691ba09e143249779ca3f0cee2fd743963b013d790215b30650eecbe2c924a026c07f9018a23710a0ade6e83567103d8eeffd85a71d398b7c77 SHA512 35c272a9f3dc2ddb1ab6b1aaa67588c1e3fcc5765a2edfd4dae47346b7b45f209b38a501a24f0c37b5ca0d933928c13b8608f33a2aadc57e1e4eeb928a491ab8
+DIST elementpath-2.5.2.gh.tar.gz 264230 BLAKE2B 03aa2da16eb503c5ad04f9f7af89d0b042d1bc9f22c66480cae4a0014d210f0d40ebfd564e3a224f5fb475996feb8ccd533fa1eda99c9be04ed063ffe6f0dca7 SHA512 c425ae4166b0a31f8473efc1cdc2b3f768f9e7881a5e974f995e8b39433bccd6603cbc4f78bd428fe5551c823bf357a38379b72cade3cf96b380d42da1684544
diff --git a/dev-python/elementpath/elementpath-2.5.2.ebuild b/dev-python/elementpath/elementpath-2.5.2.ebuild
new file mode 100644
index 000000000000..f31b13eef70f
--- /dev/null
+++ b/dev-python/elementpath/elementpath-2.5.2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2019-2022 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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
+HOMEPAGE="
+ https://github.com/sissaschool/elementpath/
+ https://pypi.org/project/elementpath/
+"
+SRC_URI="
+ https://github.com/sissaschool/elementpath/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # fails for some reason, more fit for upstream testing anyway
+ rm tests/test_typing.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index 136a2c4d5380..8d5ef4647b1c 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1 +1,2 @@
DIST exceptiongroup-1.0.0rc5.gh.tar.gz 16454 BLAKE2B 55af4d2240e4a5567f5669d15e8507c454d47c1f7d8f72212afeecfa37e0c4a6b36f9176a87a48d3f9edf0628a8c99863670d24aca3770dd88abaa463784c731 SHA512 dd5ee895b4531524c4f0dfaedf818ac76a1b6fe74cd75bbce824b6a0d2b981673ffd6ba36f71b5dacf3e17c89d196a258400d04a64c71f28c221d7fb0f934ab7
+DIST exceptiongroup-1.0.0rc6.gh.tar.gz 17184 BLAKE2B 75a1a07d683cbd4d23c25156f4ff3fbda3f08e7df3be67320b08e995f469a9cbd66ca90391fb586972c5c601aff60d44eba3ec5c2d3cccbc791a0482600caea2 SHA512 f74fe5b5df5c7ceb09076db4b7327e2a22202f61fbbfcaeef4f2ce7fb0725a8f57756473db6b2d92d3ee044e26c7ad135d8366944e0858439c4a77ed8b5b7362
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc6.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc6.ebuild
new file mode 100644
index 000000000000..c41a06ffb7ca
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.0.0_rc6.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 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} 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/
+"
+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="~amd64 ~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/flask-cors/flask-cors-3.0.10-r1.ebuild b/dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild
new file mode 100644
index 000000000000..8800f9defce7
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-3.0.10-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/wcdolphin/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/corydolphin/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="https://github.com/wcdolphin/flask-cors https://pypi.org/project/Flask-Cors/"
+
+LICENSE="MIT"
+SLOT="0"
+
+BDEPEND="test? ( dev-python/packaging[${PYTHON_USEDEP}] )"
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx_rtd_theme \
+ dev-python/sphinxcontrib-httpdomain
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 188c81bdefc1..b251d959b105 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -2,3 +2,4 @@ DIST google-api-python-client-2.44.0.tar.gz 29961288 BLAKE2B 3bb7d421c76180009c7
DIST google-api-python-client-2.45.0.tar.gz 30011332 BLAKE2B e8a734a7aea1152ac92427de7059fa59216ba96c5fc68976b341fe0fcdd8851cbbcf1eb8e9cdc37cd18eec5cce0e8f87d3832b0df39c8795f3363f61c457a17e SHA512 b0adabae6ea29390fa7506cd7b846b8499591e49ecb247818b7304683c4ea3def25203a106b371ceff5e576c84f3ab207ffd428cb7b1b543b170c2ef0ea731d4
DIST google-api-python-client-2.46.0.tar.gz 30051613 BLAKE2B c1ada6b9e59ec269e6584c6555af17b1e0561e9d3e273c56b554280ee32e3db9b0e96677fc6490990d2944d532d1eb908fa9c45e38faee942c80fa1c10a10bcb SHA512 fec085668fe9ad842c2b4ffc74165af459f99e91758580e83b3270cecd6c3faaba47f27113655859a2dd616ad42cd652541230eb515ed14ff759ae9891eed03b
DIST google-api-python-client-2.47.0.gh.tar.gz 30118538 BLAKE2B 601a02ffdb76b9213c0259042ad5693b46bd72b6178a37d9d6a8fcc263e9a8c02f19c1ce9923c72f41270e960c675e4c71cefb4fbb4e54125bf000186a857ae2 SHA512 1da6660f085edf2562525b904def124398088afb0e9dbda82f0894cf5fc26c052dcd7a497f60ef18d281a16b46c5cfc6b145fca8fd4eb7d3f9225b9ff3ea2ac9
+DIST google-api-python-client-2.48.0.gh.tar.gz 30483162 BLAKE2B fa6371d2cb5b27184eb0e16ea0ef9875af2dfd83b2d34dd84272c2942589f712b35451b9150f38722501edfe5a4b8a506b3f52fedffbb48af31c20dc36a59cfb SHA512 0789aca32b01304095702d908c8ff31d2b4ddd771ed8cf3b3f99f15091fd1eea782000c58646c7760811a40252e5f1982876278f4cdd23e3f8cf672682693605
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.48.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.48.0.ebuild
new file mode 100644
index 000000000000..636a30c707fe
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.48.0.ebuild
@@ -0,0 +1,53 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+SRC_URI="
+ https://github.com/googleapis/google-api-python-client/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/oauth2client[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ )
+
+ epytest tests
+}
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index 19b4bb7f7323..700689ae98fc 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1,2 +1,3 @@
DIST hatch-hatchling-v0.24.0.tar.gz 212154 BLAKE2B fc0fcdd20eb1a1040298a4c959911d291ca454cf82404b0a7a67a9d192e3af0b8ee5a50d169e803bd5602775cf3f9336fd56d83c6fa85aa8d9f805269205ed29 SHA512 f4a1764f129c6e3098d0b0c744dca4f0b499c43d53dcebffc7aa26e28e3f599a9370e0f1f8ee9b9130042f066e1c857e155ffbdcf86d2c18e32ff5bc9219c51e
DIST hatch-hatchling-v0.25.0.tar.gz 216944 BLAKE2B 298f284bc05bbba6c463d4c22ddbbd1438a3a068de2a14300343803f706f2bc3a69be83bdbb1876f4f2474e7cb1ac4e98226108ad290c5097bbc1135367b7183 SHA512 1cfc8ea27e46e316efeeee321e17770995e495f0b6a722b89d9632af7902e3a7ee7c5a729b8ca27e490a94b7ddcda9b4e03dd7274b305f928b0e31a469a1643f
+DIST hatch-hatchling-v1.0.0.tar.gz 216365 BLAKE2B cb6b648d103c7e9848b1a15cd62aaf3ab39c458f83f6c56cf039a136b39ae6c59ba487c36860582f98fb1ede6b3c2dab148b023499b5e4a30de9d063379118c3 SHA512 e16b0c53705fe090713f40d661e4ac9a4d0c2ae22f9193fcbaa1eb4ba146a36642b5e188574ad00b6ddd06c60537db0eba18fe9f2676cc988effc9d74e0dffc4
diff --git a/dev-python/hatchling/hatchling-1.0.0.ebuild b/dev-python/hatchling/hatchling-1.0.0.ebuild
new file mode 100644
index 000000000000..e17f56cfc860
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{7,8,9,10} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/editables-0.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.9[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # these run pip to install stuff
+ tests/backend/dep/test_core.py::test_dependency_found
+ tests/backend/dep/test_core.py::test_extra_met
+ tests/backend/dep/test_core.py::test_extra_no_dependencies
+ tests/backend/dep/test_core.py::test_extra_unmet
+ tests/backend/dep/test_core.py::test_unknown_extra
+ tests/backend/dep/test_core.py::test_version_unmet
+ )
+
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+ epytest tests/backend
+}
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index 1a780dabcc57..304187d6e61e 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1 +1,2 @@
DIST httpcore-0.14.7.gh.tar.gz 75844 BLAKE2B 50d5fac7f44996cc5a08b4f994c2109b173e5b9fea080c8740309b799421d012a70280a84fffe93e290bf425e5ee6eb1bfcb74aff81fa7e737c21f25019e6664 SHA512 6865e97f9b84846bb4e9304ea358b0a28d66fd2d1e244e8a2a439ee446a294ecbc68ac07d5a718fd1c3eceaa44a391d7a8f7f2ca659f1674eb17a90f39987d48
+DIST httpcore-0.15.0.gh.tar.gz 76220 BLAKE2B e9a346d4f77cde82be5a3eb468123ae453753e57b54382f0b2c60b16afd3433cba173d9a796df20d76edbd8b5bcf2d61c32302bdd30c8d587036b3ac6f0425fd SHA512 3c25630d582448e3c7d46176c8862e4d92c6c4aac954bfe46b06e26297b32f996db2e002a87c7187accb5bf4ef86e82d7f9051404bee651ce5254119571d0c95
diff --git a/dev-python/httpcore/httpcore-0.15.0.ebuild b/dev-python/httpcore/httpcore-0.15.0.ebuild
new file mode 100644
index 000000000000..061a74f43e1a
--- /dev/null
+++ b/dev-python/httpcore/httpcore-0.15.0.ebuild
@@ -0,0 +1,53 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A minimal low-level HTTP client"
+HOMEPAGE="
+ https://www.encode.io/httpcore/
+ https://github.com/encode/httpcore/
+ https://pypi.org/project/httpcore/
+"
+SRC_URI="
+ https://github.com/encode/httpcore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ =dev-python/anyio-3*[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ <dev-python/h11-0.14[${PYTHON_USEDEP}]
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ =dev-python/sniffio-1*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/h11/s:,<0.13::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "SOCKS support" dev-python/socksio
+}
diff --git a/dev-python/httplib2/httplib2-0.20.4.ebuild b/dev-python/httplib2/httplib2-0.20.4.ebuild
index 398f809b52ea..cf293189b939 100644
--- a/dev-python/httplib2/httplib2-0.20.4.ebuild
+++ b/dev-python/httplib2/httplib2-0.20.4.ebuild
@@ -9,10 +9,14 @@ PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
inherit distutils-r1
DESCRIPTION="A comprehensive HTTP client library"
-HOMEPAGE="https://pypi.org/project/httplib2/"
+HOMEPAGE="
+ https://pypi.org/project/httplib2/
+ https://github.com/httplib2/httplib2/
+"
SRC_URI="
https://github.com/httplib2/httplib2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
@@ -20,12 +24,15 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~am
RDEPEND="
app-misc/ca-certificates
- dev-python/pyparsing[${PYTHON_USEDEP}]"
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
BDEPEND="
test? (
dev-libs/openssl
dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )"
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
@@ -33,6 +40,8 @@ PATCHES=( "${FILESDIR}"/${PN}-0.12.1-use-system-cacerts.patch )
src_prepare() {
sed -i -e '/--cov/d' setup.cfg || die
+ # cryptography dep is entirely optional, and has a good fallback
+ sed -i -e 's:from cryptography.*:pass:' tests/__init__.py || die
distutils-r1_src_prepare
}
@@ -50,6 +59,9 @@ python_test() {
# broken by recerting (TODO)
tests/test_https.py::test_min_tls_version
tests/test_https.py::test_max_tls_version
+
+ # new cryptography or openssl-3?
+ tests/test_https.py::test_client_cert_password_verified
)
# tests in python* are replaced by tests/
diff --git a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
index 3cf51e314b2e..0df478fcd911 100644
--- a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
@@ -28,7 +28,8 @@ BDEPEND="
>=dev-python/requests-1.1[${PYTHON_USEDEP}]
dev-python/sure[${PYTHON_USEDEP}]
>=www-servers/tornado-2.2[${PYTHON_USEDEP}]
- )"
+ )
+"
# These are optional test deps, that are used to test compatibility
# with various HTTP libs. We prefer pulling them in whenever possible
# to increase test coverage but we can live without them.
@@ -40,7 +41,7 @@ BDEPEND+="
>=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
dev-python/httplib2[${PYTHON_USEDEP}]
>=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
- ' python3_{8..10})
+ ' python3_{7..10})
$(python_gen_cond_dep '
>=dev-python/eventlet-0.25.1[${PYTHON_USEDEP}]
' python3_{8..9})
diff --git a/dev-python/jsonpatch/jsonpatch-1.32.ebuild b/dev-python/jsonpatch/jsonpatch-1.32.ebuild
index 5065e094e773..c5b4fa971717 100644
--- a/dev-python/jsonpatch/jsonpatch-1.32.ebuild
+++ b/dev-python/jsonpatch/jsonpatch-1.32.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild b/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild
new file mode 100644
index 000000000000..a292da827ab1
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-3.19.3-r3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2008-2022 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} pypy3 )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf"
+ EGIT_SUBMODULES=()
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://developers.google.com/protocol-buffers/
+ https://github.com/protocolbuffers/protobuf/
+ https://pypi.org/project/protobuf/
+"
+if [[ "${PV}" != "9999" ]]; then
+ SRC_URI="
+ https://github.com/protocolbuffers/protobuf/archive/v${PV}.tar.gz
+ -> protobuf-${PV}.tar.gz
+ "
+fi
+S="${WORKDIR}/protobuf-${PV}/python"
+
+LICENSE="BSD"
+SLOT="0/30"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-libs/protobuf-${PV}
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="
+ ${PYTHON_DEPS}
+ ~dev-libs/protobuf-${PV}
+"
+RDEPEND="
+ ${BDEPEND}
+ !dev-python/namespace-google
+"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_CHECKOUT_DIR="${WORKDIR}/protobuf-${PV}"
+fi
+
+distutils_enable_tests setup.py
+
+python_prepare_all() {
+ pushd "${WORKDIR}/protobuf-${PV}" > /dev/null || die
+ eapply "${FILESDIR}/${PN}-3.19.0-google.protobuf.pyext._message.PyUnknownFieldRef.patch"
+ eapply_user
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ DISTUTILS_ARGS=(--cpp_implementation)
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
+}
diff --git a/dev-python/protobuf-python/protobuf-python-9999.ebuild b/dev-python/protobuf-python/protobuf-python-9999.ebuild
index c2f36cf1d651..49ade3d4d08c 100644
--- a/dev-python/protobuf-python/protobuf-python-9999.ebuild
+++ b/dev-python/protobuf-python/protobuf-python-9999.ebuild
@@ -3,6 +3,7 @@
EAPI=8
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
inherit distutils-r1
@@ -18,6 +19,7 @@ DESCRIPTION="Google's Protocol Buffers - Python bindings"
HOMEPAGE="
https://developers.google.com/protocol-buffers/
https://github.com/protocolbuffers/protobuf/
+ https://pypi.org/project/protobuf/
"
if [[ "${PV}" != "9999" ]]; then
SRC_URI="
@@ -63,7 +65,7 @@ src_configure() {
DISTUTILS_ARGS=(--cpp_implementation)
}
-python_install_all() {
- distutils-r1_python_install_all
- find "${ED}" -name "*.pth" -type f -delete || die
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
}
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild
index 527fba532205..20c2e0f90ee9 100644
--- a/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild
+++ b/dev-python/pypy-exe/pypy-exe-7.3.9.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+PYTHON_COMPAT=( python2_7 )
inherit check-reqs pax-utils python-any-r1 toolchain-funcs
PYPY_PV=${PV%_p*}
diff --git a/dev-python/pypy3/pypy3-7.3.7.ebuild b/dev-python/pypy3/pypy3-7.3.7.ebuild
index 523a0fad2a3a..e250d57dd44c 100644
--- a/dev-python/pypy3/pypy3-7.3.7.ebuild
+++ b/dev-python/pypy3/pypy3-7.3.7.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+PYTHON_COMPAT=( python2_7 )
inherit pax-utils python-any-r1 toolchain-funcs
PYPY_PV=${PV%_p*}
diff --git a/dev-python/pypy3/pypy3-7.3.9.ebuild b/dev-python/pypy3/pypy3-7.3.9.ebuild
index 0df65a36dfdc..f26c724ed45c 100644
--- a/dev-python/pypy3/pypy3-7.3.9.ebuild
+++ b/dev-python/pypy3/pypy3-7.3.9.ebuild
@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+PYTHON_COMPAT=( python2_7 )
inherit pax-utils python-any-r1 toolchain-funcs
PYPY_PV=${PV%_p*}
diff --git a/dev-python/sqlparse/sqlparse-0.4.2.ebuild b/dev-python/sqlparse/sqlparse-0.4.2.ebuild
index fcff07ccfd2a..ac78823c2443 100644
--- a/dev-python/sqlparse/sqlparse-0.4.2.ebuild
+++ b/dev-python/sqlparse/sqlparse-0.4.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/vcrpy/vcrpy-4.1.1-r1.ebuild b/dev-python/vcrpy/vcrpy-4.1.1-r1.ebuild
new file mode 100644
index 000000000000..05701ba6776c
--- /dev/null
+++ b/dev-python/vcrpy/vcrpy-4.1.1-r1.ebuild
@@ -0,0 +1,62 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically mock your HTTP interactions to simplify and speed up testing"
+HOMEPAGE="
+ https://github.com/kevin1024/vcrpy/
+ https://pypi.org/project/vcrpy/
+"
+SRC_URI="
+ https://github.com/kevin1024/vcrpy/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these tests require Internet
+ tests/integration/test_aiohttp.py
+ tests/integration/test_boto.py
+ tests/integration/test_httpx.py
+ tests/integration/test_wild.py::test_flickr_should_respond_with_200
+ tests/integration/test_wild.py::test_amazon_doctype
+ tests/unit/test_stubs.py::TestVCRConnection::testing_connect
+
+ # probably unhappy about ssl module being more strict now
+ 'tests/integration/test_httplib2.py::test_effective_url[https]'
+ 'tests/integration/test_requests.py::test_effective_url[https]'
+ 'tests/integration/test_requests.py::test_redirects[https]'
+ 'tests/integration/test_urllib2.py::test_effective_url[https]'
+ 'tests/integration/test_urllib3.py::test_redirects[https]'
+ )
+
+ local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
+ epytest
+}
diff --git a/dev-python/watchfiles/Manifest b/dev-python/watchfiles/Manifest
index 99e49fd2983e..9182a309fc3e 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -29,6 +29,7 @@ DIST mio-0.8.1.crate 88205 BLAKE2B 88bab5a31b35fccd6fe52145e937d533bd16ac0929a4f
DIST mio-0.8.2.crate 88272 BLAKE2B f704802aeec66cb47a011989709e6c35352b55bc7330dac7631ea144ed71bc86a433ef742207e3e37c47417bcd7ebb505287baebb839294e5833d228a2514c57 SHA512 c82ea0afc0de8acf162188a6131373f3cb3e7f3abb3094dd51fa9094e42a36806954f267840b3fed18c0ac3ee75af0451dfea5509ab65a94dcc93057c7d37393
DIST miow-0.3.7.crate 24563 BLAKE2B 24375754245e4ac50620a8b6da6b21958914a6af6422a470487841c2524587d596673cc3718a85979ee911f104d71b59b38fbe9db28c1c7e4b702b9373215cb7 SHA512 451073e8913148889493de0373bc0450c8b23e136e151b48b9976292e4e03b7c3f3279ecf49dda5196badfe662a661a998cfa456d2ec340a495d54a4d2382699
DIST notify-5.0.0-pre.14.crate 54485 BLAKE2B cdc8a9caee303a1f7b6e25eac9febb30ed04f1a4bb0a2335e9a4021bd5f9d08f9cfd03c83ff9e57bad33f8d9db2ead3a8583f9298571ae4d5cd3bbf83b678b72 SHA512 8975d11b6caede53129ec17184ac484d122bb093ab6d7f291f81a3c91164d873b2b8d598eabcc09e7199729bacb080f75bc6f008ad83b83f3cf8173968c7cf1a
+DIST notify-5.0.0-pre.15.crate 57624 BLAKE2B 0f07e7ba2e6b431769e69730dc81c056ab1098a905855d6edb9866e36fb33dcb123c1a464c667d0130322d3810255edf62cf8f3f4e3fc9307782bc050c2913eb SHA512 31c7313c53654ccb76d14826511bd9a687f89cdfe832b0e85adaae22aeba98776fcecabaf321e26fde060357ae52e358b1b48d118e70e562dde98944258d055d
DIST ntapi-0.3.7.crate 126994 BLAKE2B 320b513d86af462c6e4d3349e4edfd28d73ddc8f09264adc24eebbbb79976642a9d530bf9af4e61e0409e35f4164d49f9ec054dee9694cfbcc76b237d6c84104 SHA512 6f5fc3b3629f028e03e878681a5a426945e471578c5dc78e121560887a9af285fe432f7401b19b7422e65c3b762651afb9a57a2f7605884c851ddf41b741585c
DIST once_cell-1.10.0.crate 30414 BLAKE2B 4161622dc9dab4748a1b96777da263523f23329808506faea7938160f0d5ca07b5edd31f385b14b88dd2fc34c58063df4d40a34a479573750a369512dc956992 SHA512 f6b5ce5e68923296d2041f83ac037f10ad7b9e94fc607c71332e8ee942a02c29534c2073cecdb132c7e1d91428e9d9687fbf05393ca0abbf7e15db50bb3b74ab
DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
@@ -62,6 +63,7 @@ DIST unindent-0.1.8.crate 8326 BLAKE2B 3123c6b540b152d89cc7a9a76ff1315549f973c6a
DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST watchfiles-0.13.gh.tar.gz 35738 BLAKE2B 60b4bd11cbbdb200a3d4dce35899f0c87650e9cabc4ac95b45003b1b8b2bd9960a1b5794d5366a0761ff310830faad801f82a4523ebf870a187cfde0d3b692ff SHA512 0f98ba01af0fa218f09c3903f92eaaee309297161b31520c05e122336222e46dce1299794deda15fcf1cf598acfa6acb93c7e13c7da89fe6908d7b6fac10a3f1
+DIST watchfiles-0.14.1.gh.tar.gz 38276 BLAKE2B 1007b4822774b6d04ffa4ea61b1e30a4c2da358e6561891599177f4060c606dc4f46f15a8fa40ff22e292440eb67ec33eaf7048db973fc8ea9c90d6f6adb9e14 SHA512 098ca0d3a7e2eafd3706e08753ac7b242bcf1aa68609a89531405ce7c69cb6ba205c5d72d28064acf9963c81e969e8ba753510d27ef525e007e1943bf9d07c1e
DIST watchfiles-0.14.gh.tar.gz 38208 BLAKE2B d2d9b07e085e7265de6458cb7259852048552a2477e285bbbc7be65aa32b14c0c5df590538f714f7f086beefc365efe435da55ea4c25cf9066d2cfbd530d6ca2 SHA512 46c9b93b2383494fb6ec99cec7132613120fda4366e1ce1749cda10198f81eb0e73fba512bf5ea2ce7d8e43a1216914e89a4a6054cc6d3e4b853c681d12ef76b
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
diff --git a/dev-python/watchfiles/watchfiles-0.14.1.ebuild b/dev-python/watchfiles/watchfiles-0.14.1.ebuild
new file mode 100644
index 000000000000..cf6a699f7dc6
--- /dev/null
+++ b/dev-python/watchfiles/watchfiles-0.14.1.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2022 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} pypy3 )
+
+CRATES="
+ autocfg-1.1.0
+ bitflags-1.3.2
+ cfg-if-1.0.0
+ crossbeam-channel-0.5.4
+ crossbeam-utils-0.8.8
+ filetime-0.2.16
+ fsevent-sys-4.1.0
+ indoc-1.0.4
+ inotify-0.9.6
+ inotify-sys-0.1.5
+ kqueue-1.0.5
+ kqueue-sys-1.0.3
+ lazy_static-1.4.0
+ libc-0.2.124
+ lock_api-0.4.7
+ log-0.4.16
+ mio-0.8.2
+ miow-0.3.7
+ notify-5.0.0-pre.15
+ ntapi-0.3.7
+ once_cell-1.10.0
+ parking_lot-0.12.0
+ parking_lot_core-0.9.2
+ proc-macro2-1.0.37
+ pyo3-0.16.4
+ pyo3-build-config-0.16.4
+ pyo3-ffi-0.16.4
+ pyo3-macros-0.16.4
+ pyo3-macros-backend-0.16.4
+ quote-1.0.18
+ redox_syscall-0.2.13
+ same-file-1.0.6
+ scopeguard-1.1.0
+ smallvec-1.8.0
+ syn-1.0.91
+ target-lexicon-0.12.3
+ unicode-xid-0.2.2
+ unindent-0.1.8
+ walkdir-2.3.2
+ wasi-0.11.0+wasi-snapshot-preview1
+ winapi-0.3.9
+ winapi-i686-pc-windows-gnu-0.4.0
+ winapi-util-0.1.5
+ winapi-x86_64-pc-windows-gnu-0.4.0
+ windows-sys-0.34.0
+ windows_aarch64_msvc-0.34.0
+ windows_i686_gnu-0.34.0
+ windows_i686_msvc-0.34.0
+ windows_x86_64_gnu-0.34.0
+ windows_x86_64_msvc-0.34.0
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Simple, modern file watching and code reload in Python"
+HOMEPAGE="
+ https://pypi.org/project/watchfiles/
+ https://github.com/samuelcolvin/watchfiles/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ $(cargo_crate_uris ${CRATES})
+"
+
+LICENSE="MIT"
+# crates
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD"
+LICENSE+=" CC0-1.0 ISC MIT Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ =dev-python/anyio-3*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+# enjoy Rust
+QA_FLAGS_IGNORED=".*/_rust_notify.*"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf watchfiles || die
+ epytest
+}
diff --git a/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
new file mode 100644
index 000000000000..5c77ea02f7bc
--- /dev/null
+++ b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="Makes working with XML feel like you are working with JSON"
+HOMEPAGE="https://github.com/martinblech/xmltodict/
+ https://pypi.org/project/xmltodict/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index b1b79a50c5f5..39248b719129 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1 +1,2 @@
+DIST yarl-1.7.2.gh.tar.gz 108115 BLAKE2B 7bd212b652a77ac29fde4c6565c48c4067f2a24db6bbf735107f3dfa5ee8b6ad2e5a5c3c6206e8dc7692e4cfd5c975d4304dd93280087574bddd73a337417c52 SHA512 bf69c5758f523259757ff84a8737e28931f46311f12f6e141329a5074d34a0cfb45795bf79cb7b78cb676ca7bc38042a2fbd946a5f41bf1d149ada50b88b31ae
DIST yarl-1.7.2.tar.gz 168562 BLAKE2B 7da82193e9fa0d317bd4ba46d63ce04a36c95fc3a389d6800d12e0ddecaacb41c07a665db9e731a9112d98a0f3133861b174dc62523da202d0d06f4cb995c354 SHA512 ac5b630dd592ffa8b095e4d7eee2facaeac8ab578e55fd8856c6a6349f514081020c707cd0b33f250c0e78133e92ed6156835660f14c5ae54d60b4fdf6ea50ea
diff --git a/dev-python/yarl/yarl-1.7.2-r3.ebuild b/dev-python/yarl/yarl-1.7.2-r3.ebuild
new file mode 100644
index 000000000000..6930aa31ed7c
--- /dev/null
+++ b/dev-python/yarl/yarl-1.7.2-r3.ebuild
@@ -0,0 +1,45 @@
+# 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_{7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+SRC_URI="
+ https://github.com/aio-libs/yarl/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_configure_all() {
+ > .install-cython || die
+ emake cythonize
+}
+
+python_test() {
+ cd tests || die
+ epytest --override-ini=addopts=
+}