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,qtquickcontrols,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 qmleasing qmllint ; 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}/qmlbundle-qt5
339 %attr(755,root,root) %{_bindir}/qmleasing-qt5
340 %attr(755,root,root) %{_bindir}/qmlimportscanner-qt5
341 %attr(755,root,root) %{_bindir}/qmllint-qt5
342 %attr(755,root,root) %{_bindir}/qmlmin-qt5
343 %attr(755,root,root) %{_bindir}/qmlplugindump-qt5
344 %attr(755,root,root) %{_bindir}/qmlprofiler-qt5
345 %attr(755,root,root) %{_bindir}/qml-qt5
346 %attr(755,root,root) %{_bindir}/qmlscene-qt5
347 %attr(755,root,root) %{_bindir}/qmltestrunner-qt5
348 %attr(755,root,root) %{qt5dir}/bin/qml
349 %attr(755,root,root) %{qt5dir}/bin/qmlbundle
350 %attr(755,root,root) %{qt5dir}/bin/qmleasing
351 %attr(755,root,root) %{qt5dir}/bin/qmlimportscanner
352 %attr(755,root,root) %{qt5dir}/bin/qmllint
353 %attr(755,root,root) %{qt5dir}/bin/qmlmin
354 %attr(755,root,root) %{qt5dir}/bin/qmlplugindump
355 %attr(755,root,root) %{qt5dir}/bin/qmlprofiler
356 %attr(755,root,root) %{qt5dir}/bin/qmlscene
357 %attr(755,root,root) %{qt5dir}/bin/qmltestrunner
359 %files -n Qt5Qml -f qtdeclarative.lang
360 %defattr(644,root,root,755)
361 %doc LGPL_EXCEPTION.txt
362 %attr(755,root,root) %{_libdir}/libQt5Qml.so.*.*.*
363 %attr(755,root,root) %ghost %{_libdir}/libQt5Qml.so.5
365 # loaded from src/qml/debugger/{qqmldebugserver,qqmlinspectorservice}.cpp
366 %dir %{qt5dir}/plugins/qmltooling
367 # R: Core Network Qml
368 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_tcp.so
371 %dir %{qt5dir}/qml/Qt
372 %dir %{qt5dir}/qml/Qt/labs
373 %dir %{qt5dir}/qml/Qt/labs/folderlistmodel
375 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
376 %{qt5dir}/qml/Qt/labs/folderlistmodel/plugins.qmltypes
377 %{qt5dir}/qml/Qt/labs/folderlistmodel/qmldir
378 %dir %{qt5dir}/qml/Qt/labs/settings
380 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/settings/libqmlsettingsplugin.so
381 %{qt5dir}/qml/Qt/labs/settings/plugins.qmltypes
382 %{qt5dir}/qml/Qt/labs/settings/qmldir
383 %dir %{qt5dir}/qml/QtQml
384 %dir %{qt5dir}/qml/QtQml/Models.2
385 %dir %{qt5dir}/qml/QtQml/StateMachine
387 %attr(755,root,root) %{qt5dir}/qml/QtQml/Models.2/libmodelsplugin.so
388 %{qt5dir}/qml/QtQml/Models.2/qmldir
390 %attr(755,root,root) %{qt5dir}/qml/QtQml/StateMachine/libqtqmlstatemachine.so
391 %{qt5dir}/qml/QtQml/StateMachine/plugins.qmltypes
392 %{qt5dir}/qml/QtQml/StateMachine/qmldir
394 %files -n Qt5Qml-devel
395 %defattr(644,root,root,755)
396 %attr(755,root,root) %{_libdir}/libQt5Qml.so
398 %{_libdir}/libQt5QmlDevTools.a
399 %{_libdir}/libQt5Qml.prl
400 %{_libdir}/libQt5QmlDevTools.prl
401 %{_includedir}/qt5/QtQml
402 %{_pkgconfigdir}/Qt5Qml.pc
403 %{_pkgconfigdir}/Qt5QmlDevTools.pc
404 %{_libdir}/cmake/Qt5Qml
405 %{qt5dir}/mkspecs/modules/qt_lib_qml.pri
406 %{qt5dir}/mkspecs/modules/qt_lib_qml_private.pri
407 %{qt5dir}/mkspecs/modules/qt_lib_qmldevtools_private.pri
408 %{qt5dir}/mkspecs/modules/qt_lib_qmltest.pri
409 %{qt5dir}/mkspecs/modules/qt_lib_qmltest_private.pri
412 %defattr(644,root,root,755)
413 %attr(755,root,root) %{_libdir}/libQt5Quick.so.*.*.*
414 %attr(755,root,root) %ghost %{_libdir}/libQt5Quick.so.5
415 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so.*.*.*
416 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickParticles.so.5
417 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so.*.*.*
418 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickTest.so.5
419 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so.*.*.*
420 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickWidgets.so.5
422 # R: Core Gui Qml Quick
423 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_qtquick2.so
425 %dir %{qt5dir}/qml/QtQuick
427 %dir %{qt5dir}/qml/QtQuick/LocalStorage
429 %attr(755,root,root) %{qt5dir}/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
430 %{qt5dir}/qml/QtQuick/LocalStorage/plugins.qmltypes
431 %{qt5dir}/qml/QtQuick/LocalStorage/qmldir
433 %dir %{qt5dir}/qml/QtQuick/Particles.2
434 # R: Core Qml QuickParticles
435 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Particles.2/libparticlesplugin.so
436 %{qt5dir}/qml/QtQuick/Particles.2/plugins.qmltypes
437 %{qt5dir}/qml/QtQuick/Particles.2/qmldir
439 %dir %{qt5dir}/qml/QtQuick/Window.2
441 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Window.2/libwindowplugin.so
442 %{qt5dir}/qml/QtQuick/Window.2/plugins.qmltypes
443 %{qt5dir}/qml/QtQuick/Window.2/qmldir
445 %dir %{qt5dir}/qml/QtQuick.2
447 %attr(755,root,root) %{qt5dir}/qml/QtQuick.2/libqtquick2plugin.so
448 %{qt5dir}/qml/QtQuick.2/plugins.qmltypes
449 %{qt5dir}/qml/QtQuick.2/qmldir
451 %dir %{qt5dir}/qml/QtTest
452 # R: Core Gui Qml QuickTest Test
453 %attr(755,root,root) %{qt5dir}/qml/QtTest/libqmltestplugin.so
454 %{qt5dir}/qml/QtTest/plugins.qmltypes
455 %{qt5dir}/qml/QtTest/qmldir
456 %{qt5dir}/qml/QtTest/testlogger.js
457 %{qt5dir}/qml/QtTest/*.qml
459 %files -n Qt5Quick-devel
460 %defattr(644,root,root,755)
461 %attr(755,root,root) %{_libdir}/libQt5Quick.so
462 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so
463 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so
464 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so
465 %{_libdir}/libQt5Quick.prl
466 %{_libdir}/libQt5QuickParticles.prl
467 %{_libdir}/libQt5QuickTest.prl
468 %{_libdir}/libQt5QuickWidgets.prl
469 %{_includedir}/qt5/QtQuick
470 %{_includedir}/qt5/QtQuickParticles
471 %{_includedir}/qt5/QtQuickTest
472 %{_includedir}/qt5/QtQuickWidgets
473 %{_pkgconfigdir}/Qt5Quick.pc
474 %{_pkgconfigdir}/Qt5QuickParticles.pc
475 %{_pkgconfigdir}/Qt5QuickTest.pc
476 %{_pkgconfigdir}/Qt5QuickWidgets.pc
477 %{_libdir}/cmake/Qt5Quick
478 %{_libdir}/cmake/Qt5QuickTest
479 %{_libdir}/cmake/Qt5QuickWidgets
480 %{qt5dir}/mkspecs/modules/qt_lib_quick.pri
481 %{qt5dir}/mkspecs/modules/qt_lib_quick_private.pri
482 %{qt5dir}/mkspecs/modules/qt_lib_quickparticles_private.pri
483 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets.pri
484 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets_private.pri
486 %if %{with qtxmlpatterns}
487 %files -n Qt5Quick-xmllistmodel
488 %defattr(644,root,root,755)
489 %dir %{qt5dir}/qml/QtQuick/XmlListModel
490 # R: Core Network Qml XmlPatterns
491 %attr(755,root,root) %{qt5dir}/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
492 %{qt5dir}/qml/QtQuick/XmlListModel/plugins.qmltypes
493 %{qt5dir}/qml/QtQuick/XmlListModel/qmldir
497 %defattr(644,root,root,755)
498 %{_docdir}/qt5-doc/qtqml
499 %{_docdir}/qt5-doc/qtquick
503 %defattr(644,root,root,755)
504 %{_docdir}/qt5-doc/qtqml.qch
505 %{_docdir}/qt5-doc/qtquick.qch
508 %files examples -f examples.files
509 %defattr(644,root,root,755)
510 # XXX: dir shared with qt5-qtbase-examples
511 %dir %{_examplesdir}/qt5