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
 };
 
