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 5.4
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.io/official_releases/qt/5.5/%{version}/submodules/%{orgname}-opensource-src-%{version}.tar.xz
27 # Source0-md5: b7997c9d8df4ea60945229883f9ce8ed
28 Source1: http://download.qt.io/official_releases/qt/5.5/%{version}/submodules/qttranslations-opensource-src-%{version}.tar.xz
29 # Source1-md5: 1f89d53fe759db123b4b6d9de9d9e8c9
30 URL: http://www.qt.io/
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
49 # qmlimportscanner: Core
51 # qmlplugindump: Core Gui Qml Quick
52 # qmlprofilter: Core Network
53 # qmlscene: Core Gui Qml Quick Widgets
54 # qmltestrunner: QuickTest
55 Requires: Qt5Core >= %{qtbase_ver}
56 Requires: Qt5Gui >= %{qtbase_ver}
57 Requires: Qt5Network >= %{qtbase_ver}
58 Requires: Qt5Qml = %{version}-%{release}
59 Requires: Qt5Quick = %{version}-%{release}
60 Requires: Qt5Widgets >= %{qtbase_ver}
61 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
63 %define specflags -fno-strict-aliasing
64 %define qt5dir %{_libdir}/qt5
67 Qt is a cross-platform application and UI framework. Using Qt, you can
68 write web-enabled applications once and deploy them across desktop,
69 mobile and embedded systems without rewriting the source code.
71 This package contains Qt5 Declarative libraries.
73 %description -l pl.UTF-8
74 Qt to wieloplatformowy szkielet aplikacji i interfejsów użytkownika.
75 Przy użyciu Qt można pisać aplikacje powiązane z WWW i wdrażać je w
76 systemach biurkowych, przenośnych i wbudowanych bez przepisywania kodu
79 Ten pakiet zawiera biblioteki Qt5 Declarative.
82 Summary: Qt5 Qml libraries
83 Summary(pl.UTF-8): Biblioteki Qt5 Qml
85 # Qt5Qml: Core Network
86 Requires: Qt5Core >= %{qtbase_ver}
87 Requires: Qt5Network >= %{qtbase_ver}
89 %description -n Qt5Qml
90 The Qt5 QML module provides a framework for developing applications
91 and libraries with the QML language. It defines and implements the
92 language and engine infrastructure, and provides an API to enable
93 application developers to extend the QML language with custom types
94 and integrate QML code with JavaScript and C++. The Qt5 QML module
95 provides both a QML API and a C++ API.
97 %description -n Qt5Qml -l pl.UTF-8
98 Moduł Qt5 Qml dostarcza szkielet do tworzenia aplikacji i bibliotek
99 przy użyciu języka QML. Moduł definiuje i implementuje język oraz
100 silnik, a także udostąpnia API pozwalające programistom rozszerzać
101 język QML o własne typy oraz integrować kod w języku QML z
102 JavaScriptem i C++. Moduł Qt5 QML udostępnia API zarówno dla języka
105 %package -n Qt5Qml-devel
106 Summary: Qt5 Qml libraries - development files
107 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
108 Group: Development/Libraries
109 # Qt5Qml: Core Network
110 # Qt5QmlDevTools: Core
111 Requires: Qt5Core-devel >= %{qtbase_ver}
112 Requires: Qt5Network-devel >= %{qtbase_ver}
113 Requires: Qt5Qml = %{version}-%{release}
114 Obsoletes: qt5-qtdeclarative-devel
116 %description -n Qt5Qml-devel
117 Qt5 Qml libraries - development files.
119 %description -n Qt5Qml-devel -l pl.UTF-8
120 Biblioteki Qt5 Qml - pliki programistyczne.
123 Summary: Qt5 Quick libraries
124 Summary(pl.UTF-8): Biblioteki Qt5 Quick
126 # Qt5Quick: Core Gui Network Qml
127 # Qt5QuickParticles: Core Gui Qml Quick
128 # Qt5QuickTest: Gui Qml Quick Test Widgets
129 Requires: Qt5Core >= %{qtbase_ver}
130 Requires: Qt5Gui >= %{qtbase_ver}
131 Requires: Qt5Network >= %{qtbase_ver}
132 Requires: Qt5Qml = %{version}-%{release}
133 Requires: Qt5Test >= %{qtbase_ver}
134 Requires: Qt5Widgets >= %{qtbase_ver}
136 %description -n Qt5Quick
137 The Qt5 Quick module is the standard library for writing QML
138 applications. While the Qt5 QML module provides the QML engine and
139 language infrastructure, the Qt5 Quick module provides all the basic
140 types necessary for creating user interfaces with QML. It provides a
141 visual canvas and includes types for creating and animating visual
142 components, receiving user input, creating data models and views and
143 delayed object instantiation.
145 The Qt5 Quick module provides both a QML API which supplies QML types
146 for creating user interfaces with the QML language, and a C++ API for
147 extending QML applications with C++ code.
149 %description -n Qt5Quick -l pl.UTF-8
150 Moduł Qt5 Quick to biblioteka standardowa do pisania aplikacji QML.
151 Sam moduł Qt5 QML dostarcza silnik i infrastrukturę języka, natomiast
152 moduł Qt5 Quick udostępnia wszystkie podstawowe typy niezbędne do
153 tworzenia interfejsu użytkownika przy użyciu języka QML. Udostępnia
154 graficzne "płótno", zawiera typy do tworzenia i animowania komponentów
155 graficznych, odczytu wejścia od użytkownika, tworzenia modeli i
156 widoków danych oraz opóźnionych instancji obiektów.
158 Moduł Qt5 Quick dostarcza API zarówno dla języka QML, zapewniające
159 typy QML do tworzenia interfejsów użytkownika w języku QML, jak i dla
160 języka C++ do rozszerzania aplikacji QML przy użyciu kodu w C++.
162 %package -n Qt5Quick-devel
163 Summary: Qt5 Qml libraries - development files
164 Summary(pl.UTF-8): Biblioteki Qt5 Qml - pliki programistyczne
165 Group: X11/Development/Libraries
166 # Qt5Quick: Core Gui Network Qml
167 # Qt5QuickParticles: Core Gui Network Qml Quick
168 # Qt5QuickTest: Core Gui Widgets
169 Requires: Qt5Core-devel >= %{qtbase_ver}
170 Requires: Qt5Gui-devel >= %{qtbase_ver}
171 Requires: Qt5Network-devel >= %{qtbase_ver}
172 Requires: Qt5Qml-devel = %{version}-%{release}
173 Requires: Qt5Quick = %{version}-%{release}
174 Requires: Qt5Widgets-devel >= %{qtbase_ver}
176 %description -n Qt5Quick-devel
177 Qt5 Qml libraries - development files.
179 %description -n Qt5Quick-devel -l pl.UTF-8
180 Biblioteki Qt5 Qml - pliki programistyczne.
182 %package -n Qt5Quick-xmllistmodel
183 Summary: XmlListModel plugin for Qt5 Quick
184 Summary(pl.UTF-8): Wtyczka XmlListModel dla Qt5 Quick
186 Requires: Qt5Qml = %{version}-%{release}
187 Requires: Qt5Quick = %{version}-%{release}
188 Requires: Qt5XmlPatterns >= %{qtxmlpatterns_ver}
190 %description -n Qt5Quick-xmllistmodel
191 XmlListModel plugin for Qt5 Quick provides QML types for creating
192 models from XML data.
194 %description -n Qt5Quick-xmllistmodel -l pl.UTF-8
195 Wtyczka XmlListModel dla Qt5 Quick dostarcza typy QML do tworzenia
199 Summary: Qt5 Declarative documentation in HTML format
200 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie HTML
202 Requires: qt5-doc-common >= %{qtbase_ver}
203 %if "%{_rpmversion}" >= "5"
208 Qt5 Declarative documentation in HTML format.
210 %description doc -l pl.UTF-8
211 Dokumentacja do bibliotek Qt5 Declarative w formacie HTML.
214 Summary: Qt5 Declarative documentation in QCH format
215 Summary(pl.UTF-8): Dokumentacja do bibliotek Qt5 Declarative w formacie QCH
217 Requires: qt5-doc-common >= %{qtbase_ver}
218 %if "%{_rpmversion}" >= "5"
223 Qt5 Declarative documentation in QCH format.
225 %description doc-qch -l pl.UTF-8
226 Dokumentacja do bibliotek Qt5 Declarative w formacie QCH.
229 Summary: Qt5 Declarative examples
230 Summary(pl.UTF-8): Przykłady do bibliotek Qt5 Declarative
231 Group: X11/Development/Libraries
232 %if "%{_rpmversion}" >= "5"
236 %description examples
237 Qt5 Declarative examples.
239 %description examples -l pl.UTF-8
240 Przykłady do bibliotek Qt5 Declarative.
243 %setup -q -n %{orgname}-opensource-src-%{version} %{?with_qm:-a1}
248 %{__make} %{!?with_qch:html_}docs
251 cd qttranslations-opensource-src-%{version}
258 rm -rf $RPM_BUILD_ROOT
259 install -d $RPM_BUILD_ROOT%{_bindir}
262 INSTALL_ROOT=$RPM_BUILD_ROOT
264 %{__make} install_%{!?with_qch:html_}docs \
265 INSTALL_ROOT=$RPM_BUILD_ROOT
268 %{__make} -C qttranslations-opensource-src-%{version} install \
269 INSTALL_ROOT=$RPM_BUILD_ROOT
270 # keep only qtdeclarative
271 %{__rm} $RPM_BUILD_ROOT%{_datadir}/qt5/translations/{assistant,designer,linguist,qmlviewer,qt,qtbase,qtconfig,qtconnectivity,qtlocation,qtmultimedia,qtquick1,qtquickcontrols,qtscript,qtwebsockets,qtxmlpatterns}_*.qm
274 # kill unnecessary -L%{_libdir} from *.la, *.prl, *.pc
275 %{__sed} -i -e "s,-L%{_libdir} \?,,g" \
276 $RPM_BUILD_ROOT%{_libdir}/*.{la,prl} \
277 $RPM_BUILD_ROOT%{_pkgconfigdir}/*.pc
280 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.so.5.?
281 # actually drop *.la, follow policy of not packaging them when *.pc exist
282 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libQt5*.la
284 # symlinks in system bin dir
285 for f in qml qmlimportscanner qmlmin qmlplugindump qmlprofiler qmlscene qmltestrunner qmleasing qmllint ; do
286 ln -sf ../%{_lib}/qt5/bin/$f $RPM_BUILD_ROOT%{_bindir}/${f}-qt5
289 # Prepare some files list
291 r="$RPM_BUILD_ROOT$2"
293 echo "%%dir $2" >> $1.files
294 elif [ -x "$r" ] ; then
295 echo "%%attr(755,root,root) $2" >> $1.files
296 elif [ -f "$r" ]; then
297 echo "$2" >> $1.files
299 echo "Error generation $1 files list!"
300 echo "$r: no such file or directory!"
306 for f in `find $RPM_BUILD_ROOT$2 -printf "%%P "`; do
311 echo "%defattr(644,root,root,755)" > examples.files
312 ifecho_tree examples %{_examplesdir}/qt5/qml
313 ifecho_tree examples %{_examplesdir}/qt5/qmltest
314 ifecho_tree examples %{_examplesdir}/qt5/quick
316 # find_lang --with-qm supports only PLD qt3/qt4 specific %{_datadir}/locale/*/LC_MESSAGES layout
320 find $RPM_BUILD_ROOT%{_datadir}/qt5/translations -name "${name}_*.qm" | \
321 sed -e "s:^$RPM_BUILD_ROOT::" \
322 -e 's:\(.*/'$name'_\)\([a-z][a-z][a-z]\?\)\(_[A-Z][A-Z]\)\?\(\.qm\)$:%lang(\2\3) \1\2\3\4:'
325 echo '%defattr(644,root,root,755)' > qtdeclarative.lang
327 find_qt5_qm qtdeclarative >> qtdeclarative.lang
331 rm -rf $RPM_BUILD_ROOT
333 %post -n Qt5Qml -p /sbin/ldconfig
334 %postun -n Qt5Qml -p /sbin/ldconfig
336 %post -n Qt5Quick -p /sbin/ldconfig
337 %postun -n Qt5Quick -p /sbin/ldconfig
340 %defattr(644,root,root,755)
341 %attr(755,root,root) %{_bindir}/qmleasing-qt5
342 %attr(755,root,root) %{_bindir}/qmlimportscanner-qt5
343 %attr(755,root,root) %{_bindir}/qmllint-qt5
344 %attr(755,root,root) %{_bindir}/qmlmin-qt5
345 %attr(755,root,root) %{_bindir}/qmlplugindump-qt5
346 %attr(755,root,root) %{_bindir}/qmlprofiler-qt5
347 %attr(755,root,root) %{_bindir}/qml-qt5
348 %attr(755,root,root) %{_bindir}/qmlscene-qt5
349 %attr(755,root,root) %{_bindir}/qmltestrunner-qt5
350 %attr(755,root,root) %{qt5dir}/bin/qml
351 %attr(755,root,root) %{qt5dir}/bin/qmleasing
352 %attr(755,root,root) %{qt5dir}/bin/qmlimportscanner
353 %attr(755,root,root) %{qt5dir}/bin/qmllint
354 %attr(755,root,root) %{qt5dir}/bin/qmlmin
355 %attr(755,root,root) %{qt5dir}/bin/qmlplugindump
356 %attr(755,root,root) %{qt5dir}/bin/qmlprofiler
357 %attr(755,root,root) %{qt5dir}/bin/qmlscene
358 %attr(755,root,root) %{qt5dir}/bin/qmltestrunner
360 %files -n Qt5Qml -f qtdeclarative.lang
361 %defattr(644,root,root,755)
362 %doc LGPL_EXCEPTION.txt
363 %attr(755,root,root) %{_libdir}/libQt5Qml.so.*.*.*
364 %attr(755,root,root) %ghost %{_libdir}/libQt5Qml.so.5
366 # loaded from src/qml/debugger/{qqmldebugserver,qqmlinspectorservice}.cpp
367 %dir %{qt5dir}/plugins/qmltooling
368 # R: Core Network Qml
369 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_tcp.so
372 %dir %{qt5dir}/qml/Qt
373 %dir %{qt5dir}/qml/Qt/labs
374 %dir %{qt5dir}/qml/Qt/labs/folderlistmodel
376 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so
377 %{qt5dir}/qml/Qt/labs/folderlistmodel/plugins.qmltypes
378 %{qt5dir}/qml/Qt/labs/folderlistmodel/qmldir
379 %dir %{qt5dir}/qml/Qt/labs/settings
381 %attr(755,root,root) %{qt5dir}/qml/Qt/labs/settings/libqmlsettingsplugin.so
382 %{qt5dir}/qml/Qt/labs/settings/plugins.qmltypes
383 %{qt5dir}/qml/Qt/labs/settings/qmldir
384 %dir %{qt5dir}/qml/QtQml
385 %dir %{qt5dir}/qml/QtQml/Models.2
386 %dir %{qt5dir}/qml/QtQml/StateMachine
388 %attr(755,root,root) %{qt5dir}/qml/QtQml/Models.2/libmodelsplugin.so
389 %{qt5dir}/qml/QtQml/Models.2/plugins.qmltypes
390 %{qt5dir}/qml/QtQml/Models.2/qmldir
392 %attr(755,root,root) %{qt5dir}/qml/QtQml/StateMachine/libqtqmlstatemachine.so
393 %{qt5dir}/qml/QtQml/StateMachine/plugins.qmltypes
394 %{qt5dir}/qml/QtQml/StateMachine/qmldir
396 %files -n Qt5Qml-devel
397 %defattr(644,root,root,755)
398 %attr(755,root,root) %{_libdir}/libQt5Qml.so
400 %{_libdir}/libQt5QmlDevTools.a
401 %{_libdir}/libQt5Qml.prl
402 %{_libdir}/libQt5QmlDevTools.prl
403 %{_includedir}/qt5/QtQml
404 %{_includedir}/qt5/QtQmlDevTools
405 %{_pkgconfigdir}/Qt5Qml.pc
406 %{_pkgconfigdir}/Qt5QmlDevTools.pc
407 %{_libdir}/cmake/Qt5Qml
408 %{qt5dir}/mkspecs/modules/qt_lib_qml.pri
409 %{qt5dir}/mkspecs/modules/qt_lib_qml_private.pri
410 %{qt5dir}/mkspecs/modules/qt_lib_qmldevtools_private.pri
411 %{qt5dir}/mkspecs/modules/qt_lib_qmltest.pri
412 %{qt5dir}/mkspecs/modules/qt_lib_qmltest_private.pri
415 %defattr(644,root,root,755)
416 %attr(755,root,root) %{_libdir}/libQt5Quick.so.*.*.*
417 %attr(755,root,root) %ghost %{_libdir}/libQt5Quick.so.5
418 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so.*.*.*
419 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickParticles.so.5
420 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so.*.*.*
421 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickTest.so.5
422 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so.*.*.*
423 %attr(755,root,root) %ghost %{_libdir}/libQt5QuickWidgets.so.5
425 # R: Core Gui Qml Quick
426 %attr(755,root,root) %{qt5dir}/plugins/qmltooling/libqmldbg_qtquick2.so
428 %dir %{qt5dir}/qml/QtQuick
430 %dir %{qt5dir}/qml/QtQuick/LocalStorage
432 %attr(755,root,root) %{qt5dir}/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so
433 %{qt5dir}/qml/QtQuick/LocalStorage/plugins.qmltypes
434 %{qt5dir}/qml/QtQuick/LocalStorage/qmldir
436 %dir %{qt5dir}/qml/QtQuick/Particles.2
437 # R: Core Qml QuickParticles
438 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Particles.2/libparticlesplugin.so
439 %{qt5dir}/qml/QtQuick/Particles.2/plugins.qmltypes
440 %{qt5dir}/qml/QtQuick/Particles.2/qmldir
442 %dir %{qt5dir}/qml/QtQuick/Window.2
444 %attr(755,root,root) %{qt5dir}/qml/QtQuick/Window.2/libwindowplugin.so
445 %{qt5dir}/qml/QtQuick/Window.2/plugins.qmltypes
446 %{qt5dir}/qml/QtQuick/Window.2/qmldir
448 %dir %{qt5dir}/qml/QtQuick.2
450 %attr(755,root,root) %{qt5dir}/qml/QtQuick.2/libqtquick2plugin.so
451 %{qt5dir}/qml/QtQuick.2/plugins.qmltypes
452 %{qt5dir}/qml/QtQuick.2/qmldir
454 %dir %{qt5dir}/qml/QtTest
455 # R: Core Gui Qml QuickTest Test
456 %attr(755,root,root) %{qt5dir}/qml/QtTest/libqmltestplugin.so
457 %{qt5dir}/qml/QtTest/plugins.qmltypes
458 %{qt5dir}/qml/QtTest/qmldir
459 %{qt5dir}/qml/QtTest/testlogger.js
460 %{qt5dir}/qml/QtTest/*.qml
462 %files -n Qt5Quick-devel
463 %defattr(644,root,root,755)
464 %attr(755,root,root) %{_libdir}/libQt5Quick.so
465 %attr(755,root,root) %{_libdir}/libQt5QuickParticles.so
466 %attr(755,root,root) %{_libdir}/libQt5QuickTest.so
467 %attr(755,root,root) %{_libdir}/libQt5QuickWidgets.so
468 %{_libdir}/libQt5Quick.prl
469 %{_libdir}/libQt5QuickParticles.prl
470 %{_libdir}/libQt5QuickTest.prl
471 %{_libdir}/libQt5QuickWidgets.prl
472 %{_includedir}/qt5/QtQuick
473 %{_includedir}/qt5/QtQuickParticles
474 %{_includedir}/qt5/QtQuickTest
475 %{_includedir}/qt5/QtQuickWidgets
476 %{_pkgconfigdir}/Qt5Quick.pc
477 %{_pkgconfigdir}/Qt5QuickParticles.pc
478 %{_pkgconfigdir}/Qt5QuickTest.pc
479 %{_pkgconfigdir}/Qt5QuickWidgets.pc
480 %{_libdir}/cmake/Qt5Quick
481 %{_libdir}/cmake/Qt5QuickTest
482 %{_libdir}/cmake/Qt5QuickWidgets
483 %{qt5dir}/mkspecs/modules/qt_lib_quick.pri
484 %{qt5dir}/mkspecs/modules/qt_lib_quick_private.pri
485 %{qt5dir}/mkspecs/modules/qt_lib_quickparticles_private.pri
486 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets.pri
487 %{qt5dir}/mkspecs/modules/qt_lib_quickwidgets_private.pri
489 %if %{with qtxmlpatterns}
490 %files -n Qt5Quick-xmllistmodel
491 %defattr(644,root,root,755)
492 %dir %{qt5dir}/qml/QtQuick/XmlListModel
493 # R: Core Network Qml XmlPatterns
494 %attr(755,root,root) %{qt5dir}/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
495 %{qt5dir}/qml/QtQuick/XmlListModel/plugins.qmltypes
496 %{qt5dir}/qml/QtQuick/XmlListModel/qmldir
500 %defattr(644,root,root,755)
501 %{_docdir}/qt5-doc/qtqml
502 %{_docdir}/qt5-doc/qtquick
506 %defattr(644,root,root,755)
507 %{_docdir}/qt5-doc/qtqml.qch
508 %{_docdir}/qt5-doc/qtquick.qch
511 %files examples -f examples.files
512 %defattr(644,root,root,755)
513 # XXX: dir shared with qt5-qtbase-examples
514 %dir %{_examplesdir}/qt5