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