summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-03 12:39:16 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-05-03 12:39:16 +0000
commit6e05925ca84318ff7adc5d166d93ee39cea50d01 (patch)
tree14ae2757d1e58591dacadb76bbcd623c871f56af /dev-python
parentb800c7601f3f7513b6c8d3fd54c639d31857a7c5 (diff)
downloadbaldeagleos-repo-6e05925ca84318ff7adc5d166d93ee39cea50d01.tar.gz
baldeagleos-repo-6e05925ca84318ff7adc5d166d93ee39cea50d01.tar.xz
baldeagleos-repo-6e05925ca84318ff7adc5d166d93ee39cea50d01.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/PyPDF2/Manifest1
-rw-r--r--dev-python/PyPDF2/PyPDF2-1.27.12.ebuild51
-rw-r--r--dev-python/QtPy/Manifest1
-rw-r--r--dev-python/QtPy/QtPy-2.1.0.ebuild139
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.22.5.ebuild66
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.25.5.ebuild71
-rw-r--r--dev-python/dask/Manifest1
-rw-r--r--dev-python/dask/dask-2022.05.0.ebuild58
-rw-r--r--dev-python/deepmerge/Manifest2
-rw-r--r--dev-python/deepmerge/deepmerge-1.0.1.ebuild (renamed from dev-python/deepmerge/deepmerge-1.0.0.ebuild)16
-rw-r--r--dev-python/deepmerge/metadata.xml4
-rw-r--r--dev-python/google-api-core/Manifest1
-rw-r--r--dev-python/google-api-core/google-api-core-2.7.3.ebuild66
-rw-r--r--dev-python/matplotlib/Manifest1
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.5.2-test.patch261
-rw-r--r--dev-python/matplotlib/matplotlib-3.5.2.ebuild286
-rw-r--r--dev-python/pylint/Manifest1
-rw-r--r--dev-python/pylint/pylint-2.13.8.ebuild81
-rw-r--r--dev-python/python-docs/python-docs-3.9.12.ebuild2
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.17.ebuild4
-rw-r--r--dev-python/pyzotero/Manifest1
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.4.ebuild38
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.35.ebuild2
-rw-r--r--dev-python/starlette/Manifest3
-rw-r--r--dev-python/starlette/starlette-0.17.1.ebuild37
-rw-r--r--dev-python/starlette/starlette-0.20.0.ebuild (renamed from dev-python/starlette/starlette-0.19.0.ebuild)13
-rw-r--r--dev-python/suds-community/Manifest (renamed from dev-python/suds/Manifest)1
-rw-r--r--dev-python/suds-community/metadata.xml (renamed from dev-python/suds/metadata.xml)4
-rw-r--r--dev-python/suds-community/suds-community-1.1.0.ebuild (renamed from dev-python/suds/suds-1.1.0.ebuild)4
-rw-r--r--dev-python/suds-community/suds-community-1.1.1.ebuild25
-rw-r--r--dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch84
-rw-r--r--dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch17
-rw-r--r--dev-python/symengine/symengine-0.9.2-r1.ebuild56
-rw-r--r--dev-python/zstd/Manifest1
-rw-r--r--dev-python/zstd/zstd-1.5.2.5.ebuild34
37 files changed, 1382 insertions, 53 deletions
diff --git a/dev-python/PyPDF2/Manifest b/dev-python/PyPDF2/Manifest
index 9067657b017d..51f0ebfd945a 100644
--- a/dev-python/PyPDF2/Manifest
+++ b/dev-python/PyPDF2/Manifest
@@ -1,4 +1,5 @@
DIST PyPDF2-1.27.11.gh.tar.gz 3431028 BLAKE2B 4917d40f3b896e086ea1deac43b9a3d4391d758ff2eb4e2ab731d632d24478781ca862ceffd707b26ae7bb0295c922089ca9a9a90e0878d2e0aef466d1464346 SHA512 cd1578295fafd480016b838a865a658e8996c04a0e22817f8e45d8c00dbdf6dcac2e8c80a8de878e8db4a2984022382f74e8a56af5e305acfb8e3de5f965d207
+DIST PyPDF2-1.27.12.gh.tar.gz 3430850 BLAKE2B a0cb344f616d628b7c39dc360234057ce68595ffa554a8588990ef0a1239ade2db6415caefb84bc058d89067ed04ba66ba149f6f106bbf9a55a13f523dd826fc SHA512 ee00c975881b7e6716656b1cecb83c3e1f7bffa4ed9fb0d8c8be45c7d951b2b79f0be4f9098569bad783703fbc00f0797e73b970b02adad1ed3a4cf3b6ab7b73
DIST PyPDF2-1.27.5.gh.tar.gz 2053469 BLAKE2B 1a01289145574a4551f1fa237e4c790dd866088787f5bc9afb529ea99424f4d211f1913737cf4a2c744ceae90568ca26612cc4956ff1eda5840624e41df76d78 SHA512 c1f77c7ea46e866da104cf05421ccf15870db07923ff5860a6b44c944d599b38e98d33d6042a155b0698ecd100d1c6f57aa7bb8904dd08e679f6560a578d4488
DIST PyPDF2-1.27.6.gh.tar.gz 2092950 BLAKE2B 786d5102275d6c04628d76fd0225d453aa8f74cb0a6e135f3d56ed1143c114144aa9daef17e5971ce9e4c14cc01016125107717296d76cf7eb34c1cadbdd42cd SHA512 bf1c60453e6a98a50c382cf967fc7aa1fb8dffc14d426f97bc0e41c34a6534930849fe053c8debe585b3877eadca9f8b43f803b1f01586f6c693a1eefe43e3dd
DIST PyPDF2-1.27.7.gh.tar.gz 2093013 BLAKE2B 5637094972228ad1a5790f36f71e3fd8a694c9fd99bad7874a03f299ca0bb6198064f6756552cac41127fd67a827ca191e6de56281b25c13629a99edcdac7685 SHA512 dbcb944f3bafb0c0e81842e92e8a72609c85c271eba83841ee5bc901119178a6a4ff503a4796014854a75137b9f8f25a245d55a550e770b9f78daf8e1e92dcba
diff --git a/dev-python/PyPDF2/PyPDF2-1.27.12.ebuild b/dev-python/PyPDF2/PyPDF2-1.27.12.ebuild
new file mode 100644
index 000000000000..1a552c572ff0
--- /dev/null
+++ b/dev-python/PyPDF2/PyPDF2-1.27.12.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=41b5cd4f774f8fbd8ac42d93b9962f0376352a15
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/PyPDF2/
+ https://github.com/py-pdf/PyPDF2/
+"
+SRC_URI="
+ https://github.com/py-pdf/PyPDF2/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${P}"/sample-files/ || die
+ fi
+}
+
+src_install() {
+ if use examples; then
+ docinto examples
+ dodoc -r Sample_Code/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_src_install
+}
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest
index 7e9bb91dfc69..9369e646aa03 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1 +1,2 @@
DIST QtPy-2.0.1.tar.gz 43047 BLAKE2B 66625852e75fbfcf0bf96e740754ca26b6d5226dd5450d0274cf6dc875cba18e5ed8e339c8c7ad084ffa9b135f19447e087b338690ec521205316c4f22f09197 SHA512 5d482b0a5bd2be67a0fabccf98a9dedf28ef328641c8c976e2274d4a5afb14b9fefce251e80496ed54425dcb3da24984c6c36308db0bfc810ea2142528ad88fd
+DIST QtPy-2.1.0.tar.gz 46470 BLAKE2B 2e032d141ad134444143cd59b8952957b226d9519925083aecce82adf62eebd3f58803cf548c4142fb1ece6f0e2340043a82a7aef056f6e4a9ac8b9caf72d80d SHA512 052cab4218d23d46162d11bf038dccfe6200b05c1c8647bd1f9dcbdaa7af50c23d4ae85829e065c7bae57630d149d562d76cc78202b4f448cbf6547010c746ff
diff --git a/dev-python/QtPy/QtPy-2.1.0.ebuild b/dev-python/QtPy/QtPy-2.1.0.ebuild
new file mode 100644
index 000000000000..2545a2995298
--- /dev/null
+++ b/dev-python/QtPy/QtPy-2.1.0.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Abstraction layer on top of PyQt5 and PySide2 and additional custom QWidgets"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtpy/
+ https://pypi.org/project/QtPy/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+_IUSE_QT_MODULES="
+ declarative designer gui help location multimedia network opengl
+ positioning printsupport sensors serialport speech sql svg testlib
+ webchannel webengine websockets widgets x11extras xml xmlpatterns
+"
+IUSE="+pyqt5 pyside2 ${_IUSE_QT_MODULES}"
+unset _IUSE_QT_MODULES
+
+REQUIRED_USE="|| ( pyqt5 pyside2 )"
+
+# These flags are currently *not* common to both the PySide2 and PyQt5 ebuild
+# Disable them for now, please check periodically if this is still up to date.
+# bluetooth? ( pyqt5 )
+# dbus? ( pyqt5 )
+#
+# 3d? ( pyside2 )
+# charts? ( pyside2 )
+# concurrent? ( pyside2 )
+# datavis? ( pyside2 )
+# scxml? ( pyside2 )
+# script? ( pyside2 )
+# scripttools? ( pyside2 )
+
+# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
+# to work. The package only checks whether PyQt5/pyside2 is installed, it does
+# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
+#
+# Webengine is a special case, because PyQt5 provides this in a separate package
+# while PySide2 ships it in the same package.
+#
+# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
+# for qml and quick in one flag: declarative PySide2 does not.
+#
+# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
+# added anyway with a (+) to make it future proof if the ebuild were to change
+# this behaviour in the future.
+#
+# The PySide2 ebuild currently enables opengl and serialport support
+# unconditionally, the flag is added anyway with a (+) to make it future proof
+# if the ebuild were to change this behaviour in the future.
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[declarative?,designer?,gui?,help?,location?]
+ dev-python/PyQt5[multimedia?,network?,opengl?,positioning?]
+ dev-python/PyQt5[printsupport?,sensors?,serialport?,speech(-)?,sql?,svg?]
+ dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?]
+ dev-python/PyQt5[x11extras?,xml(+)?,xmlpatterns?]
+ webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
+ )
+ pyside2? (
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[designer?,gui?,help?,location?,multimedia?]
+ dev-python/pyside2[network?,opengl(+)?,positioning?,printsupport?]
+ dev-python/pyside2[sensors?,serialport(+)?,speech?,sql?,svg?]
+ dev-python/pyside2[testlib?,webchannel?,webengine?,websockets?]
+ dev-python/pyside2[widgets?,x11extras?,xml?,xmlpatterns?]
+ declarative? ( dev-python/pyside2[qml,quick] )
+ )
+"
+
+# The QtPy testsuite skips tests for bindings that are not installed, so here we
+# ensure that everything is available and all tests are run. Note that not
+# all flags are available in PyQt5/PySide2, so some tests are still skipped.
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ pyqt5? (
+ dev-python/PyQt5[${PYTHON_USEDEP}]
+ dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
+ dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
+ dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
+ dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
+ dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ )
+ pyside2? (
+ dev-python/pyside2[${PYTHON_USEDEP}]
+ dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
+ dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
+ dev-python/pyside2[printsupport,qml,quick,script,scripttools,scxml]
+ dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
+ dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
+ dev-python/pyside2[xml,xmlpatterns]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
+ # Disable Qt for Python implementations that are not selected
+ if ! use pyqt5; then
+ sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+ if ! use pyside2; then
+ sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
+ sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
+ fi
+}
+
+python_test() {
+ if use pyqt5; then
+ QT_API="pyqt5" virtx epytest
+ fi
+ if use pyside2; then
+ QT_API="pyside2" virtx epytest
+ fi
+}
+
+pkg_postinst() {
+ if use pyqt5 && use pyside2; then
+ ewarn "You have enabled both PyQt5 and PySide2, note that QtPy will default"
+ ewarn "to PyQt5 unless the QT_API environment variable overrides this."
+ fi
+}
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index e73ab200bee3..3af90a0fc605 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -5,3 +5,4 @@ DIST boto3-1.22.1.tar.gz 493753 BLAKE2B bd58778f89b792b3203b4b8f86edaca2149ebc24
DIST boto3-1.22.2.tar.gz 494671 BLAKE2B c9b72c6a4b667772147235c5791ac4d08adb9e4bd690ea9e369ce712fd705dcc89b2fea4f5b2c580702cc4eb5064b3e46f1237de15e5dd812e2b88c54144d665 SHA512 ecf5d77fb5128a79001a0ccf2e141197d23c0a24d61517e191058de24498d63b13e351fb8e0bfe28f1c58c676d44b2e7f98bd80c41a2510c61d737e086c1010b
DIST boto3-1.22.3.tar.gz 495091 BLAKE2B a917cfec2cb77f9c639160be06f610855b625a9cf55858e0df4602823d6b068a0e188ee911c40255db9fa88b8e20d8b0354948be36e6bf4923b2e4cc45c30524 SHA512 1b12f40b981faf110a76af2418b2afa6fbcfd1ec01bbc842c2c75518245ca11a7d9bc7d5704965246008d43005e7a7a839cdfee7a2e49786ff543bddd1a41c02
DIST boto3-1.22.4.tar.gz 495554 BLAKE2B 4c06e2101bcc96e4fab7e088f8593c7b1cfd2b07431d4cd062666df6c1f5d55d9b7fb594268e9a86c4793d35bc3d8de2644244728cf62833dfefb62525eedbdc SHA512 26dbd9ed1af900f7466a1767ada3fb8ee86fa09ca21733f857e2748d98525661fc76e69d75440fe913260e75245cf30298493417d055399a242af0aedaffd349
+DIST boto3-1.22.5.tar.gz 495793 BLAKE2B df31095d43413694ecdefbd641b3f5b54d6c45181752c17fa2558930ce1ef92a6245a4b74503ec8ce0c94273ab47eb2c2868893fb95217a864fe6cc9a39f0a6c SHA512 63124dc8d21273dd80d10b18e14c9e0a0fda449c18a4a4b585a4c8a98ab5c0c10a344d3bf3ddc4306c294fc77339a80bd38fbba335ef71350c81564182c581f2
diff --git a/dev-python/boto3/boto3-1.22.5.ebuild b/dev-python/boto3/boto3-1.22.5.ebuild
new file mode 100644
index 000000000000..a60384bf1f0d
--- /dev/null
+++ b/dev-python/boto3/boto3-1.22.5.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/boto3"
+ inherit git-r3
+ BOTOCORE_PV=${PV}
+else
+ SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+ # botocore is x.(y+3).z
+ BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
+fi
+
+RDEPEND="
+ >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ epytest tests/{functional,unit} \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index a940ab9d2b05..7087459ee532 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -5,3 +5,4 @@ DIST botocore-1.25.1.tar.gz 8931771 BLAKE2B 6d2ba3c564104e8463ce588a0f9de47d4ecb
DIST botocore-1.25.2.tar.gz 8947291 BLAKE2B fedf6c61ac2bc43ae6a60f7afb717d319ffd3baf4d6c5849a11279e96901e4968141b916c8d3c46ff007942ffe25fc85e7c8ef5176331e6537446cf349edc52f SHA512 5660e1fc96575dfa7d8c177192783f6edf5689176f6e3ac8c9ec5c85debe7a124297e1e61af5e1a35785346e40deba1ef7a2d8eac52902cda2cffb0327dcb701
DIST botocore-1.25.3.tar.gz 8949001 BLAKE2B 5c59bbf4f5189de36093881f4b702027484f916664f8360ed90a301a9db407e44c41f69feb118a54e2f35025711e131f69bae1a032cbf7d3eb339b1cd0bc85a4 SHA512 27e2853e938139e670f1155b64b9e233675316ea11aa2eb6e8dc74dc1b50b75d909811b2a7d470a6933f5263bab10d8aa9108eddd0c501ad974dbb1bc2ff741e
DIST botocore-1.25.4.tar.gz 8955210 BLAKE2B 50880e9d7f57e4f3b8662625a64e9470eaf8a984fdbcc34239bfe604544ccd3ac62e953d7be4e1b486fab4ad0d571361ffc9fdc43cb860cd37a95c33d7b824b2 SHA512 a04e03271d217ab1ef5488dcfedda2904b8e628dae969c74e284d004ae72f18d9734d3f7cf775235c8384b30f4d0fbfda7c0e5dcd687039ddb7b339330e63317
+DIST botocore-1.25.5.tar.gz 8956539 BLAKE2B d4e3206a44fffe0d0f4ac1ebf493cd9613ad8b0ae4524255c290c8fe2d67b74e45eaff5a8b5004cc747fef9c8b27da9ef5047145c44787d348b03495a1277f31 SHA512 594fbf14dcf9a64ffe3111255e02b6b60fef856e360228b6466b96945e581f17d0b035f4df0cec14525b9cb54ca583d0aa5a0c5039595052f4bcedd96351c91e
diff --git a/dev-python/botocore/botocore-1.25.5.ebuild b/dev-python/botocore/botocore-1.25.5.ebuild
new file mode 100644
index 000000000000..a45a0b69b8f6
--- /dev/null
+++ b/dev-python/botocore/botocore-1.25.5.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+LICENSE="Apache-2.0"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/boto/botocore"
+ inherit git-r3
+else
+ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch"
+)
+
+distutils_enable_sphinx docs/source \
+ 'dev-python/guzzle_sphinx_theme'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ epytest tests/{functional,unit} \
+ -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
+}
diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest
index 3599401a35d1..ac8c8671e9c6 100644
--- a/dev-python/dask/Manifest
+++ b/dev-python/dask/Manifest
@@ -2,3 +2,4 @@ DIST dask-2022.03.0.gh.tar.gz 8192610 BLAKE2B 1099dac34487dc51b9010746920e64e4e7
DIST dask-2022.04.0.gh.tar.gz 8649475 BLAKE2B 92602e239be8c281ca450eb3fb1dbafea2f5caba12f83cd6d05670431b945dba861d92481f5ec1ec0834ccf35af6658d482b26d25cf16c8b784364adbe7e9ccf SHA512 2abc10a1140ad81a5f6bdc7ff697b899a5410da6dff976c98fb30d32fff625078ebf5ed23b2317c94d293973040b05bf650c02aef2b8c18230bf2841e54c71fa
DIST dask-2022.04.1.gh.tar.gz 8647138 BLAKE2B 7b53a033e2128d7a9ab738b88b3df4b80526e4a6a9b67e4347d318d137a3d4c9b5ae587b5f73b80c4f8186d98de0877827c6ee2b4c42536ac0bca369ed1b765b SHA512 356a94fad6cf9878b0c1e35b39e0db08a66c0d4c77cfae9fd7542a16b8f86b40475ff466e0dce7228e8930e6c03dc13c4f9df036b3a35806c2bc19525ab2e23f
DIST dask-2022.04.2.gh.tar.gz 8657501 BLAKE2B e0c78d91927d4f2391e377d10c93b87ebc8bed764be77e3e8afb55935819772442e9bd9eb6221b639eb8376de0107b361b43bd37ed85cbe548d4b0c99d5e5f68 SHA512 b252a19fb08e089153e31ea23bbb75d37cc9fbf96c530495e884b9e3768d23b7dfe71a16341a8c414c414298cc6958aa41f22af07cabb392816dc4590b86b278
+DIST dask-2022.05.0.gh.tar.gz 8658529 BLAKE2B 0b09ef38137d9c395384549fd8a3b0218ad1761ccb1816f8fc4f4af7328215716603e3f41b8cc3bf7044ff42b72eee277147b3bd03da48467cccc88f239bb2bd SHA512 15605321143f354ffb9c890823f5751131d942cc16c523b2d00bdcc752ddc5243525f7cda138091604c8f2f9c5b4a309b1efc95f483b753673df98cc8a81ce81
diff --git a/dev-python/dask/dask-2022.05.0.ebuild b/dev-python/dask/dask-2022.05.0.ebuild
new file mode 100644
index 000000000000..ce855b9cd42f
--- /dev/null
+++ b/dev-python/dask/dask-2022.05.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
+HOMEPAGE="
+ https://dask.org/
+ https://github.com/dask/dask/
+ https://pypi.org/project/dask/
+"
+SRC_URI="
+ https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~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/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/partd-0.3.10[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${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/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # another test relying on -Werror
+ "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
+ # TODO
+ dask/array/tests/test_reductions.py::test_mean_func_does_not_warn
+ dask/tests/test_config.py::test__get_paths
+)
+
+python_test() {
+ epytest -p no:flaky -m "not network"
+}
diff --git a/dev-python/deepmerge/Manifest b/dev-python/deepmerge/Manifest
index c89ab61ecf0b..84eea7f3d94f 100644
--- a/dev-python/deepmerge/Manifest
+++ b/dev-python/deepmerge/Manifest
@@ -1 +1 @@
-DIST deepmerge-1.0.0.gh.tar.gz 14789 BLAKE2B 0a3f7cb72b718995252361864a9208de4b57c32df6da6dc52e6491fa7871be2dcd19be3bcef3eba2d8793009945bfe8e412959da52f9fb1072898026a5ff8837 SHA512 687483ef47f385df345dca6e127897a346a48424eea51c6b8ff35c254517daae0e713f8e86ff2f140ede6ecde98517ddfd9edb5599956f4c716f1f8f2bfcf22a
+DIST deepmerge-1.0.1.gh.tar.gz 15004 BLAKE2B bc1d972f40485d02665fb6cd53875fa0f35e387192a9b0cc65f092966dc760a3ccc7eae6515693f39e58d7bb0a071aaac970873738a99b6962561eed641ef48b SHA512 689c9cc99c3770e27ae131bff65486ca02555840ae3fbeec1e36d08e425842e50ac7005d63ccf053627806c39578b2c9fb84fb10ca76731d17136cea61b87bbd
diff --git a/dev-python/deepmerge/deepmerge-1.0.0.ebuild b/dev-python/deepmerge/deepmerge-1.0.1.ebuild
index 70d3fefefb65..cac01ed7fad6 100644
--- a/dev-python/deepmerge/deepmerge-1.0.0.ebuild
+++ b/dev-python/deepmerge/deepmerge-1.0.1.ebuild
@@ -3,21 +3,29 @@
EAPI=8
-DISTUTILS_USE_SETUPTOOLS=pyproject.toml
+DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{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"
+HOMEPAGE="
+ https://deepmerge.readthedocs.io/en/latest/
+ https://github.com/toumorokoshi/deepmerge/
+ https://pypi.org/project/deepmerge/
+"
SRC_URI="
https://github.com/toumorokoshi/deepmerge/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-BDEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/deepmerge/metadata.xml b/dev-python/deepmerge/metadata.xml
index f0609a5259d1..ea8988e8af6a 100644
--- a/dev-python/deepmerge/metadata.xml
+++ b/dev-python/deepmerge/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<origin>gentoo-staging</origin>
<stabilize-allarches/>
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index c8ac6a809903..3291fa1db9ac 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1,2 +1,3 @@
DIST google-api-core-2.7.1.tar.gz 163942 BLAKE2B 0b28e8dd8607ed6a64a3715c14e321f74d18abc09bc2eee5c6d080936160ea9d6839f1acf9589667c86a688e4e02038cc204f25d0b7cab3e3ed3af2463f31abb SHA512 2264eec00309f272ecca278e8f310bca4be64cfcec94c05fa96a7a8ae350fce0ae9931fbb27aae71e89393289cdbef782631a6766e85d5aee449e903e70f0817
DIST google-api-core-2.7.2.tar.gz 164017 BLAKE2B d2f1c690527c750a819718043542ce853be7f135660dfe661db2ba315213ef4a9756eeab6f1854275044d4f1fed50d119c2914eb00e043b7d5b085dad426a26f SHA512 1fb420a41d603d576030d2b324036de10831035ce1505ba94dedc9e58ce354d0f23e1d3df8a4f2f5082147a1be49d93e10c2209a1407f90ffedfa74815730e14
+DIST google-api-core-2.7.3.tar.gz 164219 BLAKE2B c394fd95bff3ac393174372e0c49f9a7974a006de6f14d07af7b15b4c531d6dae7af8c38e00263289a895cb9dae9ef23368d793f5ae3649b9b029337a72cc0ef SHA512 2bf49738216cd52dad2bdfb3367e370390c366b49a8c3c4f6f49a2a3f17b27120d99933b57c8eb8c9a1f0f25ef5ea6d876cf8c3c6c759d3585d625e57b1153f9
diff --git a/dev-python/google-api-core/google-api-core-2.7.3.ebuild b/dev-python/google-api-core/google-api-core-2.7.3.ebuild
new file mode 100644
index 000000000000..e85779648c06
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.7.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="https://github.com/googleapis/python-api-core/
+ https://googleapis.dev/python/google-api-core/latest/index.html"
+SRC_URI="https://github.com/googleapis/${PN//google/python}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P//google/python}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ dev-python/googleapis-common-protos[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ !dev-python/namespace-google
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/proto-plus[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # failing due to missing grpcio-status
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_unary_errors
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_raised
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_read
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_aiter
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_write
+ tests/unit/test_grpc_helpers.py::test_wrap_unary_errors
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_invocation
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_iterator_initialization
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_during_iteration
+)
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+src_test() {
+ rm -r google || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ distutils_write_namespace google
+ epytest -p no:aiohttp -p no:trio tests
+}
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index bcd051ad24c7..d3a94af7e8db 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,3 +1,4 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.4.3.tar.gz 37850796 BLAKE2B 15b40da8f6973ece4a91fffb5caf249cb8642263bfc2a784ec482bfaad250b6d3beffb9d2ba8a03e5fa10abab02b0e35728a8499ccb870aca06df57c5c1f91f4 SHA512 c2fe54e7517a1417aa8e55596e83edd090534c07f22882634d6ba0a07196441b5bbdd15958473805d8e8871b1b73380487aff3224294d472cd6122490c783145
DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
+DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
diff --git a/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
new file mode 100644
index 000000000000..4b54480c5adf
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.5.2-test.patch
@@ -0,0 +1,261 @@
+From ea4bae5e68e3065ca159ea309a0f3325a06e7f35 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 26 Mar 2021 13:42:49 +0100
+Subject: [PATCH] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments. Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py | 4 ++--
+ lib/matplotlib/tests/test_backend_pgf.py | 2 +-
+ lib/matplotlib/tests/test_colorbar.py | 2 +-
+ lib/matplotlib/tests/test_contour.py | 2 +-
+ lib/matplotlib/tests/test_figure.py | 5 +++--
+ lib/matplotlib/tests/test_image.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 6 +++---
+ lib/matplotlib/tests/test_lines.py | 3 ++-
+ lib/matplotlib/tests/test_streamplot.py | 3 ++-
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/matplotlib/tests/test_usetex.py | 1 +
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
+ 13 files changed, 23 insertions(+), 19 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.005)
++ tol=0.005)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index eb4c34382b..cca73a23f9 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -918,7 +918,7 @@ def test_imshow():
+ ax.imshow("r", data=data)
+
+
+-@image_comparison(['imshow_clip'], style='mpl20')
++@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -4231,7 +4231,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 9b5b0b28ee..a374be0333 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -80,7 +80,7 @@ def test_common_texification(plain_text, escaped_text):
+ # test compiling a figure to pdf with xelatex
+ @needs_xelatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_xelatex.pdf'], style='default')
++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
+ def test_xelatex():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 304056f6d1..9934bac550 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -218,7 +218,7 @@ def test_colorbar_single_ax_panchor_false():
+ plt.colorbar(panchor=False)
+
+
+-@image_comparison(['contour_colorbar.png'], remove_text=True)
++@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 10fb011166..f49fb25dc8 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -345,7 +345,7 @@ def test_contourf_log_extension():
+
+
+ @image_comparison(['contour_addlines.png'],
+- remove_text=True, style='mpl20', tol=0.03)
++ remove_text=True, style='mpl20', tol=0.1)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines():
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 1e076bd64f..11c2668d33 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -23,7 +23,7 @@ import matplotlib.gridspec as gridspec
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(tight_layout=True)
+ gs = gridspec.GridSpec(3, 3)
+@@ -1124,7 +1124,8 @@ def test_subfigure_tightbbox():
+
+ @image_comparison(['test_subfigure_ss.png'], style='mpl20',
+ savefig_kwarg={'facecolor': 'teal'},
+- remove_text=False)
++ remove_text=False,
++ tol=0.013)
+ def test_subfigure_ss():
+ # test assigning the subfigure via subplotspec
+ np.random.seed(19680801)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 719b190578..ee2263a88e 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1324,7 +1324,7 @@ def test_nonuniform_and_pcolor():
+
+
+ @image_comparison(["rgba_antialias.png"], style="mpl20",
+- remove_text=True)
++ remove_text=True, tol=0.005)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index fe8a8dd5f6..43fbda8ab0 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -102,7 +102,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -111,7 +111,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -137,7 +137,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index f6917a134b..4a14abb74d 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -162,7 +162,8 @@ def test_set_drawstyle():
+ assert len(line.get_path().vertices) == len(x)
+
+
+-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
++ tol=0.58)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
+index c8824feb06..081e8c0559 100644
+--- a/lib/matplotlib/tests/test_streamplot.py
++++ b/lib/matplotlib/tests/test_streamplot.py
+@@ -34,7 +34,8 @@ def test_startpoints():
+ plt.plot(start_x, start_y, 'ok')
+
+
+-@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
++@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
++ tol=0.002)
+ def test_colormap():
+ X, Y, U, V = velocity_field()
+ plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index a6f6b44c97..ab5ad8b5cf 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -76,7 +76,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], remove_text=False, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -103,7 +103,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 12557cf847..25b65ead67 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -11,6 +11,7 @@ if not mpl.checkdep_usetex(True):
+ pytestmark = pytest.mark.skip('Missing TeX of Ghostscript or dvipng')
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index f8902ca72f..323579b8b6 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -336,7 +336,7 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+--
+2.35.1
+
diff --git a/dev-python/matplotlib/matplotlib-3.5.2.ebuild b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
new file mode 100644
index 000000000000..308934b44bf2
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.5.2.ebuild
@@ -0,0 +1,286 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
+ virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI="
+ mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/setuptools_scm[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use "${1}"; then
+ echo "${uword} = True"
+ echo "${uword}agg = True"
+ else
+ echo "${uword} = False"
+ echo "${uword}agg = False"
+ fi
+}
+
+python_prepare_all() {
+# Generates test failures, but fedora does it
+# local PATCHES=(
+# "${FILESDIR}"/${P}-unbundle-pycxx.patch
+# "${FILESDIR}"/${P}-unbundle-agg.patch
+# )
+# rm -r agg24 CXX || die
+# rm -r agg24 || die
+
+# cat > lib/${PN}/externals/six.py <<-EOF
+# from __future__ import absolute_import
+# from six import *
+# EOF
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.5.2-test.patch
+ )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || die
+
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ append-flags -fno-strict-aliasing
+ append-cppflags -DNDEBUG # or get old trying to do triangulation
+ tc-export PKG_CONFIG
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+
+ # create setup.cfg (see setup.cfg.template for any changes).
+
+ # common switches.
+ cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
+ [directories]
+ basedirlist = ${EPREFIX}/usr
+ [provide_packages]
+ pytz = False
+ dateutil = False
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ EOF
+
+ if use gtk3 && use cairo; then
+ echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
+ else
+ echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
+ fi
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+python_compile() {
+ wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ # necessary for in-source build
+ local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ mkdir build || die
+ ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ )
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+ distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+python_install() {
+ wrap_setup distutils-r1_python_install
+
+ # mpl_toolkits namespace
+ python_moduleinto mpl_toolkits
+ python_domodule lib/mpl_toolkits/__init__.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/build/html/. )
+
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ find "${D}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index ea1cfcdcf74e..537fb5fdf564 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1,3 +1,4 @@
DIST pylint-2.12.2.gh.tar.gz 1032702 BLAKE2B de7dce04159b332baa5c23f4034ee249e49f9239c5c9190213a51a84a47ac2129f8a2265e1ad9c01ab448ec58f4f36653c6de5b0be6bfdf6aa286c8887313759 SHA512 0d2b9b785371af0a1c809271153abbab58f50455b34f12370461ded2c4f3d62656e4c0391adff48e179b95da945a2f44e762863e2b7d63808976bf5f684e20d2
DIST pylint-2.13.5.gh.tar.gz 1118551 BLAKE2B 70ee4254aa140aba16adfe67aeb896d9c455843dfa945d335b5ba48e85c9d2d8f057223bc74bd4c0c0bfa2d343a9f78e783705b885caaee6895fcddf7ce23ccb SHA512 e399239fbea58260b17f226dddb63f1e6a2f12cdd601a4e73913a169d23fe2b6085e776bf8144e2c5a555dfdc1b28a5818a4103969d504b638b6b41ee296d182
DIST pylint-2.13.7.gh.tar.gz 1120083 BLAKE2B c45d6ec65c11d3682bf3279969f3e45b827b2bbcebbfeb05a31df3a93bb943bf9643a5d467c1e2eebf717577032571a48db1ce84e1c81d72000808ec302aaf1b SHA512 ec0b2ef565239ab3e577c5c2d22c1c8df8b8bb0858c34b6606f649484d69a25c1f51ca61a3da66833d9a713e8a686dc32b940e574650577bdcc4e13d76acc2e5
+DIST pylint-2.13.8.gh.tar.gz 1121081 BLAKE2B 06a0a5c3801318ca45073f04a631e0617b5803ce01fd3973fc96d350c38a988222d4b8b03f86c12c317f6f87db5b7b85d1c428373a17e51d1044b382a0d03c1d SHA512 8ab01a15da7d9b659aa11de3ee804e0ad54fefd549be468fe194f8ec66640f5ecbdeddec468c9fd76d1eea8006d60249b1abba59d5047774d22b7b461224695d
diff --git a/dev-python/pylint/pylint-2.13.8.ebuild b/dev-python/pylint/pylint-2.13.8.ebuild
new file mode 100644
index 000000000000..666ef856292b
--- /dev/null
+++ b/dev-python/pylint/pylint-2.13.8.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/PyCQA/pylint/
+"
+SRC_URI="
+ https://github.com/pycqa/pylint/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+# Make sure to check https://github.com/PyCQA/pylint/blob/main/setup.cfg#L43 on bumps
+# Adjust dep bounds!
+RDEPEND="
+ <dev-python/astroid-2.12[${PYTHON_USEDEP}]
+ >=dev-python/astroid-2.11.3[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.2[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.8 3.9)
+"
+BDEPEND="
+ test? (
+ >=dev-python/GitPython-3[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.4.4-sphinx-theme.patch"
+)
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+
+ # TODO
+ 'tests/test_functional.py::test_functional[forgotten_debug_statement_py37]'
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_error_msg
+ tests/checkers/unittest_typecheck.py::TestTypeChecker::test_nomember_on_c_extension_info_msg
+ )
+ # Specify the test directory explicitly to avoid import file mismatches
+ epytest tests
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/python-docs/python-docs-3.9.12.ebuild b/dev-python/python-docs/python-docs-3.9.12.ebuild
index 0700a3c3c3a6..faae3196acc3 100644
--- a/dev-python/python-docs/python-docs-3.9.12.ebuild
+++ b/dev-python/python-docs/python-docs-3.9.12.ebuild
@@ -10,7 +10,7 @@ S="${WORKDIR}/python-${PV}-docs-html"
LICENSE="PSF-2"
SLOT="$(ver_cut 1-2)"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc ~x86"
src_install() {
rm -r _sources || die
diff --git a/dev-python/python-stdnum/python-stdnum-1.17.ebuild b/dev-python/python-stdnum/python-stdnum-1.17.ebuild
index 198e1196e691..3ee38d4e0e24 100644
--- a/dev-python/python-stdnum/python-stdnum-1.17.ebuild
+++ b/dev-python/python-stdnum/python-stdnum-1.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -19,7 +19,7 @@ RDEPEND="
vies? (
|| (
dev-python/zeep[${PYTHON_USEDEP}]
- dev-python/suds[${PYTHON_USEDEP}]
+ dev-python/suds-community[${PYTHON_USEDEP}]
)
)"
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index f2ea12214ce9..f6404d90cda9 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1 +1,2 @@
DIST pyzotero-1.5.3.tar.gz 525734 BLAKE2B 11de38c1954478ed9918f33bdbf550d6d0eda99a6e38154361c2da336158bacfaf16f1d9bb9ff08550e6951c3e29efe50618c78672bfcec6237bc42e6b52c6c5 SHA512 b31872db4a2fd53f6c17f6a33115ac762147810efae6f6351579a03f651f843e46b1d5f584cc47c1d20d8dad5c318d2835c2e053bc43f3063e84bce85658d9fb
+DIST pyzotero-1.5.4.tar.gz 525739 BLAKE2B 93acb725cb47e9f1642d88ea79e590e29af6eecedb5a14e220c9d6ce2c27d05dfd9042ef49d53c710a507050f566b097a272e025d26d1b10a64357e511da656e SHA512 10c27d531adf358c337aab3358d24e28318dfee02b08387663f0433fffc645ddc633929a8422d508952e26d29219c350c6865248c447391436d8cb5061f273ec
diff --git a/dev-python/pyzotero/pyzotero-1.5.4.ebuild b/dev-python/pyzotero/pyzotero-1.5.4.ebuild
new file mode 100644
index 000000000000..8dcea8ed93ae
--- /dev/null
+++ b/dev-python/pyzotero/pyzotero-1.5.4.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python client for the Zotero API"
+HOMEPAGE="
+ https://github.com/urschrei/pyzotero/
+ https://pypi.org/project/pyzotero/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-text/zotero-bin
+ dev-python/bibtexparser[${PYTHON_USEDEP}]
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/httpretty[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.35.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.35.ebuild
index 8eac5cec0567..6bda6d1aa72a 100644
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.35.ebuild
+++ b/dev-python/sqlalchemy/sqlalchemy-1.4.35.ebuild
@@ -23,7 +23,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="examples +sqlite test"
BDEPEND="
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index 2663e586645c..59deacd92d09 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,4 +1,3 @@
-DIST starlette-0.17.1.tar.gz 403781 BLAKE2B 75de462afc507d89159f17002eb2acc5453520ad312573d5697f5da8fc7d76fcb2407bf41086c923a60a59766f5ac02de1b003962a4d1031c062bd80a0d50e6c SHA512 a8f8cee0dc40d19eab62996f4ef1230fa758375fa9b51e15eae5c906a89b76519ebe4e423aa567d73e4c055cef63e9bbae11b47d4372e28b615f6edaf22a06a7
DIST starlette-0.18.0.gh.tar.gz 408097 BLAKE2B ddc85690d9eb962a8d82544a1667d17316025330c8fda0c79dc21422399bcff01ccf5baf85eda7941f40aac5845d18fdcefaa23ba8ba442d30f0b9e194f7287c SHA512 521d39c1eec818250da3f2dc24cd2fb08393b76e6314a9bd5f3e520bdfa4652ae4ace5876b7e7f3a7ddc5540160e1086997a40b86a1b1bfd694c6aa1abde9106
-DIST starlette-0.19.0.gh.tar.gz 412337 BLAKE2B 31d8c7a7b0c1708ed23cf001061e03dbeb9ee7e57fb81cb4bc349cb6642f2a0a5aba973e96f6337c0d304a5e3c5be3ed4ed68045c3c165a4c952529278b859df SHA512 7b889c2cfd453882a9c34e0451975b6cdbf4a0274872225473bf196901ded01b03484c01fafbac8e8f5df4fe9bd146df966cd7f5b278592d0ef88e7cff5010a2
DIST starlette-0.19.1.gh.tar.gz 415049 BLAKE2B 15842a521b9cef2ed823e857f984d7d8db7a9fb4c0fb06d811fe29336a104c600b9c4f0a14b535ad1a84743cb4a1452d87f3ff0ae9245270b765af89254be86e SHA512 3fd721e4a8accfd4f0c1c87b4b0eb62b559066aeeb7ddd31dcacb73c2b4e8619fe727b10f2e3053199e710a561063ef7bbd73ad65294d0ce5db778d458ffbd91
+DIST starlette-0.20.0.gh.tar.gz 414497 BLAKE2B 47c6ef632a600bd18075c8ea65811ed18e08c285ed01cb34e5f74c00b2349430703ac041beacb35b91d941501001d2b93b79b777b403f5b6bef4682f6c13b02a SHA512 f28aff53732ec5950b2432ea644667d408e80cb4b51a177652a9bfe6731c6fa1208cba644fcaa84405bf51ef00f500a277c86e48f5446e2014369c1d1edda357
diff --git a/dev-python/starlette/starlette-0.17.1.ebuild b/dev-python/starlette/starlette-0.17.1.ebuild
deleted file mode 100644
index 531915874c45..000000000000
--- a/dev-python/starlette/starlette-0.17.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{7,8,9,10} )
-inherit distutils-r1
-
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="https://www.starlette.io/"
-SRC_URI="https://github.com/encode/starlette/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Needs fixing with trio deprecations (dies on ModuleWithDeprecations)
-RESTRICT="test"
-
-RDEPEND="dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/trio[${PYTHON_USEDEP}] )"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-
- # Unpackaged 'multipart' dependency
- tests/test_formparsers.py
-)
-
-EPYTEST_DESELECT=(
- # Unpackaged 'multipart' dependency
- tests/test_requests.py::test_request_form_urlencoded
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.19.0.ebuild b/dev-python/starlette/starlette-0.20.0.ebuild
index ac8c61a310f0..c427526ff72c 100644
--- a/dev-python/starlette/starlette-0.19.0.ebuild
+++ b/dev-python/starlette/starlette-0.20.0.ebuild
@@ -9,7 +9,11 @@ PYTHON_COMPAT=( python3_{7,8,9,10} )
inherit distutils-r1
DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="https://www.starlette.io/"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
SRC_URI="
https://github.com/encode/starlette/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
@@ -25,10 +29,15 @@ RDEPEND="
dev-python/itsdangerous[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.8 3.9 )
+ ' 3.8 3.9)
"
+# brotli needed for consistent test output
BDEPEND="
test? (
+ || (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ )
dev-python/trio[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/suds/Manifest b/dev-python/suds-community/Manifest
index c20f4d567495..24933b92a74f 100644
--- a/dev-python/suds/Manifest
+++ b/dev-python/suds-community/Manifest
@@ -1 +1,2 @@
DIST suds-community-1.1.0.tar.gz 284545 BLAKE2B b5f6f6f46a35df3263664c9893745a2e723f3eef543cb1a9e9fd061956b0c00c219e818228de9bf11b2730ad0a8fed90ad731199ffc7ca9fba9f22c5c0c8dd41 SHA512 2c8902e16c3513c99ce6d8bdf58ef4f5c4d704f1bf2480ea2b23ec2adbd9e8919928bfd5e3fd6859028b7fbc3788d067b9b71bad2a20c2f4907e6e56f3f15350
+DIST suds-community-1.1.1.tar.gz 284934 BLAKE2B 9df1a5f6b4dd2ca060c639147a090cef6a194f275706e03a3fdafa46c4d18b890f7c94249db8db6202e95abea71948e0c42fe42f14f659ca14bb0aca11b4b5f5 SHA512 9b343d704b2db123ff44685fb03da8f6912cefb32d38e9b79f9f84aeebff32ba26936a0f70a6121628c6f2c5388e94d380f08ed546f55fbf84fdc8e4fdbd3d0a
diff --git a/dev-python/suds/metadata.xml b/dev-python/suds-community/metadata.xml
index 0d469d9cec9d..28447003a5e4 100644
--- a/dev-python/suds/metadata.xml
+++ b/dev-python/suds-community/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<changelog>https://github.com/suds-community/suds/blob/master/CHANGELOG.md</changelog>
<bugs-to>https://github.com/suds-community/suds/issues</bugs-to>
diff --git a/dev-python/suds/suds-1.1.0.ebuild b/dev-python/suds-community/suds-community-1.1.0.ebuild
index d60538541f10..b0abcbdcaafe 100644
--- a/dev-python/suds/suds-1.1.0.ebuild
+++ b/dev-python/suds-community/suds-community-1.1.0.ebuild
@@ -9,11 +9,9 @@ PYTHON_COMPAT=( python3_{7,8,9,10} )
inherit distutils-r1
-MY_PN="${PN}-community"
DESCRIPTION="Lightweight SOAP client"
HOMEPAGE="https://github.com/suds-community/suds"
-SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
-S="${WORKDIR}/${MY_PN}-${PV}"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0"
diff --git a/dev-python/suds-community/suds-community-1.1.1.ebuild b/dev-python/suds-community/suds-community-1.1.1.ebuild
new file mode 100644
index 000000000000..182116aab943
--- /dev/null
+++ b/dev-python/suds-community/suds-community-1.1.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight SOAP client"
+HOMEPAGE="
+ https://github.com/suds-community/suds/
+ https://pypi.org/project/suds-community/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+DOCS=( README.md notes/. )
+
+distutils_enable_tests pytest
diff --git a/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch b/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch
new file mode 100644
index 000000000000..3b930c998d99
--- /dev/null
+++ b/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch
@@ -0,0 +1,84 @@
+https://github.com/symengine/symengine.py/pull/402
+https://bugs.gentoo.org/836599
+
+From bc84086d60de038eb381c9e37c8b552a6c246ab5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 2 May 2022 09:24:45 +0200
+Subject: [PATCH] Fix build to avoid duplicate files in wheel
+
+Fix the build system to package pure Python files
+via distutils/setuptools, and limit CMake to installing the compiled
+extension.
+
+The prior logic has installed some of the .py files both via setuptools
+and via CMake, to different build directories. As a result,
+the resulting wheel contained duplicate files, e.g.:
+
+ 2170 05-02-2022 07:08 symengine/__init__.py
+ 2170 05-02-2022 07:08 symengine-0.9.2.data/purelib/symengine/__init__.py
+
+Duplicate files cause the wheel to be rejected by the installer package.
+
+After the change, a correct wheel is generated. Installation works
+both via PEP517/wheel and via legacy `setup.py install`.
+--- a/setup.py
++++ b/setup.py
+@@ -226,7 +226,7 @@ def finalize_options(self):
+ url="https://github.com/symengine/symengine.py",
+ python_requires='>=3.7,<4',
+ zip_safe=False,
+- packages=['symengine'],
++ packages=['symengine', 'symengine.lib', 'symengine.tests'],
+ cmdclass = cmdclass,
+ classifiers=[
+ 'License :: OSI Approved :: MIT License',
+--- a/symengine/CMakeLists.txt
++++ b/symengine/CMakeLists.txt
+@@ -1,7 +1 @@
+ add_subdirectory(lib)
+-add_subdirectory(tests)
+-
+-set(PY_PATH ${PYTHON_INSTALL_PATH}/symengine)
+-install(FILES __init__.py utilities.py sympy_compat.py functions.py printing.py
+- DESTINATION ${PY_PATH}
+- )
+--- a/symengine/lib/CMakeLists.txt
++++ b/symengine/lib/CMakeLists.txt
+@@ -28,7 +28,7 @@ install(TARGETS symengine_wrapper
+ ARCHIVE DESTINATION ${PY_PATH}
+ LIBRARY DESTINATION ${PY_PATH}
+ )
+-install(FILES __init__.py
++install(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/config.pxi
+ symengine.pxd
+ symengine_wrapper.pxd
+--- a/symengine/tests/CMakeLists.txt
++++ /dev/null
+@@ -1,25 +0,0 @@
+-set(PY_PATH ${PYTHON_INSTALL_PATH}/symengine/tests)
+-install(FILES __init__.py
+- test_arit.py
+- test_dict_basic.py
+- test_eval.py
+- test_expr.py
+- test_functions.py
+- test_number.py
+- test_matrices.py
+- test_ntheory.py
+- test_printing.py
+- test_sage.py
+- test_series_expansion.py
+- test_sets.py
+- test_solve.py
+- test_subs.py
+- test_symbol.py
+- test_sympify.py
+- test_sympy_conv.py
+- test_var.py
+- test_lambdify.py
+- test_sympy_compat.py
+- test_logic.py
+- DESTINATION ${PY_PATH}
+- )
+
diff --git a/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch b/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch
new file mode 100644
index 000000000000..a8fad4868110
--- /dev/null
+++ b/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch
@@ -0,0 +1,17 @@
+https://github.com/symengine/symengine.py/commit/987e665e71cf92d1b021d7d573a1b9733408eecf
+https://bugs.gentoo.org/836599
+
+From: Isuru Fernando <isuruf@gmail.com>
+Date: Sat, 2 Apr 2022 15:43:00 -0500
+Subject: [PATCH] Fix for latest setuptools
+
+--- a/setup.py
++++ b/setup.py
+@@ -226,6 +226,7 @@ def finalize_options(self):
+ url="https://github.com/symengine/symengine.py",
+ python_requires='>=3.7,<4',
+ zip_safe=False,
++ packages=['symengine'],
+ cmdclass = cmdclass,
+ classifiers=[
+ 'License :: OSI Approved :: MIT License',
diff --git a/dev-python/symengine/symengine-0.9.2-r1.ebuild b/dev-python/symengine/symengine-0.9.2-r1.ebuild
new file mode 100644
index 000000000000..7c0cccceb854
--- /dev/null
+++ b/dev-python/symengine/symengine-0.9.2-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+MY_P=${PN}.py-${PV}
+DESCRIPTION="Python wrappers to the symengine C++ library"
+HOMEPAGE="https://github.com/symengine/symengine.py/"
+SRC_URI="
+ https://github.com/symengine/symengine.py/archive/v${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+BDEPEND="
+ dev-util/cmake
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sympy[${PYTHON_USEDEP}]
+ )
+"
+# See bug #786582 for symengine constraint
+# See also https://github.com/symengine/symengine.py/blob/master/symengine_version.txt
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=sci-libs/symengine-$(ver_cut 1-2):=
+"
+DEPEND="${RDEPEND}"
+
+# the C library installs the same docs
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${P}-setuptools-61.patch
+ "${FILESDIR}"/${PN}-0.9.2-cmake-setuptools.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+ python_optimize
+}
diff --git a/dev-python/zstd/Manifest b/dev-python/zstd/Manifest
index ba609473e791..9d2a43cdda4d 100644
--- a/dev-python/zstd/Manifest
+++ b/dev-python/zstd/Manifest
@@ -2,3 +2,4 @@ DIST zstd-1.5.1.0.tar.gz 604039 BLAKE2B 5f3e2f2848d67d2455bab721d011946fa8138729
DIST zstd-1.5.2.0.tar.gz 605453 BLAKE2B 1564bf6f5d37ca5c55a161373f10ff99ffc942abf3d177bf15943570bc30367f0d6aee88cbfd28f1a57483945e0d3de5fde0dfc78bc2b0066faef12de2684fbd SHA512 99df709b889732dc5d6e682e79c52731b918458ccf720431a6afc757dd4cd58bd3ffe1ad45158d28a87d7baaa883fd074cb94717e023ee80eef1561d651504e1
DIST zstd-1.5.2.2.tar.gz 605458 BLAKE2B b302edd73d303dffe66564217b03c4477e2679788ab58782bd620ae8e5e0410da3c672715622ad5cff1bfd24835bfe61255b1df4ba7c6d452c08dee42d45a1e0 SHA512 fc5d60db491adefbf9af5d46600701075418986ffe5042d74eae75e2d1ec3347141dea3bf0a384f87ffbf833be398157f9b3d7277e6a30994b1287b14b6a2d21
DIST zstd-1.5.2.4.tar.gz 606443 BLAKE2B fcde9a6cf7195fa9ab50ae93c5401a2d92bafa3f1a8f960ad30f107cf8b63c8b7c8c78bf74bba21d33163df311dcff9d405ad4fb15c7b6ef3e6aeb3596236f14 SHA512 387055d86998c0eca22c8037e2c2e6a85b5e82e5adae3a5bc67f84c4f808b9493817fbc5c94929776a400cff1b7859302db1bd128418ab22e6c0c0f9276e2ff4
+DIST zstd-1.5.2.5.tar.gz 606492 BLAKE2B 072f3e3c89f7e2c372bf020bcb3766ed264c26c0bdba424feb70753ffcf4232eecfcce96a389296c01c961408c05008373d65d9ac790f3b82e3567aa3c6c806f SHA512 8b1e79ff00c8dbf71994c4a9af4e88e749d11c101137c31013d7678aeb9c9a9b7cfa04989e0a68be32a4c4ae56907711541025233078b82fb313bfdb056cb150
diff --git a/dev-python/zstd/zstd-1.5.2.5.ebuild b/dev-python/zstd/zstd-1.5.2.5.ebuild
new file mode 100644
index 000000000000..292c7f66d8a2
--- /dev/null
+++ b/dev-python/zstd/zstd-1.5.2.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2020-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple python bindings to Yann Collet ZSTD compression library"
+HOMEPAGE="
+ https://github.com/sergey-dryabzhinsky/python-zstd/
+ https://pypi.org/project/zstd/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+ !<dev-python/zstandard-0.15.2-r1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ export ZSTD_EXTERNAL=1
+}