1 |
commit: 8747e6c1a862216a909e3e3ff9d76171324723d7 |
2 |
Author: brahmajit das <listout <AT> protonmail <DOT> com> |
3 |
AuthorDate: Tue Sep 27 13:52:32 2022 +0000 |
4 |
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Sep 27 15:36:52 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8747e6c1 |
7 |
|
8 |
net-libs/webkit-gtk: Version bump to 2.38.0 |
9 |
|
10 |
The slotting is to handle libsoup3 and libsoup2. Some packages from |
11 |
GNOME 43 are requiring webkit2gtk-4.1 (gtk3 with libsoup3), for example |
12 |
GNOME boxes. |
13 |
|
14 |
Closes: https://bugs.gentoo.org/872581 |
15 |
Closes: https://github.com/gentoo/gentoo/pull/27357 |
16 |
Signed-off-by: brahmajit das <listout <AT> protonmail.com> |
17 |
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org> |
18 |
|
19 |
net-libs/webkit-gtk/Manifest | 1 + |
20 |
net-libs/webkit-gtk/webkit-gtk-2.38.0-r410.ebuild | 259 ++++++++++++++++++++++ |
21 |
net-libs/webkit-gtk/webkit-gtk-2.38.0.ebuild | 249 +++++++++++++++++++++ |
22 |
3 files changed, 509 insertions(+) |
23 |
|
24 |
diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest |
25 |
index 38907cb646ff..89dbbc5729dc 100644 |
26 |
--- a/net-libs/webkit-gtk/Manifest |
27 |
+++ b/net-libs/webkit-gtk/Manifest |
28 |
@@ -1,2 +1,3 @@ |
29 |
DIST webkitgtk-2.36.7.tar.xz 26594424 BLAKE2B 1f7450e47bffa3875aa4448925a013ec90bdaa6c813aa181d14c9a5636c58140ce55d5b5288a65cfbe9e363cd9d00f62de74665182ab9f856baa4b2ffcec6dba SHA512 e27975cf55b6be4cde2b34ed03fc717e6550dc495b444c781b3af0b32f7d580451de27ed41d74c6ff734b876118f22847096131168b0c8325031be84c1972888 |
30 |
DIST webkitgtk-2.36.8.tar.xz 26610100 BLAKE2B d3862fdf18b6095c32af517b7bd175797375fff8a9d68f04d773375c0c3cea284c23466f25e3e53811ef622974f58211b4b11cb32a47ff08951cdd65b085b815 SHA512 50576f13ea84c0634d174ccf0b70d0eb28752589b2b9ce7a82ffeee1b4b6c849a802f7ae83a3c5a74d0da2b7e3321876ead33e819d8006b8153376074cb57036 |
31 |
+DIST webkitgtk-2.38.0.tar.xz 32997240 BLAKE2B 6612d2192b8865af625af297c88caf02e329d51e9c166b931b8bc6061f36fb1f1f2b06407adad0aa7bf5beaafe707c1d9a64d437e2ed99ed8ff1865c09f8e0dc SHA512 8380d11eedec3c4eedf3a0f5591fd279ee42b28a38aaa13d7eb88f8a004cbe8aac7dc8f19409440e5c1272ad1555a781f1242bca6c89beed2dc5fd2de5f3d525 |
32 |
|
33 |
diff --git a/net-libs/webkit-gtk/webkit-gtk-2.38.0-r410.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.38.0-r410.ebuild |
34 |
new file mode 100644 |
35 |
index 000000000000..f7ae48a1c9d7 |
36 |
--- /dev/null |
37 |
+++ b/net-libs/webkit-gtk/webkit-gtk-2.38.0-r410.ebuild |
38 |
@@ -0,0 +1,259 @@ |
39 |
+# Copyright 1999-2022 Gentoo Authors |
40 |
+# Distributed under the terms of the GNU General Public License v2 |
41 |
+ |
42 |
+EAPI=8 |
43 |
+PYTHON_REQ_USE="xml(+)" |
44 |
+PYTHON_COMPAT=( python3_{8..11} ) |
45 |
+USE_RUBY="ruby27 ruby30 ruby31" |
46 |
+ |
47 |
+inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake |
48 |
+ |
49 |
+MY_P="webkitgtk-${PV}" |
50 |
+DESCRIPTION="Open source web browser engine" |
51 |
+HOMEPAGE="https://www.webkitgtk.org" |
52 |
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz" |
53 |
+ |
54 |
+LICENSE="LGPL-2+ BSD" |
55 |
+SLOT="4.1/0" # soname version of libwebkit2gtk-4.1 |
56 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" |
57 |
+ |
58 |
+IUSE="aqua avif +egl examples gamepad gles2-only gnome-keyring +gstreamer +introspection pdf +jpeg2k +jumbo-build lcms seccomp spell systemd test wayland X" |
59 |
+ |
60 |
+# gstreamer with opengl/gles2 needs egl |
61 |
+REQUIRED_USE=" |
62 |
+ gles2-only? ( egl ) |
63 |
+ gstreamer? ( egl ) |
64 |
+ wayland? ( egl ) |
65 |
+ || ( aqua wayland X ) |
66 |
+" |
67 |
+ |
68 |
+# Tests fail to link for inexplicable reasons |
69 |
+# https://bugs.webkit.org/show_bug.cgi?id=148210 |
70 |
+RESTRICT="test" |
71 |
+ |
72 |
+# Dependencies found at Source/cmake/OptionsGTK.cmake |
73 |
+# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30 |
74 |
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE) |
75 |
+# TODO: gst-plugins-base[X] is only needed when build configuration ends up with GLX set, but that's a bit automagic too to fix |
76 |
+# Softblocking webkit-gtk-2.38:4 as we going to use webkit-2.38:4.1's WebKitDriver binary |
77 |
+RDEPEND=" |
78 |
+ >=x11-libs/cairo-1.16.0[X?] |
79 |
+ >=media-libs/fontconfig-2.13.0:1.0 |
80 |
+ >=media-libs/freetype-2.9.0:2 |
81 |
+ >=dev-libs/libgcrypt-1.7.0:0= |
82 |
+ >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?] |
83 |
+ >=media-libs/harfbuzz-1.4.2:=[icu(+)] |
84 |
+ >=dev-libs/icu-61.2:= |
85 |
+ media-libs/libjpeg-turbo:0= |
86 |
+ >=net-libs/libsoup-3.0.8:3.0[introspection?] |
87 |
+ >=dev-libs/libxml2-2.8.0:2 |
88 |
+ >=media-libs/libpng-1.4:0= |
89 |
+ dev-db/sqlite:3 |
90 |
+ sys-libs/zlib:0 |
91 |
+ >=dev-libs/atk-2.16.0 |
92 |
+ media-libs/libwebp:= |
93 |
+ |
94 |
+ >=dev-libs/glib-2.67.1:2 |
95 |
+ >=dev-libs/libxslt-1.1.7 |
96 |
+ media-libs/woff2 |
97 |
+ gnome-keyring? ( app-crypt/libsecret ) |
98 |
+ introspection? ( >=dev-libs/gobject-introspection-1.59.1:= ) |
99 |
+ dev-libs/libtasn1:= |
100 |
+ spell? ( >=app-text/enchant-0.22:2 ) |
101 |
+ gstreamer? ( |
102 |
+ >=media-libs/gstreamer-1.20:1.0 |
103 |
+ >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?] |
104 |
+ gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] ) |
105 |
+ !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] ) |
106 |
+ >=media-plugins/gst-plugins-opus-1.20:1.0 |
107 |
+ >=media-libs/gst-plugins-bad-1.20:1.0 |
108 |
+ ) |
109 |
+ |
110 |
+ X? ( |
111 |
+ x11-libs/libX11 |
112 |
+ x11-libs/libXcomposite |
113 |
+ x11-libs/libXdamage |
114 |
+ x11-libs/libXrender |
115 |
+ x11-libs/libXt |
116 |
+ ) |
117 |
+ |
118 |
+ dev-libs/hyphen |
119 |
+ jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= ) |
120 |
+ avif? ( >=media-libs/libavif-0.9.0:= ) |
121 |
+ lcms? ( media-libs/lcms:2 ) |
122 |
+ |
123 |
+ egl? ( media-libs/mesa[egl(+)] ) |
124 |
+ gles2-only? ( media-libs/mesa[gles2] ) |
125 |
+ !gles2-only? ( virtual/opengl ) |
126 |
+ wayland? ( |
127 |
+ dev-libs/wayland |
128 |
+ >=dev-libs/wayland-protocols-1.12 |
129 |
+ >=gui-libs/libwpe-1.5.0:1.0 |
130 |
+ >=gui-libs/wpebackend-fdo-1.7.0:1.0 |
131 |
+ ) |
132 |
+ |
133 |
+ seccomp? ( |
134 |
+ >=sys-apps/bubblewrap-0.3.1 |
135 |
+ sys-libs/libseccomp |
136 |
+ sys-apps/xdg-dbus-proxy |
137 |
+ ) |
138 |
+ |
139 |
+ systemd? ( sys-apps/systemd:= ) |
140 |
+ gamepad? ( >=dev-libs/libmanette-0.2.4 ) |
141 |
+ !<net-libs/webkit-gtk-2.38:4 |
142 |
+" |
143 |
+DEPEND="${RDEPEND}" |
144 |
+# Need real bison, not yacc |
145 |
+BDEPEND=" |
146 |
+ ${PYTHON_DEPS} |
147 |
+ ${RUBY_DEPS} |
148 |
+ >=app-accessibility/at-spi2-core-2.5.3 |
149 |
+ dev-util/gdbus-codegen |
150 |
+ dev-util/glib-utils |
151 |
+ >=dev-util/gperf-3.0.1 |
152 |
+ >=sys-devel/bison-2.4.3 |
153 |
+ || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 ) |
154 |
+ sys-devel/gettext |
155 |
+ virtual/pkgconfig |
156 |
+ |
157 |
+ >=dev-lang/perl-5.10 |
158 |
+ virtual/perl-Data-Dumper |
159 |
+ virtual/perl-Carp |
160 |
+ virtual/perl-JSON-PP |
161 |
+" |
162 |
+# test? ( |
163 |
+# dev-python/pygobject:3[python_targets_python2_7] |
164 |
+# x11-themes/hicolor-icon-theme |
165 |
+# ) |
166 |
+ |
167 |
+S="${WORKDIR}/${MY_P}" |
168 |
+ |
169 |
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 |
170 |
+ |
171 |
+pkg_pretend() { |
172 |
+ if [[ ${MERGE_TYPE} != "binary" ]] ; then |
173 |
+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then |
174 |
+ einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" |
175 |
+ check-reqs_pkg_pretend |
176 |
+ fi |
177 |
+ |
178 |
+ if ! test-flag-CXX -std=c++17 ; then |
179 |
+ die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags" |
180 |
+ fi |
181 |
+ fi |
182 |
+} |
183 |
+ |
184 |
+pkg_setup() { |
185 |
+ if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then |
186 |
+ check-reqs_pkg_setup |
187 |
+ fi |
188 |
+ |
189 |
+ python-any-r1_pkg_setup |
190 |
+} |
191 |
+ |
192 |
+src_prepare() { |
193 |
+ cmake_src_prepare |
194 |
+ gnome2_src_prepare |
195 |
+} |
196 |
+ |
197 |
+src_configure() { |
198 |
+ # Respect CC, otherwise fails on prefix #395875 |
199 |
+ tc-export CC |
200 |
+ |
201 |
+ # It does not compile on alpha without this in LDFLAGS |
202 |
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761 |
203 |
+ use alpha && append-ldflags "-Wl,--no-relax" |
204 |
+ |
205 |
+ # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504 |
206 |
+ use ia64 && append-ldflags "-Wl,--no-as-needed" |
207 |
+ |
208 |
+ # Sigbuses on SPARC with mcpu and co., bug #??? |
209 |
+ use sparc && filter-flags "-mvis" |
210 |
+ |
211 |
+ # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 |
212 |
+ use ppc64 && append-flags "-mminimal-toc" |
213 |
+ |
214 |
+ # Try to use less memory, bug #469942 (see Fedora .spec for reference) |
215 |
+ # --no-keep-memory doesn't work on ia64, bug #502492 |
216 |
+ if ! use ia64; then |
217 |
+ append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory") |
218 |
+ fi |
219 |
+ |
220 |
+ # Ruby situation is a bit complicated. See bug 513888 |
221 |
+ local rubyimpl |
222 |
+ local ruby_interpreter="" |
223 |
+ for rubyimpl in ${USE_RUBY}; do |
224 |
+ if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then |
225 |
+ ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})" |
226 |
+ fi |
227 |
+ done |
228 |
+ # This will rarely occur. Only a couple of corner cases could lead us to |
229 |
+ # that failure. See bug 513888 |
230 |
+ [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found" |
231 |
+ |
232 |
+ # TODO: Check Web Audio support |
233 |
+ # should somehow let user select between them? |
234 |
+ |
235 |
+ local mycmakeargs=( |
236 |
+ ${ruby_interpreter} |
237 |
+ $(cmake_use_find_package gles2-only OpenGLES2) |
238 |
+ $(cmake_use_find_package egl EGL) |
239 |
+ $(cmake_use_find_package !gles2-only OpenGL) |
240 |
+ -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that |
241 |
+ -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy |
242 |
+ -DPORT=GTK |
243 |
+ # Source/cmake/WebKitFeatures.cmake |
244 |
+ -DENABLE_API_TESTS=$(usex test) |
245 |
+ -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp) |
246 |
+ -DENABLE_GAMEPAD=$(usex gamepad) |
247 |
+ -DENABLE_MINIBROWSER=$(usex examples) |
248 |
+ -DENABLE_PDFJS=$(usex pdf) |
249 |
+ -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service) |
250 |
+ -DENABLE_SPELLCHECK=$(usex spell) |
251 |
+ -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build) |
252 |
+ -DENABLE_VIDEO=$(usex gstreamer) |
253 |
+ -DUSE_GSTREAMER_WEBRTC=$(usex gstreamer) |
254 |
+ -DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer) |
255 |
+ -DENABLE_WEBGL=ON |
256 |
+ # Supported only under ANGLE |
257 |
+ -DENABLE_WEBGL2=OFF |
258 |
+ -DENABLE_WEB_AUDIO=$(usex gstreamer) |
259 |
+ # Source/cmake/OptionsGTK.cmake |
260 |
+ -DENABLE_GLES2=$(usex gles2-only) |
261 |
+ -DENABLE_DOCUMENTATION=OFF |
262 |
+ -DENABLE_INTROSPECTION=$(usex introspection) |
263 |
+ -DENABLE_JOURNALD_LOG=$(usex systemd) |
264 |
+ -DENABLE_QUARTZ_TARGET=$(usex aqua) |
265 |
+ -DENABLE_WAYLAND_TARGET=$(usex wayland) |
266 |
+ -DENABLE_X11_TARGET=$(usex X) |
267 |
+ -DUSE_AVIF=$(usex avif) |
268 |
+ -DUSE_GTK4=OFF |
269 |
+ -DENABLE_WEBDRIVER=ON |
270 |
+ -DUSE_JPEGXL=OFF |
271 |
+ -DUSE_LCMS=$(usex lcms) |
272 |
+ -DUSE_LIBHYPHEN=ON |
273 |
+ -DUSE_LIBSECRET=$(usex gnome-keyring) |
274 |
+ -DUSE_OPENGL_OR_ES=ON |
275 |
+ -DUSE_OPENJPEG=$(usex jpeg2k) |
276 |
+ -DUSE_SOUP2=OFF |
277 |
+ -DUSE_WOFF2=ON |
278 |
+ -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland |
279 |
+ ) |
280 |
+ |
281 |
+ # https://bugs.gentoo.org/761238 |
282 |
+ append-cppflags -DNDEBUG |
283 |
+ |
284 |
+ WK_USE_CCACHE=NO cmake_src_configure |
285 |
+} |
286 |
+ |
287 |
+src_install() { |
288 |
+ cmake_src_install |
289 |
+ |
290 |
+ insinto /usr/share/gtk-doc/html |
291 |
+ # This will install API docs specific to webkit2gtk-4.1 |
292 |
+ doins -r "${S}"/Documentation/{jsc-glib,webkit2gtk,webkit2gtk-web-extension}-${SLOT%/*} |
293 |
+} |
294 |
+ |
295 |
+pkg_postinst() { |
296 |
+ optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue" |
297 |
+} |
298 |
|
299 |
diff --git a/net-libs/webkit-gtk/webkit-gtk-2.38.0.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.38.0.ebuild |
300 |
new file mode 100644 |
301 |
index 000000000000..c37062df4a5e |
302 |
--- /dev/null |
303 |
+++ b/net-libs/webkit-gtk/webkit-gtk-2.38.0.ebuild |
304 |
@@ -0,0 +1,249 @@ |
305 |
+# Copyright 1999-2022 Gentoo Authors |
306 |
+# Distributed under the terms of the GNU General Public License v2 |
307 |
+ |
308 |
+EAPI=8 |
309 |
+PYTHON_REQ_USE="xml(+)" |
310 |
+PYTHON_COMPAT=( python3_{8..11} ) |
311 |
+USE_RUBY="ruby27 ruby30 ruby31" |
312 |
+ |
313 |
+inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake |
314 |
+ |
315 |
+MY_P="webkitgtk-${PV}" |
316 |
+DESCRIPTION="Open source web browser engine" |
317 |
+HOMEPAGE="https://www.webkitgtk.org" |
318 |
+SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz" |
319 |
+ |
320 |
+LICENSE="LGPL-2+ BSD" |
321 |
+SLOT="4/37" # soname version of libwebkit2gtk-4.0 |
322 |
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86" |
323 |
+ |
324 |
+IUSE="aqua avif +egl examples gamepad gles2-only gnome-keyring +gstreamer +introspection pdf +jpeg2k +jumbo-build lcms seccomp spell systemd test wayland X" |
325 |
+ |
326 |
+# gstreamer with opengl/gles2 needs egl |
327 |
+REQUIRED_USE=" |
328 |
+ gles2-only? ( egl ) |
329 |
+ gstreamer? ( egl ) |
330 |
+ wayland? ( egl ) |
331 |
+ || ( aqua wayland X ) |
332 |
+" |
333 |
+ |
334 |
+# Tests fail to link for inexplicable reasons |
335 |
+# https://bugs.webkit.org/show_bug.cgi?id=148210 |
336 |
+RESTRICT="test" |
337 |
+ |
338 |
+# Dependencies found at Source/cmake/OptionsGTK.cmake |
339 |
+# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30 |
340 |
+# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE) |
341 |
+# TODO: gst-plugins-base[X] is only needed when build configuration ends up with GLX set, but that's a bit automagic too to fix |
342 |
+RDEPEND=" |
343 |
+ >=x11-libs/cairo-1.16.0[X?] |
344 |
+ >=media-libs/fontconfig-2.13.0:1.0 |
345 |
+ >=media-libs/freetype-2.9.0:2 |
346 |
+ >=dev-libs/libgcrypt-1.7.0:0= |
347 |
+ >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?] |
348 |
+ >=media-libs/harfbuzz-1.4.2:=[icu(+)] |
349 |
+ >=dev-libs/icu-61.2:= |
350 |
+ media-libs/libjpeg-turbo:0= |
351 |
+ >=net-libs/libsoup-2.54:2.4[introspection?] |
352 |
+ >=dev-libs/libxml2-2.8.0:2 |
353 |
+ >=media-libs/libpng-1.4:0= |
354 |
+ dev-db/sqlite:3 |
355 |
+ sys-libs/zlib:0 |
356 |
+ >=dev-libs/atk-2.16.0 |
357 |
+ media-libs/libwebp:= |
358 |
+ |
359 |
+ >=dev-libs/glib-2.67.1:2 |
360 |
+ >=dev-libs/libxslt-1.1.7 |
361 |
+ media-libs/woff2 |
362 |
+ gnome-keyring? ( app-crypt/libsecret ) |
363 |
+ introspection? ( >=dev-libs/gobject-introspection-1.59.1:= ) |
364 |
+ dev-libs/libtasn1:= |
365 |
+ spell? ( >=app-text/enchant-0.22:2 ) |
366 |
+ gstreamer? ( |
367 |
+ >=media-libs/gstreamer-1.20:1.0 |
368 |
+ >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?] |
369 |
+ gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] ) |
370 |
+ !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] ) |
371 |
+ >=media-plugins/gst-plugins-opus-1.20:1.0 |
372 |
+ >=media-libs/gst-plugins-bad-1.20:1.0 |
373 |
+ ) |
374 |
+ |
375 |
+ X? ( |
376 |
+ x11-libs/libX11 |
377 |
+ x11-libs/libXcomposite |
378 |
+ x11-libs/libXdamage |
379 |
+ x11-libs/libXrender |
380 |
+ x11-libs/libXt |
381 |
+ ) |
382 |
+ |
383 |
+ dev-libs/hyphen |
384 |
+ jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= ) |
385 |
+ avif? ( >=media-libs/libavif-0.9.0:= ) |
386 |
+ lcms? ( media-libs/lcms:2 ) |
387 |
+ |
388 |
+ egl? ( media-libs/mesa[egl(+)] ) |
389 |
+ gles2-only? ( media-libs/mesa[gles2] ) |
390 |
+ !gles2-only? ( virtual/opengl ) |
391 |
+ wayland? ( |
392 |
+ dev-libs/wayland |
393 |
+ >=dev-libs/wayland-protocols-1.12 |
394 |
+ >=gui-libs/libwpe-1.5.0:1.0 |
395 |
+ >=gui-libs/wpebackend-fdo-1.7.0:1.0 |
396 |
+ ) |
397 |
+ |
398 |
+ seccomp? ( |
399 |
+ >=sys-apps/bubblewrap-0.3.1 |
400 |
+ sys-libs/libseccomp |
401 |
+ sys-apps/xdg-dbus-proxy |
402 |
+ ) |
403 |
+ |
404 |
+ systemd? ( sys-apps/systemd:= ) |
405 |
+ gamepad? ( >=dev-libs/libmanette-0.2.4 ) |
406 |
+" |
407 |
+DEPEND="${RDEPEND}" |
408 |
+# Need real bison, not yacc |
409 |
+BDEPEND=" |
410 |
+ ${PYTHON_DEPS} |
411 |
+ ${RUBY_DEPS} |
412 |
+ >=app-accessibility/at-spi2-core-2.5.3 |
413 |
+ dev-util/gdbus-codegen |
414 |
+ dev-util/glib-utils |
415 |
+ >=dev-util/gperf-3.0.1 |
416 |
+ >=sys-devel/bison-2.4.3 |
417 |
+ || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 ) |
418 |
+ sys-devel/gettext |
419 |
+ virtual/pkgconfig |
420 |
+ |
421 |
+ >=dev-lang/perl-5.10 |
422 |
+ virtual/perl-Data-Dumper |
423 |
+ virtual/perl-Carp |
424 |
+ virtual/perl-JSON-PP |
425 |
+" |
426 |
+# test? ( |
427 |
+# dev-python/pygobject:3[python_targets_python2_7] |
428 |
+# x11-themes/hicolor-icon-theme |
429 |
+# ) |
430 |
+ |
431 |
+S="${WORKDIR}/${MY_P}" |
432 |
+ |
433 |
+CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 |
434 |
+ |
435 |
+pkg_pretend() { |
436 |
+ if [[ ${MERGE_TYPE} != "binary" ]] ; then |
437 |
+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then |
438 |
+ einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" |
439 |
+ check-reqs_pkg_pretend |
440 |
+ fi |
441 |
+ |
442 |
+ if ! test-flag-CXX -std=c++17 ; then |
443 |
+ die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags" |
444 |
+ fi |
445 |
+ fi |
446 |
+} |
447 |
+ |
448 |
+pkg_setup() { |
449 |
+ if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then |
450 |
+ check-reqs_pkg_setup |
451 |
+ fi |
452 |
+ |
453 |
+ python-any-r1_pkg_setup |
454 |
+} |
455 |
+ |
456 |
+src_prepare() { |
457 |
+ cmake_src_prepare |
458 |
+ gnome2_src_prepare |
459 |
+} |
460 |
+ |
461 |
+src_configure() { |
462 |
+ # Respect CC, otherwise fails on prefix #395875 |
463 |
+ tc-export CC |
464 |
+ |
465 |
+ # It does not compile on alpha without this in LDFLAGS |
466 |
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761 |
467 |
+ use alpha && append-ldflags "-Wl,--no-relax" |
468 |
+ |
469 |
+ # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504 |
470 |
+ use ia64 && append-ldflags "-Wl,--no-as-needed" |
471 |
+ |
472 |
+ # Sigbuses on SPARC with mcpu and co., bug #??? |
473 |
+ use sparc && filter-flags "-mvis" |
474 |
+ |
475 |
+ # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 |
476 |
+ use ppc64 && append-flags "-mminimal-toc" |
477 |
+ |
478 |
+ # Try to use less memory, bug #469942 (see Fedora .spec for reference) |
479 |
+ # --no-keep-memory doesn't work on ia64, bug #502492 |
480 |
+ if ! use ia64; then |
481 |
+ append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory") |
482 |
+ fi |
483 |
+ |
484 |
+ # Ruby situation is a bit complicated. See bug 513888 |
485 |
+ local rubyimpl |
486 |
+ local ruby_interpreter="" |
487 |
+ for rubyimpl in ${USE_RUBY}; do |
488 |
+ if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then |
489 |
+ ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})" |
490 |
+ fi |
491 |
+ done |
492 |
+ # This will rarely occur. Only a couple of corner cases could lead us to |
493 |
+ # that failure. See bug 513888 |
494 |
+ [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found" |
495 |
+ |
496 |
+ # TODO: Check Web Audio support |
497 |
+ # should somehow let user select between them? |
498 |
+ |
499 |
+ local mycmakeargs=( |
500 |
+ ${ruby_interpreter} |
501 |
+ $(cmake_use_find_package gles2-only OpenGLES2) |
502 |
+ $(cmake_use_find_package egl EGL) |
503 |
+ $(cmake_use_find_package !gles2-only OpenGL) |
504 |
+ -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that |
505 |
+ -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy |
506 |
+ -DPORT=GTK |
507 |
+ # Source/cmake/WebKitFeatures.cmake |
508 |
+ -DENABLE_API_TESTS=$(usex test) |
509 |
+ -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp) |
510 |
+ -DENABLE_GAMEPAD=$(usex gamepad) |
511 |
+ -DENABLE_MINIBROWSER=$(usex examples) |
512 |
+ -DENABLE_PDFJS=$(usex pdf) |
513 |
+ -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service) |
514 |
+ -DENABLE_SPELLCHECK=$(usex spell) |
515 |
+ -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build) |
516 |
+ -DENABLE_VIDEO=$(usex gstreamer) |
517 |
+ -DUSE_GSTREAMER_WEBRTC=$(usex gstreamer) |
518 |
+ -DUSE_GSTREAMER_TRANSCODER=$(usex gstreamer) |
519 |
+ -DENABLE_WEBGL=ON |
520 |
+ # Supported only under ANGLE |
521 |
+ -DENABLE_WEBGL2=OFF |
522 |
+ -DENABLE_WEB_AUDIO=$(usex gstreamer) |
523 |
+ # Source/cmake/OptionsGTK.cmake |
524 |
+ -DENABLE_GLES2=$(usex gles2-only) |
525 |
+ -DENABLE_DOCUMENTATION=OFF |
526 |
+ -DENABLE_INTROSPECTION=$(usex introspection) |
527 |
+ -DENABLE_JOURNALD_LOG=$(usex systemd) |
528 |
+ -DENABLE_QUARTZ_TARGET=$(usex aqua) |
529 |
+ -DENABLE_WAYLAND_TARGET=$(usex wayland) |
530 |
+ -DENABLE_X11_TARGET=$(usex X) |
531 |
+ -DUSE_AVIF=$(usex avif) |
532 |
+ -DUSE_GTK4=OFF |
533 |
+ -DENABLE_WEBDRIVER=OFF # Disable WebDriver for webkit2gtk-4.0 and use the webkit2gtk-4.1 |
534 |
+ -DUSE_JPEGXL=OFF |
535 |
+ -DUSE_LCMS=$(usex lcms) |
536 |
+ -DUSE_LIBHYPHEN=ON |
537 |
+ -DUSE_LIBSECRET=$(usex gnome-keyring) |
538 |
+ -DUSE_OPENGL_OR_ES=ON |
539 |
+ -DUSE_OPENJPEG=$(usex jpeg2k) |
540 |
+ -DUSE_SOUP2=ON |
541 |
+ -DUSE_WOFF2=ON |
542 |
+ -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland |
543 |
+ ) |
544 |
+ |
545 |
+ # https://bugs.gentoo.org/761238 |
546 |
+ append-cppflags -DNDEBUG |
547 |
+ |
548 |
+ WK_USE_CCACHE=NO cmake_src_configure |
549 |
+} |
550 |
+ |
551 |
+pkg_postinst() { |
552 |
+ optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue" |
553 |
+} |