1 |
%ifarch %{ix86} |
2 |
%global nosse2_hack 1 |
3 |
## TODO: |
4 |
# * consider debian's approach of runtime detection instead: |
5 |
# https://codereview.qt-project.org/#/c/127354/ |
6 |
%endif |
7 |
|
8 |
%define snapshot 0 |
9 |
|
10 |
%ifarch %{arm} |
11 |
%define build_docs 0 |
12 |
%else |
13 |
%define build_docs 1 |
14 |
%endif |
15 |
|
16 |
%define qtmajor 5 |
17 |
%define qtminor 11 |
18 |
%define qtsubminor 0 |
19 |
|
20 |
%define rel 1 |
21 |
%define pre rc |
22 |
%define qtversion %{qtmajor}.%{qtminor}.%{qtsubminor} |
23 |
|
24 |
%define libqt5quicktest %mklibname qt5quicktest %qtmajor |
25 |
%define libqt5quicktest_d %mklibname qt%{qtmajor}quicktest -d |
26 |
|
27 |
%define libqt5quick %mklibname qt5quick %qtmajor |
28 |
%define libqt5quick_d %mklibname qt%{qtmajor}quick -d |
29 |
|
30 |
%define libqt5quickwidgets %mklibname qt5quickwidgets %qtmajor |
31 |
%define libqt5quickwidgets_d %mklibname qt%{qtmajor}quickwidgets -d |
32 |
|
33 |
%define libqt5quickparticles %mklibname qt5quickparticles %qtmajor |
34 |
%define libqt5quickparticles_d %mklibname qt%{qtmajor}quickparticles -d |
35 |
|
36 |
%define libqt5qml %mklibname qt5qml %qtmajor |
37 |
%define libqt5qml_d %mklibname qt%{qtmajor}qml -d |
38 |
|
39 |
|
40 |
%define libqt5packetprotocol_d %mklibname qt5packetprotocol -d -s |
41 |
|
42 |
%if %snapshot |
43 |
%define qttarballdir qtdeclarative-everywhere-src-%{qtversion}-%pre |
44 |
%else |
45 |
%define qttarballdir qtdeclarative-everywhere-src-%{qtversion} |
46 |
%endif |
47 |
|
48 |
Name: qtdeclarative5 |
49 |
Version: %{qtversion} |
50 |
Release: %mkrel %{rel} |
51 |
Summary: Qt Declarative component |
52 |
Group: Development/KDE and Qt |
53 |
License: LGPLv2 with exceptions or GPLv3 with exceptions and GFDL |
54 |
URL: http://www.qt.io |
55 |
Source0: http://download.qt.io/official_releases/qt/%{qtmajor}.%{qtminor}/%{version}/submodules/%{qttarballdir}.tar.xz |
56 |
BuildRequires: pkgconfig(Qt5Xml) |
57 |
BuildRequires: pkgconfig(Qt5XmlPatterns) = %{version} |
58 |
BuildRequires: pkgconfig(Qt5Core) = %{version} |
59 |
BuildRequires: pkgconfig(Qt5Network) = %{version} |
60 |
BuildRequires: pkgconfig(Qt5Gui) = %{version} |
61 |
BuildRequires: pkgconfig(Qt5Widgets) = %{version} |
62 |
BuildRequires: pkgconfig(Qt5Sql) = %{version} |
63 |
|
64 |
BuildRequires: cmake(Qt5Test) = %{version} |
65 |
|
66 |
Conflicts: %{_lib}qt5qml-private-devel < 5.5.0-3 |
67 |
|
68 |
Conflicts: qtquickcontrols5 < 5.9.1 |
69 |
|
70 |
#Branch Patchs |
71 |
# support no_sse2 CONFIG (i586 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them) |
72 |
# https://codereview.qt-project.org/#change,73710 |
73 |
Patch1: qtdeclarative-everywhere-src-5.11.0-no_sse2.patch |
74 |
|
75 |
#Trunk Patchs |
76 |
#Patch from Mageia |
77 |
|
78 |
|
79 |
%description |
80 |
Qt5 Declarative component. |
81 |
|
82 |
%files |
83 |
%_qt5_bindir/qml |
84 |
%_qt5_bindir/qmlcachegen |
85 |
%_qt5_bindir/qmlimportscanner |
86 |
%_qt5_bindir/qmlmin |
87 |
%_qt5_bindir/qmlplugindump |
88 |
%_qt5_bindir/qmlprofiler |
89 |
%_qt5_bindir/qmlscene |
90 |
%_qt5_bindir/qmltestrunner |
91 |
%_qt5_bindir/qmleasing |
92 |
%_qt5_bindir/qmllint |
93 |
%_qt5_prefix/qml/QtTest |
94 |
%_qt5_prefix/qml/QtQuick* |
95 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_tcp.so |
96 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_debugger.so |
97 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_inspector.so |
98 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_local.so |
99 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_native.so |
100 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_profiler.so |
101 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_server.so |
102 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_messages.so |
103 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_nativedebugger.so |
104 |
%_qt5_prefix/plugins/qmltooling/libqmldbg_quickprofiler.so |
105 |
%_qt5_prefix/qml/Qt/labs/folderlistmodel |
106 |
%_qt5_prefix/qml/Qt/labs/settings |
107 |
%_qt5_prefix/qml/Qt/labs/handlers |
108 |
%_qt5_datadir/qml/QtQml |
109 |
%_qt5_datadir/qml/builtins.qmltypes |
110 |
%_qt5_datadir/qml/Qt/labs/sharedimage |
111 |
|
112 |
#------------------------------------------------------------------------------ |
113 |
|
114 |
%if %{build_docs} |
115 |
%package doc |
116 |
Summary: QtDeclarative%{qtmajor} APIs and tools docs |
117 |
Group: Documentation |
118 |
BuildArch: noarch |
119 |
BuildRequires: qttools5 |
120 |
# This one is required to build QCH-format documentation |
121 |
# for APIs and tools in this package set |
122 |
BuildRequires: qttools5-assistant |
123 |
Recommends: qttools5-assistant |
124 |
|
125 |
%description doc |
126 |
Documentation for APIs and tools in QtDeclarative5 package for use with |
127 |
Qt Assistant. |
128 |
|
129 |
%files doc |
130 |
%{_qt5_docdir}/qtqml.qch |
131 |
%{_qt5_docdir}/qtqml/ |
132 |
%{_qt5_docdir}/qtquick.qch |
133 |
%{_qt5_docdir}/qtquick/ |
134 |
%endif |
135 |
|
136 |
#------------------------------------------------------------------------------ |
137 |
|
138 |
%package -n %{libqt5quicktest} |
139 |
Summary: Qt%{qtmajor} Lib |
140 |
Group: System/Libraries |
141 |
|
142 |
%description -n %{libqt5quicktest} |
143 |
Qt%{qtmajor} Lib. |
144 |
|
145 |
%files -n %{libqt5quicktest} |
146 |
%{_qt5_libdir}/libQt5QuickTest.so.%{qtmajor}* |
147 |
|
148 |
#------------------------------------------------------------------------------ |
149 |
|
150 |
%package -n %{libqt5quicktest_d} |
151 |
Summary: Devel files needed to build apps based on QtDeclarative |
152 |
Group: Development/KDE and Qt |
153 |
Requires: %{libqt5quicktest} = %version-%{release} |
154 |
Requires: %{name} = %version |
155 |
Provides: libqt5quicktest-devel = %version-%{release} |
156 |
Provides: libqtquicktest5-devel = %version-%{release} |
157 |
Provides: qt5quicktest-devel = %version-%{release} |
158 |
Provides: qtquicktest5-devel = %version-%{release} |
159 |
|
160 |
Provides: libqt5quicktest-private-devel = %version-%{release} |
161 |
Provides: libqtquicktest5-private-devel = %version-%{release} |
162 |
Provides: qt5quicktest-private-devel = %version-%{release} |
163 |
Provides: qtquicktest5-private-devel = %version-%{release} |
164 |
|
165 |
%description -n %{libqt5quicktest_d} |
166 |
Devel files needed to build apps based on QtDeclarative. |
167 |
|
168 |
%files -n %{libqt5quicktest_d} |
169 |
%_qt5_libdir/libQt5QuickTest.prl |
170 |
%_qt5_libdir/libQt5QuickTest.so |
171 |
%_qt5_libdir/cmake/Qt5QuickTest |
172 |
%_qt5_includedir/QtQuickTest/ |
173 |
%_qt5_libdir/pkgconfig/Qt5QuickTest.pc |
174 |
%_qt5_prefix/examples/qmltest |
175 |
|
176 |
#------------------------------------------------------------------------------ |
177 |
|
178 |
%package -n %{libqt5quick} |
179 |
Summary: Qt%{qtmajor} Lib |
180 |
Group: System/Libraries |
181 |
|
182 |
%description -n %{libqt5quick} |
183 |
Qt%{qtmajor} Lib. |
184 |
|
185 |
%files -n %{libqt5quick} |
186 |
%{_qt5_libdir}/libQt5Quick.so.%{qtmajor}* |
187 |
|
188 |
#------------------------------------------------------------------------------ |
189 |
|
190 |
%package -n %{libqt5quick_d} |
191 |
Summary: Devel files needed to build apps based on QtDeclarative |
192 |
Group: Development/KDE and Qt |
193 |
Requires: %{name} = %version-%{release} |
194 |
Requires: %{libqt5quick} = %version-%{release} |
195 |
Provides: libqt5quick-devel = %version-%{release} |
196 |
Provides: libqtquick5-devel = %version-%{release} |
197 |
Provides: qt5quick-devel = %version-%{release} |
198 |
Provides: qtquick5-devel = %version-%{release} |
199 |
Requires: qtgui5-devel = %version-%{release} |
200 |
|
201 |
Provides: libqt5quick-private-devel = %version-%{release} |
202 |
Provides: libqtquick5-private-devel = %version-%{release} |
203 |
Provides: qt5quick-private-devel = %version-%{release} |
204 |
Provides: qtquick5-private-devel = %version-%{release} |
205 |
|
206 |
%description -n %{libqt5quick_d} |
207 |
Devel files needed to build apps based on QtDeclarative. |
208 |
|
209 |
%files -n %{libqt5quick_d} |
210 |
%_qt5_libdir/libQt5Quick.prl |
211 |
%_qt5_libdir/libQt5Quick.so |
212 |
%_qt5_libdir/cmake/Qt5Quick |
213 |
%_qt5_includedir/QtQuick/ |
214 |
%_qt5_prefix/examples/quick |
215 |
%_qt5_libdir/pkgconfig/Qt5Quick.pc |
216 |
%_qt5_prefix/mkspecs/modules/qt_lib_quick.pri |
217 |
%_qt5_prefix/mkspecs/modules/qt_lib_quick_private.pri |
218 |
|
219 |
#------------------------------------------------------------------------------ |
220 |
|
221 |
%package -n %{libqt5quickwidgets} |
222 |
Summary: Qt%{qtmajor} Lib |
223 |
Group: System/Libraries |
224 |
|
225 |
%description -n %{libqt5quickwidgets} |
226 |
Qt%{qtmajor} Lib. |
227 |
|
228 |
%files -n %{libqt5quickwidgets} |
229 |
%{_qt5_libdir}/libQt5QuickWidgets.so.%{qtmajor}* |
230 |
|
231 |
#------------------------------------------------------------------------------ |
232 |
|
233 |
%package -n %{libqt5quickwidgets_d} |
234 |
Summary: Devel files needed to build apps based on QtDeclarative |
235 |
Group: Development/KDE and Qt |
236 |
Requires: %{name} = %version-%{release} |
237 |
Requires: %{libqt5quickwidgets} = %version-%{release} |
238 |
Provides: libqt5quickwidgets-devel = %version-%{release} |
239 |
Provides: libqtquickwidgets5-devel = %version-%{release} |
240 |
Provides: qt5quickwidgets-devel = %version-%{release} |
241 |
Provides: qtquickwidgets5-devel = %version-%{release} |
242 |
|
243 |
Provides: libqt5quickwidgets-private-devel = %version-%{release} |
244 |
Provides: libqtquickwidgets5-private-devel = %version-%{release} |
245 |
Provides: qt5quickwidgets-private-devel = %version-%{release} |
246 |
Provides: qtquickwidgets5-private-devel = %version-%{release} |
247 |
|
248 |
%description -n %{libqt5quickwidgets_d} |
249 |
Devel files needed to build apps based on QtDeclarative. |
250 |
|
251 |
%files -n %{libqt5quickwidgets_d} |
252 |
%_qt5_libdir/libQt5QuickWidgets.prl |
253 |
%_qt5_libdir/libQt5QuickWidgets.so |
254 |
%_qt5_libdir/cmake/Qt5QuickWidgets |
255 |
%_qt5_includedir/QtQuickWidgets/ |
256 |
%_qt5_libdir/pkgconfig/Qt5QuickWidgets.pc |
257 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets.pri |
258 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets_private.pri |
259 |
|
260 |
|
261 |
#------------------------------------------------------------------------------ |
262 |
|
263 |
%package -n %{libqt5packetprotocol_d} |
264 |
Summary: Devel files needed to build apps based on QtDeclarative |
265 |
Group: Development/KDE and Qt |
266 |
Requires: %{name} = %version-%{release} |
267 |
Provides: libqt5packetprotocol-static-devel = %version-%{release} |
268 |
Provides: libqtpacketprotocol5-static-devel = %version-%{release} |
269 |
Provides: qt5packetprotocol-static-devel = %version-%{release} |
270 |
Provides: qtpacketprotocol5-static-devel = %version-%{release} |
271 |
|
272 |
%description -n %{libqt5packetprotocol_d} |
273 |
Devel files needed to build apps based on QtDeclarative. |
274 |
|
275 |
%files -n %{libqt5packetprotocol_d} |
276 |
%_qt5_libdir/libQt5PacketProtocol.prl |
277 |
%_qt5_libdir/libQt5PacketProtocol.a |
278 |
%_qt5_includedir/QtPacketProtocol/ |
279 |
%_qt5_prefix/mkspecs/modules/qt_lib_packetprotocol_private.pri |
280 |
|
281 |
#------------------------------------------------------------------------------ |
282 |
|
283 |
%package -n %{libqt5quickparticles} |
284 |
Summary: Qt%{qtmajor} Lib |
285 |
Group: System/Libraries |
286 |
|
287 |
%description -n %{libqt5quickparticles} |
288 |
Qt%{qtmajor} Lib. |
289 |
|
290 |
%files -n %{libqt5quickparticles} |
291 |
%{_qt5_libdir}/libQt5QuickParticles.so.%{qtmajor}* |
292 |
|
293 |
#------------------------------------------------------------------------------ |
294 |
|
295 |
%package -n %{libqt5quickparticles_d} |
296 |
Summary: Devel files needed to build apps based on QtDeclarative |
297 |
Group: Development/KDE and Qt |
298 |
Requires: %{name} = %version-%{release} |
299 |
Requires: %{libqt5quickparticles} = %version-%{release} |
300 |
Provides: libqt5quickparticles-devel = %version-%{release} |
301 |
Provides: libqtquickparticles5-devel = %version-%{release} |
302 |
Provides: qt5quickparticles-devel = %version-%{release} |
303 |
Provides: qtquickparticles5-devel = %version-%{release} |
304 |
|
305 |
Provides: libqt5quickparticles-private-devel = %version-%{release} |
306 |
Provides: libqtquickparticles5-private-devel = %version-%{release} |
307 |
Provides: qt5quickparticles-private-devel = %version-%{release} |
308 |
Provides: qtquickparticles5-private-devel = %version-%{release} |
309 |
|
310 |
%description -n %{libqt5quickparticles_d} |
311 |
Devel files needed to build apps based on QtDeclarative. |
312 |
|
313 |
%files -n %{libqt5quickparticles_d} |
314 |
%_qt5_libdir/libQt5QuickParticles.prl |
315 |
%_qt5_libdir/libQt5QuickParticles.so |
316 |
%_qt5_includedir/QtQuickParticles/ |
317 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickparticles_private.pri |
318 |
|
319 |
#------------------------------------------------------------------------------ |
320 |
|
321 |
%package -n %{libqt5qml} |
322 |
Summary: Qt%{qtmajor} Lib |
323 |
Group: System/Libraries |
324 |
|
325 |
%description -n %{libqt5qml} |
326 |
Qt%{qtmajor} Lib. |
327 |
|
328 |
%files -n %{libqt5qml} |
329 |
%{_qt5_libdir}/libQt5Qml.so.%{qtmajor}* |
330 |
|
331 |
%if 0%{?nosse2_hack} |
332 |
%{_qt5_libdir}/sse2/libQt5Qml.so.%{qtmajor}* |
333 |
%endif |
334 |
|
335 |
#------------------------------------------------------------------------------ |
336 |
|
337 |
%package -n %{libqt5qml_d} |
338 |
Summary: Devel files needed to build apps based on QtDeclarative |
339 |
Group: Development/KDE and Qt |
340 |
Requires: %{name} = %version-%{release} |
341 |
Requires: %{libqt5qml} = %version-%{release} |
342 |
Provides: libqt5qml-devel = %version-%{release} |
343 |
Provides: libqtqml5-devel = %version-%{release} |
344 |
Provides: qt5qml-devel = %version-%{release} |
345 |
Provides: qtqml5-devel = %version-%{release} |
346 |
|
347 |
Provides: libqt5qml-private-devel = %version-%{release} |
348 |
Provides: libqtqml5-private-devel = %version-%{release} |
349 |
Provides: qt5qml-private-devel = %version-%{release} |
350 |
Provides: qtqml5-private-devel = %version-%{release} |
351 |
|
352 |
Requires: qtnetwork5-devel = %version |
353 |
Requires: qtcore5-devel = %version |
354 |
|
355 |
%description -n %{libqt5qml_d} |
356 |
Devel files needed to build apps based on QtDeclarative. |
357 |
|
358 |
%files -n %{libqt5qml_d} |
359 |
%_qt5_libdir/libQt5Qml.prl |
360 |
%_qt5_libdir/libQt5Qml.so |
361 |
%_qt5_libdir/cmake/Qt5Qml |
362 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmltest.pri |
363 |
%_qt5_prefix/mkspecs/modules/qt_lib_qml.pri |
364 |
%_qt5_prefix/examples/qml |
365 |
%_qt5_libdir/pkgconfig/Qt5Qml.pc |
366 |
%_qt5_libdir/libQt5QmlDevTools.a |
367 |
%_qt5_includedir/QtQml* |
368 |
%_qt5_libdir/libQt5QmlDevTools.prl |
369 |
%_qt5_prefix/mkspecs/modules/qt_lib_qml_private.pri |
370 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmldevtools_private.pri |
371 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmltest_private.pri |
372 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmldebug_private.pri |
373 |
%_qt5_prefix/mkspecs/features/qmlcache.prf |
374 |
%_qt5_libdir/libQt5QmlDebug.a |
375 |
%_qt5_libdir/libQt5QmlDebug.prl |
376 |
|
377 |
#------------------------------------------------------------------------------ |
378 |
|
379 |
%prep |
380 |
%setup -q -n qtdeclarative-everywhere-src-%{qtversion} |
381 |
|
382 |
%if 0%{?nosse2_hack} |
383 |
%patch1 -p1 -b .no_sse2 |
384 |
%endif |
385 |
|
386 |
%build |
387 |
%if 0%{?nosse2_hack} |
388 |
# build libQt5Qml with no_sse2 |
389 |
mkdir -p %{_target_platform}-no_sse2 |
390 |
pushd %{_target_platform}-no_sse2 |
391 |
%{qmake_qt5} -config no_sse2 .. |
392 |
%make_build sub-src-clean |
393 |
%make_build -C src/qml |
394 |
popd |
395 |
%endif |
396 |
|
397 |
|
398 |
%{qmake_qt5} |
399 |
|
400 |
# no shadow builds until fixed: https://bugreports.qt.io/browse/QTBUG-37417 |
401 |
%make_build |
402 |
|
403 |
%if %{build_docs} |
404 |
%__make docs |
405 |
%endif |
406 |
|
407 |
%install |
408 |
%make_install INSTALL_ROOT=%{buildroot} |
409 |
|
410 |
%if 0%{?nosse2_hack} |
411 |
mkdir -p %{buildroot}%{_qt5_libdir}/sse2 |
412 |
mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/ |
413 |
%make_install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml |
414 |
%endif |
415 |
|
416 |
|
417 |
%if %{build_docs} |
418 |
%make_install install_docs INSTALL_ROOT=%{buildroot} |
419 |
%endif |
420 |
|
421 |
# .la and .a files, die, die, die. |
422 |
find %{buildroot} -name '*.la' -delete |
423 |
#find %%{buildroot} -name '*.a' -delete |
424 |
|
425 |
|
426 |
|
427 |
|