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