commit d74553496a6c668a58d072439f8aeec801181abe Author: MSVSphere Packaging Team Date: Fri Oct 25 19:00:43 2024 +0300 import qt6-qtmultimedia-6.7.1-3.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93bc3ab --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/qtmultimedia-everywhere-src-6.7.1.tar.xz diff --git a/.qt6-qtmultimedia.metadata b/.qt6-qtmultimedia.metadata new file mode 100644 index 0000000..5cca8cf --- /dev/null +++ b/.qt6-qtmultimedia.metadata @@ -0,0 +1 @@ +000c00272c56be54e734e542d96639db09672d3c SOURCES/qtmultimedia-everywhere-src-6.7.1.tar.xz diff --git a/SPECS/qt6-qtmultimedia.spec b/SPECS/qt6-qtmultimedia.spec new file mode 100644 index 0000000..d26b16e --- /dev/null +++ b/SPECS/qt6-qtmultimedia.spec @@ -0,0 +1,363 @@ + +%global qt_module qtmultimedia + +%global gst 0.10 +%if 0%{?fedora} || 0%{?rhel} > 7 +%global gst 1.0 +%endif + +%if 0%{?rhel} && ! 0%{?epel} +%bcond_with ffmpeg +%else +%bcond_without ffmpeg +%endif + +#global unstable 1 +%if 0%{?unstable} +%global prerelease rc2 +%endif + +%global examples 1 +%global build_tests 1 + +Summary: Qt6 - Multimedia support +Name: qt6-%{qt_module} +Version: 6.7.1 +Release: 3%{?dist} + +License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +Url: http://www.qt.io +%global majmin %(echo %{version} | cut -d. -f1-2) +%global qt_version %(echo %{version} | cut -d~ -f1) + +%if 0%{?unstable} +Source0: https://download.qt.io/development_releases/qt/%{majmin}/%{qt_version}/submodules/%{qt_module}-everywhere-src-%{qt_version}-%{prerelease}.tar.xz +%else +Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz +%endif + +# upstream patches + + +# filter plugin/qml provides +%global __provides_exclude_from ^(%{_qt6_archdatadir}/qml/.*\\.so|%{_qt6_plugindir}/.*\\.so)$ + +BuildRequires: cmake +BuildRequires: gcc-c++ +%if 0%{?rhel} && 0%{?rhel} < 10 +BuildRequires: gcc-toolset-13 +%endif +BuildRequires: ninja-build +BuildRequires: qt6-rpm-macros +BuildRequires: qt6-qtbase-devel >= %{version} +BuildRequires: qt6-qtbase-private-devel +%{?_qt6:Requires: %{_qt6}%{?_isa} = %{_qt6_version}} +BuildRequires: qt6-qtdeclarative-devel >= %{version} +BuildRequires: qt6-qtshadertools-devel >= %{version} +BuildRequires: qt6-qtquick3d-devel >= %{version} +BuildRequires: pkgconfig(alsa) +%if "%{?gst}" == "0.10" +BuildRequires: pkgconfig(gstreamer-interfaces-0.10) +%endif +BuildRequires: pkgconfig(gstreamer-%{gst}) +BuildRequires: pkgconfig(gstreamer-app-%{gst}) +BuildRequires: pkgconfig(gstreamer-audio-%{gst}) +BuildRequires: pkgconfig(gstreamer-base-%{gst}) +BuildRequires: pkgconfig(gstreamer-pbutils-%{gst}) +BuildRequires: pkgconfig(gstreamer-plugins-bad-%{gst}) +BuildRequires: pkgconfig(gstreamer-video-%{gst}) +BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib) +%if %{with ffmpeg} +BuildRequires: ffmpeg-free-devel +BuildRequires: libavcodec-free-devel +BuildRequires: libavutil-free-devel +BuildRequires: libavformat-free-devel +BuildRequires: libswscale-free-devel +BuildRequires: libswresample-free-devel +BuildRequires: pkgconfig(libva) pkgconfig(libva-drm) +%endif +BuildRequires: pkgconfig(xrandr) +BuildRequires: pkgconfig(xv) +BuildRequires: pkgconfig(xkbcommon) >= 0.5.0 +BuildRequires: openssl-devel +# workaround missing dep +# /usr/include/gstreamer-1.0/gst/gl/wayland/gstgldisplay_wayland.h:26:10: fatal error: wayland-client.h: No such file or directory +BuildRequires: wayland-devel + +%description +The Qt Multimedia module provides a rich feature set that enables you to +easily take advantage of a platforms multimedia capabilites and hardware. +This ranges from the playback and recording of audio and video content to +the use of available devices like cameras and radios. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt6-qtbase-devel%{?_isa} +Requires: qt6-qtdeclarative-devel%{?_isa} +# Qt6Multimedia.pc containts: +# Libs.private: ... -lpulse-mainloop-glib -lpulse -lglib-2.0 +Requires: pkgconfig(libpulse-mainloop-glib) +%description devel +%{summary}. + +%if 0%{?examples} +%package examples +Summary: Programming examples for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +# BuildRequires: qt6-qtmultimedia-devel >= %{version} +%description examples +%{summary}. +%endif + +%if 0%{?build_tests} +%package tests +Summary: Unit tests for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +%{summary}. +%endif + +%prep +%autosetup -n %{qt_module}-everywhere-src-%{qt_version}%{?unstable:-%{prerelease}} -p1 + + +%build +%if 0%{?rhel} && 0%{?rhel} < 10 +. /opt/rh/gcc-toolset-13/enable +%endif + +%cmake_qt6 \ + -DQT_FEATURE_alsa=ON \ + -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF} \ + -DQT_BUILD_TESTS=%{?build_tests:ON}%{!?build_tests:OFF} \ + -DQT_INSTALL_EXAMPLES_SOURCES=%{?examples:ON}%{!?examples:OFF} + +%if 0%{?build_tests} +%qt6_fix_tests +%endif + +%cmake_build + + +%install +%if 0%{?build_tests} +%qt6_dont_autoinstall_tests +%endif + +%cmake_install + +%if 0%{?build_tests} +%qt6_install_tests +%endif + +## .prl/.la file love +# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs +pushd %{buildroot}%{_qt6_libdir} +for prl_file in *.prl ; do + sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file} + if [ -f "$(basename ${prl_file} .prl).so" ]; then + rm -fv "$(basename ${prl_file} .prl).la" + sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file} + fi +done +popd + +rm -rf %{buildroot}%{_qt6_plugindir}/multimedia/libmockmultimediaplugin.prl + +%ldconfig_scriptlets + +%files +%license LICENSES/* +%{_qt6_libdir}/libQt6Multimedia.so.6* +%{_qt6_libdir}/libQt6MultimediaQuick.so.6* +%{_qt6_libdir}/libQt6MultimediaWidgets.so.6* +%{_qt6_libdir}/libQt6SpatialAudio.so.6* +%{_qt6_libdir}/libQt6Quick3DSpatialAudio.so.6* +%{_qt6_archdatadir}/qml/QtMultimedia/ +%dir %{_qt6_archdatadir}/qml/QtQuick3D/SpatialAudio +%{_qt6_archdatadir}/qml/QtQuick3D/SpatialAudio/ +%dir %{_qt6_plugindir}/multimedia +%{_qt6_plugindir}/multimedia/libgstreamermediaplugin.so +%if %{with ffmpeg} +%{_qt6_plugindir}/multimedia/libffmpegmediaplugin.so +%endif + +%files devel +%{_qt6_headerdir}/QtQGstreamerMediaPlugin/ +%{_qt6_headerdir}/QtMultimedia/ +%{_qt6_headerdir}/QtMultimediaQuick/ +%{_qt6_headerdir}/QtMultimediaWidgets/ +%{_qt6_headerdir}/QtSpatialAudio/ +%{_qt6_headerdir}/QtQuick3DSpatialAudio/ +%{_qt6_libdir}/libQt6BundledResonanceAudio.a +%{_qt6_libdir}/libQt6QGstreamerMediaPlugin.a +%{_qt6_libdir}/libQt6QGstreamerMediaPlugin.prl +%{_qt6_libdir}/libQt6Multimedia.so +%{_qt6_libdir}/libQt6Multimedia.prl +%{_qt6_libdir}/libQt6MultimediaQuick.so +%{_qt6_libdir}/libQt6MultimediaQuick.prl +%{_qt6_libdir}/libQt6MultimediaWidgets.so +%{_qt6_libdir}/libQt6MultimediaWidgets.prl +%{_qt6_libdir}/libQt6SpatialAudio.so +%{_qt6_libdir}/libQt6SpatialAudio.prl +%{_qt6_libdir}/libQt6Quick3DSpatialAudio.so +%{_qt6_libdir}/libQt6Quick3DSpatialAudio.prl +%{_qt6_libdir}/cmake/Qt6/*.cmake +%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6BundledResonanceAudio/ +%{_qt6_libdir}/cmake/Qt6BundledResonanceAudio/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6QGstreamerMediaPluginPrivate/ +%{_qt6_libdir}/cmake/Qt6QGstreamerMediaPluginPrivate/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6MultimediaQuickPrivate +%{_qt6_libdir}/cmake/Qt6MultimediaQuickPrivate/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6Multimedia +%{_qt6_libdir}/cmake/Qt6Multimedia/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6MultimediaWidgets +%{_qt6_libdir}/cmake/Qt6MultimediaWidgets/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6SpatialAudio/ +%{_qt6_libdir}/cmake/Qt6SpatialAudio/*cmake +%dir %{_qt6_libdir}/cmake/Qt6Quick3DSpatialAudioPrivate +%{_qt6_libdir}/cmake/Qt6Quick3DSpatialAudioPrivate/*cmake +%dir %{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins +%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake +%{_qt6_archdatadir}/mkspecs/modules/*.pri +%{_qt6_libdir}/qt6/metatypes/qt6*_metatypes.json +%{_qt6_libdir}/qt6/modules/*.json +%{_qt6_libdir}/pkgconfig/*.pc + + +%if 0%{?examples} +%files examples +%{_qt6_examplesdir}/ +%endif + +%if 0%{?build_tests} +%files tests +%{_qt6_archdatadir}/tests +%endif + +%changelog +* Mon Jun 24 2024 Troy Dawson - 6.7.1-3 +- Bump release for June 2024 mass rebuild + +* Tue Jun 04 2024 Jan Grulich - 6.7.1-2 +- Add rpminspect.yaml + Resolves: RHEL-36430 + +* Fri May 31 2024 Jan Grulich - 6.7.1-1 +- 6.7.1 + Resolves: RHEL-36430 + +* Mon Apr 22 2024 Jan Grulich - 6.7.0-2 +- Backport Qt 6.7.1 fix for ABI breakage + Resolves: RHEL-33606 + +* Fri Apr 19 2024 Jan Grulich - 6.7.0-1 +- 6.7.0 + Resolves: RHEL-27845 + Resolves: RHEL-31156 + +* Thu Mar 28 2024 Jan Grulich - 6.6.1-4 +- Add -tests subpackage with unit tests that can run in CI + Resolves: RHEL-28239 + +* Fri Jan 26 2024 Fedora Release Engineering - 6.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 6.6.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Nov 27 2023 Jan Grulich - 6.6.1-1 +- 6.6.1 + +* Tue Oct 10 2023 Jan Grulich - 6.6.0-1 +- 6.6.0 + +* Sun Oct 01 2023 Justin Zobel - 6.5.3-1 +- new version + +* Fri Jul 21 2023 Fedora Release Engineering - 6.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jul 21 2023 Jan Grulich - 6.5.2-1 +- 6.5.2 + +* Wed Jul 12 2023 Jan Grulich - 6.5.1-4 +- Rebuild for qtbase private API version change + +* Wed Jul 12 2023 Jan Grulich - 6.5.1-3 +- Rebuild for qtbase private API version change + +* Fri Jun 16 2023 Yaakov Selkowitz - 6.5.1-2 +- Drop unused openal-soft build dependency + +* Mon May 22 2023 Jan Grulich - 6.5.1-1 +- 6.5.1 + +* Tue Apr 04 2023 Jan Grulich - 6.5.0-1 +- 6.5.0 + +* Thu Mar 23 2023 Jan Grulich - 6.4.3-1 +- 6.4.3 + +* Sun Mar 12 2023 Neal Gompa - 6.4.2-4 +- Rebuild for ffmpeg 6.0 + +* Tue Jan 31 2023 Jan Grulich - 6.4.2-3 +- migrated to SPDX license + +* Fri Jan 20 2023 Fedora Release Engineering - 6.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Jan Grulich - 6.4.2-1 +- 6.4.2 + +* Mon Dec 05 2022 Jan Grulich - 6.4.1-3 +- Move plugins out of -devel subpackage + +* Fri Dec 02 2022 Jan Grulich - 6.4.1-2 +- Build FFmpeg plugin + +* Wed Nov 23 2022 Jan Grulich - 6.4.1-1 +- 6.4.1 + +* Mon Oct 31 2022 Jan Grulich - 6.4.0-1 +- 6.4.0 + +* Sat Jul 23 2022 Fedora Release Engineering - 6.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jul 13 2022 Jan Grulich - 6.3.1-1 +- 6.3.1 + +* Wed May 25 2022 Jan Grulich - 6.3.0-2 +- Enable examples + +* Wed Apr 13 2022 Jan Grulich - 6.3.0-1 +- 6.3.0 + +* Fri Feb 25 2022 Jan Grulich - 6.2.3-2 +- Enable s390x builds + +* Mon Jan 31 2022 Jan Grulich - 6.2.3-1 +- 6.2.3 + +* Fri Jan 21 2022 Fedora Release Engineering - 6.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Jan Grulich - 6.2.2-1 +- 6.2.2 + +* Fri Oct 29 2021 Jan Grulich - 6.2.1-1 +- 6.2.1 + +* Thu Sep 30 2021 Jan Grulich - 6.2.0-1 +- 6.2.0 + +* Mon Sep 27 2021 Jan Grulich - 6.2.0~rc2-1 +- 6.2.0 - rc2 + +* Thu Sep 16 2021 Jan Grulich - 6.2.0~rc-1 +- 6.2.0 - rc