diff --git a/qt6-qtmultimedia.spec b/qt6-qtmultimedia.spec new file mode 100644 index 0000000..8b91a1d --- /dev/null +++ b/qt6-qtmultimedia.spec @@ -0,0 +1,151 @@ +%global qt_module qtmultimedia + +%global openal 0 + +%global examples 1 + +%define short_version 6.5 + +Summary: Qt6 - Multimedia support +Name: qt6-%{qt_module} +Version: 6.5.0 +Release: 1 + +# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details +License: LGPLv2 with exceptions or GPLv3 with exceptions +Url: http://www.qt.io +Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{version}/submodules/%{qt_module}-everywhere-src-%{version}.tar.xz + +# filter plugin/qml provides +%global __provides_exclude_from ^(%{_qt6_archdatadir}/qml/.*\\.so|%{_qt6_plugindir}/.*\\.so)$ + +BuildRequires: cmake +BuildRequires: gcc-c++ +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: pkgconfig(alsa) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-app-1.0) +BuildRequires: pkgconfig(gstreamer-audio-1.0) +BuildRequires: pkgconfig(gstreamer-base-1.0) +BuildRequires: pkgconfig(gstreamer-pbutils-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gstreamer-video-1.0) +BuildRequires: pkgconfig(libpulse) pkgconfig(libpulse-mainloop-glib) +%if 0%{?openal} +BuildRequires: pkgconfig(openal) +%endif +BuildRequires: pkgconfig(xv) +BuildRequires: pkgconfig(xkbcommon) >= 0.5.0 +BuildRequires: openssl-devel +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} +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 + +%prep +%autosetup -n %{qt_module}-everywhere-src-%{version} -p1 + + +%build +%cmake_qt6 -DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF} +cmake --build . %{?_smp_mflags} --verbose + +%install +DESTDIR="%{buildroot}" cmake --install . + +## .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 + + +%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_qmldir}/QtMultimedia/ +%dir %{_qt6_libdir}/cmake/Qt6MultimediaWidgets/ + +%files devel +%{_qt6_headerdir}/QtMultimedia/ +%{_qt6_headerdir}/QtMultimediaQuick/ +%{_qt6_headerdir}/QtMultimediaWidgets/ +%{_qt6_headerdir}/QtSpatialAudio/ +%{_qt6_libdir}/libQt6BundledResonanceAudio.a +%{_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}/cmake/Qt6/*.cmake +%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6BundledResonanceAudio/ +%{_qt6_libdir}/cmake/Qt6BundledResonanceAudio/*.cmake +%dir %{_qt6_libdir}/cmake/Qt6MultimediaQuickPrivate +%{_qt6_libdir}/cmake/Qt6MultimediaQuickPrivate +%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/Qt6Qml/QmlPlugins +%{_qt6_libdir}/cmake/Qt6Qml/QmlPlugins/*.cmake +%{_qt6_mkspecsdir}/modules/*.pri +%{_qt6_archdatadir}/metatypes/qt6*_metatypes.json +%{_qt6_archdatadir}/modules/*.json +%{_qt6_libdir}/pkgconfig/*.pc +%{_qt6_plugindir}/multimedia/libgstreamermediaplugin.so + +%if 0%{?examples} +%files examples +%{_qt6_examplesdir}/ +%endif + + +%changelog +* Fri May 5 2023 EastDong - 6.5.0-1 +- update package + +* Thu Dec 01 2022 Jingwiw - 6.4.0-1 +- init package diff --git a/qt6-qtmultimedia.yaml b/qt6-qtmultimedia.yaml new file mode 100644 index 0000000..56f084f --- /dev/null +++ b/qt6-qtmultimedia.yaml @@ -0,0 +1,4 @@ +version_control: git +src_repo: https://code.qt.io/qt/qtmultimedia.git +tag_prefix: "^v" +separator: "." diff --git a/qtmultimedia-everywhere-src-6.5.0.tar.xz b/qtmultimedia-everywhere-src-6.5.0.tar.xz new file mode 100644 index 0000000..bc9ee69 Binary files /dev/null and b/qtmultimedia-everywhere-src-6.5.0.tar.xz differ