2022-09-30 18:33:02 +00:00
committed by Git OBS Bridge
parent d12287bf57
commit 912312ae8f
5 changed files with 183 additions and 11 deletions

View File

@@ -0,0 +1,43 @@
From 01f59c31a729b7253a914939d591663983235b25 Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
Date: Thu, 21 Jul 2022 09:02:00 +0200
Subject: [PATCH] 3rdparty: Fix build on unsupported platforms
PPC, PPC64 and x86 require additional build flags to use pffft and eigen.
---
src/resonance-audio/CMakeLists.txt | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/resonance-audio/CMakeLists.txt b/src/resonance-audio/CMakeLists.txt
index 1d26cfd..1c36c87 100644
--- a/src/resonance-audio/CMakeLists.txt
+++ b/src/resonance-audio/CMakeLists.txt
@@ -206,6 +206,25 @@ qt_internal_add_3rdparty_library(BundledResonanceAudio
${SADIE_HRTFS_DIR}
../3rdparty/eigen
)
+
+# Required by pffft on certain PowerPC archs
+qt_internal_extend_target(BundledResonanceAudio CONDITION GCC AND (${CMAKE_SYSTEM_PROCESSOR} MATCHES "(ppc|ppc64)$")
+ COMPILE_OPTIONS
+ -maltivec
+)
+
+# Required by eigen on certain PowerPC archs
+qt_internal_extend_target(BundledResonanceAudio CONDITION (${CMAKE_SYSTEM_PROCESSOR} MATCHES "(ppc|ppc64)$")
+ COMPILE_OPTIONS
+ -mvsx
+)
+
+# Use fallback mode where SSE is not available
+qt_internal_extend_target(BundledResonanceAudio CONDITION (${CMAKE_SYSTEM_PROCESSOR} MATCHES "i[3-6]86$")
+ COMPILE_OPTIONS
+ -DPFFFT_SIMD_DISABLE
+)
+
qt_disable_warnings(BundledResonanceAudio)
qt_set_symbol_visibility_hidden(BundledResonanceAudio)
--
2.37.0

View File

@@ -1,3 +1,18 @@
-------------------------------------------------------------------
Thu Sep 29 10:35:55 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 6.4.0:
* https://www.qt.io/blog/qt-6.4-released
-------------------------------------------------------------------
Fri Sep 16 08:29:11 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 6.4.0 RC
- Enable the FFmpeg backend for better latencies
- Use PulseAudio rather than Alsa for building qt6-multimedia
- Add patch to fix build on PowerPC and x86:
* 0001-3rdparty-Fix-build-on-unsupported-platforms.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 9 12:41:39 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr> Fri Sep 9 12:41:39 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>

View File

@@ -16,8 +16,8 @@
# #
%define real_version 6.3.2 %define real_version 6.4.0
%define short_version 6.3 %define short_version 6.4
%define short_name qtmultimedia %define short_name qtmultimedia
%define tar_name qtmultimedia-everywhere-src %define tar_name qtmultimedia-everywhere-src
%define tar_suffix %{nil} %define tar_suffix %{nil}
@@ -28,18 +28,21 @@
%endif %endif
# #
Name: qt6-multimedia%{?pkg_suffix} Name: qt6-multimedia%{?pkg_suffix}
Version: 6.3.2 Version: 6.4.0
Release: 0 Release: 0
Summary: Qt 6 Multimedia libraries Summary: Qt 6 Multimedia libraries
License: GPL-3.0-or-later License: GPL-3.0-or-later
URL: https://www.qt.io URL: https://www.qt.io
Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source: 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 Source1: qt6-multimedia-rpmlintrc
# PATCH-FIX-OPENSUSE
Patch0: 0001-3rdparty-Fix-build-on-unsupported-platforms.patch
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: qt6-core-private-devel BuildRequires: qt6-core-private-devel
BuildRequires: qt6-gui-private-devel BuildRequires: qt6-gui-private-devel
BuildRequires: qt6-quick-private-devel BuildRequires: qt6-quick-private-devel
BuildRequires: qt6-quick3d-private-devel
BuildRequires: qt6-widgets-private-devel BuildRequires: qt6-widgets-private-devel
BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Gui)
@@ -47,6 +50,7 @@ BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6OpenGL) BuildRequires: cmake(Qt6OpenGL)
BuildRequires: cmake(Qt6Qml) BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6Quick) BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6Quick3D)
BuildRequires: cmake(Qt6QuickControls2) BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6QuickTest) BuildRequires: cmake(Qt6QuickTest)
BuildRequires: cmake(Qt6ShaderTools) BuildRequires: cmake(Qt6ShaderTools)
@@ -58,9 +62,15 @@ BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0) BuildRequires: pkgconfig(gstreamer-plugins-bad-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0)
# gstreamer, alsa and pulseaudio are conflicting. gstreamer is the default # GStreamer may cause high latencies, enable the ffmpeg backend
# BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(libavcodec)
# BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libswresample)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libva)
%if "%{qt6_flavor}" == "docs" %if "%{qt6_flavor}" == "docs"
BuildRequires: qt6-tools BuildRequires: qt6-tools
%{qt6_doc_packages} %{qt6_doc_packages}
@@ -126,6 +136,29 @@ Requires: cmake(Qt6MultimediaWidgets) = %{real_version}
This package provides private headers of libQt6MultimediaWidgets that do not This package provides private headers of libQt6MultimediaWidgets that do not
have any ABI or API guarantees. have any ABI or API guarantees.
%package -n libQt6SpatialAudio6
Summary: Qt 6 SpatialAudio library
%description -n libQt6SpatialAudio6
The Qt 6 SpatialAudio library.
%package -n qt6-spatialaudio-devel
Summary: Qt 6 SpatialAudio library - Development files
Requires: libQt6SpatialAudio6 = %{version}
Requires: cmake(Qt6Gui)
Requires: cmake(Qt6Network)
%description -n qt6-spatialaudio-devel
Development files for the Qt 6 SpatialAudio library.
%package -n qt6-spatialaudio-private-devel
Summary: Non-ABI stable API for the Qt 6 SpatialAudio Library
Requires: cmake(Qt6SpatialAudio) = %{real_version}
%description -n qt6-spatialaudio-private-devel
This package provides private headers of libQt6SpatialAudio that do not have any
ABI or API guarantees.
### Private only library ### ### Private only library ###
%package -n libQt6MultimediaQuick6 %package -n libQt6MultimediaQuick6
@@ -145,6 +178,33 @@ Requires: cmake(Qt6Quick)
Development files for the Qt 6 Multimedia private library. Development files for the Qt 6 Multimedia private library.
This library does not have any ABI or API guarantees. This library does not have any ABI or API guarantees.
%package -n libQt6Quick3DSpatialAudio6
Summary: Qt 6 Quick3DSpatialAudio library
%description -n libQt6Quick3DSpatialAudio6
The Qt 6 Quick3DSpatialAudio library.
This library does not have any ABI or API guarantees.
%package -n qt6-quick3dspatialaudio-private-devel
Summary: Qt 6 Quick3DSpatialAudio library - Development files
Requires: libQt6Quick3DSpatialAudio6 = %{version}
Requires: qt6-multimedia-private-devel = %{version}
Requires: cmake(Qt6Quick)
%description -n qt6-quick3dspatialaudio-private-devel
Development files for the Qt 6 Quick3DSpatialAudio private library.
This library does not have any ABI or API guarantees.
### Static libraries ###
%package -n qt6-bundledresonanceaudio-devel-static
Summary: Qt6 BundledResonanceAudio static library
%requires_eq qt6-core-private-devel
%description -n qt6-bundledresonanceaudio-devel-static
The Qt6 BundledResonanceAudio static library.
This library does not have any ABI or API guarantees.
%{qt6_examples_package} %{qt6_examples_package}
%endif %endif
@@ -153,7 +213,10 @@ This library does not have any ABI or API guarantees.
%autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix} %autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix}
%build %build
%cmake_qt6 %define _lto_cflags %{nil}
%cmake_qt6 \
-DINPUT_gstreamer:BOOL=ON \
-DINPUT_ffmpeg:BOOL=ON
%{qt6_build} %{qt6_build}
@@ -166,26 +229,38 @@ This library does not have any ABI or API guarantees.
# CMake files are not needed for plugins # CMake files are not needed for plugins
rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Qml/QmlPlugins rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Qml/QmlPlugins
rm %{buildroot}%{_qt6_cmakedir}/*/*Plugin{Config,Targets}*.cmake
%post -n libQt6Multimedia6 -p /sbin/ldconfig %post -n libQt6Multimedia6 -p /sbin/ldconfig
%post -n libQt6MultimediaQuick6 -p /sbin/ldconfig %post -n libQt6MultimediaQuick6 -p /sbin/ldconfig
%post -n libQt6MultimediaWidgets6 -p /sbin/ldconfig %post -n libQt6MultimediaWidgets6 -p /sbin/ldconfig
%post -n libQt6Quick3DSpatialAudio6 -p /sbin/ldconfig
%post -n libQt6SpatialAudio6 -p /sbin/ldconfig
%postun -n libQt6Multimedia6 -p /sbin/ldconfig %postun -n libQt6Multimedia6 -p /sbin/ldconfig
%postun -n libQt6MultimediaQuick6 -p /sbin/ldconfig %postun -n libQt6MultimediaQuick6 -p /sbin/ldconfig
%postun -n libQt6MultimediaWidgets6 -p /sbin/ldconfig %postun -n libQt6MultimediaWidgets6 -p /sbin/ldconfig
%postun -n libQt6Quick3DSpatialAudio6 -p /sbin/ldconfig
%postun -n libQt6SpatialAudio6 -p /sbin/ldconfig
%files
%{_qt6_pluginsdir}/multimedia/
%files imports %files imports
%{_qt6_qmldir}/QtMultimedia/ %{_qt6_qmldir}/QtMultimedia/
%{_qt6_qmldir}/QtQuick3D/
%files -n libQt6Multimedia6 %files -n libQt6Multimedia6
%license LICENSE.* %license LICENSES/*
%{_qt6_libdir}/libQt6Multimedia.so.* %{_qt6_libdir}/libQt6Multimedia.so.*
%files devel %files devel
%{_qt6_cmakedir}/Qt6/FindAVFoundation.cmake %{_qt6_cmakedir}/Qt6/FindAVFoundation.cmake
%{_qt6_cmakedir}/Qt6/FindFFmpeg.cmake
%{_qt6_cmakedir}/Qt6/FindGObject.cmake %{_qt6_cmakedir}/Qt6/FindGObject.cmake
%{_qt6_cmakedir}/Qt6/FindGStreamer.cmake %{_qt6_cmakedir}/Qt6/FindGStreamer.cmake
%{_qt6_cmakedir}/Qt6/FindMMRenderer.cmake %{_qt6_cmakedir}/Qt6/FindMMRenderer.cmake
%{_qt6_cmakedir}/Qt6/FindMMRendererCore.cmake
%{_qt6_cmakedir}/Qt6/FindVAAPI.cmake
%{_qt6_cmakedir}/Qt6/FindWMF.cmake %{_qt6_cmakedir}/Qt6/FindWMF.cmake
%{_qt6_cmakedir}/Qt6/FindWrapPulseAudio.cmake %{_qt6_cmakedir}/Qt6/FindWrapPulseAudio.cmake
%{_qt6_cmakedir}/Qt6BuildInternals/StandaloneTests/QtMultimediaTestsConfig.cmake %{_qt6_cmakedir}/Qt6BuildInternals/StandaloneTests/QtMultimediaTestsConfig.cmake
@@ -221,6 +296,26 @@ rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Qml/QmlPlugins
%{_qt6_includedir}/QtMultimediaWidgets/%{real_version} %{_qt6_includedir}/QtMultimediaWidgets/%{real_version}
%{_qt6_mkspecsdir}/modules/qt_lib_multimediawidgets_private.pri %{_qt6_mkspecsdir}/modules/qt_lib_multimediawidgets_private.pri
%files -n libQt6SpatialAudio6
%{_qt6_libdir}/libQt6SpatialAudio.so.*
%files -n qt6-spatialaudio-devel
%{_qt6_cmakedir}/Qt6SpatialAudio/
%{_qt6_descriptionsdir}/SpatialAudio.json
%{_qt6_includedir}/QtSpatialAudio/
%{_qt6_libdir}/libQt6SpatialAudio.prl
%{_qt6_libdir}/libQt6SpatialAudio.so
%{_qt6_metatypesdir}/qt6spatialaudio_*_metatypes.json
%{_qt6_mkspecsdir}/modules/qt_lib_spatialaudio.pri
%{_qt6_pkgconfigdir}/Qt6SpatialAudio.pc
%exclude %{_qt6_includedir}/QtSpatialAudio/%{real_version}
%files -n qt6-spatialaudio-private-devel
%{_qt6_includedir}/QtSpatialAudio/%{real_version}
%{_qt6_mkspecsdir}/modules/qt_lib_spatialaudio_private.pri
### Private only library ### ### Private only library ###
%files -n libQt6MultimediaQuick6 %files -n libQt6MultimediaQuick6
@@ -235,6 +330,25 @@ rm -r %{buildroot}%{_qt6_cmakedir}/Qt6Qml/QmlPlugins
%{_qt6_metatypesdir}/qt6multimediaquickprivate_*_metatypes.json %{_qt6_metatypesdir}/qt6multimediaquickprivate_*_metatypes.json
%{_qt6_mkspecsdir}/modules/qt_lib_multimediaquick_private.pri %{_qt6_mkspecsdir}/modules/qt_lib_multimediaquick_private.pri
%files -n libQt6Quick3DSpatialAudio6
%{_qt6_libdir}/libQt6Quick3DSpatialAudio.so.*
%files -n qt6-quick3dspatialaudio-private-devel
%{_qt6_cmakedir}/Qt6Quick3DSpatialAudioPrivate/
%{_qt6_descriptionsdir}/Quick3DSpatialAudioPrivate.json
%{_qt6_includedir}/QtQuick3DSpatialAudio/
%{_qt6_libdir}/libQt6Quick3DSpatialAudio.prl
%{_qt6_libdir}/libQt6Quick3DSpatialAudio.so
%{_qt6_metatypesdir}/qt6quick3dspatialaudioprivate_*_metatypes.json
%{_qt6_mkspecsdir}/modules/qt_lib_quick3dspatialaudio_private.pri
### Static libraries ###
%files -n qt6-bundledresonanceaudio-devel-static
%{_qt6_cmakedir}/Qt6/FindWrapBundledResonanceAudioConfigExtra.cmake
%{_qt6_cmakedir}/Qt6BundledResonanceAudio/
%{_qt6_libdir}/libQt6BundledResonanceAudio.a
%endif %endif
%changelog %changelog

View File

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

View File

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