Adapt for Qt 6.4.0
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt6/python3-pyside6?expand=0&rev=22
This commit is contained in:
parent
d2d62ab154
commit
f11d132ebb
203
0001-Adapt-to-Qt-6.4.patch
Normal file
203
0001-Adapt-to-Qt-6.4.patch
Normal file
@ -0,0 +1,203 @@
|
||||
From 442b06ae456ec6c3d7eac9826bff43ee36188d07 Mon Sep 17 00:00:00 2001
|
||||
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
||||
Date: Thu, 27 Jan 2022 16:28:19 +0100
|
||||
Subject: [PATCH] Adapt to Qt 6.4
|
||||
|
||||
Change-Id: I46f6291c1c363b1e509ef458e635f97f4423f81b
|
||||
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
||||
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
||||
---
|
||||
sources/pyside6/PySide6/QtCore/typesystem_core_common.xml | 4 ++--
|
||||
.../pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml | 5 ++++-
|
||||
sources/pyside6/PySide6/QtNetwork/CMakeLists.txt | 5 ++++-
|
||||
sources/pyside6/PySide6/QtNetwork/typesystem_network.xml | 2 ++
|
||||
.../PySide6/QtTextToSpeech/typesystem_texttospeech.xml | 2 ++
|
||||
sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt | 5 +++++
|
||||
.../pyside6/PySide6/QtWebSockets/typesystem_websockets.xml | 2 ++
|
||||
sources/pyside6/libpyside/signalmanager.cpp | 1 +
|
||||
sources/pyside6/libpysideqml/pysideqmlregistertype.cpp | 4 +---
|
||||
.../files.dir/shibokensupport/signature/mapping.py | 3 ++-
|
||||
10 files changed, 25 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
|
||||
index 7b53c247a..522fe52fb 100644
|
||||
--- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
|
||||
+++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml
|
||||
@@ -2534,7 +2534,7 @@
|
||||
</extra-includes>
|
||||
<!-- PYSIDE-1010:
|
||||
We remove the original implementation of value() to include the optional parameter -->
|
||||
- <modify-function signature="value(const QString&,const QVariant&)const" remove="all"/>
|
||||
+ <modify-function signature="value(QAnyStringView,const QVariant&)const" remove="all"/>
|
||||
<add-function signature="value(const QString&, const QVariant& @defaultValue@ = 0, PyObject* @type@ = 0)" return-type="PyObject*">
|
||||
<inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qsettings-value"/>
|
||||
<inject-documentation mode="append" format="target">
|
||||
@@ -3121,7 +3121,7 @@
|
||||
<object-type name="QVariantAnimation" since="4.6"/>
|
||||
|
||||
<value-type name="QVersionNumber" since="5.6">
|
||||
- <modify-function signature="fromString(const QString &,int*)">
|
||||
+ <modify-function signature="fromString(QAnyStringView,qsizetype*)">
|
||||
<modify-argument index="2">
|
||||
<remove-argument/>
|
||||
</modify-argument>
|
||||
diff --git a/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml b/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
index b264a4eb2..7d59b4398 100644
|
||||
--- a/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
+++ b/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
@@ -12,7 +12,7 @@
|
||||
<enum-type name="Error"/>
|
||||
<enum-type name="Mode"/>
|
||||
<enum-type name="State"/>
|
||||
- <enum-type name="VolumeScale" since="5.8"/>
|
||||
+ <enum-type name="VolumeScale"/>
|
||||
</namespace-type>
|
||||
|
||||
<value-type name="QAudioBuffer">
|
||||
@@ -140,6 +140,9 @@
|
||||
<modify-function signature="bits(int)const" remove="all"/>
|
||||
</value-type>
|
||||
<value-type name="QVideoFrameFormat" since="6.1">
|
||||
+ <enum-type name="ColorSpace" since="6.4"/>
|
||||
+ <enum-type name="ColorTransfer" since="6.4"/>
|
||||
+ <enum-type name="ColorRange" since="6.4"/>
|
||||
<enum-type name="Direction"/>
|
||||
<enum-type name="PixelFormat"/>
|
||||
<enum-type name="YCbCrColorSpace"/>
|
||||
diff --git a/sources/pyside6/PySide6/QtNetwork/CMakeLists.txt b/sources/pyside6/PySide6/QtNetwork/CMakeLists.txt
|
||||
index 2eb360b61..eadd3b982 100644
|
||||
--- a/sources/pyside6/PySide6/QtNetwork/CMakeLists.txt
|
||||
+++ b/sources/pyside6/PySide6/QtNetwork/CMakeLists.txt
|
||||
@@ -53,7 +53,7 @@ get_property(QtNetwork_disabled_features TARGET Qt${QT_MAJOR_VERSION}::Network
|
||||
if("ssl" IN_LIST QtNetwork_disabled_features)
|
||||
list(APPEND QtNetwork_DROPPED_ENTRIES QOcspResponse QSslCipher
|
||||
QSslConfiguration QSslDiffieHellmanParameters QSslError
|
||||
- QSslKey QSslPreSharedKeyAuthenticator QSslSocket)
|
||||
+ QSslKey QSslPreSharedKeyAuthenticator QSslSocket QSslServer)
|
||||
message(STATUS "Qt${QT_MAJOR_VERSION}Network: Dropping SSL classes")
|
||||
else()
|
||||
# Problems with operator==(QSslEllipticCurve,QSslEllipticCurve)
|
||||
@@ -67,6 +67,9 @@ else()
|
||||
${QtNetwork_GEN_DIR}/qsslpresharedkeyauthenticator_wrapper.cpp
|
||||
${QtNetwork_GEN_DIR}/qsslsocket_wrapper.cpp
|
||||
${QtNetwork_GEN_DIR}/qocspresponse_wrapper.cpp)
|
||||
+ if (Qt${QT_MAJOR_VERSION}Network_VERSION VERSION_GREATER_EQUAL 6.4.0)
|
||||
+ list(APPEND QtNetwork_SRC ${QtNetwork_GEN_DIR}/qsslserver_wrapper.cpp)
|
||||
+ endif()
|
||||
message(STATUS "Qt${QT_MAJOR_VERSION}Network: Adding SSL classes")
|
||||
endif()
|
||||
|
||||
diff --git a/sources/pyside6/PySide6/QtNetwork/typesystem_network.xml b/sources/pyside6/PySide6/QtNetwork/typesystem_network.xml
|
||||
index 3e21dd398..e58eb0ccc 100644
|
||||
--- a/sources/pyside6/PySide6/QtNetwork/typesystem_network.xml
|
||||
+++ b/sources/pyside6/PySide6/QtNetwork/typesystem_network.xml
|
||||
@@ -286,6 +286,8 @@
|
||||
|
||||
<value-type name="QSslPreSharedKeyAuthenticator"/>
|
||||
|
||||
+ <object-type name="QSslServer" since="6.4"/>
|
||||
+
|
||||
<!-- The above entries may be present in the system or not. Keep this section organized. -->
|
||||
</typesystem>
|
||||
|
||||
diff --git a/sources/pyside6/PySide6/QtTextToSpeech/typesystem_texttospeech.xml b/sources/pyside6/PySide6/QtTextToSpeech/typesystem_texttospeech.xml
|
||||
index 61e021aa8..4a0b4482a 100644
|
||||
--- a/sources/pyside6/PySide6/QtTextToSpeech/typesystem_texttospeech.xml
|
||||
+++ b/sources/pyside6/PySide6/QtTextToSpeech/typesystem_texttospeech.xml
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
<object-type name="QTextToSpeech">
|
||||
<enum-type name="State"/>
|
||||
+ <enum-type name="BoundaryHint"/>
|
||||
+ <enum-type name="ErrorReason"/>
|
||||
</object-type>
|
||||
<object-type name="QTextToSpeechEngine"/>
|
||||
<value-type name="QVoice">
|
||||
diff --git a/sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt b/sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt
|
||||
index 0166f5767..657554a5e 100644
|
||||
--- a/sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt
|
||||
+++ b/sources/pyside6/PySide6/QtWebSockets/CMakeLists.txt
|
||||
@@ -10,6 +10,11 @@ ${QtWebSockets_GEN_DIR}/qwebsocketserver_wrapper.cpp
|
||||
${QtWebSockets_GEN_DIR}/qtwebsockets_module_wrapper.cpp
|
||||
)
|
||||
|
||||
+if (Qt${QT_MAJOR_VERSION}WebSockets_VERSION VERSION_GREATER_EQUAL 6.4.0)
|
||||
+ list(APPEND QtWebSockets_SRC
|
||||
+ ${QtWebSockets_GEN_DIR}/qwebsockethandshakeoptions_wrapper.cpp)
|
||||
+endif()
|
||||
+
|
||||
set(QtWebSockets_include_dirs ${QtWebSockets_SOURCE_DIR}
|
||||
${QtWebSockets_BINARY_DIR}
|
||||
${Qt${QT_MAJOR_VERSION}Core_INCLUDE_DIRS}
|
||||
diff --git a/sources/pyside6/PySide6/QtWebSockets/typesystem_websockets.xml b/sources/pyside6/PySide6/QtWebSockets/typesystem_websockets.xml
|
||||
index 7d4552e0a..914c8ce81 100644
|
||||
--- a/sources/pyside6/PySide6/QtWebSockets/typesystem_websockets.xml
|
||||
+++ b/sources/pyside6/PySide6/QtWebSockets/typesystem_websockets.xml
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
<object-type name="QWebSocketCorsAuthenticator"/>
|
||||
|
||||
+ <value-type name="QWebSocketHandshakeOptions" since="6.4"/>
|
||||
+
|
||||
<namespace-type name="QWebSocketProtocol">
|
||||
<enum-type name="Version"/>
|
||||
<enum-type name="CloseCode"/>
|
||||
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
|
||||
index 828194e1e..f3f12cb72 100644
|
||||
--- a/sources/pyside6/libpyside/signalmanager.cpp
|
||||
+++ b/sources/pyside6/libpyside/signalmanager.cpp
|
||||
@@ -439,6 +439,7 @@ int SignalManager::qt_metacall(QObject *object, QMetaObject::Call call, int id,
|
||||
case QMetaObject::CreateInstance:
|
||||
case QMetaObject::IndexOfMethod:
|
||||
case QMetaObject::RegisterMethodArgumentMetaType:
|
||||
+ case QMetaObject::CustomCall:
|
||||
id -= object->metaObject()->methodCount();
|
||||
break;
|
||||
}
|
||||
diff --git a/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp b/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
|
||||
index 5857a8f9f..26398ae76 100644
|
||||
--- a/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
|
||||
+++ b/sources/pyside6/libpysideqml/pysideqmlregistertype.cpp
|
||||
@@ -111,7 +111,6 @@ int qmlRegisterType(PyObject *pyObj, const char *uri, int versionMajor,
|
||||
const bool isQuickType = quickRegisterItemFunction && quickRegisterItemFunction(pyObj, &type);
|
||||
|
||||
// Register as simple QObject rather than Qt Quick item.
|
||||
- using QObjectQmlList = QQmlListProperty<QObject>;
|
||||
// Incref the type object, don't worry about decref'ing it because
|
||||
// there's no way to unregister a QML type.
|
||||
Py_INCREF(pyObj);
|
||||
@@ -122,9 +121,8 @@ int qmlRegisterType(PyObject *pyObj, const char *uri, int versionMajor,
|
||||
QByteArray ptrType = typeName + '*';
|
||||
QByteArray listType = QByteArrayLiteral("QQmlListProperty<") + typeName + '>';
|
||||
|
||||
- type.typeId = QMetaType(new QQmlMetaTypeInterface(ptrType, static_cast<QObject **>(nullptr)));
|
||||
+ type.typeId = QMetaType(new QQmlMetaTypeInterface(ptrType));
|
||||
type.listId = QMetaType(new QQmlListMetaTypeInterface(listType,
|
||||
- static_cast<QObjectQmlList*>(nullptr),
|
||||
type.typeId.iface()));
|
||||
const auto typeInfo = qmlTypeInfo(pyObj);
|
||||
auto info = qmlAttachedInfo(pyObjType, typeInfo);
|
||||
diff --git a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/mapping.py b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/mapping.py
|
||||
index a71210c72..2118d7e39 100644
|
||||
--- a/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/mapping.py
|
||||
+++ b/sources/shiboken6/shibokenmodule/files.dir/shibokensupport/signature/mapping.py
|
||||
@@ -330,6 +330,7 @@ type_map.update({
|
||||
"qint32*" : ResultVariable(int),
|
||||
"qint64*" : ResultVariable(int),
|
||||
"qreal*" : ResultVariable(float),
|
||||
+ "qsizetype*" : ResultVariable(int),
|
||||
"QString*" : ResultVariable(str),
|
||||
"qintptr*" : ResultVariable(int),
|
||||
"quintptr*" : ResultVariable(int),
|
||||
@@ -574,7 +575,7 @@ def init_PySide6_QtWidgets():
|
||||
def init_PySide6_QtSql():
|
||||
from PySide6.QtSql import QSqlDatabase
|
||||
type_map.update({
|
||||
- "QLatin1String(QSqlDatabase.defaultConnection)": QSqlDatabase.defaultConnection,
|
||||
+ "QLatin1StringView(QSqlDatabase.defaultConnection)": QSqlDatabase.defaultConnection,
|
||||
"QVariant.Invalid": Invalid("Variant"), # not sure what I should create, here...
|
||||
})
|
||||
return locals()
|
||||
--
|
||||
2.37.3
|
||||
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 30 20:54:07 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
- Add Qt 6.4 compatibility patch:
|
||||
* 0001-Adapt-to-Qt-6.4.patch
|
||||
- Add QtQuick3D and QtSpeech bindings
|
||||
- Disable a failing test when building with Qt 6.4
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 13 06:51:16 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
|
||||
|
||||
|
@ -35,6 +35,8 @@ Source: https://download.qt.io/official_releases/QtForPython/pyside6/PyS
|
||||
Patch0: 0001-Don-t-install-CMake-files-into-versioned-directories.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch1: 0001-Always-link-to-python-libraries.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch2: 0001-Adapt-to-Qt-6.4.patch
|
||||
# SECTION common_dependencies
|
||||
BuildRequires: clang-devel
|
||||
BuildRequires: fdupes
|
||||
@ -88,6 +90,7 @@ BuildRequires: cmake(Qt6OpenGLWidgets)
|
||||
BuildRequires: cmake(Qt6Positioning)
|
||||
BuildRequires: cmake(Qt6Qml)
|
||||
BuildRequires: cmake(Qt6Quick)
|
||||
BuildRequires: cmake(Qt6Quick3D)
|
||||
BuildRequires: cmake(Qt6QuickControls2)
|
||||
BuildRequires: cmake(Qt6QuickWidgets)
|
||||
BuildRequires: cmake(Qt6RemoteObjects)
|
||||
@ -97,6 +100,7 @@ BuildRequires: cmake(Qt6SerialPort)
|
||||
BuildRequires: cmake(Qt6StateMachine)
|
||||
BuildRequires: cmake(Qt6Svg)
|
||||
BuildRequires: cmake(Qt6SvgWidgets)
|
||||
BuildRequires: cmake(Qt6TextToSpeech)
|
||||
BuildRequires: cmake(Qt6UiPlugin)
|
||||
BuildRequires: cmake(Qt6UiTools)
|
||||
BuildRequires: cmake(Qt6WebChannel)
|
||||
@ -196,12 +200,13 @@ done
|
||||
%define xvfb_command xvfb-run -s "-screen 0 1600x1200x16 -ac +extension GLX +render -noreset" \\
|
||||
|
||||
%define excluded_tests 1
|
||||
# Excluded tests (last update: 2022-06-22)
|
||||
# Excluded tests (last update: 2022-10-01)
|
||||
# registry_existence_test only works on the Qt CI
|
||||
# The QtWebEngineWidgets_pyside-474-qtwebengineview and QtWebEngineCore tests
|
||||
# pass locally but not on the build service (SIGTRAP)
|
||||
# QtGui_qpen_test times out
|
||||
ctest_exclude_regex="registry_existence_test|QtWebEngineWidgets_pyside-474-qtwebengineview|QtWebEngineCore.*|QtGui_qpen_test"
|
||||
# QtMultimediaWidgets_qmultimediawidgets aborts
|
||||
ctest_exclude_regex="registry_existence_test|QtWebEngineWidgets_pyside-474-qtwebengineview|QtWebEngineCore.*|QtGui_qpen_test|QtMultimediaWidgets_qmultimediawidgets"
|
||||
# Qt3DExtras_qt3dextras_test fails on aarch64 (exception) and s390x (timeout)
|
||||
%ifarch aarch64 s390x
|
||||
ctest_exclude_regex="$ctest_exclude_regex|Qt3DExtras_qt3dextras_test"
|
||||
|
Loading…
Reference in New Issue
Block a user