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 9 |
18 |
%define qtsubminor 3 |
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-opensource-src-%{qtversion}-%pre |
44 |
%else |
45 |
%define qttarballdir qtdeclarative-opensource-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) |
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-opensource-src-5.9.1-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_datadir/qml/QtQml |
108 |
%_qt5_datadir/qml/builtins.qmltypes |
109 |
%_qt5_datadir/qml/Qt/labs/sharedimage |
110 |
|
111 |
#------------------------------------------------------------------------------ |
112 |
|
113 |
%if %{build_docs} |
114 |
%package doc |
115 |
Summary: QtDeclarative%{qtmajor} APIs and tools docs |
116 |
Group: Documentation |
117 |
BuildArch: noarch |
118 |
BuildRequires: qttools5 |
119 |
# This one is required to build QCH-format documentation |
120 |
# for APIs and tools in this package set |
121 |
BuildRequires: qttools5-assistant |
122 |
Recommends: qttools5-assistant |
123 |
|
124 |
%description doc |
125 |
Documentation for APIs and tools in QtDeclarative5 package for use with |
126 |
Qt Assistant. |
127 |
|
128 |
%files doc |
129 |
%{_qt5_docdir}/qtqml.qch |
130 |
%{_qt5_docdir}/qtqml/ |
131 |
%{_qt5_docdir}/qtquick.qch |
132 |
%{_qt5_docdir}/qtquick/ |
133 |
%endif |
134 |
|
135 |
#------------------------------------------------------------------------------ |
136 |
|
137 |
%package -n %{libqt5quicktest} |
138 |
Summary: Qt%{qtmajor} Lib |
139 |
Group: System/Libraries |
140 |
|
141 |
%description -n %{libqt5quicktest} |
142 |
Qt%{qtmajor} Lib. |
143 |
|
144 |
%files -n %{libqt5quicktest} |
145 |
%{_qt5_libdir}/libQt5QuickTest.so.%{qtmajor}* |
146 |
|
147 |
#------------------------------------------------------------------------------ |
148 |
|
149 |
%package -n %{libqt5quicktest_d} |
150 |
Summary: Devel files needed to build apps based on QtDeclarative |
151 |
Group: Development/KDE and Qt |
152 |
Requires: %{libqt5quicktest} = %version-%{release} |
153 |
Requires: %{name} = %version |
154 |
Provides: libqt5quicktest-devel = %version-%{release} |
155 |
Provides: libqtquicktest5-devel = %version-%{release} |
156 |
Provides: qt5quicktest-devel = %version-%{release} |
157 |
Provides: qtquicktest5-devel = %version-%{release} |
158 |
|
159 |
Provides: libqt5quicktest-private-devel = %version-%{release} |
160 |
Provides: libqtquicktest5-private-devel = %version-%{release} |
161 |
Provides: qt5quicktest-private-devel = %version-%{release} |
162 |
Provides: qtquicktest5-private-devel = %version-%{release} |
163 |
|
164 |
%description -n %{libqt5quicktest_d} |
165 |
Devel files needed to build apps based on QtDeclarative. |
166 |
|
167 |
%files -n %{libqt5quicktest_d} |
168 |
%_qt5_libdir/libQt5QuickTest.prl |
169 |
%_qt5_libdir/libQt5QuickTest.so |
170 |
%_qt5_libdir/cmake/Qt5QuickTest |
171 |
%_qt5_includedir/QtQuickTest/ |
172 |
%_qt5_libdir/pkgconfig/Qt5QuickTest.pc |
173 |
%_qt5_prefix/examples/qmltest |
174 |
|
175 |
#------------------------------------------------------------------------------ |
176 |
|
177 |
%package -n %{libqt5quick} |
178 |
Summary: Qt%{qtmajor} Lib |
179 |
Group: System/Libraries |
180 |
|
181 |
%description -n %{libqt5quick} |
182 |
Qt%{qtmajor} Lib. |
183 |
|
184 |
%files -n %{libqt5quick} |
185 |
%{_qt5_libdir}/libQt5Quick.so.%{qtmajor}* |
186 |
|
187 |
#------------------------------------------------------------------------------ |
188 |
|
189 |
%package -n %{libqt5quick_d} |
190 |
Summary: Devel files needed to build apps based on QtDeclarative |
191 |
Group: Development/KDE and Qt |
192 |
Requires: %{name} = %version-%{release} |
193 |
Requires: %{libqt5quick} = %version-%{release} |
194 |
Provides: libqt5quick-devel = %version-%{release} |
195 |
Provides: libqtquick5-devel = %version-%{release} |
196 |
Provides: qt5quick-devel = %version-%{release} |
197 |
Provides: qtquick5-devel = %version-%{release} |
198 |
Requires: qtgui5-devel = %version-%{release} |
199 |
|
200 |
Provides: libqt5quick-private-devel = %version-%{release} |
201 |
Provides: libqtquick5-private-devel = %version-%{release} |
202 |
Provides: qt5quick-private-devel = %version-%{release} |
203 |
Provides: qtquick5-private-devel = %version-%{release} |
204 |
|
205 |
%description -n %{libqt5quick_d} |
206 |
Devel files needed to build apps based on QtDeclarative. |
207 |
|
208 |
%files -n %{libqt5quick_d} |
209 |
%_qt5_libdir/libQt5Quick.prl |
210 |
%_qt5_libdir/libQt5Quick.so |
211 |
%_qt5_libdir/cmake/Qt5Quick |
212 |
%_qt5_includedir/QtQuick/ |
213 |
%_qt5_prefix/examples/quick |
214 |
%_qt5_libdir/pkgconfig/Qt5Quick.pc |
215 |
%_qt5_prefix/mkspecs/modules/qt_lib_quick.pri |
216 |
%_qt5_prefix/mkspecs/modules/qt_lib_quick_private.pri |
217 |
|
218 |
#------------------------------------------------------------------------------ |
219 |
|
220 |
%package -n %{libqt5quickwidgets} |
221 |
Summary: Qt%{qtmajor} Lib |
222 |
Group: System/Libraries |
223 |
|
224 |
%description -n %{libqt5quickwidgets} |
225 |
Qt%{qtmajor} Lib. |
226 |
|
227 |
%files -n %{libqt5quickwidgets} |
228 |
%{_qt5_libdir}/libQt5QuickWidgets.so.%{qtmajor}* |
229 |
|
230 |
#------------------------------------------------------------------------------ |
231 |
|
232 |
%package -n %{libqt5quickwidgets_d} |
233 |
Summary: Devel files needed to build apps based on QtDeclarative |
234 |
Group: Development/KDE and Qt |
235 |
Requires: %{name} = %version-%{release} |
236 |
Requires: %{libqt5quickwidgets} = %version-%{release} |
237 |
Provides: libqt5quickwidgets-devel = %version-%{release} |
238 |
Provides: libqtquickwidgets5-devel = %version-%{release} |
239 |
Provides: qt5quickwidgets-devel = %version-%{release} |
240 |
Provides: qtquickwidgets5-devel = %version-%{release} |
241 |
|
242 |
Provides: libqt5quickwidgets-private-devel = %version-%{release} |
243 |
Provides: libqtquickwidgets5-private-devel = %version-%{release} |
244 |
Provides: qt5quickwidgets-private-devel = %version-%{release} |
245 |
Provides: qtquickwidgets5-private-devel = %version-%{release} |
246 |
|
247 |
%description -n %{libqt5quickwidgets_d} |
248 |
Devel files needed to build apps based on QtDeclarative. |
249 |
|
250 |
%files -n %{libqt5quickwidgets_d} |
251 |
%_qt5_libdir/libQt5QuickWidgets.prl |
252 |
%_qt5_libdir/libQt5QuickWidgets.so |
253 |
%_qt5_libdir/cmake/Qt5QuickWidgets |
254 |
%_qt5_includedir/QtQuickWidgets/ |
255 |
%_qt5_libdir/pkgconfig/Qt5QuickWidgets.pc |
256 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets.pri |
257 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickwidgets_private.pri |
258 |
|
259 |
|
260 |
#------------------------------------------------------------------------------ |
261 |
|
262 |
%package -n %{libqt5packetprotocol_d} |
263 |
Summary: Devel files needed to build apps based on QtDeclarative |
264 |
Group: Development/KDE and Qt |
265 |
Requires: %{name} = %version-%{release} |
266 |
Provides: libqt5packetprotocol-static-devel = %version-%{release} |
267 |
Provides: libqtpacketprotocol5-static-devel = %version-%{release} |
268 |
Provides: qt5packetprotocol-static-devel = %version-%{release} |
269 |
Provides: qtpacketprotocol5-static-devel = %version-%{release} |
270 |
|
271 |
%description -n %{libqt5packetprotocol_d} |
272 |
Devel files needed to build apps based on QtDeclarative. |
273 |
|
274 |
%files -n %{libqt5packetprotocol_d} |
275 |
%_qt5_libdir/libQt5PacketProtocol.prl |
276 |
%_qt5_libdir/libQt5PacketProtocol.a |
277 |
%_qt5_includedir/QtPacketProtocol/ |
278 |
%_qt5_prefix/mkspecs/modules/qt_lib_packetprotocol_private.pri |
279 |
|
280 |
#------------------------------------------------------------------------------ |
281 |
|
282 |
%package -n %{libqt5quickparticles} |
283 |
Summary: Qt%{qtmajor} Lib |
284 |
Group: System/Libraries |
285 |
|
286 |
%description -n %{libqt5quickparticles} |
287 |
Qt%{qtmajor} Lib. |
288 |
|
289 |
%files -n %{libqt5quickparticles} |
290 |
%{_qt5_libdir}/libQt5QuickParticles.so.%{qtmajor}* |
291 |
|
292 |
#------------------------------------------------------------------------------ |
293 |
|
294 |
%package -n %{libqt5quickparticles_d} |
295 |
Summary: Devel files needed to build apps based on QtDeclarative |
296 |
Group: Development/KDE and Qt |
297 |
Requires: %{name} = %version-%{release} |
298 |
Requires: %{libqt5quickparticles} = %version-%{release} |
299 |
Provides: libqt5quickparticles-devel = %version-%{release} |
300 |
Provides: libqtquickparticles5-devel = %version-%{release} |
301 |
Provides: qt5quickparticles-devel = %version-%{release} |
302 |
Provides: qtquickparticles5-devel = %version-%{release} |
303 |
|
304 |
Provides: libqt5quickparticles-private-devel = %version-%{release} |
305 |
Provides: libqtquickparticles5-private-devel = %version-%{release} |
306 |
Provides: qt5quickparticles-private-devel = %version-%{release} |
307 |
Provides: qtquickparticles5-private-devel = %version-%{release} |
308 |
|
309 |
%description -n %{libqt5quickparticles_d} |
310 |
Devel files needed to build apps based on QtDeclarative. |
311 |
|
312 |
%files -n %{libqt5quickparticles_d} |
313 |
%_qt5_libdir/libQt5QuickParticles.prl |
314 |
%_qt5_libdir/libQt5QuickParticles.so |
315 |
%_qt5_includedir/QtQuickParticles/ |
316 |
%_qt5_prefix/mkspecs/modules/qt_lib_quickparticles_private.pri |
317 |
|
318 |
#------------------------------------------------------------------------------ |
319 |
|
320 |
%package -n %{libqt5qml} |
321 |
Summary: Qt%{qtmajor} Lib |
322 |
Group: System/Libraries |
323 |
|
324 |
%description -n %{libqt5qml} |
325 |
Qt%{qtmajor} Lib. |
326 |
|
327 |
%files -n %{libqt5qml} |
328 |
%{_qt5_libdir}/libQt5Qml.so.%{qtmajor}* |
329 |
|
330 |
%if 0%{?nosse2_hack} |
331 |
%{_qt5_libdir}/sse2/libQt5Qml.so.%{qtmajor}* |
332 |
%endif |
333 |
|
334 |
#------------------------------------------------------------------------------ |
335 |
|
336 |
%package -n %{libqt5qml_d} |
337 |
Summary: Devel files needed to build apps based on QtDeclarative |
338 |
Group: Development/KDE and Qt |
339 |
Requires: %{name} = %version-%{release} |
340 |
Requires: %{libqt5qml} = %version-%{release} |
341 |
Provides: libqt5qml-devel = %version-%{release} |
342 |
Provides: libqtqml5-devel = %version-%{release} |
343 |
Provides: qt5qml-devel = %version-%{release} |
344 |
Provides: qtqml5-devel = %version-%{release} |
345 |
|
346 |
Provides: libqt5qml-private-devel = %version-%{release} |
347 |
Provides: libqtqml5-private-devel = %version-%{release} |
348 |
Provides: qt5qml-private-devel = %version-%{release} |
349 |
Provides: qtqml5-private-devel = %version-%{release} |
350 |
|
351 |
Requires: qtnetwork5-devel = %version |
352 |
Requires: qtcore5-devel = %version |
353 |
|
354 |
%description -n %{libqt5qml_d} |
355 |
Devel files needed to build apps based on QtDeclarative. |
356 |
|
357 |
%files -n %{libqt5qml_d} |
358 |
%_qt5_libdir/libQt5Qml.prl |
359 |
%_qt5_libdir/libQt5Qml.so |
360 |
%_qt5_libdir/cmake/Qt5Qml |
361 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmltest.pri |
362 |
%_qt5_prefix/mkspecs/modules/qt_lib_qml.pri |
363 |
%_qt5_prefix/examples/qml |
364 |
%_qt5_libdir/pkgconfig/Qt5Qml.pc |
365 |
%_qt5_libdir/libQt5QmlDevTools.a |
366 |
%_qt5_includedir/QtQml* |
367 |
%_qt5_libdir/libQt5QmlDevTools.prl |
368 |
%_qt5_prefix/mkspecs/modules/qt_lib_qml_private.pri |
369 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmldevtools_private.pri |
370 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmltest_private.pri |
371 |
%_qt5_prefix/mkspecs/modules/qt_lib_qmldebug_private.pri |
372 |
%_qt5_prefix/mkspecs/features/qmlcache.prf |
373 |
%_qt5_libdir/libQt5QmlDebug.a |
374 |
%_qt5_libdir/libQt5QmlDebug.prl |
375 |
|
376 |
#------------------------------------------------------------------------------ |
377 |
|
378 |
%prep |
379 |
%setup -q -n qtdeclarative-opensource-src-%{qtversion} |
380 |
|
381 |
%if 0%{?nosse2_hack} |
382 |
%patch1 -p1 -b .no_sse2 |
383 |
%endif |
384 |
|
385 |
%build |
386 |
mkdir %{_target_platform} |
387 |
pushd %{_target_platform} |
388 |
%{qmake_qt5} .. |
389 |
popd |
390 |
|
391 |
%make_build -C %{_target_platform} |
392 |
|
393 |
%if 0%{?nosse2_hack} |
394 |
# build libQt5Qml with no_sse2 |
395 |
mkdir -p %{_target_platform}-no_sse2 |
396 |
pushd %{_target_platform}-no_sse2 |
397 |
%{qmake_qt5} -config no_sse2 .. |
398 |
%make_build sub-src-clean |
399 |
%make_build -C src/qml |
400 |
popd |
401 |
%endif |
402 |
|
403 |
%if %{build_docs} |
404 |
%__make docs -C %{_target_platform} |
405 |
%endif |
406 |
|
407 |
%install |
408 |
%make_install INSTALL_ROOT=%{buildroot} -C %{_target_platform} |
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} -C %{_target_platform} |
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 |
|