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: Fri, 07 Jul 2017 19:47:55
Message-Id: 1499456829.56a91dcd1de6f087a54242db6cd2e6eb171586bb.leio@gentoo
1 commit: 56a91dcd1de6f087a54242db6cd2e6eb171586bb
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jul 7 19:47:09 2017 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Fri Jul 7 19:47:09 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=56a91dcd
7
8 net-libs/webkit-gtk: security cleanup
9
10 Package-Manager: Portage-2.3.5, Repoman-2.3.2
11
12 net-libs/webkit-gtk/Manifest | 2 -
13 net-libs/webkit-gtk/webkit-gtk-2.16.3.ebuild | 287 --------------------------
14 net-libs/webkit-gtk/webkit-gtk-2.16.4.ebuild | 288 ---------------------------
15 3 files changed, 577 deletions(-)
16
17 diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest
18 index d27d03ac0c6..4abc7af28cc 100644
19 --- a/net-libs/webkit-gtk/Manifest
20 +++ b/net-libs/webkit-gtk/Manifest
21 @@ -1,4 +1,2 @@
22 -DIST webkitgtk-2.16.3.tar.xz 14652068 SHA256 204e9131da0101b9bc8765716e70a897121af04b964d9827cd9f20816a77b512 SHA512 551367551ed1bceaf9c70269f229e97972706820c6ae2d4444bc6d8b0992d6de34a156f9c245813c1f1701ce54f5476a44512590acfa6cfd6e67663d94caa91e WHIRLPOOL bac846be9d5f7b0a4c08b201d338bed6b84e65bdb105f2689350e02e0f0011944f5e23961e9411f712040c26a5313ef9bb4e30dda2cb19216c8e8d665ab0550f
23 -DIST webkitgtk-2.16.4.tar.xz 14655288 SHA256 f9aba4338319bd539785345144e28c8027dc8cb526b2e443e0c8f2c0239f5128 SHA512 9643b40f5425cb6c13daf39cbe66db7103e588c8a6a1822709d1b2d24ddf73662c139337327a403c25678cec96df7e5ccf186c14aca162b6f32b5bc31310709c WHIRLPOOL ac6300646017eaa8d68b4628b3df6cb4b82c6fdf7472c07e6cdba0e0bd55cc1ad8d15e779d528c89477363292586be0e48d01c977dad9dd05269f37c415a4fa5
24 DIST webkitgtk-2.16.5.tar.xz 14655656 SHA256 8e0396f3428e757898c5856e642eed4fcd5a20ae03d96d3eaa03b76634be7dd4 SHA512 9d7573da44267edcd83b4918e5f1e0516eb8d84c58ac6b239a2328448f96b39067b62bcd18e7d730ec0ef44b9f4b0a03712d17f9f465f00346a1f45a0a4ebb10 WHIRLPOOL 76fc7cc7dfb326d3600396bc1e486acd26cca1eda779d9a06ad123c60f8cba9eee162b626abe95a09c9e8ed0b308f341a818ebf833f6b902812c644e5925aacd
25 DIST webkitgtk-2.4.11.tar.xz 9869100 SHA256 588aea051bfbacced27fdfe0335a957dca839ebe36aa548df39c7bbafdb65bf7 SHA512 2e2cf01a52b8593765a0a3c2d7f0ad306121660019eb402226bd2826c7d4666dab4e91ca6ccbd29abe0ad3993549f256ed1ab88de22e9c8516d5f40a4edd6bfb WHIRLPOOL de86c4abfb22aacbf62163d0398158931c9cf6ab628547d3b30e613f0505d67c85c3200f7db96500e7c2b35f640cdaa7f501346fc13f492c9439dff4056849a3
26
27 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.16.3.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.16.3.ebuild
28 deleted file mode 100644
29 index 821d3c00883..00000000000
30 --- a/net-libs/webkit-gtk/webkit-gtk-2.16.3.ebuild
31 +++ /dev/null
32 @@ -1,287 +0,0 @@
33 -# Copyright 1999-2017 Gentoo Foundation
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="ruby21 ruby22 ruby23 ruby24"
40 -
41 -inherit check-reqs cmake-utils eutils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs versionator virtualx
42 -
43 -MY_P="webkitgtk-${PV}"
44 -DESCRIPTION="Open source web browser engine"
45 -HOMEPAGE="http://www.webkitgtk.org/"
46 -SRC_URI="http://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 ~ia64 ~ppc ~ppc64 ~sparc x86 ~amd64-fbsd ~x86-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 )
58 - introspection? ( gstreamer )
59 - nsplugin? ( X )
60 - webgl? ( ^^ ( gles2 opengl ) )
61 - !webgl? ( ?? ( gles2 opengl ) )
62 - webgl? ( gstreamer )
63 - wayland? ( egl )
64 - || ( aqua wayland X )
65 -"
66 -
67 -# Tests fail to link for inexplicable reasons
68 -# https://bugs.webkit.org/show_bug.cgi?id=148210
69 -RESTRICT="test"
70 -
71 -# use sqlite, svg by default
72 -# Aqua support in gtk3 is untested
73 -# Dependencies found at Source/cmake/OptionsGTK.cmake
74 -RDEPEND="
75 - dev-db/sqlite:3=
76 - >=dev-libs/glib-2.36:2
77 - dev-libs/hyphen
78 - >=dev-libs/icu-3.8.1-r1:=
79 - >=dev-libs/libxml2-2.8:2
80 - >=dev-libs/libxslt-1.1.7
81 - >=media-libs/fontconfig-2.8:1.0
82 - >=media-libs/freetype-2.4.2:2
83 - >=media-libs/harfbuzz-1.3.3:=[icu(+)]
84 - >=media-libs/libpng-1.4:0=
85 - media-libs/libwebp:=
86 - dev-libs/libgcrypt:0=
87 - >=net-libs/libsoup-2.42:2.4[introspection?]
88 - >=x11-libs/cairo-1.10.2:=
89 - >=x11-libs/gtk+-3.14:3[introspection?]
90 - >=x11-libs/pango-1.30.0
91 - virtual/jpeg:0=
92 -
93 - aqua? ( >=x11-libs/gtk+-3.14:3[aqua] )
94 - egl? ( media-libs/mesa[egl] )
95 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
96 - gles2? ( media-libs/mesa[gles2] )
97 - gnome-keyring? ( app-crypt/libsecret )
98 - gstreamer? (
99 - >=media-libs/gstreamer-1.2.3:1.0
100 - >=media-libs/gst-plugins-base-1.2.3:1.0
101 - >=media-libs/gst-plugins-bad-1.8:1.0[opengl?] )
102 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
103 - libnotify? ( x11-libs/libnotify )
104 - nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
105 - opengl? ( virtual/opengl
106 - x11-libs/cairo[opengl] )
107 - spell? ( >=app-text/enchant-0.22:= )
108 - wayland? ( >=x11-libs/gtk+-3.14:3[wayland] )
109 - webgl? (
110 - x11-libs/cairo[opengl]
111 - x11-libs/libXcomposite
112 - x11-libs/libXdamage )
113 - X? (
114 - x11-libs/cairo[X]
115 - >=x11-libs/gtk+-3.14:3[X]
116 - x11-libs/libX11
117 - x11-libs/libXcomposite
118 - x11-libs/libXrender
119 - x11-libs/libXt )
120 -"
121 -
122 -# paxctl needed for bug #407085
123 -# Need real bison, not yacc
124 -DEPEND="${RDEPEND}
125 - ${PYTHON_DEPS}
126 - ${RUBY_DEPS}
127 - >=dev-lang/perl-5.10
128 - >=app-accessibility/at-spi2-core-2.5.3
129 - >=dev-libs/atk-2.8.0
130 - >=dev-util/gtk-doc-am-1.10
131 - >=dev-util/gperf-3.0.1
132 - >=sys-devel/bison-2.4.3
133 - || ( >=sys-devel/gcc-4.9 >=sys-devel/clang-3.3 )
134 - sys-devel/gettext
135 - virtual/pkgconfig
136 -
137 - dev-lang/perl
138 - virtual/perl-Data-Dumper
139 - virtual/perl-Carp
140 -
141 - doc? ( >=dev-util/gtk-doc-1.10 )
142 - geolocation? ( dev-util/gdbus-codegen )
143 - introspection? ( jit? ( sys-apps/paxctl ) )
144 - test? (
145 - dev-lang/python:2.7
146 - dev-python/pygobject:3[python_targets_python2_7]
147 - x11-themes/hicolor-icon-theme
148 - jit? ( sys-apps/paxctl ) )
149 -"
150 -
151 -S="${WORKDIR}/${MY_P}"
152 -
153 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
154 -
155 -PATCHES=(
156 - # https://bugs.gentoo.org/show_bug.cgi?id=555504
157 - "${FILESDIR}"/${PN}-2.8.5-fix-ia64-build.patch
158 -
159 - # https://bugs.gentoo.org/show_bug.cgi?id=564352
160 - # https://bugs.webkit.org/show_bug.cgi?id=167283
161 - "${FILESDIR}"/${PN}-2.8.5-fix-alpha-build.patch
162 -)
163 -
164 -pkg_pretend() {
165 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
166 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
167 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
168 - check-reqs_pkg_pretend
169 - fi
170 -
171 - if ! test-flag-CXX -std=c++11 ; then
172 - die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
173 - fi
174 -
175 - if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
176 - die 'The active compiler needs to be gcc 4.9 (or newer)'
177 - fi
178 - fi
179 -}
180 -
181 -pkg_setup() {
182 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
183 - check-reqs_pkg_setup
184 - fi
185 -
186 - python-any-r1_pkg_setup
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 - # older glibc needs this for INTPTR_MAX, bug #533976
221 - if has_version "<sys-libs/glibc-2.18" ; then
222 - append-cppflags "-D__STDC_LIMIT_MACROS"
223 - fi
224 -
225 - # Multiple rendering bugs on youtube, github, etc without this, bug #547224
226 - append-flags $(test-flags -fno-strict-aliasing)
227 -
228 - local ruby_interpreter=""
229 -
230 - if has_version "virtual/rubygems[ruby_targets_ruby24]"; then
231 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby24)"
232 - elif has_version "virtual/rubygems[ruby_targets_ruby23]"; then
233 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby23)"
234 - elif has_version "virtual/rubygems[ruby_targets_ruby22]"; then
235 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby22)"
236 - else
237 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby21)"
238 - fi
239 -
240 - # TODO: Check Web Audio support
241 - # should somehow let user select between them?
242 - #
243 - # FTL_JIT requires llvm
244 - #
245 - # opengl needs to be explicetly handled, bug #576634
246 -
247 - local opengl_enabled
248 - if use opengl || use gles2; then
249 - opengl_enabled=ON
250 - else
251 - opengl_enabled=OFF
252 - fi
253 -
254 - # support for webgl (aka 2d-canvas accelerating)
255 - local canvas_enabled
256 - if use webgl && ! use gles2 ; then
257 - canvas_enabled=ON
258 - else
259 - canvas_enabled=OFF
260 - fi
261 -
262 - local mycmakeargs=(
263 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
264 - -DENABLE_API_TESTS=$(usex test)
265 - -DENABLE_GTKDOC=$(usex doc)
266 - -DENABLE_GEOLOCATION=$(usex geolocation)
267 - $(cmake-utils_use_find_package gles2 OpenGLES2)
268 - -DENABLE_GLES2=$(usex gles2)
269 - -DENABLE_VIDEO=$(usex gstreamer)
270 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
271 - -DENABLE_INTROSPECTION=$(usex introspection)
272 - -DENABLE_JIT=$(usex jit)
273 - -DUSE_LIBNOTIFY=$(usex libnotify)
274 - -DUSE_LIBSECRET=$(usex gnome-keyring)
275 - -DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
276 - -DENABLE_SPELLCHECK=$(usex spell)
277 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
278 - -DENABLE_WEBGL=$(usex webgl)
279 - $(cmake-utils_use_find_package egl EGL)
280 - $(cmake-utils_use_find_package opengl OpenGL)
281 - -DENABLE_X11_TARGET=$(usex X)
282 - -DENABLE_OPENGL=${opengl_enabled}
283 - -DENABLE_ACCELERATED_2D_CANVAS=${canvas_enabled}
284 - -DCMAKE_BUILD_TYPE=Release
285 - -DPORT=GTK
286 - ${ruby_interpreter}
287 - )
288 -
289 - # Allow it to use GOLD when possible as it has all the magic to
290 - # detect when to use it and using gold for this concrete package has
291 - # multiple advantages and is also the upstream default, bug #585788
292 -# if tc-ld-is-gold ; then
293 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
294 -# else
295 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
296 -# fi
297 -
298 - cmake-utils_src_configure
299 -}
300 -
301 -src_compile() {
302 - cmake-utils_src_compile
303 -}
304 -
305 -src_test() {
306 - # Prevents test failures on PaX systems
307 - use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
308 -
309 - cmake-utils_src_test
310 -}
311 -
312 -src_install() {
313 - cmake-utils_src_install
314 -
315 - # Prevents crashes on PaX systems, bug #522808
316 - use jit && pax-mark m "${ED}usr/bin/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
317 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
318 - use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
319 -}
320
321 diff --git a/net-libs/webkit-gtk/webkit-gtk-2.16.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.16.4.ebuild
322 deleted file mode 100644
323 index 34f2ce9f3ad..00000000000
324 --- a/net-libs/webkit-gtk/webkit-gtk-2.16.4.ebuild
325 +++ /dev/null
326 @@ -1,288 +0,0 @@
327 -# Copyright 1999-2017 Gentoo Foundation
328 -# Distributed under the terms of the GNU General Public License v2
329 -
330 -EAPI=6
331 -CMAKE_MAKEFILE_GENERATOR="ninja"
332 -PYTHON_COMPAT=( python2_7 )
333 -USE_RUBY="ruby21 ruby22 ruby23 ruby24"
334 -
335 -inherit check-reqs cmake-utils eutils flag-o-matic gnome2 pax-utils python-any-r1 ruby-single toolchain-funcs versionator virtualx
336 -
337 -MY_P="webkitgtk-${PV}"
338 -DESCRIPTION="Open source web browser engine"
339 -HOMEPAGE="http://www.webkitgtk.org/"
340 -SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz"
341 -
342 -LICENSE="LGPL-2+ BSD"
343 -SLOT="4/37" # soname version of libwebkit2gtk-4.0
344 -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
345 -
346 -IUSE="aqua coverage doc +egl +geolocation gles2 gnome-keyring +gstreamer +introspection +jit libnotify nsplugin +opengl spell wayland +webgl X"
347 -
348 -# webgl needs gstreamer, bug #560612
349 -REQUIRED_USE="
350 - geolocation? ( introspection )
351 - gles2? ( egl )
352 - introspection? ( gstreamer )
353 - nsplugin? ( X )
354 - webgl? ( ^^ ( gles2 opengl ) )
355 - !webgl? ( ?? ( gles2 opengl ) )
356 - webgl? ( gstreamer )
357 - wayland? ( egl )
358 - || ( aqua wayland X )
359 -"
360 -
361 -# Tests fail to link for inexplicable reasons
362 -# https://bugs.webkit.org/show_bug.cgi?id=148210
363 -RESTRICT="test"
364 -
365 -# use sqlite, svg by default
366 -# Aqua support in gtk3 is untested
367 -# Dependencies found at Source/cmake/OptionsGTK.cmake
368 -# Various compile-time optionals for gtk+-3.22.0 - ensure it
369 -RDEPEND="
370 - dev-db/sqlite:3=
371 - >=dev-libs/glib-2.36:2
372 - dev-libs/hyphen
373 - >=dev-libs/icu-3.8.1-r1:=
374 - >=dev-libs/libxml2-2.8:2
375 - >=dev-libs/libxslt-1.1.7
376 - >=media-libs/fontconfig-2.8:1.0
377 - >=media-libs/freetype-2.4.2:2
378 - >=media-libs/harfbuzz-1.3.3:=[icu(+)]
379 - >=media-libs/libpng-1.4:0=
380 - media-libs/libwebp:=
381 - dev-libs/libgcrypt:0=
382 - >=net-libs/libsoup-2.42:2.4[introspection?]
383 - >=x11-libs/cairo-1.10.2:=
384 - >=x11-libs/gtk+-3.22:3[introspection?]
385 - >=x11-libs/pango-1.30.0
386 - virtual/jpeg:0=
387 -
388 - aqua? ( >=x11-libs/gtk+-3.14:3[aqua] )
389 - egl? ( media-libs/mesa[egl] )
390 - geolocation? ( >=app-misc/geoclue-2.1.5:2.0 )
391 - gles2? ( media-libs/mesa[gles2] )
392 - gnome-keyring? ( app-crypt/libsecret )
393 - gstreamer? (
394 - >=media-libs/gstreamer-1.2.3:1.0
395 - >=media-libs/gst-plugins-base-1.2.3:1.0
396 - >=media-libs/gst-plugins-bad-1.8:1.0[opengl?] )
397 - introspection? ( >=dev-libs/gobject-introspection-1.32.0:= )
398 - libnotify? ( x11-libs/libnotify )
399 - nsplugin? ( >=x11-libs/gtk+-2.24.10:2 )
400 - opengl? ( virtual/opengl
401 - x11-libs/cairo[opengl] )
402 - spell? ( >=app-text/enchant-0.22:= )
403 - wayland? ( >=x11-libs/gtk+-3.14:3[wayland] )
404 - webgl? (
405 - x11-libs/cairo[opengl]
406 - x11-libs/libXcomposite
407 - x11-libs/libXdamage )
408 - X? (
409 - x11-libs/cairo[X]
410 - >=x11-libs/gtk+-3.14:3[X]
411 - x11-libs/libX11
412 - x11-libs/libXcomposite
413 - x11-libs/libXrender
414 - x11-libs/libXt )
415 -"
416 -
417 -# paxctl needed for bug #407085
418 -# Need real bison, not yacc
419 -DEPEND="${RDEPEND}
420 - ${PYTHON_DEPS}
421 - ${RUBY_DEPS}
422 - >=dev-lang/perl-5.10
423 - >=app-accessibility/at-spi2-core-2.5.3
424 - >=dev-libs/atk-2.8.0
425 - >=dev-util/gtk-doc-am-1.10
426 - >=dev-util/gperf-3.0.1
427 - >=sys-devel/bison-2.4.3
428 - || ( >=sys-devel/gcc-4.9 >=sys-devel/clang-3.3 )
429 - sys-devel/gettext
430 - virtual/pkgconfig
431 -
432 - dev-lang/perl
433 - virtual/perl-Data-Dumper
434 - virtual/perl-Carp
435 -
436 - doc? ( >=dev-util/gtk-doc-1.10 )
437 - geolocation? ( dev-util/gdbus-codegen )
438 - introspection? ( jit? ( sys-apps/paxctl ) )
439 - test? (
440 - dev-lang/python:2.7
441 - dev-python/pygobject:3[python_targets_python2_7]
442 - x11-themes/hicolor-icon-theme
443 - jit? ( sys-apps/paxctl ) )
444 -"
445 -
446 -S="${WORKDIR}/${MY_P}"
447 -
448 -CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
449 -
450 -PATCHES=(
451 - # https://bugs.gentoo.org/show_bug.cgi?id=555504
452 - "${FILESDIR}"/${PN}-2.8.5-fix-ia64-build.patch
453 -
454 - # https://bugs.gentoo.org/show_bug.cgi?id=564352
455 - # https://bugs.webkit.org/show_bug.cgi?id=167283
456 - "${FILESDIR}"/${PN}-2.8.5-fix-alpha-build.patch
457 -)
458 -
459 -pkg_pretend() {
460 - if [[ ${MERGE_TYPE} != "binary" ]] ; then
461 - if is-flagq "-g*" && ! is-flagq "-g*0" ; then
462 - einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
463 - check-reqs_pkg_pretend
464 - fi
465 -
466 - if ! test-flag-CXX -std=c++11 ; then
467 - die "You need at least GCC 4.9.x or Clang >= 3.3 for C++11-specific compiler flags"
468 - fi
469 -
470 - if tc-is-gcc && [[ $(gcc-version) < 4.9 ]] ; then
471 - die 'The active compiler needs to be gcc 4.9 (or newer)'
472 - fi
473 - fi
474 -}
475 -
476 -pkg_setup() {
477 - if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
478 - check-reqs_pkg_setup
479 - fi
480 -
481 - python-any-r1_pkg_setup
482 -}
483 -
484 -src_configure() {
485 - # Respect CC, otherwise fails on prefix #395875
486 - tc-export CC
487 -
488 - # Arches without JIT support also need this to really disable it in all places
489 - use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0
490 -
491 - # It does not compile on alpha without this in LDFLAGS
492 - # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648761
493 - use alpha && append-ldflags "-Wl,--no-relax"
494 -
495 - # ld segfaults on ia64 with LDFLAGS --as-needed, bug #555504
496 - use ia64 && append-ldflags "-Wl,--no-as-needed"
497 -
498 - # Sigbuses on SPARC with mcpu and co., bug #???
499 - use sparc && filter-flags "-mvis"
500 -
501 - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
502 - use ppc64 && append-flags "-mminimal-toc"
503 -
504 - # Try to use less memory, bug #469942 (see Fedora .spec for reference)
505 - # --no-keep-memory doesn't work on ia64, bug #502492
506 - if ! use ia64; then
507 - append-ldflags "-Wl,--no-keep-memory"
508 - fi
509 -
510 - # We try to use gold when possible for this package
511 -# if ! tc-ld-is-gold ; then
512 -# append-ldflags "-Wl,--reduce-memory-overheads"
513 -# fi
514 -
515 - # older glibc needs this for INTPTR_MAX, bug #533976
516 - if has_version "<sys-libs/glibc-2.18" ; then
517 - append-cppflags "-D__STDC_LIMIT_MACROS"
518 - fi
519 -
520 - # Multiple rendering bugs on youtube, github, etc without this, bug #547224
521 - append-flags $(test-flags -fno-strict-aliasing)
522 -
523 - local ruby_interpreter=""
524 -
525 - if has_version "virtual/rubygems[ruby_targets_ruby24]"; then
526 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby24)"
527 - elif has_version "virtual/rubygems[ruby_targets_ruby23]"; then
528 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby23)"
529 - elif has_version "virtual/rubygems[ruby_targets_ruby22]"; then
530 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby22)"
531 - else
532 - ruby_interpreter="-DRUBY_EXECUTABLE=$(type -P ruby21)"
533 - fi
534 -
535 - # TODO: Check Web Audio support
536 - # should somehow let user select between them?
537 - #
538 - # FTL_JIT requires llvm
539 - #
540 - # opengl needs to be explicetly handled, bug #576634
541 -
542 - local opengl_enabled
543 - if use opengl || use gles2; then
544 - opengl_enabled=ON
545 - else
546 - opengl_enabled=OFF
547 - fi
548 -
549 - # support for webgl (aka 2d-canvas accelerating)
550 - local canvas_enabled
551 - if use webgl && ! use gles2 ; then
552 - canvas_enabled=ON
553 - else
554 - canvas_enabled=OFF
555 - fi
556 -
557 - local mycmakeargs=(
558 - -DENABLE_QUARTZ_TARGET=$(usex aqua)
559 - -DENABLE_API_TESTS=$(usex test)
560 - -DENABLE_GTKDOC=$(usex doc)
561 - -DENABLE_GEOLOCATION=$(usex geolocation)
562 - $(cmake-utils_use_find_package gles2 OpenGLES2)
563 - -DENABLE_GLES2=$(usex gles2)
564 - -DENABLE_VIDEO=$(usex gstreamer)
565 - -DENABLE_WEB_AUDIO=$(usex gstreamer)
566 - -DENABLE_INTROSPECTION=$(usex introspection)
567 - -DENABLE_JIT=$(usex jit)
568 - -DUSE_LIBNOTIFY=$(usex libnotify)
569 - -DUSE_LIBSECRET=$(usex gnome-keyring)
570 - -DENABLE_PLUGIN_PROCESS_GTK2=$(usex nsplugin)
571 - -DENABLE_SPELLCHECK=$(usex spell)
572 - -DENABLE_WAYLAND_TARGET=$(usex wayland)
573 - -DENABLE_WEBGL=$(usex webgl)
574 - $(cmake-utils_use_find_package egl EGL)
575 - $(cmake-utils_use_find_package opengl OpenGL)
576 - -DENABLE_X11_TARGET=$(usex X)
577 - -DENABLE_OPENGL=${opengl_enabled}
578 - -DENABLE_ACCELERATED_2D_CANVAS=${canvas_enabled}
579 - -DCMAKE_BUILD_TYPE=Release
580 - -DPORT=GTK
581 - ${ruby_interpreter}
582 - )
583 -
584 - # Allow it to use GOLD when possible as it has all the magic to
585 - # detect when to use it and using gold for this concrete package has
586 - # multiple advantages and is also the upstream default, bug #585788
587 -# if tc-ld-is-gold ; then
588 -# mycmakeargs+=( -DUSE_LD_GOLD=ON )
589 -# else
590 -# mycmakeargs+=( -DUSE_LD_GOLD=OFF )
591 -# fi
592 -
593 - cmake-utils_src_configure
594 -}
595 -
596 -src_compile() {
597 - cmake-utils_src_compile
598 -}
599 -
600 -src_test() {
601 - # Prevents test failures on PaX systems
602 - use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test*
603 -
604 - cmake-utils_src_test
605 -}
606 -
607 -src_install() {
608 - cmake-utils_src_install
609 -
610 - # Prevents crashes on PaX systems, bug #522808
611 - use jit && pax-mark m "${ED}usr/bin/jsc" "${ED}usr/libexec/webkit2gtk-4.0/WebKitWebProcess"
612 - pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"
613 - use nsplugin && pax-mark m "${ED}usr/libexec/webkit2gtk-4.0/WebKitPluginProcess"2
614 -}