summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-11-07 12:59:45 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-11-07 12:59:45 +0000
commit4227faafd6bb45684ffb3b84414455c2c384e072 (patch)
tree45ac4b6684d9fcd9fe6c7d00159b3d6718944831 /dev-python
parent3102fc97a826a2fde5d5e8af5099854ab2b6ec9c (diff)
downloadbaldeagleos-repo-4227faafd6bb45684ffb3b84414455c2c384e072.tar.gz
baldeagleos-repo-4227faafd6bb45684ffb3b84414455c2c384e072.tar.xz
baldeagleos-repo-4227faafd6bb45684ffb3b84414455c2c384e072.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/executing/executing-1.1.1.ebuild2
-rw-r--r--dev-python/httpcore/Manifest1
-rw-r--r--dev-python/httpcore/httpcore-0.15.0-r1.ebuild54
-rw-r--r--dev-python/imageio/Manifest1
-rw-r--r--dev-python/imageio/imageio-2.22.4.ebuild82
-rw-r--r--dev-python/jaraco-collections/Manifest1
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild32
-rw-r--r--dev-python/phonenumbers/Manifest1
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.0.ebuild39
-rw-r--r--dev-python/platformdirs/Manifest1
-rw-r--r--dev-python/platformdirs/platformdirs-2.5.3.ebuild35
-rw-r--r--dev-python/psycopg/psycopg-2.9.4.ebuild2
-rw-r--r--dev-python/pygit2/Manifest1
-rw-r--r--dev-python/pygit2/pygit2-1.11.0.ebuild48
-rw-r--r--dev-python/pylint-venv/Manifest1
-rw-r--r--dev-python/pylint-venv/metadata.xml11
-rw-r--r--dev-python/pylint-venv/pylint-venv-2.3.0.ebuild27
-rw-r--r--dev-python/pyside2-tools/Manifest1
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild77
-rw-r--r--dev-python/pyside2/Manifest1
-rw-r--r--dev-python/pyside2/pyside2-5.15.7.ebuild226
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.3.2-r1.ebuild (renamed from dev-python/pyside6-tools/pyside6-tools-6.3.2.ebuild)2
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.4.0.ebuild64
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/metadata.xml2
-rw-r--r--dev-python/pyside6/pyside6-6.3.2-r1.ebuild (renamed from dev-python/pyside6/pyside6-6.3.2.ebuild)36
-rw-r--r--dev-python/pyside6/pyside6-6.4.0.ebuild223
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.28.6.ebuild2
-rw-r--r--dev-python/python-docs/python-docs-3.11.0.ebuild2
-rw-r--r--dev-python/pythran/pythran-0.12.0-r2.ebuild2
-rw-r--r--dev-python/shiboken2/Manifest1
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.7.ebuild174
-rw-r--r--dev-python/shiboken6/Manifest1
-rw-r--r--dev-python/shiboken6/shiboken6-6.3.2-r1.ebuild (renamed from dev-python/shiboken6/shiboken6-6.3.2.ebuild)11
-rw-r--r--dev-python/shiboken6/shiboken6-6.4.0.ebuild169
-rw-r--r--dev-python/spyder/Manifest1
-rw-r--r--dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch26
-rw-r--r--dev-python/spyder/spyder-5.4.0.ebuild195
-rw-r--r--dev-python/statsd/Manifest1
-rw-r--r--dev-python/statsd/statsd-4.0.1.ebuild26
-rw-r--r--dev-python/subunit/Manifest1
-rw-r--r--dev-python/subunit/subunit-1.4.1.ebuild96
-rw-r--r--dev-python/tekore/Manifest1
-rw-r--r--dev-python/tekore/tekore-4.5.0.ebuild49
-rw-r--r--dev-python/xarray/xarray-2022.10.0-r1.ebuild2
-rw-r--r--dev-python/zope-i18nmessageid/Manifest1
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.0.ebuild49
48 files changed, 1753 insertions, 30 deletions
diff --git a/dev-python/executing/executing-1.1.1.ebuild b/dev-python/executing/executing-1.1.1.ebuild
index 8412980a67cc..1f3503900987 100644
--- a/dev-python/executing/executing-1.1.1.ebuild
+++ b/dev-python/executing/executing-1.1.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index 616aa6598a01..86c5e39cc0a0 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1 +1,2 @@
+DIST httpcore-0.15.0-h11-0.14.patch 7087 BLAKE2B 08a7b1a155392637cea9b6d59d01fc60b7a73416db9d87eb2477843cf6c46d1f4e342ce1b4b3ed362f0bf9d4dea7dca40dc7496c0b04a698c8924df7cbdb7f5f SHA512 9235d06a53b1839d7df945499f666477627dca5cbccde98b52d571d1d50380eb74b8d1b6538ea1cf5150062476780e5bf96290910c7c5513199d696f765a6868
DIST httpcore-0.15.0.gh.tar.gz 76220 BLAKE2B e9a346d4f77cde82be5a3eb468123ae453753e57b54382f0b2c60b16afd3433cba173d9a796df20d76edbd8b5bcf2d61c32302bdd30c8d587036b3ac6f0425fd SHA512 3c25630d582448e3c7d46176c8862e4d92c6c4aac954bfe46b06e26297b32f996db2e002a87c7187accb5bf4ef86e82d7f9051404bee651ce5254119571d0c95
diff --git a/dev-python/httpcore/httpcore-0.15.0-r1.ebuild b/dev-python/httpcore/httpcore-0.15.0-r1.ebuild
new file mode 100644
index 000000000000..cd2b03faa904
--- /dev/null
+++ b/dev-python/httpcore/httpcore-0.15.0-r1.ebuild
@@ -0,0 +1,54 @@
+# 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,11} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A minimal low-level HTTP client"
+HOMEPAGE="
+ https://www.encode.io/httpcore/
+ https://github.com/encode/httpcore/
+ https://pypi.org/project/httpcore/
+"
+SRC_URI="
+ https://github.com/encode/httpcore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://github.com/encode/httpcore/commit/4cf288e0007cb73561b9020af9228f076ba2a94e.patch
+ -> ${P}-h11-0.14.patch
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ =dev-python/anyio-3*[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ <dev-python/h11-0.15[${PYTHON_USEDEP}]
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ =dev-python/sniffio-1*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${DISTDIR}"/${P}-h11-0.14.patch
+)
+
+pkg_postinst() {
+ optfeature "SOCKS support" dev-python/socksio
+}
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index ae59f0904f03..493404b8f78b 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,3 +1,4 @@
DIST imageio-2.22.0.gh.tar.gz 394144 BLAKE2B 957edbeaad6be459ff865eed3159b0f7776e3dd0782e0380bfe2c40362d0c08ccc8f29a2f38a8427deb263554495b73cc4df641e569b9d33700fcc6ed1395396 SHA512 23d606e32ab2bdc306a4b9d17120e5eda8c8a4fd96d840181afecd6e35f6649621740608f0286d2a5462822acc7ef4e1e7f1e9076882ce975f1da717b136c8c4
+DIST imageio-2.22.4.gh.tar.gz 395090 BLAKE2B 8980516e26c3a8d128937046582b796264616922f10c5a347ec9b718c773666fe431b2426abbf1de2c99a27cfdc1d7747727c23b2dd665ae88e405746966896e SHA512 38339e7da4ae238cf91aae4ec500899edf7547e80029941550ea73c6b0ba926eac21f4a234833ce52078426c660409558935b72775f3131a390f913fefdb0df1
DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
diff --git a/dev-python/imageio/imageio-2.22.4.ebuild b/dev-python/imageio/imageio-2.22.4.ebuild
new file mode 100644
index 000000000000..fd12e67c07bf
--- /dev/null
+++ b/dev-python/imageio/imageio-2.22.4.ebuild
@@ -0,0 +1,82 @@
+# 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,11} )
+
+inherit distutils-r1
+
+BIN_COMMIT=224074bca448815e421a59266864c23041531a42
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
+ -> ${PN}-chelsea.png
+ https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
+ -> ${PN}-cockatoo.mp4
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# over 50% of tests rely on Internet
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+# requests for fsspec[github]
+BDEPEND="
+ test? (
+ dev-python/fsspec[${PYTHON_USEDEP}]
+ dev-python/imageio-ffmpeg[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}"/imageio-2.22.0-block-download.patch
+ )
+
+ if use test; then
+ mkdir -p "${HOME}"/.imageio/images || die
+ local i
+ for i in chelsea.png cockatoo.mp4; do
+ cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
+ done
+ fi
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Fails because of system installed freeimage
+ tests/test_core.py::test_findlib2
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # known broken
+ # https://github.com/imageio/imageio/issues/890
+ tests/test_freeimage.py::test_exr_write
+)
diff --git a/dev-python/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index ddfa00286b31..4baa7a5807a2 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1,3 +1,4 @@
DIST jaraco.collections-3.5.2.tar.gz 16038 BLAKE2B 3f7f48f4c65e44aba621dd894a84711473ff42e37be8067e356cd6ca0f8740c667cb282bddad4315ddd7c8922c316c57b40984455f0af4bc8bbf4304a12a6779 SHA512 9567ee44fbc5010cc81ee24de792e53b5a225759b5f7d2e7dd932b0cae38e2035fddb5bd3dee5dc08fea9c61e2bf9087418cd192d81c72760f1e0d95a7b3788c
DIST jaraco.collections-3.6.0.tar.gz 16720 BLAKE2B 283e9570729ded2b33b6fd1ab7a7b1414588a48455fc3a3103e4a3fe3e4eadae0d9e925a2f1e2de6ee8973121e1d01923c4c3ea72c618033f776c2e4b9add558 SHA512 a5cfa42e60d4a63463d159090086f9400f6faeeaedd9cba7d46bdfc9fc328b0056d6f2e428de93bfd59ea4f2bdc5d8b71158c5f1592a62e2ebd8e1ed7471e4ef
DIST jaraco.collections-3.7.0.tar.gz 16874 BLAKE2B 6505856c1e3bb3fe55d84a5c8804481b2057b738cb37dc613f2dacc9fc19772eec3c9e4c310467ef7fcde09b3aff01b974a2ff8976988fb3802a7c77f35407bb SHA512 6ebf276b662bdd78622c345d64be8b919de8e10e248c78a6107e65a58f4b158ba788685f518d1590028c2bc9a13b1a48c30d5e30f964696a87330dba3b1432d7
+DIST jaraco.collections-3.8.0.tar.gz 17021 BLAKE2B d1439d2ac8e1c62a87f85775d58a1ea30abfb9eeae2d04c00eaaca9452cd3d46c668841073ee41913a52afa519ecbbddba321ec06584c8cab29dd736f4337219 SHA512 3d20c07d616e82c8c2699f2a5e7a0c42e8a4e5314535d4521a2e3457db510cd24019b23128682ac60c34b47fc4b5232ba0fd2e463c199aef6f6eb6d6ee4347ac
diff --git a/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
new file mode 100644
index 000000000000..0b87c11c5a0c
--- /dev/null
+++ b/dev-python/jaraco-collections/jaraco-collections-3.8.0.ebuild
@@ -0,0 +1,32 @@
+# 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,11} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Models and classes to supplement the stdlib collections module"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.collections/
+ https://pypi.org/project/jaraco.collections/
+"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN/-/.}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools_scm-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 0f05c82f3264..442d69c11b37 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1,2 +1,3 @@
DIST python-phonenumbers-8.12.56.gh.tar.gz 4906531 BLAKE2B d55d828a26bc3a86660b6341c9577de6f489d3511971c5a843f10c14c05f0c82340109f13cc86c261119d6598ade95c2c3c9afdea485b09f3f73be891ee2a16e SHA512 675cf8d15536efd156a230cff9e027cdba718a32ca2facb493b235f39dc1a0c86f6a376d3d501690b25a5e52d6d411309626b8ecce9a065456e42774da04ea49
DIST python-phonenumbers-8.12.57.gh.tar.gz 4906700 BLAKE2B b755e6e27c3006ce2b72f8e8900937ac2b7d2bd464052cd9a788ba5cdbd08ead4628963ea794a5dee962531753f6674342a3eed092edfb421c1d8f203d90b2b3 SHA512 8da340dd88c4bd41fd18af264667211e7d9dea97dcb71306c901feb3f32ee7a7012dfa1a66b8ddac746ceaab972529c32d9fc19e331893296f9938c7249173ba
+DIST python-phonenumbers-8.13.0.gh.tar.gz 4907144 BLAKE2B 8441eb3bae743c92aacd581c0dfbea32d04353dbb6e45a3fd24ed4b9ef2e6a80ee70167b59ad288383cf409bdad73ed9bded6c991b7809d6ff2bbcc68519aab3 SHA512 1f8e78b3fa1418dec1cc89c02a7e8544847f343912be99d2b62aa49250aa0d89d67d27f0f9c40481ef6125872be7cc772de25bdd9ce26df512e7715f4f8281f2
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.0.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.0.ebuild
new file mode 100644
index 000000000000..99028fc767a1
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.0.ebuild
@@ -0,0 +1,39 @@
+# 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,11} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index bb7c55d33e49..29eac4e09f13 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1,2 @@
DIST platformdirs-2.5.2.gh.tar.gz 20335 BLAKE2B 5d11e39d3e7482646e90d57642f0a956633408de5ec9f3cc1954e451ebb3bc3234a453c1e62997bcc74a32082f5d044a1e68ef6d7e75e27876495ad6ffb3c8f5 SHA512 7162050adff66124601359f0c1f73e671444d286e9f00c2694647df233c25e1eae673baf829e3e74e2a54d15a1633d0202dba986d4ed8a2864fc47859af0fd4e
+DIST platformdirs-2.5.3.gh.tar.gz 20644 BLAKE2B db8411c06ddf6cf5628aca2b828654293430cff0db36df5cfddebee2bd10122a50aa66f5c6f724f8f051f8745a0c85a00d59b12778f4478b6632d2d088d2c266 SHA512 9a44673a1f5ce7f3197843c35fb7972baeb7ad586bbf5751b7185aca2ae62fc0e467df13247d57884c68e90db4ef6e96b73744b1528d9c1b3f4c90874fc9c538
diff --git a/dev-python/platformdirs/platformdirs-2.5.3.ebuild b/dev-python/platformdirs/platformdirs-2.5.3.ebuild
new file mode 100644
index 000000000000..daa913f3bb8a
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-2.5.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+SRC_URI="
+ https://github.com/platformdirs/platformdirs/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/psycopg/psycopg-2.9.4.ebuild b/dev-python/psycopg/psycopg-2.9.4.ebuild
index 9dd123072e0f..7589dd485b26 100644
--- a/dev-python/psycopg/psycopg-2.9.4.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.4.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
IUSE="debug test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
index 07c83fdb6c57..a1049cd54091 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1 +1,2 @@
DIST pygit2-1.10.1.gh.tar.gz 752254 BLAKE2B b0f09eb65be19e9bb0e21afab4613478e1ad516f2cdd10c01328b73233e4e7f3a33d2c90c5ccb35a55050b18e6bf1e1dadb330457a78d0fed9d75da5a4082588 SHA512 d545b5919b6c1ef5411a20acc7463a7ff934852bef209c7254b33365ccb6e127f136537745088be387a07a70e99d2a12466570a515fcb9410216a34a565e7ea9
+DIST pygit2-1.11.0.gh.tar.gz 757139 BLAKE2B aef7dd1e9dfe8961be9e34c63ab07b13f9cd3affde2b28cc97a2c227c121662f7464ba1af741a5a06a3ac153531c4158699ffb94b393bcf954248afa10088ede SHA512 2bde656d0f6565a827cb2d090a4e3211d838a6822954cbaf01db67976e6959bbb21a24b4671398f59f3793923c5b6bb484e62b6b8af28998b06cfe3758165668
diff --git a/dev-python/pygit2/pygit2-1.11.0.ebuild b/dev-python/pygit2/pygit2-1.11.0.ebuild
new file mode 100644
index 000000000000..ee6b95654f3a
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.11.0.ebuild
@@ -0,0 +1,48 @@
+# 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,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+SRC_URI="
+ https://github.com/libgit2/pygit2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+ =dev-libs/libgit2-1.5*:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.9.1:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pylint-venv/Manifest b/dev-python/pylint-venv/Manifest
new file mode 100644
index 000000000000..e923065b1a81
--- /dev/null
+++ b/dev-python/pylint-venv/Manifest
@@ -0,0 +1 @@
+DIST pylint-venv-2.3.0.gh.tar.gz 4967 BLAKE2B 7095848b28f1128d44164fecbd1fd1c3694140d8b3818fefcab92aa5a4083608dfc36c96a6c30b117a8592bea0de9b92a537c33f8db4ce8c1285a575d1aa2131 SHA512 c3f9294a137cc6369984cf714196ee0a248471990f2c6e691da86f3048126b99775cc8e9c516c72bd8746d0d814a52387eca165c5f1960aa418ec5abb13a3bed
diff --git a/dev-python/pylint-venv/metadata.xml b/dev-python/pylint-venv/metadata.xml
new file mode 100644
index 000000000000..ea8988e8af6a
--- /dev/null
+++ b/dev-python/pylint-venv/metadata.xml
@@ -0,0 +1,11 @@
+<?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/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pylint-venv/pylint-venv-2.3.0.ebuild b/dev-python/pylint-venv/pylint-venv-2.3.0.ebuild
new file mode 100644
index 000000000000..56de66d7a563
--- /dev/null
+++ b/dev-python/pylint-venv/pylint-venv-2.3.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Init-hook to use the same Pylint with different virtual environments"
+HOMEPAGE="
+ https://pypi.org/project/pylint-venv/
+ https://github.com/jgosmann/pylint-venv/
+"
+SRC_URI="
+ https://github.com/jgosmann/pylint-venv/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/pylint[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index a69f8b0496e6..91dcf6569b36 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1,2 +1,3 @@
DIST pyside-setup-opensource-src-5.15.5.tar.xz 3577972 BLAKE2B ee16ce18ec4103add41ad89b658012cb2e8695bda51269d3cd1614c2b6d029c0eaba5e592d5e58b6267e1ddc020a938d3ccd2fbc9461cc5bf202f3bdbf6b5d62 SHA512 61b987ec823e9a89f2a07a1991d47f36eb45e3ce416aa6e0032a58ba3d623ac26224cb0f43a2db76850bce7290d12fae610de06405350362caac7860ba99f0c3
DIST pyside-setup-opensource-src-5.15.6.tar.xz 3580388 BLAKE2B 8a3b15d073bcbb0c6734f500ca906e56387cb8fc4bfcfd996304d71b54edd5f4568976049519ed26aa718bee9e43f59a0c4ef53837d5a341219b991a8527a800 SHA512 99a0c1a05e722cbf33128cf25742e61b92e151fdc05b79db9bafe778e024a0c6fc2886ee3d0b923ff681c55916f5c0eea4197f174432587fd662fba4390b26f4
+DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild
new file mode 100644
index 000000000000..7dfd51d46996
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.7.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake python-r1
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+# the tools conflict with tools from QT
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.1-dont-install-tools.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ # The tests are only related to the tools that we don't install
+ local mycmakeargs=(
+ -DBUILD_TESTS=OFF
+ )
+
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ )
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ python_doexe "${BUILD_DIR}/pylupdate/pyside2-lupdate"
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ doman pylupdate/pyside2-lupdate.1
+ einstalldocs
+}
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index a69f8b0496e6..91dcf6569b36 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1,2 +1,3 @@
DIST pyside-setup-opensource-src-5.15.5.tar.xz 3577972 BLAKE2B ee16ce18ec4103add41ad89b658012cb2e8695bda51269d3cd1614c2b6d029c0eaba5e592d5e58b6267e1ddc020a938d3ccd2fbc9461cc5bf202f3bdbf6b5d62 SHA512 61b987ec823e9a89f2a07a1991d47f36eb45e3ce416aa6e0032a58ba3d623ac26224cb0f43a2db76850bce7290d12fae610de06405350362caac7860ba99f0c3
DIST pyside-setup-opensource-src-5.15.6.tar.xz 3580388 BLAKE2B 8a3b15d073bcbb0c6734f500ca906e56387cb8fc4bfcfd996304d71b54edd5f4568976049519ed26aa718bee9e43f59a0c4ef53837d5a341219b991a8527a800 SHA512 99a0c1a05e722cbf33128cf25742e61b92e151fdc05b79db9bafe778e024a0c6fc2886ee3d0b923ff681c55916f5c0eea4197f174432587fd662fba4390b26f4
+DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
diff --git a/dev-python/pyside2/pyside2-5.15.7.ebuild b/dev-python/pyside2/pyside2-5.15.7.ebuild
new file mode 100644
index 000000000000..8a1edcf0b565
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.7.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit cmake python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide2/QtGui/CMakeLists.txt" and
+# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside2"
+
+# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="
+ 3d charts +concurrent datavis designer gles2-only +gui help location
+ multimedia +network positioning +printsupport qml quick script scripttools
+ scxml sensors speech +sql svg test +testlib webchannel webengine websockets
+ +widgets +x11extras xml xmlpatterns
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liners from within "${S}":
+# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
+# $ cat /lib64/cmake/Qt5*/Qt5*.cmake | grep -i DEPENDENCIES
+# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ datavis? ( gui )
+ designer? ( gui widgets xml )
+ gles2-only? ( gui )
+ help? ( gui sql widgets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network widgets )
+ printsupport? ( gui widgets )
+ qml? ( gui network )
+ quick? ( gui network qml widgets network )
+ scripttools? ( gui script widgets )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( widgets )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? (
+ gui network positioning quick qml
+ widgets? ( printsupport network webchannel )
+ )
+ websockets? ( network )
+ widgets? ( gui )
+ x11extras? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2)*:5"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken2-${PV}[${PYTHON_USEDEP}]
+ =dev-qt/qtcore-${QT_PV}
+ =dev-qt/qtopengl-${QT_PV}[gles2-only=]
+ =dev-qt/qtserialport-${QT_PV}
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ charts? ( =dev-qt/qtcharts-${QT_PV}[qml?] )
+ concurrent? ( =dev-qt/qtconcurrent-${QT_PV} )
+ datavis? ( =dev-qt/qtdatavis3d-${QT_PV}[qml?,gles2-only=] )
+ designer? ( =dev-qt/designer-${QT_PV} )
+ gui? ( =dev-qt/qtgui-${QT_PV}[jpeg,gles2-only=] )
+ help? ( =dev-qt/qthelp-${QT_PV} )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml?,gles2-only=,widgets?] )
+ network? ( =dev-qt/qtnetwork-${QT_PV} )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV}[qml?] )
+ printsupport? ( =dev-qt/qtprintsupport-${QT_PV}[gles2-only=] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick? (
+ =dev-qt/qtdeclarative-${QT_PV}[widgets?]
+ =dev-qt/qtquickcontrols2-${QT_PV}[widgets?]
+ )
+ script? ( =dev-qt/qtscript-${QT_PV}[scripttools?] )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ sql? ( =dev-qt/qtsql-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qttest-${QT_PV} )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV}[qml] )
+ webengine? ( =dev-qt/qtwebengine-${QT_PV}[widgets?] )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV}[qml?] )
+ widgets? ( =dev-qt/qtwidgets-${QT_PV}[gles2-only=] )
+ x11extras? ( =dev-qt/qtx11extras-${QT_PV} )
+ xml? ( =dev-qt/qtxml-${QT_PV} )
+ xmlpatterns? ( =dev-qt/qtxmlpatterns-${QT_PV}[qml?] )
+"
+DEPEND="${RDEPEND}
+ test? ( x11-misc/xvfb-run )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.2-python310.patch"
+ "${FILESDIR}/${PN}-5.15.2-python311.patch"
+ "${FILESDIR}/${PN}-5.15.2-python311-fixups.patch"
+)
+
+src_configure() {
+ # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickControls2=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=$(usex !script)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=$(usex !scripttools)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
+ )
+
+ pyside2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide2 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside2.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside2_install
+
+ # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside2-tools) to target one
+ # "libpyside2-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide2-${PV}/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index d775a81b0c8a..0e0ec12a5299 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-6.3.2.tar.xz 7853068 BLAKE2B 5b39e2f98bca0155d3f6617be206b759b628d0126fd30d76d67352c5c78a385938ce61a3c42b75343b9fde708e9f66617122c687ea9ecffca9cd0ab3af91a2ff SHA512 8d25d20b64ac7874e9b7866f101b6bfd7b6fe1fffa602fec6113e1fdaa11608f14a58c2ae1d87b45ee3eac6a07bd55e66dbbd222727cfe6860d8f444bc2b1ff0
+DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.3.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.3.2-r1.ebuild
index 01473f198634..6a1acf2d8f59 100644
--- a/dev-python/pyside6-tools/pyside6-tools-6.3.2.ebuild
+++ b/dev-python/pyside6-tools/pyside6-tools-6.3.2-r1.ebuild
@@ -23,7 +23,7 @@ KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
- >=dev-python/pyside6-${PV}[${PYTHON_USEDEP}]
+ ~dev-python/pyside6-${PV}[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}"
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.4.0.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.4.0.ebuild
new file mode 100644
index 000000000000..6a1acf2d8f59
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.4.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+CMAKE_IN_SOURCE_BUILD=1
+
+inherit cmake python-r1
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside-tools"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/pyside6-${PV}[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ # the tools conflict with tools from Qt
+ -DNO_QT_TOOLS=yes
+ )
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ CMAKE_USE_DIR="${BUILD_DIR}" cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ python_doexe "${BUILD_DIR}/"*.py
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index d775a81b0c8a..0e0ec12a5299 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-6.3.2.tar.xz 7853068 BLAKE2B 5b39e2f98bca0155d3f6617be206b759b628d0126fd30d76d67352c5c78a385938ce61a3c42b75343b9fde708e9f66617122c687ea9ecffca9cd0ab3af91a2ff SHA512 8d25d20b64ac7874e9b7866f101b6bfd7b6fe1fffa602fec6113e1fdaa11608f14a58c2ae1d87b45ee3eac6a07bd55e66dbbd222727cfe6860d8f444bc2b1ff0
+DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
diff --git a/dev-python/pyside6/metadata.xml b/dev-python/pyside6/metadata.xml
index 31d5b12fdc5d..4ff84b19bafd 100644
--- a/dev-python/pyside6/metadata.xml
+++ b/dev-python/pyside6/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<use>
+ <flag name="charts">Build QtCharts module</flag>
<flag name="concurrent">Build QtConcurrent module</flag>
<flag name="designer">Build QtDesigner and QtUiTools modules</flag>
<flag name="gles2-only">Build QtGui "QOpenGL*" classes</flag>
@@ -18,6 +19,7 @@
<flag name="help">Build QtHelp module</flag>
<flag name="multimedia">Build QtMultimedia and QtMultimediaWidgets modules</flag>
<flag name="network">Build QtNetwork module</flag>
+ <flag name="network-auth">Build QtNetworkAuth module</flag>
<flag name="positioning">Build QtPositioning module</flag>
<flag name="printsupport">Build QtPrintSupport module</flag>
<flag name="qml">Build QtQml module</flag>
diff --git a/dev-python/pyside6/pyside6-6.3.2.ebuild b/dev-python/pyside6/pyside6-6.3.2-r1.ebuild
index 2c357c4686fb..5299ceda1d46 100644
--- a/dev-python/pyside6/pyside6-6.3.2.ebuild
+++ b/dev-python/pyside6/pyside6-6.3.2-r1.ebuild
@@ -71,28 +71,28 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
RESTRICT="test"
# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-2):6"
+QT_PV="$(ver_cut 1-2)*:6"
RDEPEND="${PYTHON_DEPS}
- >=dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}[dbus?,opengl?,gles2-only=,sql?,network?,concurrent?,widgets?,xml(+)?]
- designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
- gui? ( >=dev-qt/qtbase-${QT_PV}[gui,jpeg] )
- help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
- multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[qml(+)?,gles2-only(-)=,widgets(+)?] )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV}[qml(+)?] )
- printsupport? ( >=dev-qt/qtbase-${QT_PV}[gui,widgets] )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${QT_PV} )
- svg? ( >=dev-qt/qtsvg-${QT_PV} )
- testlib? ( >=dev-qt/qtbase-${QT_PV}[gui] )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV}[qml(+)?] )
- webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets?] )
- websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+ ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[dbus?,opengl?,gles2-only=,sql?,network?,concurrent?,widgets?,xml(+)?]
+ designer? ( =dev-qt/qttools-${QT_PV}[designer] )
+ gui? ( =dev-qt/qtbase-${QT_PV}[gui,jpeg] )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml(+)?,gles2-only(-)=,widgets(+)?] )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV}[qml(+)?] )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV}[qml(+)?] )
+ webengine? ( =dev-qt/qtwebengine-${QT_PV}[widgets?] )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
"
DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtbase-${QT_PV}[gui] )
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
"
# testlib is toggled by the gui flag on qtbase
diff --git a/dev-python/pyside6/pyside6-6.4.0.ebuild b/dev-python/pyside6/pyside6-6.4.0.ebuild
new file mode 100644
index 000000000000..07ca131fcab2
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.4.0.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit cmake python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide6/QtGui/CMakeLists.txt" and
+# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside6"
+
+# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="
+ +dbus charts +concurrent designer gles2-only +gui help multimedia
+ +network network-auth +opengl positioning +printsupport qml quick
+ quick3d serialport +sql svg test +testlib webchannel webengine
+ websockets +widgets +xml
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
+# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ charts? ( gui widgets )
+ designer? ( widgets )
+ gles2-only? ( gui )
+ gui? ( dbus opengl )
+ help? ( network sql widgets )
+ multimedia? ( gui network )
+ network-auth? ( network )
+ opengl? ( gui )
+ printsupport? ( widgets )
+ qml? ( network )
+ quick? ( gui network opengl qml )
+ quick3d? ( gui network opengl qml quick )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? ( network gui printsupport quick webchannel )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ charts? ( =dev-qt/qtcharts-${QT_PV} )
+ designer? ( =dev-qt/qttools-${QT_PV}[designer] )
+ gui? (
+ =dev-qt/qtbase-${QT_PV}[gui,jpeg]
+ x11-libs/libxkbcommon
+ )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml(+)?,gles2-only(-)=,widgets(+)?] )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
+ webengine? ( =dev-qt/qtwebengine-${QT_PV}[widgets?] )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+ "${FILESDIR}/${PN}-6.3.1-fix-designer-plugin-install-location.patch"
+)
+
+src_configure() {
+ # See collect_module_if_found macros in PySideHelpers.cmake
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=yes
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
+ # try to avoid pre-stripping
+ -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
+ -DQFP_NO_STRIP=yes
+
+ )
+
+ pyside6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide6 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside6.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside6_install
+
+ # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside6-tools) to target one
+ # "libpyside6-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide6-${PV}/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.28.6.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.28.6.ebuild
index 82a0d3bb5ec9..c5401a22bb4c 100644
--- a/dev-python/python-dbusmock/python-dbusmock-0.28.6.ebuild
+++ b/dev-python/python-dbusmock/python-dbusmock-0.28.6.ebuild
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc ~x86"
RDEPEND="
dev-python/dbus-python[${PYTHON_USEDEP}]
diff --git a/dev-python/python-docs/python-docs-3.11.0.ebuild b/dev-python/python-docs/python-docs-3.11.0.ebuild
index 78d2635ce201..293b3f7a8143 100644
--- a/dev-python/python-docs/python-docs-3.11.0.ebuild
+++ b/dev-python/python-docs/python-docs-3.11.0.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/pythran/pythran-0.12.0-r2.ebuild b/dev-python/pythran/pythran-0.12.0-r2.ebuild
index 44362f43b97d..14fcb3cb23a6 100644
--- a/dev-python/pythran/pythran-0.12.0-r2.ebuild
+++ b/dev-python/pythran/pythran-0.12.0-r2.ebuild
@@ -23,7 +23,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 arm ~arm64 ~ppc ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~s390 ~x86"
RDEPEND="
dev-libs/boost
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index f25edabff17a..fd9ed1e82324 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-5.15.6.tar.xz 3580388 BLAKE2B 8a3b15d073bcbb0c6734f500ca906e56387cb8fc4bfcfd996304d71b54edd5f4568976049519ed26aa718bee9e43f59a0c4ef53837d5a341219b991a8527a800 SHA512 99a0c1a05e722cbf33128cf25742e61b92e151fdc05b79db9bafe778e024a0c6fc2886ee3d0b923ff681c55916f5c0eea4197f174432587fd662fba4390b26f4
+DIST pyside-setup-opensource-src-5.15.7.tar.xz 3581144 BLAKE2B 95b5720a5273c96b00bdf86b36734970991a29cf0db1e6fb2c00d7e671fbc4459b4434abc91a8a47ec5d8ba694bcdae5b57a52448908fdca25c348f9ee2b6c81 SHA512 9c551b47581e4f2671c4378f1a2c0d9e565b08edee74244a7704a2c94eef1e1041d23f0e388c07bdd61067e986340907cf80f4527257a9a706f7f07c497834c6
diff --git a/dev-python/shiboken2/shiboken2-5.15.7.ebuild b/dev-python/shiboken2/shiboken2-5.15.7.ebuild
new file mode 100644
index 000000000000..9335f87c9330
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.7.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken2" binding generator from the
+# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide2 ebuild should be revised to require
+# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit cmake llvm python-r1 toolchain-funcs
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/shiboken2"
+
+# The "sources/shiboken2/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2)*:5"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+LLVM_MAX_SLOT=15
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtcore-${QT_PV}
+ <sys-devel/clang-16:=
+ <sys-devel/clang-runtime-16:=
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ =dev-qt/qtxml-${QT_PV}
+ =dev-qt/qtxmlpatterns-${QT_PV}
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qttest-${QT_PV} )
+"
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.15.5-python311-1.patch
+ "${FILESDIR}"/${PN}-5.15.5-python311-2.patch
+ "${FILESDIR}"/${PN}-5.15.5-python311-3.patch
+ "${FILESDIR}"/${PN}-5.15.6-fix-pyside2-compile.patch
+ "${FILESDIR}"/${PN}-5.15.5-add-numpy-1.23-compatibility.patch
+)
+
+# Ensure the path returned by get_llvm_prefix() contains clang as well.
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide2 does *NOT* care whether the end user has done so or not, as
+ # PySide2 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'$(CPP=clang clang-fullversion)'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken2" executable for the current Python target,
+ # preserving an unversioned "shiboken2" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken2 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken2.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken2_install
+
+ # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so"
+ # library and one "shiboken2" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken2-${PV}/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest
index d775a81b0c8a..0e0ec12a5299 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1 +1,2 @@
DIST pyside-setup-opensource-src-6.3.2.tar.xz 7853068 BLAKE2B 5b39e2f98bca0155d3f6617be206b759b628d0126fd30d76d67352c5c78a385938ce61a3c42b75343b9fde708e9f66617122c687ea9ecffca9cd0ab3af91a2ff SHA512 8d25d20b64ac7874e9b7866f101b6bfd7b6fe1fffa602fec6113e1fdaa11608f14a58c2ae1d87b45ee3eac6a07bd55e66dbbd222727cfe6860d8f444bc2b1ff0
+DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
diff --git a/dev-python/shiboken6/shiboken6-6.3.2.ebuild b/dev-python/shiboken6/shiboken6-6.3.2-r1.ebuild
index 8a09b1e2f5cc..42c488bf385f 100644
--- a/dev-python/shiboken6/shiboken6-6.3.2.ebuild
+++ b/dev-python/shiboken6/shiboken6-6.3.2-r1.ebuild
@@ -37,13 +37,14 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="test"
# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-2):6"
+QT_PV="$(ver_cut 1-2)*:6"
# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+LLVM_MAX_SLOT=15
RDEPEND="${PYTHON_DEPS}
- >=dev-qt/qtbase-${QT_PV}
- sys-devel/clang:=
- sys-devel/clang-runtime:=
+ =dev-qt/qtbase-${QT_PV}
+ <sys-devel/clang-16:=
+ <sys-devel/clang-runtime-16:=
docstrings? (
>=dev-libs/libxml2-2.6.32
>=dev-libs/libxslt-1.1.19
@@ -52,7 +53,7 @@ RDEPEND="${PYTHON_DEPS}
vulkan? ( dev-util/vulkan-headers )
"
DEPEND="${RDEPEND}
- test? ( >=dev-qt/qtbase-${QT_PV}[gui] )
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
"
# testlib is toggled by the gui flag on qtbase
diff --git a/dev-python/shiboken6/shiboken6-6.4.0.ebuild b/dev-python/shiboken6/shiboken6-6.4.0.ebuild
new file mode 100644
index 000000000000..111fb9818200
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.4.0.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken6" binding generator from the
+# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide6 ebuild should be revised to require
+# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+
+inherit cmake llvm python-r1 toolchain-funcs
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/shiboken6"
+
+# The "sources/shiboken6/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-2)*:6"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+LLVM_MAX_SLOT=15
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtbase-${QT_PV}
+ <sys-devel/clang-16:=
+ <sys-devel/clang-runtime-16:=
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+)
+
+# Ensure the path returned by get_llvm_prefix() contains clang as well.
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide6 does *NOT* care whether the end user has done so or not, as
+ # PySide6 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'$(CPP=clang clang-fullversion)'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken6" executable for the current Python target,
+ # preserving an unversioned "shiboken6" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken6 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken6.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken6_install
+
+ # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
+ # library and one "shiboken6" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken6-${PV}/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index b6f3257168e2..9c11f1b72b36 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,2 +1,3 @@
DIST spyder-5.3.3.gh.tar.gz 24443628 BLAKE2B 767b3e1d59ce650d2df0d229d94eef53bc4c7b52f5d40fd62748efeb3a756a773110aa17442403a1b37777dd39fc367164ad54cd8f767d4311caa8d3e8bf05da SHA512 7d521f8367953849233538cbfd74f1fd98da87e69dbed8076718e81cd09ae66aca84523c4ecdf0e8aeb60644791754df19f09dd244ce11e3f7decc97bb050e02
+DIST spyder-5.4.0.gh.tar.gz 24497211 BLAKE2B 6022e50345a7493e79cc05d735fcded1d109f7b33c94c4b281a0526fe2c3f5c1020c30bc1a48cdde28db6b279b38f191dc6974724ca893220bac034c69ffd46c SHA512 473408c8315ab46dade4cdfb709119d29a38ea77f29c3dc5a8b4e7eece5c1cbd21978ed2665fc6747ef4db9d8726d4ba796ee0716d48657367bb9840760e786f
DIST spyder-docs-bb9b308b66cc90e47f43418f079bf098eb4efe6c.gh.tar.gz 89966852 BLAKE2B 7698b0210ccfec9f00cc76893f49398a02878c732eba6bbc89c1da4514734aad8ae8ef85a9c701a1d194976a35a8092755f7c5f09b319f670fac21d0a2e6c542 SHA512 9dd428ca2623c5703076887ab593bd92a2e737d74eb914a7a186d2ab4855519abb02875226463d8c11ff5021e7e84a5ba7c200ad5476f0dc4646831bb0b197a1
diff --git a/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch b/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch
new file mode 100644
index 000000000000..87b97a94b34a
--- /dev/null
+++ b/dev-python/spyder/files/spyder-5.4.0-unpin-qdarkstyle.patch
@@ -0,0 +1,26 @@
+diff --git a/setup.py b/setup.py
+index 1aa7f96..5345b0a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -232,7 +232,7 @@ install_requires = [
+ 'python-lsp-server[all]>=1.6.0,<1.7.0',
+ 'pyxdg>=0.26;platform_system=="Linux"',
+ 'pyzmq>=22.1.0',
+- 'qdarkstyle>=3.0.2,<3.1.0',
++ 'qdarkstyle>=3.0.2',
+ 'qstylizer>=0.2.2',
+ 'qtawesome>=1.2.1',
+ 'qtconsole>=5.4.0,<5.5.0',
+diff --git a/spyder/dependencies.py b/spyder/dependencies.py
+index 244a161..f44d045 100644
+--- a/spyder/dependencies.py
++++ b/spyder/dependencies.py
+@@ -58,7 +58,7 @@ PYLSP_BLACK_REQVER = '>=1.2.0'
+ PYLS_SPYDER_REQVER = '>=0.4.0'
+ PYXDG_REQVER = '>=0.26'
+ PYZMQ_REQVER = '>=22.1.0'
+-QDARKSTYLE_REQVER = '>=3.0.2;<3.1.0'
++QDARKSTYLE_REQVER = '>=3.0.2'
+ QSTYLIZER_REQVER = '>=0.2.2'
+ QTAWESOME_REQVER = '>=1.2.1'
+ QTCONSOLE_REQVER = '>=5.4.0;<5.5.0'
diff --git a/dev-python/spyder/spyder-5.4.0.ebuild b/dev-python/spyder/spyder-5.4.0.ebuild
new file mode 100644
index 000000000000..1a8b305364b5
--- /dev/null
+++ b/dev-python/spyder/spyder-5.4.0.ebuild
@@ -0,0 +1,195 @@
+# 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,11} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit optfeature xdg distutils-r1
+
+# Commit of documentation to fetch
+DOCS_PV="bb9b308b66cc90e47f43418f079bf098eb4efe6c"
+
+DESCRIPTION="The Scientific Python Development Environment"
+HOMEPAGE="
+ https://www.spyder-ide.org/
+ https://github.com/spyder-ide/spyder/
+ https://pypi.org/project/spyder/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# The test suite often hangs or does not work. RESTRICTing because IMO it is
+# not worth the several hours I would have to spend every single version bump
+# checking which tests do and do not work.
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
+ >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
+ >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-venv-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-black-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
+ >=dev-python/qdarkstyle-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.4.0[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.5.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},svg,webengine]
+ >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[tk,${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-ordering[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ dev-python/pytest-xvfb[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ )"
+
+# Based on the courtesy of Arfrever
+# This patch removes a call to update-desktop-database during build
+# This fails because access is denied to this command during build
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.0-build.patch"
+ "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
+ "${FILESDIR}/${PN}-5.4.0-unpin-qdarkstyle.patch"
+)
+
+DOCS=(
+ "AUTHORS.txt"
+ "Announcements.md"
+ "CHANGELOG.md"
+ "CODE_OF_CONDUCT.md"
+ "CONTRIBUTING.md"
+ "NOTICE.txt"
+ "README.md"
+ "RELEASE.md"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/doc \
+ dev-python/sphinx-panels \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinx-multiversion
+
+python_prepare_all() {
+ # move docs into workdir
+ mv ../spyder-docs-${DOCS_PV}* docs || die
+
+ # these dependencies are packaged separately:
+ # dev-python/spyder-kernels,
+ # dev-python/python-lsp-server,
+ # dev-python/qdarkstyle
+ rm -r external-deps/* || die
+ # runs against things packaged in external-deps dir
+ rm conftest.py || die
+
+ # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
+ # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
+ # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
+ # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
+ # Do not depend on ipython, this dependency is carried in spyder-kernels
+ # The explicit version requirements only make things more complicated, if e.g.
+ # pyls-spyder gains compatibility with a newer version of python-lsp-server
+ # in a new release it will take time for this information to propagate into
+ # the next spyder release. So just remove the dependency and let the other
+ # ebuilds handle the version requirements to speed things up and prevent
+ # issues such as Bug 803269.
+ sed -i \
+ -e "/'pyqt5[ 0-9<=>.,]*',/d" \
+ -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
+ -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
+ -e "/'parso[ 0-9<=>.,]*',/d" \
+ -e "/'jedi[ 0-9<=>.,]*',/d" \
+ -e "/'pylint[ 0-9<=>.,]*',/d" \
+ -e "/'ipython[ 0-9<=>.,]*',/d" \
+ setup.py || die
+ sed -i \
+ -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
+ -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
+ -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
+ -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
+ -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
+ -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
+ spyder/dependencies.py || die
+
+ # do not check deps, fails because we removed dependencies above
+ sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
+ spyder/tests/test_dependencies_in_sync.py || die
+
+ # can't check for update, need network
+ rm spyder/workers/tests/test_update.py || die
+
+ # skip online test
+ rm spyder/widgets/github/tests/test_github_backend.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+# Calling pytest directly makes the tests freeze after completing even if successful
+# Exit code is nonzero even upon success, so can't add || die here test results
+# should be checked for success manually
+python_test() {
+ "${EPYTHON}" runtests.py
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
+ optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
+ optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
+ optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
+ optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
+ optfeature "Run Cython files in the IPython console" dev-python/cython
+ optfeature "The hdf5/h5py plugin" dev-python/h5py
+ optfeature "The line profiler plugin" dev-python/spyder-line-profiler
+ optfeature "Vim key bindings" dev-python/spyder-vim
+ optfeature "Unittest support" dev-python/spyder-unittest
+ optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
+ # spyder-memory-profiler is not compatible with spyder-5.2+ yet
+ # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
+ # spyder-reports not yet updated to >=spyder-4.0.0
+ # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
+ # Plugins with no release yet:
+ # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
+ # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
+}
diff --git a/dev-python/statsd/Manifest b/dev-python/statsd/Manifest
index 2d6c5526e7af..3404f315644b 100644
--- a/dev-python/statsd/Manifest
+++ b/dev-python/statsd/Manifest
@@ -1,2 +1,3 @@
DIST statsd-3.3.0.tar.gz 259045 BLAKE2B 015eb32d40d1eb45d64266f0bd62d9496a7eb8815dccf4ad482bb3b81b45fceef14a25893b05ad3b5a8da8582434a46725598a90ebd06c6120dac32169a1f201 SHA512 e2693bc7f179e275c53044d13a4685dd72ebd47adafcab5064e803fbf9e8df4a0f20f61c3695846d3c33178be17dd7286f487213fa2bd8545ed1612e200c8f36
DIST statsd-4.0.0.tar.gz 27793 BLAKE2B 9ba08458ecfaa9f5cf3a981eee06abec72b9d8c3a49869ae67be0863799f1198dd915c3b351d5f75404d649a832af17fe1f60346e47863f238dd65ed4a96a9f2 SHA512 e4bc232b755ba439a5401edca2b9d5f1b66b04b6ee20c46ab8da8c38a718437e1010809bae4479da8cda8323e40203cc3b9952a40df187bf1c73fd2ffdf3da8d
+DIST statsd-4.0.1.tar.gz 27814 BLAKE2B 18e7d1c0e4701e53972cf0f7f8fb7f4d17e41023019a642e609fc86537a6f51cd89da8d4e725ffaf5328f7d4a2a41034676f419856d0da0bbeb9915751b81eff SHA512 1a9aa4ba810aa75b3235e6357b820d8987ffe4ed55709929a9a53c6ced587525217e55754600f9c5596ea1e5fd26a0ea15b643199aa39e920d95120e22fc2ae0
diff --git a/dev-python/statsd/statsd-4.0.1.ebuild b/dev-python/statsd/statsd-4.0.1.ebuild
new file mode 100644
index 000000000000..8c8b035be8a0
--- /dev/null
+++ b/dev-python/statsd/statsd-4.0.1.ebuild
@@ -0,0 +1,26 @@
+# 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,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple statsd client"
+HOMEPAGE="
+ https://github.com/jsocol/pystatsd/
+ https://pypi.org/project/statsd/
+"
+SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest statsd/tests.py
+}
diff --git a/dev-python/subunit/Manifest b/dev-python/subunit/Manifest
index eecdb73522a1..d0a11cdf067e 100644
--- a/dev-python/subunit/Manifest
+++ b/dev-python/subunit/Manifest
@@ -1 +1,2 @@
DIST subunit-1.4.0_p20210729.tar.gz 112644 BLAKE2B 56e785c029f3f2896d0ed3d8005c37403e6aa32d05b653db0e3b679d2157820558e578b53133f4f79404a660f37a710aeeec03ff941fd7cd0819020a0d474515 SHA512 90b1ad071fb5246a7446a4c999142566b9d96c39838905e9020b80f2f0aba0b86dd5185bbd25ff7fc65f69ae68e1e53dfde5b2de05755aa97db9248c6faaa9d7
+DIST subunit-1.4.1.gh.tar.gz 112188 BLAKE2B dd09882f13b52e8c1f34f91ee49726f75f473a042b0e025704eb95681e4ff3f313fc6b2f9fbcc78f4fb75c88e3b2a828ffee0f7dfaaa8ad2bff9bfb14bd5c0ea SHA512 c21ab0791ccc92e47df5d741deaae56fffe792777958193727f47c2739135fb77880d30b106e525239c0c35841834dd937e2b30fce27fbe73ca9116753147a65
diff --git a/dev-python/subunit/subunit-1.4.1.ebuild b/dev-python/subunit/subunit-1.4.1.ebuild
new file mode 100644
index 000000000000..353dd5c55de5
--- /dev/null
+++ b/dev-python/subunit/subunit-1.4.1.ebuild
@@ -0,0 +1,96 @@
+# 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,11} pypy3 )
+
+inherit distutils-r1 multilib-minimal autotools
+
+DESCRIPTION="A streaming protocol for test results"
+HOMEPAGE="
+ https://launchpad.net/subunit/
+ https://pypi.org/project/python-subunit/
+"
+SRC_URI="
+ https://github.com/testing-cabal/subunit/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0 BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
+ dev-python/extras[${PYTHON_USEDEP}]
+ dev-lang/perl:=
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
+ >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
+ >=virtual/pkgconfig-0-r1
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/subunit-1.4.0-werror.patch"
+)
+
+src_prepare() {
+ # Install perl modules in vendor_perl, bug 534654.
+ export PERL_INSTALLDIRS=vendor
+
+ mv all_tests.py python/ || die
+
+ distutils-r1_src_prepare
+ eautoreconf
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --enable-shared \
+ $(use_enable static-libs static)
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && distutils-r1_src_compile
+}
+
+python_test() {
+ cd python || die
+ "${EPYTHON}" -m testtools.run -v all_tests.test_suite ||
+ die "Testing failed with ${EPYTHON}"
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && distutils-r1_src_test
+}
+
+multilib_src_install() {
+ local targets=(
+ install-include_subunitHEADERS
+ install-pcdataDATA
+ install-exec-local
+ install-libLTLIBRARIES
+ )
+ emake DESTDIR="${D}" "${targets[@]}"
+
+ multilib_is_native_abi && distutils-r1_src_install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-python/tekore/Manifest b/dev-python/tekore/Manifest
index 1a5469498e0b..ffadd94bb081 100644
--- a/dev-python/tekore/Manifest
+++ b/dev-python/tekore/Manifest
@@ -1,2 +1,3 @@
DIST tekore-4.4.0.gh.tar.gz 261768 BLAKE2B b0da919bd0feb32fa5770eb02cd817142d80f63e29602695b7cc6e9099203e502e61aab816ec3586595ab06f7f493243b13dd98cdb9e89913854e7cfcefcfd61 SHA512 86ef782971f1ea9d9f49e9683b27a8d9f70511e89a7fa7c8cffd01ba716782b1d91adcde2e24a52e42ec5b5b936005545ea1e15b067d1f109d2ecd2cebbd930d
DIST tekore-4.4.1.gh.tar.gz 261791 BLAKE2B 380685868923bed258739bae67e1d1d57c5cdb23cfb43651c1400a38d40176ba9ad55780e1906b72afc97701918817341e7a2c501c0e7bfb2c57711920877f2e SHA512 f2eb0ee9852d2ef971974871890e5150eecdb30f5894301b22ec728852d680af0d476311b83f3ea4528d4d60cedf5379645aa7ea35015dd8beb1a9a9aeab4671
+DIST tekore-4.5.0.gh.tar.gz 265075 BLAKE2B 830a7c006ea13650ecc639bc8277d7022eed29fb92e13d4ff0bd98cb30f9bf2c53c9fb5dc88f3195938c22e12c8cc73a52517629c1db2d7bdc5e80360ea7b8bc SHA512 c69f47611447fec72fe2c4f09689dc93b8ff4dc94d430f213866b349c5867eeefd5351f3707b05648a74bd30576e4fd5d7e0c81203f5c7f90d54710433e25980
diff --git a/dev-python/tekore/tekore-4.5.0.ebuild b/dev-python/tekore/tekore-4.5.0.ebuild
new file mode 100644
index 000000000000..cff2026cb780
--- /dev/null
+++ b/dev-python/tekore/tekore-4.5.0.ebuild
@@ -0,0 +1,49 @@
+# 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,11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Spotify Web API client"
+HOMEPAGE="
+ https://tekore.readthedocs.io/
+ https://github.com/felix-hilden/tekore/
+ https://pypi.org/project/tekore/
+"
+SRC_URI="
+ https://github.com/felix-hilden/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+SLOT="0"
+
+RDEPEND="
+ <dev-python/httpx-0.24[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( readme.rst )
+
+distutils_enable_tests pytest
+# TODO: package sphinx_codeautolink
+# distutils_enable_sphinx docs/src \
+# dev-python/sphinx_rtd_theme \
+# dev-python/sphinx-tabs \
+# dev-python/sphinx-autodoc-typehints
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
+)
diff --git a/dev-python/xarray/xarray-2022.10.0-r1.ebuild b/dev-python/xarray/xarray-2022.10.0-r1.ebuild
index 202c9d00f615..d324c59b54de 100644
--- a/dev-python/xarray/xarray-2022.10.0-r1.ebuild
+++ b/dev-python/xarray/xarray-2022.10.0-r1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~hppa ~ppc ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/numpy-1.22[${PYTHON_USEDEP}]
diff --git a/dev-python/zope-i18nmessageid/Manifest b/dev-python/zope-i18nmessageid/Manifest
index 0a3cb3d2c71e..0825c842d99f 100644
--- a/dev-python/zope-i18nmessageid/Manifest
+++ b/dev-python/zope-i18nmessageid/Manifest
@@ -1 +1,2 @@
+DIST zope-i18nmessageid-5.1.0.gh.tar.gz 28278 BLAKE2B db376b9915b16b17f290ba3e58492bdc9f89e6ef066b981967f8f39a9734e9ff0d8338099450bdaa362f6404b589452070cf7bf036a643852df7a0abd886a6bc SHA512 4a60c37d10b0593cadc7885ef92ea106b8bf1c89df20388ec657859f95fe19d5c282bf8cd86c6e04ec267b4c826226f0f43e4f1d11883c29dbf4b024075e74dc
DIST zope.i18nmessageid-5.0.1.tar.gz 28217 BLAKE2B 67e31a18daa8c2d5ccc16b173d37188fc6154cc75b1fd7cd908d6ee3ebeca0092316546587103f01aa6b39d074aaa207bec86401c4d50f664efba179191c9719 SHA512 31af16581d59ce1b7d5d8fd86c715c56b84aee9a7a0756bb2b7ceac6db30903acc5fdff85d844c0250c0a112cb45ab03be2f56d3d4ca6165272ff76c09d40d8c
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.0.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.0.ebuild
new file mode 100644
index 000000000000..e2b57a9c9230
--- /dev/null
+++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-5.1.0.ebuild
@@ -0,0 +1,49 @@
+# 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,11} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Zope support for i18nmessageid (tagging source of i18n strings)"
+HOMEPAGE="
+ https://pypi.org/project/zope.i18nmessageid/
+ https://github.com/zopefoundation/zope.i18nmessageid/
+"
+SRC_URI="
+ https://github.com/zopefoundation/zope.i18nmessageid/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+ !dev-python/namespace-zope
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "s:'setuptools',::" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}