Dominique Leuenberger 2022-10-19 11:17:53 +00:00 committed by Git OBS Bridge
commit 3a1e6b79cb
7 changed files with 70 additions and 219 deletions

View File

@ -1,203 +0,0 @@
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&amp;,const QVariant&amp;)const" remove="all"/>
+ <modify-function signature="value(QAnyStringView,const QVariant&amp;)const" remove="all"/>
<add-function signature="value(const QString&amp;, const QVariant&amp; @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 &amp;,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

View File

@ -1,11 +1,11 @@
<constraints>
<overwrite>
<conditions>
<package>python3-pyside6</package>
<package>python3-pyside6:shiboken6</package>
</conditions>
<hardware>
<disk>
<size unit="G">6</size>
<size unit="M">3500</size>
</disk>
</hardware>
</overwrite>

View File

@ -0,0 +1,30 @@
From 24bd3d5b2ea519900712208aabddee6283c20612 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
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;

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d19979589e8946488e1b5e01ac0da75ab73b40c901726723335e160241a56892
size 7853068

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dcee166a112a7eb04bb58c1164997e1f720c1e3e2ee199ee8c9a70e82f51e321
size 8551772

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Sun Oct 16 07:04:40 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- 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 <christophe@krop.fr>

View File

@ -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