3 %bcond_without qch # documentation in QCH format
4 %bcond_without qm # QM translations
5 %bcond_without qtxmlpatterns # XmlListModel plugin (Qt5XmlPatterns based)
7 %define orgname qtdeclarative
8 %define qtbase_ver %{version}
9 %define qttools_ver %{version}
10 %define qtxmlpatterns_ver %{version}
11 Summary: The Qt5 Declarative libraries
12 Summary(pl.UTF-8): Biblioteki Qt5 Declarative
16 License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0
18 Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
19 # Source0-md5: 86dfe5c41e14a142c72fdaa6a64f933c
20 Source1: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
21 # Source1-md5: 0bdd1b0a83b03a04a4ebeedfa3057d21
23 URL: http://qt-project.org/
24 BuildRequires: OpenGL-devel
25 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
26 BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
27 BuildRequires: Qt5Network-devel >= %{qtbase_ver}
28 BuildRequires: Qt5Sql-devel >= %{qtbase_ver}
29 BuildRequires: Qt5Test-devel >= %{qtbase_ver}
30 BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
31 %{?with_qtxmlpatterns:BuildRequires: Qt5XmlPatterns-devel >= %{qtxmlpatterns_ver}}
33 BuildRequires: qt5-assistant >= %{qttools_ver}
35 BuildRequires: qt5-build >= %{qtbase_ver}
36 %{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}}
37 BuildRequires: qt5-qmake >= %{qtbase_ver}
38 BuildRequires: rpmbuild(macros) >= 1.654
39 BuildRequires: tar >= 1:1.22
41 # qml: Core Gui Qml Widgets
43 # qmlimportscanner: Core
45 # qmlplugindump: Core Gui Qml Quick
46 # qmlprofilter: Core Network
47 # qmlscene: Core Gui Qml Quick Widgets
48 # qmltestrunner: QuickTest
49 Requires: Qt5Core >= %{qtbase_ver}
50 Requires: Qt5Gui >= %{qtbase_ver}
51 Requires: Qt5Network >= %{qtbase_ver}
52 Requires: Qt5Qml = %{version}-%{release}
53 Requires: Qt5Quick = %{version}-%{release}
54 Requires: Qt5Widgets >= %{qtbase_ver}
55 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57 %define specflags -fno-strict-aliasing
58 %define qt5dir %{_libdir}/qt5
61 Qt is a cross-platform application and UI framework. Using Qt, you can
62 write web-enabled applications once and deploy them across desktop,
63 mobile and embedded systems without rewriting the source code.
65 This package contains Qt5 Declarative libraries.
67 %description -l pl.UTF-8
68 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
69 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
70 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
73 Ten pakiet zawiera biblioteki Qt5 Declarative.
76 Summary: Qt5 Qml libraries
77 Summary(pl.UTF-8): Biblioteki Qt5 Qml
79 # Qt5Qml: Core Network
80 Requires: Qt5Core >= %{qtbase_ver}
81 Requires: Qt5Network >= %{qtbase_ver}
83 %description -n Qt5Qml
84 The Qt5 QML module provides a framework for developing applications
85 and libraries with the QML language. It defines and implements the
86 language and engine infrastructure, and provides an API to enable
87 application developers to extend the QML language with custom types
88 and integrate QML code with JavaScript and C++. The Qt5 QML module
89 provides both a QML API and a C++ API.
91 %description -n Qt5Qml -l pl.UTF-8
92 Moduł Qt5 Qml dostarcza szkielet do tworzenia aplikacji i bibliotek
93 przy użyciu języka QML. Moduł definiuje i implementuje język oraz
94 silnik, a także udostąpnia API pozwalające programistom rozszerzać
95 język QML o własne typy oraz integrować kod w języku QML z
96 JavaScriptem i C++. Moduł Qt5 QML udostępnia API zarówno dla języka
99 %package -n Qt5Qml-devel
100 Summary: Qt5 Qml libraries - development files
101 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
102 Group: Development/Libraries
103 # Qt5Qml: Core Network
104 # Qt5QmlDevTools: Core
105 Requires: Qt5Core-devel >= %{qtbase_ver}
106 Requires: Qt5Network-devel >= %{qtbase_ver}
107 Requires: Qt5Qml = %{version}-%{release}
108 Obsoletes: qt5-qtdeclarative-devel
110 %description -n Qt5Qml-devel
111 Qt5 Qml libraries - development files.
113 %description -n Qt5Qml-devel -l pl.UTF-8
114 Biblioteki Qt5 Qml - pliki programistyczne.
117 Summary: Qt5 Quick libraries
118 Summary(pl.UTF-8): Biblioteki Qt5 Quick
120 # Qt5Quick: Core Gui Network Qml
121 # Qt5QuickParticles: Core Gui Qml Quick
122 # Qt5QuickTest: Gui Qml Quick Test Widgets
123 Requires: Qt5Core >= %{qtbase_ver}
124 Requires: Qt5Gui >= %{qtbase_ver}
125 Requires: Qt5Network >= %{qtbase_ver}
126 Requires: Qt5Qml = %{version}-%{release}
127 Requires: Qt5Test >= %{qtbase_ver}
128 Requires: Qt5Widgets >= %{qtbase_ver}
130 %description -n Qt5Quick
131 The Qt5 Quick module is the standard library for writing QML
132 applications. While the Qt5 QML module provides the QML engine and
133 language infrastructure, the Qt5 Quick module provides all the basic
134 types necessary for creating user interfaces with QML. It provides a
135 visual canvas and includes types for creating and animating visual
136 components, receiving user input, creating data models and views and
137 delayed object instantiation.
139 The Qt5 Quick module provides both a QML API which supplies QML types
140 for creating user interfaces with the QML language, and a C++ API for
141 extending QML applications with C++ code.
143 %description -n Qt5Quick -l pl.UTF-8
144 Moduł Qt5 Quick to biblioteka standardowa do pisania aplikacji QML.
145 Sam moduł Qt5 QML dostarcza silnik i infrastrukturę języka, natomiast
146 moduł Qt5 Quick udostępnia wszystkie podstawowe typy niezbędne do
147 tworzenia interfejsu użytkownika przy użyciu języka QML. Udostępnia
148 graficzne "płótno", zawiera typy do tworzenia i animowania komponentów
149 graficznych, odczytu wejścia od użytkownika, tworzenia modeli i
150 widoków danych oraz opóźnionych instancji obiektów.
152 Moduł Qt5 Quick dostarcza API zarówno dla języka QML, zapewniające
153 typy QML do tworzenia interfejsów użytkownika w języku QML, jak i dla
154 języka C++ do rozszerzania aplikacji QML przy użyciu kodu w C++.
156 %package -n Qt5Quick-devel
157 Summary: Qt5 Qml libraries - development files
158 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
159 Group: X11/Development/Libraries
160 # Qt5Quick: Core Gui Network Qml
161 # Qt5QuickParticles: Core Gui Network Qml Quick
162 # Qt5QuickTest: Core Gui Widgets
163 Requires: Qt5Core >= %{qtbase_ver}
164 Requires: Qt5Gui >= %{qtbase_ver}
165 Requires: Qt5Network >= %{qtbase_ver}
166 Requires: Qt5Qml-devel = %{version}-%{release}
167 Requires: Qt5Quick = %{version}-%{release}
168 Requires: Qt5Widgets >= %{qtbase_ver}
170 %description -n Qt5Quick-devel
171 Qt5 Qml libraries - development files.
173 %description -n Qt5Quick-devel -l pl.UTF-8
174 Biblioteki Qt5 Qml - pliki programistyczne.
176 %package -n Qt5Quick-xmllistmodel
177 Summary: XmlListModel plugin for Qt5 Quick
178 Summary(pl.UTF-8): Wtyczka XmlListModel dla Qt5 Quick
180 Requires: Qt5Qml = %{version}-%{release}
181 Requires: Qt5Quick = %{version}-%{release}
182 Requires: Qt5XmlPatterns >= %{qtxmlpatterns_ver}
184 %description -n Qt5Quick-xmllistmodel
185 XmlListModel plugin for Qt5 Quick provides QML types for creating
186 models from XML data.
188 %description -n Qt5Quick-xmllistmodel -l pl.UTF-8
189 Wtyczka XmlListModel dla Qt5 Quick dostarcza typy QML do tworzenia
193 Summary: Qt5 Declarative documentation in HTML format
194 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie HTML
196 Requires: qt5-doc-common >= %{qtbase_ver}
197 %if "%{_rpmversion}" >= "5"
202 Qt5 Declarative documentation in HTML format.
204 %description doc -l pl.UTF-8
205 Dokumentacja do bibliotek Qt5 Declarative w formacie HTML.
208 Summary: Qt5 Declarative documentation in QCH format
209 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie QCH
211 Requires: qt5-doc-common >= %{qtbase_ver}
212 %if "%{_rpmversion}" >= "5"
217 Qt5 Declarative documentation in QCH format.
219 %description doc-qch -l pl.UTF-8
220 Dokumentacja do bibliotek Qt5 Declarative w formacie QCH.
223 Summary: Qt5 Declarative examples
224 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Declarative
225 Group: X11/Development/Libraries
226 %if "%{_rpmversion}" >= "5"
230 %description examples
231 Qt5 Declarative examples.
233 %description examples -l pl.UTF-8
234 Przykłady do bibliotek Qt5 Declarative.
237 %setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
245 %{__make} %{!?with_qch:html_}docs
248 cd qttranslations-opensource-src-%{version}
255 rm -rf $RPM_BUILD_ROOT
256 install -d $RPM_BUILD_ROOT%{_bindir}
259 INSTALL_ROOT=$RPM_BUILD_ROOT
261 %{__make} install_%{!?with_qch:html_}docs \
262 INSTALL_ROOT=$RPM_BUILD_ROOT
265 %{__make} -C qttranslations-opensource-src-%{version} install \
266 INSTALL_ROOT=$RPM_BUILD_ROOT
267 # keep only qtdeclarative
268 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtlocation,qtmultimedia,qtquick1,qtscript,qtxmlpatterns}_*.qm
271 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
272 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
273 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
274 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
277 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
278 # actually drop *.la, follow policy of not packaging them when *.pc exist
279 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
281 # symlinks in system bin dir
282 for f in qml qmlbundle qmlimportscanner qmlmin qmlplugindump qmlprofiler qmlscene qmltestrunner ; do
283 ln -sf ../%{_lib}/qt5/bin/$f $RPM_BUILD_ROOT%{_bindir}/${f}-qt5
286 # Prepare some files list
288 r="$RPM_BUILD_ROOT$2"
290 echo "%%dir $2" >> $1.files
291 elif [ -x "$r" ] ; then
292 echo "%%attr(755,root,root) $2" >> $1.files
293 elif [ -f "$r" ]; then
294 echo "$2" >> $1.files
296 echo "Error generation $1 files list!"
297 echo "$r: no such file or directory!"
303 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
308 echo "%defattr(644,root,root,755)" > examples.files
309 ifecho_tree examples %{_examplesdir}/qt5/qml
310 ifecho_tree examples %{_examplesdir}/qt5/qmltest
311 ifecho_tree examples %{_examplesdir}/qt5/quick
313 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
317 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
318 sed -e "s:^$RPM_BUILD_ROOT::" \
319 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
322 echo '%defattr(644,root,root,755)' > qtdeclarative.lang
324 find_qt5_qm qtdeclarative >> qtdeclarative.lang
328 rm -rf $RPM_BUILD_ROOT
330 %post -n Qt5Qml -p /sbin/ldconfig
331 %postun -n Qt5Qml -p /sbin/ldconfig
333 %post -n Qt5Quick -p /sbin/ldconfig
334 %postun -n Qt5Quick -p /sbin/ldconfig
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_bindir}/qml-qt5
339 %attr(755,root,root) %{_bindir}/qmlbundle-qt5
340 %attr(755,root,root) %{_bindir}/qmlimportscanner-qt5
341 %attr(755,root,root) %{_bindir}/qmlmin-qt5
342 %attr(755,root,root) %{_bindir}/qmlplugindump-qt5
343 %attr(755,root,root) %{_bindir}/qmlprofiler-qt5
344 %attr(755,root,root) %{_bindir}/qmlscene-qt5
345 %attr(755,root,root) %{_bindir}/qmltestrunner-qt5
346 %attr(755,root,root) %{qt5dir}/bin/qml
347 %attr(755,root,root) %{qt5dir}/bin/qmlbundle
348 %attr(755,root,root) %{qt5dir}/bin/qmlimportscanner
349 %attr(755,root,root) %{qt5dir}/bin/qmlmin
350 %attr(755,root,root) %{qt5dir}/bin/qmlplugindump
351 %attr(755,root,root) %{qt5dir}/bin/qmlprofiler
352 %attr(755,root,root) %{qt5dir}/bin/qmlscene
353 %attr(755,root,root) %{qt5dir}/bin/qmltestrunner
355 %files -n Qt5Qml -f qtdeclarative.lang
356 %defattr(644,root,root,755)
357 %doc LGPL_EXCEPTION.txt
358 %attr(755,root,root) %{_libdir}/libQt5Qml.so.*.*.*
359 %attr(755,root,root) %ghost %{_libdir}/libQt5Qml.so.5
361 # loaded from src/qml/debugger/{qqmldebugserver,qqmlinspectorservice}.cpp
362 %dir %{qt5dir}/plugins/qmltooling
363 # R: Core Network Qml
364 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_tcp.so
367 %dir %{qt5dir}/qml/Qt
368 %dir %{qt5dir}/qml/Qt/labs
369 %dir %{qt5dir}/qml/Qt/labs/folderlistmodel
371 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
372 %{qt5dir}/qml/Qt/labs/folderlistmodel/plugins.qmltypes
373 %{qt5dir}/qml/Qt/labs/folderlistmodel/qmldir
374 %dir %{qt5dir}/qml/Qt/labs/settings
376 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/settings/libqmlsettingsplugin.so
377 %{qt5dir}/qml/Qt/labs/settings/plugins.qmltypes
378 %{qt5dir}/qml/Qt/labs/settings/qmldir
379 %dir %{qt5dir}/qml/QtQml
380 %dir %{qt5dir}/qml/QtQml/Models.2
382 %attr(755,root,root) %{qt5dir}/qml/QtQml/Models.2/libmodelsplugin.so
383 %{qt5dir}/qml/QtQml/Models.2/qmldir
385 %files -n Qt5Qml-devel
386 %defattr(644,root,root,755)
387 %attr(755,root,root) %{_libdir}/libQt5Qml.so
389 %{_libdir}/libQt5QmlDevTools.a
390 %{_libdir}/libQt5Qml.prl
391 %{_libdir}/libQt5QmlDevTools.prl
392 %{_includedir}/qt5/QtQml
393 %{_pkgconfigdir}/Qt5Qml.pc
394 %{_pkgconfigdir}/Qt5QmlDevTools.pc
395 %{_libdir}/cmake/Qt5Qml
396 %{qt5dir}/mkspecs/modules/qt_lib_qml.pri
397 %{qt5dir}/mkspecs/modules/qt_lib_qml_private.pri
398 %{qt5dir}/mkspecs/modules/qt_lib_qmldevtools_private.pri
399 %{qt5dir}/mkspecs/modules/qt_lib_qmltest.pri
400 %{qt5dir}/mkspecs/modules/qt_lib_qmltest_private.pri
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_libdir}/libQt5Quick.so.*.*.*
405 %attr(755,root,root) %ghost %{_libdir}/libQt5Quick.so.5
406 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so.*.*.*
407 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickParticles.so.5
408 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so.*.*.*
409 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickTest.so.5
410 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so.*.*.*
411 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickWidgets.so.5
413 # R: Core Gui Qml Quick
414 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_qtquick2.so
416 %dir %{qt5dir}/qml/QtQuick
418 %dir %{qt5dir}/qml/QtQuick/LocalStorage
420 %attr(755,root,root) %{qt5dir}/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
421 %{qt5dir}/qml/QtQuick/LocalStorage/plugins.qmltypes
422 %{qt5dir}/qml/QtQuick/LocalStorage/qmldir
424 %dir %{qt5dir}/qml/QtQuick/Particles.2
425 # R: Core Qml QuickParticles
426 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Particles.2/libparticlesplugin.so
427 %{qt5dir}/qml/QtQuick/Particles.2/plugins.qmltypes
428 %{qt5dir}/qml/QtQuick/Particles.2/qmldir
430 %dir %{qt5dir}/qml/QtQuick/Window.2
432 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Window.2/libwindowplugin.so
433 %{qt5dir}/qml/QtQuick/Window.2/plugins.qmltypes
434 %{qt5dir}/qml/QtQuick/Window.2/qmldir
436 %dir %{qt5dir}/qml/QtQuick.2
438 %attr(755,root,root) %{qt5dir}/qml/QtQuick.2/libqtquick2plugin.so
439 %{qt5dir}/qml/QtQuick.2/plugins.qmltypes
440 %{qt5dir}/qml/QtQuick.2/qmldir
442 %dir %{qt5dir}/qml/QtTest
443 # R: Core Gui Qml QuickTest Test
444 %attr(755,root,root) %{qt5dir}/qml/QtTest/libqmltestplugin.so
445 %{qt5dir}/qml/QtTest/plugins.qmltypes
446 %{qt5dir}/qml/QtTest/qmldir
447 %{qt5dir}/qml/QtTest/testlogger.js
448 %{qt5dir}/qml/QtTest/*.qml
450 %files -n Qt5Quick-devel
451 %defattr(644,root,root,755)
452 %attr(755,root,root) %{_libdir}/libQt5Quick.so
453 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so
454 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so
455 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so
456 %{_libdir}/libQt5Quick.prl
457 %{_libdir}/libQt5QuickParticles.prl
458 %{_libdir}/libQt5QuickTest.prl
459 %{_libdir}/libQt5QuickWidgets.prl
460 %{_includedir}/qt5/QtQuick
461 %{_includedir}/qt5/QtQuickParticles
462 %{_includedir}/qt5/QtQuickTest
463 %{_includedir}/qt5/QtQuickWidgets
464 %{_pkgconfigdir}/Qt5Quick.pc
465 %{_pkgconfigdir}/Qt5QuickParticles.pc
466 %{_pkgconfigdir}/Qt5QuickTest.pc
467 %{_pkgconfigdir}/Qt5QuickWidgets.pc
468 %{_libdir}/cmake/Qt5Quick
469 %{_libdir}/cmake/Qt5QuickTest
470 %{_libdir}/cmake/Qt5QuickWidgets
471 %{qt5dir}/mkspecs/modules/qt_lib_quick.pri
472 %{qt5dir}/mkspecs/modules/qt_lib_quick_private.pri
473 %{qt5dir}/mkspecs/modules/qt_lib_quickparticles_private.pri
474 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets.pri
475 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets_private.pri
477 %if %{with qtxmlpatterns}
478 %files -n Qt5Quick-xmllistmodel
479 %defattr(644,root,root,755)
480 %dir %{qt5dir}/qml/QtQuick/XmlListModel
481 # R: Core Network Qml XmlPatterns
482 %attr(755,root,root) %{qt5dir}/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
483 %{qt5dir}/qml/QtQuick/XmlListModel/plugins.qmltypes
484 %{qt5dir}/qml/QtQuick/XmlListModel/qmldir
488 %defattr(644,root,root,755)
489 %{_docdir}/qt5-doc/qtqml
490 %{_docdir}/qt5-doc/qtquick
494 %defattr(644,root,root,755)
495 %{_docdir}/qt5-doc/qtqml.qch
496 %{_docdir}/qt5-doc/qtquick.qch
499 %files examples -f examples.files
500 %defattr(644,root,root,755)
501 # XXX: dir shared with qt5-qtbase-examples
502 %dir %{_examplesdir}/qt5