3 %bcond_with bootstrap # disable features to able to build without installed qt5
5 %bcond_without qch # documentation in QCH format
6 %bcond_without qm # QM translations
7 %bcond_without qtxmlpatterns # XmlListModel plugin (Qt5XmlPatterns based)
12 %undefine with_qtxmlpatterns
15 %define orgname qtdeclarative
16 %define qtbase_ver %{version}
17 %define qttools_ver %{version}
18 %define qtxmlpatterns_ver %{version}
19 Summary: The Qt5 Declarative libraries
20 Summary(pl.UTF-8): Biblioteki Qt5 Declarative
24 License: LGPL v2.1 with Digia Qt LGPL Exception v1.1 or GPL v3.0
26 Source0: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
27 # Source0-md5: 5b257cd097c315dab1b3c15e26211823
28 Source1: http://download.qt-project.org/official_releases/qt/5.4/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
29 # Source1-md5: 35151a736e3b720de4f5128386f9c834
30 URL: http://qt-project.org/
31 BuildRequires: OpenGL-devel
32 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
33 BuildRequires: Qt5Gui-devel >= %{qtbase_ver}
34 BuildRequires: Qt5Network-devel >= %{qtbase_ver}
35 BuildRequires: Qt5Sql-devel >= %{qtbase_ver}
36 BuildRequires: Qt5Test-devel >= %{qtbase_ver}
37 BuildRequires: Qt5Widgets-devel >= %{qtbase_ver}
38 %{?with_qtxmlpatterns:BuildRequires: Qt5XmlPatterns-devel >= %{qtxmlpatterns_ver}}
40 BuildRequires: qt5-assistant >= %{qttools_ver}
42 BuildRequires: qt5-build >= %{qtbase_ver}
43 %{?with_qm:BuildRequires: qt5-linguist >= %{qttools_ver}}
44 BuildRequires: qt5-qmake >= %{qtbase_ver}
45 BuildRequires: rpmbuild(macros) >= 1.654
46 BuildRequires: tar >= 1:1.22
48 # qml: Core Gui Qml Widgets
50 # qmlimportscanner: Core
52 # qmlplugindump: Core Gui Qml Quick
53 # qmlprofilter: Core Network
54 # qmlscene: Core Gui Qml Quick Widgets
55 # qmltestrunner: QuickTest
56 Requires: Qt5Core >= %{qtbase_ver}
57 Requires: Qt5Gui >= %{qtbase_ver}
58 Requires: Qt5Network >= %{qtbase_ver}
59 Requires: Qt5Qml = %{version}-%{release}
60 Requires: Qt5Quick = %{version}-%{release}
61 Requires: Qt5Widgets >= %{qtbase_ver}
62 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64 %define specflags -fno-strict-aliasing
65 %define qt5dir %{_libdir}/qt5
68 Qt is a cross-platform application and UI framework. Using Qt, you can
69 write web-enabled applications once and deploy them across desktop,
70 mobile and embedded systems without rewriting the source code.
72 This package contains Qt5 Declarative libraries.
74 %description -l pl.UTF-8
75 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
76 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
77 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
80 Ten pakiet zawiera biblioteki Qt5 Declarative.
83 Summary: Qt5 Qml libraries
84 Summary(pl.UTF-8): Biblioteki Qt5 Qml
86 # Qt5Qml: Core Network
87 Requires: Qt5Core >= %{qtbase_ver}
88 Requires: Qt5Network >= %{qtbase_ver}
90 %description -n Qt5Qml
91 The Qt5 QML module provides a framework for developing applications
92 and libraries with the QML language. It defines and implements the
93 language and engine infrastructure, and provides an API to enable
94 application developers to extend the QML language with custom types
95 and integrate QML code with JavaScript and C++. The Qt5 QML module
96 provides both a QML API and a C++ API.
98 %description -n Qt5Qml -l pl.UTF-8
99 Moduł Qt5 Qml dostarcza szkielet do tworzenia aplikacji i bibliotek
100 przy użyciu języka QML. Moduł definiuje i implementuje język oraz
101 silnik, a także udostąpnia API pozwalające programistom rozszerzać
102 język QML o własne typy oraz integrować kod w języku QML z
103 JavaScriptem i C++. Moduł Qt5 QML udostępnia API zarówno dla języka
106 %package -n Qt5Qml-devel
107 Summary: Qt5 Qml libraries - development files
108 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
109 Group: Development/Libraries
110 # Qt5Qml: Core Network
111 # Qt5QmlDevTools: Core
112 Requires: Qt5Core-devel >= %{qtbase_ver}
113 Requires: Qt5Network-devel >= %{qtbase_ver}
114 Requires: Qt5Qml = %{version}-%{release}
115 Obsoletes: qt5-qtdeclarative-devel
117 %description -n Qt5Qml-devel
118 Qt5 Qml libraries - development files.
120 %description -n Qt5Qml-devel -l pl.UTF-8
121 Biblioteki Qt5 Qml - pliki programistyczne.
124 Summary: Qt5 Quick libraries
125 Summary(pl.UTF-8): Biblioteki Qt5 Quick
127 # Qt5Quick: Core Gui Network Qml
128 # Qt5QuickParticles: Core Gui Qml Quick
129 # Qt5QuickTest: Gui Qml Quick Test Widgets
130 Requires: Qt5Core >= %{qtbase_ver}
131 Requires: Qt5Gui >= %{qtbase_ver}
132 Requires: Qt5Network >= %{qtbase_ver}
133 Requires: Qt5Qml = %{version}-%{release}
134 Requires: Qt5Test >= %{qtbase_ver}
135 Requires: Qt5Widgets >= %{qtbase_ver}
137 %description -n Qt5Quick
138 The Qt5 Quick module is the standard library for writing QML
139 applications. While the Qt5 QML module provides the QML engine and
140 language infrastructure, the Qt5 Quick module provides all the basic
141 types necessary for creating user interfaces with QML. It provides a
142 visual canvas and includes types for creating and animating visual
143 components, receiving user input, creating data models and views and
144 delayed object instantiation.
146 The Qt5 Quick module provides both a QML API which supplies QML types
147 for creating user interfaces with the QML language, and a C++ API for
148 extending QML applications with C++ code.
150 %description -n Qt5Quick -l pl.UTF-8
151 Moduł Qt5 Quick to biblioteka standardowa do pisania aplikacji QML.
152 Sam moduł Qt5 QML dostarcza silnik i infrastrukturę języka, natomiast
153 moduł Qt5 Quick udostępnia wszystkie podstawowe typy niezbędne do
154 tworzenia interfejsu użytkownika przy użyciu języka QML. Udostępnia
155 graficzne "płótno", zawiera typy do tworzenia i animowania komponentów
156 graficznych, odczytu wejścia od użytkownika, tworzenia modeli i
157 widoków danych oraz opóźnionych instancji obiektów.
159 Moduł Qt5 Quick dostarcza API zarówno dla języka QML, zapewniające
160 typy QML do tworzenia interfejsów użytkownika w języku QML, jak i dla
161 języka C++ do rozszerzania aplikacji QML przy użyciu kodu w C++.
163 %package -n Qt5Quick-devel
164 Summary: Qt5 Qml libraries - development files
165 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
166 Group: X11/Development/Libraries
167 # Qt5Quick: Core Gui Network Qml
168 # Qt5QuickParticles: Core Gui Network Qml Quick
169 # Qt5QuickTest: Core Gui Widgets
170 Requires: Qt5Core >= %{qtbase_ver}
171 Requires: Qt5Gui >= %{qtbase_ver}
172 Requires: Qt5Network >= %{qtbase_ver}
173 Requires: Qt5Qml-devel = %{version}-%{release}
174 Requires: Qt5Quick = %{version}-%{release}
175 Requires: Qt5Widgets >= %{qtbase_ver}
177 %description -n Qt5Quick-devel
178 Qt5 Qml libraries - development files.
180 %description -n Qt5Quick-devel -l pl.UTF-8
181 Biblioteki Qt5 Qml - pliki programistyczne.
183 %package -n Qt5Quick-xmllistmodel
184 Summary: XmlListModel plugin for Qt5 Quick
185 Summary(pl.UTF-8): Wtyczka XmlListModel dla Qt5 Quick
187 Requires: Qt5Qml = %{version}-%{release}
188 Requires: Qt5Quick = %{version}-%{release}
189 Requires: Qt5XmlPatterns >= %{qtxmlpatterns_ver}
191 %description -n Qt5Quick-xmllistmodel
192 XmlListModel plugin for Qt5 Quick provides QML types for creating
193 models from XML data.
195 %description -n Qt5Quick-xmllistmodel -l pl.UTF-8
196 Wtyczka XmlListModel dla Qt5 Quick dostarcza typy QML do tworzenia
200 Summary: Qt5 Declarative documentation in HTML format
201 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie HTML
203 Requires: qt5-doc-common >= %{qtbase_ver}
204 %if "%{_rpmversion}" >= "5"
209 Qt5 Declarative documentation in HTML format.
211 %description doc -l pl.UTF-8
212 Dokumentacja do bibliotek Qt5 Declarative w formacie HTML.
215 Summary: Qt5 Declarative documentation in QCH format
216 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie QCH
218 Requires: qt5-doc-common >= %{qtbase_ver}
219 %if "%{_rpmversion}" >= "5"
224 Qt5 Declarative documentation in QCH format.
226 %description doc-qch -l pl.UTF-8
227 Dokumentacja do bibliotek Qt5 Declarative w formacie QCH.
230 Summary: Qt5 Declarative examples
231 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Declarative
232 Group: X11/Development/Libraries
233 %if "%{_rpmversion}" >= "5"
237 %description examples
238 Qt5 Declarative examples.
240 %description examples -l pl.UTF-8
241 Przykłady do bibliotek Qt5 Declarative.
244 %setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
249 %{__make} %{!?with_qch:html_}docs
252 cd qttranslations-opensource-src-%{version}
259 rm -rf $RPM_BUILD_ROOT
260 install -d $RPM_BUILD_ROOT%{_bindir}
263 INSTALL_ROOT=$RPM_BUILD_ROOT
265 %{__make} install_%{!?with_qch:html_}docs \
266 INSTALL_ROOT=$RPM_BUILD_ROOT
269 %{__make} -C qttranslations-opensource-src-%{version} install \
270 INSTALL_ROOT=$RPM_BUILD_ROOT
271 # keep only qtdeclarative
272 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtlocation,qtmultimedia,qtquick1,qtquickcontrols,qtscript,qtxmlpatterns}_*.qm
275 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
276 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
277 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
278 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
281 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
282 # actually drop *.la, follow policy of not packaging them when *.pc exist
283 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
285 # symlinks in system bin dir
286 for f in qml qmlbundle qmlimportscanner qmlmin qmlplugindump qmlprofiler qmlscene qmltestrunner qmleasing qmllint ; do
287 ln -sf ../%{_lib}/qt5/bin/$f $RPM_BUILD_ROOT%{_bindir}/${f}-qt5
290 # Prepare some files list
292 r="$RPM_BUILD_ROOT$2"
294 echo "%%dir $2" >> $1.files
295 elif [ -x "$r" ] ; then
296 echo "%%attr(755,root,root) $2" >> $1.files
297 elif [ -f "$r" ]; then
298 echo "$2" >> $1.files
300 echo "Error generation $1 files list!"
301 echo "$r: no such file or directory!"
307 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
312 echo "%defattr(644,root,root,755)" > examples.files
313 ifecho_tree examples %{_examplesdir}/qt5/qml
314 ifecho_tree examples %{_examplesdir}/qt5/qmltest
315 ifecho_tree examples %{_examplesdir}/qt5/quick
317 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
321 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
322 sed -e "s:^$RPM_BUILD_ROOT::" \
323 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
326 echo '%defattr(644,root,root,755)' > qtdeclarative.lang
328 find_qt5_qm qtdeclarative >> qtdeclarative.lang
332 rm -rf $RPM_BUILD_ROOT
334 %post -n Qt5Qml -p /sbin/ldconfig
335 %postun -n Qt5Qml -p /sbin/ldconfig
337 %post -n Qt5Quick -p /sbin/ldconfig
338 %postun -n Qt5Quick -p /sbin/ldconfig
341 %defattr(644,root,root,755)
342 %attr(755,root,root) %{_bindir}/qmlbundle-qt5
343 %attr(755,root,root) %{_bindir}/qmleasing-qt5
344 %attr(755,root,root) %{_bindir}/qmlimportscanner-qt5
345 %attr(755,root,root) %{_bindir}/qmllint-qt5
346 %attr(755,root,root) %{_bindir}/qmlmin-qt5
347 %attr(755,root,root) %{_bindir}/qmlplugindump-qt5
348 %attr(755,root,root) %{_bindir}/qmlprofiler-qt5
349 %attr(755,root,root) %{_bindir}/qml-qt5
350 %attr(755,root,root) %{_bindir}/qmlscene-qt5
351 %attr(755,root,root) %{_bindir}/qmltestrunner-qt5
352 %attr(755,root,root) %{qt5dir}/bin/qml
353 %attr(755,root,root) %{qt5dir}/bin/qmlbundle
354 %attr(755,root,root) %{qt5dir}/bin/qmleasing
355 %attr(755,root,root) %{qt5dir}/bin/qmlimportscanner
356 %attr(755,root,root) %{qt5dir}/bin/qmllint
357 %attr(755,root,root) %{qt5dir}/bin/qmlmin
358 %attr(755,root,root) %{qt5dir}/bin/qmlplugindump
359 %attr(755,root,root) %{qt5dir}/bin/qmlprofiler
360 %attr(755,root,root) %{qt5dir}/bin/qmlscene
361 %attr(755,root,root) %{qt5dir}/bin/qmltestrunner
363 %files -n Qt5Qml -f qtdeclarative.lang
364 %defattr(644,root,root,755)
365 %doc LGPL_EXCEPTION.txt
366 %attr(755,root,root) %{_libdir}/libQt5Qml.so.*.*.*
367 %attr(755,root,root) %ghost %{_libdir}/libQt5Qml.so.5
369 # loaded from src/qml/debugger/{qqmldebugserver,qqmlinspectorservice}.cpp
370 %dir %{qt5dir}/plugins/qmltooling
371 # R: Core Network Qml
372 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_tcp.so
375 %dir %{qt5dir}/qml/Qt
376 %dir %{qt5dir}/qml/Qt/labs
377 %dir %{qt5dir}/qml/Qt/labs/folderlistmodel
379 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
380 %{qt5dir}/qml/Qt/labs/folderlistmodel/plugins.qmltypes
381 %{qt5dir}/qml/Qt/labs/folderlistmodel/qmldir
382 %dir %{qt5dir}/qml/Qt/labs/settings
384 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/settings/libqmlsettingsplugin.so
385 %{qt5dir}/qml/Qt/labs/settings/plugins.qmltypes
386 %{qt5dir}/qml/Qt/labs/settings/qmldir
387 %dir %{qt5dir}/qml/QtQml
388 %dir %{qt5dir}/qml/QtQml/Models.2
389 %dir %{qt5dir}/qml/QtQml/StateMachine
391 %attr(755,root,root) %{qt5dir}/qml/QtQml/Models.2/libmodelsplugin.so
392 %{qt5dir}/qml/QtQml/Models.2/qmldir
394 %attr(755,root,root) %{qt5dir}/qml/QtQml/StateMachine/libqtqmlstatemachine.so
395 %{qt5dir}/qml/QtQml/StateMachine/plugins.qmltypes
396 %{qt5dir}/qml/QtQml/StateMachine/qmldir
398 %files -n Qt5Qml-devel
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_libdir}/libQt5Qml.so
402 %{_libdir}/libQt5QmlDevTools.a
403 %{_libdir}/libQt5Qml.prl
404 %{_libdir}/libQt5QmlDevTools.prl
405 %{_includedir}/qt5/QtQml
406 %{_pkgconfigdir}/Qt5Qml.pc
407 %{_pkgconfigdir}/Qt5QmlDevTools.pc
408 %{_libdir}/cmake/Qt5Qml
409 %{qt5dir}/mkspecs/modules/qt_lib_qml.pri
410 %{qt5dir}/mkspecs/modules/qt_lib_qml_private.pri
411 %{qt5dir}/mkspecs/modules/qt_lib_qmldevtools_private.pri
412 %{qt5dir}/mkspecs/modules/qt_lib_qmltest.pri
413 %{qt5dir}/mkspecs/modules/qt_lib_qmltest_private.pri
416 %defattr(644,root,root,755)
417 %attr(755,root,root) %{_libdir}/libQt5Quick.so.*.*.*
418 %attr(755,root,root) %ghost %{_libdir}/libQt5Quick.so.5
419 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so.*.*.*
420 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickParticles.so.5
421 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so.*.*.*
422 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickTest.so.5
423 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so.*.*.*
424 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickWidgets.so.5
426 # R: Core Gui Qml Quick
427 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_qtquick2.so
429 %dir %{qt5dir}/qml/QtQuick
431 %dir %{qt5dir}/qml/QtQuick/LocalStorage
433 %attr(755,root,root) %{qt5dir}/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
434 %{qt5dir}/qml/QtQuick/LocalStorage/plugins.qmltypes
435 %{qt5dir}/qml/QtQuick/LocalStorage/qmldir
437 %dir %{qt5dir}/qml/QtQuick/Particles.2
438 # R: Core Qml QuickParticles
439 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Particles.2/libparticlesplugin.so
440 %{qt5dir}/qml/QtQuick/Particles.2/plugins.qmltypes
441 %{qt5dir}/qml/QtQuick/Particles.2/qmldir
443 %dir %{qt5dir}/qml/QtQuick/Window.2
445 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Window.2/libwindowplugin.so
446 %{qt5dir}/qml/QtQuick/Window.2/plugins.qmltypes
447 %{qt5dir}/qml/QtQuick/Window.2/qmldir
449 %dir %{qt5dir}/qml/QtQuick.2
451 %attr(755,root,root) %{qt5dir}/qml/QtQuick.2/libqtquick2plugin.so
452 %{qt5dir}/qml/QtQuick.2/plugins.qmltypes
453 %{qt5dir}/qml/QtQuick.2/qmldir
455 %dir %{qt5dir}/qml/QtTest
456 # R: Core Gui Qml QuickTest Test
457 %attr(755,root,root) %{qt5dir}/qml/QtTest/libqmltestplugin.so
458 %{qt5dir}/qml/QtTest/plugins.qmltypes
459 %{qt5dir}/qml/QtTest/qmldir
460 %{qt5dir}/qml/QtTest/testlogger.js
461 %{qt5dir}/qml/QtTest/*.qml
463 %files -n Qt5Quick-devel
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_libdir}/libQt5Quick.so
466 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so
467 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so
468 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so
469 %{_libdir}/libQt5Quick.prl
470 %{_libdir}/libQt5QuickParticles.prl
471 %{_libdir}/libQt5QuickTest.prl
472 %{_libdir}/libQt5QuickWidgets.prl
473 %{_includedir}/qt5/QtQuick
474 %{_includedir}/qt5/QtQuickParticles
475 %{_includedir}/qt5/QtQuickTest
476 %{_includedir}/qt5/QtQuickWidgets
477 %{_pkgconfigdir}/Qt5Quick.pc
478 %{_pkgconfigdir}/Qt5QuickParticles.pc
479 %{_pkgconfigdir}/Qt5QuickTest.pc
480 %{_pkgconfigdir}/Qt5QuickWidgets.pc
481 %{_libdir}/cmake/Qt5Quick
482 %{_libdir}/cmake/Qt5QuickTest
483 %{_libdir}/cmake/Qt5QuickWidgets
484 %{qt5dir}/mkspecs/modules/qt_lib_quick.pri
485 %{qt5dir}/mkspecs/modules/qt_lib_quick_private.pri
486 %{qt5dir}/mkspecs/modules/qt_lib_quickparticles_private.pri
487 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets.pri
488 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets_private.pri
490 %if %{with qtxmlpatterns}
491 %files -n Qt5Quick-xmllistmodel
492 %defattr(644,root,root,755)
493 %dir %{qt5dir}/qml/QtQuick/XmlListModel
494 # R: Core Network Qml XmlPatterns
495 %attr(755,root,root) %{qt5dir}/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
496 %{qt5dir}/qml/QtQuick/XmlListModel/plugins.qmltypes
497 %{qt5dir}/qml/QtQuick/XmlListModel/qmldir
501 %defattr(644,root,root,755)
502 %{_docdir}/qt5-doc/qtqml
503 %{_docdir}/qt5-doc/qtquick
507 %defattr(644,root,root,755)
508 %{_docdir}/qt5-doc/qtqml.qch
509 %{_docdir}/qt5-doc/qtquick.qch
512 %files examples -f examples.files
513 %defattr(644,root,root,755)
514 # XXX: dir shared with qt5-qtbase-examples
515 %dir %{_examplesdir}/qt5