Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/webkit-gtk/
Date: Mon, 14 Jan 2019 19:52:33
Message-Id: 1547495459.24932e909957a76f1df73e97b157ab61a79cf274.leio@gentoo
1 commit: 24932e909957a76f1df73e97b157ab61a79cf274
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 14 19:41:56 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 14 19:50:59 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24932e90
7
8 net-libs/webkit-gtk: security cleanup
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
12
13 net-libs/webkit-gtk/Manifest | 2 -
14 net-libs/webkit-gtk/webkit-gtk-2.22.2.ebuild | 274 --------------------------
15 net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild | 279 ---------------------------
16 3 files changed, 555 deletions(-)
17
18 diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest
19 index 682450d5c3d..0d1f8e478e9 100644
20 --- a/net-libs/webkit-gtk/Manifest
21 +++ b/net-libs/webkit-gtk/Manifest
22 @@ -1,3 +1 @@
23 -DIST webkitgtk-2.22.2.tar.xz 16769120 BLAKE2B 19b226e657a324ab0efcfdcda3b22bc21a3b1cae29325f89ebd555dfb45d02d23f495ebf3817cb4c5e662c813b8d75754e0051d84afb84ea1347bf25a321e5d0 SHA512 0bb885726872f128a0e0d71cbc75ba076e5c0c928c40e71e030c87444a7068568c568587514407d6549c27d0bfe121dc33f96f0c516d2ae1c6801e005ad52756
24 -DIST webkitgtk-2.22.4.tar.xz 16752132 BLAKE2B a60f1c6168ba1ef19c931030017a58a640f0ff4a8d5bf97b278fff50f86374d5e10e06d95837e90c5a653a4c226095321ae86fdd64e61d846821979343b7350b SHA512 a46107f7da8513b06bd1e5685c03ca7f1a48af66b817908b8e61f1b343d98e122af73ccdeb47657cf4378fe33107fdc119a9a51d87db07ad5316ab39ed0db55f
25 DIST webkitgtk-2.22.5.tar.xz 16774560 BLAKE2B fb022febf72727d59a1ca9490c8de48ade5a07ff3688b6962481608b9e0d27319282c842eb214783021745c1beb893b8842036c62542874e011f2ab60d275f17 SHA512 fcea9fab3d71869cc10e322b1b63864a9594624f6aa3e29efd8b47e5ca639145f8c2cdb299ecb51eadf3ac1238dac06b4b7ebe94969b2f61a21cea8b609007bc
26
27 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.22.2.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.22.2.ebuild
28 deleted file mode 100644
29 index 4b4d6c0314c..00000000000
30 --- a/net-libs/webkit-gtk/webkit-gtk-2.22.2.ebuild
31 +++ /dev/null
32 @@ -1,274 +0,0 @@
33 -# Copyright 1999-2018 Gentoo Authors
34 -# Distributed under the terms of the GNU General Public License v2
35 -
36 -EAPI=6
37 -CMAKE_MAKEFILE_GENERATOR="ninja"
38 -PYTHON_COMPAT=( python2_7 )
39 -USE_RUBY="ruby23 ruby24 ruby25"
40 -
41 -inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
42 -
43 -MY_P="webkitgtk-${PV}"
44 -DESCRIPTION="Open source web browser engine"
45 -HOMEPAGE="https://www.webkitgtk.org"
46 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
47 -
48 -LICENSE="LGPL-2+ BSD"
49 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
50 -KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
51 -
52 -IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
53 -
54 -# webgl needs gstreamer, bug #560612
55 -REQUIRED_USE="
56 - geolocation? ( introspection )
57 - gles2? ( egl !opengl )
58 - introspection? ( gstreamer )
59 - nsplugin? ( X )
60 - webgl? ( gstreamer
61 - || ( gles2 opengl ) )
62 - wayland? ( egl )
63 - || ( aqua wayland X )
64 -"
65 -
66 -# Tests fail to link for inexplicable reasons
67 -# https://bugs.webkit.org/show_bug.cgi?id=148210
68 -RESTRICT="test"
69 -
70 -# Aqua support in gtk3 is untested
71 -# Dependencies found at Source/cmake/OptionsGTK.cmake
72 -# Various compile-time optionals for gtk+-3.22.0 - ensure it
73 -# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
74 -# TODO: Raise gst-plugins-opus dep to 1.14.4-r1 once we can, and eventually drop the blocker from epiphany; or remove the dep when older than -opus-1.14.4-r1 is not available anymore
75 -RDEPEND="
76 - >=x11-libs/cairo-1.10.2:=[X?]
77 - >=media-libs/fontconfig-2.8.0:1.0
78 - >=media-libs/freetype-2.4.2:2
79 - >=dev-libs/libgcrypt-1.6.0:0=
80 - >=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
81 - >=media-libs/harfbuzz-1.3.3:=[icu(+)]
82 - >=dev-libs/icu-3.8.1-r1:=
83 - virtual/jpeg:0=
84 - >=net-libs/libsoup-2.48:2.4[introspection?]
85 - >=dev-libs/libxml2-2.8.0:2
86 - >=media-libs/libpng-1.4:0=
87 - dev-db/sqlite:3=
88 - sys-libs/zlib:0
89 - >=dev-libs/atk-2.8.0
90 - media-libs/libwebp:=
91 -
92 - >=dev-libs/glib-2.40:2
93 - >=dev-libs/libxslt-1.1.7
94 - media-libs/woff2
95 - gnome-keyring? ( app-crypt/libsecret )
96 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
97 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
98 - dev-libs/libtasn1:=
99 - >=dev-libs/libgcrypt-1.7.0:0=
100 - nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
101 - spell? ( >=app-text/enchant-0.22:= )
102 - gstreamer? (
103 - >=media-libs/gstreamer-1.8.3:1.0
104 - >=media-libs/gst-plugins-base-1.8.3:1.0
105 - >=media-plugins/gst-plugins-opus-1.8.3:1.0
106 - >=media-libs/gst-plugins-bad-1.10:1.0[egl?,gles2?,opengl?] )
107 -
108 - X? (
109 - x11-libs/libX11
110 - x11-libs/libXcomposite
111 - x11-libs/libXdamage
112 - x11-libs/libXrender
113 - x11-libs/libXt )
114 -
115 - libnotify? ( x11-libs/libnotify )
116 - dev-libs/hyphen
117 -
118 - egl? ( media-libs/mesa[egl] )
119 - gles2? ( media-libs/mesa[gles2] )
120 - opengl? ( virtual/opengl )
121 - webgl? (
122 - x11-libs/libXcomposite
123 - x11-libs/libXdamage )
124 -"
125 -
126 -# paxctl needed for bug #407085
127 -# Need real bison, not yacc
128 -DEPEND="${RDEPEND}
129 - ${PYTHON_DEPS}
130 - ${RUBY_DEPS}
131 - >=app-accessibility/at-spi2-core-2.5.3
132 - >=dev-lang/perl-5.10
133 - dev-util/glib-utils
134 - >=dev-util/gtk-doc-am-1.10
135 - >=dev-util/gperf-3.0.1
136 - >=sys-devel/bison-2.4.3
137 - || ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
138 - sys-devel/gettext
139 - virtual/pkgconfig
140 -
141 - dev-lang/perl
142 - virtual/perl-Data-Dumper
143 - virtual/perl-Carp
144 - virtual/perl-JSON-PP
145 -
146 - doc? ( >=dev-util/gtk-doc-1.10 )
147 - geolocation? ( dev-util/gdbus-codegen )
148 - introspection? ( jit? ( sys-apps/paxctl ) )
149 -"
150 -# test? (
151 -# dev-python/pygobject:3[python_targets_python2_7]
152 -# x11-themes/hicolor-icon-theme
153 -# jit? ( sys-apps/paxctl ) )
154 -
155 -S="${WORKDIR}/${MY_P}"
156 -
157 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
158 -
159 -pkg_pretend() {
160 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
161 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
162 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
163 - check-reqs_pkg_pretend
164 - fi
165 -
166 - if ! test-flag-CXX -std=c++11 ; then
167 - die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
168 - fi
169 -
170 - if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
171 - die 'The active compiler needs to be gcc 4.9 (or newer)'
172 - fi
173 - fi
174 -}
175 -
176 -pkg_setup() {
177 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
178 - check-reqs_pkg_setup
179 - fi
180 -
181 - python-any-r1_pkg_setup
182 -}
183 -
184 -src_prepare() {
185 - cmake-utils_src_prepare
186 - gnome2_src_prepare
187 -}
188 -
189 -src_configure() {
190 - # Respect CC, otherwise fails on prefix #395875
191 - tc-export CC
192 -
193 - # Arches without JIT support also need this to really disable it in all places
194 - use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
195 -
196 - # It does not compile on alpha without this in LDFLAGS
197 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
198 - use alpha && append-ldflags "-Wl,--no-relax"
199 -
200 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
201 - use ia64 && append-ldflags "-Wl,--no-as-needed"
202 -
203 - # Sigbuses on SPARC with mcpu and co., bug #???
204 - use sparc && filter-flags "-mvis"
205 -
206 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
207 - use ppc64 && append-flags "-mminimal-toc"
208 -
209 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
210 - # --no-keep-memory doesn't work on ia64, bug #502492
211 - if ! use ia64; then
212 - append-ldflags "-Wl,--no-keep-memory"
213 - fi
214 -
215 - # We try to use gold when possible for this package
216 -# if ! tc-ld-is-gold ; then
217 -# append-ldflags "-Wl,--reduce-memory-overheads"
218 -# fi
219 -
220 - # Multiple rendering bugs on youtube, github, etc without this, bug #547224
221 - append-flags $(test-flags -fno-strict-aliasing)
222 -
223 - # Ruby situation is a bit complicated. See bug 513888
224 - local rubyimpl
225 - local ruby_interpreter=""
226 - for rubyimpl in ${USE_RUBY}; do
227 - if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
228 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
229 - fi
230 - done
231 - # This will rarely occur. Only a couple of corner cases could lead us to
232 - # that failure. See bug 513888
233 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
234 -
235 - # TODO: Check Web Audio support
236 - # should somehow let user select between them?
237 - #
238 - # FTL_JIT requires llvm
239 - #
240 - # opengl needs to be explicetly handled, bug #576634
241 -
242 - local opengl_enabled
243 - if use opengl || use gles2; then
244 - opengl_enabled=ON
245 - else
246 - opengl_enabled=OFF
247 - fi
248 -
249 - local mycmakeargs=(
250 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
251 - -DENABLE_API_TESTS=$(usex test)
252 - -DENABLE_GTKDOC=$(usex doc)
253 - -DENABLE_GEOLOCATION=$(usex geolocation)
254 - $(cmake-utils_use_find_package gles2 OpenGLES2)
255 - -DENABLE_GLES2=$(usex gles2)
256 - -DENABLE_VIDEO=$(usex gstreamer)
257 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
258 - -DENABLE_INTROSPECTION=$(usex introspection)
259 - -DENABLE_JIT=$(usex jit)
260 - -DUSE_LIBNOTIFY=$(usex libnotify)
261 - -DUSE_LIBSECRET=$(usex gnome-keyring)
262 - -DUSE_WOFF2=ON
263 - -DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
264 - -DENABLE_SPELLCHECK=$(usex spell)
265 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
266 - -DENABLE_WEBGL=$(usex webgl)
267 - $(cmake-utils_use_find_package egl EGL)
268 - $(cmake-utils_use_find_package opengl OpenGL)
269 - -DENABLE_X11_TARGET=$(usex X)
270 - -DENABLE_OPENGL=${opengl_enabled}
271 - -DCMAKE_BUILD_TYPE=Release
272 - -DPORT=GTK
273 - ${ruby_interpreter}
274 - )
275 -
276 - # Allow it to use GOLD when possible as it has all the magic to
277 - # detect when to use it and using gold for this concrete package has
278 - # multiple advantages and is also the upstream default, bug #585788
279 -# if tc-ld-is-gold ; then
280 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
281 -# else
282 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
283 -# fi
284 -
285 - cmake-utils_src_configure
286 -}
287 -
288 -src_compile() {
289 - cmake-utils_src_compile
290 -}
291 -
292 -src_test() {
293 - # Prevents test failures on PaX systems
294 - use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
295 -
296 - cmake-utils_src_test
297 -}
298 -
299 -src_install() {
300 - cmake-utils_src_install
301 -
302 - # Prevents crashes on PaX systems, bug #522808
303 - use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
304 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
305 - use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
306 -}
307
308 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild
309 deleted file mode 100644
310 index 3b79a260396..00000000000
311 --- a/net-libs/webkit-gtk/webkit-gtk-2.22.4.ebuild
312 +++ /dev/null
313 @@ -1,279 +0,0 @@
314 -# Copyright 1999-2018 Gentoo Authors
315 -# Distributed under the terms of the GNU General Public License v2
316 -
317 -EAPI=6
318 -CMAKE_MAKEFILE_GENERATOR="ninja"
319 -PYTHON_COMPAT=( python2_7 )
320 -USE_RUBY="ruby23 ruby24 ruby25"
321 -
322 -inherit check-reqs cmake-utils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs virtualx
323 -
324 -MY_P="webkitgtk-${PV}"
325 -DESCRIPTION="Open source web browser engine"
326 -HOMEPAGE="https://www.webkitgtk.org"
327 -SRC_URI="https://www.webkitgtk.org/releases/${MY_P}.tar.xz"
328 -
329 -LICENSE="LGPL-2+ BSD"
330 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
331 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~x86-macos"
332 -
333 -IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl +X"
334 -
335 -# webgl needs gstreamer, bug #560612
336 -# gstreamer with opengl/gles2 needs egl
337 -# Review on bumps if fixed upstream and adjust accordingly:
338 -# non-GL builds are broken - https://bugs.webkit.org/show_bug.cgi?id=191997
339 -# GstreamerGL gets built even with GL disabled (thus requiring opengl or gles2 with gstreamer) - https://bugs.webkit.org/show_bug.cgi?id=191998
340 -REQUIRED_USE="
341 - ^^ ( opengl gles2 )
342 - geolocation? ( introspection )
343 - gles2? ( egl !opengl )
344 - gstreamer? ( opengl? ( egl ) )
345 - nsplugin? ( X )
346 - webgl? ( gstreamer
347 - || ( gles2 opengl ) )
348 - wayland? ( egl )
349 - || ( aqua wayland X )
350 -"
351 -
352 -# Tests fail to link for inexplicable reasons
353 -# https://bugs.webkit.org/show_bug.cgi?id=148210
354 -RESTRICT="test"
355 -
356 -# Aqua support in gtk3 is untested
357 -# Dependencies found at Source/cmake/OptionsGTK.cmake
358 -# Various compile-time optionals for gtk+-3.22.0 - ensure it
359 -# Missing OpenWebRTC checks and conditionals, but ENABLE_MEDIA_STREAM/ENABLE_WEB_RTC is experimental upstream (PRIVATE OFF)
360 -# >=gst-plugins-opus-1.14.4-r1 for opusparse (required by MSE)
361 -RDEPEND="
362 - >=x11-libs/cairo-1.10.2:=[X?]
363 - >=media-libs/fontconfig-2.8.0:1.0
364 - >=media-libs/freetype-2.4.2:2
365 - >=dev-libs/libgcrypt-1.6.0:0=
366 - >=x11-libs/gtk+-3.22:3[aqua?,introspection?,wayland?,X?]
367 - >=media-libs/harfbuzz-1.3.3:=[icu(+)]
368 - >=dev-libs/icu-3.8.1-r1:=
369 - virtual/jpeg:0=
370 - >=net-libs/libsoup-2.48:2.4[introspection?]
371 - >=dev-libs/libxml2-2.8.0:2
372 - >=media-libs/libpng-1.4:0=
373 - dev-db/sqlite:3=
374 - sys-libs/zlib:0
375 - >=dev-libs/atk-2.8.0
376 - media-libs/libwebp:=
377 -
378 - >=dev-libs/glib-2.40:2
379 - >=dev-libs/libxslt-1.1.7
380 - media-libs/woff2
381 - gnome-keyring? ( app-crypt/libsecret )
382 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
383 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
384 - dev-libs/libtasn1:=
385 - >=dev-libs/libgcrypt-1.7.0:0=
386 - nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
387 - spell? ( >=app-text/enchant-0.22:= )
388 - gstreamer? (
389 - >=media-libs/gstreamer-1.14:1.0
390 - >=media-libs/gst-plugins-base-1.14:1.0[egl?,gles2?,opengl?]
391 - >=media-plugins/gst-plugins-opus-1.14.4-r1:1.0
392 - >=media-libs/gst-plugins-bad-1.14:1.0 )
393 -
394 - X? (
395 - x11-libs/libX11
396 - x11-libs/libXcomposite
397 - x11-libs/libXdamage
398 - x11-libs/libXrender
399 - x11-libs/libXt )
400 -
401 - libnotify? ( x11-libs/libnotify )
402 - dev-libs/hyphen
403 -
404 - egl? ( media-libs/mesa[egl] )
405 - gles2? ( media-libs/mesa[gles2] )
406 - opengl? ( virtual/opengl )
407 - webgl? (
408 - x11-libs/libXcomposite
409 - x11-libs/libXdamage )
410 -"
411 -
412 -# paxctl needed for bug #407085
413 -# Need real bison, not yacc
414 -DEPEND="${RDEPEND}
415 - ${PYTHON_DEPS}
416 - ${RUBY_DEPS}
417 - >=app-accessibility/at-spi2-core-2.5.3
418 - >=dev-lang/perl-5.10
419 - dev-util/glib-utils
420 - >=dev-util/gtk-doc-am-1.10
421 - >=dev-util/gperf-3.0.1
422 - >=sys-devel/bison-2.4.3
423 - || ( >=sys-devel/gcc-6.0 >=sys-devel/clang-3.3 )
424 - sys-devel/gettext
425 - virtual/pkgconfig
426 -
427 - dev-lang/perl
428 - virtual/perl-Data-Dumper
429 - virtual/perl-Carp
430 - virtual/perl-JSON-PP
431 -
432 - doc? ( >=dev-util/gtk-doc-1.10 )
433 - geolocation? ( dev-util/gdbus-codegen )
434 - introspection? ( jit? ( sys-apps/paxctl ) )
435 -"
436 -# test? (
437 -# dev-python/pygobject:3[python_targets_python2_7]
438 -# x11-themes/hicolor-icon-theme
439 -# jit? ( sys-apps/paxctl ) )
440 -
441 -S="${WORKDIR}/${MY_P}"
442 -
443 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
444 -
445 -pkg_pretend() {
446 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
447 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
448 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
449 - check-reqs_pkg_pretend
450 - fi
451 -
452 - if ! test-flag-CXX -std=c++11 ; then
453 - die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
454 - fi
455 -
456 - if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
457 - die 'The active compiler needs to be gcc 4.9 (or newer)'
458 - fi
459 - fi
460 -}
461 -
462 -pkg_setup() {
463 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
464 - check-reqs_pkg_setup
465 - fi
466 -
467 - python-any-r1_pkg_setup
468 -}
469 -
470 -src_prepare() {
471 - cmake-utils_src_prepare
472 - gnome2_src_prepare
473 -}
474 -
475 -src_configure() {
476 - # Respect CC, otherwise fails on prefix #395875
477 - tc-export CC
478 -
479 - # Arches without JIT support also need this to really disable it in all places
480 - use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
481 -
482 - # It does not compile on alpha without this in LDFLAGS
483 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
484 - use alpha && append-ldflags "-Wl,--no-relax"
485 -
486 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
487 - use ia64 && append-ldflags "-Wl,--no-as-needed"
488 -
489 - # Sigbuses on SPARC with mcpu and co., bug #???
490 - use sparc && filter-flags "-mvis"
491 -
492 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
493 - use ppc64 && append-flags "-mminimal-toc"
494 -
495 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
496 - # --no-keep-memory doesn't work on ia64, bug #502492
497 - if ! use ia64; then
498 - append-ldflags "-Wl,--no-keep-memory"
499 - fi
500 -
501 - # We try to use gold when possible for this package
502 -# if ! tc-ld-is-gold ; then
503 -# append-ldflags "-Wl,--reduce-memory-overheads"
504 -# fi
505 -
506 - # Multiple rendering bugs on youtube, github, etc without this, bug #547224
507 - append-flags $(test-flags -fno-strict-aliasing)
508 -
509 - # Ruby situation is a bit complicated. See bug 513888
510 - local rubyimpl
511 - local ruby_interpreter=""
512 - for rubyimpl in ${USE_RUBY}; do
513 - if has_version "virtual/rubygems[ruby_targets_${rubyimpl}]"; then
514 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ${rubyimpl})"
515 - fi
516 - done
517 - # This will rarely occur. Only a couple of corner cases could lead us to
518 - # that failure. See bug 513888
519 - [[ -z $ruby_interpreter ]] && die "No suitable ruby interpreter found"
520 -
521 - # TODO: Check Web Audio support
522 - # should somehow let user select between them?
523 - #
524 - # FTL_JIT requires llvm
525 - #
526 - # opengl needs to be explicetly handled, bug #576634
527 -
528 - local opengl_enabled
529 - if use opengl || use gles2; then
530 - opengl_enabled=ON
531 - else
532 - opengl_enabled=OFF
533 - fi
534 -
535 - local mycmakeargs=(
536 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
537 - -DENABLE_API_TESTS=$(usex test)
538 - -DENABLE_GTKDOC=$(usex doc)
539 - -DENABLE_GEOLOCATION=$(usex geolocation)
540 - $(cmake-utils_use_find_package gles2 OpenGLES2)
541 - -DENABLE_GLES2=$(usex gles2)
542 - -DENABLE_VIDEO=$(usex gstreamer)
543 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
544 - -DENABLE_INTROSPECTION=$(usex introspection)
545 - -DENABLE_JIT=$(usex jit)
546 - -DUSE_LIBNOTIFY=$(usex libnotify)
547 - -DUSE_LIBSECRET=$(usex gnome-keyring)
548 - -DUSE_WOFF2=ON
549 - -DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
550 - -DENABLE_SPELLCHECK=$(usex spell)
551 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
552 - -DENABLE_WEBGL=$(usex webgl)
553 - $(cmake-utils_use_find_package egl EGL)
554 - $(cmake-utils_use_find_package opengl OpenGL)
555 - -DENABLE_X11_TARGET=$(usex X)
556 - -DENABLE_OPENGL=${opengl_enabled}
557 - -DCMAKE_BUILD_TYPE=Release
558 - -DPORT=GTK
559 - ${ruby_interpreter}
560 - )
561 -
562 - # Allow it to use GOLD when possible as it has all the magic to
563 - # detect when to use it and using gold for this concrete package has
564 - # multiple advantages and is also the upstream default, bug #585788
565 -# if tc-ld-is-gold ; then
566 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
567 -# else
568 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
569 -# fi
570 -
571 - cmake-utils_src_configure
572 -}
573 -
574 -src_compile() {
575 - cmake-utils_src_compile
576 -}
577 -
578 -src_test() {
579 - # Prevents test failures on PaX systems
580 - use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
581 -
582 - cmake-utils_src_test
583 -}
584 -
585 -src_install() {
586 - cmake-utils_src_install
587 -
588 - # Prevents crashes on PaX systems, bug #522808
589 - use jit && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
590 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
591 - use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
592 -}