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..29763c6 --- /dev/null +++ b/0001-Fix-build-on-x86-arch.patch @@ -0,0 +1,25 @@ +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 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) diff --git a/qt6-multimedia.changes b/qt6-multimedia.changes index c11ffc7..c8f30b0 100644 --- a/qt6-multimedia.changes +++ b/qt6-multimedia.changes @@ -1,3 +1,30 @@ +------------------------------------------------------------------- +Wed Jan 22 17:22:19 UTC 2025 - Antonio Larrosa + +- Fix license. + +------------------------------------------------------------------- +Mon Dec 2 13:02:07 UTC 2024 - Christophe Marin + +- 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 + +- 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 + +- 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 diff --git a/qt6-multimedia.spec b/qt6-multimedia.spec index b63e3fb..b6d3853 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) 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 diff --git a/qtmultimedia-everywhere-src-6.7.2.tar.xz b/qtmultimedia-everywhere-src-6.7.2.tar.xz deleted file mode 100644 index fad9ae2..0000000 --- a/qtmultimedia-everywhere-src-6.7.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ef835115acb9a1d3d2c9f23cfacb43f2c537e3786a8ab822299a2a7765651d3 -size 8451800 diff --git a/qtmultimedia-everywhere-src-6.8.1.tar.xz b/qtmultimedia-everywhere-src-6.8.1.tar.xz new file mode 100644 index 0000000..64cf36f --- /dev/null +++ b/qtmultimedia-everywhere-src-6.8.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75fa87134f9afab7f0a62c55a4744799ac79519560d19c8e1d4c32bdd173f953 +size 9664564