mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 00:05:54 +03:00
dev-python/PyQt6: fix build with upcoming qtbase-6.7.0
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
@@ -84,6 +84,10 @@ BDEPEND="
|
||||
dbus? ( virtual/pkgconfig )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.6.1-qt670.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
|
||||
77
dev-python/PyQt6/files/PyQt6-6.6.1-qt670.patch
Normal file
77
dev-python/PyQt6/files/PyQt6-6.6.1-qt670.patch
Normal file
@@ -0,0 +1,77 @@
|
||||
Early workarounds to fix build with upcoming Qt6.7.0 not to have
|
||||
to wait for the matching PyQt6-6.7.0. Not fully correct fixes,
|
||||
but should be better than failing. May need revision given 6.7
|
||||
apis are not finalized as of the writing of this.
|
||||
|
||||
Caused by the following commits:
|
||||
https://github.com/qt/qtbase/commit/fd48ce0b73c (qdatastream+pyqtpyboject)
|
||||
> qsizetype is ssize_t and ends up more correct (e.g. for Py_ssize_t)
|
||||
https://github.com/qt/qtbase/commit/7a3fed3f209 (qtimezone)
|
||||
> removed, can just drop these if 6.7 and ignore the replacement
|
||||
https://github.com/qt/qtbase/commit/19bc5de296a (qfont)
|
||||
https://github.com/qt/qtbase/commit/bde443801fe (qfont)
|
||||
> these tag features are new'ish (and changing) and only available if
|
||||
> >=6.6 as-is, let's just drop them if 6.7 as no revdeps should need yet
|
||||
--- a/qpy/QtCore/qpycore_pyqtpyobject.cpp
|
||||
+++ b/qpy/QtCore/qpycore_pyqtpyobject.cpp
|
||||
@@ -173,9 +173,13 @@
|
||||
{
|
||||
char *ser;
|
||||
+#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||
+ qsizetype len;
|
||||
+#else
|
||||
uint len;
|
||||
+#endif
|
||||
|
||||
in.readBytes(ser, len);
|
||||
|
||||
- if (len)
|
||||
+ if (len > 0)
|
||||
{
|
||||
static PyObject *loads = 0;
|
||||
--- 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}
|
||||
+%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}
|
||||
|
||||
%Platforms {Android iOS Linux macOS WebAssembly Windows}
|
||||
--- a/sip/QtCore/qdatastream.sip
|
||||
+++ b/sip/QtCore/qdatastream.sip
|
||||
@@ -123,5 +123,9 @@
|
||||
%MethodCode
|
||||
char *s;
|
||||
+#if QT_VERSION >= QT_VERSION_CHECK(6, 7, 0)
|
||||
+ qsizetype l;
|
||||
+#else
|
||||
uint l;
|
||||
+#endif
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
--- a/sip/QtCore/qtimezone.sip
|
||||
+++ b/sip/QtCore/qtimezone.sip
|
||||
@@ -72,6 +72,8 @@
|
||||
~QTimeZone();
|
||||
void swap(QTimeZone &other /Constrained/);
|
||||
+%If (- Qt_6_7_0)
|
||||
bool operator==(const QTimeZone &other) const;
|
||||
bool operator!=(const QTimeZone &other) const;
|
||||
+%End
|
||||
bool isValid() const;
|
||||
QByteArray id() const;
|
||||
--- a/sip/QtGui/qfont.sip
|
||||
+++ b/sip/QtGui/qfont.sip
|
||||
@@ -209,4 +209,5 @@
|
||||
QStringList families() const;
|
||||
void setFamilies(const QStringList &);
|
||||
+%If (- Qt_6_7_0)
|
||||
%If (Qt_6_6_0 -)
|
||||
void setFeature(quint32 tag, quint32 value);
|
||||
@@ -239,4 +240,5 @@
|
||||
static quint32 stringToTag(const char *tagString /Encoding="None"/);
|
||||
%End
|
||||
+%End
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user