summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2020-12-01 12:30:13 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2020-12-01 12:30:13 +0000
commitef91d1e6cc9d1b6c86a8c0d8d9543c96ccc648a3 (patch)
tree05da5059813f676c174a51cb8279a758e7b41ee5 /dev-python
parent0a126a0fd2b7f2904a4b82ffb5416b10f007abfd (diff)
downloadbaldeagleos-repo-ef91d1e6cc9d1b6c86a8c0d8d9543c96ccc648a3.tar.gz
baldeagleos-repo-ef91d1e6cc9d1b6c86a8c0d8d9543c96ccc648a3.tar.xz
baldeagleos-repo-ef91d1e6cc9d1b6c86a8c0d8d9543c96ccc648a3.zip
Updating liguros repo
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyUtilib/PyUtilib-5.7.2.ebuild2
-rw-r--r--dev-python/asn1crypto/Manifest1
-rw-r--r--dev-python/asn1crypto/asn1crypto-1.4.0.ebuild20
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.16.26.ebuild56
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.19.26.ebuild59
-rw-r--r--dev-python/brotlicffi/Manifest2
-rw-r--r--dev-python/brotlicffi/brotlicffi-0.8.0.ebuild52
-rw-r--r--dev-python/brotlicffi/files/brotlicffi-0.8.0-remove-dict.patch132
-rw-r--r--dev-python/brotlicffi/metadata.xml9
-rw-r--r--dev-python/cbor/cbor-1.0.0-r1.ebuild13
-rw-r--r--dev-python/cfn-python-lint/cfn-python-lint-0.39.0.ebuild8
-rw-r--r--dev-python/cfn-python-lint/cfn-python-lint-0.41.0.ebuild8
-rw-r--r--dev-python/cfn-python-lint/cfn-python-lint-0.42.0.ebuild8
-rw-r--r--dev-python/click-default-group/click-default-group-1.2.2.ebuild2
-rw-r--r--dev-python/cmd2/cmd2-1.4.0.ebuild5
-rw-r--r--dev-python/django/Manifest2
-rw-r--r--dev-python/django/django-3.1.4.ebuild95
-rw-r--r--dev-python/flake8/flake8-3.8.3-r1.ebuild8
-rw-r--r--dev-python/fonttools/fonttools-4.1.0.ebuild2
-rw-r--r--dev-python/hypothesis/hypothesis-5.41.4.ebuild6
-rw-r--r--dev-python/llvmlite/Manifest1
-rw-r--r--dev-python/llvmlite/llvmlite-0.35.0.ebuild56
-rw-r--r--dev-python/pikepdf/Manifest1
-rw-r--r--dev-python/pikepdf/pikepdf-2.2.0.ebuild59
-rw-r--r--dev-python/pytest-cov/Manifest1
-rw-r--r--dev-python/pytest-cov/pytest-cov-2.10.1.ebuild51
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r1.ebuild44
-rw-r--r--dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.4.3-r1.ebuild2
-rw-r--r--dev-python/stevedore/Manifest1
-rw-r--r--dev-python/stevedore/stevedore-3.3.0.ebuild42
-rw-r--r--dev-python/towncrier/towncrier-19.2.0.ebuild2
-rw-r--r--dev-python/twisted/twisted-20.3.0.ebuild2
34 files changed, 701 insertions, 53 deletions
diff --git a/dev-python/PyUtilib/PyUtilib-5.7.2.ebuild b/dev-python/PyUtilib/PyUtilib-5.7.2.ebuild
index f7036e5b2420..38e66a3e9c49 100644
--- a/dev-python/PyUtilib/PyUtilib-5.7.2.ebuild
+++ b/dev-python/PyUtilib/PyUtilib-5.7.2.ebuild
@@ -36,7 +36,7 @@ python_prepare_all() {
}
python_test() {
- distutils_install_for_testing
+ distutils_install_for_testing --via-root
local -x PYTHONPATH="${PWD}:${TEST_DIR}/lib" \
COLUMNS=80
diff --git a/dev-python/asn1crypto/Manifest b/dev-python/asn1crypto/Manifest
index b06a9580e239..e5efbfd9097f 100644
--- a/dev-python/asn1crypto/Manifest
+++ b/dev-python/asn1crypto/Manifest
@@ -1 +1,2 @@
DIST asn1crypto-0.24.0.gh.tar.gz 641322 BLAKE2B eb30afd0d2579f44ee4f556139357dc7622691bdc2067df913a4412cd3dca8372b85d84e3a3cbef6ba83648bf4ef55d7e8614992e2abb019301c92d24b15a926 SHA512 426cc380903b4dd7aadd7b831e3a11ee3442c961a33b856d4aa8d9060e829f2e0ad905a60c4d6504569718fe2cee01d9be31628c89ef030bc34281e381c898e8
+DIST asn1crypto-1.4.0.gh.tar.gz 672812 BLAKE2B 7545d424c244c04c2639df45e0bb56c50de95d0a7ee1e56933720dd7215c2be2608ac7889e2e901785592592e9ac6cb116fff3cd00536903c392a9e3912fc08a SHA512 989e4e0650252c29477d71263549b99f2c51c87f0768c20264b3de65f32edd8e7922e8af23bb1a7e29567a4ad8c4c5d596cdf7db3c766352c7f19d4f93361cd0
diff --git a/dev-python/asn1crypto/asn1crypto-1.4.0.ebuild b/dev-python/asn1crypto/asn1crypto-1.4.0.ebuild
new file mode 100644
index 000000000000..eb18535cdba4
--- /dev/null
+++ b/dev-python/asn1crypto/asn1crypto-1.4.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+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"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+distutils_enable_tests unittest
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e87d75ef9fbe..699ab438ab7a 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -6,4 +6,5 @@ DIST boto3-1.16.22.tar.gz 339781 BLAKE2B d6703055d57f9d3486218efc3014439a1ca1335
DIST boto3-1.16.23.tar.gz 339889 BLAKE2B 0a41c084beba187a89ddf8a743c6dc4f3663aebae035468a76967e4b732abdad496bb2f0a516b5af76affa18f99d4c1a3405d0e152fb41fb1fae22a6728542e6 SHA512 942b0a540cdd6ed744bc1b4285ca8d9e3121193a59717fa247431d232f25cf042625abf82709cecef20611feb68735415be2e3187ebd4e6a1efd7488c0db14ff
DIST boto3-1.16.24.tar.gz 340133 BLAKE2B c1d195d5c6859686b2cbc9cfd772e43b6a052b138d792b896f0fea1b25eb1667d26f09369f6fcb2bfddaaaf8f994f14d2a6e6456aa098af5dbb6ddd8df503118 SHA512 55582c76ffd1d6f3d021c7ab89b6a93ea3bf3597312957497de4c8a226657414271385224e2808aecaa90b0e48f21b7fb8a62462df1cf26f142a7ecd5064f55c
DIST boto3-1.16.25.tar.gz 340338 BLAKE2B 1ad36d77c3b1e6e67dbd8148b995d4299fceb1fa6993d0bb7d58f432252be13383fba00ee7199bb4a855d98264598c5a9cfc0aab3c8a5416a98e93b3e729843a SHA512 1e7a4d72735137b19a4b1e6f2621c33bf1fe9af860cc37021206f2eb422061092a00cae0e25f9ed44b74ef6fc01b48ba6f3e047c664085fac5dfb880dee3e620
+DIST boto3-1.16.26.tar.gz 340309 BLAKE2B df2c193b5e40f52381a4214fd5c6db9dcb0f32e3bdedf78b1ea16d166b9831c06b871809d1f0673bb3cd2838cb1f722a18a4c25a8c21fa20e5f7c14df9a7efb3 SHA512 1063702783e07a4e5a5ddce3611e57e993c284a09c026dab8af56be7a7a8ac157da2b636b808f58f0aa7940f90a7e36e439b8497713d4f95964dda13684b3795
DIST boto3-1.16.9.tar.gz 337905 BLAKE2B ed01e28fd7e62e5e5028307c93f92004bfbecffa77bc2ba1d6574b92ec2c515d910eb5107ac5ee03e0aca909f97f379aa65b5f839c8067634fa69266c58de33f SHA512 7343b8432788ef981819f91fe2ba27c4ec3947d01ff55914f7c89607250ecf60db2da8d25c8a2c7001ef546a9abed4cb744c5937ca09497aa1a983049648bd5e
diff --git a/dev-python/boto3/boto3-1.16.26.ebuild b/dev-python/boto3/boto3-1.16.26.ebuild
new file mode 100644
index 000000000000..12584b2fba42
--- /dev/null
+++ b/dev-python/boto3/boto3-1.16.26.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6,7,8,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 ~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 91cd28a62579..dfca16c45205 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -6,4 +6,5 @@ DIST botocore-1.19.22.tar.gz 7073938 BLAKE2B 41ec38e7abdff5e6fd4530dd39522a13d10
DIST botocore-1.19.23.tar.gz 7090433 BLAKE2B c5b6801e169b7c0325b33b005be0e4096442d5f9e09e7223d6668cdbd7a68b977284b4e660be5dfbf30ae661202691866dff2b3b1639d7467b3ff21ed6c90702 SHA512 9e984c48109f17126e380b0194e998c65ef02cba83ce3be6b3398a5913a41e23607779c82b90814d8193abdeb3a6cecedb443a6fc5d8d6b7ccb68ed0a0e0bc37
DIST botocore-1.19.24.tar.gz 7111127 BLAKE2B 61f368b4e8dad8d3a03d2a73cef68f7971bbe3a2173c55689eeacc166a983c8986039f62222884176f05df13002e31868ca498664f46452362f289bd44d8df2c SHA512 42ca145f9e47b61715c816add725758dcf617c663dcd0beee29e66a28047d3bd7908ce10b7614afe9111a539e74f436286b876c107bc3591f5689619939a4551
DIST botocore-1.19.25.tar.gz 7125010 BLAKE2B 18c03d1e61beb5b92fa958cbd6ad10d6048b51fd6b244187cfd27be0b3a0132bc2cdd0598d933cfde62a5f9cf92d2ddd2a0b7e269ace6e3319a3e37af2037bc9 SHA512 0cc4b015957330fbc5654b33953943c845c955a8fabb7b33672d496d68fe0e8783b1ba3254695bcdb7fa4b3775464f5c09af04e09931e38ba95710a6f0aa8320
+DIST botocore-1.19.26.tar.gz 7124956 BLAKE2B 6091c9536de9a3171a2327ca1d1531799fa28af48870e37de8251b42a947a7f26881ee787964cd95a070acdcb4f3b634a816ab74a519b72287e61ad11aadeaa0 SHA512 bfdf3ff4fce1463fd1cb6fc2f8a97782d68388668b6dc3ffd0a0a3fac3d0f6b7da645c0a0d2d9183096c44b8b99dc2a0a9e1a29a7bc4b7ff0cbbbc3fb066f191
DIST botocore-1.19.9.tar.gz 6972834 BLAKE2B 3407c056c7995cc1ccb1b5b4c5b3a6254e38672b52e7889a7a022520283416e4dfcabd05c8ca0ed78e4624c7a20c9f43bfde87a76d7a72660b4c95256e4f9ca4 SHA512 8433f22ae7652e524a82da8d2ccda48da9eef44788333898b7526335d57a7757b80754f0d5c6a2c84ec3bde2ec9fc7da5cf872cbda7286f620b4f4878fe9a583
diff --git a/dev-python/botocore/botocore-1.19.26.ebuild b/dev-python/botocore/botocore-1.19.26.ebuild
new file mode 100644
index 000000000000..ef5dd742ea0c
--- /dev/null
+++ b/dev-python/botocore/botocore-1.19.26.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6,7,8,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 ~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/brotlicffi/Manifest b/dev-python/brotlicffi/Manifest
new file mode 100644
index 000000000000..66208cc556e0
--- /dev/null
+++ b/dev-python/brotlicffi/Manifest
@@ -0,0 +1,2 @@
+DIST brotli-46c1a881b41bb638c76247558aa04b1591af3aa7.tar.gz 19840371 BLAKE2B b9a1c3c2e5b62bd63b392debe54bd1732ac1cb31f88500f0142108b453649d96901d9a03b6db98642cb9abaf9188c06d440f2b8bd3cf57fbbb52196a931f5079 SHA512 dc573c90491032a205f32f0ce9c93e95b06c70a3107caa9501e038a212226c37117d63709a29843367344bf7d18cf32d0c0578b11166387198e12b38b1522406
+DIST brotlicffi-0.8.0.gh.tar.gz 21997 BLAKE2B 5e817e228ce01cd7a831c59cca5bab3e851d676f1daa5efab8f61a203c0854bcc92605c88896dff5f4ce27fc880718da5ddfcf02a3bddbbd7b2e18c33f1e77a4 SHA512 fd0c64b400d3b48e0e2d113b4d75e32a2b33fd99505c7661d6d51ba9aedf5cc1f58be09bc90a5f1f7e3424addef2b54cc085a41e6291c87d53dd7d4e8fc7eb4e
diff --git a/dev-python/brotlicffi/brotlicffi-0.8.0.ebuild b/dev-python/brotlicffi/brotlicffi-0.8.0.ebuild
new file mode 100644
index 000000000000..b61e30459ddf
--- /dev/null
+++ b/dev-python/brotlicffi/brotlicffi-0.8.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+# Commit of the Brotli library bundled within brotlipy.
+BROTLI_BUNDLED_COMMIT="46c1a881b41bb638c76247558aa04b1591af3aa7"
+
+DESCRIPTION="Python binding to the Brotli library"
+HOMEPAGE="https://github.com/python-hyper/brotlipy/ https://pypi.python.org/pypi/brotlipy"
+SRC_URI="
+ https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/google/brotli/archive/${BROTLI_BUNDLED_COMMIT}.tar.gz
+ -> brotli-${BROTLI_BUNDLED_COMMIT}.tar.gz
+ )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ app-arch/brotli:=
+ virtual/python-cffi[${PYTHON_USEDEP}]"
+DEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # remove custom dictionary code that isn't supported by new brotli
+ "${FILESDIR}"/brotlicffi-0.8.0-remove-dict.patch
+)
+
+src_unpack() {
+ default
+ if use test; then
+ mv "brotli-${BROTLI_BUNDLED_COMMIT}"/tests "${S}"/libbrotli/ || die
+ fi
+}
+
+src_configure() {
+ export USE_SHARED_BROTLI=1
+}
diff --git a/dev-python/brotlicffi/files/brotlicffi-0.8.0-remove-dict.patch b/dev-python/brotlicffi/files/brotlicffi-0.8.0-remove-dict.patch
new file mode 100644
index 000000000000..bfb1b61b951b
--- /dev/null
+++ b/dev-python/brotlicffi/files/brotlicffi-0.8.0-remove-dict.patch
@@ -0,0 +1,132 @@
+From 0fe3dc70240ea62b56861ab830f9ab44644b18e5 Mon Sep 17 00:00:00 2001
+From: Seth Michael Larson <sethmichaellarson@gmail.com>
+Date: Sat, 28 Nov 2020 14:36:59 -0600
+Subject: [PATCH] Update libbrotli to 1.0.9
+
+(stripped down to removing custom dictionary support)
+
+---
+ src/brotlicffi/_api.py | 21 ++----------
+ src/brotlicffi/_build.py | 25 +-------------
+ test/test_simple_compression.py | 8 -----
+
+diff --git a/src/brotlicffi/_api.py b/src/brotlicffi/_api.py
+index 49da0a3..8358d3f 100644
+--- a/src/brotlicffi/_api.py
++++ b/src/brotlicffi/_api.py
+@@ -95,8 +95,7 @@ def compress(data,
+ mode=DEFAULT_MODE,
+ quality=lib.BROTLI_DEFAULT_QUALITY,
+ lgwin=lib.BROTLI_DEFAULT_WINDOW,
+- lgblock=0,
+- dictionary=b''):
++ lgblock=0):
+ """
+ Compress a string using Brotli.
+
+@@ -124,11 +123,6 @@ def compress(data,
+ based on ``quality``.
+ :type lgblock: ``int``
+
+- :param dictionary: A pre-set dictionary for LZ77. Please use this with
+- caution: if a dictionary is used for compression, the same dictionary
+- **must** be used for decompression!
+- :type dictionary: ``bytes``
+-
+ :returns: The compressed bytestring.
+ :rtype: ``bytes``
+ """
+@@ -141,8 +135,7 @@ def compress(data,
+ mode=mode,
+ quality=quality,
+ lgwin=lgwin,
+- lgblock=lgblock,
+- dictionary=dictionary
++ lgblock=lgblock
+ )
+ compressed_data = compressor._compress(data, lib.BROTLI_OPERATION_FINISH)
+ assert lib.BrotliEncoderIsFinished(compressor._encoder) == lib.BROTLI_TRUE
+@@ -255,8 +248,7 @@ def __init__(self,
+ mode=DEFAULT_MODE,
+ quality=lib.BROTLI_DEFAULT_QUALITY,
+ lgwin=lib.BROTLI_DEFAULT_WINDOW,
+- lgblock=0,
+- dictionary=b''):
++ lgblock=0):
+ enc = lib.BrotliEncoderCreateInstance(
+ ffi.NULL, ffi.NULL, ffi.NULL
+ )
+@@ -271,13 +263,6 @@ def __init__(self,
+ _set_parameter(enc, lib.BROTLI_PARAM_LGWIN, "lgwin", lgwin)
+ _set_parameter(enc, lib.BROTLI_PARAM_LGBLOCK, "lgblock", lgblock)
+
+- if dictionary:
+- self._dictionary = ffi.new("uint8_t []", dictionary)
+- self._dictionary_size = len(dictionary)
+- lib.BrotliEncoderSetCustomDictionary(
+- enc, self._dictionary_size, self._dictionary
+- )
+-
+ self._encoder = enc
+
+ def _compress(self, data, operation):
+diff --git a/src/brotlicffi/_build.py b/src/brotlicffi/_build.py
+index d2a2d85..45dccb6 100644
+--- a/src/brotlicffi/_build.py
++++ b/src/brotlicffi/_build.py
+@@ -93,20 +93,6 @@
+ uint8_t** next_out,
+ size_t* total_out);
+
+- /* Fills the new state with a dictionary for LZ77, warming up the
+- ringbuffer, e.g. for custom static dictionaries for data formats.
+- Not to be confused with the built-in transformable dictionary of Brotli.
+- |size| should be less or equal to 2^24 (16MiB), otherwise the dictionary
+- will be ignored. The dictionary must exist in memory until decoding is
+- done and is owned by the caller. To use:
+- 1) Allocate and initialize state with BrotliCreateInstance
+- 2) Use BrotliSetCustomDictionary
+- 3) Use BrotliDecompressStream
+- 4) Clean up and free state with BrotliDestroyState
+- */
+- void BrotliDecoderSetCustomDictionary(
+- BrotliDecoderState* s, size_t size, const uint8_t* dict);
+-
+ /* Returns true, if decoder has some unconsumed output.
+ Otherwise returns false. */
+ BROTLI_BOOL BrotliDecoderHasMoreOutput(const BrotliDecoderState* s);
+@@ -205,15 +191,6 @@
+ BrotliEncoderParameter p,
+ uint32_t value);
+
+- /* Fills the new state with a dictionary for LZ77, warming up the
+- ringbuffer, e.g. for custom static dictionaries for data formats.
+- Not to be confused with the built-in transformable dictionary of Brotli.
+- To decode, use BrotliSetCustomDictionary() of the decoder with the same
+- dictionary. */
+- void BrotliEncoderSetCustomDictionary(BrotliEncoderState* state,
+- size_t size,
+- const uint8_t* dict);
+-
+ /* Check if encoder is in "finished" state, i.e. no more input is
+ acceptable and no more output will be produced.
+ Works only with BrotliEncoderCompressStream workflow.
+diff --git a/test/test_simple_compression.py b/test/test_simple_compression.py
+index 45c322d..a480587 100644
+--- a/test/test_simple_compression.py
++++ b/test/test_simple_compression.py
+@@ -110,14 +110,6 @@ def test_compressed_data_roundtrips(s):
+ assert brotlicffi.decompress(brotlicffi.compress(s)) == s
+
+
+-@given(binary(), binary())
+-def test_compressed_data_with_dictionaries(s, dictionary):
+- d = brotlicffi.Decompressor(dictionary)
+- compressed = brotlicffi.compress(s, dictionary=dictionary)
+- uncompressed = d.decompress(compressed)
+- assert uncompressed == s
+-
+-
+ @given(binary())
+ def test_process_alias(s):
+ c1 = brotlicffi.Compressor()
diff --git a/dev-python/brotlicffi/metadata.xml b/dev-python/brotlicffi/metadata.xml
new file mode 100644
index 000000000000..76e7dba25fee
--- /dev/null
+++ b/dev-python/brotlicffi/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-python/cbor/cbor-1.0.0-r1.ebuild b/dev-python/cbor/cbor-1.0.0-r1.ebuild
index 8e22b0b260b2..71cf2ef54ac5 100644
--- a/dev-python/cbor/cbor-1.0.0-r1.ebuild
+++ b/dev-python/cbor/cbor-1.0.0-r1.ebuild
@@ -28,13 +28,8 @@ PATCHES=(
)
python_test() {
- distutils_install_for_testing
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" cbor/tests/test_cbor.py || die "Testsuite failed under ${EPYTHON}"
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" cbor/tests/test_objects.py || die "Testsuite failed under ${EPYTHON}"
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" cbor/tests/test_usage.py || die "Testsuite failed under ${EPYTHON}"
- PYTHONPATH="${BUILD_DIR}/lib" \
- "${PYTHON:-python}" cbor/tests/test_vectors.py || die "Testsuite failed under ${EPYTHON}"
+ "${EPYTHON}" cbor/tests/test_cbor.py || die "Testsuite failed under ${EPYTHON}"
+ "${EPYTHON}" cbor/tests/test_objects.py || die "Testsuite failed under ${EPYTHON}"
+ "${EPYTHON}" cbor/tests/test_usage.py || die "Testsuite failed under ${EPYTHON}"
+ "${EPYTHON}" cbor/tests/test_vectors.py || die "Testsuite failed under ${EPYTHON}"
}
diff --git a/dev-python/cfn-python-lint/cfn-python-lint-0.39.0.ebuild b/dev-python/cfn-python-lint/cfn-python-lint-0.39.0.ebuild
index 2364bb898b02..730f3637552b 100644
--- a/dev-python/cfn-python-lint/cfn-python-lint-0.39.0.ebuild
+++ b/dev-python/cfn-python-lint/cfn-python-lint-0.39.0.ebuild
@@ -33,7 +33,7 @@ BDEPEND="
)
"
-distutils_enable_tests unittest
+distutils_enable_tests --install unittest
PATCHES=(
"${FILESDIR}/cfn-python-lint-0.30.1-tests.patch"
@@ -47,9 +47,3 @@ src_prepare() {
-i test/unit/module/maintenance/test_update_documentation.py || die
distutils-r1_src_prepare
}
-
-python_test() {
- distutils_install_for_testing
- "${EPYTHON}" -m unittest discover -v ||
- die "tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/cfn-python-lint/cfn-python-lint-0.41.0.ebuild b/dev-python/cfn-python-lint/cfn-python-lint-0.41.0.ebuild
index 76cb0d12eb97..02a601035efb 100644
--- a/dev-python/cfn-python-lint/cfn-python-lint-0.41.0.ebuild
+++ b/dev-python/cfn-python-lint/cfn-python-lint-0.41.0.ebuild
@@ -33,7 +33,7 @@ BDEPEND="
)
"
-distutils_enable_tests unittest
+distutils_enable_tests --install unittest
PATCHES=(
"${FILESDIR}/cfn-python-lint-0.30.1-tests.patch"
@@ -47,9 +47,3 @@ src_prepare() {
-i test/unit/module/maintenance/test_update_documentation.py || die
distutils-r1_src_prepare
}
-
-python_test() {
- distutils_install_for_testing
- "${EPYTHON}" -m unittest discover -v ||
- die "tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/cfn-python-lint/cfn-python-lint-0.42.0.ebuild b/dev-python/cfn-python-lint/cfn-python-lint-0.42.0.ebuild
index 76cb0d12eb97..02a601035efb 100644
--- a/dev-python/cfn-python-lint/cfn-python-lint-0.42.0.ebuild
+++ b/dev-python/cfn-python-lint/cfn-python-lint-0.42.0.ebuild
@@ -33,7 +33,7 @@ BDEPEND="
)
"
-distutils_enable_tests unittest
+distutils_enable_tests --install unittest
PATCHES=(
"${FILESDIR}/cfn-python-lint-0.30.1-tests.patch"
@@ -47,9 +47,3 @@ src_prepare() {
-i test/unit/module/maintenance/test_update_documentation.py || die
distutils-r1_src_prepare
}
-
-python_test() {
- distutils_install_for_testing
- "${EPYTHON}" -m unittest discover -v ||
- die "tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/click-default-group/click-default-group-1.2.2.ebuild b/dev-python/click-default-group/click-default-group-1.2.2.ebuild
index 8bafef69b28a..8342994a3d72 100644
--- a/dev-python/click-default-group/click-default-group-1.2.2.ebuild
+++ b/dev-python/click-default-group/click-default-group-1.2.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/click-contrib/${PN}/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
RDEPEND="dev-python/click[${PYTHON_USEDEP}]"
BDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/cmd2/cmd2-1.4.0.ebuild b/dev-python/cmd2/cmd2-1.4.0.ebuild
index 557a79fa9c87..cc9eee2e128c 100644
--- a/dev-python/cmd2/cmd2-1.4.0.ebuild
+++ b/dev-python/cmd2/cmd2-1.4.0.ebuild
@@ -41,8 +41,3 @@ src_test() {
local -x COLUMNS=80
virtx distutils-r1_src_test
}
-
-python_test() {
- distutils_install_for_testing
- pytest -vv || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index 4f6f6a1cc9a8..d96f1b18353c 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -8,3 +8,5 @@ DIST Django-3.1.1.tar.gz 9250616 BLAKE2B 220c53873a70bb30f0ea9b48a70ba71b2de517c
DIST Django-3.1.2.tar.gz 9387482 BLAKE2B 77e330b4b42f85ef416e90a2690c6315f2a8d30b5705f64b86f62daabe3ff60b24d9fcf8a1276e7425e5cf0e03833a5ca601d15dc3e1aa32f7b5d7a9792302da SHA512 39115e942c26c9af27c4079f590e15caa86cc5c0e012873d7be23809e39de178b2dd935919dee21bbee153bccb17463abcece1db3b1f7dfa95b7b55879488876
DIST Django-3.1.3.checksum.txt 2429 BLAKE2B 7184da75a1da2c615c78a892c8331ff4abfec86e1ae93f8a74c836988d97ecafbbadaecffd352904c01b40a840a80f4d24e8b48f2570054a2349ef6c58bb43e3 SHA512 ecb1de139b05e697253e0b09fd15b692050be647cceb30d8f1482613d0c3393a3017460aabd7ff71ad1de2a8c70cc9276525d7a2a9285540a052805c969f55d8
DIST Django-3.1.3.tar.gz 9253273 BLAKE2B 9284b637ea39e028ebabe44de50dacfe6a89621fcc5eea73b7f470fc998faeb361da428be8f3f3e349f25b8629b5a350f3a5b7c35ea50183b285daf63d8944a7 SHA512 0f49316dc61a299a257313c27051852e948337491047bacb2221c9c753a5cf4bafb2ed686311ad5345dd3045260331afccb013c21503891538340225a469d1ad
+DIST Django-3.1.4.checksum.txt 2466 BLAKE2B 635ddd40b542890aef29f53df0fad172e48450081f57c72042a71bb5de654b1d1f5f7ce0c588b1070a203e1d4afe3a1ed19431dd23a2a67cd510d4072c79a00f SHA512 729b771008489bbf0563002e438ef88abb2a14b2c29f307cb2db9c75450f30ac8bd4920bf0493dbec06b3640fc0d4b6817e8a054af1028ad065bd321c761a6c3
+DIST Django-3.1.4.tar.gz 9392125 BLAKE2B b583442de50c358e70a49b9ef557d43211e6faee17933a44012dbb9f0dac3ccbf0a91e01a2b8b798fff7ae05100199e9e9c94a81748b41ea13e49d12bb510617 SHA512 02cfaabb25e5f932dcbf659faba2f0afe298e4bee4f510f7adebfff181bdd13c3a0b08e8ce379bcc59326d904be8699db4ce31065d93566b93cad758365207f5
diff --git a/dev-python/django/django-3.1.4.ebuild b/dev-python/django/django-3.1.4.ebuild
new file mode 100644
index 000000000000..dc75918b315e
--- /dev/null
+++ b/dev-python/django/django-3.1.4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 optfeature verify-sig
+
+MY_P=${P^}
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="https://www.djangoproject.com/ https://pypi.org/project/Django/"
+SRC_URI="
+ https://media.djangoproject.com/releases/$(ver_cut 1-2)/${MY_P}.tar.gz
+ verify-sig? ( https://media.djangoproject.com/pgp/${MY_P}.checksum.txt )"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~x64-macos"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]"
+BDEPEND="
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/selenium[${PYTHON_USEDEP}]
+ dev-python/tblib[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ )
+ verify-sig? ( >=app-crypt/openpgp-keys-django-20201201 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/django.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "${MY_P}.checksum.txt" sha256 "${MY_P}.tar.gz"
+ cd "${WORKDIR}" || die
+ fi
+
+ default
+}
+
+python_test() {
+ # Tests have non-standard assumptions about PYTHONPATH,
+ # and don't work with ${BUILD_DIR}/lib.
+ PYTHONPATH=. "${EPYTHON}" tests/runtests.py --settings=test_sqlite -v2 ||
+ die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ newbashcomp extras/django_bash_completion ${PN}-admin
+ bashcomp_alias ${PN}-admin django-admin.py
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ elog "Additional Backend support can be enabled via"
+ optfeature "MySQL backend support" dev-python/mysqlclient
+ optfeature "PostgreSQL backend support" dev-python/psycopg:2
+ elog
+ elog "Other features can be enhanced by"
+ optfeature "GEO Django" "sci-libs/gdal[geos]"
+ optfeature "Memcached support" dev-python/pylibmc dev-python/python-memcached
+ optfeature "ImageField Support" dev-python/pillow
+ optfeature "Password encryption" dev-python/bcrypt
+ optfeature "High-level abstractions for Django forms" dev-python/django-formtools
+}
diff --git a/dev-python/flake8/flake8-3.8.3-r1.ebuild b/dev-python/flake8/flake8-3.8.3-r1.ebuild
index ce93420793db..6fb7d8a62600 100644
--- a/dev-python/flake8/flake8-3.8.3-r1.ebuild
+++ b/dev-python/flake8/flake8-3.8.3-r1.ebuild
@@ -38,10 +38,4 @@ BDEPEND="${RDEPEND}
PATCHES=( "${FILESDIR}/${P}-pytest6.patch" )
distutils_enable_sphinx docs/source dev-python/sphinx-prompt dev-python/sphinx_rtd_theme
-distutils_enable_tests pytest
-
-python_test() {
- # Otherwise some tests fail if the package isn't installed
- distutils_install_for_testing
- pytest -vv || die "Tests fail with ${EPYTHON}"
-}
+distutils_enable_tests --install pytest
diff --git a/dev-python/fonttools/fonttools-4.1.0.ebuild b/dev-python/fonttools/fonttools-4.1.0.ebuild
index 0dc359cc2ed7..0f28ffc369cc 100644
--- a/dev-python/fonttools/fonttools-4.1.0.ebuild
+++ b/dev-python/fonttools/fonttools-4.1.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/fonttools/fonttools/archive/${PV}.tar.gz -> ${P}.tar
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos"
RESTRICT="!test? ( test )"
IUSE="test"
diff --git a/dev-python/hypothesis/hypothesis-5.41.4.ebuild b/dev-python/hypothesis/hypothesis-5.41.4.ebuild
index 909a40f919b5..0a49bc69421c 100644
--- a/dev-python/hypothesis/hypothesis-5.41.4.ebuild
+++ b/dev-python/hypothesis/hypothesis-5.41.4.ebuild
@@ -48,11 +48,7 @@ python_prepare() {
}
python_test() {
- local -x PYTHONPATH="${BUILD_DIR}/install/lib"
- esetup.py install \
- --root="${BUILD_DIR}/install" \
- --install-lib=lib
-
+ distutils_install_for_testing --via-root
pytest -vv tests/cover tests/pytest tests/quality \
-n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" ||
die "Tests fail with ${EPYTHON}"
diff --git a/dev-python/llvmlite/Manifest b/dev-python/llvmlite/Manifest
index 0ab640394b0e..f06c761a5fbd 100644
--- a/dev-python/llvmlite/Manifest
+++ b/dev-python/llvmlite/Manifest
@@ -1 +1,2 @@
DIST llvmlite-0.34.0.gh.tar.gz 210438 BLAKE2B 832ec28047a51b2874a0de5885445b9d77942a70f86620dfb0b25ff0b17395b6009d31d5e9f27ddf02c19ae97bd5b325fc49227fdc0499a9f5fa3bde44e6b564 SHA512 5540df4ebad835e294c00cc09ab1230a530566f563f751f890752f6e22f7b2a04aedcbb53dbbb8e323198d05c80bc9699b593d919eaf1af60fa6f94ff6f50bb1
+DIST llvmlite-0.35.0.gh.tar.gz 228089 BLAKE2B 5cee01244552cfc1c2ba979709170484ed253f52c5c47a4a254bf7d26c935ff0d2a858b7a7f4ec7719644495383128adab11a1287849cd426b7997da4a59efeb SHA512 345b6321277749a169cd87e152261ef499edbf18d18ef7085017c111f2892eac0241529cfae9c6eaaeb68cdb4d726965ed03b4d5a836501dcbdaa73d3c0796fd
diff --git a/dev-python/llvmlite/llvmlite-0.35.0.ebuild b/dev-python/llvmlite/llvmlite-0.35.0.ebuild
new file mode 100644
index 000000000000..ceff58b2f2d7
--- /dev/null
+++ b/dev-python/llvmlite/llvmlite-0.35.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+
+inherit distutils-r1 llvm
+
+DESCRIPTION="Python wrapper around the llvm C++ library"
+HOMEPAGE="https://llvmlite.pydata.org/"
+SRC_URI="https://github.com/numba/llvmlite/archive/v${PV/_/}.tar.gz -> ${P/_/}.gh.tar.gz"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+LLVM_MAX_SLOT=10
+
+RDEPEND="
+ sys-devel/llvm:${LLVM_MAX_SLOT}
+ sys-libs/zlib:0=
+"
+DEPEND="${RDEPEND}"
+
+python_configure_all() {
+ # upstream's build system is just horrible, and they ignored the PR
+ # fixing it, so let's build the shared lib properly using implicit
+ # make rules
+
+ export LDLIBS=$(llvm-config --libs all)
+ export CXXFLAGS="$(llvm-config --cxxflags) -fPIC ${CXXFLAGS}"
+ export LDFLAGS="$(llvm-config --ldflags) ${LDFLAGS}"
+
+ local files=( ffi/*.cpp )
+ emake -f - <<EOF
+ffi/libllvmlite.so: ${files[*]/.cpp/.o}
+ \$(CXX) -shared \$(CXXFLAGS) \$(LDFLAGS) -o \$@ \$^ \$(LDLIBS)
+EOF
+
+ export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index b32fe6c812be..9f84637789b4 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1 +1,2 @@
DIST pikepdf-1.18.0.tar.gz 2351789 BLAKE2B b33b69f57fcd5293814ac880376627b7184ca632e09f668fd274eae6b3640d97699681597470c17abe00ec334ec894a073cc1a1eff91ffa7df572ef78542b429 SHA512 9a04fe6ce145a6f28a180261ac004fc0ce3c525c4e9e7c5eb4bb7dbf8aaa6d3e6f726cec5d20033a5aaa60b793666df52c20f13c8ee7c0c3266fb8e557d69c18
+DIST pikepdf-2.2.0.tar.gz 2363761 BLAKE2B d1a8873a2c41e280dc2880609424742f4454ee226ee30469df067ddf0f5ee98ba6ef2965df75e95c2576e3813bdea7cb6bebfc7a1a7d05696b9da8ec67ef981a SHA512 e80874ece09ce6381079f705ab031b121917485d0968578aeb07a83b70a14bb46d549498357acc4df62b51c33fd75a87f65b74ef64464dcaebba3ff84aaa1843
diff --git a/dev-python/pikepdf/pikepdf-2.2.0.ebuild b/dev-python/pikepdf/pikepdf-2.2.0.ebuild
new file mode 100644
index 000000000000..65f32219eca7
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-2.2.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="https://pypi.org/project/pikepdf/ https://github.com/pikepdf/pikepdf"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="app-text/qpdf:0=
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ >=dev-python/wheel-0.35[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools_scm-4.1[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+ test? ( >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5[${PYTHON_USEDEP}]
+ <dev-python/hypothesis-6.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6[${PYTHON_USEDEP}]
+ <dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/pytest-cov-2.10.1[${PYTHON_USEDEP}]
+ <dev-python/pytest-cov-3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.28[${PYTHON_USEDEP}]
+ <dev-python/pytest-xdist-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.8.3-test.patch )
+
+python_test() {
+ pytest
+}
+
+# When ipython and matplotlib will get python3_8 support, we'll be able to add
+#
+#IUSE="doc"
+#DEPEND="doc? ( dev-python/ipython
+# dev-python/matplotlib
+# dev-python/sphinx-1.4
+# dev-python/sphinx_rtd_theme )"
+#python_compile_all() {
+# use doc && emake -C docs html
+#}
+#python_install_all() {
+# use doc && local HTML_DOCS=( docs/_build/html/. )
+# distutils-r1_python_install_all
+#}
diff --git a/dev-python/pytest-cov/Manifest b/dev-python/pytest-cov/Manifest
index 89a5464f923b..95a1cc552cfb 100644
--- a/dev-python/pytest-cov/Manifest
+++ b/dev-python/pytest-cov/Manifest
@@ -1 +1,2 @@
+DIST pytest-cov-2.10.1.tar.gz 56822 BLAKE2B 45eba205a2c6687882445d3554cedc04ad556854f5eac8eb0fab7fda84cdf2736b034dfdceb664293d1add153a5271403eb94585a863676ccfef9ab09727d165 SHA512 2dd575141754a417f34b414ba7e07291c273abdc63a6b7dc72d317c6ec10076b83c2ad78eeefdda7cee1fd6f56932d838602da4dd760a1c0d12095be94c22568
DIST pytest-cov-2.8.1.tar.gz 47661 BLAKE2B 590fd50b69d01a71b20982d8cdbed0698ebe24c290d791bb44c96aa1aaaf77cf1f379d565eb775864c6945facf6d271115236cb44b95e4a4c9bb7cc6fd591acf SHA512 769a17c2095dbe990df148a0105c9e3dc88ac2265ac77ac31448dab6abf6d8cc0d54f5c6ff01fd708bd38700bfea93f57d3bb702bd9bb0a708257d094b2376ec
diff --git a/dev-python/pytest-cov/pytest-cov-2.10.1.ebuild b/dev-python/pytest-cov/pytest-cov-2.10.1.ebuild
new file mode 100644
index 000000000000..7f27e8975468
--- /dev/null
+++ b/dev-python/pytest-cov/pytest-cov-2.10.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{5,6,7,8,9} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="py.test plugin for coverage reporting"
+HOMEPAGE="https://github.com/pytest-dev/pytest-cov https://pypi.org/project/pytest-cov/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/py-1.4.22[${PYTHON_USEDEP}]
+ >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
+ >=dev-python/coverage-4.4[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/fields[${PYTHON_USEDEP}]
+ >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+#PATCHES=(
+# # Bug 597708
+# "${FILESDIR}/${PN}-2.8.1-disable-broken-tests.patch"
+# "${FILESDIR}/${PN}-2.8.1-latest-setuptools.patch"
+# # https://github.com/pytest-dev/pytest-cov/issues/365
+# "${FILESDIR}/pytest-cov-2.8.1-python38.patch"
+#)
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-py3doc-enhanced-theme
+
+python_test() {
+ distutils_install_for_testing
+ PYTHONPATH="${S}/tests:${BUILD_DIR}/lib:${PYTHONPATH}" \
+ PYTEST_PLUGINS=${PN/-/_} \
+ pytest -vv || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r1.ebuild b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..1bb6d5dcb3a3
--- /dev/null
+++ b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+inherit distutils-r1
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/python-xmp-toolkit/${PN}.git"
+else
+ SRC_URI="https://github.com/python-xmp-toolkit/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Library for working with XMP metadata"
+HOMEPAGE="https://github.com/python-xmp-toolkit/python-xmp-toolkit/ https://pypi.org/project/python-xmp-toolkit/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+DEPEND="doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/unittest2[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ media-libs/exempi )"
+RDEPEND="dev-python/pytz[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${P}-test.patch )
+
+python_compile_all() {
+ use doc && emake -C docs html
+}
+
+python_test() {
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/.build/html/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.4.3-r1.ebuild b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.4.3-r1.ebuild
index 7f52ca4de250..15b06e6955b0 100644
--- a/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.4.3-r1.ebuild
+++ b/dev-python/sphinx_rtd_theme/sphinx_rtd_theme-0.4.3-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE=""
PDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index e2ff51783f1b..a2608d158f88 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1 +1,2 @@
DIST stevedore-3.2.2.tar.gz 512174 BLAKE2B 60061f04cee8b4ab1c95ab7c02083abd15a623970168df379c82860bb2ea9b27171f5862851eb194c88001b02878eacab4428a76cbfbe528e7246b3e492abfe1 SHA512 1c3f81157b16af800c1caa971f063c50638a70eced582dbcffafaf7d9bbd4e402f75003fcd73b3cb85940bbe9027bac24e37754ffcacffb06d133e938e07ebcf
+DIST stevedore-3.3.0.tar.gz 513293 BLAKE2B c1eee40a451fd6cad033a618a15cb62e65dc4ead8d2dd9eced4278cd11b1daf0f6fefdba2f2fa8dc1a63b6c525b1a3cbb87c8db12945e7412ed76318ee42592b SHA512 4fdd13c08517aef69700566fc04fb26a29b5a72f73a476d656d134b0d99229a8cf0012d9f1ae4565ffab6fa30e745a013d96da8eff00f8316ae1b5010e4cfbb3
diff --git a/dev-python/stevedore/stevedore-3.3.0.ebuild b/dev-python/stevedore/stevedore-3.3.0.ebuild
new file mode 100644
index 000000000000..f687bb6b825b
--- /dev/null
+++ b/dev-python/stevedore/stevedore-3.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7,8,9} )
+
+inherit distutils-r1
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="https://github.com/openstack/stevedore https://pypi.org/project/stevedore/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/importlib_metadata-1.7.0[${PYTHON_USEDEP}]
+ ' python3_{6,7})
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx 'doc/source' \
+ '>=dev-python/openstackdocstheme-1.18.1' \
+ '>=dev-python/reno-2.5.0' \
+ '>=dev-python/sphinx-2.0.0'
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/^pbr/d' -i requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/towncrier/towncrier-19.2.0.ebuild b/dev-python/towncrier/towncrier-19.2.0.ebuild
index 7038e62be4bd..b05dfc02ce96 100644
--- a/dev-python/towncrier/towncrier-19.2.0.ebuild
+++ b/dev-python/towncrier/towncrier-19.2.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/hawkowl/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos"
IUSE="test"
RDEPEND="
diff --git a/dev-python/twisted/twisted-20.3.0.ebuild b/dev-python/twisted/twisted-20.3.0.ebuild
index 7cfc88b3bb76..4f823da65ca5 100644
--- a/dev-python/twisted/twisted-20.3.0.ebuild
+++ b/dev-python/twisted/twisted-20.3.0.ebuild
@@ -18,7 +18,7 @@ SRC_URI="https://twistedmatrix.com/Releases/${TWISTED_PN}"
SRC_URI="${SRC_URI}/${TWISTED_RELEASE}/${TWISTED_P}.tar.bz2
https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
LICENSE="MIT"
SLOT="0"