Sync from SUSE:SLFO:Main qt6-multimedia revision 533b761709fc887f95f1858180a8ff93

This commit is contained in:
Adrian Schröter 2025-02-07 11:14:11 +01:00
parent 8f10c5a526
commit 595a980278
6 changed files with 149 additions and 18 deletions

View File

@ -0,0 +1,60 @@
From f98aa561abc6d36edf0590f3397100180d842cab Mon Sep 17 00:00:00 2001
From: Christophe Marin <christophe@krop.fr>
Date: Wed, 9 Oct 2024 14:19:49 +0200
Subject: [PATCH] =?UTF-8?q?Build=20with=20system=20eigen=C2=A03?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/3rdparty/resonance-audio/CMakeLists.txt | 2 +-
src/resonance-audio/CMakeLists.txt | 3 +--
src/spatialaudio/CMakeLists.txt | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/3rdparty/resonance-audio/CMakeLists.txt b/src/3rdparty/resonance-audio/CMakeLists.txt
index 6af0b3f..fce0280 100644
--- a/src/3rdparty/resonance-audio/CMakeLists.txt
+++ b/src/3rdparty/resonance-audio/CMakeLists.txt
@@ -98,7 +98,7 @@ elseif (UNIX)
endif ()
# Add Eigen3.
-set(EIGEN3_DIR "${PROJECT_SOURCE_DIR}/third_party/eigen/" CACHE PATH "Path to eigen3 library")
+set(EIGEN3_DIR "/usr/include/eigen3" CACHE PATH "Path to eigen3 library")
set(EIGEN3_INCLUDE_DIR ${EIGEN3_DIR})
add_definitions(-DEIGEN_MPL2_ONLY)
diff --git a/src/resonance-audio/CMakeLists.txt b/src/resonance-audio/CMakeLists.txt
index 0fa9dec..2d74be7 100644
--- a/src/resonance-audio/CMakeLists.txt
+++ b/src/resonance-audio/CMakeLists.txt
@@ -211,11 +211,10 @@ qt_internal_add_3rdparty_library(BundledResonanceAudio
${RA_SOURCE_DIR}
${PFFFT_DIR}
${SADIE_HRTFS_DIR}
- ../3rdparty/eigen
+ /usr/include/eigen3
ATTRIBUTION_FILE_DIR_PATHS
${RA_TOPLEVEL_DIR}
${PFFFT_DIR}
- ../3rdparty/eigen
)
# Required by pffft on certain PowerPC archs
diff --git a/src/spatialaudio/CMakeLists.txt b/src/spatialaudio/CMakeLists.txt
index 46120c4..16547a0 100644
--- a/src/spatialaudio/CMakeLists.txt
+++ b/src/spatialaudio/CMakeLists.txt
@@ -14,7 +14,7 @@ qt_internal_add_module(SpatialAudio
"../3rdparty/resonance-audio/resonance_audio"
"../3rdparty/resonance-audio"
"../resonance-audio"
- "../3rdparty/eigen"
+ "/usr/include/eigen3"
LIBRARIES
Qt::MultimediaPrivate
Qt::BundledResonanceAudio
--
2.46.1

View File

@ -0,0 +1,25 @@
From 610d7280ad1db68be49cb26b3d05b3a8059962cc Mon Sep 17 00:00:00 2001
From: Christophe Marin <christophe@krop.fr>
Date: Wed, 9 Oct 2024 12:27:14 +0200
Subject: [PATCH] Fix build on x86 arch
With GCC 14, build fails with:
/usr/lib/gcc/i586-suse-linux/14/include/xmmintrin.h:190:1: error: inlining failed in call to always_inline _mm_add_ps(float __vector(4), float __vector(4)): target specific option mismatch
---
src/resonance-audio/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/resonance-audio/CMakeLists.txt b/src/resonance-audio/CMakeLists.txt
index 7690ae2..3abaa99 100644
--- a/src/resonance-audio/CMakeLists.txt
+++ b/src/resonance-audio/CMakeLists.txt
@@ -233,7 +233,7 @@ qt_internal_extend_target(BundledResonanceAudio CONDITION (${CMAKE_SYSTEM_PROCES
# Use fallback mode if SSE is not available
qt_internal_extend_target(BundledResonanceAudio CONDITION (${CMAKE_SYSTEM_PROCESSOR} MATCHES "i[3-6]86(-AT386)?$")
COMPILE_OPTIONS
- -DPFFFT_SIMD_DISABLE
+ -DPFFFT_SIMD_DISABLE -DDISABLE_SIMD
)
qt_disable_warnings(BundledResonanceAudio)

View File

@ -1,3 +1,30 @@
-------------------------------------------------------------------
Wed Jan 22 17:22:19 UTC 2025 - Antonio Larrosa <alarrosa@suse.com>
- Fix license.
-------------------------------------------------------------------
Mon Dec 2 13:02:07 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 6.8.1:
* https://www.qt.io/blog/qt-6.8.1-released
-------------------------------------------------------------------
Tue Oct 8 09:29:46 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 6.8.0:
* https://www.qt.io/blog/qt-6.8-released
- Add patch to fix build on x86:
* 0001-Fix-build-on-x86-arch.patch
- Add patch to use system Eigen headers
* 0001-Build-with-system-eigen-3.patch
-------------------------------------------------------------------
Sat Sep 28 08:23:01 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 6.7.3
* https://www.qt.io/blog/qt-6.7.3-released
-------------------------------------------------------------------
Wed Jun 19 07:25:49 UTC 2024 - Christophe Marin <christophe@krop.fr>

View File

@ -1,7 +1,7 @@
#
# spec file for package qt6-multimedia
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -16,8 +16,8 @@
#
%define real_version 6.7.2
%define short_version 6.7
%define real_version 6.8.1
%define short_version 6.8
%define short_name qtmultimedia
%define tar_name qtmultimedia-everywhere-src
%define tar_suffix %{nil}
@ -28,13 +28,17 @@
%endif
#
Name: qt6-multimedia%{?pkg_suffix}
Version: 6.7.2
Version: 6.8.1
Release: 0
Summary: Qt 6 Multimedia libraries
License: GPL-3.0-or-later
License: GPL-3.0-only
URL: https://www.qt.io
Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz
Source1: qt6-multimedia-rpmlintrc
# PATCH-FIX-OPENSUSE -- Disable SIMD on x86 again
Patch0: 0001-Fix-build-on-x86-arch.patch
# PATCH-FIX-OPENSUSE -- Use system eigen 3
Patch1: 0001-Build-with-system-eigen-3.patch
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel
@ -53,17 +57,19 @@ BuildRequires: cmake(Qt6QuickTest) = %{real_version}
BuildRequires: cmake(Qt6ShaderTools) = %{real_version}
BuildRequires: cmake(Qt6Svg) = %{real_version}
BuildRequires: cmake(Qt6Widgets) = %{real_version}
BuildRequires: pkgconfig(eigen3) >= 3.4.0
# GStreamer may cause high latencies and is not the default anymore for desktops
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-app-1.0)
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0)
# GStreamer may cause high latencies, enable the ffmpeg backend
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libswresample)
BuildRequires: pkgconfig(libswscale)
@ -216,12 +222,16 @@ This library does not have any ABI or API guarantees.
%prep
%autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix}
# Use system eigen3
rm -r ./src/3rdparty/eigen
%build
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
%cmake_qt6 \
-DINPUT_gstreamer:BOOL=ON \
-DINPUT_ffmpeg:BOOL=ON
-DQT_GENERATE_SBOM:BOOL=FALSE \
-DINPUT_gstreamer:BOOL=TRUE \
-DINPUT_ffmpeg:BOOL=TRUE
%{qt6_build}
@ -239,13 +249,21 @@ rm %{buildroot}%{_qt6_cmakedir}/*/*Plugin{Config,Targets}*.cmake
# The GstreamerMediaPlugin library has a limited usage outside of Qt development
# (needed to create unit tests for the gstreamer plugin)
rm %{buildroot}%{_qt6_cmakedir}/Qt6Multimedia/Qt6QGstreamerMediaPluginAdditionalTargetInfo.cmake
rm %{buildroot}%{_qt6_descriptionsdir}/QGstreamerMediaPluginPrivate.json
rm %{buildroot}%{_qt6_libdir}/libQt6QGstreamerMediaPlugin.a
rm %{buildroot}%{_qt6_libdir}/libQt6QGstreamerMediaPlugin.prl
rm %{buildroot}%{_qt6_metatypesdir}/qt6qgstreamermediapluginprivate_*_metatypes.json
rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_qgstreamermediaplugin_private.pri
rm -r %{buildroot}%{_qt6_cmakedir}/Qt6QGstreamerMediaPluginPrivate/
rm -r %{buildroot}%{_qt6_includedir}/QtQGstreamerMediaPlugin/
rm %{buildroot}%{_qt6_descriptionsdir}/QGstreamerMediaPluginImplPrivate.json
rm %{buildroot}%{_qt6_libdir}/libQt6QGstreamerMediaPluginImpl.a
rm %{buildroot}%{_qt6_libdir}/libQt6QGstreamerMediaPluginImpl.prl
rm %{buildroot}%{_qt6_metatypesdir}/qt6qgstreamermediapluginimplprivate_*_metatypes.json
rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_qgstreamermediapluginimpl_private.pri
rm -r %{buildroot}%{_qt6_cmakedir}/Qt6QGstreamerMediaPluginImplPrivate/
rm -r %{buildroot}%{_qt6_includedir}/QtQGstreamerMediaPluginImpl/
# Same thing for the testlib
rm %{buildroot}%{_qt6_libdir}/libQt6MultimediaTestLib.*
rm -r %{buildroot}%{_qt6_cmakedir}/Qt6MultimediaTestLibPrivate
rm -r %{buildroot}%{_qt6_descriptionsdir}/MultimediaTestLibPrivate.json
rm -r %{buildroot}%{_qt6_includedir}/QtMultimediaTestLib
rm -r %{buildroot}%{_qt6_metatypesdir}/qt6multimediatestlibprivate_relwithdebinfo_metatypes.json
rm -r %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_multimediatestlibprivate_private.pri
%ldconfig_scriptlets -n libQt6Multimedia6
%ldconfig_scriptlets -n libQt6MultimediaQuick6
@ -271,6 +289,7 @@ rm -r %{buildroot}%{_qt6_includedir}/QtQGstreamerMediaPlugin/
%{_qt6_cmakedir}/Qt6/FindGStreamer.cmake
%{_qt6_cmakedir}/Qt6/FindMMRenderer.cmake
%{_qt6_cmakedir}/Qt6/FindMMRendererCore.cmake
%{_qt6_cmakedir}/Qt6/FindPipeWire.cmake
%{_qt6_cmakedir}/Qt6/FindVAAPI.cmake
%{_qt6_cmakedir}/Qt6/FindWMF.cmake
%{_qt6_cmakedir}/Qt6/FindWrapPulseAudio.cmake

BIN
qtmultimedia-everywhere-src-6.7.2.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
qtmultimedia-everywhere-src-6.8.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.