commit:     96d53b63790b6acedd84ddff1e97f5c9dde6b5ec
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Wed Apr  2 00:10:05 2025 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Wed Apr  2 00:10:05 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=96d53b63

dev-python/pyqt6: add 6.8.1, drop 6.7.1-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 dev-python/pyqt6/Manifest                          |  2 +-
 dev-python/pyqt6/files/pyqt6-6.8.0-qt682.patch     |  9 +++++
 dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch     | 43 ++++++++++++++++++++++
 .../{pyqt6-6.7.1-r1.ebuild => pyqt6-6.8.1.ebuild}  | 34 +++++++++++------
 4 files changed, 75 insertions(+), 13 deletions(-)

diff --git a/dev-python/pyqt6/Manifest b/dev-python/pyqt6/Manifest
index 82776a9..bc20519 100644
--- a/dev-python/pyqt6/Manifest
+++ b/dev-python/pyqt6/Manifest
@@ -1,2 +1,2 @@
-DIST PyQt6-6.7.1.tar.gz 1051212 BLAKE2B 
9c1c619b08cc14e0a92ea22812c14d5a3cb47e45eea917d50ab63918d8433d54b354f26b885f2567b9c6e2f0380e819972d055d1a1751f6646ebb5e6cf72b228
 SHA512 
1e0fec009e1823b06460fd96eddc00ed31388c20f6d832aa0ebaa130baf06d83514df43af7961c3cb2872570d27e539d6db7bf6143ccdfd61a19da7521be2c7e
 DIST PyQt6-6.8.0.tar.gz 1061357 BLAKE2B 
da944a8ec6c5632cb24d56b5a268521cbf3ae17d307ec5aba292bf5f25e33cb2e92fef28c1bcc506c4e5ea60c9e2f714bfd2a95aefe2cc40726b4ec9fccb36cb
 SHA512 
da57be66ede5fe1355ab1fd95e436c139e0d1dffc75f23f3933c20623d62fc9b9fad573d876e90d066588d2dc2f01e83771a0f05fe3b668fbb69a889ddfbcc15
+DIST pyqt6-6.8.1.tar.gz 1064723 BLAKE2B 
99ac44fe250b6ff7a1762df5d668b69ad424dc1b563147be7ba94ce7f00729c29ce17be4cd7c39b276549199b66d877dec69e9eeb6b394ed42f944f9155825fa
 SHA512 
87727369168fde6e3edc488f96dd13d537f026e207e4b4ab1c95d09bf85859512a117dfc801249e0891425a6b5579830724e4145f370e2ef9909788f56eb4df6

diff --git a/dev-python/pyqt6/files/pyqt6-6.8.0-qt682.patch 
b/dev-python/pyqt6/files/pyqt6-6.8.0-qt682.patch
new file mode 100644
index 0000000..793b45f
--- /dev/null
+++ b/dev-python/pyqt6/files/pyqt6-6.8.0-qt682.patch
@@ -0,0 +1,9 @@
+Quick build fix while waiting for PyQt6-6.8.2, not entirely sure
+if this is correct as hardly know sip.
+--- a/sip/QtCore/qstringconverter_base.sip
++++ b/sip/QtCore/qstringconverter_base.sip
+@@ -24,3 +24,3 @@
+ 
+-class QStringConverterBase
++class QStringConverterBase /NoDefaultCtors/
+ {

diff --git a/dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch 
b/dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch
new file mode 100644
index 0000000..898bda7
--- /dev/null
+++ b/dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch
@@ -0,0 +1,43 @@
+Quick fix to build against (still unreleased) Qt 6.9.
+--- a/qpy/QtCore/qpycore_enums_flags_metatype.cpp
++++ b/qpy/QtCore/qpycore_enums_flags_metatype.cpp
+@@ -46,5 +46,9 @@
+         mti->alignment = alignof(unsigned);
+         mti->size = sizeof(unsigned);
++#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
++        mti->flags = QtPrivate::QMetaTypeForType<unsigned>::flags() | 
QMetaType::IsEnumeration | QMetaType::IsUnsignedEnumeration;
++#else
+         mti->flags = QtPrivate::QMetaTypeForType<unsigned>::Flags | 
QMetaType::IsEnumeration | QMetaType::IsUnsignedEnumeration;
++#endif
+         mti->defaultCtr = 
QtPrivate::QMetaTypeForType<unsigned>::getDefaultCtr();
+         mti->copyCtr = QtPrivate::QMetaTypeForType<unsigned>::getCopyCtr();
+@@ -62,5 +66,9 @@
+         mti->alignment = alignof(int);
+         mti->size = sizeof(int);
++#if QT_VERSION >= QT_VERSION_CHECK(6, 9, 0)
++        mti->flags = QtPrivate::QMetaTypeForType<int>::flags() | 
QMetaType::IsEnumeration;
++#else
+         mti->flags = QtPrivate::QMetaTypeForType<int>::Flags | 
QMetaType::IsEnumeration;
++#endif
+         mti->defaultCtr = QtPrivate::QMetaTypeForType<int>::getDefaultCtr();
+         mti->copyCtr = QtPrivate::QMetaTypeForType<int>::getCopyCtr();
+--- a/sip/QtCore/QtCoremod.sip
++++ b/sip/QtCore/QtCoremod.sip
+@@ -23,5 +23,5 @@
+ %Module(name=PyQt6.QtCore, call_super_init=True, 
default_VirtualErrorHandler=PyQt6, keyword_arguments="Optional", 
use_limited_api=True, py_ssize_t_clean=True)
+ 
+-%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0 Qt_6_6_0 
Qt_6_7_0 Qt_6_8_0}
++%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0 Qt_6_6_0 
Qt_6_7_0 Qt_6_8_0 Qt_6_9_0}
+ 
+ %Platforms {Android iOS Linux macOS WebAssembly Windows}
+--- a/sip/QtXml/qdom.sip
++++ b/sip/QtXml/qdom.sip
+@@ -159,6 +159,8 @@
+     QDomNodeList(const QDomNodeList &);
+     ~QDomNodeList();
++%If (- Qt_6_9_0)
+     bool operator==(const QDomNodeList &) const;
+     bool operator!=(const QDomNodeList &) const;
++%End
+     QDomNode item(int index) const;
+     QDomNode at(int index) const;

diff --git a/dev-python/pyqt6/pyqt6-6.7.1-r1.ebuild 
b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
similarity index 90%
rename from dev-python/pyqt6/pyqt6-6.7.1-r1.ebuild
rename to dev-python/pyqt6/pyqt6-6.8.1.ebuild
index dccb07f..1c1b8c8 100644
--- a/dev-python/pyqt6/pyqt6-6.7.1-r1.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
@@ -1,14 +1,11 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
 DISTUTILS_EXT=1
 DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYPI_PN=PyQt6
 PYTHON_COMPAT=( python3_{10..13} )
-
 inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
 
 # 'can' work with older Qt depending on features, but keeping it simple
@@ -25,8 +22,9 @@ KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
 IUSE="
        bluetooth +dbus debug designer examples gles2-only +gui help
        multimedia +network nfc opengl pdfium positioning +printsupport
-       qml quick quick3d remoteobjects serialport sensors spatialaudio
-       speech +sql +ssl svg testlib webchannel websockets +widgets +xml
+       qml quick quick3d remoteobjects scxml serialport sensors
+       spatialaudio speech +sql +ssl svg testlib webchannel websockets
+       vulkan +widgets +xml
 "
 # see `grep -r "%Import " sip` and `grep qmake_QT project.py`
 REQUIRED_USE="
@@ -40,10 +38,12 @@ REQUIRED_USE="
        quick3d? ( gui qml )
        quick? ( gui qml )
        remoteobjects? ( network )
+       scxml? ( gui )
        spatialaudio? ( multimedia )
        sql? ( widgets )
        svg? ( gui )
        testlib? ( gui widgets )
+       vulkan? ( gui )
        webchannel? ( network )
        websockets? ( network )
        widgets? ( gui )
@@ -51,9 +51,8 @@ REQUIRED_USE="
 
 # may use qt private symbols wrt qtbase's :=
 # non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
-DEPEND="
-       
>=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
-       <dev-qt/qtbase-6.8
+COMMON_DEPEND="
+       
>=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,vulkan?,widgets?,xml?]
        bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
        dbus? (
                dev-python/dbus-python[${PYTHON_USEDEP}]
@@ -72,6 +71,7 @@ DEPEND="
        quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
        quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
        remoteobjects? ( >=dev-qt/qtremoteobjects-${QT_PV} )
+       scxml? ( >=dev-qt/qtscxml-${QT_PV} )
        sensors? ( >=dev-qt/qtsensors-${QT_PV} )
        serialport? ( >=dev-qt/qtserialport-${QT_PV} )
        speech? (
@@ -83,16 +83,24 @@ DEPEND="
        websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
 "
 RDEPEND="
-       ${DEPEND}
+       ${COMMON_DEPEND}
        >=dev-python/pyqt6-sip-13.8[${PYTHON_USEDEP}]
 "
+DEPEND="
+       ${COMMON_DEPEND}
+       vulkan? ( dev-util/vulkan-headers )
+"
 BDEPEND="
-       >=dev-python/pyqt-builder-1.15[${PYTHON_USEDEP}]
-       >=dev-python/sip-6.8.6[${PYTHON_USEDEP}]
+       >=dev-python/pyqt-builder-1.17[${PYTHON_USEDEP}]
+       >=dev-python/sip-6.9[${PYTHON_USEDEP}]
        >=dev-qt/qtbase-${QT_PV}
        dbus? ( virtual/pkgconfig )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-6.8.1-qt690.patch
+)
+
 src_prepare() {
        default
 
@@ -146,6 +154,7 @@ python_configure_all() {
                        $(usev widgets QtQuickWidgets))
                $(pyqt_use_enable quick3d QtQuick3D)
                $(pyqt_use_enable remoteobjects QtRemoteObjects)
+               $(pyqt_use_enable scxml QtStateMachine)
                $(pyqt_use_enable sensors QtSensors)
                $(pyqt_use_enable serialport QtSerialPort)
                $(pyqt_use_enable spatialaudio QtSpatialAudio)
@@ -171,6 +180,7 @@ python_configure_all() {
                $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
                $(usev !opengl --disabled-feature=PyQt_OpenGL)
                $(usev !ssl --disabled-feature=PyQt_SSL)
+               $(usev !vulkan --disabled-feature=PyQt_Vulkan)
 
                # intended for Windows / Android or others
                --disable=QAxContainer

Reply via email to