webkitgtk4-vl.spec 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. %bcond_without clang
  2. ## NOTE: Lots of files in various subdirectories have the same name (such as
  3. ## "LICENSE") so this short macro allows us to distinguish them by using their
  4. ## directory names (from the source tree) as prefixes for the files.
  5. %global add_to_license_files() \
  6. mkdir -p _license_files ; \
  7. cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
  8. Name: webkitgtk4
  9. Version: 2.22.5
  10. Release: 1%{?_dist_release}
  11. Summary: GTK+ Web content engine library
  12. License: LGPLv2
  13. Group: System Environment/Libraries
  14. URL: http://www.webkitgtk.org/
  15. Vendor: Project Vine
  16. Distribution: Vine Linux
  17. Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
  18. Patch3: webkitgtk-2.5.2-commit_align.patch
  19. %if %{with clang}
  20. BuildRequires: clang
  21. BuildRequires: lld
  22. %endif
  23. BuildRequires: at-spi2-core-devel
  24. BuildRequires: bison
  25. BuildRequires: cairo-devel
  26. BuildRequires: cmake
  27. BuildRequires: enchant-devel
  28. BuildRequires: flex
  29. BuildRequires: fontconfig-devel
  30. BuildRequires: freetype-devel
  31. BuildRequires: geoclue2-devel
  32. BuildRequires: gettext
  33. BuildRequires: glib2-devel
  34. BuildRequires: gobject-introspection-devel
  35. BuildRequires: gperf
  36. BuildRequires: gstreamer1-devel
  37. BuildRequires: gstreamer1-plugins-base-devel
  38. BuildRequires: gtk2-devel
  39. BuildRequires: gtk3-devel
  40. BuildRequires: harfbuzz-icu-devel
  41. BuildRequires: libicu-devel
  42. BuildRequires: libjpeg-turbo-devel
  43. BuildRequires: libpng-devel
  44. BuildRequires: libsecret-devel
  45. BuildRequires: libsoup-devel
  46. BuildRequires: libwebp-devel
  47. BuildRequires: libxslt-devel
  48. BuildRequires: libXt-devel
  49. BuildRequires: mesa-libGL-devel
  50. BuildRequires: pcre-devel
  51. BuildRequires: ruby
  52. BuildRequires: sqlite3-devel
  53. BuildRequires: libnotify-devel
  54. BuildRequires: hyphen-devel
  55. BuildRequires: woff2-devel
  56. %ifarch ppc
  57. BuildRequires: libatomic
  58. %endif
  59. Requires: geoclue2
  60. # Require the jsc subpackage
  61. Requires: %{name}-jsc = %{version}-%{release}
  62. # Obsolete libwebkit2gtk from the webkitgtk3 package
  63. Obsoletes: libwebkit2gtk < 2.4.5-3
  64. Provides: libwebkit2gtk = %{version}-%{release}
  65. # Filter out provides for private libraries
  66. %global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$
  67. %description
  68. WebKitGTK+ is the port of the portable web rendering engine WebKit to the
  69. GTK+ platform.
  70. This package contains WebKitGTK+ for GTK+ 3.
  71. %package devel
  72. Summary: Development files for %{name}
  73. Group: Development/Libraries
  74. Requires: %{name} = %{version}-%{release}
  75. Requires: %{name}-jsc-devel = %{version}-%{release}
  76. %description devel
  77. The %{name}-devel package contains libraries, build data, and header
  78. files for developing applications that use %{name}.
  79. %package jsc
  80. Summary: JavaScript engine from %{name}
  81. Group: System Environment/Libraries
  82. %description jsc
  83. This package contains JavaScript engine from %{name}.
  84. %package jsc-devel
  85. Summary: Development files for JavaScript engine from %{name}
  86. Group: Development/Libraries
  87. Requires: %{name}-jsc = %{version}-%{release}
  88. %description jsc-devel
  89. The %{name}-jsc-devel package contains libraries, build data, and header
  90. files for developing applications that use JavaScript engine from %{name}.
  91. %prep
  92. %setup -q -n webkitgtk-%{version}
  93. %ifarch %{power64} aarch64 ppc
  94. %patch3 -p1 -b .commit_align
  95. %endif
  96. # Remove bundled libraries
  97. rm -rf Source/ThirdParty/leveldb/
  98. rm -rf Source/ThirdParty/gtest/
  99. rm -rf Source/ThirdParty/qunit/
  100. %build
  101. # binutils-2.23 doesn't support "reduce-memory-overheads"
  102. # Use linker flags to reduce memory consumption
  103. # global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads
  104. %if %{with clang}
  105. %ifnarch x86_64
  106. %define cflags_add --rtlib=compiler-rt
  107. %endif
  108. %global optflags %(echo %{optflags} -DENABLE_YARR_JIT=0 | sed -e 's/-fno-schedule-insns2//') -fuse-ld=lld %{?cflags_add}
  109. %else
  110. %global optflags %{optflags} -DENABLE_YARR_JIT=0
  111. %endif
  112. mkdir -p %{_target_platform}
  113. pushd %{_target_platform}
  114. export CC=clang
  115. export CXX=clang++
  116. export LD=ld.lld
  117. %cmake \
  118. %if %{with clang}
  119. -DCOMPILER_IS_CLANG=ON \
  120. -DCMAKE_CXX_COMPILER=clang++ \
  121. %endif
  122. -DPORT=GTK \
  123. -DCMAKE_BUILD_TYPE=Release \
  124. -DENABLE_JIT=OFF \
  125. -DENABLE_LLINT_C_LOOP=ON \
  126. -DUSE_GSTREAMER_GL=OFF \
  127. ..
  128. popd
  129. make %{?_smp_mflags} -C %{_target_platform}
  130. %install
  131. %make_install -C %{_target_platform}
  132. %find_lang WebKit2GTK-4.0
  133. # Finally, copy over and rename various files for %%license inclusion
  134. %add_to_license_files Source/JavaScriptCore/COPYING.LIB
  135. %add_to_license_files Source/JavaScriptCore/icu/LICENSE
  136. %add_to_license_files Source/ThirdParty/ANGLE/LICENSE
  137. %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/compiler/LICENSE
  138. %add_to_license_files Source/WebCore/icu/LICENSE
  139. %add_to_license_files Source/WebCore/LICENSE-APPLE
  140. %add_to_license_files Source/WebCore/LICENSE-LGPL-2
  141. %add_to_license_files Source/WebCore/LICENSE-LGPL-2.1
  142. %add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE
  143. %add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE
  144. %add_to_license_files Source/WTF/icu/LICENSE
  145. %add_to_license_files Source/WTF/wtf/dtoa/COPYING
  146. %add_to_license_files Source/WTF/wtf/dtoa/LICENSE
  147. %post -p /sbin/ldconfig
  148. %postun -p /sbin/ldconfig
  149. %post jsc -p /sbin/ldconfig
  150. %postun jsc -p /sbin/ldconfig
  151. %files -f WebKit2GTK-4.0.lang
  152. %license _license_files/*
  153. %{_libdir}/libwebkit2gtk-4.0.so.*
  154. %{_libdir}/girepository-1.0/WebKit2-4.0.typelib
  155. %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
  156. %{_libdir}/webkit2gtk-4.0/
  157. %{_libexecdir}/webkit2gtk-4.0/*
  158. %exclude %{_libexecdir}/webkit2gtk-4.0/jsc
  159. %{_bindir}/WebKitWebDriver
  160. %files jsc
  161. %license _license_files/*JavaScriptCore*
  162. %dir %{_libexecdir}/webkit2gtk-4.0/
  163. %{_libexecdir}/webkit2gtk-4.0/jsc
  164. %{_libdir}/libjavascriptcoregtk-4.0.so.*
  165. %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
  166. %files devel
  167. %{_includedir}/webkitgtk-4.0/*
  168. %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore/
  169. %{_libdir}/libwebkit2gtk-4.0.so
  170. %{_libdir}/pkgconfig/webkit2gtk-4.0.pc
  171. %{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc
  172. %{_datadir}/gir-1.0/WebKit2-4.0.gir
  173. %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir
  174. %files jsc-devel
  175. %dir %{_includedir}/webkitgtk-4.0
  176. %{_includedir}/webkitgtk-4.0/JavaScriptCore/
  177. %{_libdir}/libjavascriptcoregtk-4.0.so
  178. %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc
  179. %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
  180. %changelog
  181. * Thu Jan 03 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.22.5-1
  182. - new upstream release.
  183. * Thu Jan 11 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.18.5-1
  184. - new upstream release.
  185. - added subpackages webkitgtk4-jsc{,-devel}.
  186. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.18.4-1
  187. - new upstream release.
  188. * Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.12.3-2
  189. - rebuilt with new toolchain.
  190. * Sun Jun 12 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.12.3-1
  191. - new upstream release
  192. (including security fix for CVE-2016-1856,1857)
  193. * Sun May 08 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.12.2-1
  194. - new upstream release
  195. - remove Patch0
  196. - add BuildRequires: libnotify-devel, hyphen-devel
  197. * Wed Dec 30 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-3
  198. - rebuild with gnutls-3.4.7
  199. * Sat Oct 31 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-2
  200. - rebuild with icu-56.1
  201. * Mon Aug 17 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-1
  202. - new upstream release
  203. * Sun Jul 19 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.4-1
  204. - new upstream release
  205. * Fri May 22 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.3-1
  206. - new upstream release
  207. * Fri May 15 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.2-1
  208. - new upstream release
  209. * Wed Apr 15 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.1-1
  210. - new upstream release
  211. * Sun Mar 29 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.0-1
  212. - new upstream release
  213. - update Patch0
  214. * Sun Mar 01 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.5-1
  215. - new upstream release
  216. * Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.4-2
  217. - add Group tag
  218. * Mon Nov 24 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.4-1
  219. - new upstream release
  220. * Tue Nov 18 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.3-1
  221. - new upstream release
  222. * Sun Oct 26 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.2-1
  223. - initial build for Vine Linux
  224. * Thu Sep 25 2014 Tomas Popela <tpopela@redhat.com> - 2.6.0-1
  225. - Add the wrongly removed CLoop patch and remove the one that was upstreamed
  226. * Wed Sep 24 2014 Kalev Lember <kalevlember@gmail.com> - 2.6.0-1
  227. - Update to 2.6.0
  228. * Mon Sep 22 2014 Tomas Popela <tpopela@redhat.com> - 2.5.90-1
  229. - Update to 2.5.90
  230. * Tue Aug 26 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-7
  231. - Obsolete libwebkit2gtk from the webkitgtk3 package
  232. * Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 2.5.3-6
  233. - rebuild for ICU 53.1
  234. * Mon Aug 25 2014 Tomas Popela <tpopela@redhat.com> - 2.5.3-5
  235. - Add support for secondary arches
  236. * Fri Aug 22 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.5.3-4
  237. - Add webkitgtk-2.5.3-toggle-buttons.patch
  238. * Thu Aug 21 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-3
  239. - More package review fixes (#1131284)
  240. - Correct the license tag to read LGPLv2
  241. - Filter out provides for private libraries
  242. * Tue Aug 19 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-2
  243. - Remove bundled leveldb, gtest, qunit in %%prep (#1131284)
  244. * Fri Aug 15 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-1
  245. - Update to 2.5.3
  246. * Fri Aug 01 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.1-1
  247. - Initial Fedora packaging, based on the webkitgtk3 package