summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2025-02-26 09:34:08 -0500
committerIonen Wolkens <ionen@gentoo.org>2025-02-26 09:40:09 -0500
commitce166ae08848bc2d89d4dce262e4be853714e1bb (patch)
tree5eca91bc8bcfc8873555caeb37d32482a2b74a7f /dev-python
parent52c90a08c4465260a0c77a96a3d767efbc5687d7 (diff)
downloadgentoo-ce166ae08848bc2d89d4dce262e4be853714e1bb.tar.gz
gentoo-ce166ae08848bc2d89d4dce262e4be853714e1bb.tar.bz2
gentoo-ce166ae08848bc2d89d4dce262e4be853714e1bb.zip
dev-python/pyqt6: fix build with Qt 6.9
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pyqt6/files/pyqt6-6.8.1-qt690.patch43
-rw-r--r--dev-python/pyqt6/pyqt6-6.8.1.ebuild4
2 files changed, 47 insertions, 0 deletions
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