qt5-qtwebkit-vl.spec 14 KB

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