3 %bcond_without qch # documentation in QCH format
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.8/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
18 # Source0-md5: c8610023cfe036d3ad7c13f6e99892cf
19 Source1: http://download.qt.io/official_releases/qt/5.8/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
20 # Source1-md5: b6c6748a923b9639c7d018cfdb04caf4
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}-opensource-src-%{version} %{?with_qm:-a1}
241 %{__make} %{!?with_qch:html_}docs
244 cd qttranslations-opensource-src-%{version}
251 rm -rf $RPM_BUILD_ROOT
253 INSTALL_ROOT=$RPM_BUILD_ROOT
255 %{__make} install_%{!?with_qch:html_}docs \
256 INSTALL_ROOT=$RPM_BUILD_ROOT
259 %{__make} -C qttranslations-opensource-src-%{version} install \
260 INSTALL_ROOT=$RPM_BUILD_ROOT
261 # keep only qtmultimedia
262 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtquick1,qtquickcontrols,qtscript,qtwebsockets,qtxmlpatterns}_*.qm
265 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
266 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
267 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
268 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
271 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
272 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libqgsttools_p.so.1.?
273 # actually drop *.la, follow policy of not packaging them when *.pc exist
274 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
276 # Prepare some files list
278 r="$RPM_BUILD_ROOT$2"
280 echo "%%dir $2" >> $1.files
281 elif [ -x "$r" ] ; then
282 echo "%%attr(755,root,root) $2" >> $1.files
283 elif [ -f "$r" ]; then
284 echo "$2" >> $1.files
286 echo "Error generation $1 files list!"
287 echo "$r: no such file or directory!"
293 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
298 echo "%defattr(644,root,root,755)" > examples.files
299 ifecho_tree examples %{_examplesdir}/qt5/multimedia
300 ifecho_tree examples %{_examplesdir}/qt5/multimediawidgets
302 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
306 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
307 sed -e "s:^$RPM_BUILD_ROOT::" \
308 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
311 echo '%defattr(644,root,root,755)' > qtmultimedia.lang
313 find_qt5_qm qtmultimedia >> qtmultimedia.lang
317 rm -rf $RPM_BUILD_ROOT
319 %post -n Qt5Multimedia -p /sbin/ldconfig
320 %postun -n Qt5Multimedia -p /sbin/ldconfig
322 %post -n Qt5MultimediaQuick -p /sbin/ldconfig
323 %postun -n Qt5MultimediaQuick -p /sbin/ldconfig
325 %post -n Qt5MultimediaWidgets -p /sbin/ldconfig
326 %postun -n Qt5MultimediaWidgets -p /sbin/ldconfig
328 %post -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
329 %postun -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
331 %files -n Qt5Multimedia -f qtmultimedia.lang
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so.*.*.*
334 %attr(755,root,root) %ghost %{_libdir}/libQt5Multimedia.so.5
335 %dir %{qt5dir}/plugins/audio
336 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtaudio_alsa.so
337 # R: Qt5Core Qt5Multimedia pulseaudio-libs
338 # (not splitting as libQt5Multimedia itself is linked with libpulse)
339 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtmedia_pulse.so
340 %dir %{qt5dir}/plugins/mediaservice
341 %dir %{qt5dir}/plugins/playlistformats
342 # R: Qt5Core Qt5Multimedia
343 %attr(755,root,root) %{qt5dir}/plugins/playlistformats/libqtmultimedia_m3u.so
344 # common for base -devel and plugin-specific files
345 %dir %{_libdir}/cmake/Qt5Multimedia
347 %files -n Qt5Multimedia-devel
348 %defattr(644,root,root,755)
349 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so
350 %{_libdir}/libQt5Multimedia.prl
351 %{_includedir}/qt5/QtMultimedia
352 %{_pkgconfigdir}/Qt5Multimedia.pc
353 %{_libdir}/cmake/Qt5Multimedia/Qt5MultimediaConfig*.cmake
354 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QAlsaPlugin.cmake
355 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QM3uPlaylistPlugin.cmake
356 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QPulseAudioPlugin.cmake
357 %{qt5dir}/mkspecs/modules/qt_lib_multimedia.pri
358 %{qt5dir}/mkspecs/modules/qt_lib_multimedia_private.pri
360 %files -n Qt5MultimediaQuick
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick_p.so.*.*.*
363 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaQuick_p.so.5
364 %dir %{qt5dir}/qml/QtAudioEngine
365 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Qml OpenAL
366 %attr(755,root,root) %{qt5dir}/qml/QtAudioEngine/libdeclarative_audioengine.so
367 %{qt5dir}/qml/QtAudioEngine/plugins.qmltypes
368 %{qt5dir}/qml/QtAudioEngine/qmldir
369 %dir %{qt5dir}/qml/QtMultimedia
370 # R: Qt5Core Qt5Gui Qt5Multimedia[+libQt5MultimediaQuick_p] Qt5Qml Qt5Quick
371 %attr(755,root,root) %{qt5dir}/qml/QtMultimedia/libdeclarative_multimedia.so
372 %{qt5dir}/qml/QtMultimedia/Video.qml
373 %{qt5dir}/qml/QtMultimedia/plugins.qmltypes
374 %{qt5dir}/qml/QtMultimedia/qmldir
376 %files -n Qt5MultimediaQuick-devel
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick_p.so
379 %{_libdir}/libQt5MultimediaQuick_p.prl
380 %{_includedir}/qt5/QtMultimediaQuick_p
381 %{qt5dir}/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
383 %files -n Qt5MultimediaWidgets
384 %defattr(644,root,root,755)
385 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so.*.*.*
386 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaWidgets.so.5
388 %files -n Qt5MultimediaWidgets-devel
389 %defattr(644,root,root,755)
390 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so
391 %{_libdir}/libQt5MultimediaWidgets.prl
392 %{_includedir}/qt5/QtMultimediaWidgets
393 %{_pkgconfigdir}/Qt5MultimediaWidgets.pc
394 %{_libdir}/cmake/Qt5MultimediaWidgets
395 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets.pri
396 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets_private.pri
398 %files -n Qt5Multimedia-gstreamer
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_libdir}/libqgsttools_p.so.*.*.*
401 %attr(755,root,root) %ghost %{_libdir}/libqgsttools_p.so.1
402 # R: Qt5Core Qt5Multimedia[+libqgsttools_p] gstreamer gstreamer-plugins-base
403 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstaudiodecoder.so
404 # R: Qt5Core Qt5Gui Qt5Multimedia[+libqgsttools_p] gstreamer gstreamer-plugins-base
405 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstcamerabin.so
406 # R: Qt5Core Qt5Gui Qt5Multimedia[+libqgsttools_p] gstreamer
407 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediacapture.so
408 # R: Qt5Core Qt5Multimedia[+libqgsttools_p] gstreamer
409 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediaplayer.so
411 %files -n Qt5Multimedia-gstreamer-devel
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_libdir}/libqgsttools_p.so
414 %{_libdir}/libqgsttools_p.prl
415 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_CameraBinServicePlugin.cmake
416 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerAudioDecoderServicePlugin.cmake
417 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerCaptureServicePlugin.cmake
418 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerPlayerServicePlugin.cmake
421 %defattr(644,root,root,755)
422 %{_docdir}/qt5-doc/qtmultimedia
426 %defattr(644,root,root,755)
427 %{_docdir}/qt5-doc/qtmultimedia.qch
430 %files examples -f examples.files
431 %defattr(644,root,root,755)
432 # XXX: dir shared with qt5-qtbase-examples
433 %dir %{_examplesdir}/qt5