3 %bcond_without doc # Documentation
4 %bcond_without qm # QM translations
6 %define orgname qtmultimedia
7 %define qtbase_ver %{version}
8 %define qtdeclarative_ver %{version}
9 %define qttools_ver 5.9
10 Summary: The Qt5 Multimedia libraries
11 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia
15 License: LGPL v3 or GPL v2 or GPL v3 or commercial
17 Source0: https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-opensource-src-%{version}.tar.xz
18 # Source0-md5: 811b1f9c52c942e7b557ac4fa43a67bf
19 Source1: https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-opensource-src-%{version}.tar.xz
20 # Source1-md5: a7fe34c317fbba74a9f97c36679fec47
21 URL: https://www.qt.io/
22 BuildRequires: OpenAL-devel
23 BuildRequires: OpenGL-devel
24 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
25 BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
26 BuildRequires: Qt5Network-devel >= %{qtbase_ver}
27 BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
28 BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
29 BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
30 BuildRequires: Qt5Xml-devel >= %{qtbase_ver}
31 BuildRequires: alsa-lib-devel >= 1.0.10
32 BuildRequires: gstreamer-devel >= 1.0
33 BuildRequires: gstreamer-gl-devel >= 1.0
34 BuildRequires: gstreamer-plugins-base-devel >= 1.0
35 BuildRequires: pulseaudio-devel >= 0.9.11
37 BuildRequires: qt5-assistant >= %{qttools_ver}
38 BuildRequires: qt5-doc-common >= %{qttools_ver}
40 BuildRequires: qt5-build >= %{qtbase_ver}
41 %{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}}
42 BuildRequires: qt5-qmake >= %{qtbase_ver}
43 BuildRequires: rpm-build >= 4.6
44 BuildRequires: rpmbuild(macros) >= 2.016
45 BuildRequires: tar >= 1:1.22
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define specflags -fno-strict-aliasing
50 %define qt5dir %{_libdir}/qt5
53 Qt is a cross-platform application and UI framework. Using Qt, you can
54 write web-enabled applications once and deploy them across desktop,
55 mobile and embedded systems without rewriting the source code.
57 This package contains Qt5 Multimedia libraries.
59 %description -l pl.UTF-8
60 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
61 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
62 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
65 Ten pakiet zawiera biblioteki Qt5 Multimedia.
67 %package -n Qt5Multimedia
68 Summary: The Qt5 Multimedia libraries
69 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia
71 %requires_eq_to Qt5Core Qt5Core-devel
72 Requires: Qt5Gui >= %{qtbase_ver}
73 Requires: Qt5Network >= %{qtbase_ver}
74 Requires: alsa-lib >= 1.0.10
75 Requires: pulseaudio-libs >= 0.9.11
76 Obsoletes: qt5-qtmultimedia < 5.2.0-1
78 %description -n Qt5Multimedia
79 Qt5 Multimedia libraries provide audio, video, radio and camera
82 %description -n Qt5Multimedia -l pl.UTF-8
83 Biblioteki Qt5 Multimedia dostarczają funkcjonalność związaną z
84 dźwiękiem, obrazem, radiem i kamerą.
86 %package -n Qt5Multimedia-devel
87 Summary: Qt5 Multimedia libraries - development files
88 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia - pliki programistyczne
89 Group: X11/Development/Libraries
90 Requires: Qt5Core-devel >= %{qtbase_ver}
91 Requires: Qt5Gui-devel >= %{qtbase_ver}
92 Requires: Qt5Network-devel >= %{qtbase_ver}
93 Requires: Qt5Multimedia = %{version}-%{release}
94 Obsoletes: qt5-qtmultimedia-devel < 5.2.0-1
96 %description -n Qt5Multimedia-devel
97 Qt5 Multimedia libraries - development files.
99 %description -n Qt5Multimedia-devel -l pl.UTF-8
100 Biblioteki Qt5 Multimedia - pliki programistyczne.
102 %package -n Qt5MultimediaQuick
103 Summary: Qt5 Multimedia Quick library and modules
104 Summary(pl.UTF-8): Biblioteka i moduły Qt5 Multimedia Quick
106 Requires: Qt5Multimedia = %{version}-%{release}
107 Requires: Qt5Qml >= %{qtdeclarative_ver}
108 Requires: Qt5Quick >= %{qtdeclarative_ver}
109 Requires: pulseaudio-devel >= 0.9.11
111 %description -n Qt5MultimediaQuick
112 Qt5 Multimedia Quick library and modules.
114 %description -n Qt5MultimediaQuick -l pl.UTF-8
115 Biblioteka i moduły Qt5 Multimedia Quick.
117 %package -n Qt5MultimediaQuick-devel
118 Summary: Qt5 Multimedia Quick library - development files
119 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Quick - pliki programistyczne
120 Group: X11/Development/Libraries
121 Requires: Qt5MultimediaQuick = %{version}-%{release}
122 Requires: Qt5Multimedia-devel = %{version}-%{release}
123 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
124 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
126 %description -n Qt5MultimediaQuick-devel
127 Qt5 Multimedia Quick library - development files.
129 %description -n Qt5MultimediaQuick-devel -l pl.UTF-8
130 Biblioteka Qt5 Multimedia Quick - pliki programistyczne.
132 %package -n Qt5MultimediaWidgets
133 Summary: Qt5 Multimedia Widgets library
134 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets
136 Requires: Qt5Multimedia = %{version}-%{release}
137 Requires: Qt5Widgets >= %{qtbase_ver}
139 %description -n Qt5MultimediaWidgets
140 Qt5 Multimedia Widgets library provides widgets classes for Qt5
143 %description -n Qt5MultimediaWidgets -l pl.UTF-8
144 Biblioteka Qt5 Multimedia Widgets dostarcza klasy widgetów dla
145 biblioteki Qt5 Multimedia.
147 %package -n Qt5MultimediaWidgets-devel
148 Summary: Qt5 Multimedia Widgets library - development files
149 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets - pliki programistyczne
150 Group: X11/Development/Libraries
151 Requires: Qt5MultimediaWidgets = %{version}-%{release}
152 Requires: Qt5Multimedia-devel = %{version}-%{release}
153 Requires: Qt5Widgets-devel >= %{qtbase_ver}
155 %description -n Qt5MultimediaWidgets-devel
156 Qt5 Multimedia Widgets library - development files.
158 %description -n Qt5MultimediaWidgets-devel -l pl.UTF-8
159 Biblioteka Qt5 Multimedia Widgets - pliki programistyczne.
161 %package -n Qt5Multimedia-gstreamer
162 Summary: Qt5 Multimedia GStreamer components
163 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia
165 Requires: Qt5MultimediaWidgets = %{version}-%{release}
167 %description -n Qt5Multimedia-gstreamer
168 Qt5 Multimedia GStreamer components (libqgsttools library and modules
169 for audio decoding, camera, media capturing and media playing).
171 %description -n Qt5Multimedia-gstreamer -l pl.UTF-8
172 Komponenty GStreamera biblioteki Qt5 Multimedia: biblioteka
173 libqgsttools, moduły do dekodowania dźwięku, kamery, przechwytywania
174 obrazu i odtwarzania).
176 %package -n Qt5Multimedia-gstreamer-devel
177 Summary: Qt5 Multimedia GStreamer components - development files
178 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia - pliki programistyczne
179 Group: X11/Development/Libraries
180 Requires: Qt5Multimedia-gstreamer = %{version}-%{release}
181 Requires: Qt5MultimediaWidgets-devel = %{version}-%{release}
182 Requires: alsa-lib-devel >= 1.0.10
183 Requires: gstreamer-devel
184 Requires: gstreamer-gl-devel
185 Requires: gstreamer-plugins-base-devel
186 Requires: pulseaudio-devel >= 0.9.11
188 %description -n Qt5Multimedia-gstreamer-devel
189 Qt5 Multimedia GStreamer components - development files.
191 %description -n Qt5Multimedia-gstreamer-devel -l pl.UTF-8
192 Komponenty GStreamera biblioteki Qt5 Multimedia - pliki
196 Summary: Qt5 Multimedia documentation in HTML format
197 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML
199 Requires: qt5-doc-common >= %{qtbase_ver}
203 Qt5 Multimedia documentation in HTML format.
205 %description doc -l pl.UTF-8
206 Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML.
209 Summary: Qt5 Multimedia documentation in QCH format
210 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH
212 Requires: qt5-doc-common >= %{qtbase_ver}
216 Qt5 Multimedia documentation in QCH format.
218 %description doc-qch -l pl.UTF-8
219 Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH.
222 Summary: Qt5 Multimedia examples
223 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Multimedia
224 Group: X11/Development/Libraries
227 %description examples
228 Qt5 Multimedia examples.
230 %description examples -l pl.UTF-8
231 Przykłady do bibliotek Qt5 Multimedia.
234 %setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
240 %{?with_doc:%{__make} docs}
243 cd qttranslations-everywhere-src-%{version}
250 rm -rf $RPM_BUILD_ROOT
253 INSTALL_ROOT=$RPM_BUILD_ROOT
256 %{__make} install_docs \
257 INSTALL_ROOT=$RPM_BUILD_ROOT
261 %{__make} -C qttranslations-everywhere-src-%{version} install \
262 INSTALL_ROOT=$RPM_BUILD_ROOT
263 # keep only qtmultimedia
264 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconnectivity,qtdeclarative,qtlocation,qtquickcontrols,qtquickcontrols2,qtserialport,qtscript,qtwebengine,qtwebsockets,qtxmlpatterns}_*.qm
267 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
268 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
269 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
270 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
273 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
274 # actually drop *.la, follow policy of not packaging them when *.pc exist
275 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
277 # Prepare some files list
279 r="$RPM_BUILD_ROOT$2"
281 echo "%%dir $2" >> $1.files
282 elif [ -x "$r" ] ; then
283 echo "%%attr(755,root,root) $2" >> $1.files
284 elif [ -f "$r" ]; then
285 echo "$2" >> $1.files
287 echo "Error generation $1 files list!"
288 echo "$r: no such file or directory!"
294 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
299 echo "%defattr(644,root,root,755)" > examples.files
300 ifecho_tree examples %{_examplesdir}/qt5/multimedia
301 ifecho_tree examples %{_examplesdir}/qt5/multimediawidgets
303 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
307 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
308 sed -e "s:^$RPM_BUILD_ROOT::" \
309 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
312 echo '%defattr(644,root,root,755)' > qtmultimedia.lang
314 find_qt5_qm qtmultimedia >> qtmultimedia.lang
318 rm -rf $RPM_BUILD_ROOT
320 %post -n Qt5Multimedia -p /sbin/ldconfig
321 %postun -n Qt5Multimedia -p /sbin/ldconfig
323 %post -n Qt5MultimediaQuick -p /sbin/ldconfig
324 %postun -n Qt5MultimediaQuick -p /sbin/ldconfig
326 %post -n Qt5MultimediaWidgets -p /sbin/ldconfig
327 %postun -n Qt5MultimediaWidgets -p /sbin/ldconfig
329 %post -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
330 %postun -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
332 %files -n Qt5Multimedia -f qtmultimedia.lang
333 %defattr(644,root,root,755)
334 %doc LICENSE.GPL3-EXCEPT dist/changes-*
335 # R: Qt5Core Qt5Gui Qt5Network pulseaudio-libs
336 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so.*.*.*
337 %attr(755,root,root) %ghost %{_libdir}/libQt5Multimedia.so.5
338 %dir %{qt5dir}/plugins/audio
339 # R: Qt5Core Qt5Multimedia alsa-lib
340 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtaudio_alsa.so
341 # R: Qt5Core Qt5Multimedia pulseaudio-libs
342 # (not splitting as libQt5Multimedia itself is linked with libpulse)
343 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtmedia_pulse.so
344 %dir %{qt5dir}/plugins/mediaservice
345 %dir %{qt5dir}/plugins/playlistformats
346 # R: Qt5Core Qt5Multimedia Qt5Network
347 %attr(755,root,root) %{qt5dir}/plugins/playlistformats/libqtmultimedia_m3u.so
348 # common for base -devel and plugin-specific files
349 %dir %{_libdir}/cmake/Qt5Multimedia
351 %files -n Qt5Multimedia-devel
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so
354 %{_libdir}/libQt5Multimedia.prl
355 %{_includedir}/qt5/QtMultimedia
356 %{_pkgconfigdir}/Qt5Multimedia.pc
357 %{_libdir}/cmake/Qt5Multimedia/Qt5MultimediaConfig*.cmake
358 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QAlsaPlugin.cmake
359 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QM3uPlaylistPlugin.cmake
360 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QPulseAudioPlugin.cmake
361 %{qt5dir}/mkspecs/modules/qt_lib_multimedia.pri
362 %{qt5dir}/mkspecs/modules/qt_lib_multimedia_private.pri
364 %files -n Qt5MultimediaQuick
365 %defattr(644,root,root,755)
366 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Quick
367 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick.so.*.*.*
368 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaQuick.so.5
369 %dir %{qt5dir}/qml/QtAudioEngine
370 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Qml OpenAL
371 %attr(755,root,root) %{qt5dir}/qml/QtAudioEngine/libdeclarative_audioengine.so
372 %{qt5dir}/qml/QtAudioEngine/plugins.qmltypes
373 %{qt5dir}/qml/QtAudioEngine/qmldir
374 %dir %{qt5dir}/qml/QtMultimedia
375 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaQuick Qt5Network Qt5Qml Qt5Quick
376 %attr(755,root,root) %{qt5dir}/qml/QtMultimedia/libdeclarative_multimedia.so
377 %{qt5dir}/qml/QtMultimedia/Video.qml
378 %{qt5dir}/qml/QtMultimedia/plugins.qmltypes
379 %{qt5dir}/qml/QtMultimedia/qmldir
381 %files -n Qt5MultimediaQuick-devel
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick.so
384 %{_libdir}/libQt5MultimediaQuick.prl
385 %{_libdir}/cmake/Qt5MultimediaQuick
386 %{_includedir}/qt5/QtMultimediaQuick
387 %{qt5dir}/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
389 %files -n Qt5MultimediaWidgets
390 %defattr(644,root,root,755)
391 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Widgets OpenGL
392 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so.*.*.*
393 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaWidgets.so.5
395 %files -n Qt5MultimediaWidgets-devel
396 %defattr(644,root,root,755)
397 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so
398 %{_libdir}/libQt5MultimediaWidgets.prl
399 %{_includedir}/qt5/QtMultimediaWidgets
400 %{_pkgconfigdir}/Qt5MultimediaWidgets.pc
401 %{_libdir}/cmake/Qt5MultimediaWidgets
402 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets.pri
403 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets_private.pri
405 %files -n Qt5Multimedia-gstreamer
406 %defattr(644,root,root,755)
407 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets Qt5Network Qt5Widgets alsa-lib glib2 gstreamer gstreamer-gl gstreamer-plugins-base
408 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so.*.*.*
409 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaGstTools.so.5
410 %{_libdir}/cmake/Qt5MultimediaGstTools
411 # R: Qt5Core Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
412 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstaudiodecoder.so
413 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
414 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstcamerabin.so
415 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
416 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediacapture.so
417 # R: Qt5Core Qt5Multimedia Qt5MultimediaGstTools gstreamer
418 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediaplayer.so
420 %files -n Qt5Multimedia-gstreamer-devel
421 %defattr(644,root,root,755)
422 %{_includedir}/qt5/QtMultimediaGstTools
423 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so
424 %{qt5dir}/mkspecs/modules/qt_lib_multimediagsttools_private.pri
425 %{_libdir}/libQt5MultimediaGstTools.prl
426 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_CameraBinServicePlugin.cmake
427 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerAudioDecoderServicePlugin.cmake
428 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerCaptureServicePlugin.cmake
429 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerPlayerServicePlugin.cmake
433 %defattr(644,root,root,755)
434 %{_docdir}/qt5-doc/qtmultimedia
437 %defattr(644,root,root,755)
438 %{_docdir}/qt5-doc/qtmultimedia.qch
441 %files examples -f examples.files
442 %defattr(644,root,root,755)
443 # XXX: dir shared with qt5-qtbase-examples
444 %dir %{_examplesdir}/qt5