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: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
18 # Source0-md5: 591e3c3322742eaf76bc6f91dce59e42
19 Source1: http://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz
20 # Source1-md5: 9b66cdb64402e8fd9e843f8a7120abb1
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
32 BuildRequires: gstreamer-devel >= 1.0
33 BuildRequires: gstreamer-plugins-base-devel >= 1.0
34 BuildRequires: pulseaudio-devel
36 BuildRequires: qt5-assistant >= %{qttools_ver}
37 BuildRequires: qt5-doc-common >= %{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 < 5.2.0-1
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: Qt5Core-devel >= %{qtbase_ver}
87 Requires: Qt5Gui-devel >= %{qtbase_ver}
88 Requires: Qt5Network-devel >= %{qtbase_ver}
89 Requires: Qt5Multimedia = %{version}-%{release}
90 Obsoletes: qt5-qtmultimedia-devel < 5.2.0-1
92 %description -n Qt5Multimedia-devel
93 Qt5 Multimedia libraries - development files.
95 %description -n Qt5Multimedia-devel -l pl.UTF-8
96 Biblioteki Qt5 Multimedia - pliki programistyczne.
98 %package -n Qt5MultimediaQuick
99 Summary: Qt5 Multimedia Quick library and modules
100 Summary(pl.UTF-8): Biblioteka i moduły Qt5 Multimedia Quick
102 Requires: Qt5Multimedia = %{version}-%{release}
103 Requires: Qt5Qml >= %{qtdeclarative_ver}
104 Requires: Qt5Quick >= %{qtdeclarative_ver}
105 Requires: pulseaudio-devel
107 %description -n Qt5MultimediaQuick
108 Qt5 Multimedia Quick library and modules.
110 %description -n Qt5MultimediaQuick -l pl.UTF-8
111 Biblioteka i moduły Qt5 Multimedia Quick.
113 %package -n Qt5MultimediaQuick-devel
114 Summary: Qt5 Multimedia Quick library - development files
115 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Quick - pliki programistyczne
116 Group: X11/Development/Libraries
117 Requires: Qt5MultimediaQuick = %{version}-%{release}
118 Requires: Qt5Multimedia-devel = %{version}-%{release}
119 Requires: Qt5Qml-devel >= %{qtdeclarative_ver}
120 Requires: Qt5Quick-devel >= %{qtdeclarative_ver}
122 %description -n Qt5MultimediaQuick-devel
123 Qt5 Multimedia Quick library - development files.
125 %description -n Qt5MultimediaQuick-devel -l pl.UTF-8
126 Biblioteka Qt5 Multimedia Quick - pliki programistyczne.
128 %package -n Qt5MultimediaWidgets
129 Summary: Qt5 Multimedia Widgets library
130 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets
132 Requires: Qt5Multimedia = %{version}-%{release}
133 Requires: Qt5Widgets >= %{qtbase_ver}
135 %description -n Qt5MultimediaWidgets
136 Qt5 Multimedia Widgets library provides widgets classes for Qt5
139 %description -n Qt5MultimediaWidgets -l pl.UTF-8
140 Biblioteka Qt5 Multimedia Widgets dostarcza klasy widgetów dla
141 biblioteki Qt5 Multimedia.
143 %package -n Qt5MultimediaWidgets-devel
144 Summary: Qt5 Multimedia Widgets library - development files
145 Summary(pl.UTF-8): Biblioteka Qt5 Multimedia Widgets - pliki programistyczne
146 Group: X11/Development/Libraries
147 Requires: Qt5MultimediaWidgets = %{version}-%{release}
148 Requires: Qt5Multimedia-devel = %{version}-%{release}
149 Requires: Qt5Widgets-devel >= %{qtbase_ver}
151 %description -n Qt5MultimediaWidgets-devel
152 Qt5 Multimedia Widgets library - development files.
154 %description -n Qt5MultimediaWidgets-devel -l pl.UTF-8
155 Biblioteka Qt5 Multimedia Widgets - pliki programistyczne.
157 %package -n Qt5Multimedia-gstreamer
158 Summary: Qt5 Multimedia GStreamer components
159 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia
161 Requires: Qt5MultimediaWidgets = %{version}-%{release}
163 %description -n Qt5Multimedia-gstreamer
164 Qt5 Multimedia GStreamer components (libqgsttools library and modules
165 for audio decoding, camera, media capturing and media playing).
167 %description -n Qt5Multimedia-gstreamer -l pl.UTF-8
168 Komponenty GStreamera biblioteki Qt5 Multimedia: biblioteka
169 libqgsttools, moduły do dekodowania dźwięku, kamery, przechwytywania
170 obrazu i odtwarzania).
172 %package -n Qt5Multimedia-gstreamer-devel
173 Summary: Qt5 Multimedia GStreamer components - development files
174 Summary(pl.UTF-8): Komponenty GStreamera biblioteki Qt5 Multimedia - pliki programistyczne
175 Group: X11/Development/Libraries
176 Requires: Qt5Multimedia-gstreamer = %{version}-%{release}
177 Requires: Qt5MultimediaWidgets-devel = %{version}-%{release}
178 Requires: alsa-lib-devel
179 Requires: gstreamer-devel
180 Requires: gstreamer-gl-devel
181 Requires: gstreamer-plugins-base-devel
182 Requires: pulseaudio-devel
184 %description -n Qt5Multimedia-gstreamer-devel
185 Qt5 Multimedia GStreamer components - development files.
187 %description -n Qt5Multimedia-gstreamer-devel -l pl.UTF-8
188 Komponenty GStreamera biblioteki Qt5 Multimedia - pliki
192 Summary: Qt5 Multimedia documentation in HTML format
193 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Multimedia w formacie HTML
195 Requires: qt5-doc-common >= %{qtbase_ver}
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}
212 Qt5 Multimedia documentation in QCH format.
214 %description doc-qch -l pl.UTF-8
215 Dokumentacja do bibliotek Qt5 Multimedia w formacie QCH.
218 Summary: Qt5 Multimedia examples
219 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Multimedia
220 Group: X11/Development/Libraries
223 %description examples
224 Qt5 Multimedia examples.
226 %description examples -l pl.UTF-8
227 Przykłady do bibliotek Qt5 Multimedia.
230 %setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
236 %{?with_doc:%{__make} docs}
239 cd qttranslations-everywhere-src-%{version}
246 rm -rf $RPM_BUILD_ROOT
249 INSTALL_ROOT=$RPM_BUILD_ROOT
252 %{__make} install_docs \
253 INSTALL_ROOT=$RPM_BUILD_ROOT
257 %{__make} -C qttranslations-everywhere-src-%{version} install \
258 INSTALL_ROOT=$RPM_BUILD_ROOT
259 # keep only qtmultimedia
260 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qt,qtbase,qtconnectivity,qtdeclarative,qtlocation,qtquickcontrols,qtquickcontrols2,qtserialport,qtscript,qtwebengine,qtwebsockets,qtxmlpatterns}_*.qm
263 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
264 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
265 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
266 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
269 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.??
270 # actually drop *.la, follow policy of not packaging them when *.pc exist
271 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
273 # Prepare some files list
275 r="$RPM_BUILD_ROOT$2"
277 echo "%%dir $2" >> $1.files
278 elif [ -x "$r" ] ; then
279 echo "%%attr(755,root,root) $2" >> $1.files
280 elif [ -f "$r" ]; then
281 echo "$2" >> $1.files
283 echo "Error generation $1 files list!"
284 echo "$r: no such file or directory!"
290 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
295 echo "%defattr(644,root,root,755)" > examples.files
296 ifecho_tree examples %{_examplesdir}/qt5/multimedia
297 ifecho_tree examples %{_examplesdir}/qt5/multimediawidgets
299 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
303 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
304 sed -e "s:^$RPM_BUILD_ROOT::" \
305 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
308 echo '%defattr(644,root,root,755)' > qtmultimedia.lang
310 find_qt5_qm qtmultimedia >> qtmultimedia.lang
314 rm -rf $RPM_BUILD_ROOT
316 %post -n Qt5Multimedia -p /sbin/ldconfig
317 %postun -n Qt5Multimedia -p /sbin/ldconfig
319 %post -n Qt5MultimediaQuick -p /sbin/ldconfig
320 %postun -n Qt5MultimediaQuick -p /sbin/ldconfig
322 %post -n Qt5MultimediaWidgets -p /sbin/ldconfig
323 %postun -n Qt5MultimediaWidgets -p /sbin/ldconfig
325 %post -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
326 %postun -n Qt5Multimedia-gstreamer -p /sbin/ldconfig
328 %files -n Qt5Multimedia -f qtmultimedia.lang
329 %defattr(644,root,root,755)
330 %doc LICENSE.GPL3-EXCEPT dist/changes-*
331 # R: Qt5Core Qt5Gui Qt5Network pulseaudio-libs
332 %attr(755,root,root) %{_libdir}/libQt5Multimedia.so.*.*.*
333 %attr(755,root,root) %ghost %{_libdir}/libQt5Multimedia.so.5
334 %dir %{qt5dir}/plugins/audio
335 # R: Qt5Core Qt5Multimedia alsa-lib
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 Qt5Network
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 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Quick
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 Qt5MultimediaQuick Qt5Network 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 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5Widgets OpenGL
388 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so.*.*.*
389 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaWidgets.so.5
391 %files -n Qt5MultimediaWidgets-devel
392 %defattr(644,root,root,755)
393 %attr(755,root,root) %{_libdir}/libQt5MultimediaWidgets.so
394 %{_libdir}/libQt5MultimediaWidgets.prl
395 %{_includedir}/qt5/QtMultimediaWidgets
396 %{_pkgconfigdir}/Qt5MultimediaWidgets.pc
397 %{_libdir}/cmake/Qt5MultimediaWidgets
398 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets.pri
399 %{qt5dir}/mkspecs/modules/qt_lib_multimediawidgets_private.pri
401 %files -n Qt5Multimedia-gstreamer
402 %defattr(644,root,root,755)
403 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets Qt5Network Qt5Widgets alsa-lib glib2 gstreamer gstreamer-gl gstreamer-plugins-base
404 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so.*.*.*
405 %attr(755,root,root) %ghost %{_libdir}/libQt5MultimediaGstTools.so.5
406 %{_libdir}/cmake/Qt5MultimediaGstTools
407 # R: Qt5Core Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
408 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstaudiodecoder.so
409 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
410 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstcamerabin.so
411 # R: Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaGstTools glib2 gstreamer gstreamer-plugins-base
412 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediacapture.so
413 # R: Qt5Core Qt5Multimedia Qt5MultimediaGstTools gstreamer
414 %attr(755,root,root) %{qt5dir}/plugins/mediaservice/libgstmediaplayer.so
416 %files -n Qt5Multimedia-gstreamer-devel
417 %defattr(644,root,root,755)
418 %{_includedir}/qt5/QtMultimediaGstTools
419 %attr(755,root,root) %{_libdir}/libQt5MultimediaGstTools.so
420 %{qt5dir}/mkspecs/modules/qt_lib_multimediagsttools_private.pri
421 %{_libdir}/libQt5MultimediaGstTools.prl
422 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_CameraBinServicePlugin.cmake
423 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerAudioDecoderServicePlugin.cmake
424 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerCaptureServicePlugin.cmake
425 %{_libdir}/cmake/Qt5Multimedia/Qt5Multimedia_QGstreamerPlayerServicePlugin.cmake
429 %defattr(644,root,root,755)
430 %{_docdir}/qt5-doc/qtmultimedia
433 %defattr(644,root,root,755)
434 %{_docdir}/qt5-doc/qtmultimedia.qch
437 %files examples -f examples.files
438 %defattr(644,root,root,755)
439 # XXX: dir shared with qt5-qtbase-examples
440 %dir %{_examplesdir}/qt5