summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-01-13 00:47:41 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2023-01-13 00:47:41 +0000
commit73a62ef9cf65c70586a0821e9868c3289f9936ca (patch)
treed273960c89c524a52ba258f5eebe9574d11f5873 /dev-python
parent67d427d5291401c40761abbe97b9ac4ff807bd52 (diff)
downloadbaldeagleos-repo-73a62ef9cf65c70586a0821e9868c3289f9936ca.tar.gz
baldeagleos-repo-73a62ef9cf65c70586a0821e9868c3289f9936ca.tar.xz
baldeagleos-repo-73a62ef9cf65c70586a0821e9868c3289f9936ca.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/black/black-22.12.0.ebuild2
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.26.48.ebuild68
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.29.48.ebuild74
-rw-r--r--dev-python/braintree/Manifest2
-rw-r--r--dev-python/braintree/braintree-4.18.0.ebuild (renamed from dev-python/braintree/braintree-4.17.1.ebuild)6
-rw-r--r--dev-python/build/Manifest1
-rw-r--r--dev-python/build/build-0.10.0.ebuild65
-rw-r--r--dev-python/cfn-lint/Manifest1
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.72.8.ebuild54
-rw-r--r--dev-python/dj-database-url/Manifest1
-rw-r--r--dev-python/dj-database-url/dj-database-url-1.0.0.ebuild29
-rw-r--r--dev-python/django-cache-url/Manifest1
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.2.ebuild36
-rw-r--r--dev-python/gpep517/Manifest2
-rw-r--r--dev-python/gpep517/gpep517-11.ebuild41
-rw-r--r--dev-python/gpep517/gpep517-12.ebuild41
-rw-r--r--dev-python/hypothesis/Manifest1
-rw-r--r--dev-python/hypothesis/hypothesis-6.59.0.ebuild77
-rw-r--r--dev-python/identify/Manifest1
-rw-r--r--dev-python/identify/identify-2.5.13.ebuild29
-rw-r--r--dev-python/ipykernel/Manifest1
-rw-r--r--dev-python/ipykernel/ipykernel-6.18.3.ebuild69
-rw-r--r--dev-python/jc/Manifest3
-rw-r--r--dev-python/jc/jc-1.22.2.ebuild31
-rw-r--r--dev-python/jc/jc-1.22.5.ebuild (renamed from dev-python/jc/jc-1.22.3.ebuild)2
-rw-r--r--dev-python/mapbox_earcut/Manifest1
-rw-r--r--dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild30
-rw-r--r--dev-python/matplotlib/Manifest1
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.6.3-test.patch25
-rw-r--r--dev-python/matplotlib/matplotlib-3.6.3.ebuild281
-rw-r--r--dev-python/openapi-schema-validator/Manifest1
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild37
-rw-r--r--dev-python/pycares/Manifest1
-rw-r--r--dev-python/pycares/pycares-4.2.2.ebuild51
-rw-r--r--dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild4
-rw-r--r--dev-python/pyproject-hooks/Manifest1
-rw-r--r--dev-python/pyproject-hooks/metadata.xml10
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild37
-rw-r--r--dev-python/pyside2-tools/Manifest1
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild77
-rw-r--r--dev-python/pyside2/Manifest1
-rw-r--r--dev-python/pyside2/pyside2-5.15.8.ebuild226
-rw-r--r--dev-python/pyside6-tools/Manifest1
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild64
-rw-r--r--dev-python/pyside6/Manifest1
-rw-r--r--dev-python/pyside6/pyside6-6.4.2.ebuild223
-rw-r--r--dev-python/pywayland/Manifest1
-rw-r--r--dev-python/pywayland/metadata.xml9
-rw-r--r--dev-python/pywayland/pywayland-0.4.15.ebuild45
-rw-r--r--dev-python/pywlroots/Manifest1
-rw-r--r--dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch13
-rw-r--r--dev-python/pywlroots/metadata.xml9
-rw-r--r--dev-python/pywlroots/pywlroots-0.15.24.ebuild44
-rw-r--r--dev-python/reedsolomon/Manifest1
-rw-r--r--dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild32
-rw-r--r--dev-python/shiboken2/Manifest1
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch11
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.8.ebuild175
-rw-r--r--dev-python/shiboken6/Manifest1
-rw-r--r--dev-python/shiboken6/shiboken6-6.4.2.ebuild169
-rw-r--r--dev-python/spyder-kernels/Manifest1
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.4.0.ebuild73
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild4
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1.ebuild34
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild4
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild4
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild2
-rw-r--r--dev-python/spyder-vim/spyder-vim-0.1.0.ebuild4
-rw-r--r--dev-python/spyder/Manifest2
-rw-r--r--dev-python/spyder/spyder-5.4.0.ebuild196
-rw-r--r--dev-python/tox/Manifest1
-rw-r--r--dev-python/tox/tox-4.2.8.ebuild86
-rw-r--r--dev-python/trimesh/Manifest1
-rw-r--r--dev-python/trimesh/trimesh-3.16.0.ebuild65
-rw-r--r--dev-python/xkbcommon/Manifest1
-rw-r--r--dev-python/xkbcommon/metadata.xml9
-rw-r--r--dev-python/xkbcommon/xkbcommon-0.8.ebuild39
79 files changed, 1915 insertions, 837 deletions
diff --git a/dev-python/black/black-22.12.0.ebuild b/dev-python/black/black-22.12.0.ebuild
index 481b7d88543e..ab862e50c6bd 100644
--- a/dev-python/black/black-22.12.0.ebuild
+++ b/dev-python/black/black-22.12.0.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm ~arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
RDEPEND="
>=dev-python/click-8.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 80b5de937e38..701dcc0cb99b 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -3,3 +3,4 @@ DIST boto3-1.26.41.gh.tar.gz 586086 BLAKE2B 8f5fac4e26a8ff34e91ee99ab4f93b6c3117
DIST boto3-1.26.45.gh.tar.gz 587548 BLAKE2B fca56cad5fa8bf3bfa34f76aa7014d6ee1129653ec8f0b2c0bb0c2b250814d855e732c4ea4252435a1674138ff00e757cec706ac1a1daa8f6e7969d7f0b65811 SHA512 e872efdc764d20b8d264d7a7e984d9427a0f5bd0a78d895812c2e40a4cf97ba0c483129492b5fe698ac8e123a3a23d6fde4e92cc075632ec7b9d0ed55d0b57b4
DIST boto3-1.26.46.gh.tar.gz 588430 BLAKE2B 5df965497f598e8f6b29041c060d4b60cb61a5ac6938f9ec395d4c1abe380f3cf4802addd2b9329019933eb1faa46f0253644a43aef18262cdb6f11548ba2b46 SHA512 27513156a4d47c91f6afd063a4f351fe1d959d89064138e2662dda32a8b55b2ae13d62528bfe84616913e05049122831a1fed8727e1fc3a9a195bda861122fe4
DIST boto3-1.26.47.gh.tar.gz 588689 BLAKE2B 31a2bfebcac762422e1aee78f05c5a19d3e8a1580fe8f1013530a5fc2295ecadabafdbeb499ab366d7bf13151ef300eb6f14652e7b67cd525ec6863cb68e2cdc SHA512 fa78aa330af3df03eb74caae2fc8e8535494719c3564a5f49ba420daffd59bb5340e5ad88aea6e037224035b7da0cc05ae15ac4631929da2318de3b0263cd6cf
+DIST boto3-1.26.48.gh.tar.gz 588770 BLAKE2B 1176ed430821157266e54f198774b2b2718549373f8c1fa72d898f5644a8ff3bdb428f2baeac862566b5f7fad334c6f99fe2f62f63575635bbd9a540bfef9fdb SHA512 64f40e8305c7462c28c33afc5197b71c77e4298e94161389b422df9783a6fd6f828aafa14927b035d15bfa5753253c37c17f716389d5673c5ca78a310312b460
diff --git a/dev-python/boto3/boto3-1.26.48.ebuild b/dev-python/boto3/boto3-1.26.48.ebuild
new file mode 100644
index 000000000000..9523f65d5fb9
--- /dev/null
+++ b/dev-python/boto3/boto3-1.26.48.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+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/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.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.6.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)"
+}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index a700f1808c52..c535c9952ecb 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -3,3 +3,4 @@ DIST botocore-1.29.41.gh.tar.gz 11082628 BLAKE2B a42a66299715159e82bb7bd9ceb5d1d
DIST botocore-1.29.45.gh.tar.gz 11090136 BLAKE2B 4c5cbd6e80a061793276b40124124c6c8e8c0d9f5bfbe4d5089d755b7af8399635107ed94da6602b2d0788159c1d883b7821db989fe47ad02bcf8bbaa7784b08 SHA512 dfbbc2b30449fa7526794489d3f0c3951e81ddbf53d7915d4492697398febd3b4b918604054a85c950c26a2423e969042de395b8b513688dcf8ad3fe305df4f7
DIST botocore-1.29.46.gh.tar.gz 11096104 BLAKE2B 540840e08fb7d8a9a8a220108e624600dd28d494937e0439f4d7ad93e9f2c4f09566e69a95cd5806a0576b458256b1293b0764461fa7c27d0e39074a3591b0d3 SHA512 b7ea07081464c3799fadd736371229ca6dfab8b05f8941daa681905ef135e4c0273f30eb2f19b64fbe85b6913886664f83dff0484413b3018ab6f508b0d51f05
DIST botocore-1.29.47.gh.tar.gz 11097124 BLAKE2B 3ec2fbc1e518854c6e423d8528a52b25d2bec401e38d65cc9e551e46510d4fc8142eafc44f911e02578860265c13303f4e565eaab6963845e291f5270a832528 SHA512 562954e6c9cf45ba8f7fda13d7acfed0e466126fb45b8e8c577ce17b5b97381df264d6dca0381d55f7e15021035b3e8f318e977469fae9d846d2adb81c675b22
+DIST botocore-1.29.48.gh.tar.gz 11097130 BLAKE2B 45a6a45e67d7ef0eeb42f79324b5fd806ba29e7be4a4c4fa2c128323f303834ffd0c006358c5a8b194b23bcae034149690cd01c481d9228c0ea897e07f347dea SHA512 5c7a711b20a69e9634b9ee17efc83eede2d9b0eef95a157aa0f6b2eb55edff8c87a3f377aaadcc45afe1fc152baefef862309bc973cae51c9c9bb4aeb9d83427
diff --git a/dev-python/botocore/botocore-1.29.48.ebuild b/dev-python/botocore/botocore-1.29.48.ebuild
new file mode 100644
index 000000000000..0f4daaa48e81
--- /dev/null
+++ b/dev-python/botocore/botocore-1.29.48.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+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="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.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}]
+ )
+"
+
+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
+ # fails on unrelated warnings
+ tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
+ tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
+ # TODO
+ tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
+ )
+
+ epytest tests/{functional,unit} -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index 4a833412b9c8..19dca452bea2 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1 +1 @@
-DIST braintree_python-4.17.1.gh.tar.gz 213195 BLAKE2B 2ca1176d3fcdf670ced8bc9de4c2c7140823ec4e1f34acc8235003dd57d16b8e5b411756e1c52da68fc5dcc6009333317952ab246d51c3da71b0a1bed81ea8d1 SHA512 a6835f50451d6e914be5c691920f07fdf804c98580625bfc6984b83c5bf9acffe7b8005d6ffc201e8c0826b65ba4549a5159fde9988da57d08626bb226a35feb
+DIST braintree_python-4.18.0.gh.tar.gz 216422 BLAKE2B 30ed072c3f6c6ae3cc9661fe5a1f49327ad2fd17261590a61aaae543966a40c9018a1c3b789e1ba3f387a8d93cff35c8b7ffd589e76ffefc572b7dc9fcd84951 SHA512 2abdec5e16386bed5e9c6d1d085ec604050907a57bf9dbe65c6c3d05b2bdf8f00929e11729b50a4774ab2bdd61a1a8d4a73f6c23368b663cc5757562b8ce1e4f
diff --git a/dev-python/braintree/braintree-4.17.1.ebuild b/dev-python/braintree/braintree-4.18.0.ebuild
index 002c2e9ef848..498a6426f033 100644
--- a/dev-python/braintree/braintree-4.17.1.ebuild
+++ b/dev-python/braintree/braintree-4.18.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,8 +31,8 @@ RDEPEND="
DOCS=( README.md )
-distutils_enable_tests nose
+distutils_enable_tests unittest
python_test() {
- nosetests -v tests/unit || die
+ eunittest tests/unit
}
diff --git a/dev-python/build/Manifest b/dev-python/build/Manifest
index 8d0766c082f0..ca93a47be7b2 100644
--- a/dev-python/build/Manifest
+++ b/dev-python/build/Manifest
@@ -1 +1,2 @@
+DIST build-0.10.0.gh.tar.gz 41509 BLAKE2B 0b1967af6fd0e47e8de5a6efcab879a37231b399965c4b52d9f952ed4fd64e9606b40f8e34ca18fb634ac5b42e3fa63995e6da292b10424f5ea0bd9fd49a46ca SHA512 e7ab783cc2b228e49c3dd15be7e25150924f26611994367b145cc2d43d7f89597c018cd4ca5cd8b31280d965421d314c80e4b97cf3e00f6cf73d80a3b081e7d1
DIST build-0.9.0.gh.tar.gz 41012 BLAKE2B 764338ffab3b6ede66542195271b1b07d1cff71685ae88bcef8042ce0a93a3a95a80a8a2273ac6a1534d8416410c8af77fdd3fe52fdacb47b8a56a9857ba60a2 SHA512 d6ef229c8f3b348cc939af6bd9a0a521a25c3a5702a95da8ee36d7a1ad3f3e22e10b5c96495ff08a1328ab73f03feebc64e89ce165862cb295eff4360c79d642
diff --git a/dev-python/build/build-0.10.0.ebuild b/dev-python/build/build-0.10.0.ebuild
new file mode 100644
index 000000000000..cd38288f2f4b
--- /dev/null
+++ b/dev-python/build/build-0.10.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="A simple, correct PEP517 package builder"
+HOMEPAGE="
+ https://pypi.org/project/build/
+ https://github.com/pypa/build/
+"
+SRC_URI="
+ https://github.com/pypa/build/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-19.0[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+"
+BDEPEND="
+ test? (
+ >=dev-python/filelock-3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by the presence of flit_core
+ tests/test_util.py::test_wheel_metadata_isolation
+ # broken by the presence of virtualenv (it changes the error
+ # messages, sic!)
+ 'tests/test_main.py::test_output[via-sdist-isolation]'
+ 'tests/test_main.py::test_output[wheel-direct-isolation]'
+ # Internet
+ tests/test_main.py::test_build_package
+ tests/test_main.py::test_build_package_via_sdist
+ tests/test_self_packaging.py::test_build_sdist
+ tests/test_self_packaging.py::test_build_wheel
+ 'tests/test_util.py::test_wheel_metadata[True]'
+ tests/test_util.py::test_with_get_requires
+ # we don't really have to test that fallback
+ # (requires dev-python/toml that we'd like to lastrite eventually)
+ tests/test_projectbuilder.py::test_toml_instead_of_tomli
+ )
+
+ epytest -p no:flaky -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 62c3059423d5..55b9d105a2b6 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -3,3 +3,4 @@ DIST cfn-lint-0.72.4.gh.tar.gz 3199849 BLAKE2B b0c81be6e2f21ffbc7ee4ebbfc4994d1b
DIST cfn-lint-0.72.5.gh.tar.gz 3220306 BLAKE2B 381b069e4d35d9af8fa7bab9765f3b249dc6eb114f3965e7b86fecdb2a30abd1fd4bf0c4efdc78490a9c672f6bb30093a05cf162a6f41a872d7ee93d22167aa5 SHA512 f7628894558bb3718edf6ac9f1ea27af913146d060749521900e6bd8122ddda09552dbc1a0a0f4a7c58736b7dd95a0ea8e408b798be7a06e88724e7e7d0cbed2
DIST cfn-lint-0.72.6.gh.tar.gz 3240330 BLAKE2B f7673efbf6ce88e618e6fb1ff6e21cbb66cef2a1d9922ed90eb3556eff4f38827fce4efa799913168d60dc91929478a82644b7dcee25515172bb86ff74e33f0f SHA512 1db7bd50762c646be2f4bf3e74af8039cd593ccd9c10e68f43d3bc2e435ceb0dbbb70ac5a7cfd8408b7bc0eca2033d78d1fe3f65d0af89917684f7d44c52420b
DIST cfn-lint-0.72.7.gh.tar.gz 3237460 BLAKE2B 9300703c15dea1cfa804663ad5804cc8d8103cac5c5b19cbda2ed8d2ab721037bd55295bf2e9edbc4d73e19add5de1104fb4c34bd02bf3d6529425666fde6489 SHA512 326bee0c9fa22b76f051109fc1cfa4dee6fa4472a9b598d2f3117c345a07c89c46024d5ada4abd77ff356ac697d034389e1dd131d2ee9e5a270c897b054bb474
+DIST cfn-lint-0.72.8.gh.tar.gz 3239410 BLAKE2B 3f9af91e9effa863fd780f3be78575e66fb9ce547f14e1ed62a380d1bd470181043a2a6c585aff6673cf24f583dc2b7b48bf262ab68e38b3808fd1a7d2a33d04 SHA512 a2242139c96899c13b753a14ab91dcf96c89e890b86534b08aca2ee221006bd9951dc1fc4c76439c19dfd17fafabce8e8910f0b6ad20b064e0feec2792905faa
diff --git a/dev-python/cfn-lint/cfn-lint-0.72.8.ebuild b/dev-python/cfn-lint/cfn-lint-0.72.8.ebuild
new file mode 100644
index 000000000000..eeb94f75e137
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-0.72.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+SRC_URI="
+ https://github.com/aws-cloudformation/cfn-lint/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.56.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema_to_python-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/sarif_om-1.0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_2
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+)
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/dj-database-url/Manifest b/dev-python/dj-database-url/Manifest
index 7278dce3f1f7..5c1bd212e435 100644
--- a/dev-python/dj-database-url/Manifest
+++ b/dev-python/dj-database-url/Manifest
@@ -1,3 +1,2 @@
-DIST dj-database-url-1.0.0.gh.tar.gz 11355 BLAKE2B 9ea50eb2646367333556133020a59f332cb69e05fb392f328558f77cb03ffa968cf62241f3823e28600799a1399ac1335b90477a26a4931b0df7b695b502e9be SHA512 35ca0c05910812e10bf63b061afb434ac7c562e3d994b6e452250fe4ec95983fe8353aec0df9c7638a990684e612863ddada5be48485a1db3120e110f6d0fa94
DIST dj-database-url-1.1.0.gh.tar.gz 12095 BLAKE2B 61d32e20ce06451300474f88debb12e960ea6efce8706d6f61991eb204cc8be62f40f38272d9ef177dfa6f4f8a7502c38d17e4c2b01ccb2b256b1dc5329c8dd7 SHA512 4c2ee396daf1a8052a981f8b8df1ba02405020bd4ce3e36df0e34d8be745e5b71a5eb7fef8fc7bff05a8846e9aa1d29857d71e9ba7aa2b5ac0fcb9fabc9f0e60
DIST dj-database-url-1.2.0.gh.tar.gz 12479 BLAKE2B cc3fed00cd7329a9ee8f3ced5830cf05b7046960ae6397c68b8e67e0609c0284dba01a1736447b45f219290405a0ab4720267feba276b453555e3b8ac2f0d88a SHA512 72b713a3a1ad4c70d857c5c72e671095ef1b7ec8ebd19902296ea49b63b9bf6d0084d03561c8fb47c533da431b44ee17651b45f3f699faceaed0ee6bfe7c921a
diff --git a/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild b/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild
deleted file mode 100644
index 4007e5ffb077..000000000000
--- a/dev-python/dj-database-url/dj-database-url-1.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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="Use Database URLs in your Django Application"
-HOMEPAGE="
- https://github.com/jazzband/dj-database-url/
- https://pypi.org/project/dj-database-url/
-"
-SRC_URI="
- https://github.com/jazzband/dj-database-url/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/django-cache-url/Manifest b/dev-python/django-cache-url/Manifest
index 9e540ce15552..7f733396b651 100644
--- a/dev-python/django-cache-url/Manifest
+++ b/dev-python/django-cache-url/Manifest
@@ -1,2 +1 @@
-DIST django-cache-url-3.4.2.gh.tar.gz 8664 BLAKE2B f97bfed1b4be0919d79304242baf7af0c092b440a1888f05c781e70cb4674a83c4f18077c1b3c9ce7dc99223ebe13527e5575af0993446d273cc387ed0e2d8d5 SHA512 7b12ff97c399cd52eef1465a504bf8edd7d422a76af5ead0157a3b52615501b7f152bf58f693255a3ccb81880123ec0efd2ec3590e07f38378e5e812c2ef3799
DIST django-cache-url-3.4.4.gh.tar.gz 8671 BLAKE2B 5245e87b786470e45ca1e30a39337904577889b15d644fbef94f55e861de7d2bb8b6725b6e62c58424511fb3f81093a6d3107cc1a8f8dc575e5463d6ab2e6c13 SHA512 745fddec8546c4ad4b70d7a039e0954f1c99cb91766a10185b29804cd69560a3dd64f90a85bb1a9ae029d34038944b288b4c497ad15492791121ea9c61fd6ae5
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.2.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.2.ebuild
deleted file mode 100644
index c58e31e86a5c..000000000000
--- a/dev-python/django-cache-url/django-cache-url-3.4.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-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="Use Cache URLs in your Django application"
-HOMEPAGE="
- https://github.com/epicserve/django-cache-url/
- https://pypi.org/project/django-cache-url/
-"
-SRC_URI="
- https://github.com/epicserve/django-cache-url/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-DOCS=( AUTHORS.rst CHANGELOG.rst README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e '/--cov/d' -i setup.cfg || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/gpep517/Manifest b/dev-python/gpep517/Manifest
index a66e4a639b10..6512e80886b6 100644
--- a/dev-python/gpep517/Manifest
+++ b/dev-python/gpep517/Manifest
@@ -1,3 +1 @@
-DIST gpep517-11.gh.tar.gz 15344 BLAKE2B 14f3f4b284eb4f7de8a78a9215cf2ec7fc84cb4028d83555b595a245d5ff2eb78be5049b30ccca944c35c40db0cc61e1afeaa68b25a0d6f3608363af75059762 SHA512 5ce840841d99c20d62b5b6c8dcb6ec353e40c75537aa99e44fa7dc13bff37444cd66d4cbc97eb1b107b6df85edfda853343d5e8ef1865d0d5ccd293c1496b5c0
-DIST gpep517-12.gh.tar.gz 17304 BLAKE2B c4a1ff1bf67866c2776efeab8c3f678272fcbd2dd69359b97420e280b58ce8549c6bf7e497ca13816ed89b296a44f99c7aa99f9783a9cd2d940aec5b29cdcbe1 SHA512 a0f40e9c12d711ff2e5fc3f8ca84c6687d6b39cdc420364e3846b32804dd8f98a5d09c0aaa7948b90b3b115f829dc4e767a65bbe8bc2e682f11fd6ba8757a59e
DIST gpep517-13.gh.tar.gz 17197 BLAKE2B eb2f1061c0d762ec5cedf042c41a04eb1ddfbb146b5d81727f7e09d55e76323ee4ffb00e8a8c17a8d423b863bd46dc79a03048da1998cf50fee45bc75c64f38e SHA512 23219a3f7369def01e41fe6bbf96400cc85bb6f5efae3924451a5f3dbed0c9a5e7bb69aa1810897597aa248aa64fc6445fb32ed5bf314d0265c5339893ea58e3
diff --git a/dev-python/gpep517/gpep517-11.ebuild b/dev-python/gpep517/gpep517-11.ebuild
deleted file mode 100644
index 83cd41a96aec..000000000000
--- a/dev-python/gpep517/gpep517-11.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
-HOMEPAGE="
- https://pypi.org/project/gpep517/
- https://github.com/projg2/gpep517/
-"
-SRC_URI="
- https://github.com/projg2/gpep517/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/installer-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_install() {
- python_domodule gpep517
- python_newscript - gpep517 <<-EOF
- #!${EPREFIX}/usr/bin/python
- import sys
- from gpep517.__main__ import main
- sys.exit(main())
- EOF
-}
diff --git a/dev-python/gpep517/gpep517-12.ebuild b/dev-python/gpep517/gpep517-12.ebuild
deleted file mode 100644
index db087ffd4c29..000000000000
--- a/dev-python/gpep517/gpep517-12.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
-HOMEPAGE="
- https://pypi.org/project/gpep517/
- https://github.com/projg2/gpep517/
-"
-SRC_URI="
- https://github.com/projg2/gpep517/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- >=dev-python/installer-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_install() {
- python_domodule gpep517
- python_newscript - gpep517 <<-EOF
- #!${EPREFIX}/usr/bin/python
- import sys
- from gpep517.__main__ import main
- sys.exit(main())
- EOF
-}
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index b51e83318941..8a8fb095b1b9 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,4 +1,3 @@
-DIST hypothesis-6.59.0.gh.tar.gz 9337749 BLAKE2B 29673a769702cf80efa05c3f5a60a3dac6d1226db2afbf25e3ff71be801c396db843222dac5facff8bbb1105dbd7533e2e908188a611a6e051b757ef87498dae SHA512 8d189576a45dc527c2adc0b36781a9323292aa3ed61ab1e0747c379d170c8a1907b787889ceb767d4814422d158c3cdd542360e75295605805b22d832a999777
DIST hypothesis-6.61.0.gh.tar.gz 9340090 BLAKE2B 0d550e50085ad2e9ae848b86b35eaa229de9aa461e235748c308708e92f22388ca1cd5f663f68d8399f89b73fe20298653f947988b6fb2c505ca44650c3997d4 SHA512 3b460c817b46a61e8bcb506316cc56a6e70b7cb16e1f7af925d24372992fcd8c7c6895722d11637402f67eef0fad63318c5c8835e72b585c789e95937cd38465
DIST hypothesis-6.61.1.gh.tar.gz 9340617 BLAKE2B cdef4559eed21211ecfb3942575b3a9f83e8c2335443d5541e1f52e839a41755d18d5174c1041f12723a26100c6188c618acaa7f504f250132e53ca534c36be1 SHA512 1a0093f18ca3ce4507926c82838cbb205b012faa47f5b4c1b8f574cfe9ebfd10d94d673020212922d162ee1238ee2a09d20b596e9c81ba4a106dfb4e2d6692a0
DIST hypothesis-6.61.3.gh.tar.gz 9339977 BLAKE2B 2bd7f2828563694f678eacc3537e920d027229d294f1d48ba23780d8a467ffb2829fd961ba4e002786f5d95e4b57c6d0c115d75df8468465f31f3512c7fcbbc7 SHA512 835a079570a983343f4059c7b6ca5a8e8d568ad945a173bf179f6ea4b1ac6cf7d1f7ab7df8092c18aacc455499a9aadd0803ac3b0fb800c4d880a16256ca12f2
diff --git a/dev-python/hypothesis/hypothesis-6.59.0.ebuild b/dev-python/hypothesis/hypothesis-6.59.0.ebuild
deleted file mode 100644
index b5baf39ef699..000000000000
--- a/dev-python/hypothesis/hypothesis-6.59.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{8..10} )
-PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 multiprocessing optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- !!<dev-python/requests-toolbelt-0.10.1
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # subtests are broken by warnings from random plugins
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
-
- epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
-}
-
-python_install() {
- distutils-r1_python_install
- if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index 2400d96e890d..e46718d940e8 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,2 +1,3 @@
DIST identify-2.5.11.gh.tar.gz 101504 BLAKE2B 0415e9ab67c4254f3dd096364f518b131568c2180b8fdc5096405bae11854d5ef953eae01ad13292b6948d76f02adeee4607cd9485b705b1a303c44bc7110409 SHA512 cba8df5abacfc4db4305501eb6566ef3c9b3e0557796c046159f60a88ee3d0e206e13b070a01c3f7da74f8abf7a17e1374c40dc61814b5b580d1f8508034c402
DIST identify-2.5.12.gh.tar.gz 101331 BLAKE2B 5335d8e4628921ca813c37197adc8802dc64adec021c80a3babfe2a8f9d27d96c00ae6dcfb0b3aaa6c4ffbde4c74fca6113e94abe7a79122605475c0f9f697d8 SHA512 6b2e9818bdce4c8944fed380708edac0f46f5ff481dfe19358aaf19996af5c9631bd1d68c399bef04768e924423a02519bcd28c58b0f83d455151f90afe4b2a6
+DIST identify-2.5.13.gh.tar.gz 101385 BLAKE2B 2425fd7d1283067215eb776a635421e126ce307c6d94c618bfa2397c0a8e857e34a99c70d8d425f55c577158544165ab8d59b65a879bd6ce113416a99c2684d2 SHA512 efdc3e8d5293fac7f51c72408010b86bf0e84258e114bf2130105d1d6c74ed8d969b92b0bd9a06029c373a767f184c9e3006df1284393d95a6f0b386f9fc69da
diff --git a/dev-python/identify/identify-2.5.13.ebuild b/dev-python/identify/identify-2.5.13.ebuild
new file mode 100644
index 000000000000..718b36c70087
--- /dev/null
+++ b/dev-python/identify/identify-2.5.13.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 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="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 6fc5ae0a2f07..77ad105e235e 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,4 +1,3 @@
-DIST ipykernel-6.18.3.tar.gz 141999 BLAKE2B da5b0b2a36a58f2c91fdeab95a7e4bb33e09f9663eccb6d394f69a5a25e7e55e3f18315d017aaf435607efa73acca955665f7720b75ac4aa3256aa034698082d SHA512 0687ac146bac38bbdd6abad11df31572cb105bd41b79de98b40c18b60cdcb550b7ea10d68acf99f26d70c00ed4ef371d6dc2b6a4ce27eccae3f736955754ca1a
DIST ipykernel-6.19.2.tar.gz 143367 BLAKE2B f6f38f5eed3a11951d303f49c58131d9473040b34032c133cf0f788bb648fc7c8529e3879dce315dcd3eda4eb1be45eb4891d10d4a2d006bb7947f2b342a47a7 SHA512 67ccbffb2d9eba27e9b87c7bd9dc471955c0109ea30caf77412f74c803dc25ab526de90d8351c9459b5d7b2009c746f73ac4a08ae8c277d2e2de8344aef71834
DIST ipykernel-6.19.3.tar.gz 143840 BLAKE2B 9736d1ae2a2ef3c807bcea78aafc4ca2e3813693bddf9eac82425aed78382c36d736d5b4351989d9fdf3343335c503fef92f76ebff5a313e5af222aa78a04a04 SHA512 5c37e60ee353e469c0d7fce20a66d8e71dc57120ace6d518ed98816280c794ffafe8e8226545d978fc822760b5874371eafcb20cb7195328e505073eb70b4f06
DIST ipykernel-6.19.4.tar.gz 144072 BLAKE2B 25e2031a9198079488ef43b9c65e656be720ec8ac6648cb3eb65705be5c117d32c783776c0d8f5da466e745979ccb64573720146c0b41835ecb646bf25e7d4f8 SHA512 623a8cac7abfce0147a08fe55bf88772bfaf317431a608a99ae3e7058ebb120464d751a8b95633ccde5201b4cc2c1bde32dd823add96e5f2bb1ef20da19652dd
diff --git a/dev-python/ipykernel/ipykernel-6.18.3.ebuild b/dev-python/ipykernel/ipykernel-6.18.3.ebuild
deleted file mode 100644
index 2d49efb94294..000000000000
--- a/dev-python/ipykernel/ipykernel-6.18.3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-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} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/comm[${PYTHON_USEDEP}]
- >=dev-python/debugpy-1.0[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-6.1.12[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
- dev-python/nest_asyncio[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1.0[${PYTHON_USEDEP}]
-"
-# RDEPEND seems specifically needed in BDEPEND, at least jupyter
-# bug #816486
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO
- ipykernel/tests/test_debugger.py::test_attach_debug
- ipykernel/tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- ipykernel/tests/test_debugger.py::test_rich_inspect_at_breakpoint
- ipykernel/tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- ipykernel/tests/test_debugger.py::test_set_breakpoints
- ipykernel/tests/test_debugger.py::test_stop_on_breakpoint
-)
-
-src_prepare() {
- sed -i -e 's:^TIMEOUT = .*:TIMEOUT = 120:' ipykernel/tests/*.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- # Use python3 in kernel.json configuration, bug #784764
- sed -i -e '/python3.[0-9]\+/s//python3/' \
- "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
-}
diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest
index 586f1d285dc8..e86d1c378cd6 100644
--- a/dev-python/jc/Manifest
+++ b/dev-python/jc/Manifest
@@ -1,3 +1,2 @@
-DIST jc-1.22.2.gh.tar.gz 12714893 BLAKE2B 96ed8cae1ed7fb19e0f66f39be124e3ea7874b2a77862f2824b6ef7ec4b624a7e080c9c189da8f4b82f38a2a5198b10a84dd5150173e7fce001ca13d2c095967 SHA512 1ce834ce9787c23e36f19e1733b91b6951872aaeaf400d617379bc7f072f0689301c88542c2ba14a4e52beadf221d765e2a05a9078ce52355abcddac6884a78d
-DIST jc-1.22.3.gh.tar.gz 12728331 BLAKE2B d7d3269e50458032993f44fdae0711553cb6eac7dcb8dc364272b46cdb7d23a0764064cab2d92d25aa93c28454a2c67c99fe2fc4cabe1640b25865bc274cdc76 SHA512 bd11ed86ed715e6a715a0fda15523cb945e285cede51c7a4fec085090f737558f6687bde0f2ddbd2164d701dfccedfb499f77fc66c646b90b40cb3f9cb14c633
DIST jc-1.22.4.gh.tar.gz 12751657 BLAKE2B 287cd33585ca0812ea25a5f09ab1c35e61e1f2d22bea11b202b85a00704077260d331cc8df15b6c2063771ac8f4f3111f8eb99036a3f18da34171081a26c5f46 SHA512 d35dd48af283707835bacf6ee3dfef46ccbf0bf1c37c6418bab3aca0274e12a9c5198de03fa3b3198661ab51d7bfe376fdd04092f06c481abc80f5c20388cb0c
+DIST jc-1.22.5.gh.tar.gz 12820323 BLAKE2B 2248ce17322b79f6902d595d1afa9a9afff64c153f08396de7b4441f5be0bda000188740a39435f7049e2a0d940e3fb5e6a53b4cca20c518b4522145b7447264 SHA512 72f4d0389ccc716ff61cb182ce26597a65ae1b1a449ad24078f5369b3b4c824ff27366d06456075ee55b24c5c91beb59f2dc8ec86f9b7db47728808e0647724b
diff --git a/dev-python/jc/jc-1.22.2.ebuild b/dev-python/jc/jc-1.22.2.ebuild
deleted file mode 100644
index 86fa8a964c82..000000000000
--- a/dev-python/jc/jc-1.22.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 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="Converts the output of popular command-line tools and file-types to JSON"
-HOMEPAGE="
- https://github.com/kellyjonbrazil/jc/
- https://pypi.org/project/jc/
-"
-SRC_URI="
- https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jc/jc-1.22.3.ebuild b/dev-python/jc/jc-1.22.5.ebuild
index 86fa8a964c82..b36f6bd9f1d2 100644
--- a/dev-python/jc/jc-1.22.3.ebuild
+++ b/dev-python/jc/jc-1.22.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/dev-python/mapbox_earcut/Manifest b/dev-python/mapbox_earcut/Manifest
index 2f35a2295175..c972a5a3bb86 100644
--- a/dev-python/mapbox_earcut/Manifest
+++ b/dev-python/mapbox_earcut/Manifest
@@ -1,2 +1 @@
-DIST mapbox_earcut_python-1.0.0.tar.gz 11418 BLAKE2B af1b2c34fe5807145de4b8db3f4b8803c3c03a89f6f3c9fa053ec256eaa5089867d570b9ff66d19a11808e1a452039cf6d194494fbe964cc18f233a528203293 SHA512 8f3687ac11497ad73c2a3dd1d1203dccf655da623d1638e638978a59388e0c057ca6f895782b609d59a2a4be478d6daf2294523a946c8a5d232dcfe718e4eec9
DIST mapbox_earcut_python-1.0.1.gh.tar.gz 11794 BLAKE2B c54c2333ac08f551737ff6ba0e5179464c0330fefeb11e5cff9ad6d3927e8a5d5323cbceffd271a25103e75da44f2a4efa17b8c338f888f69f71ee7bc1e21682 SHA512 cdb32585cbaf74c15e59af0ae70d983dd2f9bc9cfe1b59b3eadc4d442f7d962241854b589a035deae67cacd9334833b911d0981f0d417fe587348fc7d24f0c0a
diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild
deleted file mode 100644
index 48efae7474fd..000000000000
--- a/dev-python/mapbox_earcut/mapbox_earcut-1.0.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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 distutils-r1
-
-MY_PN="${PN}_python"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Python bindings to the mapbox earcut C++ library"
-HOMEPAGE="https://github.com/skogler/mapbox_earcut_python"
-# No tests in PyPI and GitHub release tarballs
-SRC_URI="https://github.com/skogler/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/numpy[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/pybind11[${PYTHON_USEDEP}]"
-
-DOCS=( CHANGELOG.md README.md )
-
-distutils_enable_tests pytest
-
-S="${WORKDIR}"/${MY_P}
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 30587c3f6ac3..6a671b9518cf 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
DIST matplotlib-3.6.1.tar.gz 35826557 BLAKE2B b30710436a773298dcdf233e592656d9815f55f0daab0cc28811b9adbfd3b2ede08f4c13e0dfa43c5fb283bc1ba96ea793084f3d65ba13b9697d14ffa406a273 SHA512 40b148fe4574eea88e7e74c2844a4811c71651602bd7e0a863482571bfa216c01d4f5fcd36add14af82c5cacdb6ae9d441ed251ee5239d06bcc8d40c9ee8841b
DIST matplotlib-3.6.2.tar.gz 35843927 BLAKE2B 22b933b2ca2bfb156ee1592f522da6e7566f279fd6c7ef2d2f5aeb8697fc04085b57ba6bb5f7948572b3e671687b74d6ba9f7def2728b6224fbc98b121281a3c SHA512 51b84a4328a85f674cb44728955fca8bb5b8b702c788158b8bcfc13a44206a5a658ac12ed8f9a5f6ec53ef543395fab4f3871f91013ba1432f3e2b848c36976f
+DIST matplotlib-3.6.3.tar.gz 35868590 BLAKE2B aa511e7d82c41ff2b5622b23847c2e94ed5d400be74eddcdab12ddba8d25bcc1b778c5fb2a29935bca71b76cbf4213088286c9a6a3d085e06036069909ccc1e7 SHA512 844ca90bcc9953d3d1289a6d471180a3dadb49c75eb59858bbbfb67d4b1292b83b86b366f22ab12d9e97c980376d48b86e745607ec4e812a3010c6fec01398dc
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
new file mode 100644
index 000000000000..176f2f03c5c9
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.3-test.patch
@@ -0,0 +1,25 @@
+From 28294f8dc7305707c6e9a481c42416b2fb5714a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 12 Jan 2023 06:39:23 +0100
+Subject: [PATCH] Increase more tolerances
+
+---
+ lib/matplotlib/tests/test_lines.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index e83a90ccb1..ddba36333f 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -166,7 +166,7 @@ def test_set_drawstyle():
+
+
+ @image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0.62)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+--
+2.39.0
+
diff --git a/dev-python/matplotlib/matplotlib-3.6.3.ebuild b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
new file mode 100644
index 000000000000..4b8fe931f56e
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.3.ebuild
@@ -0,0 +1,281 @@
+# Copyright 1999-2023 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} )
+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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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/contourpy-1.0.1[${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.19[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,webp,${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}]
+ 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? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{8..10})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/setuptools_scm-7[${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}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+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
+
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.6.2-test.patch
+ "${FILESDIR}"/matplotlib-3.6.3-test.patch
+ )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+ sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || 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
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+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 = True
+ [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
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ 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
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ )
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+
+ # 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
+
+ esetup.py build -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_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
+}
diff --git a/dev-python/openapi-schema-validator/Manifest b/dev-python/openapi-schema-validator/Manifest
index dbf6da6615bb..601d07df3a43 100644
--- a/dev-python/openapi-schema-validator/Manifest
+++ b/dev-python/openapi-schema-validator/Manifest
@@ -1,2 +1,3 @@
DIST openapi-schema-validator-0.2.3.gh.tar.gz 25501 BLAKE2B d961cabca647f59d4d4188f1941ce5b2475e02520bcc10e7cd29817c8ea8ebaaac5af1ffb0e3d5079ed2d1493414cdaf55336744b142385754585e748af8ac98 SHA512 e6dfe3d6cc99fa9723102ced42040203157639be68b0438d7bfae4499e51cdb6257a36dca10425a5d5e692cebb958468ebeee722116b99d800a6fcf972400c66
DIST openapi-schema-validator-0.3.4.gh.tar.gz 16593 BLAKE2B 17882dff25d1bed05efa74792930a357d82cb404bbf746a6f348e9813b4af86842da1523a8e3dfaec1426c82efff6b0bddbfca89c8569ba36a4324ab4e5a418b SHA512 714f93594c875a04194a6980dc5e092866609787e424ef480d42da93c114e3b658a5efef13f78ed3db35f6e7399d7dda8adbc1d3bb8606512aa4f135edeaeb75
+DIST openapi-schema-validator-0.4.0.gh.tar.gz 17070 BLAKE2B 199476dd660ab3493fe9805dc915c42f05b2bc5ca0f1f9728aa1e5afe5a923e3f84d82511572e353ab19c15b3094460dcfbde5ef1d96ca834c1da24314223046 SHA512 ce61c112c528bac022e3feb959bfe5adbac000ec0b4956f678bf61f66efdbf3a5cf912a4dfa1512858b497fdadaf533532f5a580f28f6ceea831e6b5ac98d85e
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild
new file mode 100644
index 000000000000..6d10cc17cc22
--- /dev/null
+++ b/dev-python/openapi-schema-validator/openapi-schema-validator-0.4.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022-2023 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} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenAPI schema validation for Python"
+HOMEPAGE="
+ https://github.com/p1c2u/openapi-schema-validator/
+ https://pypi.org/project/openapi-schema-validator/
+"
+SRC_URI="
+ https://github.com/p1c2u/openapi-schema-validator/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/isodate[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.0.0[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/--cov/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pycares/Manifest b/dev-python/pycares/Manifest
index 45194e72ba8c..feed9bf44da5 100644
--- a/dev-python/pycares/Manifest
+++ b/dev-python/pycares/Manifest
@@ -1,2 +1 @@
-DIST pycares-4.2.2.gh.tar.gz 44200 BLAKE2B a857f20f0f1cf0243f02d7f8663bfba3d0f97f033afb5eee5ec3ff74b70279cb3535c04953c3131771a1a6447032e309dbed064a4e85b30980361f5db3d674f1 SHA512 1a6b30e8f55d37ca0af9dfd70fd3a0630b691f5f76b4f650e9c98c585b26bd1ff9c237fc1705ce5dc257857db0dce2f020f12099f0c211f5ad0f12196f39433b
DIST pycares-4.3.0.gh.tar.gz 44577 BLAKE2B b69eeb34a2f8c9d7025dc74881431b3fc5489b7f7e9142bb9ecdaf217e495ad72b1a6a7dc484a52e6a01394bbfa6d0609b2054dd4a663176cfb73d980642a3e1 SHA512 1dad1a6722bdd2bc59cc4ca774cc9da243e61a442ef383c238714b1274e90359352c72d16a2c1af2fcce3ea92708a7e5cee89a9b3eb7c015f9a194051c685f52
diff --git a/dev-python/pycares/pycares-4.2.2.ebuild b/dev-python/pycares/pycares-4.2.2.ebuild
deleted file mode 100644
index 0c129f37630c..000000000000
--- a/dev-python/pycares/pycares-4.2.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# 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 interface for c-ares"
-HOMEPAGE="
- https://github.com/saghul/pycares/
- https://pypi.org/project/pycares/
-"
-SRC_URI="
- https://github.com/saghul/pycares/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/pycares-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-IUSE="test"
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-DEPEND="
- net-dns/c-ares:=
-"
-BDEPEND="
- virtual/python-cffi[${PYTHON_USEDEP}]
-"
-RDEPEND="
- dev-python/idna[${PYTHON_USEDEP}]
- ${DEPEND}
- ${BDEPEND}
-"
-BDEPEND+="
- test? (
- dev-python/idna[${PYTHON_USEDEP}]
- )
-"
-
-export PYCARES_USE_SYSTEM_LIB=1
-
-python_test() {
- "${EPYTHON}" tests/tests.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
index a7027c2e3bd2..43cd5c7e8583 100644
--- a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
+++ b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/pyproject-hooks/Manifest b/dev-python/pyproject-hooks/Manifest
new file mode 100644
index 000000000000..62489d7f8552
--- /dev/null
+++ b/dev-python/pyproject-hooks/Manifest
@@ -0,0 +1 @@
+DIST pyproject-hooks-1.0.0.gh.tar.gz 16001 BLAKE2B c90d2fb70ada9414cbbf201bfbb695b4e9055b61fdcdc8e0f8a2548e4f47e7512140fc71fee9f9306577d97b76ca64e77b7c58d526381c5481739e630e5250a1 SHA512 fca9b69859d7e3949b158c2879ba7ebc7305f1edaacdd84b71a92565010176d1194be03a21fd6b9aa65d175cfd8243ba3a50aab617fb56ceac6b263da6613e17
diff --git a/dev-python/pyproject-hooks/metadata.xml b/dev-python/pyproject-hooks/metadata.xml
new file mode 100644
index 000000000000..a0d4c5913ba0
--- /dev/null
+++ b/dev-python/pyproject-hooks/metadata.xml
@@ -0,0 +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>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
new file mode 100644
index 000000000000..cfed3f37af1d
--- /dev/null
+++ b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{7,8,9,10,11} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
+HOMEPAGE="
+ https://pypi.org/project/pyproject_hooks/
+ https://github.com/pypa/pyproject-hooks/
+ https://pyproject-hooks.readthedocs.io/
+"
+SRC_URI="
+ https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~riscv"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+"
+BDEPEND="
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index fd9ed1e82324..90a7c7a3f1c8 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1,2 +1,3 @@
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
+DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild
new file mode 100644
index 000000000000..21759e95a0c4
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.8.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2023 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 fd9ed1e82324..90a7c7a3f1c8 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1,2 +1,3 @@
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
+DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
diff --git a/dev-python/pyside2/pyside2-5.15.8.ebuild b/dev-python/pyside2/pyside2-5.15.8.ebuild
new file mode 100644
index 000000000000..4d638a457084
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.8.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2023 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 7d24903ef481..05fa7cc67441 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1,2 +1,3 @@
DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
DIST pyside-setup-opensource-src-6.4.1.tar.xz 8755436 BLAKE2B 9b88115374eb690282397fbf33fa6698043c77c8defd40fd0d711dee39aa4cd56af94533cf1703b87084e8755758fe636b877071a29043ee7f4c8e406e47cf38 SHA512 330eef5d63c5225e0d3ee8be1229e81ac04ec39772766fd2dfe197291a8153c00a2cd548ce6e49a0a198b3081535c79a7e649a6e9f03dfe67df68790543ea023
+DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild
new file mode 100644
index 000000000000..eeaed3d06290
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.4.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 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 7d24903ef481..05fa7cc67441 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1,2 +1,3 @@
DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
DIST pyside-setup-opensource-src-6.4.1.tar.xz 8755436 BLAKE2B 9b88115374eb690282397fbf33fa6698043c77c8defd40fd0d711dee39aa4cd56af94533cf1703b87084e8755758fe636b877071a29043ee7f4c8e406e47cf38 SHA512 330eef5d63c5225e0d3ee8be1229e81ac04ec39772766fd2dfe197291a8153c00a2cd548ce6e49a0a198b3081535c79a7e649a6e9f03dfe67df68790543ea023
+DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
diff --git a/dev-python/pyside6/pyside6-6.4.2.ebuild b/dev-python/pyside6/pyside6-6.4.2.ebuild
new file mode 100644
index 000000000000..dddfe6cdfdef
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.4.2.ebuild
@@ -0,0 +1,223 @@
+# Copyright 1999-2023 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/pywayland/Manifest b/dev-python/pywayland/Manifest
new file mode 100644
index 000000000000..979b3c791fb9
--- /dev/null
+++ b/dev-python/pywayland/Manifest
@@ -0,0 +1 @@
+DIST pywayland-0.4.15.gh.tar.gz 61084 BLAKE2B 2417aa57942f5a7810db3525d16070ed81613bd1ab8f864a95e9f1835f9793348ad1afd2dbaeed2bb08f5bcb58777ab545f8ef7cb70903703c89998095724f8c SHA512 c45d2a24c487cf1785b7bc488808157e2dcae630438c289864df615c98278e7c03de21431fa622e0917713130f5583ff5cb3181c0a7f595cebba2cdeec36a7cf
diff --git a/dev-python/pywayland/metadata.xml b/dev-python/pywayland/metadata.xml
new file mode 100644
index 000000000000..7ad11570cc7d
--- /dev/null
+++ b/dev-python/pywayland/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pywayland/pywayland-0.4.15.ebuild b/dev-python/pywayland/pywayland-0.4.15.ebuild
new file mode 100644
index 000000000000..bff9e5c0f8a6
--- /dev/null
+++ b/dev-python/pywayland/pywayland-0.4.15.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023 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 xdg-utils
+
+DESCRIPTION="Python bindings for the libwayland library"
+HOMEPAGE="
+ https://pywayland.readthedocs.io/en/latest/
+ https://github.com/flacjacket/pywayland
+ https://pypi.org/project/pywayland/
+"
+SRC_URI="
+ https://github.com/flacjacket/pywayland/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ dev-libs/wayland
+ virtual/python-cffi[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-libs/wayland-protocols"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Needed for tests (XDG_RUNTIME_DIR)
+ xdg_environment_reset
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # No die deliberately as sometimes it doesn't exist
+ rm -r pywayland
+
+ epytest
+}
diff --git a/dev-python/pywlroots/Manifest b/dev-python/pywlroots/Manifest
new file mode 100644
index 000000000000..42da54f56046
--- /dev/null
+++ b/dev-python/pywlroots/Manifest
@@ -0,0 +1 @@
+DIST pywlroots-0.15.24.gh.tar.gz 85570 BLAKE2B 0c7ba0be6159152488785298028bb1feec20e2380357060a850dab417b3fb1fccb4a9e6cc6564d2b7f124bf4fc454789549267e9036b0b4559e5fcd4c6f06196 SHA512 b29b76cf18a65b2ef19d15ecf018a9ba44119d60ee61435967d17f06d5f7544d2117f2e9a81574734c71591a237b00c8584a5cc6d6adb928f39f11170f21ee94
diff --git a/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch b/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch
new file mode 100644
index 000000000000..eb0cce91ac35
--- /dev/null
+++ b/dev-python/pywlroots/files/pywlroots-0.15.24-no-import-version-check.patch
@@ -0,0 +1,13 @@
+https://github.com/flacjacket/gentoo-overlay/blob/master/dev-python/pywlroots/files/pywlroots-no_version_check.patch
+
+This causes sandbox failures in e.g. qtile on importing pywlroots.
+--- a/wlroots/ffi_build.py
++++ b/wlroots/ffi_build.py
+@@ -44,6 +44,7 @@ def load_wlroots_version():
+
+ def check_version():
+ """Check for wlroots version compatibility"""
++ return
+ # When importing a system-level installed package, we may not be able to
+ # create neighboring files, which is done by the `.verify` step. If this
+ # error is hit, we check with the compiled `wlroots.lib`.
diff --git a/dev-python/pywlroots/metadata.xml b/dev-python/pywlroots/metadata.xml
new file mode 100644
index 000000000000..7ad11570cc7d
--- /dev/null
+++ b/dev-python/pywlroots/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/pywlroots/pywlroots-0.15.24.ebuild b/dev-python/pywlroots/pywlroots-0.15.24.ebuild
new file mode 100644
index 000000000000..653030a7ea11
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.15.24.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 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 binding to the wlroots library using cffi"
+HOMEPAGE="
+ https://github.com/flacjacket/pywlroots
+ https://pypi.org/project/pywlroots/
+"
+SRC_URI="
+ https://github.com/flacjacket/pywlroots/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+# See README for wlroots dep
+RDEPEND="
+ >=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}]
+ >=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}]
+ =gui-libs/wlroots-$(ver_cut 1-2)*:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ # No die deliberately as sometimes it doesn't exist
+ rm -r wlroots
+
+ epytest
+}
diff --git a/dev-python/reedsolomon/Manifest b/dev-python/reedsolomon/Manifest
index e2e019b5a033..243c59d156ee 100644
--- a/dev-python/reedsolomon/Manifest
+++ b/dev-python/reedsolomon/Manifest
@@ -1,3 +1,2 @@
-DIST reedsolomon-1.5.4.tar.gz 283778 BLAKE2B 5354b8d320db1533469ae1fd706c0412a81bb408675041af5dbf42b42014e4b779b937fa8e3b3d0a5e67e62d9fd7ce9ac519022dd98dbc82a156ee0cda7914ce SHA512 c738f817c8f536ee86e5bcd3de73a4cf6a3e606ba196a359b6c09e7372dba31316ddb8b134d7c335100e4c2ff0158ff07caa35fee9bc20768bde23cd803e274a
DIST reedsolomon-1.6.0.gh.tar.gz 62527 BLAKE2B 100e0152ca8d05605f961dbddcc41552941356a72b488375cb1237cf45938382abf6bfd439b572a9aed11a12068258027fae0bc867e7577280829779d21f53a3 SHA512 ddf73b0bdc78856d9aa76e7bf3fcb9715b9b7f922c2d72dc4bd13a4d5a233844757e2946ef96c545ab7979bc6b62a1f33286711f927871a6689a269d20a81b44
DIST reedsolomon-1.6.1.gh.tar.gz 63944 BLAKE2B 58845e726fdf2096af280bf14feb981d883b2368a47904d33a2386db0fb5d94091ecdc22e48bfa415e2abd9c4b3c99446b3b51bca9cce510961172697a273a0d SHA512 323f91e3e43847023f23087e1038ae240572b87c29ee26be1a05a6ee49824aa86cb706d1856b27e28841fbb14efaf897d1b8e0cb626529fe7cdeaa7fbda6ce27
diff --git a/dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild b/dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild
deleted file mode 100644
index a61c2cf1045c..000000000000
--- a/dev-python/reedsolomon/reedsolomon-1.5.4-r2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-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="Pure-Python Reed Solomon encoder/decoder"
-HOMEPAGE="https://github.com/tomerfiliba/reedsolomon https://pypi.org/project/reedsolo/"
-SRC_URI="https://github.com/tomerfiliba/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- default
- rm creedsolo.c || die
-}
-
-python_test() {
- "${EPYTHON}" tests/test_creedsolo.py || die "creedsolo test failed with ${EPYTHON}"
- "${EPYTHON}" tests/test_reedsolo.py || die "reedsolo test failed with ${EPYTHON}"
-}
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index fd9ed1e82324..90a7c7a3f1c8 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1,2 +1,3 @@
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
+DIST pyside-setup-opensource-src-5.15.8.tar.xz 3582256 BLAKE2B eef6668c612c39eac4ea29db4eee0cc6eef72034babaa14525ca63cf6e02695df27bf8a6764110c4bcc77f55c7e9fb531074916a45d7ea324265e50d9a60d592 SHA512 78e19a8e8fa413bb784f16847d5774e4362409a2bd83567177b83f1391c37305d373155fb95ea569c6c483175e62a0d3f5d91a2fd5dae85d48c8047d242b9e22
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch b/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch
new file mode 100644
index 000000000000..143eb24a103a
--- /dev/null
+++ b/dev-python/shiboken2/files/shiboken2-5.15.8-py-limited-api.patch
@@ -0,0 +1,11 @@
+--- a/libshiboken/pep384impl.cpp 2022-09-23 08:47:20.000000000 +0200
++++ b/libshiboken/pep384impl.cpp 2023-01-04 08:07:17.000000000 +0100
+@@ -751,7 +751,7 @@
+ #endif // IS_PY2
+ Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
+ reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
+-#ifndef Py_LIMITED_API
++#if !defined(Py_LIMITED_API) && PY_VERSION_HEX < 0x03010000
+ return _Py_Mangle(privateobj, name);
+ #else
+ // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
diff --git a/dev-python/shiboken2/shiboken2-5.15.8.ebuild b/dev-python/shiboken2/shiboken2-5.15.8.ebuild
new file mode 100644
index 000000000000..022fd3070395
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.8.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2023 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.8-py-limited-api.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 7d24903ef481..05fa7cc67441 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1,2 +1,3 @@
DIST pyside-setup-opensource-src-6.4.0.tar.xz 8551772 BLAKE2B 180d9f2182b8df04394677bbcb0765764d9de1f34064fc688a3ccae8ec37174b4a01fa70c80d98c7ca7fe6b45239225bd801c552d332e2c6fc4a3726535e72e9 SHA512 0517408f110830b888f04777c60b29479831604877da13c5a41a710888ebe53064f06d9b7b61d5c6e6a483ac5ee1639a63bb7f9844301df53e3e9ca8eafcf9e9
DIST pyside-setup-opensource-src-6.4.1.tar.xz 8755436 BLAKE2B 9b88115374eb690282397fbf33fa6698043c77c8defd40fd0d711dee39aa4cd56af94533cf1703b87084e8755758fe636b877071a29043ee7f4c8e406e47cf38 SHA512 330eef5d63c5225e0d3ee8be1229e81ac04ec39772766fd2dfe197291a8153c00a2cd548ce6e49a0a198b3081535c79a7e649a6e9f03dfe67df68790543ea023
+DIST pyside-setup-opensource-src-6.4.2.tar.xz 8759528 BLAKE2B cc1a18e9dc81eb02bbfffd38816da68f053337f94c485fdd2f99488ae7ade2e899be1d98518def8f39a4eeaeaff6018ff09402bfe55b3484d78d8c4d9796b4e7 SHA512 129ea420000fceef9726fab9e0320e8286a34aa0855fc4bd369adc0020b76909b3a5ac8c3fa622b73da1561b39dcaeb8ac121f634918e2c0460a9ebaccb0f659
diff --git a/dev-python/shiboken6/shiboken6-6.4.2.ebuild b/dev-python/shiboken6/shiboken6-6.4.2.ebuild
new file mode 100644
index 000000000000..e7f1dcba6c2d
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.4.2.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2023 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-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index fe7635110422..8e6d1302fdb1 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1,2 +1 @@
-DIST spyder-kernels-2.4.0.gh.tar.gz 92247 BLAKE2B 7dd5a5c6f43de36f23ebac2707e9dc06ced20bb965325b0a31657d03b49cdd993aafe6f1d52d7108dbd2aa8fddf3ae7a6e2da4c2b75eabf05f8302b2119cd3cd SHA512 6744cd05f4cbe452b0b8fa4f416055b8a69f75e49a10b9de3f2781b11f63c84ed7a6686e1a00bbc2020ba015a0cb7f350a6e85665270629a0e714ffe80bcb08d
DIST spyder-kernels-2.4.1.gh.tar.gz 92461 BLAKE2B 44858b58094365c07e8d9aa683d721b5a5fb3475849486cdafb9f4e74330e58c13a1ed4839a470238d5ceee0e990c13fb7c913ba04c0297e91f3f47bc469a5e4 SHA512 d6dbbb4359f9b0a040159e0d654058cb62448c4596d87fcfd0445e31905e61e0a3ac71575763393d25d9f5d81aa07fba62384ef2ef6a1cce32feac5a62153402
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.4.0.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.4.0.ebuild
deleted file mode 100644
index 03166c32e93c..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.4.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 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="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-SRC_URI="
- https://github.com/spyder-ide/spyder-kernels/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.16.1[${PYTHON_USEDEP}]
- >=dev-python/ipython-7.31.1[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter_client-7.3.4[${PYTHON_USEDEP}]
- <dev-python/jupyter_client-8[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we no longer package distributed, and also removed dependency on dask
- spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
- # RuntimeError: There is no current event loop in thread 'MainThread'.
- # https://bugs.gentoo.org/834893
- spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
- spyder_kernels/console/tests/test_console_kernel.py::test_runfile
- spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
- spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
- spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
-)
-
-python_prepare_all() {
- # No additional test failures with ipython-8: 843251
- sed -i -e "/ipython/s:,<8::" setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild
index 9f109ead6fa9..df59e8e226bf 100644
--- a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild
+++ b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 virtualx
diff --git a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1.ebuild b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1.ebuild
deleted file mode 100644
index 2c146ce3075a..000000000000
--- a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Plugin to run the python line profiler from within the spyder editor"
-HOMEPAGE="https://github.com/spyder-ide/spyder-line-profiler"
-SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/line_profiler[${PYTHON_USEDEP}]
- dev-python/qtawesome[${PYTHON_USEDEP}]
- >=dev-python/spyder-5.2.0[${PYTHON_USEDEP}]
- <dev-python/spyder-6.0.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="test? (
- dev-python/pytest-qt[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-python_test() {
- virtx epytest
-}
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
index 6ae1dc1749ae..6bfac7c28690 100644
--- a/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
+++ b/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
# ERROR: Server components are missing!! Please run 'python setup.py sdist' first.
# DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 virtualx
diff --git a/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild b/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
index a55b34dea3f8..59a975a72e64 100644
--- a/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
+++ b/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild b/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild
index 3d74437ea21e..43ce967da1ec 100644
--- a/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild
+++ b/dev-python/spyder-unittest/spyder-unittest-0.5.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{7,8,9,10,11} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 virtualx
diff --git a/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild b/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
index e0a82ab841fc..cf7fcf952d11 100644
--- a/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
+++ b/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 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} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 virtualx
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 4fc4ada656a6..47be152806f4 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,4 +1,2 @@
-DIST spyder-5.4.0.gh.tar.gz 24497211 BLAKE2B 6022e50345a7493e79cc05d735fcded1d109f7b33c94c4b281a0526fe2c3f5c1020c30bc1a48cdde28db6b279b38f191dc6974724ca893220bac034c69ffd46c SHA512 473408c8315ab46dade4cdfb709119d29a38ea77f29c3dc5a8b4e7eece5c1cbd21978ed2665fc6747ef4db9d8726d4ba796ee0716d48657367bb9840760e786f
DIST spyder-5.4.1.gh.tar.gz 24518322 BLAKE2B d19c28abf17872163d43e81d1a34e2f09cfb6d47738609352b0252de3eafbd63992e57059e965e5e9f668b44ba594d2a240130d9f10112bdea3f1d97568ca081 SHA512 f8dc629552957d4ddcbe849388a6b5b53acd17248ea247fd3c27e0a6b93c411102b12f427f9f41824709bceda8687f09efa0310ae4ce798ae9ebc389bbb8253c
DIST spyder-docs-3ae8705d3eba8fc30d4600d6d1e29ce0da8cd0c6.gh.tar.gz 95448945 BLAKE2B 5e130bff9fbca71e61ed96236a6964e8f34602efbb930dbc928a22eec59ebb2d2bee39f679c27dbbf88686345e5db5894f931e7ab95a3e007444b17c4e021176 SHA512 a6ebe6b6ff057616951c0075ba7c8039dc3a304b6e1bbbb40f80bb54018cee374df230e491493f18070273dded2942e14bfecc9439d33ae1bc3edd5b47067d77
-DIST spyder-docs-bb9b308b66cc90e47f43418f079bf098eb4efe6c.gh.tar.gz 89966852 BLAKE2B 7698b0210ccfec9f00cc76893f49398a02878c732eba6bbc89c1da4514734aad8ae8ef85a9c701a1d194976a35a8092755f7c5f09b319f670fac21d0a2e6c542 SHA512 9dd428ca2623c5703076887ab593bd92a2e737d74eb914a7a186d2ab4855519abb02875226463d8c11ff5021e7e84a5ba7c200ad5476f0dc4646831bb0b197a1
diff --git a/dev-python/spyder/spyder-5.4.0.ebuild b/dev-python/spyder/spyder-5.4.0.ebuild
deleted file mode 100644
index b4958d36aac5..000000000000
--- a/dev-python/spyder/spyder-5.4.0.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# 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}]
-"
-
-# Tests are broken anyway, so lets comment this out so we can enable py3.11
-# 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/tox/Manifest b/dev-python/tox/Manifest
index 6cda71898b9d..f108a883deda 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -2,3 +2,4 @@ DIST tox-3.27.1.gh.tar.gz 309006 BLAKE2B fa8aaa9cd5b03e54c166bb6b748290420b91498
DIST tox-3.28.0.gh.tar.gz 309472 BLAKE2B 9896411426f6aebb3efa468c01696ecc5f17ec3e67825672d0efc74c1b1468bc8b8d9c14b6177c181750ba4b9a5e77d616068dd83e21f5641acfc8e2a271cc1f SHA512 64816754e6800661bb564c5c7d21c4139522d540a04fafe3c4591d596072d48d1cbe0ee2abee9c8faf3d5007774f5371431b5a7a8f49912bc879c7b168aab2ca
DIST tox-4.2.6.gh.tar.gz 290939 BLAKE2B ea505ef8a852c17dbae1489b91939f38d8a7bfca45a73cb259f2206928dc88294933ad4e420d148379e429f1dc2924e41028e6d5624aea4dcf170473344583ce SHA512 21efd8418a96f1570e33d4e903e4233eedb4ac6592b9df44dfe686414b00bb4fb1fb9bfe948e301e708e31adae609ecc37e9485d4b2d3b879de66da071c90e51
DIST tox-4.2.7.gh.tar.gz 291533 BLAKE2B 0ed8deb01b3859dbcf37c6a0ed255254994060f195e7d58eefabcaa85b69dd60bd35391c962b2a5476b305787d409d01c9ce71125da418d12f2b3b08604b557e SHA512 2049e797d97b5202969d1d9812d92987ae3f6d47ce1fe09432fefc0912bdd8141abcf63acbd654b899fcfae9282a60f0950c445b224494b6c03f5631dcdb9d41
+DIST tox-4.2.8.gh.tar.gz 291662 BLAKE2B 5a92bb3fd0659717b020a77658b2337e8ab153242136a0a6a700fea63e142cd263cda8ee58d9b78b98e9ba4cb1138573bacc48d7cf488123eff743528e1a4b6d SHA512 1a332dacc2096dcee021182db1014ff9a0b7f32a573d3ab508eed94a4f60773919c6350e1cab3ea0df79bd2274bb76da422e2d75e99853a67c276db02ba3232e
diff --git a/dev-python/tox/tox-4.2.8.ebuild b/dev-python/tox/tox-4.2.8.ebuild
new file mode 100644
index 000000000000..1249cfa05f27
--- /dev/null
+++ b/dev-python/tox/tox-4.2.8.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2023 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
+
+MY_P=${P/_}
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+SRC_URI="
+ https://github.com/tox-dev/tox/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~riscv"
+
+RDEPEND="
+ >=dev-python/cachetools-5.2.1[${PYTHON_USEDEP}]
+ >=dev-python/chardet-5.1[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.8.2[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-api-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.8 3.9 3.10)
+ >=dev-python/virtualenv-20.17.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/flaky-3.7[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9.4[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ >=dev-python/re-assert-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/time-machine-2.8.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ # the minimal bounds in tox are entirely meaningless and new packaging
+ # breaks setuptools
+ sed -i -e '/packaging/s:>=[0-9]\+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ epytest
+}
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 1bb31b452c18..6dcb1d3b673c 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,3 +1,2 @@
-DIST trimesh-3.16.0.gh.tar.gz 11970053 BLAKE2B 3898dd2fd12fd070bc9a3a10e21bd255b75f7758deb38e0d36314524b4e24b7ada6514865c06677a1db39b1723b918e5ec6dcf491bf0c946c3e22495cf7dcd01 SHA512 7b56a5007614eae8a7cef1a69334ef3b21499572b5bfaa414bd29097a431266e1ec4d7dda540dbf502a57f5b0ce9d3fb3763675821714ac25d924e0d15e22c71
DIST trimesh-3.17.1.gh.tar.gz 12653345 BLAKE2B df286132ca01e1a7e8c226b7c98ffa0682b9bf2e225c4114c88395611d1a65a02be4395940ad04b67ae3b6909664b46e18e9fd018d892c86f8f5a4fcfe532210 SHA512 8cbf0bedd21c0867c5aa307e9bb8b4e4caff2aabee89cfadfa11513293304caa4b6a5ecce21064b7fa157a2453b58d401eb6010d0ea32bbd5a99c3075f38b826
DIST trimesh-3.18.0.gh.tar.gz 12656666 BLAKE2B e183ab1b5ff904b54a7801aaf9e6a3ac24a277107dae03dd37be7a37c56835ac99b617af1c12ea4119c39c3c064d8d1e783ce6effa51ebc0bc65103e688ad363 SHA512 309e1c5dd17a2d1875254a732d96708b98635cbd17ceea80c5386d6ea4675f943e1760f7a4383e9c24ec5711d30ea0732883a691952da1d1079a81a87fcca6cc
diff --git a/dev-python/trimesh/trimesh-3.16.0.ebuild b/dev-python/trimesh/trimesh-3.16.0.ebuild
deleted file mode 100644
index 885721d59c9f..000000000000
--- a/dev-python/trimesh/trimesh-3.16.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# 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 multiprocessing optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimsh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- sci-libs/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -n "$(makeopts_jobs)"
-}
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" sci-libs/scikit-image
-}
diff --git a/dev-python/xkbcommon/Manifest b/dev-python/xkbcommon/Manifest
new file mode 100644
index 000000000000..95f920325d37
--- /dev/null
+++ b/dev-python/xkbcommon/Manifest
@@ -0,0 +1 @@
+DIST xkbcommon-0.8.gh.tar.gz 26951 BLAKE2B 0d2a649e3fee8baa9345ddca97dc7c77b5d9e10d7ca90cbb29bcc3531f4bba3deee39e610e147054e956310506fb79ebb43c85955b787e55046d67c12b851026 SHA512 ae2640ef89e7ace0468e970762c7be4d3f608701f1abea10174f274c622db28a6e6323cdc5bbbbaaa1065d4c4ddf9f67b75d4c34bb2e9a0bb6260778b15a330a
diff --git a/dev-python/xkbcommon/metadata.xml b/dev-python/xkbcommon/metadata.xml
new file mode 100644
index 000000000000..7ad11570cc7d
--- /dev/null
+++ b/dev-python/xkbcommon/metadata.xml
@@ -0,0 +1,9 @@
+<?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>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/xkbcommon/xkbcommon-0.8.ebuild b/dev-python/xkbcommon/xkbcommon-0.8.ebuild
new file mode 100644
index 000000000000..159ea9c3c5a5
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-0.8.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023 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="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon
+ https://pypi.org/project/xkbcommon/
+"
+SRC_URI="
+ https://github.com/sde1000/python-xkbcommon/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}"/python-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ virtual/python-cffi[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # No die deliberately as sometimes it doesn't exist
+ rm -r xkbcommon
+
+ epytest
+}