summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-02-26 22:18:01 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2021-02-26 22:18:01 +0000
commit703ff2f8724a72450d185a36fb9dbc7de7589718 (patch)
tree60e31a5225fc21a6491a9f78d8b885860541863f /dev-python
parent363ac18e4ad56b26c7eab369b6566ab257bcf55f (diff)
downloadbaldeagleos-repo-703ff2f8724a72450d185a36fb9dbc7de7589718.tar.gz
baldeagleos-repo-703ff2f8724a72450d185a36fb9dbc7de7589718.tar.xz
baldeagleos-repo-703ff2f8724a72450d185a36fb9dbc7de7589718.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/ansi/Manifest2
-rw-r--r--dev-python/ansi/ansi-0.2.0.ebuild (renamed from dev-python/ansi/ansi-0.1.5.ebuild)9
-rw-r--r--dev-python/ansi/metadata.xml1
-rw-r--r--dev-python/arrow/Manifest1
-rw-r--r--dev-python/arrow/arrow-1.0.0.ebuild35
-rw-r--r--dev-python/arrow/metadata.xml2
-rw-r--r--dev-python/bluelet/metadata.xml1
-rw-r--r--dev-python/chameleon/Manifest1
-rw-r--r--dev-python/chameleon/chameleon-3.9.0.ebuild26
-rw-r--r--dev-python/cleo/metadata.xml1
-rw-r--r--dev-python/clikit/metadata.xml1
-rw-r--r--dev-python/crashtest/metadata.xml1
-rw-r--r--dev-python/curtsies/Manifest1
-rw-r--r--dev-python/curtsies/curtsies-0.3.4.ebuild31
-rw-r--r--dev-python/curtsies/files/curtsies-0.3.4-typing.patch9
-rw-r--r--dev-python/cx_Freeze/Manifest1
-rw-r--r--dev-python/cx_Freeze/cx_Freeze-6.4.2.ebuild23
-rw-r--r--dev-python/cx_Freeze/files/cx_Freeze-6.4.2-buildsystem.patch13
-rw-r--r--dev-python/dask/Manifest2
-rw-r--r--dev-python/dask/dask-2.30.0.ebuild41
-rw-r--r--dev-python/dask/dask-2021.1.0.ebuild41
-rw-r--r--dev-python/deepmerge/Manifest1
-rw-r--r--dev-python/deepmerge/deepmerge-0.1.1.ebuild23
-rw-r--r--dev-python/deepmerge/metadata.xml9
-rw-r--r--dev-python/docker-py/Manifest1
-rw-r--r--dev-python/docker-py/docker-py-4.4.4.ebuild44
-rw-r--r--dev-python/enrich/Manifest1
-rw-r--r--dev-python/enrich/enrich-1.2.6.ebuild21
-rw-r--r--dev-python/enrich/metadata.xml14
-rw-r--r--dev-python/exdown/Manifest1
-rw-r--r--dev-python/exdown/exdown-0.8.6.ebuild25
-rw-r--r--dev-python/gevent/Manifest3
-rw-r--r--dev-python/gevent/gevent-20.12.0.ebuild86
-rw-r--r--dev-python/gevent/gevent-20.12.1.ebuild86
-rw-r--r--dev-python/gevent/gevent-20.9.0.ebuild86
-rw-r--r--dev-python/gevent/gevent-21.1.2.ebuild2
-rw-r--r--dev-python/httpcore/metadata.xml1
-rw-r--r--dev-python/httpx/metadata.xml1
-rw-r--r--dev-python/mypy/metadata.xml1
-rw-r--r--dev-python/mypy/mypy-0.800.ebuild2
-rw-r--r--dev-python/nbclient/Manifest1
-rw-r--r--dev-python/nbclient/nbclient-0.5.3.ebuild39
-rw-r--r--dev-python/nbval/Manifest1
-rw-r--r--dev-python/nbval/metadata.xml1
-rw-r--r--dev-python/nbval/nbval-0.9.6.ebuild34
-rw-r--r--dev-python/pastel/metadata.xml1
-rw-r--r--dev-python/pendulum/metadata.xml1
-rw-r--r--dev-python/pip/files/pip-20.2-no-coverage.patch163
-rw-r--r--dev-python/pyilmbase/pyilmbase-2.5.5.ebuild2
-rw-r--r--dev-python/pylev/metadata.xml1
-rw-r--r--dev-python/pymssql/Manifest1
-rw-r--r--dev-python/pymssql/pymssql-2.1.5.ebuild34
-rw-r--r--dev-python/pytest-httpx/metadata.xml1
-rw-r--r--dev-python/python-gflags/python-gflags-3.1.2-r1.ebuild19
-rw-r--r--dev-python/python-slip/python-slip-0.6.5-r1.ebuild2
-rw-r--r--dev-python/pytzdata/metadata.xml1
-rw-r--r--dev-python/reportlab/Manifest4
-rw-r--r--dev-python/reportlab/reportlab-3.5.56.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.5.57.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.5.58.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.5.59.ebuild62
-rw-r--r--dev-python/reportlab/reportlab-3.5.60.ebuild2
-rw-r--r--dev-python/rich/Manifest1
-rw-r--r--dev-python/rich/metadata.xml14
-rw-r--r--dev-python/rich/rich-9.11.1.ebuild28
-rw-r--r--dev-python/rpy/Manifest1
-rw-r--r--dev-python/rpy/rpy-3.4.2.ebuild44
-rw-r--r--dev-python/setproctitle/setproctitle-1.2.2.ebuild2
-rw-r--r--dev-python/socketio-client-nexus/metadata.xml2
-rw-r--r--dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild16
-rw-r--r--dev-python/sphinx-gallery/Manifest1
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.3.1-r1.ebuild28
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.8.1.ebuild2
-rw-r--r--dev-python/ujson/Manifest2
-rw-r--r--dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch84
-rw-r--r--dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch122
-rw-r--r--dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch73
-rw-r--r--dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch77
-rw-r--r--dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch11
-rw-r--r--dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch591
-rw-r--r--dev-python/ujson/ujson-1.35-r1.ebuild37
-rw-r--r--dev-python/ujson/ujson-4.0.1.ebuild24
-rw-r--r--dev-python/ujson/ujson-4.0.2.ebuild2
-rw-r--r--dev-python/uvicorn/metadata.xml1
-rw-r--r--dev-python/zconfig/files/zconfig-3.5.0-py38.patch105
-rw-r--r--dev-python/zconfig/metadata.xml1
-rw-r--r--dev-python/zconfig/zconfig-3.5.0.ebuild17
87 files changed, 559 insertions, 1934 deletions
diff --git a/dev-python/ansi/Manifest b/dev-python/ansi/Manifest
index 04b85493348e..dba5288bc241 100644
--- a/dev-python/ansi/Manifest
+++ b/dev-python/ansi/Manifest
@@ -1 +1 @@
-DIST ansi-0.1.5.tar.gz 4606 BLAKE2B 5f88319f05262511e99c8385946b61e2ed7219217ae8e811e8c1762fbd402f2fcaf69bcd6e4caf35d1f982afebcce5a98c721e2598032891382010ff7b928c55 SHA512 03365aca71b4966ca0c78b1563400afe414c86288b4e8ede969fb9c79cd4da4722de8cedae4e86c2f536f82eda42845482e041a396cb33852d3e4ff639dbbb64
+DIST ansi-0.2.0.tar.gz 5173 BLAKE2B 436caa8e1f36e96f1844e79e3a0ff0c4099e76b25ce9f56c9d8663aeeb650f32fba75a14fe8548f557fb020e2340707272fdda4cdd3c245c903a4f801ae48413 SHA512 22c69b5030f03eca9470e288c16e62042ccd02ef2e232600a4fab629354601d5da0f7c16b60dae7293c69255e5d4125298890d99dba8e5387960a5be60b92d61
diff --git a/dev-python/ansi/ansi-0.1.5.ebuild b/dev-python/ansi/ansi-0.2.0.ebuild
index 9b8e7814598f..9ed70a9d91a7 100644
--- a/dev-python/ansi/ansi-0.1.5.ebuild
+++ b/dev-python/ansi/ansi-0.2.0.ebuild
@@ -1,20 +1,19 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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} )
-
+DISTUTILS_USE_SETUPTOOLS=no
inherit distutils-r1
DESCRIPTION="ANSI cursor movement and graphics in Python"
HOMEPAGE="https://github.com/tehmaze/ansi"
SRC_URI="https://github.com/tehmaze/${PN}/archive/${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${PN}-${P}"
+distutils_enable_tests pytest
diff --git a/dev-python/ansi/metadata.xml b/dev-python/ansi/metadata.xml
index e5c574623bd6..96cec59532a0 100644
--- a/dev-python/ansi/metadata.xml
+++ b/dev-python/ansi/metadata.xml
@@ -10,4 +10,5 @@
<remote-id type="pypi">ansi</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/arrow/Manifest b/dev-python/arrow/Manifest
index 39d740f5dcd8..fae756f69c8f 100644
--- a/dev-python/arrow/Manifest
+++ b/dev-python/arrow/Manifest
@@ -1 +1,2 @@
DIST arrow-0.17.0.tar.gz 97411 BLAKE2B d908f9e98b4046aa8afbde992e108106e0cb81d5d37a556ace06585b7d354fa75338e5c4e4263ece0d8d043f29f3909e3c200b2c79c744a4bd13319764667998 SHA512 30ab01c66ef1dfb7fb35dc8609ca19039fa3e37638ff0df681d0ffc9dbc832e9d3a577d9a45fc70ff3e74aacb6198b37e61ada22854572c57c27d7ecbef09caa
+DIST arrow-1.0.0.tar.gz 101951 BLAKE2B b8949dc2274f44020bd70e1013b3b3053789319daae0c630e17d2bac66d614e958b2d34ed9b06a1a5502a21684de10e053d4f1e70bfaf9a630548135d72f364f SHA512 4e487a0c1c6f55361b8ec673082d61efec1b27a32b19e2e599a344407737e5eea47ee8e2173b2f089e69a5638f99022870bb3ac57f31c16d5b4efd2858933fa8
diff --git a/dev-python/arrow/arrow-1.0.0.ebuild b/dev-python/arrow/arrow-1.0.0.ebuild
new file mode 100644
index 000000000000..fbbddd1ffbaa
--- /dev/null
+++ b/dev-python/arrow/arrow-1.0.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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Better dates and times for Python"
+HOMEPAGE="https://github.com/arrow-py/arrow/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' python3_7)"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/d' tox.ini || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/arrow/metadata.xml b/dev-python/arrow/metadata.xml
index 19bc7b23c505..9fae57d27d68 100644
--- a/dev-python/arrow/metadata.xml
+++ b/dev-python/arrow/metadata.xml
@@ -6,7 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="github">crsmithdev/arrow</remote-id>
+ <remote-id type="github">arrow-py/arrow</remote-id>
<remote-id type="pypi">arrow</remote-id>
</upstream>
<origin>gentoo-staging</origin>
diff --git a/dev-python/bluelet/metadata.xml b/dev-python/bluelet/metadata.xml
index e80437001a84..9c5fe881ce8f 100644
--- a/dev-python/bluelet/metadata.xml
+++ b/dev-python/bluelet/metadata.xml
@@ -19,4 +19,5 @@ In this way, it is similar to the Greenlet green-threads library and its associa
<remote-id type="pypi">bluelet</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
index a819cadab89b..3a4007df06f5 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1,2 @@
DIST chameleon-3.8.1.gh.tar.gz 137012 BLAKE2B 20b0a830ae932ad0e8b28015b233049ee78a74f06f26d2652ee297f366eda6f54fa7650fa20a3c4da3802a2466c0f6a4c4cdfd9608761a20986c86673c61a242 SHA512 d4a4b3ac0b59865a7ea1d9ede7f08d991296c1d08a48c7290b9e2864afa6527237d8dee604114918f3b5035f2cc915bf6218d0758ebcd393f2103bb0751f6ea2
+DIST chameleon-3.9.0.gh.tar.gz 136548 BLAKE2B bdea62d4eb13dc6e830fccf72c7798c97f1f3a72c8f749ce43ce53ea0a3f8521f52f86591796d2850d84d8ee53a22a976e45f9a8b51f6ea2377dce10b8e2c226 SHA512 72cbd21f083d14b056539c515e43daaca01d923e065b6eca511f4e09486eb8e3fa61d6823dc78cca75f71926050aa04e0f961c9ddd728e15f55408e405f3c7aa
diff --git a/dev-python/chameleon/chameleon-3.9.0.ebuild b/dev-python/chameleon/chameleon-3.9.0.ebuild
new file mode 100644
index 000000000000..574cf1e3479c
--- /dev/null
+++ b/dev-python/chameleon/chameleon-3.9.0.ebuild
@@ -0,0 +1,26 @@
+# 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="Fast HTML/XML template compiler for Python"
+HOMEPAGE="https://github.com/malthe/chameleon
+ https://pypi.org/project/Chameleon/"
+SRC_URI="
+ https://github.com/malthe/chameleon/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests unittest
+
+src_test() {
+ cd src || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/cleo/metadata.xml b/dev-python/cleo/metadata.xml
index 48dd723ace1b..c1268271b356 100644
--- a/dev-python/cleo/metadata.xml
+++ b/dev-python/cleo/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">cleo</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/clikit/metadata.xml b/dev-python/clikit/metadata.xml
index e7f4a092c7c4..597fe6759294 100644
--- a/dev-python/clikit/metadata.xml
+++ b/dev-python/clikit/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="github">clikit</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/crashtest/metadata.xml b/dev-python/crashtest/metadata.xml
index 9b2bc7d9c840..c08c433272e1 100644
--- a/dev-python/crashtest/metadata.xml
+++ b/dev-python/crashtest/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">crashtest</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/curtsies/Manifest b/dev-python/curtsies/Manifest
index 476ff15dfd15..c2d40cad2323 100644
--- a/dev-python/curtsies/Manifest
+++ b/dev-python/curtsies/Manifest
@@ -1,2 +1 @@
-DIST curtsies-0.3.4.tar.gz 52733 BLAKE2B 5345005e1a650fbc94db29464f26c9cc615509a64f6287f3d3c9ca69b063e6adaf6af95e292c1bee3a2290abd6b98cd0dcc3a01405b4ab63ee5db4f8570b6e51 SHA512 5f65af34f6dd13491acf65311516ed90e57d99f681032ab6b4753710953f5285b012a09de6c56d28ccd5bc942c9886076f04287cddf955ba424205a5c44785b2
DIST curtsies-0.3.5.tar.gz 53472 BLAKE2B 7ff50b8cf4b1b5016f15eee00333a1de38a31d97444f6462c7ec0429a1656bad442126880f770bff575dde8456660169cfadf63fed804b2c7890d700d792cc87 SHA512 e46ab3f79e2385055e4f3f9bc1d2c341605b93c21a0e6c42f4807b1801d37f70cfbdd1006db1ec12257e95d91aedddd95aa31a7de99bbfc09a6f0ee473497747
diff --git a/dev-python/curtsies/curtsies-0.3.4.ebuild b/dev-python/curtsies/curtsies-0.3.4.ebuild
deleted file mode 100644
index 5cde2c0bbccf..000000000000
--- a/dev-python/curtsies/curtsies-0.3.4.ebuild
+++ /dev/null
@@ -1,31 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Curses-like terminal wrapper, with colored strings"
-HOMEPAGE="https://github.com/thomasballinger/curtsies"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/blessings-1.5[${PYTHON_USEDEP}]
- >=dev-python/wcwidth-0.1.4[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pyte[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests nose
-
-PATCHES=( "${FILESDIR}"/${P}-typing.patch )
diff --git a/dev-python/curtsies/files/curtsies-0.3.4-typing.patch b/dev-python/curtsies/files/curtsies-0.3.4-typing.patch
deleted file mode 100644
index d7488a9b4b31..000000000000
--- a/dev-python/curtsies/files/curtsies-0.3.4-typing.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -r -U2 curtsies-0.3.4.orig/setup.py curtsies-0.3.4/setup.py
---- curtsies-0.3.4.orig/setup.py 2020-07-16 03:17:08.000000000 +0700
-+++ curtsies-0.3.4/setup.py 2020-12-01 15:39:28.331241501 +0700
-@@ -27,5 +27,4 @@
- "blessings>=1.5",
- "wcwidth>=0.1.4",
-- 'typing; python_version<"3.5"',
- ],
- tests_require=["mock", "pyte", "nose",],
diff --git a/dev-python/cx_Freeze/Manifest b/dev-python/cx_Freeze/Manifest
index 61f8ec1d25b0..26e494bb1c38 100644
--- a/dev-python/cx_Freeze/Manifest
+++ b/dev-python/cx_Freeze/Manifest
@@ -1,2 +1 @@
-DIST cx_Freeze-6.4.2.tar.gz 108571 BLAKE2B 742d2491154706f51ebb3e072428afac1ce5c647f2b8cb6325ea166bbedc1852503ad40e56a532345f1e2a045532620cdad24622e19ecb12d9577cf57abd291d SHA512 4c9a92b6f8dc458f82abb144171b18db1349e75b237f707ca37b7b68527508e8fb3adcf5d7b142922709727501fdc46f16a01619b29e98a6af1a0c09f9306b82
DIST cx_Freeze-6.5.3.tar.gz 112334 BLAKE2B 77558e35ca13bc598a810ea70acfe59901c036daf37b2f9582c4f2761680d54d5be559e9abbf16bd995d7f4a4e7bd5d8793e0b53c24111767d54a69c633c9b46 SHA512 37ba5c920306ff62a21ab46c1b9fd6b1780864095d00223776c308fa28e60a5473c74e7da4e7478725de14b7f5628d8d8445f42c0671bc502e5e2d8ecb5ffae5
diff --git a/dev-python/cx_Freeze/cx_Freeze-6.4.2.ebuild b/dev-python/cx_Freeze/cx_Freeze-6.4.2.ebuild
deleted file mode 100644
index f0e97d77ab36..000000000000
--- a/dev-python/cx_Freeze/cx_Freeze-6.4.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# 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} )
-inherit distutils-r1
-
-DESCRIPTION="Create standalone executables from Python scripts"
-HOMEPAGE="https://cx-freeze.readthedocs.io/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="PYTHON"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-PATCHES=(
- # bug #491602
- "${FILESDIR}/${PN}-6.4.2-buildsystem.patch"
-)
-
-# Test folder is missing needed content
diff --git a/dev-python/cx_Freeze/files/cx_Freeze-6.4.2-buildsystem.patch b/dev-python/cx_Freeze/files/cx_Freeze-6.4.2-buildsystem.patch
deleted file mode 100644
index 5d23a8ded944..000000000000
--- a/dev-python/cx_Freeze/files/cx_Freeze-6.4.2-buildsystem.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index fd24ec9..068119f 100755
---- a/setup.py
-+++ b/setup.py
-@@ -68,8 +68,6 @@ class build_ext(distutils.command.build_ext.build_ext):
- # PY_LDFLAGS_NODIST = "-flto -Wl,-export_dynamic -g"
- if get_config_var("PY_LDFLAGS_NODIST"):
- extraArgs.extend(get_config_var("PY_LDFLAGS_NODIST").split())
-- else:
-- extraArgs.append("-s")
- self.compiler.link_executable(
- objects,
- fullName,
diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest
index e81865124a33..8c6e1f98e3d9 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -1,4 +1,2 @@
-DIST dask-2.30.0.tar.gz 2858866 BLAKE2B ea5e1e50f9bef2ca81765ee1228ea661ea01355f4c2a495e916388cb757dc089c519eb83372abc2ece16c8ec27e3b7f7fe56a302eddfdc6c0e79247db9c1b65e SHA512 d410fcfc7e30f510bc42e9547bac912609420919489e161408d436fb26c3998eba6bfc9e4845d90b3e8589ecc317ee4bf141e2740108840f2e5a420eb20655ef
-DIST dask-2021.1.0.tar.gz 3634608 BLAKE2B 1fb74ade53ad919496c3a33452eab70492704e73c9a172d5e1451217d5a3931acad3dc48587945807bbf5096bf6674e54d3bb7d1aa3d903ee47c1c203595fa1d SHA512 a65423fa401859bb7ecd569a6a593d2fa7a7be33b4804a95b8c57e90e1be9bf2f7610a3b1b55bf760e0f618c30193cdd5a28aea3710fb69c0947b7f3793051aa
DIST dask-2021.1.1.tar.gz 3637063 BLAKE2B 6b2ec67f5551c4bba0fde8cecf02de6f24bbcd126a22c56c75e41a645a31f0fd7ba81aa8e5167f495122ca96e2113fa4893851eac382df1ccfaa8bf1be576ed3 SHA512 d1d093af6389b9e02e6040ef66159a4696c2dd91e12190cf9efc25ad5a0f790e3da9ada64a8a5e1cfceab7452957a503c6c303d3e2248e05ebac168a0f7c52f1
DIST dask-2021.2.0.tar.gz 3643277 BLAKE2B d34f706cefd068e42b32c84b05a46c24c98ba8391358140e2a7d2325d3a18cd855fbe9174ac8b8541e8274b83621fcb5c299d70fa5e2bcfe11214a2a32a82ce5 SHA512 da8baaa7cd211eb3ff123127aa9f599337c3af52f06e9a35331397ab580500dda7135addbfe27815a2b14957f7852d9c22a21b1d220af28c8561edaaabdf2e34
diff --git a/dev-python/dask/dask-2.30.0.ebuild b/dev-python/dask/dask-2.30.0.ebuild
deleted file mode 100644
index 27418970d929..000000000000
--- a/dev-python/dask/dask-2.30.0.ebuild
+++ /dev/null
@@ -1,41 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
-HOMEPAGE="https://dask.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.13.0[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.23.4[${PYTHON_USEDEP}]
- >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- pytest -vv -m "not network" ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/dask/dask-2021.1.0.ebuild b/dev-python/dask/dask-2021.1.0.ebuild
deleted file mode 100644
index 7c058d3aa742..000000000000
--- a/dev-python/dask/dask-2021.1.0.ebuild
+++ /dev/null
@@ -1,41 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
-HOMEPAGE="https://dask.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cloudpickle-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/fsspec-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.15.1[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25.0[${PYTHON_USEDEP}]
- >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- pytest -vv -m "not network" ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/deepmerge/Manifest b/dev-python/deepmerge/Manifest
new file mode 100644
index 000000000000..2a50239627c8
--- /dev/null
+++ b/dev-python/deepmerge/Manifest
@@ -0,0 +1 @@
+DIST deepmerge-0.1.1.tar.gz 5432 BLAKE2B 18f54fa4f0504c1825300373665c99ef1f0ea8f779b00f89cfe8ad44861cb4991cf5694c08788ac1ad3b52686734967dbb954553ba84741a71a70e24c98e6b18 SHA512 209ff3ca6be02d788f9740b6241e2ae0366592051933438e887cac5f89f86201bb870336e94d1bacff709dd63c7644161b33ed1da29da1b823b37987813862c0
diff --git a/dev-python/deepmerge/deepmerge-0.1.1.ebuild b/dev-python/deepmerge/deepmerge-0.1.1.ebuild
new file mode 100644
index 000000000000..002f1fd889cf
--- /dev/null
+++ b/dev-python/deepmerge/deepmerge-0.1.1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 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="Tools to handle merging of nested data structures in python"
+HOMEPAGE="https://deepmerge.readthedocs.io/en/latest"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# pypi doesn't ship tests, and last github release is 0.0.5
+RESTRICT="test"
+
+python_prepare_all() {
+ sed -i -e '/vcver/d' setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/deepmerge/metadata.xml b/dev-python/deepmerge/metadata.xml
new file mode 100644
index 000000000000..4331b31f5c6a
--- /dev/null
+++ b/dev-python/deepmerge/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">deepmerge</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/docker-py/Manifest b/dev-python/docker-py/Manifest
index b113b3bca77b..b66860b7c028 100644
--- a/dev-python/docker-py/Manifest
+++ b/dev-python/docker-py/Manifest
@@ -1,3 +1,4 @@
DIST docker-py-4.4.0.tar.gz 246544 BLAKE2B d19b923499bb32f85728f88e479db330f442ddc32da06cad6f56cfff3386a020e45a0ede1afff635ce3d0e2d5e9112b0a4022969f75647eb6e57c13ef1bd6cb0 SHA512 8882a6547570d64c4cf9db7e1bd5ad13dca9a5b439631f3436587aecc1ed3386b230f9b6f82c07d9614f7d29d918ec6a3733fa6af6d8784a698e1b8459d4dcbc
DIST docker-py-4.4.2.tar.gz 247164 BLAKE2B dc341e78642a8b44cb1f8eb2e8c58231779426343bee7afd41c0fd6a1ec089a26b96bb00be93f51fb0ad8e162e7442084c3ac74525785e7972b88aa6705c3435 SHA512 f42eef12c51307338aa5b73016f4033cb2f99c469fbc80c481753a2a8427e6661f82fe228328b4bc67cfb482ebda4e68e6bb435217e64e6f1299d32237d815f4
DIST docker-py-4.4.3.tar.gz 247491 BLAKE2B 1cc69a700e58abf89588831bd6f99da4b3bab0d8d51e7c193568a9291bce9f13c3d0415a135612439154d2e0651a3ac79b0365386eabcf47059f2ed8e0ed66d9 SHA512 270323f2f096714d7b63f2382da233d061a3dc228279aa3fb89a1dd295321f63f8dd1a883d5cf7afb400341962ec4e060607a03e5e6df43f4f1e629d4e217d73
+DIST docker-py-4.4.4.tar.gz 247640 BLAKE2B 68b2e0d41e68fdf4826d61b7ab167321467b1b30f122f0b29955a62ac5f036fc0b60b02a8c9a6776ffd9a7cafb5744de44ec3b9284d0f266a1dd5c72fbec2879 SHA512 4106ffe353ce8c3227c30c38347f107e0f7da660f1c3ae68bf2c576fc6b270f6fae6774747c46491eae0fc85a48dfe246b7a22d8e45c74eff89ed43be285f0df
diff --git a/dev-python/docker-py/docker-py-4.4.4.ebuild b/dev-python/docker-py/docker-py-4.4.4.ebuild
new file mode 100644
index 000000000000..6546c353c750
--- /dev/null
+++ b/dev-python/docker-py/docker-py-4.4.4.ebuild
@@ -0,0 +1,44 @@
+# 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="Python client for Docker"
+HOMEPAGE="https://github.com/docker/docker-py"
+SRC_URI="https://github.com/docker/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ >=dev-python/mock-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.4.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ 'dev-python/recommonmark' \
+ '>=dev-python/sphinx-1.4.6'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # localhost has a better chance of being in /etc/hosts
+ sed -e 's:socket[.]gethostname():"localhost":' \
+ -i tests/unit/api_test.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ pytest -vv tests/unit/ || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/enrich/Manifest b/dev-python/enrich/Manifest
new file mode 100644
index 000000000000..be6a0664932f
--- /dev/null
+++ b/dev-python/enrich/Manifest
@@ -0,0 +1 @@
+DIST enrich-1.2.6.tar.gz 15581 BLAKE2B 06f104a11b2dc85c1d80a2b14c548aaac40c78795e86b1c6ae733f884fbd7af0776af53d8cdd15c15d6abb91ca89dd7f815823b419fc2b3de322b50e55844dd0 SHA512 07c280d3526538af9d718c6d423be50d67e8285007a6702b7f3d842725a63cb282192c29481cbea6cbe7da886b630e5694776092dc0ffcaac522ccf1e895b5a9
diff --git a/dev-python/enrich/enrich-1.2.6.ebuild b/dev-python/enrich/enrich-1.2.6.ebuild
new file mode 100644
index 000000000000..172dd5ebc47a
--- /dev/null
+++ b/dev-python/enrich/enrich-1.2.6.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+inherit distutils-r1
+
+DESCRIPTION="Extend rich functionality"
+HOMEPAGE="https://github.com/pycontribs/enrich"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/rich[${PYTHON_USEDEP}]"
+BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
diff --git a/dev-python/enrich/metadata.xml b/dev-python/enrich/metadata.xml
new file mode 100644
index 000000000000..aa37ee2bbb57
--- /dev/null
+++ b/dev-python/enrich/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">enrich</remote-id>
+ <remote-id type="github">pycontribs/enrich</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/exdown/Manifest b/dev-python/exdown/Manifest
index d1fd1935174b..0aa461348d21 100644
--- a/dev-python/exdown/Manifest
+++ b/dev-python/exdown/Manifest
@@ -2,3 +2,4 @@ DIST exdown-0.7.1.tar.gz 4863 BLAKE2B 819e66bed1028a98293a4f30ec6dc70a8360bd0188
DIST exdown-0.8.0.tar.gz 4864 BLAKE2B 084e359b5797484486d9554f85e07bc671da5260bcfebc5cdf20583b91f13e52f9a4332afd8b69ab3c80313d18e1f1bd0d36415a2297589c5bc65c04fde18046 SHA512 cb80d355666b57f4c35fd5776d01deb36b35547d87d152d5b5a26d5c46ecfda28af10c54a3d4ac9bd6b69f99ff3e62b07cfcade07b4cd1f51969562931aee687
DIST exdown-0.8.2.tar.gz 5255 BLAKE2B ee33e23afc86befdb421c8ac82742977a35f5cf2931aad5cdb5fdd4096682160810bbe09661ec59c10c86f7214bf67b8dc705b9e0ebae3e818c3b112fab91831 SHA512 919b6f8d57546c308b488cc47bd8d51700ffbf758477f3d0cc9de92936a2a70828475edcea011488d653f1d53309fcb2d951ac945e76bdc9a5d015f7ac34e291
DIST exdown-0.8.5.tar.gz 5522 BLAKE2B 30e3d6e2f12aaa5783605b8a65c391e59b563a86defcefc8f5e322f93cdd4ccc561f6514254c41109047509b77e38202365b798c2b1e7838bec9275a607d0539 SHA512 709c0f2fb6d0944357c656f3beab7f151a48000a430f863cf56c529a49ee462c1c168f9708d77fd6fd5ef3fe29b11084303da1831726bb01943e1b817ba733a4
+DIST exdown-0.8.6.tar.gz 5480 BLAKE2B fe383a2092691afdb2a3fd8cfeffb78f62b23bd4dc8f8d5365102084acc8670c9f2bc3e4a0ade95a50ceffc5cc142c39dbd3e505678a238d6f39b82f6553071a SHA512 28cd68ed99d24c79a7764f7603242f2b1426f119864d39424b1326cecc5bc922ed610133099e7d03d384c485f4f67d1fefcaadee4e1f69ac8ece08136eb858e9
diff --git a/dev-python/exdown/exdown-0.8.6.ebuild b/dev-python/exdown/exdown-0.8.6.ebuild
new file mode 100644
index 000000000000..b7655334a99c
--- /dev/null
+++ b/dev-python/exdown/exdown-0.8.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2019-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 virtualx
+
+DESCRIPTION="Extract code blocks from markdown"
+HOMEPAGE="https://github.com/nschloe/exdown"
+SRC_URI="https://github.com/nschloe/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/importlib_metadata[${PYTHON_USEDEP}]
+ ' python3_7)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/gevent/Manifest b/dev-python/gevent/Manifest
index a9697a5e7faf..cbc3cd64ece7 100644
--- a/dev-python/gevent/Manifest
+++ b/dev-python/gevent/Manifest
@@ -1,4 +1 @@
-DIST gevent-20.12.0.tar.gz 5898634 BLAKE2B a73129c7d393aedcd84b6e62c890c3b306722876a1ea4c96485096ce2ea7d1db5f03c77ea77a2c35ef41c7a96183246316c577735bcf4b25fb41095282c64d38 SHA512 76c75128ba2b33e47bd85ef2788387aa6d47d230ef9aeac4bceee03e8a2555dd204c321de7d1779fe4f44503e4fca5dce3b43c1922238da994faed0d78e5c4c1
-DIST gevent-20.12.1.tar.gz 5908977 BLAKE2B fd3536de1ca518e889868537cfb856d022ec2be8f5f658cddb06b9797841333a475d2c4d7eb3f97ecd715a19999804e724f8126b189087582452a88076bf5d12 SHA512 63bf8d63ed0eeed63b5ae6b58a2a0a36bb4a606d7d76f51cb59d5b76aa639296264a01455699cfb6abee53c958368c17f4c6bfca1543d04f9d750637b113046b
-DIST gevent-20.9.0.tar.gz 5806581 BLAKE2B 6b1b653fa6e22539e049a9bba3d3a2b9d798a5555ce4ba60ce33ecbdf14bb5201967d22d677e1ce3170129b0763fddfcc5991347186fb102d10ae39e22538c44 SHA512 966efc945b623df2521fffadca3b7e56cae1efe6de904a724765e0593389e8b1305094baa6fbc9f4fa376b1157d0f230b01e2a90de21e4b9650614363edec9f4
DIST gevent-21.1.2.tar.gz 5943652 BLAKE2B ef85e9941a8e46370437a34728c012f9d8976b5680b22bf9b13ab35d7417019ac0e85fac5cfc8632972e38a2f70028a00ba3fe9f8be11aa2ff64e364052da594 SHA512 1ee2b748a97fa40f67ad2c3b83c6b9f48dbfaae9f2b4f1c118919cfd642c1ca27de0e33a00d950f003f90131354b56a4868ce3051864dbe2ea9b7f22eeafc1eb
diff --git a/dev-python/gevent/gevent-20.12.0.ebuild b/dev-python/gevent/gevent-20.12.0.ebuild
deleted file mode 100644
index 80b76ed1c977..000000000000
--- a/dev-python/gevent/gevent-20.12.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# 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} )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Coroutine-based network library"
-HOMEPAGE="https://www.gevent.org/ https://pypi.org/project/gevent/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~mips ~ppc ppc64 s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libev-4.31:=
- dev-libs/libuv:=
- >=net-dns/c-ares-1.12:=
- >=dev-python/greenlet-0.4.17
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- virtual/python-greenlet[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_sphinx doc
-
-# Tests take long and fail terribly a few times.
-# It also seems that they require network access.
-#RESTRICT="test"
-
-python_prepare_all() {
- export LIBEV_EMBED="false"
- export CARES_EMBED="false"
- export EMBED="false"
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
-}
-
-python_test() {
- cd src/gevent/tests || die
- # TODO: figure out how to make them work and not hang
-# GEVENT_RESOLVER=ares \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=dnspython \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=thread \
-# "${EPYTHON}" -m gevent.tests \
-# --verbose \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_FILE=thread \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- test__*subprocess*.py || die
-}
-
-python_install_all() {
- local DOCS=( AUTHORS README.rst )
- use examples && dodoc -r examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/gevent/gevent-20.12.1.ebuild b/dev-python/gevent/gevent-20.12.1.ebuild
deleted file mode 100644
index 4c4a3a4ce592..000000000000
--- a/dev-python/gevent/gevent-20.12.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# 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_{6,7,8,9,10} )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Coroutine-based network library"
-HOMEPAGE="https://www.gevent.org/ https://pypi.org/project/gevent/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libev-4.31:=
- dev-libs/libuv:=
- >=net-dns/c-ares-1.12:=
- >=dev-python/greenlet-0.4.17
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- virtual/python-greenlet[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_sphinx doc
-
-# Tests take long and fail terribly a few times.
-# It also seems that they require network access.
-#RESTRICT="test"
-
-python_prepare_all() {
- export LIBEV_EMBED="false"
- export CARES_EMBED="false"
- export EMBED="false"
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
-}
-
-python_test() {
- cd src/gevent/tests || die
- # TODO: figure out how to make them work and not hang
-# GEVENT_RESOLVER=ares \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=dnspython \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=thread \
-# "${EPYTHON}" -m gevent.tests \
-# --verbose \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_FILE=thread \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- test__*subprocess*.py || die
-}
-
-python_install_all() {
- local DOCS=( AUTHORS README.rst )
- use examples && dodoc -r examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/gevent/gevent-20.9.0.ebuild b/dev-python/gevent/gevent-20.9.0.ebuild
deleted file mode 100644
index f3cd0e7ceb1c..000000000000
--- a/dev-python/gevent/gevent-20.9.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# 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_{6,7,8,9,10} )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Coroutine-based network library"
-HOMEPAGE="https://www.gevent.org/ https://pypi.org/project/gevent/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/libev-4.31:=
- dev-libs/libuv:=
- >=net-dns/c-ares-1.12:=
- >=dev-python/greenlet-0.4.17
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- virtual/python-greenlet[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_sphinx doc
-
-# Tests take long and fail terribly a few times.
-# It also seems that they require network access.
-#RESTRICT="test"
-
-python_prepare_all() {
- export LIBEV_EMBED="false"
- export CARES_EMBED="false"
- export EMBED="false"
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
-}
-
-python_test() {
- cd src/gevent/tests || die
- # TODO: figure out how to make them work and not hang
-# GEVENT_RESOLVER=ares \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=dnspython \
-# "${EPYTHON}" -m gevent.tests \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
-# GEVENT_RESOLVER=thread \
-# "${EPYTHON}" -m gevent.tests \
-# --verbose \
-# -uall,-network \
-# --config known_failures.py \
-# --ignore tests_that_dont_use_resolver.txt || die
- GEVENT_FILE=thread \
- "${EPYTHON}" -m gevent.tests \
- --verbose \
- -uall,-network \
- --config known_failures.py \
- test__*subprocess*.py || die
-}
-
-python_install_all() {
- local DOCS=( AUTHORS README.rst )
- use examples && dodoc -r examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/gevent/gevent-21.1.2.ebuild b/dev-python/gevent/gevent-21.1.2.ebuild
index 9fdccf8a3d2c..6cfee1eccbe0 100644
--- a/dev-python/gevent/gevent-21.1.2.ebuild
+++ b/dev-python/gevent/gevent-21.1.2.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 ~mips ppc ppc64 s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~mips ppc ppc64 s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
IUSE="doc examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/httpcore/metadata.xml b/dev-python/httpcore/metadata.xml
index c1e3d1dd4471..cbbe553b83fd 100644
--- a/dev-python/httpcore/metadata.xml
+++ b/dev-python/httpcore/metadata.xml
@@ -11,4 +11,5 @@
<bugs-to>https://github.com/encode/httpcore/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/httpx/metadata.xml b/dev-python/httpx/metadata.xml
index 97d65388ceb3..1525be0ecf1c 100644
--- a/dev-python/httpx/metadata.xml
+++ b/dev-python/httpx/metadata.xml
@@ -11,4 +11,5 @@
<bugs-to>https://github.com/encode/httpx/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mypy/metadata.xml b/dev-python/mypy/metadata.xml
index 6927756f75bb..6268f080b402 100644
--- a/dev-python/mypy/metadata.xml
+++ b/dev-python/mypy/metadata.xml
@@ -16,5 +16,4 @@
<doc>https://mypy.readthedocs.io/</doc>
</upstream>
<origin>gentoo-staging</origin>
- <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/mypy/mypy-0.800.ebuild b/dev-python/mypy/mypy-0.800.ebuild
index 03d4483d587f..0ecbf2b7e5d3 100644
--- a/dev-python/mypy/mypy-0.800.ebuild
+++ b/dev-python/mypy/mypy-0.800.ebuild
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
# stubgen collides with this package: https://bugs.gentoo.org/585594
RDEPEND="
diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest
index 64760a0848d9..3fe73fb0d8a0 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1,2 +1,3 @@
DIST nbclient-0.5.1.gh.tar.gz 69197 BLAKE2B 3c6f3e70c159f5209c637caf7d85ba8114fbcb47dec616c2b15db4dd80d4316a55d55f37fa7a1ad40ec3672c449ad1e693de3cefe0b37e8d67c4cbda3dcd6771 SHA512 a19b09d24fa7e6ba892d6cca65cb73bd37e3e13c4413324598bccc143ef0dc0cf91c5a549614d06b55368a1dff2bb8ef97e8079d08620b308b677a9b01740129
DIST nbclient-0.5.2.gh.tar.gz 69270 BLAKE2B 8365e8097846239f22682784408a944ba6fa97ed71e8a57f0fcd6f87630ccb4ddf3f7a2636aa051342be00d8bac866eec2e259d4c2e914ea437398a562166f58 SHA512 e5c5dae3be9fc37078d358093307f45f30ada67c52d4cdcde56a09846e924d892f6ac98d0acf80207b59de2f4b08f64d12f62b98733e7776cc2a894d6e3516e9
+DIST nbclient-0.5.3.gh.tar.gz 69340 BLAKE2B ef2908037b350879b4494a9676550754b51c218c0b344c8f26882fac63d3de65b37329fc8aa586f71f0fcb24d0508c2aec81d1066021abd4c66ee1b220574ef8 SHA512 16a92bdab931c2cec133389bfd491c9f3f4ca7ff3b11a3eb70fcdb568a0aecb8cca65d5a1fb25ff9a6ed6d581bed04de8e51ac2d856fad386b22aa6a2424c991
diff --git a/dev-python/nbclient/nbclient-0.5.3.ebuild b/dev-python/nbclient/nbclient-0.5.3.ebuild
new file mode 100644
index 000000000000..31a42ea4e6e9
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.5.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-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="A client library for executing Jupyter notebooks"
+HOMEPAGE="
+ https://nbclient.readthedocs.io/en/latest/
+ https://github.com/jupyter/nbclient/
+ https://pypi.org/project/nbclient/"
+SRC_URI="
+ https://github.com/jupyter/nbclient/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/async_generator[${PYTHON_USEDEP}]
+ >=dev-python/jupyter_client-6.1.5[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
+ dev-python/nest_asyncio[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/nbval/Manifest b/dev-python/nbval/Manifest
index 76658bda7211..d05642d0a647 100644
--- a/dev-python/nbval/Manifest
+++ b/dev-python/nbval/Manifest
@@ -1 +1,2 @@
DIST nbval-0.9.1.tar.gz 64476 BLAKE2B 299f6cb9a1e28b80b2e27a74f2b6614e83e5b571b1dc27d0f6829693dd0f6c2b59845543c91487615a8621e21ac2cbc2d34e60e62b7a646914283e23649d8bd9 SHA512 8ab0cb4e09907d99f898b148b635f0818660d04417c1c809beb93680862a5ecab14b606ecc3f90eff85e5f01de7dbf10954f1edf3629a1cf8ddac00556d4d6e7
+DIST nbval-0.9.6.tar.gz 60932 BLAKE2B 77f283279e16e03ec87f250b2012aabd8f580e24b222efcb0b21d9b0dadc381cea3c4a3f96a85df0104da86911de66e6c21bfd3985801fa9c3d8764b2fb26183 SHA512 d4261fc30e197e7350c07504649f0230751b5ed746fe4626b92c5920032dc15abe47ad421c93f4762e93a8b6afcbca440ca006bfd1cdbcba37d131c4e6decaa7
diff --git a/dev-python/nbval/metadata.xml b/dev-python/nbval/metadata.xml
index 32b4940c5450..5ff2801987a6 100644
--- a/dev-python/nbval/metadata.xml
+++ b/dev-python/nbval/metadata.xml
@@ -21,4 +21,5 @@
<remote-id type="github">computationalmodelling/nbval</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/nbval/nbval-0.9.6.ebuild b/dev-python/nbval/nbval-0.9.6.ebuild
new file mode 100644
index 000000000000..620305d379c3
--- /dev/null
+++ b/dev-python/nbval/nbval-0.9.6.ebuild
@@ -0,0 +1,34 @@
+# 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="A py.test plugin to validate Jupyter notebooks"
+HOMEPAGE="https://github.com/computationalmodelling/nbval"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter_client[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local deselect=(
+ --deselect tests/test_ignore.py::test_conf_ignore_stderr
+ --deselect tests/test_timeouts.py::test_timeouts
+ )
+
+ pytest -vv "${deselect[@]}" || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pastel/metadata.xml b/dev-python/pastel/metadata.xml
index b3c08d15dd02..2400862506fb 100644
--- a/dev-python/pastel/metadata.xml
+++ b/dev-python/pastel/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">pastel</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pendulum/metadata.xml b/dev-python/pendulum/metadata.xml
index 60d91c01bec8..214f09ee61e7 100644
--- a/dev-python/pendulum/metadata.xml
+++ b/dev-python/pendulum/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">pendulum</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pip/files/pip-20.2-no-coverage.patch b/dev-python/pip/files/pip-20.2-no-coverage.patch
deleted file mode 100644
index 55be5b8c9712..000000000000
--- a/dev-python/pip/files/pip-20.2-no-coverage.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 43389903a55a5432ca8556f42fb2252c91c7ca45 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] Revert "Add basic test coverage configuration"
-
-This is just PITA since coverage uses native C extensions.
----
- .coveragerc | 4 +++
- setup.cfg | 38 ----------------------
- tests/conftest.py | 16 +--------
- tools/requirements/tests-common_wheels.txt | 2 --
- tox.ini | 16 ++-------
- 5 files changed, 7 insertions(+), 69 deletions(-)
- create mode 100644 .coveragerc
-
-diff --git a/.coveragerc b/.coveragerc
-new file mode 100644
-index 00000000..5f833c94
---- /dev/null
-+++ b/.coveragerc
-@@ -0,0 +1,4 @@
-+[run]
-+branch = True
-+omit =
-+ src/pip/_vendor/*
-diff --git a/setup.cfg b/setup.cfg
-index 45fd58a3..e40596e9 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -67,44 +67,6 @@ markers =
- yaml: yaml based tests
- fails_on_new_resolver: Does not yet work on the new resolver
-
--[coverage:run]
--branch = True
--# Do not gather coverage for vendored libraries.
--omit = */_vendor/*
--# Centralized absolute file prefix for coverage files.
--data_file = ${COVERAGE_OUTPUT_DIR}/.coverage
--# By default, each covered process will try to truncate and then write to
--# `data_file`, but with `parallel`, they will write to separate files suffixed
--# with hostname, pid, and a timestamp.
--parallel = True
--# If not set, then at the termination of each worker (when using pytest-xdist),
--# the following is traced: "Coverage.py warning: Module pip was previously
--# imported, but not measured (module-not-measured)"
--disable_warnings = module-not-measured
--
--[coverage:paths]
--# We intentionally use "source0" here because pytest-cov unconditionally sets
--# "source" after loading the config.
--source0 =
-- # The primary source code path which other paths will be combined into.
-- src/pip/
-- # Unit test source directory e.g.
-- # `.tox/coverage-py3/lib/pythonX.Y/site-packages/pip/...`
-- */site-packages/pip/
-- # Functional test virtual environment directories, which look like
-- # `tmpdir/pip0/pip/src/pip/...`
-- */pip/src/pip/
--
--[coverage:report]
--exclude_lines =
-- # We must re-state the default because the `exclude_lines` option overrides
-- # it.
-- pragma: no cover
-- # This excludes typing-specific code, which will be validated by mypy anyway.
-- if MYPY_CHECK_RUNNING
-- # Can be set to exclude e.g. `if PY2:` on Python 3
-- ${PIP_CI_COVERAGE_EXCLUDES}
--
- [bdist_wheel]
- universal = 1
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 2aab5020..0db6d967 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -294,13 +294,6 @@ def wheel_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')
-@@ -310,7 +303,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):
-+ setuptools_install, common_wheels):
-
- if six.PY3 and request.config.getoption('--use-venv'):
- venv_type = 'venv'
-@@ -334,13 +327,6 @@ def virtualenv_template(request, tmpdir_factory, pip_src,
- subprocess.check_call([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 (
-diff --git a/tools/requirements/tests-common_wheels.txt b/tools/requirements/tests-common_wheels.txt
-index f0edf0b0..6703d606 100644
---- a/tools/requirements/tests-common_wheels.txt
-+++ b/tools/requirements/tests-common_wheels.txt
-@@ -7,5 +7,3 @@
-
- setuptools >= 40.8.0
- wheel
--# As required by pytest-cov.
--coverage >= 4.4
-diff --git a/tox.ini b/tox.ini
-index 82e9abc6..7a19ca61 100644
---- a/tox.ini
-+++ b/tox.ini
-@@ -8,7 +8,6 @@ envlist =
- # Wrapper for calls to pip that make sure the version being used is the
- # original virtualenv (stable) version, and not the code being tested.
- pip = python {toxinidir}/tools/tox_pip.py
--mkdirp = python -c 'import os, sys; os.path.exists(sys.argv[1]) or os.mkdir(sys.argv[1])'
-
- [testenv]
- # Remove USERNAME once we drop PY2.
-@@ -31,20 +30,9 @@ commands = pytest --timeout 300 []
- install_command = {[helpers]pip} install {opts} {packages}
- list_dependencies_command = {[helpers]pip} freeze --all
-
--[testenv:coverage]
-+[testenv:coverage-py3]
- basepython = python3
--commands =
-- {[helpers]mkdirp} {toxinidir}/.coverage-output
-- pytest --timeout 300 --cov=pip --cov-config={toxinidir}/setup.cfg []
--
--setenv =
-- # Used in coverage configuration in setup.cfg.
-- COVERAGE_OUTPUT_DIR = {toxinidir}/.coverage-output
-- # Ensure coverage is enabled in child processes in virtual environments
-- # since they won't already have been enabled by pytest-cov.
-- COVERAGE_PROCESS_START = {toxinidir}/setup.cfg
-- # Used in coverage configuration in setup.cfg.
-- PIP_CI_COVERAGE_EXCLUDES = if PY2
-+commands = pytest --timeout 300 --cov=pip --cov-report=term-missing --cov-report=xml --cov-report=html tests/unit {posargs}
-
- [testenv:docs]
- # Don't skip install here since pip_sphinxext uses pip's internals.
---
-2.28.0
-
diff --git a/dev-python/pyilmbase/pyilmbase-2.5.5.ebuild b/dev-python/pyilmbase/pyilmbase-2.5.5.ebuild
index 4c6c7f67010f..a4e4cbd81293 100644
--- a/dev-python/pyilmbase/pyilmbase-2.5.5.ebuild
+++ b/dev-python/pyilmbase/pyilmbase-2.5.5.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/AcademySoftwareFoundation/openexr/archive/v${PV}.tar
LICENSE="BSD"
SLOT="0/25"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
IUSE="exceptions +numpy test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pylev/metadata.xml b/dev-python/pylev/metadata.xml
index 21e39d087649..75f7210d3e88 100644
--- a/dev-python/pylev/metadata.xml
+++ b/dev-python/pylev/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">pylev</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pymssql/Manifest b/dev-python/pymssql/Manifest
index c217ab5304a5..1178559ead7a 100644
--- a/dev-python/pymssql/Manifest
+++ b/dev-python/pymssql/Manifest
@@ -1 +1,2 @@
DIST pymssql-2.1.3.tar.gz 897987 BLAKE2B e105dd8d5dbbad5de566b9179f799ad66eb420f60464e8061470b1abb6ecf38f35ad7992ded40f2cd62c76a8e04255eb647e30df5c9bc4059334a1d5d4677e73 SHA512 a659cb8f077ddbe5e8de0b9b118d8bcc0c87128c0be4ff14343983e7029594e63ba6fb8a88992dc1f058df3c1ebbbd69cf371bf95a0918954cd0cec14c1cb5cb
+DIST pymssql-2.1.5.tar.gz 167928 BLAKE2B c94fc29fa9d83627dbee05095a7c0d6e4e2d42ac34b0e6801bbc757d89728aee409c98519d6e8bfe8d5009f06f88bd23a3e62c050f2c964cb7139bdd3185a0b5 SHA512 7cc7336d4c2fcb7c3958fb3127801e3505fd93259d1aaef40a67941ef5aa519e285cdb04fd378c9712f29b0f8a25ce1747a4a8dc21ec57b004c9f0ceb8f5afab
diff --git a/dev-python/pymssql/pymssql-2.1.5.ebuild b/dev-python/pymssql/pymssql-2.1.5.ebuild
new file mode 100644
index 000000000000..b2e6817800ba
--- /dev/null
+++ b/dev-python/pymssql/pymssql-2.1.5.ebuild
@@ -0,0 +1,34 @@
+# 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="Simple MSSQL python extension module"
+HOMEPAGE="https://www.pymssql.org/ https://pypi.org/project/pymssql/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="test"
+
+# tests need a running instance of freetds
+RESTRICT="test"
+
+RDEPEND=">=dev-db/freetds-0.63[mssql]"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/unittest2[${PYTHON_USEDEP}]
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.1.3-remove-setuptools_git.patch )
+
+python_test() {
+ py.test -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-httpx/metadata.xml b/dev-python/pytest-httpx/metadata.xml
index 09f6f26d152b..52bff7377b9d 100644
--- a/dev-python/pytest-httpx/metadata.xml
+++ b/dev-python/pytest-httpx/metadata.xml
@@ -11,4 +11,5 @@
<bugs-to>https://github.com/Colin-b/pytest_httpx/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/python-gflags/python-gflags-3.1.2-r1.ebuild b/dev-python/python-gflags/python-gflags-3.1.2-r1.ebuild
index b67edf42ee39..f3bd2ba47624 100644
--- a/dev-python/python-gflags/python-gflags-3.1.2-r1.ebuild
+++ b/dev-python/python-gflags/python-gflags-3.1.2-r1.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_SETUPTOOLS=no
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
inherit distutils-r1
DESCRIPTION="Google's Python argument parsing library"
@@ -16,19 +15,13 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]"
-
-DEPEND="
- ${RDEPEND}"
+RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1.1-script-install.patch
-)
+PATCHES=( "${FILESDIR}"/${PN}-3.1.1-script-install.patch )
python_test() {
# note: each test needs to be run separately, otherwise they fail
- "${PYTHON}" -m gflags._helpers_test -v || die
- "${PYTHON}" -m gflags.flags_formatting_test -v || die
- "${PYTHON}" -m gflags.flags_unicode_literals_test -v || die
+ "${EPYTHON}" -m gflags._helpers_test -v || die
+ "${EPYTHON}" -m gflags.flags_formatting_test -v || die
+ "${EPYTHON}" -m gflags.flags_unicode_literals_test -v || die
}
diff --git a/dev-python/python-slip/python-slip-0.6.5-r1.ebuild b/dev-python/python-slip/python-slip-0.6.5-r1.ebuild
index f3d8e767fd89..b1c91839b7c2 100644
--- a/dev-python/python-slip/python-slip-0.6.5-r1.ebuild
+++ b/dev-python/python-slip/python-slip-0.6.5-r1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://github.com/nphilipp/${PN}/releases/download/${P}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 x86"
+KEYWORDS="~amd64 ~arm arm64 ~ppc64 x86"
IUSE="dbus selinux"
RDEPEND="
diff --git a/dev-python/pytzdata/metadata.xml b/dev-python/pytzdata/metadata.xml
index e4dc3047c10e..2f21a005edb3 100644
--- a/dev-python/pytzdata/metadata.xml
+++ b/dev-python/pytzdata/metadata.xml
@@ -14,4 +14,5 @@
<remote-id type="pypi">pytzdata</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/reportlab/Manifest b/dev-python/reportlab/Manifest
index 285b9798066c..36c3384c2c77 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,6 +1,2 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
-DIST reportlab-3.5.56.tar.gz 2899527 BLAKE2B 83f14c472a8675449e2f50f806fc5136fceb2c2f307ebd2d34ecad98ce6a67f62971869e05b7d4fe7017b5e728d21d16037ef6f04c3639b0cec8069851e46b64 SHA512 49bafe1b1f0067df1d76a8e61b35ec7062dfffa608f6086241dfa589244bef5784180de7c3d86dc62334282a40a012f7579f5c3cec3c4b0387ba2c482a04c010
-DIST reportlab-3.5.57.tar.gz 2901465 BLAKE2B ecb0459414d359b8feb048ad34cfd782a6913f2e254f6d8832dd076fe63fda82d24c4dda28da9c0cc6765c284d51a45d44459d225899574625212c33800116dc SHA512 d325e389ddd7d3c4d98e462956a3c4b7237c9219728577a1e0599a137d19a27205b223fd13c5c260e2968c435bc06b2e4745945ac056926543a47e52868e21db
-DIST reportlab-3.5.58.tar.gz 2903638 BLAKE2B ac19bda75e111266b35a939fc64ac44de4ad69dc7a7cbf9fdabc233e28f33589ba97dc5082cd38d5b8d11a2c7aaab0bac69a1453d8661fd26017f8e07299c2e8 SHA512 949b50f65ca305f79fbb06e7e7b1ebfb6546864892f764a3440eaed0a95ac001a71d3685e8702032573ed60893b9529bd2356b1d5419882058a3b9aab986cb64
-DIST reportlab-3.5.59.tar.gz 2904089 BLAKE2B ab9bdbc8decda8f858c49a7ffe5ed919a2ca971a20967be45bdb780d9480aa474462c76f886756b433cee3ccd4d78e245334dc6a600c8e19c28ad79befe14705 SHA512 c862acb10f4eaed877321afadb52615132dcda0976e648e1767c32cd0398fc2763048f274d31da6088cb824311e8a28fee048cd6e98411e70583cfb36d0050ca
DIST reportlab-3.5.60.tar.gz 2905122 BLAKE2B 8863e910dac03d5fd1d53880bb9fe83d218641156e481c97b498e462cf9e1e5c6826f2f25fcef7c65cee3dbc7551401bfd1dba6a319532363b7c9cbc9c37e618 SHA512 395ad0c904215ba3ae16efa52140b7cc6f751efd04c70f687a8891806b346d78c75bb29df5aa0d6d49adb6f5638da58704e713ee1500df05424c9dddc38afad2
diff --git a/dev-python/reportlab/reportlab-3.5.56.ebuild b/dev-python/reportlab/reportlab-3.5.56.ebuild
deleted file mode 100644
index 0dc9b92615d9..000000000000
--- a/dev-python/reportlab/reportlab-3.5.56.ebuild
+++ /dev/null
@@ -1,62 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/"
-SRC_URI="
- mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- media-libs/freetype
- media-libs/libart_lgpl
- sys-libs/zlib:="
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]"
-BDEPEND="
- app-arch/unzip
- test? ( ${RDEPEND} )"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-python_prepare_all() {
- # tests requiring Internet access
- sed -i -e 's:test0:_&:' \
- tests/test_platypus_general.py \
- tests/test_platypus_images.py || die
- sed -i -e 's:test9:_&:' tests/test_lib_utils.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-3.5.57.ebuild b/dev-python/reportlab/reportlab-3.5.57.ebuild
deleted file mode 100644
index a51750dbbaf6..000000000000
--- a/dev-python/reportlab/reportlab-3.5.57.ebuild
+++ /dev/null
@@ -1,62 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/"
-SRC_URI="
- mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- media-libs/freetype
- media-libs/libart_lgpl
- sys-libs/zlib:="
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]"
-BDEPEND="
- app-arch/unzip
- test? ( ${RDEPEND} )"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-python_prepare_all() {
- # tests requiring Internet access
- sed -i -e 's:test0:_&:' \
- tests/test_platypus_general.py \
- tests/test_platypus_images.py || die
- sed -i -e 's:test9:_&:' tests/test_lib_utils.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-3.5.58.ebuild b/dev-python/reportlab/reportlab-3.5.58.ebuild
deleted file mode 100644
index c83ddde8da39..000000000000
--- a/dev-python/reportlab/reportlab-3.5.58.ebuild
+++ /dev/null
@@ -1,62 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/"
-SRC_URI="
- mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- media-libs/freetype
- media-libs/libart_lgpl
- sys-libs/zlib:="
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]"
-BDEPEND="
- app-arch/unzip
- test? ( ${RDEPEND} )"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-python_prepare_all() {
- # tests requiring Internet access
- sed -i -e 's:test0:_&:' \
- tests/test_platypus_general.py \
- tests/test_platypus_images.py || die
- sed -i -e 's:test9:_&:' tests/test_lib_utils.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-3.5.59.ebuild b/dev-python/reportlab/reportlab-3.5.59.ebuild
deleted file mode 100644
index c83ddde8da39..000000000000
--- a/dev-python/reportlab/reportlab-3.5.59.ebuild
+++ /dev/null
@@ -1,62 +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} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/"
-SRC_URI="
- mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- media-libs/freetype
- media-libs/libart_lgpl
- sys-libs/zlib:="
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]"
-BDEPEND="
- app-arch/unzip
- test? ( ${RDEPEND} )"
-
-distutils_enable_sphinx docs/source
-
-PATCHES=(
- # bug 738312, remove -L/usr/lib from link line
- "${FILESDIR}"/${PN}-3.5.48-usr-lib-LLD.patch
-)
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-python_prepare_all() {
- # tests requiring Internet access
- sed -i -e 's:test0:_&:' \
- tests/test_platypus_general.py \
- tests/test_platypus_images.py || die
- sed -i -e 's:test9:_&:' tests/test_lib_utils.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py || die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-3.5.60.ebuild b/dev-python/reportlab/reportlab-3.5.60.ebuild
index 1b891be3b99c..010f4f9831cb 100644
--- a/dev-python/reportlab/reportlab-3.5.60.ebuild
+++ b/dev-python/reportlab/reportlab-3.5.60.ebuild
@@ -16,7 +16,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
new file mode 100644
index 000000000000..22831fe8e7bb
--- /dev/null
+++ b/dev-python/rich/Manifest
@@ -0,0 +1 @@
+DIST rich-9.11.1.tar.gz 14050070 BLAKE2B 7dcae32743bfcbbab0af6896f72e865d2a72ab66545168544d065145cf10a2aab4785454e547f011219a85a8aa762f1ed5ebef2b9fb7f44225a2f776835b643d SHA512 2139cb6602d930e9bf1479456a8e6cee812237fb64073db3f23fd8eab64c1c2b3a83c6292f1f90652791100a93961d8ec8036e5d819f1e23159b6b9a75cd1f6c
diff --git a/dev-python/rich/metadata.xml b/dev-python/rich/metadata.xml
new file mode 100644
index 000000000000..be96fd36e5ea
--- /dev/null
+++ b/dev-python/rich/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chainsaw@gentoo.org</email>
+ <name>Tony Vroon</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">rich</remote-id>
+ <remote-id type="github">willmcgugan/rich</remote-id>
+ </upstream>
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/rich/rich-9.11.1.ebuild b/dev-python/rich/rich-9.11.1.ebuild
new file mode 100644
index 000000000000..5bac0bbeadc4
--- /dev/null
+++ b/dev-python/rich/rich-9.11.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Validate configuration and produce human readable error messages"
+HOMEPAGE="https://github.com/willmcgugan/rich"
+SRC_URI="https://github.com/willmcgugan/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/commonmark[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/rpy/Manifest b/dev-python/rpy/Manifest
index 33a30f5de822..2f9e4ebd9bb3 100644
--- a/dev-python/rpy/Manifest
+++ b/dev-python/rpy/Manifest
@@ -1 +1,2 @@
DIST rpy2-2.9.0.tar.gz 193062 BLAKE2B 92492821856e516f8f620397cba2e0ffb17718156c7c3a0bc8df8e744f0adf1ea6006e5c762ba99aa142fe06d327a240bf5d616175e81a80d28a21265c9771aa SHA512 55be876fb7316a08f507f3a332ed29d71b52f733c1986482f141e694d66d0e01a51a9c3f0260f6fe0086d7bfbc1f58b678cda4570665e4f1ffdb120c793ef1b2
+DIST rpy2-3.4.2.tar.gz 186064 BLAKE2B 5c800f546240cc33e6341973adae813edcdaa88e90ea0274e97075bc4516ced20828ccc6010ae23aead0b227639158240dae9b678790e0d28f974f10e9ac0e5f SHA512 e754d082bf392de582829bc078b512a071d0c0aa79ce3ed3692ad88b3816863b520a4ef9bbeaccbb2a7284685e470f345ba103e3db78a1c95187c0b554565314
diff --git a/dev-python/rpy/rpy-3.4.2.ebuild b/dev-python/rpy/rpy-3.4.2.ebuild
new file mode 100644
index 000000000000..499e5268dfac
--- /dev/null
+++ b/dev-python/rpy/rpy-3.4.2.ebuild
@@ -0,0 +1,44 @@
+# 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="sqlite"
+inherit distutils-r1 flag-o-matic virtualx
+
+MYSLOT=2
+MY_PN=${PN}${MYSLOT}
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python interface to the R Programming Language"
+HOMEPAGE="https://rpy.sourceforge.net/
+ https://pypi.org/project/rpy2/"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+# ggplot2 is a test dep but not in portage
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-lang/R-3.2
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pandas-0.13.1[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/tzlocal[${PYTHON_USEDEP}]"
+PDEPEND="dev-python/ipython[${PYTHON_USEDEP}]"
+
+python_compile() {
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/lib || die
+ virtx "${EPYTHON}" -m 'rpy2.tests'
+}
diff --git a/dev-python/setproctitle/setproctitle-1.2.2.ebuild b/dev-python/setproctitle/setproctitle-1.2.2.ebuild
index 9d6ebe6271ee..504c46de1d7f 100644
--- a/dev-python/setproctitle/setproctitle-1.2.2.ebuild
+++ b/dev-python/setproctitle/setproctitle-1.2.2.ebuild
@@ -12,6 +12,6 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ppc ppc64 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 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
distutils_enable_tests pytest
diff --git a/dev-python/socketio-client-nexus/metadata.xml b/dev-python/socketio-client-nexus/metadata.xml
index 08790c8e2d70..08c3330627f9 100644
--- a/dev-python/socketio-client-nexus/metadata.xml
+++ b/dev-python/socketio-client-nexus/metadata.xml
@@ -3,10 +3,12 @@
<pkgmetadata>
<maintainer type="person">
<email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
</maintainer>
<upstream>
<remote-id type="pypi">socketIO-client-nexus</remote-id>
<remote-id type="github">nexus-devs/socketIO-client-2.0.3</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
index de9951c4e2c4..3dcc2a8f6899 100644
--- a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
+++ b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
@@ -1,23 +1,25 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-PYTHON_COMPAT=( python3_{6,7,8,9,10} )
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8,9,10} )
inherit distutils-r1
MY_PN="socketIO-client-nexus"
DESCRIPTION="A socket.io 2.x client library for Python"
HOMEPAGE="https://github.com/nexus-devs/socketIO-client-2.0.3/ https://pypi.org/project/socketIO-client-nexus/"
+S="${WORKDIR}/${MY_PN}-${PV}"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]
+# require network
+RESTRICT="test"
+
+RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
dev-python/websocket-client[${PYTHON_USEDEP}]"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 5631d932eb2f..bbeab05986cb 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1,3 +1,2 @@
-DIST sphinx-gallery-0.3.1.tar.gz 88807 BLAKE2B 79218a1f438e2b8607c52b14f098c0136cb4d5ce15a12d82bdb3caf0c7c1090e7c4f210437fc660d8d4d19bf87bbaa2ec3c208d2dc8a77ad9deea5b5cefa3c05 SHA512 c51eaaef63a7496e223a4541d0560f694420b6ac4b2cde3779c405f0ab92d34aef7a37e4c41da9e59bd8a050c8d3eed330df3799e76a60ae35cdbc6f7c9cb8c1
DIST sphinx-gallery-0.8.1.tar.gz 6502920 BLAKE2B 35f6bfe6039910518c21dadcdb7d814f4400baf3996ee5df21ff6a16b8fe87b0ec0355073b854e9b07ab7f2aced6d2de4453b9ebb2aa142506e9cbfebb99ea4c SHA512 0e77b75fe1d9c44d68235603529c116fad0460156d59f6b2f41ff299e42074930694f1768d99fe585428734617d18e1f1379fdc14e359b0274d1614c092141f6
DIST sphinx-gallery-0.8.2.tar.gz 6530210 BLAKE2B ba1500b9870d89c686dd1afbcab4797e15944cbda4d8d2faf02bb65435fa4208bf7dfae70285c920ad2f3b82bc085b06629fb3d2807462f92e75be91ef1e81a8 SHA512 52dfcf320d1e53b2ee985482af5cee63582b26aa6f3969f2d83e6ffb9503712f5d1a865c849c4b2111f7fd4349cefb158874d8faa323e4e7d73bf547a26f3a93
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.3.1-r1.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.3.1-r1.ebuild
deleted file mode 100644
index 59a55e6973bd..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.3.1-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-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}]
-"
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-
-# tests need extra files not distributed
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.8.1.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.8.1.ebuild
index 7ed533745c87..c12cd705f884 100644
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.8.1.ebuild
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.8.1.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~arm64 ppc64 x86 ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND="
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index 2c3d579d337f..90f2344aa4a5 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,3 +1 @@
-DIST ujson-1.35.tar.gz 192027 BLAKE2B 320058e7142f2264bee8b02a411bedb3b32d1c2fc86157eb47272f75cb401e6c75ce7d9e3dba5092cd1db99dbded8804347d4c7be11eaedb47bc8b4b8125fbd3 SHA512 931d8f574fc4920c9ded48369774666060e951f40982606ce9f1d9de3420004042af7d797075a54d92a2b25c4f313572a5e1a30f3bc8ce387ef8f3881193eee7
-DIST ujson-4.0.1.tar.gz 7128868 BLAKE2B 159496bfa2b7efff744c1f725c5a8c362c6baac20518d440e5827ec8af1a9a77b4e060126d9b35b39baae079f7092e64d49d0cd23a637174a4bca261203939d6 SHA512 11fb28166afab30e29d71070c91cfb78245eed704a769bf6fb0871c267135fac3fa1042c4ac875dcb870f8a00615e6bcc8fdcd0168edd5ccbae6437605b4df0d
DIST ujson-4.0.2.tar.gz 7129106 BLAKE2B 8ebf68c6bac65100baeee4f95f175ada09ba48b9efe1876b7b1ff2c3cf87d1a50d8300a981fd97eac73e4c5a70af1b7fddcd468aa6067aac8a2e44133f397057 SHA512 ece12d4407cb7cdb647597ff7fc32e4390fc4c790c59e764da5c5644e5dec470c48cb6a6aaa18429cb713643e5205c5d26b2d2d2195bc90f3a171615d3dbd80d
diff --git a/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch b/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch
deleted file mode 100644
index 98659ce1722b..000000000000
--- a/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-commit 409c6d4006fdea27e746ea397124f98c92a41a92
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 04:21:05 2017 +0100
-
- Fix for overflowing long causing invalid json
-
- This was caused by checking for "__json__" using PyObject_HasAttrString
- which clears the error set by a previous long overflow. Thus this was dependent
- on the order of processing of dict items, which explains why it was
- seemingly random as the dict items are likely ordered by a hash of
- the key.
-
- This fixes GH224 and GH240.
-
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 8133fb5..adea2f6 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -226,6 +226,21 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
- return NULL;
- }
-
-+static int PyHasAttrStringPreserveErr(PyObject *obj, const char *attr)
-+{
-+ int res;
-+ PyObject *excType = NULL, *excValue, *excTraceback;
-+
-+ if (!PyErr_Occurred())
-+ return PyObject_HasAttrString(obj, "__json__");
-+
-+ PyErr_Fetch(&excType, &excValue, &excTraceback);
-+ res = PyObject_HasAttrString(obj, "__json__");
-+ PyErr_Restore(excType, excValue, excTraceback);
-+
-+ return res;
-+}
-+
- static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-@@ -471,21 +486,21 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
- }
- else
-- if (!PyString_Check(GET_TC(tc)->itemName))
-- {
-- GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
-+ if (!PyString_Check(GET_TC(tc)->itemName))
-+ {
-+ GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
- #if PY_MAJOR_VERSION >= 3
-- itemNameTmp = GET_TC(tc)->itemName;
-- GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
-- Py_DECREF(itemNameTmp);
-+ itemNameTmp = GET_TC(tc)->itemName;
-+ GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
-+ Py_DECREF(itemNameTmp);
- #endif
-- }
-- else
-- {
-- Py_INCREF(GET_TC(tc)->itemName);
-- }
-- PRINTMARK();
-- return 1;
-+ }
-+ else
-+ {
-+ Py_INCREF(GET_TC(tc)->itemName);
-+ }
-+ PRINTMARK();
-+ return 1;
- }
-
- static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-@@ -728,7 +743,7 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- return;
- }
- else
-- if (PyString_Check(obj) && !PyObject_HasAttrString(obj, "__json__"))
-+ if (PyString_Check(obj) && !PyHasAttrStringPreserveErr(obj, "__json__"))
- {
- PRINTMARK();
- pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;
diff --git a/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch b/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch
deleted file mode 100644
index 37270d41e3b1..000000000000
--- a/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-commit c9f8318bd823ae9d44797b6b881a2b3e22cdbade
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Tue Feb 7 02:02:38 2017 +0100
-
- Fix for incorrect order when using OrderedDict
-
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index abe6588..9e6a390 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -253,8 +253,13 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- GET_TC(tc)->itemName = NULL;
- }
-
-+ if (!(GET_TC(tc)->itemName = PyIter_Next(GET_TC(tc)->iterator)))
-+ {
-+ PRINTMARK();
-+ return 0;
-+ }
-
-- if (!PyDict_Next ( (PyObject *)GET_TC(tc)->dictObj, &GET_TC(tc)->index, &GET_TC(tc)->itemName, &GET_TC(tc)->itemValue))
-+ if (!(GET_TC(tc)->itemValue = PyObject_GetItem(GET_TC(tc)->dictObj, GET_TC(tc)->itemName)))
- {
- PRINTMARK();
- return 0;
-@@ -295,6 +300,7 @@ static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- Py_DECREF(GET_TC(tc)->itemName);
- GET_TC(tc)->itemName = NULL;
- }
-+ Py_CLEAR(GET_TC(tc)->iterator);
- Py_DECREF(GET_TC(tc)->dictObj);
- PRINTMARK();
- }
-@@ -425,20 +431,23 @@ static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outL
-
- static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- {
-- if (enc->sortKeys) {
-+ pc->dictObj = dictObj;
-+ if (enc->sortKeys)
-+ {
- pc->iterEnd = SortedDict_iterEnd;
- pc->iterNext = SortedDict_iterNext;
- pc->iterGetValue = SortedDict_iterGetValue;
- pc->iterGetName = SortedDict_iterGetName;
-+ pc->index = 0;
- }
-- else {
-+ else
-+ {
- pc->iterEnd = Dict_iterEnd;
- pc->iterNext = Dict_iterNext;
- pc->iterGetValue = Dict_iterGetValue;
- pc->iterGetName = Dict_iterGetName;
-+ pc->iterator = PyObject_GetIter(dictObj);
- }
-- pc->dictObj = dictObj;
-- pc->index = 0;
- }
-
- static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
-@@ -446,7 +455,8 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- PyObject *obj, *objRepr, *exc;
- TypeContext *pc;
- PRINTMARK();
-- if (!_obj) {
-+ if (!_obj)
-+ {
- tc->type = JT_INVALID;
- return;
- }
-diff --git a/tests/tests.py b/tests/tests.py
-index cd928e6..b7e46af 100644
---- a/tests/tests.py
-+++ b/tests/tests.py
-@@ -10,6 +10,8 @@ import json
- import math
- import time
- import pytz
-+from collections import OrderedDict
-+
- if six.PY2:
- import unittest2 as unittest
- else:
-@@ -383,6 +385,10 @@ class UltraJSONTests(unittest.TestCase):
- input = -float('inf')
- self.assertRaises(OverflowError, ujson.encode, input)
-
-+ def test_encodeOrderedDict(self):
-+ input = OrderedDict([(1, 1), (0, 0), (8, 8), (2, 2)])
-+ self.assertEqual('{"1":1,"0":0,"8":8,"2":2}', ujson.encode(input))
-+
- def test_decodeJibberish(self):
- input = "fdsa sda v9sa fdsa"
- self.assertRaises(ValueError, ujson.decode, input)
-@@ -668,7 +674,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': output_text})
-+ self.assertEqual(dec, {u'key': output_text})
-
- def test_object_with_json_unicode(self):
- # If __json__ returns a string, then that string
-@@ -681,7 +687,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': output_text})
-+ self.assertEqual(dec, {u'key': output_text})
-
- def test_object_with_complex_json(self):
- # If __json__ returns a string, then that string
-@@ -694,7 +700,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': obj})
-+ self.assertEqual(dec, {u'key': obj})
-
- def test_object_with_json_type_error(self):
- # __json__ must return a string, otherwise it should raise an error.
diff --git a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch b/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
deleted file mode 100644
index 7239bca3e238..000000000000
--- a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-commit 870ee48fe109c289033cd0b7543b6f5ea4e6f128
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 01:07:52 2017 +0100
-
- Fixes for sort_keys bug and a typo.
-
- - Fixed segfault when using sort_keys=True on dict with unorderable keys (GH247)
-
- - Fixed refcount becoming negative when using sort_keys=True (GH243)
-
- - Fixed compile error when defining JSON_NO_EXTRA_WHITESPACE
- caused by a wrongly named variable. (GH245)
-
-diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
-index cb10024..1bfa8f4 100644
---- a/lib/ultrajsonenc.c
-+++ b/lib/ultrajsonenc.c
-@@ -717,7 +717,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- const char *value;
- char *objName;
-- int count;
-+ int count, res;
- JSOBJ iterObj;
- size_t szlen;
- JSONTypeContext tc;
-@@ -796,7 +796,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- Buffer_AppendCharUnchecked (enc, ',');
- #ifndef JSON_NO_EXTRA_WHITESPACE
-- Buffer_AppendCharUnchecked (buffer, ' ');
-+ Buffer_AppendCharUnchecked (enc, ' ');
- #endif
- Buffer_AppendIndentNewlineUnchecked (enc);
- }
-@@ -823,8 +823,16 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- Buffer_AppendCharUnchecked (enc, '{');
- Buffer_AppendIndentNewlineUnchecked (enc);
-
-- while (enc->iterNext(obj, &tc))
-+ while ((res = enc->iterNext(obj, &tc)))
- {
-+ if(res < 0)
-+ {
-+ enc->iterEnd(obj, &tc);
-+ enc->endTypeContext(obj, &tc);
-+ enc->level--;
-+ return;
-+ }
-+
- if (count > 0)
- {
- Buffer_AppendCharUnchecked (enc, ',');
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 1960d40..8133fb5 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -537,6 +537,7 @@ static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- // Sort the list.
- if (PyList_Sort(items) < 0)
- {
-+ PyErr_SetString(PyExc_ValueError, "unorderable keys");
- goto error;
- }
-
-@@ -607,7 +608,6 @@ static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->itemName = NULL;
- GET_TC(tc)->itemValue = NULL;
-- Py_DECREF(GET_TC(tc)->newObj);
- Py_DECREF(GET_TC(tc)->dictObj);
- PRINTMARK();
- }
diff --git a/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch b/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch
deleted file mode 100644
index e2b7b9103f48..000000000000
--- a/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit ac4637fbc4e72bd59f221d9bba19127820d21023
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 16:36:14 2017 +0100
-
- Following std json handling of None dict key
-
- Previously a None dict item key would be outputted in JSON as "None".
- To better align with the standard json module this was changed to output
- "null". There's no proper representation of null object keys in JSON so
- this is implementation specific but it seems more natural to follow
- suit when it can be done without a significant performance hit.
-
- Added and used branch prediction macros (LIKELY/UNLIKELY) as well.
-
-diff --git a/lib/ultrajson.h b/lib/ultrajson.h
-index 6c1dbc1..ca82a29 100644
---- a/lib/ultrajson.h
-+++ b/lib/ultrajson.h
-@@ -117,6 +117,14 @@ typedef uint32_t JSUINT32;
-
- #define INLINE_PREFIX inline
-
-+#ifdef __GNUC__
-+#define LIKELY(x) __builtin_expect(!!(x), 1)
-+#define UNLIKELY(x) __builtin_expect(!!(x), 0)
-+#else
-+#define LIKELY(x) (x)
-+#define UNLIKELY(x) (x)
-+#endif
-+
- typedef uint8_t JSUINT8;
- typedef uint16_t JSUTF16;
- typedef uint32_t JSUTF32;
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index adea2f6..41d4289 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -488,6 +488,12 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- else
- if (!PyString_Check(GET_TC(tc)->itemName))
- {
-+ if (UNLIKELY(GET_TC(tc)->itemName == Py_None))
-+ {
-+ GET_TC(tc)->itemName = PyString_FromString("null");
-+ return 1;
-+ }
-+
- GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
- #if PY_MAJOR_VERSION >= 3
- itemNameTmp = GET_TC(tc)->itemName;
-@@ -743,7 +749,7 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- return;
- }
- else
-- if (PyString_Check(obj) && !PyHasAttrStringPreserveErr(obj, "__json__"))
-+ if (PyString_Check(obj) && LIKELY(!PyHasAttrStringPreserveErr(obj, "__json__")))
- {
- PRINTMARK();
- pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;
-@@ -837,7 +843,7 @@ ISITERABLE:
- }
- */
-
-- if (PyObject_HasAttrString(obj, "toDict"))
-+ if (UNLIKELY(PyObject_HasAttrString(obj, "toDict")))
- {
- PyObject* toDictFunc = PyObject_GetAttrString(obj, "toDict");
- PyObject* tuple = PyTuple_New(0);
-@@ -863,7 +869,7 @@ ISITERABLE:
- return;
- }
- else
-- if (PyObject_HasAttrString(obj, "__json__"))
-+ if (UNLIKELY(PyObject_HasAttrString(obj, "__json__")))
- {
- PyObject* toJSONFunc = PyObject_GetAttrString(obj, "__json__");
- PyObject* tuple = PyTuple_New(0);
diff --git a/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch b/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch
deleted file mode 100644
index 6ce987581c4f..000000000000
--- a/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ujson-1.35.orig/tests/tests.py 2017-04-14 18:14:36.298345782 -0700
-+++ ujson-1.35/tests/tests.py 2017-04-14 18:14:47.899947795 -0700
-@@ -702,7 +702,7 @@
-
- output = ujson.encode(ObjectTest())
- dec = ujson.decode(output)
-- self.assertEquals(dec, {})
-+ self.assertEqual(dec, {})
-
- def test_toDict(self):
- d = {"key": 31337}
diff --git a/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch b/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch
deleted file mode 100644
index 7ce5d44e0e7a..000000000000
--- a/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch
+++ /dev/null
@@ -1,591 +0,0 @@
-commit 6cf6c7ff25c883349e8e9e5468e61498358e2e91
-Author: WGH <wgh@torlan.ru>
-Date: Sat Aug 27 17:34:22 2016 +0300
-
- added "static" to C functions, where possible
-
- 1. It reduces clutter in symbol table.
- 2. It fixes issues with C99 inline semantics for functions
- marked as inline (#237, #180, #222), which manifests
- when compiled with GCC>=5.
-
-diff --git a/lib/ultrajsondec.c b/lib/ultrajsondec.c
-index 21a732e..19efc60 100644
---- a/lib/ultrajsondec.c
-+++ b/lib/ultrajsondec.c
-@@ -66,7 +66,7 @@ struct DecoderState
- JSONObjectDecoder *dec;
- };
-
--JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
-+static JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
- typedef JSOBJ (*PFN_DECODER)( struct DecoderState *ds);
-
- static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
-@@ -76,13 +76,13 @@ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
- return NULL;
- }
-
--double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
-+static double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
- {
- static const double g_pow10[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001,0.0000001, 0.00000001, 0.000000001, 0.0000000001, 0.00000000001, 0.000000000001, 0.0000000000001, 0.00000000000001, 0.000000000000001};
- return (intValue + (frcValue * g_pow10[frcDecimalCount])) * intNeg;
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
- {
- char *end;
- double value;
-@@ -99,7 +99,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
- return ds->dec->newDouble(ds->prv, value);
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
- {
- int intNeg = 1;
- int mantSize = 0;
-@@ -309,7 +309,7 @@ BREAK_EXP_LOOP:
- return ds->dec->newDouble (ds->prv, createDouble( (double) intNeg, (double) intValue , frcValue, decimalCount) * pow(10.0, expValue * expNeg));
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -329,7 +329,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'true'");
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -351,7 +351,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'false'");
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -371,7 +371,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'null'");
- }
-
--FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
-+static FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
- {
- char *offset = ds->start;
-
-@@ -422,7 +422,7 @@ static const JSUINT8 g_decoderLookup[256] =
- /* 0xf0 */ 4, 4, 4, 4, 4, 4, 4, 4, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR,
- };
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
- {
- JSUTF16 sur[2] = { 0 };
- int iSur = 0;
-@@ -672,7 +672,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
- {
- JSOBJ itemValue;
- JSOBJ newObj;
-@@ -736,7 +736,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
- {
- JSOBJ itemName;
- JSOBJ itemValue;
-@@ -819,7 +819,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
- {
- for (;;)
- {
-diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
-index 6c1b120..f330171 100644
---- a/lib/ultrajsonenc.c
-+++ b/lib/ultrajsonenc.c
-@@ -112,7 +112,7 @@ static void SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message)
- /*
- FIXME: Keep track of how big these get across several encoder calls and try to make an estimate
- That way we won't run our head into the wall each call */
--void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
-+static void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
- {
- size_t curSize = enc->end - enc->start;
- size_t newSize = curSize * 2;
-@@ -148,7 +148,7 @@ void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
- enc->end = enc->start + newSize;
- }
-
--FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
-+static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
- {
- *(outputOffset++) = g_hexChars[(value & 0xf000) >> 12];
- *(outputOffset++) = g_hexChars[(value & 0x0f00) >> 8];
-@@ -156,7 +156,7 @@ FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (c
- *(outputOffset++) = g_hexChars[(value & 0x000f) >> 0];
- }
-
--int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
-+static int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
- {
- char *of = (char *) enc->offset;
-
-@@ -260,7 +260,7 @@ int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, cons
- }
- }
-
--int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
-+static int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
- {
- JSUTF32 ucs;
- char *of = (char *) enc->offset;
-@@ -498,19 +498,19 @@ int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char
- #define Buffer_AppendCharUnchecked(__enc, __chr) \
- *((__enc)->offset++) = __chr; \
-
--FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
-+static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
- {
- char aux;
- while (end > begin)
- aux = *end, *end-- = *begin, *begin++ = aux;
- }
-
--void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
-+static void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
- {
- if (enc->indent > 0) Buffer_AppendCharUnchecked(enc, '\n');
- }
-
--void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
-+static void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- {
- int i;
- if (enc->indent > 0)
-@@ -519,7 +519,7 @@ void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- Buffer_AppendCharUnchecked(enc, ' ');
- }
-
--void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
-+static void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- {
- char* wstr;
- JSUINT32 uvalue = (value < 0) ? -value : value;
-@@ -535,7 +535,7 @@ void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
-+static void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
- {
- char* wstr;
- JSUINT64 uvalue = (value < 0) ? -value : value;
-@@ -551,7 +551,7 @@ void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
-+static void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
- {
- char* wstr;
- JSUINT64 uvalue = value;
-@@ -566,7 +566,7 @@ void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
-+static int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
- {
- /* if input is larger than thres_max, revert to exponential */
- const double thres_max = (double) 1e16 - 1;
-@@ -714,7 +714,7 @@ Handle integration functions returning NULL here */
- FIXME:
- Perhaps implement recursion detection */
-
--void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
-+static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
- {
- const char *value;
- char *objName;
-diff --git a/python/JSONtoObj.c b/python/JSONtoObj.c
-index 79d9f1a..6cef088 100644
---- a/python/JSONtoObj.c
-+++ b/python/JSONtoObj.c
-@@ -43,7 +43,7 @@ http://www.opensource.apple.com/source/tcl/tcl-14/tcl/license.terms
- //#define PRINTMARK() fprintf(stderr, "%s: MARK(%d)\n", __FILE__, __LINE__)
- #define PRINTMARK()
-
--void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
-+static void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
- {
- PyDict_SetItem (obj, name, value);
- Py_DECREF( (PyObject *) name);
-@@ -51,59 +51,59 @@ void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
- return;
- }
-
--void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
-+static void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
- {
- PyList_Append(obj, value);
- Py_DECREF( (PyObject *) value);
- return;
- }
-
--JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
-+static JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
- {
- return PyUnicode_FromWideChar (start, (end - start));
- }
-
--JSOBJ Object_newTrue(void *prv)
-+static JSOBJ Object_newTrue(void *prv)
- {
- Py_RETURN_TRUE;
- }
-
--JSOBJ Object_newFalse(void *prv)
-+static JSOBJ Object_newFalse(void *prv)
- {
- Py_RETURN_FALSE;
- }
-
--JSOBJ Object_newNull(void *prv)
-+static JSOBJ Object_newNull(void *prv)
- {
- Py_RETURN_NONE;
- }
-
--JSOBJ Object_newObject(void *prv)
-+static JSOBJ Object_newObject(void *prv)
- {
- return PyDict_New();
- }
-
--JSOBJ Object_newArray(void *prv)
-+static JSOBJ Object_newArray(void *prv)
- {
- return PyList_New(0);
- }
-
--JSOBJ Object_newInteger(void *prv, JSINT32 value)
-+static JSOBJ Object_newInteger(void *prv, JSINT32 value)
- {
- return PyInt_FromLong( (long) value);
- }
-
--JSOBJ Object_newLong(void *prv, JSINT64 value)
-+static JSOBJ Object_newLong(void *prv, JSINT64 value)
- {
- return PyLong_FromLongLong (value);
- }
-
--JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
-+static JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
- {
- return PyLong_FromUnsignedLongLong (value);
- }
-
--JSOBJ Object_newDouble(void *prv, double value)
-+static JSOBJ Object_newDouble(void *prv, double value)
- {
- return PyFloat_FromDouble(value);
- }
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 04a4575..1960d40 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -226,7 +226,7 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
- return NULL;
- }
-
--int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-
-@@ -242,21 +242,21 @@ int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- }
-
--JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-
--int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-
-@@ -282,7 +282,7 @@ int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemValue)
- {
-@@ -297,17 +297,17 @@ void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- }
- }
-
--JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-
--void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemValue)
- {
-@@ -325,7 +325,7 @@ void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
-+static int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
- {
- PyObject *obj = (PyObject *) _obj;
- PyObject *itemValue = GET_TC(tc)->itemValue;
-@@ -401,20 +401,20 @@ int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
- return 1;
- }
-
--JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- PRINTMARK();
- return GET_TC(tc)->itemValue;
- }
-
--char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- PRINTMARK();
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
--int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->index >= GET_TC(tc)->size)
- {
-@@ -427,16 +427,16 @@ int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- }
-
--JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-@@ -447,7 +447,7 @@ char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- // itemValue is borrowed from object (which is dict). No refCounting
- //=============================================================================
-
--int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- #if PY_MAJOR_VERSION >= 3
- PyObject* itemNameTmp;
-@@ -488,7 +488,7 @@ int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemName)
- {
-@@ -499,18 +499,18 @@ void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
--int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;
- Py_ssize_t i, nitems;
-@@ -603,7 +603,7 @@ error:
- return -1;
- }
-
--void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->itemName = NULL;
- GET_TC(tc)->itemValue = NULL;
-@@ -612,19 +612,19 @@ void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
-
--void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
-+static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- {
- if (enc->sortKeys) {
- pc->iterEnd = SortedDict_iterEnd;
-@@ -642,7 +642,7 @@ void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- pc->index = 0;
- }
-
--void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
-+static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
- {
- PyObject *obj, *exc, *iter;
- TypeContext *pc;
-@@ -929,7 +929,7 @@ INVALID:
- return;
- }
-
--void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
-+static void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
- {
- Py_XDECREF(GET_TC(tc)->newObj);
-
-@@ -937,33 +937,33 @@ void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
- tc->prv = NULL;
- }
-
--const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
-+static const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
- {
- return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);
- }
-
--JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSINT64 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSUINT64 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSINT32 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
-+static double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
- {
- double ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
-@@ -975,22 +975,22 @@ static void Object_releaseObject(JSOBJ _obj)
- Py_DECREF( (PyObject *) _obj);
- }
-
--int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->iterNext(obj, tc);
- }
-
--void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->iterEnd(obj, tc);
- }
-
--JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->iterGetValue(obj, tc);
- }
-
--char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return GET_TC(tc)->iterGetName(obj, tc, outLen);
- }
diff --git a/dev-python/ujson/ujson-1.35-r1.ebuild b/dev-python/ujson/ujson-1.35-r1.ebuild
deleted file mode 100644
index f14f04d36148..000000000000
--- a/dev-python/ujson/ujson-1.35-r1.ebuild
+++ /dev/null
@@ -1,37 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="https://pypi.org/project/ujson/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-sort_keys-segfault.patch"
- "${FILESDIR}/${P}-use-static-where-possible.patch"
- "${FILESDIR}/${P}-fix-for-overflowing-long.patch"
- "${FILESDIR}/${P}-standard-handling-of-none.patch"
- "${FILESDIR}/${P}-fix-ordering-of-orderdict.patch"
- "${FILESDIR}/${P}-test-depricationwarning.patch"
-)
-
-python_test() {
- "${PYTHON}" tests/tests.py || die
-}
diff --git a/dev-python/ujson/ujson-4.0.1.ebuild b/dev-python/ujson/ujson-4.0.1.ebuild
deleted file mode 100644
index a142307b6d5d..000000000000
--- a/dev-python/ujson/ujson-4.0.1.ebuild
+++ /dev/null
@@ -1,24 +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} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="https://pypi.org/project/ujson/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? ( dev-python/pytz[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ujson/ujson-4.0.2.ebuild b/dev-python/ujson/ujson-4.0.2.ebuild
index 468a11307900..60d85ef819f5 100644
--- a/dev-python/ujson/ujson-4.0.2.ebuild
+++ b/dev-python/ujson/ujson-4.0.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
diff --git a/dev-python/uvicorn/metadata.xml b/dev-python/uvicorn/metadata.xml
index bafbdaa60aab..4b530aaa9dfe 100644
--- a/dev-python/uvicorn/metadata.xml
+++ b/dev-python/uvicorn/metadata.xml
@@ -11,4 +11,5 @@
<bugs-to>https://github.com/encode/uvicorn/issues</bugs-to>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/zconfig/files/zconfig-3.5.0-py38.patch b/dev-python/zconfig/files/zconfig-3.5.0-py38.patch
new file mode 100644
index 000000000000..ea5e8db7642b
--- /dev/null
+++ b/dev-python/zconfig/files/zconfig-3.5.0-py38.patch
@@ -0,0 +1,105 @@
+Required for python 3.8+ compatibility
+https://github.com/zopefoundation/ZConfig/pull/70
+--- a/ZConfig/components/logger/formatter.py
++++ b/ZConfig/components/logger/formatter.py
+@@ -248,8 +248,17 @@ def __call__(self):
+ else:
+ # A formatter class that supports style, but our style is
+ # non-standard, so we reach under the covers a bit.
++ #
++ # Python 3.8 adds a validate option, defaulting to True,
++ # which cases the format string to be checked. Since
++ # safe-template is not a standard style, we want to
++ # suppress this.
++ #
++ kwargs = dict()
++ if sys.version_info >= (3, 8):
++ kwargs['validate'] = False
+ formatter = self.factory(self.format, self.dateformat,
+- style='$')
++ style='$', **kwargs)
+ assert formatter._style._fmt == self.format
+ formatter._style = stylist
+ else:
+--- a/ZConfig/components/logger/tests/test_formatter.py
++++ b/ZConfig/components/logger/tests/test_formatter.py
+@@ -25,6 +25,17 @@
+ import ZConfig.components.logger.tests.support
+
+
++# In Python 3.8, a KeyError raised by string interpolation is re-written
++# into a ValueError reporting a reference to an undefined field. We're
++# not masking the exception, but we want to check for the right one in
++# the tests below (without catching anything else).
++#
++if sys.version_info >= (3, 8):
++ MissingFieldError = ValueError
++else:
++ MissingFieldError = KeyError
++
++
+ class LogFormatStyleTestCase(unittest.TestCase):
+
+ def setUp(self):
+@@ -314,7 +325,10 @@ class CustomFormatterFactoryWithoutStyleParamTestCase(
+ class StylelessFormatter(logging.Formatter):
+
+ def __init__(self, fmt=None, datefmt=None):
+- logging.Formatter.__init__(self, fmt=fmt, datefmt=datefmt)
++ kwargs = dict()
++ if sys.version_info >= (3, 8):
++ kwargs['validate'] = False
++ logging.Formatter.__init__(self, fmt=fmt, datefmt=datefmt, **kwargs)
+
+
+ def styleless_formatter(fmt=None, datefmt=None):
+@@ -552,9 +566,9 @@ def test_classic_arbitrary_field_missing(self):
+ arbitrary_fields=True)
+
+ # The formatter still breaks when it references an undefined field:
+- with self.assertRaises(KeyError) as cm:
++ with self.assertRaises(MissingFieldError) as cm:
+ formatter.format(self.record)
+- self.assertEqual(str(cm.exception), "'undefined_field'")
++ self.assertIn("'undefined_field'", str(cm.exception))
+
+ def test_classic_arbitrary_field_present(self):
+ formatter = self.get_formatter(
+@@ -574,9 +588,9 @@ def test_format_arbitrary_field_missing(self):
+ arbitrary_fields=True)
+
+ # The formatter still breaks when it references an undefined field:
+- with self.assertRaises(KeyError) as cm:
++ with self.assertRaises(MissingFieldError) as cm:
+ formatter.format(self.record)
+- self.assertEqual(str(cm.exception), "'undefined_field'")
++ self.assertIn("'undefined_field'", str(cm.exception))
+
+ def test_format_arbitrary_field_present(self):
+ formatter = self.get_formatter(
+@@ -596,9 +610,9 @@ def test_template_arbitrary_field_missing(self):
+ arbitrary_fields=True)
+
+ # The formatter still breaks when it references an undefined field:
+- with self.assertRaises(KeyError) as cm:
++ with self.assertRaises(MissingFieldError) as cm:
+ formatter.format(self.record)
+- self.assertEqual(str(cm.exception), "'undefined_field'")
++ self.assertIn("'undefined_field'", str(cm.exception))
+
+ def test_template_arbitrary_field_present(self):
+ formatter = self.get_formatter(
+
+--- a/ZConfig/components/logger/formatter.py
++++ b/ZConfig/components/logger/formatter.py
+@@ -250,7 +250,7 @@ def __call__(self):
+ # non-standard, so we reach under the covers a bit.
+ #
+ # Python 3.8 adds a validate option, defaulting to True,
+- # which cases the format string to be checked. Since
++ # which causes the format string to be checked. Since
+ # safe-template is not a standard style, we want to
+ # suppress this.
+ #
+
+
diff --git a/dev-python/zconfig/metadata.xml b/dev-python/zconfig/metadata.xml
index e5aaa63ecc52..d7e35f9087b7 100644
--- a/dev-python/zconfig/metadata.xml
+++ b/dev-python/zconfig/metadata.xml
@@ -19,4 +19,5 @@ ZConfig schema are written in an XML-based language and are able to “import”
<remote-id type="pypi">ZConfig</remote-id>
</upstream>
<origin>gentoo-staging</origin>
+ <stabilize-allarches/>
</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/zconfig/zconfig-3.5.0.ebuild b/dev-python/zconfig/zconfig-3.5.0.ebuild
index 46c541c4d412..996d53b2275e 100644
--- a/dev-python/zconfig/zconfig-3.5.0.ebuild
+++ b/dev-python/zconfig/zconfig-3.5.0.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="7"
+EAPI=7
DISTUTILS_USE_SETUPTOOLS=rdepend
PYTHON_COMPAT=( python3_{6,7,8,9,10} )
-
inherit distutils-r1
MY_PN="ZConfig"
@@ -13,27 +12,25 @@ MY_P="${MY_PN}-${PV}"
DESCRIPTION="A configuration library supporting a hierarchical schema-driven configuration model"
HOMEPAGE="https://pypi.org/project/ZConfig/"
+S="${WORKDIR}/${MY_P}"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="ZPL"
SLOT="0"
KEYWORDS="~amd64"
-RESTRICT="!test? ( test )"
-DEPEND="
+BDEPEND="
test? (
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/manuel[${PYTHON_USEDEP}]
dev-python/zope-exceptions[${PYTHON_USEDEP}]
dev-python/zope-interface[${PYTHON_USEDEP}]
dev-python/zope-testrunner[${PYTHON_USEDEP}]
- )
-"
-RDEPEND=""
-
-S="${WORKDIR}/${MY_P}"
+ )"
DOCS=( CHANGES.rst README.rst )
+PATCHES=( "${FILESDIR}"/${P}-py38.patch )
+
distutils_enable_tests nose
distutils_enable_sphinx doc dev-python/sphinxcontrib-programoutput