Gentoo Archives: gentoo-commits

From: Matt Turner <mattst88@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/webkit-gtk/files/, net-libs/webkit-gtk/
Date: Tue, 13 Sep 2022 17:56:23
Message-Id: 1663091762.30fb91bb7302f3fcc8587a46bfcb330bd530490d.mattst88@gentoo
1 commit: 30fb91bb7302f3fcc8587a46bfcb330bd530490d
2 Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
3 AuthorDate: Tue Sep 13 17:54:56 2022 +0000
4 Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
5 CommitDate: Tue Sep 13 17:56:02 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30fb91bb
7
8 net-libs/webkit-gtk: Drop old versions
9
10 Bug: https://bugs.gentoo.org/861740
11 Bug: https://bugs.gentoo.org/864427
12 Bug: https://bugs.gentoo.org/866494
13 Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
14
15 net-libs/webkit-gtk/Manifest | 4 -
16 net-libs/webkit-gtk/files/2.36.5-fix-crash.patch | 82 --------
17 net-libs/webkit-gtk/metadata.xml | 1 -
18 net-libs/webkit-gtk/webkit-gtk-2.36.3.ebuild | 249 ----------------------
19 net-libs/webkit-gtk/webkit-gtk-2.36.4.ebuild | 250 ----------------------
20 net-libs/webkit-gtk/webkit-gtk-2.36.5-r1.ebuild | 252 -----------------------
21 net-libs/webkit-gtk/webkit-gtk-2.36.6.ebuild | 250 ----------------------
22 7 files changed, 1088 deletions(-)
23
24 diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest
25 index 8cf7223294c3..e7864a39344d 100644
26 --- a/net-libs/webkit-gtk/Manifest
27 +++ b/net-libs/webkit-gtk/Manifest
28 @@ -1,5 +1 @@
29 -DIST webkitgtk-2.36.3.tar.xz 26600236 BLAKE2B 80c1127e75a12603e3646b840d6fd8cc4146b5a964d9a44966ff7d40e67f8743420c87f3c001f9299b2449f492401d86c02e55395e2db8938ff0e3bbb08790cb SHA512 dfd02e22a58d0080d9bf6c7dd2a710bb9d8698ff8a4226653629294b74cc981a3e35d4d93eed5ebad35c81b339ec8b96755ad0b36c0238da151b359e07bcb692
30 -DIST webkitgtk-2.36.4.tar.xz 26598964 BLAKE2B 7c79c394bca756b09324afae013775404f62543ed093314ebb82a10dbbc2c7a22277792349a0d24fd95077c770627d24ab73183ba4a97d168556f991d7a6a682 SHA512 c5365c682ba4e8e6ad891638b5a82e74e38fa0867ce6c8e4e08a9dc15b862a6d3edc096a049e0711306972d6162d79fe90a0e76d8b395001798005e4488467f2
31 -DIST webkitgtk-2.36.5.tar.xz 26602060 BLAKE2B 4a450356bb5e142f8c5c9d27433183532b7d3a2e451032cd837bf8a12ba58bd997eb4f2c6ff5ab37891af8485efb5d57aa02321448a93b0864c2a25b3b194cf8 SHA512 71be328aae93f1454d74371c3a614aab15190d2abc7dd7d7a003004c2f35a19d610d2613e64292f21e472d5112cba865ef019fecc2b4066eb87368c6d363b545
32 -DIST webkitgtk-2.36.6.tar.xz 26593904 BLAKE2B 95ea4b17350b148fe6cc9bbaa4aab3bbb992ab62f949d6a70639cc9c31bba1d9d1a67185a4e61464c66bce10399f1b4fa7811bc892b59c2b9677cfe4f8bc8db8 SHA512 21e91d7b9a4af3b6c7eb7a8dd9fbbbd82c14d01a5cd6734c9476bcc6b81007dc622867f3c6cb1e5531a16c5abfe208f8540ca0a182fa02e274b46ebc4f9dd0d0
33 DIST webkitgtk-2.36.7.tar.xz 26594424 BLAKE2B 1f7450e47bffa3875aa4448925a013ec90bdaa6c813aa181d14c9a5636c58140ce55d5b5288a65cfbe9e363cd9d00f62de74665182ab9f856baa4b2ffcec6dba SHA512 e27975cf55b6be4cde2b34ed03fc717e6550dc495b444c781b3af0b32f7d580451de27ed41d74c6ff734b876118f22847096131168b0c8325031be84c1972888
34
35 diff --git a/net-libs/webkit-gtk/files/2.36.5-fix-crash.patch b/net-libs/webkit-gtk/files/2.36.5-fix-crash.patch
36 deleted file mode 100644
37 index 0f676a942d06..000000000000
38 --- a/net-libs/webkit-gtk/files/2.36.5-fix-crash.patch
39 +++ /dev/null
40 @@ -1,82 +0,0 @@
41 -https://bugs.gentoo.org/863008
42 -https://bugs.webkit.org/show_bug.cgi?id=243401
43 -
44 -From a6277d4834cce0dea2f999d4c06ffa57abfbb82d Mon Sep 17 00:00:00 2001
45 -From: Michael Catanzaro <mcatanzaro@××××××.com>
46 -Date: Mon, 1 Aug 2022 14:07:04 -0700
47 -Subject: [PATCH] REGRESSION(252485@main): [GTK]
48 - webkit_web_context_get_default() crashes in Eclipse since webkit-gtk v2.36.5,
49 - v2.36.4 was fine https://bugs.webkit.org/show_bug.cgi?id=243401
50 -
51 -Reviewed by Adrian Perez de Castro.
52 -
53 -Turns out WebKit's "main thread" may not actually be the real main
54 -thread. This is OK as long as it matches the GTK "main thread," and as
55 -long as the application is careful to iterate the default main context
56 -only on the WebKit/GTK "main thread," as as long as the application does
57 -not ever attempt to use these libraries on any other thread.
58 -
59 -The motivation to do this is if the programming language controls the
60 -real thread 1, as is the case with Java, where the Java main thread that
61 -applications can use to run GTK and WebKit is apparently not the same as
62 -the real main thread that's running the JVM. These applications have no
63 -control over what their "main thread" is, and it seems unkind to break
64 -them.
65 -
66 -I've checked in with the GTK developers, and consensus is that this
67 -is actually expected to work, so let's not break it.
68 -
69 -* Source/WTF/wtf/generic/MainThreadGeneric.cpp:
70 -(WTF::initializeMainThreadPlatform):
71 -(WTF::isMainThread):
72 -
73 -Canonical link: https://commits.webkit.org/253010@main
74 ----
75 - Source/WTF/wtf/generic/MainThreadGeneric.cpp | 13 ++-----------
76 - 1 file changed, 2 insertions(+), 11 deletions(-)
77 -
78 -diff --git a/Source/WTF/wtf/generic/MainThreadGeneric.cpp b/Source/WTF/wtf/generic/MainThreadGeneric.cpp
79 -index 3a9208b0f9ab..b51e2e456047 100644
80 ---- a/Source/WTF/wtf/generic/MainThreadGeneric.cpp
81 -+++ b/Source/WTF/wtf/generic/MainThreadGeneric.cpp
82 -@@ -31,29 +31,22 @@
83 - */
84 -
85 - #include "config.h"
86 --#if !OS(LINUX)
87 - #include <pthread.h>
88 --#endif
89 - #if HAVE(PTHREAD_NP_H)
90 - #include <pthread_np.h>
91 - #endif
92 --#if OS(LINUX)
93 --#include <sys/syscall.h>
94 --#include <sys/types.h>
95 --#include <unistd.h>
96 --#endif
97 -
98 - #include <wtf/RunLoop.h>
99 -
100 - namespace WTF {
101 -
102 --#if !HAVE(PTHREAD_MAIN_NP) && !OS(LINUX)
103 -+#if !HAVE(PTHREAD_MAIN_NP)
104 - static pthread_t mainThread;
105 - #endif
106 -
107 - void initializeMainThreadPlatform()
108 - {
109 --#if !HAVE(PTHREAD_MAIN_NP) && !OS(LINUX)
110 -+#if !HAVE(PTHREAD_MAIN_NP)
111 - mainThread = pthread_self();
112 - #endif
113 - }
114 -@@ -62,8 +55,6 @@ bool isMainThread()
115 - {
116 - #if HAVE(PTHREAD_MAIN_NP)
117 - return pthread_main_np();
118 --#elif OS(LINUX)
119 -- return getpid() == static_cast<pid_t>(syscall(SYS_gettid));
120 - #else
121 - return pthread_equal(pthread_self(), mainThread);
122 - #endif
123
124 diff --git a/net-libs/webkit-gtk/metadata.xml b/net-libs/webkit-gtk/metadata.xml
125 index 6c378126f60f..ce3ed547574b 100644
126 --- a/net-libs/webkit-gtk/metadata.xml
127 +++ b/net-libs/webkit-gtk/metadata.xml
128 @@ -10,7 +10,6 @@
129 <flag name="egl">Enable EGL support</flag>
130 <flag name="examples">Install the MiniBrowser example application</flag>
131 <flag name="gamepad">Enable gamepad input support via <pkg>dev-libs/libmanette</pkg></flag>
132 - <flag name="geolocation">Enable geolocation support through <pkg>app-misc/geoclue</pkg></flag>
133 <flag name="jumbo-build">Combine source files to speed up build process</flag>
134 </use>
135 </pkgmetadata>
136
137 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.36.3.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.36.3.ebuild
138 deleted file mode 100644
139 index 32a324c88e1e..000000000000
140 --- a/net-libs/webkit-gtk/webkit-gtk-2.36.3.ebuild
141 +++ /dev/null
142 @@ -1,249 +0,0 @@
143 -# Copyright 1999-2022 Gentoo Authors
144 -# Distributed under the terms of the GNU General Public License v2
145 -
146 -EAPI=7
147 -PYTHON_REQ_USE="xml(+)"
148 -PYTHON_COMPAT=( python3_{8..11} )
149 -USE_RUBY="ruby27 ruby30 ruby31"
150 -
151 -inherit check-reqs flag-o-matic gnome2 python-any-r1 ruby-single toolchain-funcs cmake
152 -
153 -MY_P="webkitgtk-${PV}"
154 -DESCRIPTION="Open source web browser engine"
155 -HOMEPAGE="https://www.webkitgtk.org"
156 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
157 -
158 -LICENSE="LGPL-2+ BSD"
159 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
160 -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
161 -
162 -IUSE="aqua avif +egl examples gamepad +geolocation gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build lcms libnotify seccomp spell systemd test wayland X"
163 -
164 -# gstreamer with opengl/gles2 needs egl
165 -REQUIRED_USE="
166 - gles2-only? ( egl )
167 - gstreamer? ( egl )
168 - wayland? ( egl )
169 - || ( aqua wayland X )
170 -"
171 -
172 -# Tests fail to link for inexplicable reasons
173 -# https://bugs.webkit.org/show_bug.cgi?id=148210
174 -RESTRICT="test"
175 -
176 -# Dependencies found at Source/cmake/OptionsGTK.cmake
177 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30
178 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
179 -# 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
180 -RDEPEND="
181 - >=x11-libs/cairo-1.16.0:=[X?]
182 - >=media-libs/fontconfig-2.13.0:1.0
183 - >=media-libs/freetype-2.9.0:2
184 - >=dev-libs/libgcrypt-1.7.0:0=
185 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
186 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
187 - >=dev-libs/icu-61.2:=
188 - media-libs/libjpeg-turbo:0=
189 - >=net-libs/libsoup-2.54:2.4[introspection?]
190 - >=dev-libs/libxml2-2.8.0:2
191 - >=media-libs/libpng-1.4:0=
192 - dev-db/sqlite:3=
193 - sys-libs/zlib:0
194 - >=dev-libs/atk-2.16.0
195 - media-libs/libwebp:=
196 -
197 - >=dev-libs/glib-2.67.1:2
198 - >=dev-libs/libxslt-1.1.7
199 - media-libs/woff2
200 - gnome-keyring? ( app-crypt/libsecret )
201 - introspection? ( >=dev-libs/gobject-introspection-1.59.1:= )
202 - dev-libs/libtasn1:=
203 - spell? ( >=app-text/enchant-0.22:2 )
204 - gstreamer? (
205 - >=media-libs/gstreamer-1.20:1.0
206 - >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?]
207 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
208 - !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] )
209 - >=media-plugins/gst-plugins-opus-1.20:1.0
210 - >=media-libs/gst-plugins-bad-1.20:1.0
211 - )
212 -
213 - X? (
214 - x11-libs/libX11
215 - x11-libs/libXcomposite
216 - x11-libs/libXdamage
217 - x11-libs/libXrender
218 - x11-libs/libXt
219 - )
220 -
221 - libnotify? ( x11-libs/libnotify )
222 - dev-libs/hyphen
223 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
224 - avif? ( >=media-libs/libavif-0.9.0:= )
225 - lcms? ( media-libs/lcms:2 )
226 -
227 - egl? ( media-libs/mesa[egl(+)] )
228 - gles2-only? ( media-libs/mesa[gles2] )
229 - !gles2-only? ( virtual/opengl )
230 - wayland? (
231 - dev-libs/wayland
232 - >=dev-libs/wayland-protocols-1.12
233 - >=gui-libs/libwpe-1.5.0:1.0
234 - >=gui-libs/wpebackend-fdo-1.7.0:1.0
235 - )
236 -
237 - seccomp? (
238 - >=sys-apps/bubblewrap-0.3.1
239 - sys-libs/libseccomp
240 - sys-apps/xdg-dbus-proxy
241 - )
242 -
243 - systemd? ( sys-apps/systemd:= )
244 - gamepad? ( >=dev-libs/libmanette-0.2.4 )
245 -"
246 -DEPEND="${RDEPEND}"
247 -# Need real bison, not yacc
248 -BDEPEND="
249 - ${PYTHON_DEPS}
250 - ${RUBY_DEPS}
251 - >=app-accessibility/at-spi2-core-2.5.3
252 - dev-util/gdbus-codegen
253 - dev-util/glib-utils
254 - >=dev-util/gperf-3.0.1
255 - >=sys-devel/bison-2.4.3
256 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
257 - sys-devel/gettext
258 - virtual/pkgconfig
259 -
260 - >=dev-lang/perl-5.10
261 - virtual/perl-Data-Dumper
262 - virtual/perl-Carp
263 - virtual/perl-JSON-PP
264 -
265 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
266 -"
267 -# test? (
268 -# dev-python/pygobject:3[python_targets_python2_7]
269 -# x11-themes/hicolor-icon-theme
270 -# )
271 -RDEPEND="${RDEPEND}
272 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
273 -"
274 -
275 -S="${WORKDIR}/${MY_P}"
276 -
277 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
278 -
279 -pkg_pretend() {
280 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
281 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
282 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
283 - check-reqs_pkg_pretend
284 - fi
285 -
286 - if ! test-flag-CXX -std=c++17 ; then
287 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
288 - fi
289 - fi
290 -}
291 -
292 -pkg_setup() {
293 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
294 - check-reqs_pkg_setup
295 - fi
296 -
297 - python-any-r1_pkg_setup
298 -}
299 -
300 -src_prepare() {
301 - cmake_src_prepare
302 - gnome2_src_prepare
303 -}
304 -
305 -src_configure() {
306 - # Respect CC, otherwise fails on prefix #395875
307 - tc-export CC
308 -
309 - # It does not compile on alpha without this in LDFLAGS
310 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
311 - use alpha && append-ldflags "-Wl,--no-relax"
312 -
313 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
314 - use ia64 && append-ldflags "-Wl,--no-as-needed"
315 -
316 - # Sigbuses on SPARC with mcpu and co., bug #???
317 - use sparc && filter-flags "-mvis"
318 -
319 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
320 - use ppc64 && append-flags "-mminimal-toc"
321 -
322 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
323 - # --no-keep-memory doesn't work on ia64, bug #502492
324 - if ! use ia64; then
325 - append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
326 - fi
327 -
328 - # Ruby situation is a bit complicated. See bug 513888
329 - local rubyimpl
330 - local ruby_interpreter=""
331 - for rubyimpl in ${USE_RUBY}; do
332 - if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
333 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
334 - fi
335 - done
336 - # This will rarely occur. Only a couple of corner cases could lead us to
337 - # that failure. See bug 513888
338 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
339 -
340 - # TODO: Check Web Audio support
341 - # should somehow let user select between them?
342 -
343 - local mycmakeargs=(
344 - ${ruby_interpreter}
345 - $(cmake_use_find_package gles2-only OpenGLES2)
346 - $(cmake_use_find_package egl EGL)
347 - $(cmake_use_find_package !gles2-only OpenGL)
348 - -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
349 - -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
350 - -DPORT=GTK
351 - # Source/cmake/WebKitFeatures.cmake
352 - -DENABLE_API_TESTS=$(usex test)
353 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
354 - -DENABLE_GAMEPAD=$(usex gamepad)
355 - -DENABLE_GEOLOCATION=$(usex geolocation) # Runtime optional (talks over dbus service)
356 - -DENABLE_MINIBROWSER=$(usex examples)
357 - -DENABLE_SPELLCHECK=$(usex spell)
358 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
359 - -DENABLE_VIDEO=$(usex gstreamer)
360 - -DENABLE_WEBGL=ON
361 - # Supported only under ANGLE
362 - -DENABLE_WEBGL2=OFF
363 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
364 - # Source/cmake/OptionsGTK.cmake
365 - -DENABLE_GLES2=$(usex gles2-only)
366 - -DENABLE_GTKDOC=$(usex gtk-doc)
367 - -DENABLE_INTROSPECTION=$(usex introspection)
368 - -DENABLE_JOURNALD_LOG=$(usex systemd)
369 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
370 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
371 - -DENABLE_X11_TARGET=$(usex X)
372 - -DUSE_ANGLE_WEBGL=OFF
373 - -DUSE_AVIF=$(usex avif)
374 - -DUSE_GTK4=OFF
375 - -DUSE_JPEGXL=OFF
376 - -DUSE_LCMS=$(usex lcms)
377 - -DUSE_LIBHYPHEN=ON
378 - -DUSE_LIBNOTIFY=$(usex libnotify)
379 - -DUSE_LIBSECRET=$(usex gnome-keyring)
380 - -DUSE_OPENGL_OR_ES=ON
381 - -DUSE_OPENJPEG=$(usex jpeg2k)
382 - -DUSE_SOUP2=ON
383 - -DUSE_WOFF2=ON
384 - -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland
385 - )
386 -
387 - # https://bugs.gentoo.org/761238
388 - append-cppflags -DNDEBUG
389 -
390 - WK_USE_CCACHE=NO cmake_src_configure
391 -}
392
393 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.36.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.36.4.ebuild
394 deleted file mode 100644
395 index 6b8011fcb778..000000000000
396 --- a/net-libs/webkit-gtk/webkit-gtk-2.36.4.ebuild
397 +++ /dev/null
398 @@ -1,250 +0,0 @@
399 -# Copyright 1999-2022 Gentoo Authors
400 -# Distributed under the terms of the GNU General Public License v2
401 -
402 -EAPI=7
403 -PYTHON_REQ_USE="xml(+)"
404 -PYTHON_COMPAT=( python3_{8..11} )
405 -USE_RUBY="ruby27 ruby30 ruby31"
406 -
407 -inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
408 -
409 -MY_P="webkitgtk-${PV}"
410 -DESCRIPTION="Open source web browser engine"
411 -HOMEPAGE="https://www.webkitgtk.org"
412 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
413 -
414 -LICENSE="LGPL-2+ BSD"
415 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
416 -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
417 -
418 -IUSE="aqua avif +egl examples gamepad gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build lcms libnotify seccomp spell systemd test wayland X"
419 -
420 -# gstreamer with opengl/gles2 needs egl
421 -REQUIRED_USE="
422 - gles2-only? ( egl )
423 - gstreamer? ( egl )
424 - wayland? ( egl )
425 - || ( aqua wayland X )
426 -"
427 -
428 -# Tests fail to link for inexplicable reasons
429 -# https://bugs.webkit.org/show_bug.cgi?id=148210
430 -RESTRICT="test"
431 -
432 -# Dependencies found at Source/cmake/OptionsGTK.cmake
433 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30
434 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
435 -# 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
436 -RDEPEND="
437 - >=x11-libs/cairo-1.16.0:=[X?]
438 - >=media-libs/fontconfig-2.13.0:1.0
439 - >=media-libs/freetype-2.9.0:2
440 - >=dev-libs/libgcrypt-1.7.0:0=
441 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
442 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
443 - >=dev-libs/icu-61.2:=
444 - media-libs/libjpeg-turbo:0=
445 - >=net-libs/libsoup-2.54:2.4[introspection?]
446 - >=dev-libs/libxml2-2.8.0:2
447 - >=media-libs/libpng-1.4:0=
448 - dev-db/sqlite:3=
449 - sys-libs/zlib:0
450 - >=dev-libs/atk-2.16.0
451 - media-libs/libwebp:=
452 -
453 - >=dev-libs/glib-2.67.1:2
454 - >=dev-libs/libxslt-1.1.7
455 - media-libs/woff2
456 - gnome-keyring? ( app-crypt/libsecret )
457 - introspection? ( >=dev-libs/gobject-introspection-1.59.1:= )
458 - dev-libs/libtasn1:=
459 - spell? ( >=app-text/enchant-0.22:2 )
460 - gstreamer? (
461 - >=media-libs/gstreamer-1.20:1.0
462 - >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?]
463 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
464 - !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] )
465 - >=media-plugins/gst-plugins-opus-1.20:1.0
466 - >=media-libs/gst-plugins-bad-1.20:1.0
467 - )
468 -
469 - X? (
470 - x11-libs/libX11
471 - x11-libs/libXcomposite
472 - x11-libs/libXdamage
473 - x11-libs/libXrender
474 - x11-libs/libXt
475 - )
476 -
477 - libnotify? ( x11-libs/libnotify )
478 - dev-libs/hyphen
479 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
480 - avif? ( >=media-libs/libavif-0.9.0:= )
481 - lcms? ( media-libs/lcms:2 )
482 -
483 - egl? ( media-libs/mesa[egl(+)] )
484 - gles2-only? ( media-libs/mesa[gles2] )
485 - !gles2-only? ( virtual/opengl )
486 - wayland? (
487 - dev-libs/wayland
488 - >=dev-libs/wayland-protocols-1.12
489 - >=gui-libs/libwpe-1.5.0:1.0
490 - >=gui-libs/wpebackend-fdo-1.7.0:1.0
491 - )
492 -
493 - seccomp? (
494 - >=sys-apps/bubblewrap-0.3.1
495 - sys-libs/libseccomp
496 - sys-apps/xdg-dbus-proxy
497 - )
498 -
499 - systemd? ( sys-apps/systemd:= )
500 - gamepad? ( >=dev-libs/libmanette-0.2.4 )
501 -"
502 -DEPEND="${RDEPEND}"
503 -# Need real bison, not yacc
504 -BDEPEND="
505 - ${PYTHON_DEPS}
506 - ${RUBY_DEPS}
507 - >=app-accessibility/at-spi2-core-2.5.3
508 - dev-util/gdbus-codegen
509 - dev-util/glib-utils
510 - >=dev-util/gperf-3.0.1
511 - >=sys-devel/bison-2.4.3
512 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
513 - sys-devel/gettext
514 - virtual/pkgconfig
515 -
516 - >=dev-lang/perl-5.10
517 - virtual/perl-Data-Dumper
518 - virtual/perl-Carp
519 - virtual/perl-JSON-PP
520 -
521 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
522 -"
523 -# test? (
524 -# dev-python/pygobject:3[python_targets_python2_7]
525 -# x11-themes/hicolor-icon-theme
526 -# )
527 -
528 -S="${WORKDIR}/${MY_P}"
529 -
530 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
531 -
532 -pkg_pretend() {
533 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
534 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
535 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
536 - check-reqs_pkg_pretend
537 - fi
538 -
539 - if ! test-flag-CXX -std=c++17 ; then
540 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
541 - fi
542 - fi
543 -}
544 -
545 -pkg_setup() {
546 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
547 - check-reqs_pkg_setup
548 - fi
549 -
550 - python-any-r1_pkg_setup
551 -}
552 -
553 -src_prepare() {
554 - cmake_src_prepare
555 - gnome2_src_prepare
556 -}
557 -
558 -src_configure() {
559 - # Respect CC, otherwise fails on prefix #395875
560 - tc-export CC
561 -
562 - # It does not compile on alpha without this in LDFLAGS
563 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
564 - use alpha && append-ldflags "-Wl,--no-relax"
565 -
566 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
567 - use ia64 && append-ldflags "-Wl,--no-as-needed"
568 -
569 - # Sigbuses on SPARC with mcpu and co., bug #???
570 - use sparc && filter-flags "-mvis"
571 -
572 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
573 - use ppc64 && append-flags "-mminimal-toc"
574 -
575 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
576 - # --no-keep-memory doesn't work on ia64, bug #502492
577 - if ! use ia64; then
578 - append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
579 - fi
580 -
581 - # Ruby situation is a bit complicated. See bug 513888
582 - local rubyimpl
583 - local ruby_interpreter=""
584 - for rubyimpl in ${USE_RUBY}; do
585 - if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
586 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
587 - fi
588 - done
589 - # This will rarely occur. Only a couple of corner cases could lead us to
590 - # that failure. See bug 513888
591 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
592 -
593 - # TODO: Check Web Audio support
594 - # should somehow let user select between them?
595 -
596 - local mycmakeargs=(
597 - ${ruby_interpreter}
598 - $(cmake_use_find_package gles2-only OpenGLES2)
599 - $(cmake_use_find_package egl EGL)
600 - $(cmake_use_find_package !gles2-only OpenGL)
601 - -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
602 - -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
603 - -DPORT=GTK
604 - # Source/cmake/WebKitFeatures.cmake
605 - -DENABLE_API_TESTS=$(usex test)
606 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
607 - -DENABLE_GAMEPAD=$(usex gamepad)
608 - -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
609 - -DENABLE_MINIBROWSER=$(usex examples)
610 - -DENABLE_SPELLCHECK=$(usex spell)
611 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
612 - -DENABLE_VIDEO=$(usex gstreamer)
613 - -DENABLE_WEBGL=ON
614 - # Supported only under ANGLE
615 - -DENABLE_WEBGL2=OFF
616 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
617 - # Source/cmake/OptionsGTK.cmake
618 - -DENABLE_GLES2=$(usex gles2-only)
619 - -DENABLE_GTKDOC=$(usex gtk-doc)
620 - -DENABLE_INTROSPECTION=$(usex introspection)
621 - -DENABLE_JOURNALD_LOG=$(usex systemd)
622 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
623 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
624 - -DENABLE_X11_TARGET=$(usex X)
625 - -DUSE_ANGLE_WEBGL=OFF
626 - -DUSE_AVIF=$(usex avif)
627 - -DUSE_GTK4=OFF
628 - -DUSE_JPEGXL=OFF
629 - -DUSE_LCMS=$(usex lcms)
630 - -DUSE_LIBHYPHEN=ON
631 - -DUSE_LIBNOTIFY=$(usex libnotify)
632 - -DUSE_LIBSECRET=$(usex gnome-keyring)
633 - -DUSE_OPENGL_OR_ES=ON
634 - -DUSE_OPENJPEG=$(usex jpeg2k)
635 - -DUSE_SOUP2=ON
636 - -DUSE_WOFF2=ON
637 - -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland
638 - )
639 -
640 - # https://bugs.gentoo.org/761238
641 - append-cppflags -DNDEBUG
642 -
643 - WK_USE_CCACHE=NO cmake_src_configure
644 -}
645 -
646 -pkg_postinst() {
647 - optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
648 -}
649
650 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.36.5-r1.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.36.5-r1.ebuild
651 deleted file mode 100644
652 index 7c6f107b4167..000000000000
653 --- a/net-libs/webkit-gtk/webkit-gtk-2.36.5-r1.ebuild
654 +++ /dev/null
655 @@ -1,252 +0,0 @@
656 -# Copyright 1999-2022 Gentoo Authors
657 -# Distributed under the terms of the GNU General Public License v2
658 -
659 -EAPI=7
660 -PYTHON_REQ_USE="xml(+)"
661 -PYTHON_COMPAT=( python3_{8..11} )
662 -USE_RUBY="ruby27 ruby30 ruby31"
663 -
664 -inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
665 -
666 -MY_P="webkitgtk-${PV}"
667 -DESCRIPTION="Open source web browser engine"
668 -HOMEPAGE="https://www.webkitgtk.org"
669 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
670 -
671 -LICENSE="LGPL-2+ BSD"
672 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
673 -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
674 -
675 -IUSE="aqua avif +egl examples gamepad gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build lcms libnotify seccomp spell systemd test wayland X"
676 -
677 -# gstreamer with opengl/gles2 needs egl
678 -REQUIRED_USE="
679 - gles2-only? ( egl )
680 - gstreamer? ( egl )
681 - wayland? ( egl )
682 - || ( aqua wayland X )
683 -"
684 -
685 -# Tests fail to link for inexplicable reasons
686 -# https://bugs.webkit.org/show_bug.cgi?id=148210
687 -RESTRICT="test"
688 -
689 -# Dependencies found at Source/cmake/OptionsGTK.cmake
690 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30
691 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
692 -# 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
693 -RDEPEND="
694 - >=x11-libs/cairo-1.16.0:=[X?]
695 - >=media-libs/fontconfig-2.13.0:1.0
696 - >=media-libs/freetype-2.9.0:2
697 - >=dev-libs/libgcrypt-1.7.0:0=
698 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
699 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
700 - >=dev-libs/icu-61.2:=
701 - media-libs/libjpeg-turbo:0=
702 - >=net-libs/libsoup-2.54:2.4[introspection?]
703 - >=dev-libs/libxml2-2.8.0:2
704 - >=media-libs/libpng-1.4:0=
705 - dev-db/sqlite:3=
706 - sys-libs/zlib:0
707 - >=dev-libs/atk-2.16.0
708 - media-libs/libwebp:=
709 -
710 - >=dev-libs/glib-2.67.1:2
711 - >=dev-libs/libxslt-1.1.7
712 - media-libs/woff2
713 - gnome-keyring? ( app-crypt/libsecret )
714 - introspection? ( >=dev-libs/gobject-introspection-1.59.1:= )
715 - dev-libs/libtasn1:=
716 - spell? ( >=app-text/enchant-0.22:2 )
717 - gstreamer? (
718 - >=media-libs/gstreamer-1.20:1.0
719 - >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?]
720 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
721 - !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] )
722 - >=media-plugins/gst-plugins-opus-1.20:1.0
723 - >=media-libs/gst-plugins-bad-1.20:1.0
724 - )
725 -
726 - X? (
727 - x11-libs/libX11
728 - x11-libs/libXcomposite
729 - x11-libs/libXdamage
730 - x11-libs/libXrender
731 - x11-libs/libXt
732 - )
733 -
734 - libnotify? ( x11-libs/libnotify )
735 - dev-libs/hyphen
736 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
737 - avif? ( >=media-libs/libavif-0.9.0:= )
738 - lcms? ( media-libs/lcms:2 )
739 -
740 - egl? ( media-libs/mesa[egl(+)] )
741 - gles2-only? ( media-libs/mesa[gles2] )
742 - !gles2-only? ( virtual/opengl )
743 - wayland? (
744 - dev-libs/wayland
745 - >=dev-libs/wayland-protocols-1.12
746 - >=gui-libs/libwpe-1.5.0:1.0
747 - >=gui-libs/wpebackend-fdo-1.7.0:1.0
748 - )
749 -
750 - seccomp? (
751 - >=sys-apps/bubblewrap-0.3.1
752 - sys-libs/libseccomp
753 - sys-apps/xdg-dbus-proxy
754 - )
755 -
756 - systemd? ( sys-apps/systemd:= )
757 - gamepad? ( >=dev-libs/libmanette-0.2.4 )
758 -"
759 -DEPEND="${RDEPEND}"
760 -# Need real bison, not yacc
761 -BDEPEND="
762 - ${PYTHON_DEPS}
763 - ${RUBY_DEPS}
764 - >=app-accessibility/at-spi2-core-2.5.3
765 - dev-util/gdbus-codegen
766 - dev-util/glib-utils
767 - >=dev-util/gperf-3.0.1
768 - >=sys-devel/bison-2.4.3
769 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
770 - sys-devel/gettext
771 - virtual/pkgconfig
772 -
773 - >=dev-lang/perl-5.10
774 - virtual/perl-Data-Dumper
775 - virtual/perl-Carp
776 - virtual/perl-JSON-PP
777 -
778 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
779 -"
780 -# test? (
781 -# dev-python/pygobject:3[python_targets_python2_7]
782 -# x11-themes/hicolor-icon-theme
783 -# )
784 -
785 -S="${WORKDIR}/${MY_P}"
786 -
787 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
788 -
789 -pkg_pretend() {
790 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
791 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
792 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
793 - check-reqs_pkg_pretend
794 - fi
795 -
796 - if ! test-flag-CXX -std=c++17 ; then
797 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
798 - fi
799 - fi
800 -}
801 -
802 -pkg_setup() {
803 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
804 - check-reqs_pkg_setup
805 - fi
806 -
807 - python-any-r1_pkg_setup
808 -}
809 -
810 -src_prepare() {
811 - eapply "${FILESDIR}"/${PV}-fix-crash.patch
812 -
813 - cmake_src_prepare
814 - gnome2_src_prepare
815 -}
816 -
817 -src_configure() {
818 - # Respect CC, otherwise fails on prefix #395875
819 - tc-export CC
820 -
821 - # It does not compile on alpha without this in LDFLAGS
822 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
823 - use alpha && append-ldflags "-Wl,--no-relax"
824 -
825 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
826 - use ia64 && append-ldflags "-Wl,--no-as-needed"
827 -
828 - # Sigbuses on SPARC with mcpu and co., bug #???
829 - use sparc && filter-flags "-mvis"
830 -
831 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
832 - use ppc64 && append-flags "-mminimal-toc"
833 -
834 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
835 - # --no-keep-memory doesn't work on ia64, bug #502492
836 - if ! use ia64; then
837 - append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
838 - fi
839 -
840 - # Ruby situation is a bit complicated. See bug 513888
841 - local rubyimpl
842 - local ruby_interpreter=""
843 - for rubyimpl in ${USE_RUBY}; do
844 - if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
845 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
846 - fi
847 - done
848 - # This will rarely occur. Only a couple of corner cases could lead us to
849 - # that failure. See bug 513888
850 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
851 -
852 - # TODO: Check Web Audio support
853 - # should somehow let user select between them?
854 -
855 - local mycmakeargs=(
856 - ${ruby_interpreter}
857 - $(cmake_use_find_package gles2-only OpenGLES2)
858 - $(cmake_use_find_package egl EGL)
859 - $(cmake_use_find_package !gles2-only OpenGL)
860 - -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
861 - -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
862 - -DPORT=GTK
863 - # Source/cmake/WebKitFeatures.cmake
864 - -DENABLE_API_TESTS=$(usex test)
865 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
866 - -DENABLE_GAMEPAD=$(usex gamepad)
867 - -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
868 - -DENABLE_MINIBROWSER=$(usex examples)
869 - -DENABLE_SPELLCHECK=$(usex spell)
870 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
871 - -DENABLE_VIDEO=$(usex gstreamer)
872 - -DENABLE_WEBGL=ON
873 - # Supported only under ANGLE
874 - -DENABLE_WEBGL2=OFF
875 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
876 - # Source/cmake/OptionsGTK.cmake
877 - -DENABLE_GLES2=$(usex gles2-only)
878 - -DENABLE_GTKDOC=$(usex gtk-doc)
879 - -DENABLE_INTROSPECTION=$(usex introspection)
880 - -DENABLE_JOURNALD_LOG=$(usex systemd)
881 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
882 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
883 - -DENABLE_X11_TARGET=$(usex X)
884 - -DUSE_ANGLE_WEBGL=OFF
885 - -DUSE_AVIF=$(usex avif)
886 - -DUSE_GTK4=OFF
887 - -DUSE_JPEGXL=OFF
888 - -DUSE_LCMS=$(usex lcms)
889 - -DUSE_LIBHYPHEN=ON
890 - -DUSE_LIBNOTIFY=$(usex libnotify)
891 - -DUSE_LIBSECRET=$(usex gnome-keyring)
892 - -DUSE_OPENGL_OR_ES=ON
893 - -DUSE_OPENJPEG=$(usex jpeg2k)
894 - -DUSE_SOUP2=ON
895 - -DUSE_WOFF2=ON
896 - -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland
897 - )
898 -
899 - # https://bugs.gentoo.org/761238
900 - append-cppflags -DNDEBUG
901 -
902 - WK_USE_CCACHE=NO cmake_src_configure
903 -}
904 -
905 -pkg_postinst() {
906 - optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
907 -}
908
909 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.36.6.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.36.6.ebuild
910 deleted file mode 100644
911 index d69ff514c6db..000000000000
912 --- a/net-libs/webkit-gtk/webkit-gtk-2.36.6.ebuild
913 +++ /dev/null
914 @@ -1,250 +0,0 @@
915 -# Copyright 1999-2022 Gentoo Authors
916 -# Distributed under the terms of the GNU General Public License v2
917 -
918 -EAPI=7
919 -PYTHON_REQ_USE="xml(+)"
920 -PYTHON_COMPAT=( python3_{8..11} )
921 -USE_RUBY="ruby27 ruby30 ruby31"
922 -
923 -inherit check-reqs flag-o-matic gnome2 optfeature python-any-r1 ruby-single toolchain-funcs cmake
924 -
925 -MY_P="webkitgtk-${PV}"
926 -DESCRIPTION="Open source web browser engine"
927 -HOMEPAGE="https://www.webkitgtk.org"
928 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
929 -
930 -LICENSE="LGPL-2+ BSD"
931 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
932 -KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
933 -
934 -IUSE="aqua avif +egl examples gamepad gles2-only gnome-keyring +gstreamer gtk-doc +introspection +jpeg2k +jumbo-build lcms libnotify seccomp spell systemd test wayland X"
935 -
936 -# gstreamer with opengl/gles2 needs egl
937 -REQUIRED_USE="
938 - gles2-only? ( egl )
939 - gstreamer? ( egl )
940 - wayland? ( egl )
941 - || ( aqua wayland X )
942 -"
943 -
944 -# Tests fail to link for inexplicable reasons
945 -# https://bugs.webkit.org/show_bug.cgi?id=148210
946 -RESTRICT="test"
947 -
948 -# Dependencies found at Source/cmake/OptionsGTK.cmake
949 -# Missing WebRTC support, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF) and shouldn't be used yet in 2.30
950 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
951 -# 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
952 -RDEPEND="
953 - >=x11-libs/cairo-1.16.0:=[X?]
954 - >=media-libs/fontconfig-2.13.0:1.0
955 - >=media-libs/freetype-2.9.0:2
956 - >=dev-libs/libgcrypt-1.7.0:0=
957 - >=x11-libs/gtk+-3.22.0:3[aqua?,introspection?,wayland?,X?]
958 - >=media-libs/harfbuzz-1.4.2:=[icu(+)]
959 - >=dev-libs/icu-61.2:=
960 - media-libs/libjpeg-turbo:0=
961 - >=net-libs/libsoup-2.54:2.4[introspection?]
962 - >=dev-libs/libxml2-2.8.0:2
963 - >=media-libs/libpng-1.4:0=
964 - dev-db/sqlite:3=
965 - sys-libs/zlib:0
966 - >=dev-libs/atk-2.16.0
967 - media-libs/libwebp:=
968 -
969 - >=dev-libs/glib-2.67.1:2
970 - >=dev-libs/libxslt-1.1.7
971 - media-libs/woff2
972 - gnome-keyring? ( app-crypt/libsecret )
973 - introspection? ( >=dev-libs/gobject-introspection-1.59.1:= )
974 - dev-libs/libtasn1:=
975 - spell? ( >=app-text/enchant-0.22:2 )
976 - gstreamer? (
977 - >=media-libs/gstreamer-1.20:1.0
978 - >=media-libs/gst-plugins-base-1.20:1.0[egl?,X?]
979 - gles2-only? ( media-libs/gst-plugins-base:1.0[gles2] )
980 - !gles2-only? ( media-libs/gst-plugins-base:1.0[opengl] )
981 - >=media-plugins/gst-plugins-opus-1.20:1.0
982 - >=media-libs/gst-plugins-bad-1.20:1.0
983 - )
984 -
985 - X? (
986 - x11-libs/libX11
987 - x11-libs/libXcomposite
988 - x11-libs/libXdamage
989 - x11-libs/libXrender
990 - x11-libs/libXt
991 - )
992 -
993 - libnotify? ( x11-libs/libnotify )
994 - dev-libs/hyphen
995 - jpeg2k? ( >=media-libs/openjpeg-2.2.0:2= )
996 - avif? ( >=media-libs/libavif-0.9.0:= )
997 - lcms? ( media-libs/lcms:2 )
998 -
999 - egl? ( media-libs/mesa[egl(+)] )
1000 - gles2-only? ( media-libs/mesa[gles2] )
1001 - !gles2-only? ( virtual/opengl )
1002 - wayland? (
1003 - dev-libs/wayland
1004 - >=dev-libs/wayland-protocols-1.12
1005 - >=gui-libs/libwpe-1.5.0:1.0
1006 - >=gui-libs/wpebackend-fdo-1.7.0:1.0
1007 - )
1008 -
1009 - seccomp? (
1010 - >=sys-apps/bubblewrap-0.3.1
1011 - sys-libs/libseccomp
1012 - sys-apps/xdg-dbus-proxy
1013 - )
1014 -
1015 - systemd? ( sys-apps/systemd:= )
1016 - gamepad? ( >=dev-libs/libmanette-0.2.4 )
1017 -"
1018 -DEPEND="${RDEPEND}"
1019 -# Need real bison, not yacc
1020 -BDEPEND="
1021 - ${PYTHON_DEPS}
1022 - ${RUBY_DEPS}
1023 - >=app-accessibility/at-spi2-core-2.5.3
1024 - dev-util/gdbus-codegen
1025 - dev-util/glib-utils
1026 - >=dev-util/gperf-3.0.1
1027 - >=sys-devel/bison-2.4.3
1028 - || ( >=sys-devel/gcc-7.3 >=sys-devel/clang-5 )
1029 - sys-devel/gettext
1030 - virtual/pkgconfig
1031 -
1032 - >=dev-lang/perl-5.10
1033 - virtual/perl-Data-Dumper
1034 - virtual/perl-Carp
1035 - virtual/perl-JSON-PP
1036 -
1037 - gtk-doc? ( >=dev-util/gtk-doc-1.32 )
1038 -"
1039 -# test? (
1040 -# dev-python/pygobject:3[python_targets_python2_7]
1041 -# x11-themes/hicolor-icon-theme
1042 -# )
1043 -
1044 -S="${WORKDIR}/${MY_P}"
1045 -
1046 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
1047 -
1048 -pkg_pretend() {
1049 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
1050 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
1051 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
1052 - check-reqs_pkg_pretend
1053 - fi
1054 -
1055 - if ! test-flag-CXX -std=c++17 ; then
1056 - die "You need at least GCC 7.3.x or Clang >= 5 for C++17-specific compiler flags"
1057 - fi
1058 - fi
1059 -}
1060 -
1061 -pkg_setup() {
1062 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
1063 - check-reqs_pkg_setup
1064 - fi
1065 -
1066 - python-any-r1_pkg_setup
1067 -}
1068 -
1069 -src_prepare() {
1070 - cmake_src_prepare
1071 - gnome2_src_prepare
1072 -}
1073 -
1074 -src_configure() {
1075 - # Respect CC, otherwise fails on prefix #395875
1076 - tc-export CC
1077 -
1078 - # It does not compile on alpha without this in LDFLAGS
1079 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
1080 - use alpha && append-ldflags "-Wl,--no-relax"
1081 -
1082 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
1083 - use ia64 && append-ldflags "-Wl,--no-as-needed"
1084 -
1085 - # Sigbuses on SPARC with mcpu and co., bug #???
1086 - use sparc && filter-flags "-mvis"
1087 -
1088 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
1089 - use ppc64 && append-flags "-mminimal-toc"
1090 -
1091 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
1092 - # --no-keep-memory doesn't work on ia64, bug #502492
1093 - if ! use ia64; then
1094 - append-ldflags $(test-flags-CCLD "-Wl,--no-keep-memory")
1095 - fi
1096 -
1097 - # Ruby situation is a bit complicated. See bug 513888
1098 - local rubyimpl
1099 - local ruby_interpreter=""
1100 - for rubyimpl in ${USE_RUBY}; do
1101 - if has_version -b "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
1102 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
1103 - fi
1104 - done
1105 - # This will rarely occur. Only a couple of corner cases could lead us to
1106 - # that failure. See bug 513888
1107 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
1108 -
1109 - # TODO: Check Web Audio support
1110 - # should somehow let user select between them?
1111 -
1112 - local mycmakeargs=(
1113 - ${ruby_interpreter}
1114 - $(cmake_use_find_package gles2-only OpenGLES2)
1115 - $(cmake_use_find_package egl EGL)
1116 - $(cmake_use_find_package !gles2-only OpenGL)
1117 - -DBWRAP_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/bwrap # If bubblewrap[suid] then portage makes it go-r and cmake find_program fails with that
1118 - -DDBUS_PROXY_EXECUTABLE:FILEPATH="${EPREFIX}"/usr/bin/xdg-dbus-proxy
1119 - -DPORT=GTK
1120 - # Source/cmake/WebKitFeatures.cmake
1121 - -DENABLE_API_TESTS=$(usex test)
1122 - -DENABLE_BUBBLEWRAP_SANDBOX=$(usex seccomp)
1123 - -DENABLE_GAMEPAD=$(usex gamepad)
1124 - -DENABLE_GEOLOCATION=ON # Runtime optional (talks over dbus service)
1125 - -DENABLE_MINIBROWSER=$(usex examples)
1126 - -DENABLE_SPELLCHECK=$(usex spell)
1127 - -DENABLE_UNIFIED_BUILDS=$(usex jumbo-build)
1128 - -DENABLE_VIDEO=$(usex gstreamer)
1129 - -DENABLE_WEBGL=ON
1130 - # Supported only under ANGLE
1131 - -DENABLE_WEBGL2=OFF
1132 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
1133 - # Source/cmake/OptionsGTK.cmake
1134 - -DENABLE_GLES2=$(usex gles2-only)
1135 - -DENABLE_GTKDOC=$(usex gtk-doc)
1136 - -DENABLE_INTROSPECTION=$(usex introspection)
1137 - -DENABLE_JOURNALD_LOG=$(usex systemd)
1138 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
1139 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
1140 - -DENABLE_X11_TARGET=$(usex X)
1141 - -DUSE_ANGLE_WEBGL=OFF
1142 - -DUSE_AVIF=$(usex avif)
1143 - -DUSE_GTK4=OFF
1144 - -DUSE_JPEGXL=OFF
1145 - -DUSE_LCMS=$(usex lcms)
1146 - -DUSE_LIBHYPHEN=ON
1147 - -DUSE_LIBNOTIFY=$(usex libnotify)
1148 - -DUSE_LIBSECRET=$(usex gnome-keyring)
1149 - -DUSE_OPENGL_OR_ES=ON
1150 - -DUSE_OPENJPEG=$(usex jpeg2k)
1151 - -DUSE_SOUP2=ON
1152 - -DUSE_WOFF2=ON
1153 - -DUSE_WPE_RENDERER=$(usex wayland) # WPE renderer is used to implement accelerated compositing under wayland
1154 - )
1155 -
1156 - # https://bugs.gentoo.org/761238
1157 - append-cppflags -DNDEBUG
1158 -
1159 - WK_USE_CCACHE=NO cmake_src_configure
1160 -}
1161 -
1162 -pkg_postinst() {
1163 - optfeature "geolocation service (used at runtime if available)" "app-misc/geoclue"
1164 -}