webkitgtk4-vl.spec 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. %bcond_with gtk4
  2. %bcond_with systemd
  3. %bcond_with clang
  4. ## NOTE: Lots of files in various subdirectories have the same name (such as
  5. ## "LICENSE") so this short macro allows us to distinguish them by using their
  6. ## directory names (from the source tree) as prefixes for the files.
  7. %global add_to_license_files() \
  8. mkdir -p _license_files ; \
  9. cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g')
  10. Summary: GTK+ Web content engine library
  11. Name: webkitgtk4
  12. Version: 2.42.1
  13. Release: 1%{?_dist_release}%{?with_systemd:.systemd}
  14. Group: system
  15. Vendor: Project Vine
  16. Distribution: Vine Linux
  17. License: LGPLv2
  18. URL: https://www.webkitgtk.org/
  19. Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz
  20. %if %{with clang}
  21. BuildRequires: clang
  22. BuildRequires: lld
  23. %endif
  24. BuildRequires: at-spi2-core-devel
  25. BuildRequires: bison
  26. BuildRequires: bubblewrap
  27. BuildRequires: cairo-devel
  28. BuildRequires: cmake
  29. BuildRequires: enchant2-devel
  30. BuildRequires: flex
  31. BuildRequires: fontconfig-devel
  32. BuildRequires: freetype-devel
  33. BuildRequires: geoclue2-devel
  34. BuildRequires: gettext
  35. BuildRequires: glib2-devel
  36. BuildRequires: gobject-introspection-devel
  37. BuildRequires: gperf
  38. BuildRequires: gstreamer1-devel
  39. BuildRequires: gstreamer1-plugins-base-devel
  40. BuildRequires: gstreamer1-plugins-bad-free-devel
  41. BuildRequires: gtk2-devel
  42. BuildRequires: gtk3-devel
  43. BuildRequires: harfbuzz-icu-devel
  44. BuildRequires: hyphen-devel
  45. BuildRequires: lcms2-devel
  46. BuildRequires: libatomic
  47. BuildRequires: libicu-devel
  48. BuildRequires: libjpeg-turbo-devel
  49. BuildRequires: libnotify-devel
  50. BuildRequires: libpng-devel
  51. BuildRequires: libseccomp-devel
  52. BuildRequires: libsecret-devel
  53. BuildRequires: libsoup-devel
  54. BuildRequires: libwebp-devel
  55. BuildRequires: libwpe-devel
  56. BuildRequires: libxslt-devel
  57. BuildRequires: libXt-devel
  58. BuildRequires: mesa-libgbm-devel
  59. BuildRequires: mesa-libGL-devel
  60. BuildRequires: ninja
  61. BuildRequires: openjpeg2-devel
  62. BuildRequires: pcre-devel
  63. BuildRequires: python3-devel
  64. BuildRequires: ruby
  65. BuildRequires: sqlite3-devel
  66. BuildRequires: unifdef
  67. BuildRequires: wpebackend-fdo-devel
  68. BuildRequires: woff2-devel
  69. BuildRequires: xdg-dbus-proxy
  70. %if %{with systemd}
  71. BuildRequires: systemd-devel
  72. %endif
  73. Requires: geoclue2
  74. # for sandbox
  75. Requires: bubblewrap
  76. Requires: xdg-dbus-proxy
  77. # Require the jsc subpackage
  78. Requires: %{name}-jsc = %{version}-%{release}
  79. # Obsolete libwebkit2gtk from the webkitgtk3 package
  80. Obsoletes: libwebkit2gtk < 2.4.5-3
  81. Provides: libwebkit2gtk = %{version}-%{release}
  82. # Filter out provides for private libraries
  83. %global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$
  84. %description
  85. WebKitGTK+ is the port of the portable web rendering engine WebKit to the
  86. GTK+ platform.
  87. This package contains WebKitGTK+ for GTK+ 3.
  88. %package devel
  89. Summary: Development files for %{name}
  90. Group: programming
  91. Requires: %{name} = %{version}-%{release}
  92. Requires: %{name}-jsc-devel = %{version}-%{release}
  93. %description devel
  94. The %{name}-devel package contains libraries, build data, and header
  95. files for developing applications that use %{name}.
  96. %package jsc
  97. Summary: JavaScript engine from %{name}
  98. Group: system
  99. %description jsc
  100. This package contains JavaScript engine from %{name}.
  101. %package jsc-devel
  102. Summary: Development files for JavaScript engine from %{name}
  103. Group: programming
  104. Requires: %{name}-jsc = %{version}-%{release}
  105. %description jsc-devel
  106. The %{name}-jsc-devel package contains libraries, build data, and header
  107. files for developing applications that use JavaScript engine from %{name}.
  108. %debug_package
  109. %prep
  110. %setup -q -n webkitgtk-%{version}
  111. %autopatch -p1
  112. # Remove bundled libraries
  113. rm -rf Source/ThirdParty/leveldb/
  114. rm -rf Source/ThirdParty/gtest/
  115. rm -rf Source/ThirdParty/qunit/
  116. %build
  117. %ifnarch x86_64
  118. %define cflags_add --rtlib=compiler-rt
  119. %endif
  120. %if %{with clang}
  121. export CC=clang
  122. export CXX=clang++
  123. export LD=ld.lld
  124. %ifnarch x86_64
  125. %define cflags_add --rtlib=compiler-rt
  126. %endif
  127. %global optflags %(echo %{optflags} -DENABLE_YARR_JIT=0 | sed -e 's/-fno-schedule-insns2//') -fuse-ld=lld %{?cflags_add}
  128. %global build_ldflags %{build_ldflags}
  129. %else
  130. %global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
  131. %endif
  132. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
  133. %cmake \
  134. -GNinja \
  135. %if %{with clang}
  136. -DCOMPILER_IS_CLANG=ON \
  137. -DCMAKE_CXX_COMPILER=clang++ \
  138. %endif
  139. -DPORT=GTK \
  140. -DCMAKE_BUILD_TYPE=Release \
  141. -DUSE_SOUP2=ON \
  142. -DUSER_AGENT_BRANDING="Vine Linux" \
  143. -DENABLE_WEBDRIVER=OFF \
  144. -DUSE_JPEGXL=OFF \
  145. -DUSE_AVIF=OFF \
  146. -DENABLE_GAMEPAD=OFF \
  147. -DENABLE_DOCUMENTATION=OFF \
  148. -DENABLE_GTKDOC=OFF \
  149. %if %{with systemd}
  150. -DUSE_SYSTEMD=ON \
  151. -DENABLE_JOURNALD_LOG=ON \
  152. %else
  153. -DUSE_SYSTEMD=OFF \
  154. -DENABLE_JOURNALD_LOG=OFF \
  155. %endif
  156. %if %{with gtk4}
  157. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0
  158. %cmake \
  159. -GNinja \
  160. %if %{with clang}
  161. -DCOMPILER_IS_CLANG=ON \
  162. -DCMAKE_CXX_COMPILER=clang++ \
  163. %endif
  164. -DPORT=GTK \
  165. -DUSE_GTK4=ON \
  166. -DCMAKE_BUILD_TYPE=Release \
  167. -DENABLE_WEBDRIVER=OFF \
  168. -DUSER_AGENT_BRANDING="Vine Linux" \
  169. -DENABLE_GAMEPAD=OFF \
  170. -DENABLE_DOCUMENTATION=OFF \
  171. -DENABLE_GTKDOC=OFF \
  172. %if %{with systemd}
  173. -DUSE_SYSTEMD=ON \
  174. -DENABLE_JOURNALD_LOG=ON \
  175. %else
  176. -DUSE_SYSTEMD=OFF \
  177. -DENABLE_JOURNALD_LOG=OFF \
  178. %endif
  179. %endif
  180. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
  181. # Show the build time in the status
  182. export NINJA_STATUS="[%f/%t][%e] "
  183. %cmake_build
  184. %if %{with gtk4}
  185. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0
  186. # Show the build time in the status
  187. export NINJA_STATUS="[%f/%t][%e] "
  188. %cmake_build
  189. %endif
  190. %install
  191. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0
  192. %cmake_install
  193. %find_lang WebKitGTK-4.0
  194. %if %{with gtk4}
  195. %define _vpath_builddir %{_vendor}-%{_target_os}-build/webkitgtk-6.0
  196. %cmake_install
  197. %find_lang WebKit2GTK-6.0
  198. %endif
  199. # Finally, copy over and rename various files for %%license inclusion
  200. %add_to_license_files Source/JavaScriptCore/COPYING.LIB
  201. %add_to_license_files Source/ThirdParty/ANGLE/LICENSE
  202. %add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE
  203. %add_to_license_files Source/WebCore/LICENSE-APPLE
  204. %add_to_license_files Source/WebCore/LICENSE-LGPL-2
  205. %add_to_license_files Source/WebCore/LICENSE-LGPL-2.1
  206. %add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE
  207. %add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE
  208. %add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE
  209. %add_to_license_files Source/WTF/icu/LICENSE
  210. %add_to_license_files Source/WTF/wtf/dtoa/COPYING
  211. %add_to_license_files Source/WTF/wtf/dtoa/LICENSE
  212. %if %{with gtk4}
  213. %files -f WebKit2GTK-6.0.lang
  214. %license _license_files/*
  215. %{_libdir}/libwebkit2gtk-4.0.so.*
  216. %{_libdir}/girepository-1.0/WebKit2-4.0.typelib
  217. %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
  218. %{_libdir}/webkit2gtk-4.0/
  219. %{_libexecdir}/webkit2gtk-4.0/*
  220. %exclude %{_libexecdir}/webkit2gtk-4.0/jsc
  221. %{_bindir}/WebKitWebDriver
  222. %endif
  223. %files -f WebKitGTK-4.0.lang
  224. %license _license_files/*
  225. %{_libdir}/libwebkit2gtk-4.0.so.*
  226. %{_libdir}/girepository-1.0/WebKit2-4.0.typelib
  227. %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib
  228. %{_libdir}/webkit2gtk-4.0/
  229. %{_libexecdir}/webkit2gtk-4.0/*
  230. %exclude %{_libexecdir}/webkit2gtk-4.0/jsc
  231. %files jsc
  232. %license _license_files/*JavaScriptCore*
  233. %dir %{_libexecdir}/webkit2gtk-4.0/
  234. %{_libexecdir}/webkit2gtk-4.0/jsc
  235. %{_libdir}/libjavascriptcoregtk-4.0.so.*
  236. %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib
  237. %files devel
  238. %{_includedir}/webkitgtk-4.0/*
  239. %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore/
  240. %{_libdir}/libwebkit2gtk-4.0.so
  241. %{_libdir}/pkgconfig/webkit2gtk-4.0.pc
  242. %{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc
  243. %{_datadir}/gir-1.0/WebKit2-4.0.gir
  244. %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir
  245. %files jsc-devel
  246. %dir %{_includedir}/webkitgtk-4.0
  247. %{_includedir}/webkitgtk-4.0/JavaScriptCore/
  248. %{_libdir}/libjavascriptcoregtk-4.0.so
  249. %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc
  250. %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir
  251. %changelog
  252. * Sat Nov 04 2023 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.42.1-1
  253. - new upstream release.
  254. * Wed Oct 19 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.38.0-1
  255. - new upstream release.
  256. * Tue Aug 30 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.36.7-1
  257. - new upstream release.
  258. * Thu Aug 11 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.36.6-1
  259. - new upstream release.
  260. * Fri Dec 24 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.34.3-1
  261. - new upstream release.
  262. * Fri Oct 29 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.24.1-1
  263. - new upstream release.
  264. - built with icu-70.1.
  265. * Sun Jul 11 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.32.2-1
  266. - new upstream release.
  267. - dropped Patch1.
  268. * Fri Apr 09 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.32.0-2
  269. - rebuilt with icu69.
  270. - added Patch1 to build with icu69.
  271. * Thu Apr 01 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.32.0-1
  272. - new upstream release.
  273. - dropped ldconfig scriptlets.
  274. * Tue Mar 02 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.30.5-1
  275. - new upstream release.
  276. * Tue Dec 08 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.30.3-1
  277. - new upstream release.
  278. - added systemd support (disabled as default).
  279. * Tue Sep 08 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.4-1
  280. - new upstream release.
  281. * Sun Jul 26 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.3-1
  282. - new upstream release.
  283. * Thu Jul 02 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.2-1
  284. - new upstream release.
  285. * Fri Apr 24 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.1-1
  286. - new upstream release.
  287. - rebuilt with libicu67.
  288. * Fri Mar 20 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.0-2
  289. - rebuilt with libicu66.
  290. * Sun Mar 15 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.28.0-1
  291. - new upstream release.
  292. - dropped Patch1: fixed in upstream.
  293. * Sun Oct 13 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.26.1-1
  294. - new upstream release.
  295. - built with icu-65.
  296. * Fri Sep 20 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.26.0-1
  297. - new upstream release.
  298. - switched build-system to ninja.
  299. * Tue Aug 27 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.24.3-1
  300. - new upstream release.
  301. * Thu Jan 03 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.22.5-1
  302. - new upstream release.
  303. * Thu Jan 11 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.18.5-1
  304. - new upstream release.
  305. - added subpackages webkitgtk4-jsc{,-devel}.
  306. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.18.4-1
  307. - new upstream release.
  308. * Wed Jun 29 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 2.12.3-2
  309. - rebuilt with new toolchain.
  310. * Sun Jun 12 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.12.3-1
  311. - new upstream release
  312. (including security fix for CVE-2016-1856,1857)
  313. * Sun May 08 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.12.2-1
  314. - new upstream release
  315. - remove Patch0
  316. - add BuildRequires: libnotify-devel, hyphen-devel
  317. * Wed Dec 30 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-3
  318. - rebuild with gnutls-3.4.7
  319. * Sat Oct 31 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-2
  320. - rebuild with icu-56.1
  321. * Mon Aug 17 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.5-1
  322. - new upstream release
  323. * Sun Jul 19 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.4-1
  324. - new upstream release
  325. * Fri May 22 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.3-1
  326. - new upstream release
  327. * Fri May 15 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.2-1
  328. - new upstream release
  329. * Wed Apr 15 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.1-1
  330. - new upstream release
  331. * Sun Mar 29 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.8.0-1
  332. - new upstream release
  333. - update Patch0
  334. * Sun Mar 01 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.5-1
  335. - new upstream release
  336. * Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.4-2
  337. - add Group tag
  338. * Mon Nov 24 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.4-1
  339. - new upstream release
  340. * Tue Nov 18 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.3-1
  341. - new upstream release
  342. * Sun Oct 26 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.6.2-1
  343. - initial build for Vine Linux
  344. * Thu Sep 25 2014 Tomas Popela <tpopela@redhat.com> - 2.6.0-1
  345. - Add the wrongly removed CLoop patch and remove the one that was upstreamed
  346. * Wed Sep 24 2014 Kalev Lember <kalevlember@gmail.com> - 2.6.0-1
  347. - Update to 2.6.0
  348. * Mon Sep 22 2014 Tomas Popela <tpopela@redhat.com> - 2.5.90-1
  349. - Update to 2.5.90
  350. * Tue Aug 26 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-7
  351. - Obsolete libwebkit2gtk from the webkitgtk3 package
  352. * Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 2.5.3-6
  353. - rebuild for ICU 53.1
  354. * Mon Aug 25 2014 Tomas Popela <tpopela@redhat.com> - 2.5.3-5
  355. - Add support for secondary arches
  356. * Fri Aug 22 2014 Michael Catanzaro <mcatanzaro@gnome.org> - 2.5.3-4
  357. - Add webkitgtk-2.5.3-toggle-buttons.patch
  358. * Thu Aug 21 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-3
  359. - More package review fixes (#1131284)
  360. - Correct the license tag to read LGPLv2
  361. - Filter out provides for private libraries
  362. * Tue Aug 19 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-2
  363. - Remove bundled leveldb, gtest, qunit in %%prep (#1131284)
  364. * Fri Aug 15 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.3-1
  365. - Update to 2.5.3
  366. * Fri Aug 01 2014 Kalev Lember <kalevlember@gmail.com> - 2.5.1-1
  367. - Initial Fedora packaging, based on the webkitgtk3 package