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.4
10 Summary: The Qt5 Multimedia libraries
11 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia
15 License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0
17 Source0: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
18 # Source0-md5: 0d448e5f74c7f35d4599d6d455b6550b
19 Source1: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz
20 # Source1-md5: 4742dfcb8fa21a899341daabab241716
21 URL: http://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: Qt5OpenGL-devel >= %{qtbase_ver}
28 BuildRequires: Qt5Qml-devel >= %{qtdeclarative_ver}
29 BuildRequires: Qt5Quick-devel >= %{qtdeclarative_ver}
30 BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
31 BuildRequires: Qt5Xml-devel >= %{qtbase_ver}
32 BuildRequires: alsa-lib-devel
33 BuildRequires: gstreamer-devel >= 1.0
34 BuildRequires: gstreamer-plugins-base-devel >= 1.0
35 BuildRequires: pulseaudio-devel
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: rpmbuild(macros) >= 1.654
44 BuildRequires: tar >= 1:1.22
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 %define specflags -fno-strict-aliasing
49 %define qt5dir %{_libdir}/qt5
52 Qt is a cross-platform application and UI framework. Using Qt, you can
53 write web-enabled applications once and deploy them across desktop,
54 mobile and embedded systems without rewriting the source code.
56 This package contains Qt5 Multimedia libraries.
58 %description -l pl.UTF-8
59 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
60 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
61 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
64 Ten pakiet zawiera biblioteki Qt5 Multimedia.
66 %package -n Qt5Multimedia
67 Summary: The Qt5 Multimedia libraries
68 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia
70 Requires: Qt5Core >= %{qtbase_ver}
71 Requires: Qt5Gui >= %{qtbase_ver}
72 Requires: Qt5Network >= %{qtbase_ver}
73 Obsoletes: qt5-qtmultimedia
75 %description -n Qt5Multimedia
76 Qt5 Multimedia libraries provide audio, video, radio and camera
79 %description -n Qt5Multimedia -l pl.UTF-8
80 Biblioteki Qt5 Multimedia dostarczają funkcjonalność związaną z
81 dźwiękiem, obrazem, radiem i kamerą.
83 %package -n Qt5Multimedia-devel
84 Summary: Qt5 Multimedia libraries - development files
85 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia - pliki programistyczne
86 Group: X11/Development/Libraries
87 Requires: OpenGL-devel
88 Requires: Qt5Core-devel >= %{qtbase_ver}
89 Requires: Qt5Gui-devel >= %{qtbase_ver}
90 Requires: Qt5Network-devel >= %{qtbase_ver}
91 Requires: Qt5Multimedia = %{version}-%{release}
92 Requires: pulseaudio-devel
93 Obsoletes: qt5-qtmultimedia-devel
95 %description -n Qt5Multimedia-devel
96 Qt5 Multimedia libraries - development files.
98 %description -n Qt5Multimedia-devel -l pl.UTF-8
99 Biblioteki Qt5 Multimedia - pliki programistyczne.
101 %package -n Qt5MultimediaQuick
102 Summary: Qt5 Multimedia Quick library and modules
103 Summary(pl.UTF-8): Biblioteka i moduły Qt5 Multimedia Quick
105 Requires: Qt5Multimedia = %{version}-%{release}
106 Requires: Qt5Qml >= %{qtdeclarative_ver}
107 Requires: Qt5Quick >= %{qtdeclarative_ver}
109 %description -n Qt5MultimediaQuick
110 Qt5 Multimedia Quick library and modules.
112 %description -n Qt5MultimediaQuick -l pl.UTF-8
113 Biblioteka i moduły Qt5 Multimedia Quick.
115 %package -n Qt5MultimediaQuick-devel
116 Summary: Qt5 Multimedia Quick library - development files
117 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Quick - pliki programistyczne
118 Group: X11/Development/Libraries
119 Requires: Qt5MultimediaQuick = %{version}-%{release}
120 Requires: Qt5Multimedia-devel = %{version}-%{release}
121 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
122 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
124 %description -n Qt5MultimediaQuick-devel
125 Qt5 Multimedia Quick library - development files.
127 %description -n Qt5MultimediaQuick-devel -l pl.UTF-8
128 Biblioteka Qt5 Multimedia Quick - pliki programistyczne.
130 %package -n Qt5MultimediaWidgets
131 Summary: Qt5 Multimedia Widgets library
132 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets
134 Requires: Qt5Multimedia = %{version}-%{release}
135 Requires: Qt5OpenGL >= %{qtbase_ver}
136 Requires: Qt5Widgets >= %{qtbase_ver}
138 %description -n Qt5MultimediaWidgets
139 Qt5 Multimedia Widgets library provides widgets classes for Qt5
142 %description -n Qt5MultimediaWidgets -l pl.UTF-8
143 Biblioteka Qt5 Multimedia Widgets dostarcza klasy widgetów dla
144 biblioteki Qt5 Multimedia.
146 %package -n Qt5MultimediaWidgets-devel
147 Summary: Qt5 Multimedia Widgets library - development files
148 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets - pliki programistyczne
149 Group: X11/Development/Libraries
150 Requires: Qt5MultimediaWidgets = %{version}-%{release}
151 Requires: Qt5Multimedia-devel = %{version}-%{release}
152 Requires: Qt5OpenGL-devel >= %{qtbase_ver}
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}
183 %description -n Qt5Multimedia-gstreamer-devel
184 Qt5 Multimedia GStreamer components - development files.
186 %description -n Qt5Multimedia-gstreamer-devel -l pl.UTF-8
187 Komponenty GStreamera biblioteki Qt5 Multimedia - pliki
191 Summary: Qt5 Multimedia documentation in HTML format
192 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML
194 Requires: qt5-doc-common >= %{qtbase_ver}
195 %if "%{_rpmversion}" >= "5"
200 Qt5 Multimedia documentation in HTML format.
202 %description doc -l pl.UTF-8
203 Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML.
206 Summary: Qt5 Multimedia documentation in QCH format
207 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH
209 Requires: qt5-doc-common >= %{qtbase_ver}
210 %if "%{_rpmversion}" >= "5"
215 Qt5 Multimedia documentation in QCH format.
217 %description doc-qch -l pl.UTF-8
218 Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH.
221 Summary: Qt5 Multimedia examples
222 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Multimedia
223 Group: X11/Development/Libraries
224 %if "%{_rpmversion}" >= "5"
228 %description examples
229 Qt5 Multimedia examples.
231 %description examples -l pl.UTF-8
232 Przykłady do bibliotek Qt5 Multimedia.
235 %setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
241 %{?with_doc:%{__make} docs}
244 cd qttranslations-everywhere-src-%{version}
251 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 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so.*.*.*
335 %attr(755,root,root) %ghost %{_libdir}/libQt5Multimedia.so.5
336 %dir %{qt5dir}/plugins/audio
337 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtaudio_alsa.so
338 # R: Qt5Core Qt5Multimedia pulseaudio-libs
339 # (not splitting as libQt5Multimedia itself is linked with libpulse)
340 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtmedia_pulse.so
341 %dir %{qt5dir}/plugins/mediaservice
342 %dir %{qt5dir}/plugins/playlistformats
343 # R: Qt5Core Qt5Multimedia
344 %attr(755,root,root) %{qt5dir}/plugins/playlistformats/libqtmultimedia_m3u.so
345 # common for base -devel and plugin-specific files
346 %dir %{_libdir}/cmake/Qt5Multimedia
348 %files -n Qt5Multimedia-devel
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so
351 %{_libdir}/libQt5Multimedia.prl
352 %{_includedir}/qt5/QtMultimedia
353 %{_pkgconfigdir}/Qt5Multimedia.pc
354 %{_libdir}/cmake/Qt5Multimedia/Qt5MultimediaConfig*.cmake
355 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QAlsaPlugin.cmake
356 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QM3uPlaylistPlugin.cmake
357 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QPulseAudioPlugin.cmake
358 %{qt5dir}/mkspecs/modules/qt_lib_multimedia.pri
359 %{qt5dir}/mkspecs/modules/qt_lib_multimedia_private.pri
361 %files -n Qt5MultimediaQuick
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick.so.*.*.*
364 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaQuick.so.5
365 %dir %{qt5dir}/qml/QtAudioEngine
366 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Qml OpenAL
367 %attr(755,root,root) %{qt5dir}/qml/QtAudioEngine/libdeclarative_audioengine.so
368 %{qt5dir}/qml/QtAudioEngine/plugins.qmltypes
369 %{qt5dir}/qml/QtAudioEngine/qmldir
370 %dir %{qt5dir}/qml/QtMultimedia
371 # R: Qt5Core Qt5Gui Qt5Multimedia[+libQt5MultimediaQuick] Qt5Qml Qt5Quick
372 %attr(755,root,root) %{qt5dir}/qml/QtMultimedia/libdeclarative_multimedia.so
373 %{qt5dir}/qml/QtMultimedia/Video.qml
374 %{qt5dir}/qml/QtMultimedia/plugins.qmltypes
375 %{qt5dir}/qml/QtMultimedia/qmldir
377 %files -n Qt5MultimediaQuick-devel
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick.so
380 %{_libdir}/libQt5MultimediaQuick.prl
381 %{_libdir}/cmake/Qt5MultimediaQuick
382 %{_includedir}/qt5/QtMultimediaQuick
383 %{qt5dir}/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
385 %files -n Qt5MultimediaWidgets
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so.*.*.*
388 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaWidgets.so.5
390 %files -n Qt5MultimediaWidgets-devel
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so
393 %{_libdir}/libQt5MultimediaWidgets.prl
394 %{_includedir}/qt5/QtMultimediaWidgets
395 %{_pkgconfigdir}/Qt5MultimediaWidgets.pc
396 %{_libdir}/cmake/Qt5MultimediaWidgets
397 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets.pri
398 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets_private.pri
400 %files -n Qt5Multimedia-gstreamer
401 %defattr(644,root,root,755)
402 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so.*.*.*
403 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so.5
404 %{_libdir}/cmake/Qt5MultimediaGstTools
405 # R: Qt5Core Qt5Multimedia[+libqgsttools_p] gstreamer gstreamer-plugins-base
406 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstaudiodecoder.so
407 # R: Qt5Core Qt5Gui Qt5Multimedia[+libqgsttools_p] gstreamer gstreamer-plugins-base
408 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstcamerabin.so
409 # R: Qt5Core Qt5Gui Qt5Multimedia[+libqgsttools_p] gstreamer
410 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediacapture.so
411 # R: Qt5Core Qt5Multimedia[+libqgsttools_p] gstreamer
412 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediaplayer.so
414 %files -n Qt5Multimedia-gstreamer-devel
415 %defattr(644,root,root,755)
416 %{_includedir}/qt5/QtMultimediaGstTools
417 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so
418 %{qt5dir}/mkspecs/modules/qt_lib_multimediagsttools_private.pri
419 %{_libdir}/libQt5MultimediaGstTools.prl
420 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_CameraBinServicePlugin.cmake
421 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerAudioDecoderServicePlugin.cmake
422 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerCaptureServicePlugin.cmake
423 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerPlayerServicePlugin.cmake
427 %defattr(644,root,root,755)
428 %{_docdir}/qt5-doc/qtmultimedia
431 %defattr(644,root,root,755)
432 %{_docdir}/qt5-doc/qtmultimedia.qch
435 %files examples -f examples.files
436 %defattr(644,root,root,755)
437 # XXX: dir shared with qt5-qtbase-examples
438 %dir %{_examplesdir}/qt5