Accepting request 1177283 from KDE:Qt6
OBS-URL: https://build.opensuse.org/request/show/1177283 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python3-pyside6?expand=0&rev=29
This commit is contained in:
commit
dfde1a8ce0
@ -1,225 +0,0 @@
|
||||
From 8daf9fb00fd805ce12a6ab18a9af7a5968b78a93 Mon Sep 17 00:00:00 2001
|
||||
From: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
||||
Date: Tue, 9 Apr 2024 09:44:15 +0200
|
||||
Subject: [PATCH] Multimedia: Adapt to revert of QAudio->QtAudio namespace
|
||||
renaming
|
||||
|
||||
Partially revert 4d761eaaf852f8d82925e111150f25c0dd5f3e83.
|
||||
|
||||
Adapt to qtmultimedia/7fcea568c9c64f3bcebda21f0df02aa0107dfd0c,
|
||||
reverting qtmultimedia/edaec2bf714c98d65f12c8ed9a2ffbd1603635a7.
|
||||
|
||||
Task-number: QTBUG-123997
|
||||
Pick-to: 6.7
|
||||
Change-Id: Ibd0ad737293f4b9107909f37554c03f64bce5d1e
|
||||
---
|
||||
.../multimedia/audiooutput/audiooutput.py | 22 +++++++++----------
|
||||
.../multimedia/audiosource/audiosource.py | 16 +++++++-------
|
||||
.../PySide6/QtMultimedia/CMakeLists.txt | 2 +-
|
||||
.../QtMultimedia/typesystem_multimedia.xml | 8 +------
|
||||
sources/pyside6/PySide6/glue/qtmultimedia.cpp | 3 ++-
|
||||
sources/pyside6/libpyside/signalmanager.cpp | 5 -----
|
||||
6 files changed, 23 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/examples/multimedia/audiooutput/audiooutput.py b/examples/multimedia/audiooutput/audiooutput.py
|
||||
index 5219bf652..06d52f68a 100644
|
||||
--- a/examples/multimedia/audiooutput/audiooutput.py
|
||||
+++ b/examples/multimedia/audiooutput/audiooutput.py
|
||||
@@ -10,7 +10,7 @@ from struct import pack
|
||||
|
||||
from PySide6.QtCore import (QByteArray, QIODevice, Qt, QSysInfo, QTimer,
|
||||
qWarning, Slot)
|
||||
-from PySide6.QtMultimedia import (QtAudio, QAudioFormat,
|
||||
+from PySide6.QtMultimedia import (QAudio, QAudioFormat,
|
||||
QAudioSink, QMediaDevices)
|
||||
from PySide6.QtWidgets import (QApplication, QComboBox, QHBoxLayout, QLabel,
|
||||
QMainWindow, QPushButton, QSlider,
|
||||
@@ -209,7 +209,7 @@ class AudioTest(QMainWindow):
|
||||
|
||||
@Slot()
|
||||
def pull_timer_expired(self):
|
||||
- if self.m_audioSink is not None and self.m_audioSink.state() != QtAudio.StoppedState:
|
||||
+ if self.m_audioSink is not None and self.m_audioSink.state() != QAudio.StoppedState:
|
||||
bytes_free = self.m_audioSink.bytesFree()
|
||||
data = self.m_generator.read(bytes_free)
|
||||
if data:
|
||||
@@ -234,28 +234,28 @@ class AudioTest(QMainWindow):
|
||||
|
||||
@Slot()
|
||||
def toggle_suspend_resume(self):
|
||||
- if self.m_audioSink.state() == QtAudio.State.SuspendedState:
|
||||
+ if self.m_audioSink.state() == QAudio.SuspendedState:
|
||||
qWarning("status: Suspended, resume()")
|
||||
self.m_audioSink.resume()
|
||||
self.m_suspendResumeButton.setText(self.SUSPEND_LABEL)
|
||||
- elif self.m_audioSink.state() == QtAudio.State.ActiveState:
|
||||
+ elif self.m_audioSink.state() == QAudio.ActiveState:
|
||||
qWarning("status: Active, suspend()")
|
||||
self.m_audioSink.suspend()
|
||||
self.m_suspendResumeButton.setText(self.RESUME_LABEL)
|
||||
- elif self.m_audioSink.state() == QtAudio.State.StoppedState:
|
||||
+ elif self.m_audioSink.state() == QAudio.StoppedState:
|
||||
qWarning("status: Stopped, resume()")
|
||||
self.m_audioSink.resume()
|
||||
self.m_suspendResumeButton.setText(self.SUSPEND_LABEL)
|
||||
- elif self.m_audioSink.state() == QtAudio.State.IdleState:
|
||||
+ elif self.m_audioSink.state() == QAudio.IdleState:
|
||||
qWarning("status: IdleState")
|
||||
|
||||
state_map = {
|
||||
- QtAudio.State.ActiveState: "ActiveState",
|
||||
- QtAudio.State.SuspendedState: "SuspendedState",
|
||||
- QtAudio.State.StoppedState: "StoppedState",
|
||||
- QtAudio.State.IdleState: "IdleState"}
|
||||
+ QAudio.ActiveState: "ActiveState",
|
||||
+ QAudio.SuspendedState: "SuspendedState",
|
||||
+ QAudio.StoppedState: "StoppedState",
|
||||
+ QAudio.IdleState: "IdleState"}
|
||||
|
||||
- @Slot(QtAudio.State)
|
||||
+ @Slot("QAudio::State")
|
||||
def handle_state_changed(self, state):
|
||||
state = self.state_map.get(state, 'Unknown')
|
||||
qWarning(f"state = {state}")
|
||||
diff --git a/examples/multimedia/audiosource/audiosource.py b/examples/multimedia/audiosource/audiosource.py
|
||||
index 40046f0a3..a78beb584 100644
|
||||
--- a/examples/multimedia/audiosource/audiosource.py
|
||||
+++ b/examples/multimedia/audiosource/audiosource.py
|
||||
@@ -19,7 +19,7 @@ from typing import Optional
|
||||
import PySide6
|
||||
from PySide6.QtCore import QByteArray, QMargins, Qt, Slot, qWarning
|
||||
from PySide6.QtGui import QPainter, QPalette
|
||||
-from PySide6.QtMultimedia import QtAudio, QAudioDevice, QAudioFormat, QAudioSource, QMediaDevices
|
||||
+from PySide6.QtMultimedia import QAudio, QAudioDevice, QAudioFormat, QAudioSource, QMediaDevices
|
||||
from PySide6.QtWidgets import (QApplication, QComboBox, QPushButton, QSlider, QVBoxLayout,
|
||||
QWidget, QLabel)
|
||||
|
||||
@@ -164,10 +164,10 @@ class InputTest(QWidget):
|
||||
self.m_audio_info = AudioInfo(format)
|
||||
|
||||
self.m_audio_input = QAudioSource(device_info, format)
|
||||
- initial_volume = QtAudio.convertVolume(
|
||||
+ initial_volume = QAudio.convertVolume(
|
||||
self.m_audio_input.volume(),
|
||||
- QtAudio.LinearVolumeScale,
|
||||
- QtAudio.LogarithmicVolumeScale,
|
||||
+ QAudio.LinearVolumeScale,
|
||||
+ QAudio.LogarithmicVolumeScale,
|
||||
)
|
||||
self.m_volume_slider.setValue(int(round(initial_volume * 100)))
|
||||
self.toggle_mode()
|
||||
@@ -196,10 +196,10 @@ class InputTest(QWidget):
|
||||
def toggle_suspend(self):
|
||||
# toggle suspend/resume
|
||||
state = self.m_audio_input.state()
|
||||
- if (state == QtAudio.SuspendedState) or (state == QtAudio.StoppedState):
|
||||
+ if (state == QAudio.SuspendedState) or (state == QAudio.StoppedState):
|
||||
self.m_audio_input.resume()
|
||||
self.m_suspend_resume_button.setText("Suspend recording")
|
||||
- elif state == QtAudio.ActiveState:
|
||||
+ elif state == QAudio.ActiveState:
|
||||
self.m_audio_input.suspend()
|
||||
self.m_suspend_resume_button.setText("Resume recording")
|
||||
# else no-op
|
||||
@@ -212,8 +212,8 @@ class InputTest(QWidget):
|
||||
|
||||
@Slot(int)
|
||||
def slider_changed(self, value):
|
||||
- linearVolume = QtAudio.convertVolume(
|
||||
- value / float(100), QtAudio.LogarithmicVolumeScale, QtAudio.LinearVolumeScale
|
||||
+ linearVolume = QAudio.convertVolume(
|
||||
+ value / float(100), QAudio.LogarithmicVolumeScale, QAudio.LinearVolumeScale
|
||||
)
|
||||
|
||||
self.m_audio_input.setVolume(linearVolume)
|
||||
diff --git a/sources/pyside6/PySide6/QtMultimedia/CMakeLists.txt b/sources/pyside6/PySide6/QtMultimedia/CMakeLists.txt
|
||||
index 61f52cc2b..5cac97ca9 100644
|
||||
--- a/sources/pyside6/PySide6/QtMultimedia/CMakeLists.txt
|
||||
+++ b/sources/pyside6/PySide6/QtMultimedia/CMakeLists.txt
|
||||
@@ -12,6 +12,7 @@ ${QtMultimedia_GEN_DIR}/qaudioinput_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qaudiooutput_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qaudiosink_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qaudiosource_wrapper.cpp
|
||||
+${QtMultimedia_GEN_DIR}/qaudio_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qcameraformat_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qcameradevice_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qcamera_wrapper.cpp
|
||||
@@ -28,7 +29,6 @@ ${QtMultimedia_GEN_DIR}/qmediatimerange_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qmediatimerange_interval_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qscreencapture_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qsoundeffect_wrapper.cpp
|
||||
-${QtMultimedia_GEN_DIR}/qtaudio_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qtvideo_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qvideoframe_wrapper.cpp
|
||||
${QtMultimedia_GEN_DIR}/qvideoframeformat_wrapper.cpp
|
||||
diff --git a/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml b/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
index dc3534299..c4de5dc9a 100644
|
||||
--- a/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
+++ b/sources/pyside6/PySide6/QtMultimedia/typesystem_multimedia.xml
|
||||
@@ -8,7 +8,7 @@
|
||||
<load-typesystem name="QtGui/typesystem_gui.xml" generate="no"/>
|
||||
<load-typesystem name="QtNetwork/typesystem_network.xml" generate="no"/>
|
||||
|
||||
- <namespace-type name="QtAudio">
|
||||
+ <namespace-type name="QAudio">
|
||||
<enum-type name="Error"/>
|
||||
<enum-type name="State"/>
|
||||
<enum-type name="VolumeScale"/>
|
||||
@@ -64,9 +64,6 @@
|
||||
</modify-argument>
|
||||
</modify-function>
|
||||
<modify-function signature="stop()" allow-thread="true"/>
|
||||
- <!-- FIXME PYSIDE 7: Remove this (QT6_DECL_NEW_OVERLOAD_TAIL) -->
|
||||
- <declare-function signature="state()const" return-type="QtAudio::State"/>
|
||||
- <declare-function signature="error()const" return-type="QtAudio::Error"/>
|
||||
</object-type>
|
||||
|
||||
<object-type name="QAudioSink">
|
||||
@@ -81,9 +78,6 @@
|
||||
</modify-argument>
|
||||
</modify-function>
|
||||
<modify-function signature="stop()" allow-thread="true"/>
|
||||
- <!-- FIXME PYSIDE 7: Remove this (QT6_DECL_NEW_OVERLOAD_TAIL) -->
|
||||
- <declare-function signature="state()const" return-type="QtAudio::State"/>
|
||||
- <declare-function signature="error()const" return-type="QtAudio::Error"/>
|
||||
</object-type>
|
||||
|
||||
<object-type name="QCamera">
|
||||
diff --git a/sources/pyside6/PySide6/glue/qtmultimedia.cpp b/sources/pyside6/PySide6/glue/qtmultimedia.cpp
|
||||
index d193b1bd3..ac8434b97 100644
|
||||
--- a/sources/pyside6/PySide6/glue/qtmultimedia.cpp
|
||||
+++ b/sources/pyside6/PySide6/glue/qtmultimedia.cpp
|
||||
@@ -2,6 +2,7 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
// @snippet qvideoframe-bits
|
||||
+#include "object.h"
|
||||
%BEGIN_ALLOW_THREADS
|
||||
%RETURN_TYPE %0 = %CPPSELF.%FUNCTION_NAME(%1);
|
||||
%END_ALLOW_THREADS
|
||||
@@ -23,5 +24,5 @@ const auto size = %CPPSELF.byteCount();
|
||||
|
||||
// @snippet qtaudio-namespace-compatibility-alias
|
||||
Py_INCREF(pyType);
|
||||
-PyModule_AddObject(module, "QAudio", reinterpret_cast<PyObject *>(pyType));
|
||||
+PyModule_AddObject(module, "QtAudio", reinterpret_cast<PyObject *>(pyType));
|
||||
// @snippet qtaudio-namespace-compatibility-alias
|
||||
diff --git a/sources/pyside6/libpyside/signalmanager.cpp b/sources/pyside6/libpyside/signalmanager.cpp
|
||||
index 625e4a405..557f130e0 100644
|
||||
--- a/sources/pyside6/libpyside/signalmanager.cpp
|
||||
+++ b/sources/pyside6/libpyside/signalmanager.cpp
|
||||
@@ -813,11 +813,6 @@ static PyObject *parseArguments(const QMetaMethod &method, void **args)
|
||||
for (qsizetype i = 0; i < argsSize; ++i) {
|
||||
void *data = args[i+1];
|
||||
auto param = paramTypes.at(i);
|
||||
-#if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
|
||||
- // Qt 6.7 renamed namespace "QAudio"->"QtAudio" except for signals
|
||||
- if (param.startsWith("QAudio::"_ba))
|
||||
- param.insert(1, 't');
|
||||
-#endif
|
||||
Shiboken::Conversions::SpecificConverter converter(param.constData());
|
||||
if (!converter) {
|
||||
PyErr_SetString(PyExc_TypeError, msgCannotConvertParameter(method, i).constData());
|
||||
--
|
||||
2.44.0
|
||||
|
40
0001-shiboken-add-missing-include.patch
Normal file
40
0001-shiboken-add-missing-include.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 6c3759e342efa8b9bcc46e1701eed3a12548db85 Mon Sep 17 00:00:00 2001
|
||||
From: Samuli Piippo <samuli.piippo@qt.io>
|
||||
Date: Mon, 27 May 2024 04:59:20 +0000
|
||||
Subject: [PATCH] shiboken: add missing include
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Amend b829abcc7b2e9fcdb027e653a6a52cdb0706de11 and add missing include
|
||||
to fix:
|
||||
|
||||
| sbkmodule.cpp:459:15: error: ‘Shiboken::Conversions’ has not been declared
|
||||
| Shiboken::Conversions::clearNegativeLazyCache();
|
||||
| ^~~~~~~~~~~
|
||||
|
||||
Pick-to: 6.7
|
||||
Fixes: PYSIDE-2765
|
||||
Task-number: PYSIDE-2749
|
||||
Task-number: PYSIDE-2404
|
||||
Change-Id: I13625848bff3b0e90a53649104d6e5d84553a984
|
||||
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
||||
---
|
||||
sources/shiboken6/libshiboken/sbkmodule.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sources/shiboken6/libshiboken/sbkmodule.cpp b/sources/shiboken6/libshiboken/sbkmodule.cpp
|
||||
index ccc7cc2cd..b7e6bf126 100644
|
||||
--- a/sources/shiboken6/libshiboken/sbkmodule.cpp
|
||||
+++ b/sources/shiboken6/libshiboken/sbkmodule.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "bindingmanager.h"
|
||||
#include "sbkstring.h"
|
||||
#include "sbkcppstring.h"
|
||||
+#include "sbkconverter_p.h"
|
||||
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
--
|
||||
2.45.1
|
||||
|
16
_service
16
_service
@ -1,16 +0,0 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="disabled">
|
||||
<param name="changesgenerate">disable</param>
|
||||
<param name="version">6.7.0~git</param>
|
||||
<param name="url">git://code.qt.io/pyside/pyside-setup.git</param>
|
||||
<param name="revision">6.7.0</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="filename">pyside-setup-everywhere-src</param>
|
||||
</service>
|
||||
<service name="set_version" mode="disabled" />
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
</services>
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ef1c4c50106645c91cabb4fc61cc000cf82c75063630c58b10e3b0cd2ddb589a
|
||||
size 31221773
|
3
pyside-setup-everywhere-src-6.7.1.tar.xz
Normal file
3
pyside-setup-everywhere-src-6.7.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6f33de37f4121e547064023edb344b95e2ab454234fa8fce27ea73df96f933cd
|
||||
size 14400976
|
@ -1,4 +0,0 @@
|
||||
name: pyside-setup-everywhere-src
|
||||
version: 6.7.0~git
|
||||
mtime: 1712333469
|
||||
commit: 06744deed8bfb71255a74dee9f12c8ec1f79eb49
|
@ -1,3 +1,13 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 24 11:22:44 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
- Update to 6.7.1. Check the installed changes-6.7.1 file for the
|
||||
full list of changes
|
||||
- Drop patch, merged upstream:
|
||||
* 0001-Multimedia-Adapt-to-revert-of-QAudio-QtAudio-namespa.patch
|
||||
- Add upstream build fix:
|
||||
* 0001-shiboken-add-missing-include.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 9 11:46:05 UTC 2024 - Christophe Marin <christophe@krop.fr>
|
||||
|
||||
|
@ -43,17 +43,16 @@ ExclusiveArch: donotbuild
|
||||
%endif
|
||||
|
||||
Name: %{mypython}-%{pyside_flavor}
|
||||
Version: 6.7.0~git
|
||||
Version: 6.7.1
|
||||
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
|
||||
URL: https://www.qt.io
|
||||
# Source: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-%%{version}-src/%%{tar_name}-%%{version}.tar.xz
|
||||
Source0: %{tar_name}-%{version}.tar.xz
|
||||
Source: https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-%{version}-src/%{tar_name}-%{version}.tar.xz
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch0: 0001-Always-link-to-python-libraries.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch1: 0001-Multimedia-Adapt-to-revert-of-QAudio-QtAudio-namespa.patch
|
||||
Patch1: 0001-shiboken-add-missing-include.patch
|
||||
# SECTION common_dependencies
|
||||
BuildRequires: clang-devel
|
||||
BuildRequires: %{mypython}-Sphinx
|
||||
@ -246,7 +245,7 @@ ctest_exclude_regex="smart_smart_pointer"
|
||||
%define xvfb_command xvfb-run -s "-screen 0 1600x1200x16 -ac +extension GLX +render -noreset" \\
|
||||
|
||||
%define excluded_tests 1
|
||||
# Excluded tests (last update: 2024-04-08)
|
||||
# Excluded tests (last update: 2024-05-27)
|
||||
# QtWebEngineWidgets_pyside-474-qtwebengineview fails with 'ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer'
|
||||
# QtGui_qpen_test times out
|
||||
# QtMultimediaWidgets_qmultimediawidgets aborts
|
||||
@ -257,9 +256,10 @@ ctest_exclude_regex="smart_smart_pointer"
|
||||
# QtCore_qoperatingsystemversion_test fails after https://code.qt.io/cgit/qt/qtbase.git/commit/?id=1214edc
|
||||
ctest_exclude_regex="QtWebEngineWidgets_pyside-474-qtwebengineview|QtGui_qpen_test|QtMultimediaWidgets_qmultimediawidgets|Qt3DExtras_qt3dextras_test|QtPositioning_positioning|pyside6-deploy_test_pyside6_deploy|QtWidgets_qwidget_test|pyside6-android-deploy_test_pyside6_android_deploy|qoperatingsystemversion"
|
||||
|
||||
# Random failures on aarch64: registry_existence_test times out and QtWebEngineCore_web_engine_custom_scheme asserts
|
||||
# registry_existence_test randomly times out and QtWebEngineCore_web_engine_custom_scheme asserts
|
||||
# QtWebEngineCore_qwebenginecookiestore_test fails with a mesa error ('MESA: error: ZINK: vkCreateInstance failed (VK_ERROR_INCOMPATIBLE_DRIVER)')
|
||||
%ifarch aarch64
|
||||
ctest_exclude_regex="$ctest_exclude_regex|registry_existence_test|QtWebEngineCore_web_engine_custom_scheme"
|
||||
ctest_exclude_regex="$ctest_exclude_regex|registry_existence_test|QtWebEngineCore_web_engine_custom_scheme|QtWebEngineCore_qwebenginecookiestore_test"
|
||||
%endif
|
||||
# python311-distro is unavailable in 15.5, skip registry_existence_test
|
||||
%if 0%{?sle_version} == 150500
|
||||
|
Loading…
Reference in New Issue
Block a user