summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Manifest.gzbin271095 -> 271081 bytes
-rw-r--r--dev-python/gmpy/Manifest2
-rw-r--r--dev-python/gmpy/gmpy-2.1.5-r2.ebuild2
-rw-r--r--dev-python/kiwisolver/Manifest3
-rw-r--r--dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch30
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild45
-rw-r--r--dev-python/pyside6-tools/Manifest2
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.6.1.ebuild68
-rw-r--r--dev-python/pyside6/Manifest2
-rw-r--r--dev-python/pyside6/pyside6-6.6.1.ebuild241
-rw-r--r--dev-python/shiboken6/Manifest2
-rw-r--r--dev-python/shiboken6/shiboken6-6.6.1.ebuild176
-rw-r--r--dev-python/sqlalchemy/Manifest4
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild97
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild111
-rw-r--r--dev-python/xcffib/Manifest2
-rw-r--r--dev-python/xcffib/xcffib-1.4.0.ebuild42
17 files changed, 493 insertions, 336 deletions
diff --git a/dev-python/Manifest.gz b/dev-python/Manifest.gz
index 1f291a8399d1..db215d77c70c 100644
--- a/dev-python/Manifest.gz
+++ b/dev-python/Manifest.gz
Binary files differ
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
index dabf72ecf80e..afc827843eb9 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -2,6 +2,6 @@ AUX gmpy-2.1.5-mpfr-4.2.1.patch 997 BLAKE2B 16788236152316e08b3ef8815dedc7682885
DIST gmpy-2.1.5-cache.patch 19769 BLAKE2B 72d61ea00fda608ae92c5319828cb5c0003a69cd4be4bf3cde62574a93987b2316df5334d290eca7d48e44e423227d0b5a22c142c4a95b42aebb4560c3bf7ea6 SHA512 f16dbd78a99f27c6f588b814bb9b307429927eae9828fcea04225f163c1cd28968c2994689c4802dc0b619cdfd7c50401d1ec06c220756268af17499613fda1b
DIST gmpy-2.1.5-py3.12.patch.gz 1817 BLAKE2B cbea3a9c662d52c5bfddb82ab5e920474a52c1dd715b3b9fecf55e5ee097297168ddb7961b6156e4c1f902e911890c77252d119c3651f345f01cad144ed44127 SHA512 26195e8e9a87147a05fd07fa325f262c2004fcba2b8857dbc87ca7a1e9e5e64b4a47d35be77edc263829e5df1db6a0acda6904307d01529eba832feb4f0f3f71
DIST gmpy2-2.1.5.tar.gz 261709 BLAKE2B 50958868866fadc49c97534780fa491fadfaaea902f3fd4bd51f4e76a94602a6d030a1ee6685aac742e25b5fbe4865e1419307f7215c8fb553b166761d63607a SHA512 92e16359ee1df63faaeae4a3cbefe8cdbbc576d8eda377f08d59f12b70dfe9337a299686e85d1efee6c2f5b41fc4583643fecc68ea38a500c7f876c56fc169e7
-EBUILD gmpy-2.1.5-r2.ebuild 1347 BLAKE2B 62a70e1578216049c5f6f51afbcb30f908a203c1a823e30e64e47aaeebc958156abd3bedb71323afde74059680eee4d06127c5079857860d0de9a8dcd8f7cce0 SHA512 1a04106264d7b30d3091cbcd58450d64431372e906345b69d034c4f3d7ac09fde498dc6d80f61eebb9bdeaa2c8b4b1392afce88da0e658aa4356e31f109143f7
+EBUILD gmpy-2.1.5-r2.ebuild 1346 BLAKE2B 5bd002e9d0112a6428828e432db765c11b74bd7daa799fc3f91fb44c4f257b1c41e51fb8c4999b712e23920cea7d411b761c71148b85dcd20eff0349f0267da8 SHA512 7ba5a5269fbbdbb2828346266cddfb78598754b4714e4b5450b5d8171355f31c8187517433bfdf2f1c76fa69d1754b64bb3c66f3e15c52c76e934ce16052f2ef
EBUILD gmpy-2.1.5.ebuild 789 BLAKE2B 7ad22878e16aa85a5f842fedb77e4a41efaff0c51221fd1884b7832911fbadd808c3ee531af7c9f0f2e9fdf8cdd01123fe3c3fe90baa9087cac1865113e400f3 SHA512 943dfce246dd493dcbbe1f17b2a17f214dfb8717742bad2f6b75baf9d30431892c832e6a8ef4905f0839fc1cdbfe18bd1757552254358608990d1a651b1ceb8a
MISC metadata.xml 687 BLAKE2B 9cf9e1c3dad11819000600a2ce28b5f140101cfa37553df7bf07edeb8513d7b8d80b15d561e37ca960a23d3470fc7f83608f9163d46b54fe7c41782302c53963 SHA512 eb1aacdf09d56ac73a1ce37d4562987c900f658bc517ccb6bd34cafefdf9a790d0e0d4318f70b57d68c5ec0c2832d0960b2bd619002fe690f484cd2702b77f79
diff --git a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
index 7d2c6cc44fbd..1516736e6849 100644
--- a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
+++ b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
@@ -23,7 +23,7 @@ SRC_URI+="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
diff --git a/dev-python/kiwisolver/Manifest b/dev-python/kiwisolver/Manifest
index be0ae0db16f5..a3464a51e331 100644
--- a/dev-python/kiwisolver/Manifest
+++ b/dev-python/kiwisolver/Manifest
@@ -1,6 +1,3 @@
-AUX kiwisolver-1.4.4-pypy3-tests.patch 1001 BLAKE2B ebb5318a74bdd878c58234b0d71f4adb96e7180624588e24862005fb07cc834ce1da060d9ce543af5f5bc5408b3565f04b4bfd53eee9d1dd93cfd3c03908801a SHA512 2333bfdf39f65648a988a2abd7e3b1f02a24fea73dab3a155351035be8a3f3cad09a4bcdaaa4524ea7080b3774e1a573fd10e51107466765007c7914b02cf1bd
-DIST kiwi-1.4.4.gh.tar.gz 91343 BLAKE2B a5e345509e7294eaf89e1361c035b3ef5d672d335682dbb426196d22876762b1f729cc728300f731a42afbfdf2828591f83cc53daf28e8d4c451a1b246b4800f SHA512 9a7ed487bb28f8c430543dc21ea59156078c129fd29b1382f1578368e72f312f4e813eb4501e4c9387647b42b085b93d4bd27d0e846f1396fa4ce68fd9e9ba5f
DIST kiwi-1.4.5.gh.tar.gz 91741 BLAKE2B cebdf8269b063d10f85a303cf5fa850f87c911aff9be37ae2b6762f021ea25b8b8cb3759e7e4292bc8c2fdbdf5d73ef6295263f541adb283969509cc11d8428a SHA512 889e106c27915cb773bc13969605812c1ca01a139e992d2b3517eb20989ae41392bfdcdd63184a7777b13eff5109d167869087ea09149b1527e56a3455213b14
-EBUILD kiwisolver-1.4.4-r1.ebuild 981 BLAKE2B 170f4ca09fb6e523b50129c71cd47a63006cbf17ee019775311f1c63c2ed9e595e51b3e81c3f9c38cfd97f82705fd537113cceb22177050196201d70070d7218 SHA512 a782c6ebd7958518158c99e44aa9fd2bcdf09343f76c610520e0921104d830575740e3020d7d22b3f57a3a621bf7d3ee88ba9ca2e7096332786639a89835ee0c
EBUILD kiwisolver-1.4.5.ebuild 923 BLAKE2B e72b6a86b15cff7c24a0cdfbae67f3d9413dd31f27710c959c5f46236dd33e407c715d7084095b1df9fcdfe3fc17eb431697f49f6c928aa0d05627c5c16a70ea SHA512 4280873e1cd5a11d4a87a11e36e2898ab3c069acd05251b808deda78d538f90734d05b4e4f430be80e14ab50942737586de14829cd62fed12bcf1cf5d11a43e4
MISC metadata.xml 366 BLAKE2B d724248e9950219de4990e67822a16781e1a28f41d863fde04b3e1212b982a86819636a621b6e23089b76042ebbb23e0944a88ef9ab4c4abe62103f12197e5c2 SHA512 526fe3a81426edfc4c050631133799d948d1becb016319e954491090b9f3f6d410958db7027b5c2e2386b40c783f8c984b2588cda56e3ac58f3d2b1a5a8af0f0
diff --git a/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch b/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch
deleted file mode 100644
index 705855f02f61..000000000000
--- a/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch provided upstream as https://github.com/nucleic/kiwi/pull/158
-from issue created at https://github.com/nucleic/kiwi/issues/157
-
-commit ad1c62f046dc14c1e85e4e1c1b8e175eda08838e
-Author: Jérôme Carretero <cJ-kiwisolver@zougloub.eu>
-Date: Fri Feb 17 18:40:45 2023 -0500
-
- py: tests: make tests run under PyPy
-
-diff --git a/py/tests/test_expression.py b/py/tests/test_expression.py
-index 671dd7f..6b5d8e5 100644
---- a/py/tests/test_expression.py
-+++ b/py/tests/test_expression.py
-@@ -8,6 +8,7 @@
- import gc
- import math
- import operator
-+import sys
- from typing import Tuple
-
- import pytest
-@@ -264,4 +265,7 @@ def test_expression_rich_compare_operations(op, symbol) -> None:
- else:
- with pytest.raises(TypeError) as excinfo:
- op(e1, e2)
-- assert "kiwisolver.Expression" in excinfo.exconly()
-+ if "PyPy" in sys.version:
-+ assert "Expression" in excinfo.exconly()
-+ else:
-+ assert "kiwisolver.Expression" in excinfo.exconly()
diff --git a/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild
deleted file mode 100644
index 96b90cf0ac22..000000000000
--- a/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=kiwi-${PV}
-DESCRIPTION="An efficient C++ implementation of the Cassowary constraint solving algorithm"
-HOMEPAGE="
- https://github.com/nucleic/kiwi/
- https://pypi.org/project/kiwisolver/
-"
-SRC_URI="
- https://github.com/nucleic/kiwi/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Clear-BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-COMMON_DEPEND="
- >=dev-python/cppy-1.2.0[${PYTHON_USEDEP}]
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-python/setuptools-scm-3.4.3[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.4.4-pypy3-tests.patch"
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index 77bbd193d7f4..c02e8951162b 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1,3 +1,5 @@
DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71
EBUILD pyside6-tools-6.6.0-r1.ebuild 1583 BLAKE2B 0ab5532d01f3f64003df97280cd6757399d3d48f02a654ce8d41fd4724d4089e0d480a37cf671a934bbf5f7e8f717faa8b66d96227b4fafa0daa61d4736471c1 SHA512 bc8e314aa6c8489aefcc63b0bfaf6107da956c3723122b31e6ce761c9f00c41c0bc51254b0e46d68ed763dec5e4bec2c8074390f878862fa3c5a17ec3fed61a2
+EBUILD pyside6-tools-6.6.1.ebuild 1574 BLAKE2B 4db4e3031dffc80e916337cdc95b302d8953ac38a01486fb66f906716c5a4ccfd216deb6fb3632dec57c65f1308a3f33ba5111fa9c3f366515a2b465bb7eb8e4 SHA512 8fc2f52b76f55c0f46643f1ab19bda638f73164a6693a6f3211a0dca083c8c64577ced451cb5142d732201cdd9690d23e98a4779f7b6aab5ae97a8701f476766
MISC metadata.xml 402 BLAKE2B 28348df442d189eadb56e04dfda71c1d5a56868aae85611a7d77ecdc7651e34ce02563c8da1270aad55758e2dd4301de44434e0bbdb010ef484e240068602ede SHA512 a54866110e38c24d67d60286c64b63dc0b537c55eb201b84b9173b47710b6e8a840d9072ca46fbef969bf481e43e1d8824b20655d7fe6b300cfd5333c3f74a41
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.6.1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.6.1.ebuild
new file mode 100644
index 000000000000..58c17ed640c3
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.6.1.ebuild
@@ -0,0 +1,68 @@
+# 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_{10..12} )
+
+inherit cmake python-r1
+
+MY_PN="pyside-setup-everywhere-src"
+
+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_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ # If this is enabled cmake just makes copies of /lib64/qt6/bin/*
+ -DNO_QT_TOOLS=yes
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ # This replicates the contents of the PySide6 pypi wheel
+ DESTDIR="${BUILD_DIR}" cmake_build install
+ cp __init__.py "${BUILD_DIR}/usr/bin" || die
+ rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die
+ python_moduleinto PySide6/scripts
+ python_domodule "${BUILD_DIR}/usr/bin/."
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index 3a4cbc329455..f63e9d0d5f93 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -4,6 +4,8 @@ AUX pyside6-6.6.0-fix-qtasyncio-install-dir.patch 489 BLAKE2B 9b3bd8af6176d9d547
AUX pyside6-6.6.0-no-qtexampleicons.patch 221 BLAKE2B d45b4ebcd780a0151b793b5b21f5d7599ee5c427372ef19f518ac1c94306938178b0bfb603d9755aae9bddc4c31c35bb4648617c793f8e399f0f8dcce0d1f3bb SHA512 1da97be74142402454ef5384c58d2b2a792fea53b4155d7b5ede6d145496b45e4fd56723f8f7716150c2bba448ce816c6740059d7d38ae53d5cdf7c38c4acd7b
DIST pyside-setup-everywhere-src-6.5.3.tar.xz 13577208 BLAKE2B 7a26302d17163e3fd7478571d99116d7eec01ee3ce369c58870fed565258419f8c6cdf88b4cd2b9b48a21ab1e40d5b85ed912e3cd2210cf22707da88c42ad277 SHA512 3fbcc0bb340d5b02616df061d1c1bf08494db5d35297db47ebb2f965efd347bf8412236bb43952b65b787d08d29adf5998cd92c3ff359f728a9006e07a278519
DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71
EBUILD pyside6-6.5.3.ebuild 9222 BLAKE2B d25102cfaa39004455472d64873f8ff55494ed97fd5f9d34bef2da67eadddfb2b78f827f7b6babfc819deee0b1ce570f1202a3299812b2fe1701f05c02c23a71 SHA512 14a6ff64be79c6519167fd803d7d9a3fc195a871d807d1c27a0d072c4295f94e5debb894164d02df827c18bd3f3b9f0aa55c4d304e732de46208c00bdc34bcda
EBUILD pyside6-6.6.0-r1.ebuild 10329 BLAKE2B e3c38bcff050b6ffb89d5b7826f4f43d5217abce50f84d210b714cd1876aaf8be0eca7a5c7c3f0dcb4e75486521ed0cc8a7f5aabca60230c5c4c9146a43c1f24 SHA512 5c60cdece1381c66554aa0087e4a57879e033e514d249eb8a17e8ab6ff66cb94453e02623ece2bc83944b5a6131e7d942a4a294bf6d8d77a5150cb7d89d798e4
+EBUILD pyside6-6.6.1.ebuild 10030 BLAKE2B 8c35a91c4ad27220cf193360068163e33e9bb025ea61d4f31ec72df3a66c9b29ad2e852a4c1f129e2c92f538e8a22a670c644652f2c23168dce3144b3c17a590 SHA512 d5ac7de3dd8061329018057066f2d671f3a256b31d32b9c73971bc44367c950216c50a826fa909b0427b0c625206037aa9e9f2d003756b816a04793b2f9acf93
MISC metadata.xml 2370 BLAKE2B 4135d3d10c96b39c55d9609a096a62a638c2c2e4f15c8b097631baaec111e4c197584f66db8d6151b25404cf51de7b3254c3c853ce6ba0e5c832d4dcb59936f0 SHA512 3ef85f4d14c69cf9fbccd62056e806ac3afbc49ee4ab31652b51bed3582d492d631d2c1370fa59af6ed6a8c32cb337108f9f2bd5dd7feb4a7402a046b9bb0ceb
diff --git a/dev-python/pyside6/pyside6-6.6.1.ebuild b/dev-python/pyside6/pyside6-6.6.1.ebuild
new file mode 100644
index 000000000000..f2e1ba0e2609
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.6.1.ebuild
@@ -0,0 +1,241 @@
+# 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_{10..12} )
+
+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_PN="pyside-setup-everywhere-src"
+
+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_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/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="
+ 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location
+ multimedia +network network-auth nfc positioning +opengl pdfium positioning
+ +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech
+ +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}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ designer? ( widgets )
+ gles2-only? ( gui )
+ gui? ( dbus opengl )
+ help? ( network sql widgets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network )
+ network-auth? ( network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( widgets )
+ qml? ( network )
+ quick? ( gui network opengl qml )
+ quick3d? ( gui network opengl qml quick )
+ spatialaudio? ( multimedia )
+ speech? ( multimedia )
+ 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-3)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ 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] )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ 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} )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${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}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,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"
+ # References files not present in our dev-qt/qtbase
+ "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch"
+)
+
+src_configure() {
+ # See collect_module_if_found macros in PySideHelpers.cmake
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth)
+ -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=$(usex !location)
+ -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=$(usex !nfc)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets))
+ -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=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio)
+ -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=$(usex !speech)
+ -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/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest
index d0530c5f4d5b..a57f2b30a77d 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1,6 +1,8 @@
AUX shiboken6-6.3.1-no-strip.patch 1001 BLAKE2B c486f9423d4934c2305e8f3109f017dbebd568573469a2fced8da895fbc61ef07a80e0d1c846e7a57988801d6ec4be05b86b46a8039e6702d667129a899fc137 SHA512 1f3e5b082a978e3ab8d8f4d9a5a0a661b8c063e2ece0221440abe342fbd45d566a384d588dbf00a1e469687f82da3728cd53e35d02077ce6a748d3747de3cec2
DIST pyside-setup-everywhere-src-6.5.3.tar.xz 13577208 BLAKE2B 7a26302d17163e3fd7478571d99116d7eec01ee3ce369c58870fed565258419f8c6cdf88b4cd2b9b48a21ab1e40d5b85ed912e3cd2210cf22707da88c42ad277 SHA512 3fbcc0bb340d5b02616df061d1c1bf08494db5d35297db47ebb2f965efd347bf8412236bb43952b65b787d08d29adf5998cd92c3ff359f728a9006e07a278519
DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.6.1.tar.xz 13887704 BLAKE2B 14a75cb6d20dced9b1edf79b8bb40ce44ecb7642f45743e59bc2d55b3e6fa5a742a0a0e5712b8f8cd4d908cc0f5103ac823390db968f42d0782818242c6f77e5 SHA512 3516f3e4595f1ba4ebbc680c5a94f9f939e04c0a3257720ebdd7ed12307bb007d1c73824029f51ec71c41a335268f34834250a5e87b3c4356d9e0a6f1d6b1f71
EBUILD shiboken6-6.5.3.ebuild 6656 BLAKE2B 2e717ba5941a791b1092cabc111e206d40c13238480859ca200851c2e79bd852f19b6ae20edb8f41b787c02662acd2c0816df84d367252db37b47701232b0625 SHA512 115502b180cdad0ae1a724426d56e43aa568e79434f4016f4053822c526d6cb26fee17347264583c343030695f033a3183f4ef8fded945c41b2baa29d7c44b1c
EBUILD shiboken6-6.6.0.ebuild 6656 BLAKE2B 5c167da907e40c824f937fe858d963f341567cfc530caa76f3e23c13694d8b3e3f3869e106567b163efa8f599c81aba41888e098804462f41b948e184cfaa808 SHA512 ee72cbd8cbc255208446766a32190a39b577c4db76b2e147255868f14b57afc333643f9b70ebcc4081ec1842d159877f5c66f4129f99dc1611fa83bcb9a23272
+EBUILD shiboken6-6.6.1.ebuild 6647 BLAKE2B 65db45019eb6a3505af8531a3ea95f55304befc0838ad3f4779cefdd1ddfce4dfefe272712d03a1798971a06cea45bba103e8efb23a73b27049f76eff44fbb5d SHA512 ca4c252d4a0d5ca008509c10e03d48633c328d532ddca4cf52c00fdb2471c11e8e2478f29c85e143927ae26f27fc938dc51daeceaaf772b857f8e882178a655f
MISC metadata.xml 730 BLAKE2B 33e7e589d02ec0517e134aa50407ecb97c6800be3ab7b69174d65776f62c1f25c2b2209d51299d9e0110b5f5e9322ee2c0b43dc89e6b12c40ea322ca9bc8eb3f SHA512 cc4ecdd9bc86ce59c2027c6f87307d32bd76d5d2cd8c07edb6c60cc5317ea52a96136c7597a179d75f1632db2999300d8b8f0567679ba3fc562804774fcdcc98
diff --git a/dev-python/shiboken6/shiboken6-6.6.1.ebuild b/dev-python/shiboken6/shiboken6-6.6.1.ebuild
new file mode 100644
index 000000000000..0cc981aa5bf8
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.6.1.ebuild
@@ -0,0 +1,176 @@
+# 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_{10..12} )
+
+inherit cmake llvm python-r1 toolchain-funcs
+
+MY_PN="pyside-setup-everywhere-src"
+
+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_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/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-3)*:6"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+LLVM_MAX_SLOT=17
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtbase-${QT_PV}
+ <sys-devel/clang-18:=
+ <sys-devel/clang-runtime-18:=
+ 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
+
+ local clangver="$(CPP=clang clang-major-version)"
+
+ # Clang 15 and older used the full version as a directory name.
+ if [[ ${clangver} -lt 16 ]]; then
+ clangver="$(CPP=clang clang-fullversion)"
+ 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/'"${clangver}"'/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/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/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 306c56daaa21..47958e9cc216 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,9 +1,5 @@
-DIST SQLAlchemy-1.4.49.tar.gz 8536601 BLAKE2B 2133723380b157a76f4af6103a2c68099f78d7a49ad90793d682bd6015d61a06a72ba6f02922111b60716e311ddc2f6067153f7b4b1f80329775e0d6f27a0d92 SHA512 268751b09aebd9da10fd57b4b987fa57f3c61d18d5104bb308e405aa034c74e7d5441abd94368857fbe11b8d15bb5315634f64f3b1252e7318d24107ba1fe3ff
DIST SQLAlchemy-1.4.50.tar.gz 8517526 BLAKE2B 835ed762b2b399167c9eb52400689619db33d30431241bfb0410a79d0e34104aec972e883c4159f9a69a754a60e1daffc6256ba74f02bc7dabf994c6752c8ae1 SHA512 d484c2673e67b0c45f05d2af20f930f274ea8e83ca41e2bd1c08723f564af58424b78be2ee507612fec6fc095dc215f75f52dfad68a98bcbf1774e150d956a29
-DIST SQLAlchemy-2.0.22.tar.gz 9456107 BLAKE2B c4c5efd096c03550ce8f2adb944b97861a1f383f2c73dd096f4698428f88f80dba66bc22d209488c9ae3b0438ee6190377a36cc828ff411f99165cc41becc949 SHA512 76db680d80939235c17f2fbfe8f7dbc822a9299d52ab261ec76481e76de7bed80dbd4b5f9c7ed1d7c2d1b0651d035a47a8990691a128fd999a6a29c7c45b5459
DIST SQLAlchemy-2.0.23.tar.gz 9474103 BLAKE2B 9ebfbca68106249a8c6c5e2e187b57953dab3a9d851e429ae6d86fa99b77069758385318a37aea8a23293a54418073e021d9b04ee88d467e57132d70af80af4d SHA512 4d79e25c48c2d4400b8cf1bf4f7066912f06c05b8dfceeec1a215e03fffa7efce5882bb5058538ddfe127ad35bab7fc9aa314ffdedc81f3b97fde9207d7dd1f7
-EBUILD sqlalchemy-1.4.49.ebuild 2974 BLAKE2B 0b594ab300e7e36c5ea266ade8b07557dba21b93b3ab53a33466f37ee5c6edf44cb173cad10d55763ff8e70440c9468fef545f425c4855cdabafa9e33b88defc SHA512 0f8a171ebfd9f96aa70f9bfa20ad1d11d8583483231c256eb4a6ed12116b21063092132e283192707ef92c8cc3d9f915fb83336bbc026ebdcabde2b15aaca989
EBUILD sqlalchemy-1.4.50.ebuild 3436 BLAKE2B abdcc6fb1e0d44d9e54a54d7fb8c4970112b70086a3874c40fa5bb5484a4da4ed4068abcacd2ef2f32f6b57fbe35ecef2a8b19ac1e713bc69f6b15aa187b145a SHA512 2a126cc89c7d68aa4e9b3c725d65896e17603c10a7d79973f8c0f40b65f27adfbde929b2b665e1ecd823b61b0d20380f8e21aa33ecb00d24cb49416a1d752ade
-EBUILD sqlalchemy-2.0.22.ebuild 3954 BLAKE2B 740aa280e123b67e95b0bb5feef7966a9ea33235c4a1120d7bb0515a3e8ff98978f3395fe13eddac86f09d34c0ad9ace81987f01010ec99e0fe7d20d7c1baea0 SHA512 f07db24c65f5315ea885c8268fcbdbf913685165e364252200b30cd8ee704404a825bb25230fa61594a7047b5339012ab14d500e1c64c873b0beff6fc63290fe
EBUILD sqlalchemy-2.0.23.ebuild 3954 BLAKE2B 740aa280e123b67e95b0bb5feef7966a9ea33235c4a1120d7bb0515a3e8ff98978f3395fe13eddac86f09d34c0ad9ace81987f01010ec99e0fe7d20d7c1baea0 SHA512 f07db24c65f5315ea885c8268fcbdbf913685165e364252200b30cd8ee704404a825bb25230fa61594a7047b5339012ab14d500e1c64c873b0beff6fc63290fe
MISC metadata.xml 444 BLAKE2B 5fbfcf8f16e52ab5bb691b0b33a8491d94e42a80409114cd9b306af7d4b0eb8b6660fabc663adee53080c635217961301b78df536995b91afe9288d255f73d62 SHA512 b432b65ed3033d34ac0784d007909eb838b309b6a4785eebb1a3f808e43dfc41c786cd55e4dd048776c65127aac170bdd9fb9e5a8ae63accb5f65e300bca9676
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild
deleted file mode 100644
index a7da744a0e5b..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 optfeature pypi
-
-MY_PN="SQLAlchemy"
-DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
-HOMEPAGE="
- https://www.sqlalchemy.org/
- https://pypi.org/project/SQLAlchemy/
- https://github.com/sqlalchemy/sqlalchemy/
-"
-SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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 ~x64-solaris"
-IUSE="examples +sqlite test"
-
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # hardcode call counts specific to Python versions
- test/aaa_profiling
-)
-
-src_prepare() {
- sed -i -e '/greenlet/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # warning tests are unreliable
- test/base/test_warnings.py
- )
- local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
- # https://github.com/sqlalchemy/sqlalchemy/issues/8762
- test/orm/test_query.py::YieldTest_sqlite+pysqlite_${sqlite_version//./_}::test_yield_per_close_on_interrupted_iteration_legacy
- )
- if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
- "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
- )
- fi
-
- # upstream's test suite is horribly hacky; it relies on disabling
- # the warnings plugin and turning warnings into errors; this also
- # means that any DeprecationWarnings from third-party plugins cause
- # everything to explode
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=
- # upstream automagically depends on xdist when it is importable
- # note that we can't use xdist because it causes nodes to randomly
- # crash on init
- if has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]"; then
- PYTEST_PLUGINS+=xdist.plugin
- fi
- epytest
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "asyncio support" dev-python/greenlet
- optfeature "MySQL support" \
- dev-python/mysqlclient \
- dev-python/pymysql
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild
deleted file mode 100644
index be5dbf59de96..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="sqlite?"
-
-inherit distutils-r1 multiprocessing optfeature pypi
-
-MY_PN="SQLAlchemy"
-DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
-HOMEPAGE="
- https://www.sqlalchemy.org/
- https://pypi.org/project/SQLAlchemy/
- https://github.com/sqlalchemy/sqlalchemy/
-"
-SRC_URI="$(pypi_sdist_url --no-normalize "${MY_PN}")"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-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 ~x64-solaris"
-IUSE="examples +sqlite test"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/greenlet/d' setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- test/ext/mypy/test_mypy_plugin_py3k.py
- test/typing/test_mypy.py
- # hardcode call counts specific to Python versions
- test/aaa_profiling
- )
- local EPYTEST_DESELECT=(
- # warning tests are unreliable
- test/base/test_warnings.py
- )
- local sqlite_version=$(sqlite3 --version | cut -d' ' -f1)
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- test/ext/test_associationproxy.py::ProxyHybridTest::test_msg_fails_on_cls_access
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_multi_elem_varg
- test/ext/test_associationproxy.py::DictOfTupleUpdateTest::test_update_one_elem_varg
- test/engine/test_processors.py::PyDateProcessorTest::test_date_invalid_string
- test/engine/test_processors.py::PyDateProcessorTest::test_datetime_invalid_string
- test/engine/test_processors.py::PyDateProcessorTest::test_time_invalid_string
- "test/dialect/test_sqlite.py::TestTypes_sqlite+pysqlite_${sqlite_version//./_}::test_cant_parse_datetime_message"
- "test/dialect/test_suite.py::ReturningGuardsTest_sqlite+pysqlite_${sqlite_version//./_}"::test_{delete,insert,update}_single
- test/base/test_utils.py::ImmutableDictTest::test_pep584
- )
- ;;
- esac
- if ! has_version "dev-python/greenlet[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_execution
- test/ext/asyncio/test_engine_py3k.py::TextSyncDBAPI::test_sync_driver_run_sync
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[False-True]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[True-True]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[has_terminate-is_asyncio]"
- "test/engine/test_pool.py::PoolEventsTest::test_checkin_event_gc[not_has_terminate-is_asyncio]"
- "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True-_exclusions0]"
- "test/engine/test_pool.py::QueuePoolTest::test_userspace_disconnectionerror_weakref_finalizer[True]"
- )
- fi
-
- # upstream's test suite is horribly hacky; it relies on disabling
- # the warnings plugin and turning warnings into errors; this also
- # means that any DeprecationWarnings from third-party plugins cause
- # everything to explode
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "asyncio support" dev-python/greenlet
- optfeature "MySQL support" \
- dev-python/mysqlclient \
- dev-python/pymysql
- optfeature "postgresql support" dev-python/psycopg:2
-}
diff --git a/dev-python/xcffib/Manifest b/dev-python/xcffib/Manifest
index 707ef03ba4e4..69dbddd3f851 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -1,7 +1,5 @@
DIST xcffib-1.3.0.tar.gz 89874 BLAKE2B 5dd8d64b906d92cb987ee4398da668d6034faf4abc24a56c0fca3e5b6d0cd1252ea1459736a9f7fb83ee97d4d6cec5d103eb19aba626a3d646f67e6332e255a5 SHA512 a493f86891158ffa0c36168da5e7ebdeadafe5e9f067e2ad6052cf302c89db612f907b5e9950748fcfd74886b808870986529902bae77fede7e27d5d422d6ec6
-DIST xcffib-1.4.0.tar.gz 89496 BLAKE2B 4987d9346d403c3ac627cd7b1b31d3686b9135d077c4b61862841085cc1c1ea7f950bd0b6c456d59f407bb384d14a96cf2a617f2c584434eee294a22ac770a82 SHA512 310fc4c21856d2255650598c26831569061e112516d958e6f65a0a8e6d32c4bb37a14d7bb6c7da8dcaa9c4459fc83026ba9b1a9567f01f9bbcafda8fdea4f153
DIST xcffib-1.5.0.tar.gz 89544 BLAKE2B cb3820a53eb7694078e5dbb175951b6dbdc445c06f397898e52319fd8a7633f2d8115f0d096a14b2b3de0c7b07918343d077705814574ff41de2bf06a12812c0 SHA512 aaa426b57d0d8dc45cb6a2036c862af6308fb5781667b8dba3f5ff399fe5e15912860d0bb696ac09f1efd4ffbbdaf7f555ef76039bd660f36f5c6179535b654f
EBUILD xcffib-1.3.0-r1.ebuild 772 BLAKE2B 5d5f0da6c63fe87db6ade3da4edb04da956220833bee818e3da482cf69a192529308e788df5d29adc3c72b59f0d4ebe9b113a54f8330607f8f04c30730ab2fe1 SHA512 640d87572534d62e5aa989eeaf1bfd4161da0329ebfa3c1c9cdbbe215b522c9f3f09b42088170722b895a33f761dff941f89d0d610fd2d5be7e20835357c49b5
-EBUILD xcffib-1.4.0.ebuild 772 BLAKE2B 5d5f0da6c63fe87db6ade3da4edb04da956220833bee818e3da482cf69a192529308e788df5d29adc3c72b59f0d4ebe9b113a54f8330607f8f04c30730ab2fe1 SHA512 640d87572534d62e5aa989eeaf1bfd4161da0329ebfa3c1c9cdbbe215b522c9f3f09b42088170722b895a33f761dff941f89d0d610fd2d5be7e20835357c49b5
EBUILD xcffib-1.5.0.ebuild 772 BLAKE2B 5d5f0da6c63fe87db6ade3da4edb04da956220833bee818e3da482cf69a192529308e788df5d29adc3c72b59f0d4ebe9b113a54f8330607f8f04c30730ab2fe1 SHA512 640d87572534d62e5aa989eeaf1bfd4161da0329ebfa3c1c9cdbbe215b522c9f3f09b42088170722b895a33f761dff941f89d0d610fd2d5be7e20835357c49b5
MISC metadata.xml 374 BLAKE2B 7f2845d0839dff2568de08f86ce6b8387e76ff450467e14b5c291ad1f55256cb9eff1ff318973e54846ad394b56a3e1e6aa8574fcc0bc39a1c9f7d3b42a1109d SHA512 9403d3d706b5281d6abe2d2fca33b1a70983c7c205f8a5899ad0469fe9a1cd0ceb6c9b27916e1e152467d029d86fc9e6dc28f967bc108499ed901582ad1bbd00
diff --git a/dev-python/xcffib/xcffib-1.4.0.ebuild b/dev-python/xcffib/xcffib-1.4.0.ebuild
deleted file mode 100644
index 0d55d90c6c0c..000000000000
--- a/dev-python/xcffib/xcffib-1.4.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
-HOMEPAGE="
- https://github.com/tych0/xcffib/
- https://pypi.org/project/xcffib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- x11-libs/libxcb
-"
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]
- ' 'python*')
- ${DEPEND}
-"
-BDEPEND="
- test? (
- x11-base/xorg-server[xvfb]
- x11-apps/xeyes
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf xcffib || die
- epytest
-}