commit: ce166ae08848bc2d89d4dce262e4be853714e1bb
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 26 14:34:08 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Feb 26 14:40:09 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce166ae0
dev-python/pyqt6: fix build with Qt 6.9
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch | 43 ++++++++++++++++++++++++++
dev-python/pyqt6/pyqt6-6.8.1.ebuild | 4 +++
2 files changed, 47 insertions(+)
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 000000000000..898bda7810a5
--- /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.8.1.ebuild
b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
index 2e3ee5c6dc7a..dd05b34a7311 100644
--- a/dev-python/pyqt6/pyqt6-6.8.1.ebuild
+++ b/dev-python/pyqt6/pyqt6-6.8.1.ebuild
@@ -97,6 +97,10 @@ BDEPEND="
dbus? ( virtual/pkgconfig )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.8.1-qt690.patch
+)
+
src_prepare() {
default