From 0ce2786b87364b40451f95a34897c61de087acf5f640775516ef2a262d75925a Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Wed, 19 Oct 2022 05:49:26 +0000 Subject: [PATCH] Accepting request 1029688 from home:cgiboudeaux:Qt6:release:pyside Update to 6.4.0 OBS-URL: https://build.opensuse.org/request/show/1029688 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt6/python3-pyside6?expand=0&rev=24 --- 0001-Adapt-to-Qt-6.4.patch | 203 ----------------------- _constraints | 4 +- pyside-6.4.0-arm_gles.patch | 30 ++++ pyside-setup-opensource-src-6.3.2.tar.xz | 3 - pyside-setup-opensource-src-6.4.0.tar.xz | 3 + python3-pyside6.changes | 19 +++ python3-pyside6.spec | 27 +-- 7 files changed, 70 insertions(+), 219 deletions(-) delete mode 100644 0001-Adapt-to-Qt-6.4.patch create mode 100644 pyside-6.4.0-arm_gles.patch delete mode 100644 pyside-setup-opensource-src-6.3.2.tar.xz create mode 100644 pyside-setup-opensource-src-6.4.0.tar.xz diff --git a/0001-Adapt-to-Qt-6.4.patch b/0001-Adapt-to-Qt-6.4.patch deleted file mode 100644 index 1757b78..0000000 --- a/0001-Adapt-to-Qt-6.4.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 442b06ae456ec6c3d7eac9826bff43ee36188d07 Mon Sep 17 00:00:00 2001 -From: Friedemann Kleint -Date: Thu, 27 Jan 2022 16:28:19 +0100 -Subject: [PATCH] Adapt to Qt 6.4 - -Change-Id: I46f6291c1c363b1e509ef458e635f97f4423f81b -Reviewed-by: Qt CI Bot -Reviewed-by: Christian Tismer ---- - 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 @@ - - -- -+ - - - -@@ -3121,7 +3121,7 @@ - - - -- -+ - - - -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 @@ - - - -- -+ - - - -@@ -140,6 +140,9 @@ - - - -+ -+ -+ - - - -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 @@ - - - -+ -+ - - - -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 @@ - - - -+ -+ - - - -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 @@ - - - -+ -+ - - - -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; - // 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(nullptr))); -+ type.typeId = QMetaType(new QQmlMetaTypeInterface(ptrType)); - type.listId = QMetaType(new QQmlListMetaTypeInterface(listType, -- static_cast(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 - diff --git a/_constraints b/_constraints index 4c8dd91..6a18e87 100644 --- a/_constraints +++ b/_constraints @@ -1,11 +1,11 @@ - python3-pyside6 + python3-pyside6:shiboken6 - 6 + 3500 diff --git a/pyside-6.4.0-arm_gles.patch b/pyside-6.4.0-arm_gles.patch new file mode 100644 index 0000000..a783927 --- /dev/null +++ b/pyside-6.4.0-arm_gles.patch @@ -0,0 +1,30 @@ +From 24bd3d5b2ea519900712208aabddee6283c20612 Mon Sep 17 00:00:00 2001 +From: Friedemann Kleint +Date: Mon, 17 Oct 2022 09:54:44 +0200 +Subject: [PATCH] Fix build with OpenGLES + +Add the GLES headers to the system headers so that the integer +typedefs are seen, which is required after +f92cd6b5ac0dc3f97d9693443e6ac5cf966b87ec, +50d0c3c94ff66c104de269f09c08109eb9d0eb3a. + +Fixes: PYSIDE-2084 +Pick-to: 6.4 6.2 +Change-Id: I6036d042765b959e0f8d7258d5d5ba322351f8ec +--- + +diff --git a/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp b/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp +index 7887457..512f1a8 100644 +--- a/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp ++++ b/sources/shiboken6/ApiExtractor/clangparser/clangbuilder.cpp +@@ -807,6 +807,10 @@ + // Resolve OpenGL typedefs although the header is considered a system header. + const QString baseName = clang::baseName(fileName); + if (baseName == u"gl.h" ++ || baseName == u"gl2.h" ++ || baseName == u"gl3.h" ++ || baseName == u"gl31.h" ++ || baseName == u"gl32.h" + || baseName == u"stdint.h" // Windows: int32_t, uint32_t + || baseName == u"stddef.h") { // size_t + return true; diff --git a/pyside-setup-opensource-src-6.3.2.tar.xz b/pyside-setup-opensource-src-6.3.2.tar.xz deleted file mode 100644 index a110601..0000000 --- a/pyside-setup-opensource-src-6.3.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d19979589e8946488e1b5e01ac0da75ab73b40c901726723335e160241a56892 -size 7853068 diff --git a/pyside-setup-opensource-src-6.4.0.tar.xz b/pyside-setup-opensource-src-6.4.0.tar.xz new file mode 100644 index 0000000..0b58dbb --- /dev/null +++ b/pyside-setup-opensource-src-6.4.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dcee166a112a7eb04bb58c1164997e1f720c1e3e2ee199ee8c9a70e82f51e321 +size 8551772 diff --git a/python3-pyside6.changes b/python3-pyside6.changes index 0319f21..4a41b1c 100644 --- a/python3-pyside6.changes +++ b/python3-pyside6.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Sun Oct 16 07:04:40 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.0. Check the installed changes-6.4.0 file for the + full list of changes + * Modules QtPdf, QtPdfWidgets and QtSpatialAudio have been added + * The Qt5Compat QML imports have been added (QtGraphicalEffects) + * Errors message about test-configuring projects with cmake + have been improved + * The feature module has been improved by a reset function + * The documentation build process has been improved; it no + longer requires a complete PySide6 build + * Support for Python 3.11 has been added +- Drop patch, fixed upstream + * 0001-Adapt-to-Qt-6.4.patch +- Fix the shiboken constraints +- Add patch to fix build failures on ARM: + * pyside-6.4.0-arm_gles.patch + ------------------------------------------------------------------- Fri Sep 30 20:54:07 UTC 2022 - Christophe Giboudeaux diff --git a/python3-pyside6.spec b/python3-pyside6.spec index bda86dd..3e597d1 100644 --- a/python3-pyside6.spec +++ b/python3-pyside6.spec @@ -25,7 +25,7 @@ %endif # Name: python3-%{pyside_flavor} -Version: 6.3.2 +Version: 6.4.0 Release: 0 Summary: Python bindings for Qt 6 License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later) AND GPL-2.0-only AND GPL-3.0-only WITH Qt-GPL-exception-1.0 @@ -36,14 +36,14 @@ 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 +Patch2: pyside-6.4.0-arm_gles.patch # SECTION common_dependencies BuildRequires: clang-devel BuildRequires: fdupes BuildRequires: pkgconfig BuildRequires: python-rpm-macros BuildRequires: python3-Sphinx -BuildRequires: python3-devel +BuildRequires: python3-devel >= 3.7 BuildRequires: python3-numpy-devel BuildRequires: qt6-macros BuildRequires: cmake(Qt6Core) @@ -53,7 +53,7 @@ BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) # /SECTION %if "%{pyside_flavor}" == "pyside6" -BuildRequires: cmake(Shiboken6) +BuildRequires: cmake(Shiboken6) = %{version} # SECTION test_dependencies BuildRequires: Mesa-dri BuildRequires: qt6-location @@ -79,9 +79,13 @@ BuildRequires: cmake(Qt63DRender) BuildRequires: cmake(Qt6Bluetooth) BuildRequires: cmake(Qt6Charts) BuildRequires: cmake(Qt6DBus) +# Skip Qt6DataVisualization on armv7l due to boo#1204267 +%ifnarch %{arm} BuildRequires: cmake(Qt6DataVisualization) +%endif BuildRequires: cmake(Qt6Designer) BuildRequires: cmake(Qt6Help) +BuildRequires: cmake(Qt6HttpServer) BuildRequires: cmake(Qt6Multimedia) BuildRequires: cmake(Qt6MultimediaWidgets) BuildRequires: cmake(Qt6NetworkAuth) @@ -97,6 +101,7 @@ BuildRequires: cmake(Qt6RemoteObjects) BuildRequires: cmake(Qt6Scxml) BuildRequires: cmake(Qt6Sensors) BuildRequires: cmake(Qt6SerialPort) +BuildRequires: cmake(Qt6SpatialAudio) BuildRequires: cmake(Qt6StateMachine) BuildRequires: cmake(Qt6Svg) BuildRequires: cmake(Qt6SvgWidgets) @@ -105,6 +110,8 @@ BuildRequires: cmake(Qt6UiPlugin) BuildRequires: cmake(Qt6UiTools) BuildRequires: cmake(Qt6WebChannel) %ifnarch %{ix86} armv7l armv7hl ppc ppc64 ppc64le s390 s390x +BuildRequires: cmake(Qt6Pdf) +BuildRequires: cmake(Qt6PdfWidgets) BuildRequires: cmake(Qt6WebEngineCore) BuildRequires: cmake(Qt6WebEngineQuick) BuildRequires: cmake(Qt6WebEngineWidgets) @@ -200,15 +207,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-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) +# Excluded tests (last update: 2022-10-17) +# QtWebEngineWidgets_pyside-474-qtwebengineview fails with 'ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer' # QtGui_qpen_test times out # 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="QtWebEngineWidgets_pyside-474-qtwebengineview|QtGui_qpen_test|QtMultimediaWidgets_qmultimediawidgets" +# Qt3DExtras_qt3dextras_test fails on s390x (timeout) +%ifarch s390x ctest_exclude_regex="$ctest_exclude_regex|Qt3DExtras_qt3dextras_test" %endif %endif