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>
|
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
|
Patch0: 0001-Don-t-install-CMake-files-into-versioned-directories.patch
|
||||||
# PATCH-FIX-OPENSUSE
|
# PATCH-FIX-OPENSUSE
|
||||||
Patch1: 0001-Always-link-to-python-libraries.patch
|
Patch1: 0001-Always-link-to-python-libraries.patch
|
||||||
|
# PATCH-FIX-UPSTREAM
|
||||||
|
Patch2: 0001-Adapt-to-Qt-6.4.patch
|
||||||
# SECTION common_dependencies
|
# SECTION common_dependencies
|
||||||
BuildRequires: clang-devel
|
BuildRequires: clang-devel
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -88,6 +90,7 @@ BuildRequires: cmake(Qt6OpenGLWidgets)
|
|||||||
BuildRequires: cmake(Qt6Positioning)
|
BuildRequires: cmake(Qt6Positioning)
|
||||||
BuildRequires: cmake(Qt6Qml)
|
BuildRequires: cmake(Qt6Qml)
|
||||||
BuildRequires: cmake(Qt6Quick)
|
BuildRequires: cmake(Qt6Quick)
|
||||||
|
BuildRequires: cmake(Qt6Quick3D)
|
||||||
BuildRequires: cmake(Qt6QuickControls2)
|
BuildRequires: cmake(Qt6QuickControls2)
|
||||||
BuildRequires: cmake(Qt6QuickWidgets)
|
BuildRequires: cmake(Qt6QuickWidgets)
|
||||||
BuildRequires: cmake(Qt6RemoteObjects)
|
BuildRequires: cmake(Qt6RemoteObjects)
|
||||||
@ -97,6 +100,7 @@ BuildRequires: cmake(Qt6SerialPort)
|
|||||||
BuildRequires: cmake(Qt6StateMachine)
|
BuildRequires: cmake(Qt6StateMachine)
|
||||||
BuildRequires: cmake(Qt6Svg)
|
BuildRequires: cmake(Qt6Svg)
|
||||||
BuildRequires: cmake(Qt6SvgWidgets)
|
BuildRequires: cmake(Qt6SvgWidgets)
|
||||||
|
BuildRequires: cmake(Qt6TextToSpeech)
|
||||||
BuildRequires: cmake(Qt6UiPlugin)
|
BuildRequires: cmake(Qt6UiPlugin)
|
||||||
BuildRequires: cmake(Qt6UiTools)
|
BuildRequires: cmake(Qt6UiTools)
|
||||||
BuildRequires: cmake(Qt6WebChannel)
|
BuildRequires: cmake(Qt6WebChannel)
|
||||||
@ -196,12 +200,13 @@ done
|
|||||||
%define xvfb_command xvfb-run -s "-screen 0 1600x1200x16 -ac +extension GLX +render -noreset" \\
|
%define xvfb_command xvfb-run -s "-screen 0 1600x1200x16 -ac +extension GLX +render -noreset" \\
|
||||||
|
|
||||||
%define excluded_tests 1
|
%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
|
# registry_existence_test only works on the Qt CI
|
||||||
# The QtWebEngineWidgets_pyside-474-qtwebengineview and QtWebEngineCore tests
|
# The QtWebEngineWidgets_pyside-474-qtwebengineview and QtWebEngineCore tests
|
||||||
# pass locally but not on the build service (SIGTRAP)
|
# pass locally but not on the build service (SIGTRAP)
|
||||||
# QtGui_qpen_test times out
|
# 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)
|
# Qt3DExtras_qt3dextras_test fails on aarch64 (exception) and s390x (timeout)
|
||||||
%ifarch aarch64 s390x
|
%ifarch aarch64 s390x
|
||||||
ctest_exclude_regex="$ctest_exclude_regex|Qt3DExtras_qt3dextras_test"
|
ctest_exclude_regex="$ctest_exclude_regex|Qt3DExtras_qt3dextras_test"
|
||||||
|
Loading…
Reference in New Issue
Block a user