source: projects/specs/trunk/q/qt5-qtdeclarative/qt5-qtdeclarative-vl.spec @ 11435

Revision 11435, 15.8 KB checked in by tomop, 6 years ago (diff)

updated Qt5

Line 
1
2%global qt_module qtdeclarative
3
4%define _unpackaged_files_terminate_build 1
5
6# define to build docs, need to undef this for bootstrapping
7# where qt5-qttools builds are not yet available
8# only primary archs (for now), allow secondary to bootstrap
9#global bootstrap 1
10
11%if ! 0%{?bootstrap}
12%ifarch %{arm} %{ix86} x86_64
13%global docs 1
14#global tests 1
15%endif
16%endif
17
18%global nosse2_hack 1
19## TODO:
20# * consider debian's approach of runtime detection instead:
21#   https://codereview.qt-project.org/#/c/127354/
22
23#define prerelease
24
25%global qt5_minorver 5.6
26%global qt5_version 5.6.3
27#global qt5_patchlevel 1
28
29Summary: Qt5 - QtDeclarative component
30Name:    qt5-%{qt_module}
31Version: %{qt5_version}%{?qt5_patchlevel:.%{qt5_patchlevel}}
32Release: 1%{?_dist_release}
33
34# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
35License: LGPLv2 with exceptions or GPLv3 with exceptions
36Url:     http://www.qt.io
37
38Vendor: Project Vine
39Distribution: Vine Linux
40
41Source0: http://download.qt.io/official_releases/qt/%{qt5_minorver}/%{qt5_version}%{?qt5_patchlevel:-%{qt5_patchlevel}}/submodules/%{qt_module}-opensource-src-%{qt5_version}%{?qt5_patchlevel:-%{qt5_patchlevel}}.tar.xz
42
43# support no_sse2 CONFIG (fedora i686 builds cannot assume -march=pentium4 -msse2 -mfpmath=sse flags, or the JIT that needs them)
44# https://codereview.qt-project.org/#change,73710
45Patch1: qtdeclarative-opensource-src-5.5.0-no_sse2.patch
46
47# workaround for possible deadlock condition in QQuickShaderEffectSource
48# https://bugzilla.redhat.com/show_bug.cgi?id=1237269
49# https://bugs.kde.org/show_bug.cgi?id=348385
50Patch2: qtdeclarative-QQuickShaderEffectSource_deadlock.patch
51
52## upstream patches
53Patch27: 0027-Fix-crash-when-using-with-statement-with-an-expressi.patch
54
55## upstreamable patches
56# use system double-conversation
57%if 0%{?fedora} || 0%{?rhel} > 6
58%global system_doubleconv 1
59BuildRequires: double-conversion-devel
60%endif
61Patch200: qtdeclarative-system_doubleconv.patch
62# https://bugs.kde.org/show_bug.cgi?id=346118#c108
63Patch201: qtdeclarative-kdebug346118.patch
64# additional i686/qml workaround (on top of existing patch135),  https://bugzilla.redhat.com/1331593
65Patch235: qtdeclarative-opensource-src-5.6.0-qml_no-lifetime-dse.patch
66
67## upstream patches under review
68# Check-for-NULL-from-glGetStrin
69Patch500: Check-for-NULL-from-glGetString.patch
70
71Obsoletes: qt5-qtjsbackend < 5.2.0
72
73BuildRequires: cmake
74BuildRequires: qt5-qtbase-devel >= %{version}
75BuildRequires: qt5-qtbase-private-devel
76%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
77%if ! 0%{?bootstrap}
78BuildRequires: qt5-qtxmlpatterns-devel
79%endif
80BuildRequires: python
81
82%if 0%{?tests}
83BuildRequires: dbus-x11
84BuildRequires: mesa-dri-drivers
85BuildRequires: time
86BuildRequires: xorg-x11-server-Xvfb
87%endif
88
89
90%description
91%{summary}.
92
93%package devel
94Summary: Development files for %{name}
95Obsoletes: qt5-qtjsbackend-devel < 5.2.0
96Provides:  %{name}-private-devel = %{version}-%{release}
97Requires: %{name}%{?_isa} = %{version}-%{release}
98Requires: qt5-qtbase-devel%{?_isa}
99%description devel
100%{summary}.
101
102%package static
103Summary: Static library files for %{name}
104Requires: %{name}-devel%{?_isa} = %{version}-%{release}
105%description static
106%{summary}.
107
108%if 0%{?docs}
109%package doc
110Summary: API documentation for %{name}
111License: GFDL
112Requires: %{name} = %{version}-%{release}
113BuildRequires: qt5-qdoc
114BuildRequires: qt5-qhelpgenerator
115BuildArch: noarch
116%description doc
117%{summary}.
118%endif
119
120%package examples
121Summary: Programming examples for %{name}
122Requires: %{name}%{?_isa} = %{version}-%{release}
123%description examples
124%{summary}.
125
126
127%prep
128%setup -q -n %{qt_module}-opensource-src-%{qt5_version}
129%if 0%{?nosse2_hack}
130%patch1 -p1 -b .no_sse2
131%endif
132%patch2 -p1 -b .QQuickShaderEffectSource_deadlock
133
134%patch27 -p1 -b .0027
135
136%if 0%{?system_doubleconv}
137%patch200 -p1 -b .system_doubleconv
138rm -rfv src/3rdparty/double-conversion
139%endif
140%patch201 -p0 -b .kdebug346118
141
142%patch500 -p1 -b .Check-for-NULL-from-glGetString
143
144
145%build
146mkdir %{_target_platform}
147pushd %{_target_platform}
148%{qmake_qt5} ..
149popd
150
151make %{?_smp_mflags} -C %{_target_platform}
152
153%if 0%{?nosse2_hack}
154# build libQt5Qml with no_sse2
155mkdir -p %{_target_platform}-no_sse2
156pushd    %{_target_platform}-no_sse2
157%{qmake_qt5} -config no_sse2 ..
158make sub-src-clean
159make %{?_smp_mflags} -C src/qml
160popd
161%endif
162
163%if 0%{?docs}
164make %{?_smp_mflags} docs -C %{_target_platform}
165%endif
166
167
168%install
169rm -rf %{buildroot}
170make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}
171
172%if 0%{?nosse2_hack}
173mkdir -p %{buildroot}%{_qt5_libdir}/sse2
174mv %{buildroot}%{_qt5_libdir}/libQt5Qml.so.5* %{buildroot}%{_qt5_libdir}/sse2/
175make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}-no_sse2/src/qml
176%endif
177
178%if 0%{?docs}
179make install_docs INSTALL_ROOT=%{buildroot} -C %{_target_platform}
180%endif
181
182# hardlink files to %{_bindir}, add -qt5 postfix to not conflict
183mkdir %{buildroot}%{_bindir}
184pushd %{buildroot}%{_qt5_bindir}
185for i in * ; do
186  case "${i}" in
187    # qt4 conflicts
188    qmlplugindump|qmlprofiler)
189      ln -v  ${i} %{buildroot}%{_bindir}/${i}-qt5
190      ln -sv ${i} ${i}-qt5
191      ;;
192    # qtchooser stuff
193    qml|qmlbundle|qmlmin|qmlscene)
194      ln -v  ${i} %{buildroot}%{_bindir}/${i}
195      ln -v  ${i} %{buildroot}%{_bindir}/${i}-qt5
196      ln -sv ${i} ${i}-qt5
197      ;;
198    *)
199      ln -v  ${i} %{buildroot}%{_bindir}/${i}
200      ;;
201  esac
202done
203popd
204
205## .prl/.la file love
206# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
207pushd %{buildroot}%{_qt5_libdir}
208for prl_file in libQt5*.prl ; do
209  sed -i \
210    -e "/^QMAKE_PRL_BUILD_DIR/d" \
211    -e "/-ldouble-conversion/d" \
212    ${prl_file}
213  if [ -f "$(basename ${prl_file} .prl).so" ]; then
214    rm -fv "$(basename ${prl_file} .prl).la"
215  else
216    sed -i \
217       -e "/^QMAKE_PRL_LIBS/d" \
218       -e "/-ldouble-conversion/d" \
219       $(basename ${prl_file} .prl).la
220  fi
221done
222popd
223
224
225%check
226test -z "$(grep double-conversion %{buildroot}%{_qt5_libdir}/*.{la,prl})"
227%if 0%{?tests}
228export CTEST_OUTPUT_ON_FAILURE=1
229export PATH=%{buildroot}%{_qt5_bindir}:$PATH
230export LD_LIBRARY_PATH=%{buildroot}%{_qt5_libdir}
231make sub-tests-all %{?_smp_mflags} -C %{_target_platform}
232xvfb-run -a \
233dbus-launch --exit-with-session \
234time \
235make check -k -C %{_target_platform}/tests ||:
236%endif
237
238
239%post -p /sbin/ldconfig
240%postun -p /sbin/ldconfig
241
242%files
243%{!?_licensedir:%global license %%doc}
244%license LICENSE.LGPL* LGPL_EXCEPTION.txt
245%{_qt5_libdir}/libQt5Qml.so.5*
246%if 0%{?nosse2_hack}
247%{_qt5_libdir}/sse2/libQt5Qml.so.5*
248%endif
249%{_qt5_libdir}/libQt5Quick.so.5*
250%{_qt5_libdir}/libQt5QuickWidgets.so.5*
251%{_qt5_libdir}/libQt5QuickParticles.so.5*
252%{_qt5_libdir}/libQt5QuickTest.so.5*
253%{_qt5_plugindir}/qmltooling/
254%{_qt5_archdatadir}/qml/
255%dir %{_qt5_libdir}/cmake/Qt5Qml/
256%{_qt5_libdir}/cmake/Qt5Qml/Qt5Qml_*Factory.cmake
257
258%files devel
259%{_bindir}/qml*
260%{_qt5_bindir}/qml*
261%{_qt5_headerdir}/Qt*/
262%{_qt5_libdir}/libQt5Qml.so
263%{_qt5_libdir}/libQt5Qml.prl
264%{_qt5_libdir}/libQt5Quick*.so
265%{_qt5_libdir}/libQt5Quick*.prl
266%dir %{_qt5_libdir}/cmake/Qt5Quick*/
267%{_qt5_libdir}/cmake/Qt5*/Qt5*Config*.cmake
268%{_qt5_libdir}/pkgconfig/Qt5*.pc
269%{_qt5_archdatadir}/mkspecs/modules/*.pri
270
271%files static
272%{_qt5_libdir}/libQt5QmlDevTools.*a
273%{_qt5_libdir}/libQt5QmlDevTools.prl
274
275%if 0%{?docs}
276%files doc
277%license LICENSE.FDL
278%{_qt5_docdir}/qtqml.qch
279%{_qt5_docdir}/qtqml/
280%{_qt5_docdir}/qtquick.qch
281%{_qt5_docdir}/qtquick/
282%endif
283
284%files examples
285%{_qt5_examplesdir}/
286
287
288%changelog
289* Tue Jan 09 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 5.6.3
290- new upstream release.
291
292* Sun Jul 10 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 5.6.1.1-1
293- new upstream release.
294- initial build for Vine Linux.
295
296* Thu Jun 16 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.1-5
297- backport 5.6 branch fixes
298
299* Wed Jun 15 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-4
300- drop pkgconfig-style Qt5 deps
301
302* Wed Jun 15 2016 Jan Grulich <jgrulich@redhat.com> - 5.6.1-3
303- Apply no_sse2 hack to all architecturs to make qt5-qtdeclarative-devel multilib-clean
304
305* Fri Jun 10 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-2
306- strip double-conversion references from .la/.prl files
307
308* Thu Jun 09 2016 Jan Grulich <jgrulich@redhat.com> - 5.6.1-1
309- Update to 5.6.1
310
311* Thu Jun 02 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-12
312- pull in upstream qml/jsruntime workaround (ie, apply compiler workarounds only for src/qml/)
313
314* Tue May 31 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-11
315- include crasher workaround (#1259472,kde#346118)
316
317* Sat May 28 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-10
318- macro'ize no_sse2 hack (to make it easier to enable/disable)
319- re-introduce -fno-delete-null-pointer-checks here (following upstream)
320- add -fno-lifetime-dse too, helps fix i686/qml crasher (#1331593)
321- disable tests (for now, not useful yet)
322
323* Fri May 20 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-9
324- Use system double-conversion (#1078524)
325
326* Thu May 19 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-8
327- -devel: don't own libQt5QuickWidgets.so.5 (#1337621)
328
329* Thu May 05 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-7
330- BR: mesa-dri-drivers (tests)
331
332* Thu May 05 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-6
333- drop local -fno-delete-null-pointer-checks hack, used in all Qt5 builds now
334- add %%check
335
336* Sun Apr 17 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-5
337- BR: qt5-qtbase-private-devel, -devel: Provides: -private-devel
338
339* Fri Mar 25 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-4
340- backport upstream fixes
341- drop -fno-delete-null-pointer-checks hack (included in qt5-rpm-macros as needed now)
342
343* Sat Mar 19 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-3
344- BR: cmake (cmake autoprovides)
345
346* Fri Mar 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-2
347- rebuild
348
349* Mon Mar 14 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-1
350- 5.6.0 final release
351
352* Tue Feb 23 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.11.rc
353- Update to final RC
354
355* Mon Feb 22 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.10
356- Update RC tarball from git
357
358* Mon Feb 15 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.9
359- Update RC release
360
361* Tue Feb 02 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.8.beta
362- build with -fno-delete-null-pointer-checks to workaround gcc6-related runtime crashes (#1303643)
363
364* Thu Jan 28 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.7.beta
365- backport fix for older compilers (aka rhel6)
366
367* Sun Jan 17 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.6.beta
368- use %%license
369
370* Mon Dec 21 2015 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.5.beta
371- fix Source URL, Release: tag
372
373* Mon Dec 21 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.4
374- Update to final beta release
375
376* Thu Dec 10 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.3
377- Official beta release
378
379* Sun Dec 06 2015 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.2
380- de-bootstrap
381
382* Tue Nov 03 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.1
383- Start to implement 5.6.0 beta, bootstrap
384
385* Sat Oct 24 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.1-3
386- workaround QQuickShaderEffectSource::updatePaintNode deadlock (#1237269, kde#348385)
387
388* Thu Oct 15 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.1-2
389- Update to final release 5.5.1
390
391* Tue Sep 29 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.1-1
392- Update to Qt 5.5.1 RC1
393
394* Wed Jul 29 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.0-3
395- -docs: BuildRequires: qt5-qhelpgenerator
396
397* Thu Jul 16 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.0-2
398- tighten qtbase dep (#1233829), .spec cosmetics
399
400* Wed Jul 1 2015 Helio Chissini de Castro <helio@kde.org> 5.5.0-1
401- New final upstream release Qt 5.5.0
402
403* Mon Jun 29 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-0.4.rc
404- Second round of builds now with bootstrap enabled due new qttools
405
406* Sat Jun 27 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-0.3.rc
407- Disable bootstrap
408
409* Wed Jun 24 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-0.2.rc
410- Update for official RC1 released packages
411
412* Mon Jun 08 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.2-2
413- restore fix for QTBUG-45753/kde-345544 lost in 5.4.2 rebase
414
415* Wed Jun 03 2015 Jan Grulich <jgrulich@redhat.com> 5.4.2-1
416- 5.4.2
417
418* Sat May 02 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.1-4
419- pull in some upstream fixes, for QTBUG-45753/kde-345544 in particular
420
421* Wed Apr 22 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 5.4.1-3
422- fix non-sse2 support (kde#346244) and optimize sse2 binaries
423
424* Fri Feb 27 2015 Rex Dieter <rdieter@fedoraproject.org> - 5.4.1-2
425- rebuild (gcc5)
426
427* Tue Feb 24 2015 Jan Grulich <jgrulich@redhat.com> 5.4.1-1
428- 5.4.1
429
430* Mon Feb 16 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-3
431- rebuild (gcc)
432
433* Sat Feb 14 2015 Ville Skyttä <ville.skytta@iki.fi> - 5.4.0-2
434- Fix cmake dir ownerhips
435
436* Wed Dec 10 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-1
437- 5.4.0 (final)
438
439* Fri Nov 28 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.3.rc
440- 5.4.0-rc
441
442* Mon Nov 03 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.2.beta
443- use new %%qmake_qt5 macro
444
445* Sat Oct 18 2014 Rex Dieter <rdieter@fedoraproject.org> - 5.4.0-0.1.beta
446- 5.4.0-beta
447- %%ix84: drop sse2-optimized bits, need to rethink if/how to support it now
448
449* Tue Sep 16 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3.2-1
450- 5.3.2
451
452* Tue Sep 16 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3.1-3
453- -qt5 wrappers for qml qmlbundle qmlmin qmlscene
454
455* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.1-2
456- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
457
458* Tue Jun 17 2014 Jan Grulich <jgrulich@redhat.com> - 5.3.1-1
459- 5.3.1
460
461* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.0-2
462- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
463
464* Wed May 21 2014 Jan Grulich <jgrulich@redhat.com> 5.3.0-1
465- 5.3.0
466
467* Wed Feb 05 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-1
468- 5.2.1
469
470* Sun Feb 02 2014 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> 5.2.0-6
471- Add AArch64 support (RHBUG: 1040452, QTBUG-35528)
472
473* Mon Jan 27 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-5
474- build -examples only if supported
475
476* Sun Jan 26 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-4
477- -examples subpkg
478
479* Tue Jan 14 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-3
480- epel7 bootstrapped
481
482* Mon Jan 06 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-2
483- BR: qt5-qtxmlpatterns-devel (#1048558)
484
485* Thu Dec 12 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-1
486- 5.2.0
487
488* Tue Dec 10 2013 Rex Dieter <rdieter@fedoraproject.org> - 5.2.0-0.12.rc1
489- support out-of-src-tree builds
490- %%ix86: install sse2/jit version to %%_qt5_libdir/sse2/
491
492* Thu Dec 05 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.11.rc1
493- %%ix86: cannot assume sse2 (and related support) or the JIT that requires it...  disable.
494
495* Mon Dec 02 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.10.rc1
496- 5.2.0-rc1
497
498* Mon Nov 25 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.5.beta1
499- enable -doc only on primary archs (allow secondary bootstrap)
500
501* Sat Nov 09 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.4.beta1
502- rebuild (arm/qreal)
503
504* Thu Oct 24 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.3.beta1
505- 5.2.0-beta1
506
507* Wed Oct 16 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.2.alpha
508- bootstrap ppc
509
510* Tue Oct 01 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.1.alpha
511- 5.2.0-alpha
512- Obsoletes: qt5-qtjsbackend
513- -doc subpkg
514
515* Wed Aug 28 2013 Rex Dieter <rdieter@fedoraproject.org> 5.1.1-1
516- 5.1.1
517
518* Tue Aug 20 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-4
519- qt5-qtjsbackend only supports ix86, x86_64 and arm
520
521* Tue May 14 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-3
522- fix qmlprofiler conflict with qt-creator
523
524* Fri Apr 12 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-2
525- fix qmlplugindump conflict with qt4-devel
526- include license files, dist/changes*
527
528* Thu Apr 11 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-1
529- 5.0.2
530
531* Sat Feb 23 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-1
532- first try
533
Note: See TracBrowser for help on using the repository browser.