qt5-qtwebkit-vl.spec 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. %global qt_module qtwebkit
  2. %global _hardened_build 1
  3. #global bootstrap 1
  4. %define _unpackaged_files_terminate_build 1
  5. # define to build docs, need to undef this for bootstrapping
  6. # where qt5-qttools builds are not yet available
  7. # only primary archs (for now), allow secondary to bootstrap
  8. %if ! 0%{?bootstrap}
  9. %ifarch %{arm} %{ix86} x86_64
  10. %define docs 1
  11. %endif
  12. %endif
  13. #global commit0 b889f460280ad98c89ede179bd3b9ce9cb02002b
  14. #global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
  15. Summary: Qt5 - QtWebKit components
  16. Name: qt5-qtwebkit
  17. Version: 5.6.3
  18. Release: 1%{?shortcommit0:.%{shortcommit0}git}%{?_dist_release}
  19. # See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
  20. # See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
  21. License: LGPLv2 with exceptions or GPLv3 with exceptions
  22. Url: http://www.qt.io
  23. Vendor: Project Vine
  24. Distribution: Vine Linux
  25. %if 0%{?commit0:1}
  26. # The source for this package was pulled from upstream's vcs. Use the
  27. # following commands to generate the tarball:
  28. # git clone git@github.com:qtproject/qtqebkit.git && cd qtwebkit
  29. # git archive --prefix=qtwebkit-opensource-src-5.6.1/ origin/5.6.1 | tar -x -C ..
  30. # cd ../qtwebkit-opensource-src-5.6.1 && syncqt.pl -version 5.6.1 Source/sync.profile && cd ..
  31. # tar cfJ qt5-webkit-opensource-src-5.6.1.tar.xz qtwebkit-opensource-src-5.6.1/
  32. Source0: %{qt_module}-opensource-src-%{version}-%{shortcommit0}.tar.xz
  33. %else
  34. Source0: http://download.qt.io/community_releases/5.6/%{version}/qtwebkit-opensource-src-%{version}.tar.xz
  35. %endif
  36. ## downstream patches
  37. # Search /usr/lib{,64}/mozilla/plugins-wrapped for browser plugins too
  38. Patch1: qtwebkit-opensource-src-5.2.0-pluginpath.patch
  39. # smaller debuginfo s/-g/-g1/ (debian uses -gstabs) to avoid 4gb size limit
  40. Patch3: qtwebkit-opensource-src-5.0.1-debuginfo.patch
  41. # tweak linker flags to minimize memory usage on "small" platforms
  42. Patch4: qtwebkit-opensource-src-5.2.0-save_memory.patch
  43. # Add AArch64 support
  44. Patch7: 0001-Add-ARM-64-support.patch
  45. # truly madly deeply no rpath please, kthxbye
  46. Patch8: qtwebkit-opensource-src-5.2.1-no_rpath.patch
  47. ## upstream patches
  48. # to build with icu >= 59
  49. Patch1000: qtwebkit-5.9.0-icu_59-1.patch
  50. BuildRequires: cmake
  51. BuildRequires: qt5-qtbase-devel >= %{version}
  52. BuildRequires: qt5-qtdeclarative-devel >= %{version}
  53. %if ! 0%{?bootstrap}
  54. BuildRequires: qt5-qtsensors-devel
  55. BuildRequires: qt5-qtlocation-devel
  56. BuildRequires: qt5-qtwebchannel-devel
  57. %endif
  58. BuildRequires: bison
  59. BuildRequires: flex
  60. BuildRequires: gperf
  61. BuildRequires: libicu-devel
  62. BuildRequires: libjpeg-devel
  63. BuildRequires: pkgconfig(gio-2.0) pkgconfig(glib-2.0)
  64. BuildRequires: pkgconfig(fontconfig)
  65. BuildRequires: pkgconfig(gl)
  66. # gstreamer media support
  67. BuildRequires: pkgconfig(gstreamer-1.0) pkgconfig(gstreamer-app-1.0)
  68. BuildRequires: pkgconfig(libpng)
  69. BuildRequires: pkgconfig(libpcre)
  70. BuildRequires: pkgconfig(libudev)
  71. BuildRequires: pkgconfig(libwebp)
  72. BuildRequires: pkgconfig(libxslt)
  73. BuildRequires: pkgconfig(sqlite3)
  74. BuildRequires: pkgconfig(xcomposite) pkgconfig(xrender)
  75. BuildRequires: perl perl(version)
  76. BuildRequires: perl(Digest::MD5) perl(Text::ParseWords) perl(Getopt::Long)
  77. BuildRequires: ruby ruby-rubygems
  78. BuildRequires: zlib-devel
  79. BuildRequires: qt5-qtbase-private-devel
  80. %{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
  81. BuildRequires: qt5-qtdeclarative-private-devel
  82. %{?_qt5:Requires: qt5-qtdeclarative%{?_isa} = %{_qt5_version}}
  83. %description
  84. %{summary}
  85. %package devel
  86. Summary: Development files for %{name}
  87. Requires: %{name}%{?_isa} = %{version}-%{release}
  88. Requires: qt5-qtbase-devel%{?_isa}
  89. Requires: qt5-qtdeclarative-devel%{?_isa}
  90. %description devel
  91. %{summary}.
  92. %if 0%{?docs}
  93. %package doc
  94. Summary: API documentation for %{name}
  95. BuildRequires: qt5-qdoc
  96. BuildRequires: qt5-qhelpgenerator
  97. BuildArch: noarch
  98. %description doc
  99. %{summary}.
  100. %endif
  101. %prep
  102. %setup -q -n %{qt_module}-opensource-src-%{version}
  103. %patch1 -p1 -b .pluginpath
  104. %patch3 -p1 -b .debuginfo
  105. %patch4 -p1 -b .save_memory
  106. %patch7 -p1 -b .aarch64
  107. %patch8 -p1 -b .no_rpath
  108. %patch1000 -p1 -b .icu59
  109. echo "nuke bundled code..."
  110. # nuke bundled code
  111. mkdir Source/ThirdParty/orig
  112. mv Source/ThirdParty/{gtest/,qunit/} \
  113. Source/ThirdParty/orig/
  114. if [ ! -d include ]; then
  115. syncqt.pl -version %{version} Source/sync.profile
  116. fi
  117. %build
  118. mkdir %{_target_platform}
  119. pushd %{_target_platform}
  120. %{qmake_qt5} .. \
  121. %ifnarch %{arm} %{ix86} x86_64
  122. DEFINES+=ENABLE_JIT=0 DEFINES+=ENABLE_YARR_JIT=0
  123. %endif
  124. # workaround, disable parallel compilation as it fails to compile in brew
  125. #make -j3
  126. make %{?_smp_mflags}
  127. %if 0%{?docs}
  128. make %{?_smp_mflags} docs
  129. %endif
  130. popd
  131. %install
  132. make install INSTALL_ROOT=%{buildroot} -C %{_target_platform}
  133. %if 0%{?docs}
  134. make install_docs INSTALL_ROOT=%{buildroot} -C %{_target_platform}
  135. %endif
  136. ## .prl/.la file love
  137. # nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
  138. pushd %{buildroot}%{_qt5_libdir}
  139. for prl_file in libQt5*.prl ; do
  140. sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file}
  141. if [ -f "$(basename ${prl_file} .prl).so" ]; then
  142. rm -fv "$(basename ${prl_file} .prl).la"
  143. sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
  144. fi
  145. done
  146. popd
  147. %post
  148. /sbin/ldconfig
  149. %postun
  150. /sbin/ldconfig
  151. %files
  152. %license Source/WebCore/LICENSE*
  153. %doc ChangeLog* VERSION
  154. %{_qt5_libdir}/libQt5WebKit.so.5*
  155. %{_qt5_libdir}/libQt5WebKitWidgets.so.5*
  156. %{_qt5_libexecdir}/QtWebPluginProcess
  157. %{_qt5_libexecdir}/QtWebProcess
  158. %{_qt5_archdatadir}/qml/QtWebKit/
  159. %files devel
  160. %{_qt5_headerdir}/Qt*/
  161. %{_qt5_libdir}/libQt5*.so
  162. %{_qt5_libdir}/libQt5*.prl
  163. %{_qt5_libdir}/cmake/Qt5*/
  164. %{_qt5_libdir}/pkgconfig/Qt5*.pc
  165. %{_qt5_archdatadir}/mkspecs/modules/*.pri
  166. %if 0%{?docs}
  167. %files doc
  168. %{_qt5_docdir}/qtwebkit.qch
  169. %{_qt5_docdir}/qtwebkit/
  170. %endif
  171. %changelog
  172. * Tue Jan 09 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 5.6.3-1
  173. - new upstream release.
  174. * Sun Jul 10 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 5.6.1-4.b889f46git
  175. - initial build for Vine Linux.
  176. * Wed Jun 15 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-3.b889f46git
  177. - drop pkgconfig-style deps
  178. * Tue Jun 14 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-2.b889f46git
  179. - rebuild (glibc)
  180. * Thu Jun 09 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.1-1.b889f46git
  181. - 5.6.1 branch snapshot, plus a couple post-5.6.1 5.6 branch fixes
  182. * Thu Jun 09 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-9
  183. - rebuild (qtbase)
  184. * Wed May 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-8
  185. - use pristine upstream (community) sources
  186. * Wed Apr 20 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-7
  187. - rebuild (icu)
  188. * Sun Apr 17 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-6
  189. - BR: qt5-qtbase-private-devel qt5-qtdeclarative-private-devel
  190. * Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 5.6.0-5
  191. - rebuild for ICU 57.1
  192. * Wed Apr 6 2016 Peter Robinson <pbrobinson@fedoraproject.org> 5.6.0-4
  193. - Update ruby deps to ensure all bits are present
  194. * Sun Mar 20 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-3
  195. - rebuild
  196. * Fri Mar 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-2
  197. - rebuild
  198. * Mon Mar 14 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-1
  199. - 5.6.0 final release
  200. * Mon Feb 29 2016 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.12.rc
  201. - fix sources
  202. * Wed Feb 24 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.11.rc
  203. - Fix the trap caused by rpmdev-bumpspec
  204. * Tue Feb 23 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.10.rc
  205. - Update to final RC
  206. * Mon Feb 15 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.9
  207. - Update RC release
  208. * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.0-0.8
  209. - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
  210. * Mon Dec 28 2015 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.7
  211. - BR: cmake, use %%license
  212. * Mon Dec 28 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 5.6.0-0.6
  213. - Rebuilt for libwebp soname bump
  214. * Sun Dec 13 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.5
  215. - Update beta code
  216. * Fri Dec 11 2015 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-0.4
  217. - restore bootstrap macro, omit more optional BR's/features in bootstrap mode
  218. - drop (unused) system_angle support
  219. - include -qdoc builddep only in -doc subpkg
  220. * Thu Dec 10 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.3
  221. - Official beta release
  222. * Sun Dec 06 2015 Rex Dieter <rdieter@fedoraproject.org> 5.6.0-0.2
  223. - (re)add bootstrap macro support
  224. * Tue Nov 03 2015 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.1
  225. - Start to implement 5.6.0 beta
  226. * Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 5.5.1-4
  227. - rebuild for ICU 56.1
  228. * Fri Oct 16 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.1-3
  229. - drop (unused) system_angle support/patches
  230. * Thu Oct 15 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.1-2
  231. - Update to final release 5.5.1
  232. * Tue Sep 29 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.1-1
  233. - Update to Qt 5.5.1 RC1
  234. * Wed Jul 29 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.0-4
  235. - -docs: BuildRequires: qt5-qhelpgenerator, standardize bootstrapping
  236. * Thu Jul 16 2015 Rex Dieter <rdieter@fedoraproject.org> 5.5.0-3
  237. - tighten deps (#1233829)
  238. * Mon Jul 13 2015 Rex Dieter <rdieter@fedoraproject.org> - 5.5.0-2
  239. - add 5.5.0-1 changelog
  240. - BR: qt5-qtwebchannel-devel
  241. - (re)enable docs
  242. * Wed Jul 1 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-1
  243. - New final upstream release Qt 5.5.0
  244. * Thu Jun 25 2015 Helio Chissini de Castro <helio@kde.org> - 5.5.0-0.2.rc
  245. - Update for official RC1 released packages
  246. * Wed Jun 03 2015 Jan Grulich <jgrulich@redhat.com> - 5.4.2-1
  247. - 5.4.2
  248. * Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 5.4.1-6
  249. - Rebuilt for GCC 5 C++11 ABI change
  250. * Fri Apr 03 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.1-5
  251. - -doc: drop dep on main pkg, not strictly required
  252. * Mon Mar 23 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.1-4
  253. - QtWebKit logs visited URLs to WebpageIcons.db in private browsing mode (#1204795,#1204798)
  254. * Wed Mar 18 2015 Than Ngo <than@redhat.com> - 5.4.1-3
  255. - fix build failure with new gcc5
  256. * Fri Feb 27 2015 Rex Dieter <rdieter@fedoraproject.org> - 5.4.1-2
  257. - rebuild (gcc5)
  258. * Tue Feb 24 2015 Jan Grulich <jgrulich@redhat.com> 5.4.1-1
  259. - 5.4.1
  260. * Tue Feb 17 2015 Than Ngo <than@redhat.com> 5.4.0-4
  261. - fix GMutexLocker build problem
  262. * Tue Feb 17 2015 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-3
  263. - rebuild (gcc5)
  264. * Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 5.4.0-2
  265. - rebuild for ICU 54.1
  266. * Wed Dec 10 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-1
  267. - 5.4.0 (final)
  268. * Fri Nov 28 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.5.rc
  269. - 5.4.0-rc
  270. * Tue Nov 18 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.4.beta
  271. - use gst1 only fc21+ (and el8+) only
  272. * Mon Nov 03 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.3.beta
  273. - fix hardening, use new %%qmake_qt5 macro
  274. * Sat Nov 01 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.2.beta
  275. - enable hardened build, out-of-src tree build
  276. * Sat Oct 18 2014 Rex Dieter <rdieter@fedoraproject.org> 5.4.0-0.1.beta
  277. - 5.4.0-beta
  278. * Tue Sep 16 2014 Rex Dieter <rdieter@fedoraproject.org> 5.3.2-1
  279. - 5.3.2
  280. * Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 5.3.1-3
  281. - rebuild for ICU 53.1
  282. * Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.1-2
  283. - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
  284. * Tue Jun 17 2014 Jan Grulich <jgrulich@redhat.com> - 5.3.1-1
  285. - 5.3.1
  286. * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 5.3.0-2
  287. - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
  288. * Wed May 21 2014 Jan Grulich <jgrulich@redhat.com> 5.3.0-1
  289. - 5.3.0
  290. * Mon May 05 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-4
  291. - use standard (same as qtbase) .prl sanitation
  292. * Fri May 02 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-3
  293. - no rpath, drop chrpath hacks
  294. - BR: qt5-qtlocation qt5-qtsensors
  295. * Wed Feb 12 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-2
  296. - rebuild (libicu)
  297. * Wed Feb 05 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.1-1
  298. - 5.2.1
  299. * Sun Feb 02 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-3
  300. - Add AArch64 support to qtwebkit (#1056160)
  301. * Wed Jan 01 2014 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-2
  302. - rebuild (libwebp)
  303. * Thu Dec 12 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-1
  304. - 5.2.0
  305. * Mon Dec 02 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.10.rc1
  306. - 5.2.0-rc1
  307. * Thu Nov 28 2013 Dan Horák <dan[at]danny.cz> 5.2.0-0.6.beta1
  308. - disable JIT on secondary arches, fix build with JIT disabled (#1034940)
  309. * Mon Nov 25 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.5.beta1
  310. - enable -doc only on primary archs (allow secondary bootstrap)
  311. * Sat Nov 09 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.4.beta1
  312. - rebuild (arm/qreal)
  313. * Thu Oct 24 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.3.beta1
  314. - 5.2.0-beta1
  315. * Wed Oct 16 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.2.alpha
  316. - bootstrap ppc
  317. * Wed Oct 02 2013 Rex Dieter <rdieter@fedoraproject.org> 5.2.0-0.1.alpha
  318. - 5.2.0-alpha
  319. - -doc subpkg
  320. - use gstreamer1 (where available)
  321. * Wed Aug 28 2013 Rex Dieter <rdieter@fedoraproject.org> 5.1.1-1
  322. - 5.1.1
  323. * Tue Aug 20 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-8
  324. - qt5-qtjsbackend only supports ix86, x86_64 and arm
  325. * Fri Aug 02 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-7
  326. - use bundled angleproject (until system version passes review)
  327. * Fri Jun 21 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-6
  328. - %%doc ChangeLog VERSION
  329. - %%doc Source/WebCore/LICENSE*
  330. - squash more rpaths
  331. * Fri May 17 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-5
  332. - unbundle angleproject code
  333. * Wed May 15 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-4
  334. - BR: perl(version) perl(Digest::MD5) pkgconfig(xslt)
  335. - deal with bundled code
  336. - add (commented) upstream link http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
  337. to clarify licensing
  338. * Thu May 09 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-3
  339. - -devel: Requires: qt5-qtdeclarative-devel
  340. * Fri Apr 12 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-2
  341. - BR: qt5-qtdeclarative-devel
  342. * Thu Apr 11 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.2-1
  343. - 5.0.2
  344. * Mon Feb 25 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-2
  345. - .prl love
  346. - BR: pkgconfig(gl)
  347. * Sat Feb 23 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-1
  348. - first try