diff --git a/0001-Build-with-system-eigen-3.patch b/0001-Build-with-system-eigen-3.patch new file mode 100644 index 0000000..2ac9611 --- /dev/null +++ b/0001-Build-with-system-eigen-3.patch @@ -0,0 +1,60 @@ +From f98aa561abc6d36edf0590f3397100180d842cab Mon Sep 17 00:00:00 2001 +From: Christophe Marin +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 + diff --git a/0001-Fix-build-on-x86-arch.patch b/0001-Fix-build-on-x86-arch.patch new file mode 100644 index 0000000..0e0a3f8 --- /dev/null +++ b/0001-Fix-build-on-x86-arch.patch @@ -0,0 +1,28 @@ +From 610d7280ad1db68be49cb26b3d05b3a8059962cc Mon Sep 17 00:00:00 2001 +From: Christophe Marin +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 0fa9dec..1eff0a3 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$") + COMPILE_OPTIONS +- -DPFFFT_SIMD_DISABLE ++ -DPFFFT_SIMD_DISABLE -DDISABLE_SIMD + ) + + qt_disable_warnings(BundledResonanceAudio) +-- +2.46.1 + diff --git a/qt6-multimedia.changes b/qt6-multimedia.changes index c17756a..ff4e783 100644 --- a/qt6-multimedia.changes +++ b/qt6-multimedia.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Oct 8 09:29:46 UTC 2024 - Christophe Marin + +- 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 diff --git a/qt6-multimedia.spec b/qt6-multimedia.spec index 817a66c..1e44de4 100644 --- a/qt6-multimedia.spec +++ b/qt6-multimedia.spec @@ -1,7 +1,7 @@ # # spec file for package qt6-multimedia # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 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.3 -%define short_version 6.7 +%define real_version 6.8.0 +%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.3 +Version: 6.8.0 Release: 0 Summary: Qt 6 Multimedia libraries License: GPL-3.0-or-later 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,6 +222,9 @@ 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 @@ -271,6 +280,7 @@ rm -r %{buildroot}%{_qt6_includedir}/QtQGstreamerMediaPluginImpl/ %{_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 diff --git a/qtmultimedia-everywhere-src-6.7.3.tar.xz b/qtmultimedia-everywhere-src-6.7.3.tar.xz deleted file mode 100644 index 4250bb5..0000000 --- a/qtmultimedia-everywhere-src-6.7.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:304d28b8e592435293893b0110d5f3534407604d1e04d8a0b0e5b34afe577303 -size 9360356 diff --git a/qtmultimedia-everywhere-src-6.8.0.tar.xz b/qtmultimedia-everywhere-src-6.8.0.tar.xz new file mode 100644 index 0000000..096b34a --- /dev/null +++ b/qtmultimedia-everywhere-src-6.8.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28766aa562fa7aa7dfa8420defd6ece90a891a0496b8d8a4c51958182d73cfcd +size 9591692