summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-04-25 13:55:21 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-04-25 13:55:21 +0000
commit814375c4ec384019c52cbd5e6dcb265eed12b62f (patch)
treef7d44e36ebea7a0ca1db1245a0dacd75e6765378 /dev-python
parent497b5e597f027a5c7727b205a643e182eba98def (diff)
downloadbaldeagleos-repo-814375c4ec384019c52cbd5e6dcb265eed12b62f.tar.gz
baldeagleos-repo-814375c4ec384019c52cbd5e6dcb265eed12b62f.tar.xz
baldeagleos-repo-814375c4ec384019c52cbd5e6dcb265eed12b62f.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/aiorpcX/Manifest1
-rw-r--r--dev-python/aiorpcX/aiorpcX-0.21.1.ebuild37
-rw-r--r--dev-python/astroid/Manifest1
-rw-r--r--dev-python/astroid/astroid-2.5.5.ebuild47
-rw-r--r--dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.0.ebuild2
-rw-r--r--dev-python/ddt/ddt-1.4.2.ebuild2
-rw-r--r--dev-python/elasticsearch-curator/Manifest3
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r2.ebuild163
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild165
-rw-r--r--dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild165
-rw-r--r--dev-python/elasticsearch-curator/metadata.xml9
-rw-r--r--dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild2
-rw-r--r--dev-python/pip/Manifest2
-rw-r--r--dev-python/pip/files/pip-21.1-no-coverage.patch51
-rw-r--r--dev-python/pip/pip-21.1.ebuild120
-rw-r--r--dev-python/pylint/Manifest1
-rw-r--r--dev-python/pylint/pylint-2.8.0.ebuild69
-rw-r--r--dev-python/pytest-mock/Manifest1
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.6.0.ebuild35
-rw-r--r--dev-python/setuptools/setuptools-54.2.0.ebuild2
-rw-r--r--dev-python/sphinx-gallery/Manifest1
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.9.0.ebuild48
-rw-r--r--dev-python/stestr/stestr-3.2.0.ebuild2
-rw-r--r--dev-python/twisted/twisted-21.2.0.ebuild2
-rw-r--r--dev-python/xdg/Manifest1
-rw-r--r--dev-python/xdg/metadata.xml3
-rw-r--r--dev-python/xdg/xdg-5.0.2.ebuild23
-rw-r--r--dev-python/zope-interface/Manifest1
-rw-r--r--dev-python/zope-interface/zope-interface-5.2.0.ebuild53
-rw-r--r--dev-python/zope-interface/zope-interface-5.3.0.ebuild2
30 files changed, 448 insertions, 566 deletions
diff --git a/dev-python/aiorpcX/Manifest b/dev-python/aiorpcX/Manifest
index 8b68ce273600..39e948bce6b5 100644
--- a/dev-python/aiorpcX/Manifest
+++ b/dev-python/aiorpcX/Manifest
@@ -4,3 +4,4 @@ DIST aiorpcX-0.19.gh.tar.gz 65557 BLAKE2B 2bc9d809abbcdcf4dd0358e4bb734068ef7648
DIST aiorpcX-0.20.1.gh.tar.gz 74087 BLAKE2B eee9b3d7d1e513e5eefec97ba30b8b5783b3128cd010b6c8c9530c19c06b1261499559249a9b46c2a8689daebd78d23f97a3b16c25572de80dc13a3650d4d593 SHA512 0f03fe54f268c64028607766bd45dd2fc8ee4ddab30da7744e9493e0e98cdbd9061dd502fd1bbde1880e5f4410f147f4ecf0ea04e4056c16bb784c3f76a558fc
DIST aiorpcX-0.20.2.gh.tar.gz 74627 BLAKE2B e5a33dfd8ef0c18e26cfee881fd7515437598628bf61dfd86a34f0a758474abcf257c7afcbf0ee1d11ed6bad44596289efe2261d9ca7ccc26e7d949f05b3ad40 SHA512 af63d51bd21a045d71073ba6cd030834f8262e393eac9c44e6b33a2b3cecd86a5d2a6a0ed7ab60d2362e99ab38c801abcae1ada368a533d8f7fb8b616c43e582
DIST aiorpcX-0.21.0.gh.tar.gz 75194 BLAKE2B dc8494531ca64db15e3e4b35ef5392e8177ca9b5c885c93c146edf921154f42caef5a7b2863a166d337a2f16e99e880b1e315f1f72624f50aa2d73a93c23e054 SHA512 0bcbb31cf367db029ef4acc06b23b6d3f861ab168971e367d760a220c0a6688934a8a91f7bb2fd9d993e173f2049e45556b6f094bb7ca005b37f66179061484d
+DIST aiorpcX-0.21.1.gh.tar.gz 75205 BLAKE2B 5190e8bedf9c605f57d469f351d0cc3bed0c1fad53778ea0f29c02615b0ca816a7bbc60b863dc613f72c67455966ef3ceb31b825eed3cead25f47c29012f7ce5 SHA512 c77d4bfe72f2cd4215e15330c60aabdeee9f4e1613ba5dcfedea9368c85519b36ecc7dbfa2f6682df7d802204b9cea7c9a889ee479dcffbc728ee0c112039779
diff --git a/dev-python/aiorpcX/aiorpcX-0.21.1.ebuild b/dev-python/aiorpcX/aiorpcX-0.21.1.ebuild
new file mode 100644
index 000000000000..1503128cebeb
--- /dev/null
+++ b/dev-python/aiorpcX/aiorpcX-0.21.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
+HOMEPAGE="https://pypi.org/project/aiorpcX/
+ https://github.com/kyuupichan/aiorpcX/"
+SRC_URI="https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/uvloop[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local deselect=(
+ # require Internet
+ tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
+ )
+
+ epytest ${deselect[@]/#/--deselect }
+}
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index 7feb84f3e7f2..2a1cb7ec193d 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1,4 +1,5 @@
DIST astroid-2.5.1.tar.gz 312511 BLAKE2B 85d85c045579f6bf42a4640da95836e760d1d89edaefdf94209a2fdc7f2686a27abcb1c0710cad658473a0a1516df5ad80f10c6b7c2a4f14dea36af94aa9ae5b SHA512 a0aaa95257961235abbbbc021cdb48da760f8b1856bbc0a7a8b98c53c69045cee4bfe575182a631f994765819e373b33b3a6eca052573128e8b36f2c23c250de
DIST astroid-2.5.2.tar.gz 312789 BLAKE2B 53b286a8772fea1df149aff19f56c0d86154e616a04f4e3e459e029bd4ae54e7f41c55873e0c310c4e36b0901a39bf88d92a7748a7a46baa000f386a0d154c05 SHA512 391d6b0981b4332fd074a568d33838cbd5d71e7200a3a7ba27bc96641d12be4a6452def0bb615a54e1fa6d1f1f6863a39d56cf3e503aba42ea0d0fdddbbb9102
DIST astroid-2.5.3.tar.gz 317721 BLAKE2B 66566287fa65489064056d6dba65fd7c59cbe9e4e3d88ba5a33d08dbcf6af48b6f1eb4aafb4f7483a1fc0eb6fdd92a7bc8f1991d05cd4d589fbcc6ed6f5db769 SHA512 dbf480e86023f7d093386cc68b259d5b721717638927a893b3ade0a397b212f5f24a17c753b705cf499b47e12ab255d51126b41b5af167d5c3018f5aade1abcb
+DIST astroid-2.5.5.tar.gz 344997 BLAKE2B 9ab06834ac05557c095efaaf348772d5d523cb5f0fc79f369319d7b15a92a6737d8464ad8a331474737bab9453519cb779dbb1bb5bbe6ab2ee8bb9a0af269c47 SHA512 ffaa6b156c6bdb3399581388bdb4d058e0182b42051c83752d2f93fdf6aafe28e26bd085d272c9ae2907978ba22a94713e959df70b891f772ffe7f891a1f0dd3
DIST astroid-2.5.tar.gz 304788 BLAKE2B 3d9304dcfff72aa8172fe88b5ee53b723b47b3e602b7c30cae15a61d0cff7d578ccfde4885b56c09c8254ca3fe185fcf297bf85184d68798eb51f1860c516db6 SHA512 eba7e757a12f89a74bff579731a157fda3c8d8dd1b5a4369791d47f7f6e321b23e167260d0988d389428222c8c98929e66ad26f379ff937e274dcd1abdb3b3d2
diff --git a/dev-python/astroid/astroid-2.5.5.ebuild b/dev-python/astroid/astroid-2.5.5.ebuild
new file mode 100644
index 000000000000..acf1c8abd2fa
--- /dev/null
+++ b/dev-python/astroid/astroid-2.5.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/PyCQA/astroid/
+ https://pypi.org/project/astroid/"
+SRC_URI="
+ https://github.com/PyCQA/astroid/archive/${P}.tar.gz"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+
+# Version specified in __pkginfo__.py.
+RDEPEND="
+ >=dev-python/lazy-object-proxy-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.11.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typed-ast-1.4.0[${PYTHON_USEDEP}]
+ ' python3_7)"
+BDEPEND="
+ test? (
+ dev-python/nose[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local deselect=(
+ # no clue why it's broken
+ tests/unittest_modutils.py::GetModulePartTest::test_knownValues_get_builtin_module_part
+ )
+
+ # Faker causes sys.path_importer_cache keys to be overwritten
+ # with PosixPaths
+ epytest -p no:faker ${deselect[@]/#/--deselect }
+}
diff --git a/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.0.ebuild b/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.0.ebuild
index 86cdd83b38d5..68f63ece4c66 100644
--- a/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.0.ebuild
+++ b/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.0.ebuild
@@ -16,6 +16,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~hppa ppc ppc64 ~s390 sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86"
BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
diff --git a/dev-python/ddt/ddt-1.4.2.ebuild b/dev-python/ddt/ddt-1.4.2.ebuild
index bc7a30c07049..d9eb33249427 100644
--- a/dev-python/ddt/ddt-1.4.2.ebuild
+++ b/dev-python/ddt/ddt-1.4.2.ebuild
@@ -17,7 +17,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc64 ~sparc x86"
IUSE="test"
BDEPEND="
diff --git a/dev-python/elasticsearch-curator/Manifest b/dev-python/elasticsearch-curator/Manifest
deleted file mode 100644
index 397f32db97d5..000000000000
--- a/dev-python/elasticsearch-curator/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST elasticsearch-7.3.2-linux-x86_64.tar.gz 285050383 BLAKE2B 730d8550f5887facae3075ce3b0bdb96b49350782fe7e687b8f4477bb363ce7c1595f2b1ece2b7d59d18539886b6e4806f56b0f5674bc417528232a92f1c00a8 SHA512 08e89347797ec6f008fb76cda17ec3e0dbc553fc992d07f4944fd99d17d5bc934849d9e534724d1541432c9844d3da57d875bc08a0c4cd95ba4251e2b03f833b
-DIST elasticsearch-curator-5.8.1.tar.gz 231233 BLAKE2B d2369c18be69cc5c8e17a6d7a72660bd7165c349cdb06c740c8db9dd2b583f181a09ba7d53ee0f4692cb6e31d373274f0610f2a654ba4a6da2d0ca0ff22c7c97 SHA512 500767967f423629f34d42ee088a9c007e193216c42f5590364ffcacc9e1efeba65dd4d333f806250e3b7fe0bea8b5501d1e6f3bf6fb0b8c46a46954e92c4a65
-DIST elasticsearch-curator-5.8.3.tar.gz 239107 BLAKE2B 6f924dd2e5d39f06741dbb0529f4ea8bb61a280ebe901682ffd95054cd1ad2b30ef5619d0d4c8237923a6ab3d9bd7531a7bc6ff674435d807f1f146a2ecb57e7 SHA512 243d37aa36a50711b57aeb1df61ed48f29e5097d9f7d5b515a5437dca2b4eb92ed92a4886db3213ef549192d9886c20ee10133856990e8c0ebaa16bb24a10592
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r2.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r2.ebuild
deleted file mode 100644
index d6e3264cfae2..000000000000
--- a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r2.ebuild
+++ /dev/null
@@ -1,163 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-MY_PN="curator"
-ES_VERSION="7.3.2"
-
-inherit distutils-r1
-
-DESCRIPTION="Tending time-series indices in Elasticsearch"
-HOMEPAGE="https://github.com/elastic/curator"
-SRC_URI="https://github.com/elastic/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 x86"
-# tests fail in chroot
-# https://github.com/elastic/elasticsearch/issues/12018
-RESTRICT="test"
-IUSE="doc test"
-
-# vulnerable pyyaml
-# https://github.com/elastic/curator/issues/1415
-RDEPEND="
- >=dev-python/elasticsearch-py-7.0.4[${PYTHON_USEDEP}]
- <dev-python/elasticsearch-py-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/click-6.7[${PYTHON_USEDEP}]
- <dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/certifi-2019.9.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]
- <dev-python/urllib3-1.26[${PYTHON_USEDEP}]
- >=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-python/pyyaml[${PYTHON_USEDEP}]
- test? ( ${RDEPEND}
- virtual/jre
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_prepare_all() {
- # avoid downloading from net
- sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
-
- # requests_aws4auth not in portage
- sed -e '/boto3/d' \
- -e '/requests_aws4auth/d' \
- -e 's/pyyaml==3.13/pyyaml/g' \
- -e '/tests_require/s/, "coverage", "nosexcover"//g' \
- -i setup.cfg setup.py || die
-
- # Bug 713342
- sed -i 's/yaml.load/yaml.unsafe_load/g' curator/utils.py test/unit/* || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- emake -C docs -j1 man $(usex doc html "")
-}
-
-# running tests in non-chroot environments:
-# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
-python_test_all() {
- # starts two ES instances (local,remote) and runs the tests
- # https://github.com/elastic/curator/blob/master/travis-run.sh
- local ES_INSTANCES="local remote"
- local ES_PATH="${WORKDIR}/elasticsearch-${ES_VERSION}"
-
- declare -A ES_PORT
- ES_PORT[local]=9200
- ES_PORT[remote]=9201
-
- local i transport
- declare -A ES_CONFIG_DIR ES_CONFIG_PATH ES_INSTANCE ES_LOG ES_PID
- for i in ${ES_INSTANCES}; do
- ES_CONFIG_DIR[$i]="${ES_PATH}/$i"
- ES_CONFIG_PATH[$i]="${ES_CONFIG_DIR[$i]}/elasticsearch.yml"
- ES_PID[$i]="${ES_PATH}/$i.pid"
- ES_LOG[$i]="${ES_PATH}/logs/$i.log"
- done
-
- # configure ES instances
- for i in ${ES_INSTANCES}; do
- mkdir -p "${ES_CONFIG_DIR[$i]}" || die
- cp ${ES_PATH}/config/{jvm.options,log4j2.properties} "${ES_CONFIG_DIR[$i]}"/ || die
- echo 'network.host: 127.0.0.1' > "${ES_CONFIG_PATH[$i]}" || die
- echo "http.port: ${ES_PORT[$i]}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "cluster.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "node.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo 'node.max_local_storage_nodes: 2' >> "${ES_CONFIG_PATH[$i]}" || die
- transport=$((${ES_PORT[$i]}+100))
- echo "transport.port: ${transport}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.seed_hosts: [\"localhost:${transport}\"]" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.type: single-node" >> "${ES_CONFIG_PATH[$i]}" || die
- done
-
- echo 'path.repo: /' >> "${ES_CONFIG_PATH[local]}" || die
- echo "reindex.remote.whitelist: localhost:${ES_PORT[remote]}" >> "${ES_CONFIG_PATH[local]}" || die
-
- # start ES instances
- for i in ${ES_INSTANCES}; do
- ES_PATH_CONF=${ES_CONFIG_DIR[$i]} "${ES_PATH}/bin/elasticsearch" -d -p "${ES_PID[$i]}" || die
-
- local j
- local es_started=0
- for j in {1..30}; do
- grep -q "started" "${ES_LOG[$i]}" 2> /dev/null
- if [[ $? -eq 0 ]]; then
- einfo "Elasticsearch $i started"
- es_started=1
- eend 0
- break
- elif grep -q 'BindException\[Address already in use\]' "${ES_LOG[$i]}" 2>/dev/null; then
- eend 1
- eerror "Elasticsearch $i already running"
- die "Cannot start Elasticsearch $i for tests"
- else
- einfo "Waiting for Elasticsearch $i"
- eend 1
- sleep 2
- continue
- fi
- done
-
- [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
- done
-
- export TEST_ES_SERVER="localhost:${ES_PORT[local]}"
- export REMOTE_ES_SERVER="localhost:${ES_PORT[remote]}"
-
- # run tests
- nosetests -v || die
-
- for i in ${ES_INSTANCES}; do
- pkill -F ${ES_PID[$i]}
- done
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/_build/html/. )
- doman docs/_build/man/*
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- ewarn ""
- ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
- ewarn ""
- ewarn "Example usage on Python 3:"
- ewarn "export LC_ALL=en_US.UTF-8"
- ewarn "export LANG=en_US.UTF-8"
- ewarn "curator ..."
-}
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild
deleted file mode 100644
index a70ee588dbc1..000000000000
--- a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.1-r3.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-MY_PN="curator"
-ES_VERSION="7.3.2"
-
-inherit distutils-r1
-
-DESCRIPTION="Tending time-series indices in Elasticsearch"
-HOMEPAGE="https://github.com/elastic/curator"
-SRC_URI="https://github.com/elastic/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-# tests fail in chroot
-# https://github.com/elastic/elasticsearch/issues/12018
-RESTRICT="test"
-IUSE="doc test"
-
-# vulnerable pyyaml
-# https://github.com/elastic/curator/issues/1415
-RDEPEND="
- >=dev-python/elasticsearch-py-7.0.4[${PYTHON_USEDEP}]
- <dev-python/elasticsearch-py-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/click-6.7[${PYTHON_USEDEP}]
- <dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/certifi-2019.9.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]
- <dev-python/urllib3-1.26[${PYTHON_USEDEP}]
- >=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/cx_Freeze[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- test? ( ${RDEPEND}
- virtual/jre
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_prepare_all() {
- # avoid downloading from net
- sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
-
- # requests_aws4auth not in portage
- sed -e '/boto3/d' \
- -e '/requests_aws4auth/d' \
- -e 's/pyyaml==3.13/pyyaml/g' \
- -e '/tests_require/s/, "coverage", "nosexcover"//g' \
- -i setup.cfg setup.py || die
-
- # Bug 713342
- sed -i 's/yaml.load/yaml.unsafe_load/g' curator/utils.py test/unit/* || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- emake -C docs -j1 man $(usex doc html "")
-}
-
-# running tests in non-chroot environments:
-# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
-python_test_all() {
- # starts two ES instances (local,remote) and runs the tests
- # https://github.com/elastic/curator/blob/master/travis-run.sh
- local ES_INSTANCES="local remote"
- local ES_PATH="${WORKDIR}/elasticsearch-${ES_VERSION}"
-
- declare -A ES_PORT
- ES_PORT[local]=9200
- ES_PORT[remote]=9201
-
- local i transport
- declare -A ES_CONFIG_DIR ES_CONFIG_PATH ES_INSTANCE ES_LOG ES_PID
- for i in ${ES_INSTANCES}; do
- ES_CONFIG_DIR[$i]="${ES_PATH}/$i"
- ES_CONFIG_PATH[$i]="${ES_CONFIG_DIR[$i]}/elasticsearch.yml"
- ES_PID[$i]="${ES_PATH}/$i.pid"
- ES_LOG[$i]="${ES_PATH}/logs/$i.log"
- done
-
- # configure ES instances
- for i in ${ES_INSTANCES}; do
- mkdir -p "${ES_CONFIG_DIR[$i]}" || die
- cp ${ES_PATH}/config/{jvm.options,log4j2.properties} "${ES_CONFIG_DIR[$i]}"/ || die
- echo 'network.host: 127.0.0.1' > "${ES_CONFIG_PATH[$i]}" || die
- echo "http.port: ${ES_PORT[$i]}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "cluster.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "node.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo 'node.max_local_storage_nodes: 2' >> "${ES_CONFIG_PATH[$i]}" || die
- transport=$((${ES_PORT[$i]}+100))
- echo "transport.port: ${transport}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.seed_hosts: [\"localhost:${transport}\"]" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.type: single-node" >> "${ES_CONFIG_PATH[$i]}" || die
- done
-
- echo 'path.repo: /' >> "${ES_CONFIG_PATH[local]}" || die
- echo "reindex.remote.whitelist: localhost:${ES_PORT[remote]}" >> "${ES_CONFIG_PATH[local]}" || die
-
- # start ES instances
- for i in ${ES_INSTANCES}; do
- ES_PATH_CONF=${ES_CONFIG_DIR[$i]} "${ES_PATH}/bin/elasticsearch" -d -p "${ES_PID[$i]}" || die
-
- local j
- local es_started=0
- for j in {1..30}; do
- grep -q "started" "${ES_LOG[$i]}" 2> /dev/null
- if [[ $? -eq 0 ]]; then
- einfo "Elasticsearch $i started"
- es_started=1
- eend 0
- break
- elif grep -q 'BindException\[Address already in use\]' "${ES_LOG[$i]}" 2>/dev/null; then
- eend 1
- eerror "Elasticsearch $i already running"
- die "Cannot start Elasticsearch $i for tests"
- else
- einfo "Waiting for Elasticsearch $i"
- eend 1
- sleep 2
- continue
- fi
- done
-
- [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
- done
-
- export TEST_ES_SERVER="localhost:${ES_PORT[local]}"
- export REMOTE_ES_SERVER="localhost:${ES_PORT[remote]}"
-
- # run tests
- nosetests -v || die
-
- for i in ${ES_INSTANCES}; do
- pkill -F ${ES_PID[$i]}
- done
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/_build/html/. )
- doman docs/_build/man/*
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- ewarn ""
- ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
- ewarn ""
- ewarn "Example usage on Python 3:"
- ewarn "export LC_ALL=en_US.UTF-8"
- ewarn "export LANG=en_US.UTF-8"
- ewarn "curator ..."
-}
diff --git a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild b/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild
deleted file mode 100644
index eacab136ba0a..000000000000
--- a/dev-python/elasticsearch-curator/elasticsearch-curator-5.8.3.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
-MY_PN="curator"
-ES_VERSION="7.3.2"
-
-inherit distutils-r1
-
-DESCRIPTION="Tending time-series indices in Elasticsearch"
-HOMEPAGE="https://github.com/elastic/curator"
-SRC_URI="https://github.com/elastic/${MY_PN}/archive/V${PV}.tar.gz -> ${P}.tar.gz
- test? ( https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz )"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-# tests fail in chroot
-# https://github.com/elastic/elasticsearch/issues/12018
-RESTRICT="test"
-IUSE="doc test"
-
-# vulnerable pyyaml
-# https://github.com/elastic/curator/issues/1415
-RDEPEND="
- >=dev-python/elasticsearch-py-7.0.4[${PYTHON_USEDEP}]
- <dev-python/elasticsearch-py-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/click-6.7[${PYTHON_USEDEP}]
- <dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/certifi-2019.9.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]
- <dev-python/urllib3-1.26[${PYTHON_USEDEP}]
- >=dev-python/voluptuous-0.9.3[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
- dev-python/sphinx
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/cx_Freeze[${PYTHON_USEDEP}]
- dev-python/importlib_metadata[${PYTHON_USEDEP}]
- test? ( ${RDEPEND}
- virtual/jre
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/nose[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}] )"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-python_prepare_all() {
- # avoid downloading from net
- sed -e '/^intersphinx_mapping/,+3d' -i docs/conf.py || die
-
- # requests_aws4auth not in portage
- sed -e '/boto3/d' \
- -e '/requests_aws4auth/d' \
- -e 's/pyyaml==3.13/pyyaml/g' \
- -e '/tests_require/s/, "coverage", "nosexcover"//g' \
- -i setup.cfg setup.py || die
-
- # Bug 713342
- sed -i 's/yaml.load/yaml.unsafe_load/g' curator/utils.py test/unit/* || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
- emake -C docs -j1 man $(usex doc html "")
-}
-
-# running tests in non-chroot environments:
-# FEATURES="test -usersandbox" emerge dev-python/elasticsearch-curator
-python_test_all() {
- # starts two ES instances (local,remote) and runs the tests
- # https://github.com/elastic/curator/blob/master/travis-run.sh
- local ES_INSTANCES="local remote"
- local ES_PATH="${WORKDIR}/elasticsearch-${ES_VERSION}"
-
- declare -A ES_PORT
- ES_PORT[local]=9200
- ES_PORT[remote]=9201
-
- local i transport
- declare -A ES_CONFIG_DIR ES_CONFIG_PATH ES_INSTANCE ES_LOG ES_PID
- for i in ${ES_INSTANCES}; do
- ES_CONFIG_DIR[$i]="${ES_PATH}/$i"
- ES_CONFIG_PATH[$i]="${ES_CONFIG_DIR[$i]}/elasticsearch.yml"
- ES_PID[$i]="${ES_PATH}/$i.pid"
- ES_LOG[$i]="${ES_PATH}/logs/$i.log"
- done
-
- # configure ES instances
- for i in ${ES_INSTANCES}; do
- mkdir -p "${ES_CONFIG_DIR[$i]}" || die
- cp ${ES_PATH}/config/{jvm.options,log4j2.properties} "${ES_CONFIG_DIR[$i]}"/ || die
- echo 'network.host: 127.0.0.1' > "${ES_CONFIG_PATH[$i]}" || die
- echo "http.port: ${ES_PORT[$i]}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "cluster.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "node.name: $i" >> "${ES_CONFIG_PATH[$i]}" || die
- echo 'node.max_local_storage_nodes: 2' >> "${ES_CONFIG_PATH[$i]}" || die
- transport=$((${ES_PORT[$i]}+100))
- echo "transport.port: ${transport}" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.seed_hosts: [\"localhost:${transport}\"]" >> "${ES_CONFIG_PATH[$i]}" || die
- echo "discovery.type: single-node" >> "${ES_CONFIG_PATH[$i]}" || die
- done
-
- echo 'path.repo: /' >> "${ES_CONFIG_PATH[local]}" || die
- echo "reindex.remote.whitelist: localhost:${ES_PORT[remote]}" >> "${ES_CONFIG_PATH[local]}" || die
-
- # start ES instances
- for i in ${ES_INSTANCES}; do
- ES_PATH_CONF=${ES_CONFIG_DIR[$i]} "${ES_PATH}/bin/elasticsearch" -d -p "${ES_PID[$i]}" || die
-
- local j
- local es_started=0
- for j in {1..30}; do
- grep -q "started" "${ES_LOG[$i]}" 2> /dev/null
- if [[ $? -eq 0 ]]; then
- einfo "Elasticsearch $i started"
- es_started=1
- eend 0
- break
- elif grep -q 'BindException\[Address already in use\]' "${ES_LOG[$i]}" 2>/dev/null; then
- eend 1
- eerror "Elasticsearch $i already running"
- die "Cannot start Elasticsearch $i for tests"
- else
- einfo "Waiting for Elasticsearch $i"
- eend 1
- sleep 2
- continue
- fi
- done
-
- [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
- done
-
- export TEST_ES_SERVER="localhost:${ES_PORT[local]}"
- export REMOTE_ES_SERVER="localhost:${ES_PORT[remote]}"
-
- # run tests
- nosetests -v || die
-
- for i in ${ES_INSTANCES}; do
- pkill -F ${ES_PID[$i]}
- done
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/_build/html/. )
- doman docs/_build/man/*
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- ewarn ""
- ewarn "For Python 3 support information please read: http://click.pocoo.org/latest/python3/"
- ewarn ""
- ewarn "Example usage on Python 3:"
- ewarn "export LC_ALL=en_US.UTF-8"
- ewarn "export LANG=en_US.UTF-8"
- ewarn "curator ..."
-}
diff --git a/dev-python/elasticsearch-curator/metadata.xml b/dev-python/elasticsearch-curator/metadata.xml
deleted file mode 100644
index fd69583e8d77..000000000000
--- a/dev-python/elasticsearch-curator/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <upstream>
- <remote-id type="github">elastic/curator</remote-id>
- <remote-id type="pypi">elasticsearch-curator</remote-id>
- </upstream>
- <origin>gentoo-staging</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild b/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild
index 2016e0cec09f..f316fc61c33c 100644
--- a/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild
+++ b/dev-python/m2crypto/m2crypto-0.37.1-r1.ebuild
@@ -16,7 +16,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="libressl test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index b77435b773aa..8cba56a7e4a8 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1,3 +1,5 @@
DIST pip-21.0.1.tar.gz 8772082 BLAKE2B 2fdd78e2db8ceda2bd21fdeb4d29c0c2eda412827b87cc97ec1996a5b71b9c6e5938c0a6ef696163780bbbc55d81b8b3b1b6e2e79b05fbe9ce4bdd52e3ebdf13 SHA512 2db5397f4ca3a3f56f5add3f827bf1f0a4296019703438d68498266b9d2559b6baa3132061c5ad4c2a08bec6e76a2768763fdca02d86cf32aadd4640afbf3664
+DIST pip-21.1.tar.gz 8771224 BLAKE2B 2056a741b7f51d56c3984e2b0bcd1fa9cc12ba9677f80505fa5182fc0afad9c7dfe4ecf9429cf5ed5f8534f0a6a003b12455e90537a5dacbe188c8db548b71c3 SHA512 2617ae852cd52db980ab4131d711946b63930d30f480e050555bc61acb78577aa447b88065c6c8eba7e29c7167f78f04b11404cb0c1975caac464fa768ee7de8
DIST setuptools-51.3.3-py3-none-any.whl 786243 BLAKE2B cc8a98cdfd5cb78a342a3d50049c0ebd0965451e9bd4050b7a133346f505a17842a498531ade9bf932064a6cac81277ecf60d94ef94faa39b78740de87f9fd86 SHA512 1d4f29e392371b7f0e427d0570fddbdd1204f6c98e48a0a289db23b20f7c048551584ac946e30b90d720cce4f508b3c39208e9a70f87067d66734432963d141c
+DIST setuptools-56.0.0-py3-none-any.whl 784941 BLAKE2B 136352bcaeeb803f94983db2e0f9ec79dacc23a6742a2f6f1b4bdd2b29a104f4965d78f9b4adf1a501c7bf39d4ed85a6786b03489f90872661afbf5e674fd3f9 SHA512 32405236e9c2936cde137bc4d4d07b548391336ce0511cd5677dcd1f85c7a142b0947e03cdceaeb37067874f5aa71daacaa1a6af95ae9fe3ad8af264f61e10f4
DIST wheel-0.36.2-py2.py3-none-any.whl 35046 BLAKE2B bc4e8dab7c74eea34d3b4a813b7eaf6295a99a396a861b6cdd76f743043e89140bad132bdd13e385e8945ce02e0798e1d3ac73fc1b23bde5b2a83e4bb4dd5cdc SHA512 6bb5119b4d3704fe1e3c1eaaa3124edab13f61b46f8a0a8e75974fac4e5b25d8b53606071a03a8d8990ad1cfe2ab247ddea260098df2c0c35ae965be47080284
diff --git a/dev-python/pip/files/pip-21.1-no-coverage.patch b/dev-python/pip/files/pip-21.1-no-coverage.patch
new file mode 100644
index 000000000000..5f9c836d32ea
--- /dev/null
+++ b/dev-python/pip/files/pip-21.1-no-coverage.patch
@@ -0,0 +1,51 @@
+From 66ca1e64ce3fb971ec30d5f8b2a0bda49721bc2d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 29 Jul 2020 07:42:25 +0200
+Subject: [PATCH] Disable coverage testing support inside test venvs
+
+---
+ tests/conftest.py | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index a53e0c4f7..c91d1e1ae 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -315,11 +315,6 @@ def wheel_install(tmpdir_factory, common_wheels):
+ return _common_wheel_editable_install(tmpdir_factory, common_wheels, "wheel")
+
+
+-@pytest.fixture(scope="session")
+-def coverage_install(tmpdir_factory, common_wheels):
+- return _common_wheel_editable_install(tmpdir_factory, common_wheels, "coverage")
+-
+-
+ def install_egg_link(venv, project_name, egg_info_dir):
+ with open(venv.site / "easy-install.pth", "a") as fp:
+ fp.write(str(egg_info_dir.resolve()) + "\n")
+@@ -329,7 +324,7 @@ def install_egg_link(venv, project_name, egg_info_dir):
+
+ @pytest.fixture(scope="session")
+ def virtualenv_template(
+- request, tmpdir_factory, pip_src, setuptools_install, coverage_install
++ request, tmpdir_factory, pip_src, setuptools_install
+ ):
+
+ if request.config.getoption("--use-venv"):
+@@ -355,13 +350,6 @@ def virtualenv_template(
+ [venv.bin / "python", "setup.py", "-q", "develop"], cwd=pip_editable
+ )
+
+- # Install coverage and pth file for executing it in any spawned processes
+- # in this virtual environment.
+- install_egg_link(venv, "coverage", coverage_install)
+- # zz prefix ensures the file is after easy-install.pth.
+- with open(venv.site / "zz-coverage-helper.pth", "a") as f:
+- f.write("import coverage; coverage.process_startup()")
+-
+ # Drop (non-relocatable) launchers.
+ for exe in os.listdir(venv.bin):
+ if not (
+--
+2.31.1
+
diff --git a/dev-python/pip/pip-21.1.ebuild b/dev-python/pip/pip-21.1.ebuild
new file mode 100644
index 000000000000..36fa4ee56580
--- /dev/null
+++ b/dev-python/pip/pip-21.1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=rdepend
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+# setuptools & wheel .whl files are required for testing,
+# the exact version is not very important.
+SETUPTOOLS_WHL="setuptools-56.0.0-py3-none-any.whl"
+WHEEL_WHL="wheel-0.36.2-py2.py3-none-any.whl"
+
+DESCRIPTION="Installs python packages -- replacement for easy_install"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/"
+SRC_URI="
+ https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ test? (
+ https://files.pythonhosted.org/packages/py3/s/setuptools/${SETUPTOOLS_WHL}
+ https://files.pythonhosted.org/packages/py2.py3/w/wheel/${WHEEL_WHL}
+ )
+"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos"
+SLOT="0"
+IUSE="test -vanilla"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/csv23[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ <dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-21.1-no-coverage.patch"
+ )
+ if ! use vanilla; then
+ PATCHES+=( "${FILESDIR}/pip-20.0.2-disable-system-install.patch" )
+ fi
+
+ distutils-r1_python_prepare_all
+
+ if use test; then
+ mkdir tests/data/common_wheels/ || die
+ cp "${DISTDIR}"/{${SETUPTOOLS_WHL},${WHEEL_WHL}} \
+ tests/data/common_wheels/ || die
+ fi
+}
+
+python_test() {
+ if [[ ${EPYTHON} == pypy* ]]; then
+ ewarn "Skipping tests on ${EPYTHON} since they are very broken"
+ return 0
+ fi
+
+ local deselect=(
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_list.py::test_multiple_exclude_and_normalization
+ 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-download]'
+ 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-install]'
+ 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-list]'
+ 'tests/unit/test_commands.py::test_index_group_handle_pip_version_check[False-False-True-wheel]'
+ tests/functional/test_install.py::test_install_pip_does_not_modify_pip_when_satisfied
+ # Internet
+ tests/functional/test_install.py::test_install_editable_with_prefix_setup_cfg
+ )
+
+ distutils_install_for_testing --via-root
+
+ local -x GENTOO_PIP_TESTING=1 \
+ PATH="${TEST_DIR}/scripts:${PATH}" \
+ PYTHONPATH="${TEST_DIR}/lib:${BUILD_DIR}/lib"
+ epytest ${deselect[@]/#/--deselect } -m "not network"
+}
+
+python_install_all() {
+ # Prevent dbus auto-launch
+ # https://bugs.gentoo.org/692178
+ export DBUS_SESSION_BUS_ADDRESS="disabled:"
+
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ COMPLETION="${T}"/completion.tmp
+
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; from pip._internal.cli.main import main; sys.exit(main())'
+
+ ${PYTHON} -c "${pipcmd}" completion --bash > "${COMPLETION}" || die
+ newbashcomp "${COMPLETION}" ${PN}
+
+ ${PYTHON} -c "${pipcmd}" completion --zsh > "${COMPLETION}" || die
+ insinto /usr/share/zsh/site-functions
+ newins "${COMPLETION}" _pip
+}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index b469f093ae40..cfc1e8a0c522 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,3 +1,4 @@
DIST pylint-2.7.1.tar.gz 708916 BLAKE2B 606637ff25daccba741ae5bcdecb6a2be50bc17393009193a29312b4a218622d23287a0f0c5a81e79e77cc54dfe529483ad01fa39445103f240addaa3ad58bf7 SHA512 eebf1d3da5ca072cb912ecffebf183c79f2f8b2c2b14044751aad202d75d06d1c06abb561d4581990b92fe54c06b570a1de39b792b0d729cf300c01c82c4e3c0
DIST pylint-2.7.2.tar.gz 709177 BLAKE2B 5e4daeb19b6b18d570f4d78b01cc5023d5d245840160fdbddb194ab7036118742ffe3075ee27c37bd7a700d11d9006dc9abaaba9cf9596ae1b63941f139da7ac SHA512 800b210fbe5665db390d5c885d103856dc474b4e43d2f752bdcfcea36121132c26eecdcb67620c4a90456823f11a33568de4d37d59eea692dcd1751d931420f7
DIST pylint-2.7.4.tar.gz 715507 BLAKE2B 141506c067195422d0b052924baf87c363c89e28b3279f5173d989ac9247163184840251bd05dfb7dbb765f7b2e921a851fde0323b6c4cc231bc58911c77f692 SHA512 2b7ec9ab3325209021cb0282a6dacabf7ddd1f5e4049157610015ac8c11413471defc9e0528f81e1a60c2b259260f1bde1d04286776b3f32f771968b9866d734
+DIST pylint-2.8.0.tar.gz 734325 BLAKE2B 479c6f409a7da46d8416c4c06f76937b70ddbffab64d57a9107f9b04283fa985186684d3d146c5ca585a0e8e9369d28e4fbeb5f53262662d94edd862694dd4fa SHA512 d4f6b6c6046265beb0e17b8d375d2604a889bf9b6569d4dae9cdec3f92c8c76d440f6527c9d42f7197a73d4a65fab73f57e5ab99c98d40681119eb051b117211
diff --git a/dev-python/pylint/pylint-2.8.0.ebuild b/dev-python/pylint/pylint-2.8.0.ebuild
new file mode 100644
index 000000000000..7b341bedcf62
--- /dev/null
+++ b/dev-python/pylint/pylint-2.8.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="https://www.logilab.org/project/pylint
+ https://pypi.org/project/pylint/
+ https://github.com/pycqa/pylint/"
+SRC_URI="
+ https://github.com/pycqa/pylint/archive/${P}.tar.gz"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-2.7[${PYTHON_USEDEP}]
+ >=dev-python/astroid-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.7[${PYTHON_USEDEP}]
+ >=dev-python/toml-0.7.1[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.4-sphinx-theme.patch"
+)
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
+
+python_test() {
+ local skipped_tests=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ # Fails when graphviz is installed (?!)
+ tests/test_import_graph.py::test_missing_graphviz
+ # TODO
+ 'tests/lint/unittest_expand_modules.py::test_expand_modules[files_or_modules1-expected1]'
+ )
+ [[ ${EPYTHON} == python3.8 ]] && skipped_tests+=(
+ # TODO
+ 'tests/test_functional.py::test_functional[typing_deprecated_alias]'
+ 'tests/test_functional.py::test_functional[typing_consider_using_alias]'
+ 'tests/test_functional.py::test_functional[typing_consider_using_alias_without_future]'
+ )
+ # Specify the test directory explicitly to avoid import file mismatches
+ epytest tests ${skipped_tests[@]/#/--deselect }
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pytest-mock/Manifest b/dev-python/pytest-mock/Manifest
index 096fe5f7f6f7..945d631ce790 100644
--- a/dev-python/pytest-mock/Manifest
+++ b/dev-python/pytest-mock/Manifest
@@ -1 +1,2 @@
DIST pytest-mock-3.5.1.tar.gz 29135 BLAKE2B f9eb37bff0965772919c359ad56a0cdd0cac24fa763685c42ffaa2dfaea183a9c0be480269cbfc80990baaf406021c541b6dccc09602e98c8f731bbd530e928a SHA512 28ab2f239d3dfee134dd4e4fd467109cf3c76cb60aeb537dbc0c21b9a7619d068d54737e33d98c585e9341588fdafba4737ea5f428af37796f55e61ec30373a7
+DIST pytest-mock-3.6.0.tar.gz 29795 BLAKE2B ac0a9ebf47ceacaa6f1e109571a15509780ca25b67f46a74710fb81e3af4cb90f4bf95e077abd9c5be803fed1a4dfe691f57f4b0d89fbc91cb91ed85fd326f9b SHA512 158614ad655545a95134335b6ca5ab81bfae57a045a6e394c4195d267e2b5cce277302036ad7e23e3c771eaae71575b901ac3e02a734714d63ecb50c11b9df94
diff --git a/dev-python/pytest-mock/pytest-mock-3.6.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.6.0.ebuild
new file mode 100644
index 000000000000..029264b47d38
--- /dev/null
+++ b/dev-python/pytest-mock/pytest-mock-3.6.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Thin-wrapper around the mock package for easier use with pytest"
+HOMEPAGE="https://github.com/pytest-dev/pytest-mock/"
+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 ~x64-macos"
+IUSE=""
+
+RDEPEND=">=dev-python/pytest-5[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local deselect=()
+ if has_version dev-python/mock; then
+ deselect+=(
+ tests/test_pytest_mock.py::test_standalone_mock
+ )
+ fi
+
+ distutils_install_for_testing
+ epytest --assert=plain ${deselect[@]/#/--deselect }
+}
diff --git a/dev-python/setuptools/setuptools-54.2.0.ebuild b/dev-python/setuptools/setuptools-54.2.0.ebuild
index 9652c2719fca..9332f682ca59 100644
--- a/dev-python/setuptools/setuptools-54.2.0.ebuild
+++ b/dev-python/setuptools/setuptools-54.2.0.ebuild
@@ -15,7 +15,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 ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
BDEPEND="
test? (
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 16f18bc753bb..142a51353969 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1 +1,2 @@
DIST sphinx-gallery-0.8.2.tar.gz 6530210 BLAKE2B ba1500b9870d89c686dd1afbcab4797e15944cbda4d8d2faf02bb65435fa4208bf7dfae70285c920ad2f3b82bc085b06629fb3d2807462f92e75be91ef1e81a8 SHA512 52dfcf320d1e53b2ee985482af5cee63582b26aa6f3969f2d83e6ffb9503712f5d1a865c849c4b2111f7fd4349cefb158874d8faa323e4e7d73bf547a26f3a93
+DIST sphinx-gallery-0.9.0.tar.gz 6530860 BLAKE2B 925a745a9bedaa98cf03fbd66bdb87e5c147543a21944d827f738ea1a8bc657a01f0eba2fa5abe64f7bd3632bef604d9490740f2b6fe5100bba92aeb93f3eaf3 SHA512 e511100c5add06de681b0682c90b3e914d49625c63391896dfdec8e6f6f378cfc65fc3425d4216ee0ebbdd4feb3397517ca40a838947b31257654fff2b8a7e8a
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.9.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.9.0.ebuild
new file mode 100644
index 000000000000..845144c7c268
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.9.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
+HOMEPAGE="
+ https://sphinx-gallery.github.io/
+ https://github.com/sphinx-gallery/sphinx-gallery"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov-report= --cov=sphinx_gallery::' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local deselect=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ )
+
+ epytest ${deselect[@]/#/--deselect }
+}
diff --git a/dev-python/stestr/stestr-3.2.0.ebuild b/dev-python/stestr/stestr-3.2.0.ebuild
index a82fc4eb15d2..d4af8ab2fab0 100644
--- a/dev-python/stestr/stestr-3.2.0.ebuild
+++ b/dev-python/stestr/stestr-3.2.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/twisted/twisted-21.2.0.ebuild b/dev-python/twisted/twisted-21.2.0.ebuild
index e82ad7ce6059..bfdc71312ff7 100644
--- a/dev-python/twisted/twisted-21.2.0.ebuild
+++ b/dev-python/twisted/twisted-21.2.0.ebuild
@@ -18,7 +18,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~hppa ppc ppc64 ~s390 sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86"
IUSE="conch crypt http2 serial test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/xdg/Manifest b/dev-python/xdg/Manifest
index 5f9065e74805..d3ccc0936647 100644
--- a/dev-python/xdg/Manifest
+++ b/dev-python/xdg/Manifest
@@ -1 +1,2 @@
DIST xdg-5.0.1.tar.gz 4120 BLAKE2B f80ca1ec0ac064d64a2603f101301d427e7b64133eede1ff0770db0b7ba4368c8640b2d2eea8f1d28a52874a6b632ce83d969c38a036c970e20c2abba3a1f98c SHA512 c6da757cf0fd11a03d97506f7b898b902f560cb74cd9a90ed55550d89bf60eef5e32abe2aca19816279621e6ad0ad7899c7326b126a777231c67cc6cb30b766f
+DIST xdg-5.0.2.gh.tar.gz 20457 BLAKE2B 87ad0914bc5165b7ea5918a7e9f88b14b4c3adebcd43552a98f9570c1682febf1b02c0f65ece03a449a489ea9de57932cebf3f5d8e4465e366a89734cdb77b90 SHA512 38c418dda2b7ed3369757e8cd40eaf0667643e1d8b23d609be4a2ecfa53e8e634bef9cba6e61f38e08b56d85297f35e38469b87ddd58b1bf2be202f6ad5f5838
diff --git a/dev-python/xdg/metadata.xml b/dev-python/xdg/metadata.xml
index 933412d558b9..15fa4eeaba53 100644
--- a/dev-python/xdg/metadata.xml
+++ b/dev-python/xdg/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
<upstream>
<remote-id type="pypi">xdg</remote-id>
<remote-id type="github">srstevenson/xdg</remote-id>
diff --git a/dev-python/xdg/xdg-5.0.2.ebuild b/dev-python/xdg/xdg-5.0.2.ebuild
new file mode 100644
index 000000000000..97608e9a797d
--- /dev/null
+++ b/dev-python/xdg/xdg-5.0.2.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+inherit distutils-r1
+
+DESCRIPTION="Implementation of the XDG Base Directory Specification in Python"
+HOMEPAGE="https://github.com/srstevenson/xdg/ https://pypi.org/project/xdg/"
+SRC_URI="
+ https://github.com/srstevenson/xdg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# https://bugs.gentoo.org/773415
+RDEPEND="!dev-python/pyxdg"
+
+distutils_enable_tests pytest
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index 6d1d4cad705a..67f1bc4e97be 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1,3 +1,2 @@
-DIST zope.interface-5.2.0.tar.gz 227058 BLAKE2B d5afcaf56d77431436bc6f2ccf566e835c0908f7037ecd2a93e2b2681c0588b2baeacb0ec50207e59e67f7c4ac3cc76bca657330b48991f22835637985b85ccd SHA512 64688b8a823d63fc78720ee15d59cc54c07a700dc45e46336cb23cd1a0a3eb998284a4d954d3fa08c7f26b35583c0284fb2fcd18f84f3133ce93f7c3ade0a988
DIST zope.interface-5.3.0.tar.gz 241964 BLAKE2B 4b1ea32f3f08e2d49afa402358760dd575057bc4487ad52686a2aaceee782501c3c1891dda00cbd306abe35e7bfea4cf41a4a340644258cf478a637abd62c103 SHA512 3544c64d64f32e4635031325b38500b8ed5888b03821c5ff2e07c2d88bb50ccb0b6fe24c6a55813bbe05caf2b847be832182e04dcd8e9ff29f1e68c1fda7c680
DIST zope.interface-5.4.0.tar.gz 249329 BLAKE2B 3a35ce6ff2a9984ed865cfb3bc3371e8069eb416d11bddbc56e27db4d76762fb1b87d295b51258ec006fddcbb38a8752b47a2d7874c0c8a959ca78101eae2750 SHA512 ef15d63397e05ad9fc44b2d5d786b0399b6973bb5f4866fab839ff612756f3157f2099d0f5c0469b574a5c8b5920a7c2a5c6eab8e8f84c24d5c43e816669bffe
diff --git a/dev-python/zope-interface/zope-interface-5.2.0.ebuild b/dev-python/zope-interface/zope-interface-5.2.0.ebuild
deleted file mode 100644
index c6dd98d484d4..000000000000
--- a/dev-python/zope-interface/zope-interface-5.2.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# pkg_resources namespace
-DISTUTILS_USE_SETUPTOOLS=rdepend
-PYTHON_COMPAT=( python3_{6,7,8,9,10} pypy3 )
-
-inherit distutils-r1 flag-o-matic
-
-MY_PN=${PN/-/.}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="https://pypi.org/project/zope.interface/ https://github.com/zopefoundation/zope.interface"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="dev-python/namespace-zope[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/5.1.0-drop-coverage.patch
-)
-
-distutils_enable_tests setup.py
-
-python_compile() {
- if ! python_is_python3; then
- local CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
- append-flags -fno-strict-aliasing
- fi
-
- distutils-r1_python_compile
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # remove .pth files since dev-python/namespace-zope handles the ns
- find "${D}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/zope-interface/zope-interface-5.3.0.ebuild b/dev-python/zope-interface/zope-interface-5.3.0.ebuild
index f7fa6001d68b..b8293260a089 100644
--- a/dev-python/zope-interface/zope-interface-5.3.0.ebuild
+++ b/dev-python/zope-interface/zope-interface-5.3.0.ebuild
@@ -19,7 +19,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
RDEPEND="
dev-python/namespace-zope[${PYTHON_USEDEP}]