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.5/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
18 # Source0-md5: 244baff13a02ebc697e5b5e2290088d0
19 Source1: http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
20 # Source1-md5: 1f89d53fe759db123b4b6d9de9d9e8c9
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}
39 BuildRequires: qt5-build >= %{qtbase_ver}
40 %{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}}
41 BuildRequires: qt5-qmake >= %{qtbase_ver}
42 BuildRequires: rpmbuild(macros) >= 1.654
43 BuildRequires: tar >= 1:1.22
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 %define specflags -fno-strict-aliasing
48 %define qt5dir %{_libdir}/qt5
51 Qt is a cross-platform application and UI framework. Using Qt, you can
52 write web-enabled applications once and deploy them across desktop,
53 mobile and embedded systems without rewriting the source code.
55 This package contains Qt5 Multimedia libraries.
57 %description -l pl.UTF-8
58 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
59 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
60 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
63 Ten pakiet zawiera biblioteki Qt5 Multimedia.
65 %package -n Qt5Multimedia
66 Summary: The Qt5 Multimedia libraries
67 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia
69 Requires: Qt5Core >= %{qtbase_ver}
70 Requires: Qt5Gui >= %{qtbase_ver}
71 Requires: Qt5Network >= %{qtbase_ver}
72 Obsoletes: qt5-qtmultimedia
74 %description -n Qt5Multimedia
75 Qt5 Multimedia libraries provide audio, video, radio and camera
78 %description -n Qt5Multimedia -l pl.UTF-8
79 Biblioteki Qt5 Multimedia dostarczają funkcjonalność związaną z
80 dźwiękiem, obrazem, radiem i kamerą.
82 %package -n Qt5Multimedia-devel
83 Summary: Qt5 Multimedia libraries - development files
84 Summary(pl.UTF-8): Biblioteki Qt5 Multimedia - pliki programistyczne
85 Group: X11/Development/Libraries
86 Requires: OpenGL-devel
87 Requires: Qt5Core-devel >= %{qtbase_ver}
88 Requires: Qt5Gui-devel >= %{qtbase_ver}
89 Requires: Qt5Network-devel >= %{qtbase_ver}
90 Requires: Qt5Multimedia = %{version}-%{release}
91 Requires: pulseaudio-devel
92 Obsoletes: qt5-qtmultimedia-devel
94 %description -n Qt5Multimedia-devel
95 Qt5 Multimedia libraries - development files.
97 %description -n Qt5Multimedia-devel -l pl.UTF-8
98 Biblioteki Qt5 Multimedia - pliki programistyczne.
100 %package -n Qt5MultimediaQuick
101 Summary: Qt5 Multimedia Quick library and modules
102 Summary(pl.UTF-8): Biblioteka i moduły Qt5 Multimedia Quick
104 Requires: Qt5Multimedia = %{version}-%{release}
105 Requires: Qt5Qml >= %{qtdeclarative_ver}
106 Requires: Qt5Quick >= %{qtdeclarative_ver}
108 %description -n Qt5MultimediaQuick
109 Qt5 Multimedia Quick library and modules.
111 %description -n Qt5MultimediaQuick -l pl.UTF-8
112 Biblioteka i moduły Qt5 Multimedia Quick.
114 %package -n Qt5MultimediaQuick-devel
115 Summary: Qt5 Multimedia Quick library - development files
116 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Quick - pliki programistyczne
117 Group: X11/Development/Libraries
118 Requires: Qt5MultimediaQuick = %{version}-%{release}
119 Requires: Qt5Multimedia-devel = %{version}-%{release}
120 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
121 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
123 %description -n Qt5MultimediaQuick-devel
124 Qt5 Multimedia Quick library - development files.
126 %description -n Qt5MultimediaQuick-devel -l pl.UTF-8
127 Biblioteka Qt5 Multimedia Quick - pliki programistyczne.
129 %package -n Qt5MultimediaWidgets
130 Summary: Qt5 Multimedia Widgets library
131 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets
133 Requires: Qt5Multimedia = %{version}-%{release}
134 Requires: Qt5OpenGL >= %{qtbase_ver}
135 Requires: Qt5Widgets >= %{qtbase_ver}
137 %description -n Qt5MultimediaWidgets
138 Qt5 Multimedia Widgets library provides widgets classes for Qt5
141 %description -n Qt5MultimediaWidgets -l pl.UTF-8
142 Biblioteka Qt5 Multimedia Widgets dostarcza klasy widgetów dla
143 biblioteki Qt5 Multimedia.
145 %package -n Qt5MultimediaWidgets-devel
146 Summary: Qt5 Multimedia Widgets library - development files
147 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets - pliki programistyczne
148 Group: X11/Development/Libraries
149 Requires: Qt5MultimediaWidgets = %{version}-%{release}
150 Requires: Qt5Multimedia-devel = %{version}-%{release}
151 Requires: Qt5OpenGL-devel >= %{qtbase_ver}
152 Requires: Qt5Widgets-devel >= %{qtbase_ver}
154 %description -n Qt5MultimediaWidgets-devel
155 Qt5 Multimedia Widgets library - development files.
157 %description -n Qt5MultimediaWidgets-devel -l pl.UTF-8
158 Biblioteka Qt5 Multimedia Widgets - pliki programistyczne.
160 %package -n Qt5Multimedia-gstreamer
161 Summary: Qt5 Multimedia GStreamer components
162 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia
164 Requires: Qt5MultimediaWidgets = %{version}-%{release}
166 %description -n Qt5Multimedia-gstreamer
167 Qt5 Multimedia GStreamer components (libqgsttools library and modules
168 for audio decoding, camera, media capturing and media playing).
170 %description -n Qt5Multimedia-gstreamer -l pl.UTF-8
171 Komponenty GStreamera biblioteki Qt5 Multimedia: biblioteka
172 libqgsttools, moduły do dekodowania dźwięku, kamery, przechwytywania
173 obrazu i odtwarzania).
175 %package -n Qt5Multimedia-gstreamer-devel
176 Summary: Qt5 Multimedia GStreamer components - development files
177 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia - pliki programistyczne
178 Group: X11/Development/Libraries
179 Requires: Qt5Multimedia-gstreamer = %{version}-%{release}
180 Requires: Qt5MultimediaWidgets-devel = %{version}-%{release}
182 %description -n Qt5Multimedia-gstreamer-devel
183 Qt5 Multimedia GStreamer components - development files.
185 %description -n Qt5Multimedia-gstreamer-devel -l pl.UTF-8
186 Komponenty GStreamera biblioteki Qt5 Multimedia - pliki
190 Summary: Qt5 Multimedia documentation in HTML format
191 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML
193 Requires: qt5-doc-common >= %{qtbase_ver}
194 %if "%{_rpmversion}" >= "5"
199 Qt5 Multimedia documentation in HTML format.
201 %description doc -l pl.UTF-8
202 Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML.
205 Summary: Qt5 Multimedia documentation in QCH format
206 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH
208 Requires: qt5-doc-common >= %{qtbase_ver}
209 %if "%{_rpmversion}" >= "5"
214 Qt5 Multimedia documentation in QCH format.
216 %description doc-qch -l pl.UTF-8
217 Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH.
220 Summary: Qt5 Multimedia examples
221 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Multimedia
222 Group: X11/Development/Libraries
223 %if "%{_rpmversion}" >= "5"
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}-opensource-src-%{version} %{?with_qm:-a1}
240 %{__make} %{!?with_qch:html_}docs
243 cd qttranslations-opensource-src-%{version}
250 rm -rf $RPM_BUILD_ROOT
252 INSTALL_ROOT=$RPM_BUILD_ROOT
254 %{__make} install_%{!?with_qch:html_}docs \
255 INSTALL_ROOT=$RPM_BUILD_ROOT
258 %{__make} -C qttranslations-opensource-src-%{version} install \
259 INSTALL_ROOT=$RPM_BUILD_ROOT
260 # keep only qtmultimedia
261 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtdeclarative,qtlocation,qtquick1,qtquickcontrols,qtscript,qtwebsockets,qtxmlpatterns}_*.qm
264 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
265 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
266 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
267 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
270 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
271 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libqgsttools_p.so.1.?
272 # actually drop *.la, follow policy of not packaging them when *.pc exist
273 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
275 # Prepare some files list
277 r="$RPM_BUILD_ROOT$2"
279 echo "%%dir $2" >> $1.files
280 elif [ -x "$r" ] ; then
281 echo "%%attr(755,root,root) $2" >> $1.files
282 elif [ -f "$r" ]; then
283 echo "$2" >> $1.files
285 echo "Error generation $1 files list!"
286 echo "$r: no such file or directory!"
292 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
297 echo "%defattr(644,root,root,755)" > examples.files
298 ifecho_tree examples %{_examplesdir}/qt5/multimedia
299 ifecho_tree examples %{_examplesdir}/qt5/multimediawidgets
301 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
305 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
306 sed -e "s:^$RPM_BUILD_ROOT::" \
307 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
310 echo '%defattr(644,root,root,755)' > qtmultimedia.lang
312 find_qt5_qm qtmultimedia >> qtmultimedia.lang
316 rm -rf $RPM_BUILD_ROOT
318 %post -n Qt5Multimedia -p /sbin/ldconfig
319 %postun -n Qt5Multimedia -p /sbin/ldconfig
321 %post -n Qt5MultimediaQuick -p /sbin/ldconfig
322 %postun -n Qt5MultimediaQuick -p /sbin/ldconfig
324 %post -n Qt5MultimediaWidgets -p /sbin/ldconfig
325 %postun -n Qt5MultimediaWidgets -p /sbin/ldconfig
327 %post -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
328 %postun -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
330 %files -n Qt5Multimedia -f qtmultimedia.lang
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so.*.*.*
333 %attr(755,root,root) %ghost %{_libdir}/libQt5Multimedia.so.5
334 %dir %{qt5dir}/plugins/audio
335 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtaudio_alsa.so
336 # R: Qt5Core Qt5Multimedia pulseaudio-libs
337 # (not splitting as libQt5Multimedia itself is linked with libpulse)
338 %attr(755,root,root) %{qt5dir}/plugins/audio/libqtmedia_pulse.so
339 %dir %{qt5dir}/plugins/mediaservice
340 %dir %{qt5dir}/plugins/playlistformats
341 # R: Qt5Core Qt5Multimedia
342 %attr(755,root,root) %{qt5dir}/plugins/playlistformats/libqtmultimedia_m3u.so
343 # common for base -devel and plugin-specific files
344 %dir %{_libdir}/cmake/Qt5Multimedia
346 %files -n Qt5Multimedia-devel
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so
349 %{_libdir}/libQt5Multimedia.prl
350 %{_includedir}/qt5/QtMultimedia
351 %{_pkgconfigdir}/Qt5Multimedia.pc
352 %{_libdir}/cmake/Qt5Multimedia/Qt5MultimediaConfig*.cmake
353 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QAlsaPlugin.cmake
354 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QM3uPlaylistPlugin.cmake
355 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QPulseAudioPlugin.cmake
356 %{qt5dir}/mkspecs/modules/qt_lib_multimedia.pri
357 %{qt5dir}/mkspecs/modules/qt_lib_multimedia_private.pri
359 %files -n Qt5MultimediaQuick
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick_p.so.*.*.*
362 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaQuick_p.so.5
363 %dir %{qt5dir}/qml/QtAudioEngine
364 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Qml OpenAL
365 %attr(755,root,root) %{qt5dir}/qml/QtAudioEngine/libdeclarative_audioengine.so
366 %{qt5dir}/qml/QtAudioEngine/plugins.qmltypes
367 %{qt5dir}/qml/QtAudioEngine/qmldir
368 %dir %{qt5dir}/qml/QtMultimedia
369 # R: Qt5Core Qt5Gui Qt5Multimedia[+libQt5MultimediaQuick_p] Qt5Qml Qt5Quick
370 %attr(755,root,root) %{qt5dir}/qml/QtMultimedia/libdeclarative_multimedia.so
371 %{qt5dir}/qml/QtMultimedia/Video.qml
372 %{qt5dir}/qml/QtMultimedia/plugins.qmltypes
373 %{qt5dir}/qml/QtMultimedia/qmldir
375 %files -n Qt5MultimediaQuick-devel
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_libdir}/libQt5MultimediaQuick_p.so
378 %{_libdir}/libQt5MultimediaQuick_p.prl
379 %{_includedir}/qt5/QtMultimediaQuick_p
380 %{_pkgconfigdir}/Qt5MultimediaQuick_p.pc
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
423 %{_docdir}/qt5-doc/qtmultimediawidgets
427 %defattr(644,root,root,755)
428 %{_docdir}/qt5-doc/qtmultimedia.qch
429 %{_docdir}/qt5-doc/qtmultimediawidgets.qch
432 %files examples -f examples.files
433 %defattr(644,root,root,755)
434 # XXX: dir shared with qt5-qtbase-examples
435 %dir %{_examplesdir}/qt5