Gentoo Archives: gentoo-commits

From: "Pacho Ramos (pacho)" <pacho@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-libs/webkit-gtk: webkit-gtk-2.2.4-r200.ebuild webkit-gtk-2.2.4.ebuild ChangeLog
Date: Sun, 02 Feb 2014 13:59:44
Message-Id: 20140202135940.48CCE2004B@flycatcher.gentoo.org
1 pacho 14/02/02 13:59:40
2
3 Modified: ChangeLog
4 Added: webkit-gtk-2.2.4-r200.ebuild
5 webkit-gtk-2.2.4.ebuild
6 Log:
7 Version bump
8
9 (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
10
11 Revision Changes Path
12 1.234 net-libs/webkit-gtk/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/ChangeLog?rev=1.234&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/ChangeLog?rev=1.234&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/ChangeLog?r1=1.233&r2=1.234
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v
21 retrieving revision 1.233
22 retrieving revision 1.234
23 diff -u -r1.233 -r1.234
24 --- ChangeLog 29 Jan 2014 15:03:56 -0000 1.233
25 +++ ChangeLog 2 Feb 2014 13:59:40 -0000 1.234
26 @@ -1,6 +1,13 @@
27 # ChangeLog for net-libs/webkit-gtk
28 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.233 2014/01/29 15:03:56 leio Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.234 2014/02/02 13:59:40 pacho Exp $
31 +
32 +*webkit-gtk-2.2.4 (02 Feb 2014)
33 +*webkit-gtk-2.2.4-r200 (02 Feb 2014)
34 +
35 + 02 Feb 2014; Pacho Ramos <pacho@g.o> +webkit-gtk-2.2.4-r200.ebuild,
36 + +webkit-gtk-2.2.4.ebuild:
37 + Version bump
38
39 29 Jan 2014; Mart Raudsepp <leio@g.o> webkit-gtk-1.8.3-r201.ebuild,
40 webkit-gtk-1.8.3-r300.ebuild:
41
42
43
44 1.1 net-libs/webkit-gtk/webkit-gtk-2.2.4-r200.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4-r200.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4-r200.ebuild?rev=1.1&content-type=text/plain
48
49 Index: webkit-gtk-2.2.4-r200.ebuild
50 ===================================================================
51 # Copyright 1999-2014 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4-r200.ebuild,v 1.1 2014/02/02 13:59:40 pacho Exp $
54
55 EAPI="5"
56
57 PYTHON_COMPAT=( python{2_6,2_7} )
58
59 inherit autotools check-reqs eutils flag-o-matic gnome2-utils pax-utils python-any-r1 toolchain-funcs versionator virtualx
60
61 MY_P="webkitgtk-${PV}"
62 DESCRIPTION="Open source web browser engine"
63 HOMEPAGE="http://www.webkitgtk.org/"
64 SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz"
65
66 LICENSE="LGPL-2+ BSD"
67 SLOT="2"
68 KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
69 IUSE="aqua coverage debug +egl +geoloc gles2 +gstreamer +introspection +jit libsecret +opengl spell +webgl"
70 # bugs 372493, 416331
71 REQUIRED_USE="
72 geoloc? ( introspection )
73 introspection? ( gstreamer )
74 webgl? ( ^^ ( gles2 opengl ) )
75 gles2? ( egl )
76 "
77
78 # use sqlite, svg by default
79 RDEPEND="
80 dev-libs/libxml2:2
81 dev-libs/libxslt
82 media-libs/harfbuzz:=[icu(+)]
83 media-libs/libwebp
84 virtual/jpeg:0=
85 >=media-libs/libpng-1.4:0=
86 >=x11-libs/cairo-1.10:=[X]
87 >=dev-libs/glib-2.36.0:2
88 >=dev-libs/icu-3.8.1-r1:=
89 >=net-libs/libsoup-2.42.0:2.4[introspection?]
90 dev-db/sqlite:3=
91 >=x11-libs/pango-1.30.0.0
92 x11-libs/libXrender
93 x11-libs/libXt
94 >=x11-libs/gtk+-2.24.10:2
95
96 egl? ( media-libs/mesa[egl] )
97 geoloc? ( app-misc/geoclue:0 )
98 gles2? ( media-libs/mesa[gles2] )
99 gstreamer? (
100 >=media-libs/gstreamer-1.0.3:1.0
101 >=media-libs/gst-plugins-base-1.0.3:1.0 )
102 introspection? ( >=dev-libs/gobject-introspection-1.32.0 )
103 libsecret? ( app-crypt/libsecret )
104 opengl? ( virtual/opengl )
105 spell? ( >=app-text/enchant-0.22:= )
106 webgl? (
107 x11-libs/cairo[opengl]
108 x11-libs/libXcomposite
109 x11-libs/libXdamage )
110 "
111
112 # paxctl needed for bug #407085
113 # Need real bison, not yacc
114 DEPEND="${RDEPEND}
115 ${PYTHON_DEPS}
116 dev-lang/perl
117 || (
118 virtual/rubygems[ruby_targets_ruby20]
119 virtual/rubygems[ruby_targets_ruby19]
120 virtual/rubygems[ruby_targets_ruby18] )
121 >=dev-util/gtk-doc-am-1.10
122 dev-util/gperf
123 sys-devel/bison
124 >=sys-devel/flex-2.5.33
125 || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.0 )
126 sys-devel/gettext
127 >=sys-devel/make-3.82-r4
128 virtual/pkgconfig
129
130 introspection? ( jit? ( sys-apps/paxctl ) )
131 test? (
132 dev-lang/python:2.7
133 dev-python/pygobject:3[python_targets_python2_7]
134 x11-themes/hicolor-icon-theme
135 jit? ( sys-apps/paxctl ) )
136 "
137
138 S="${WORKDIR}/${MY_P}"
139
140 CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
141
142 pkg_pretend() {
143 nvidia_check || die #463960
144
145 if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
146 einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
147 check-reqs_pkg_pretend
148 fi
149
150 if ! test-flag-CXX -std=c++11; then
151 die "You need at least GCC 4.7.x or Clang >= 3.0 for C++11-specific compiler flags"
152 fi
153 }
154
155 pkg_setup() {
156 nvidia_check || die #463960
157
158 # Check whether any of the debugging flags is enabled
159 if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
160 if is-flagq "-ggdb" && [[ ${WEBKIT_GTK_GGDB} != "yes" ]]; then
161 replace-flags -ggdb -g
162 ewarn "Replacing \"-ggdb\" with \"-g\" in your CFLAGS."
163 ewarn "Building ${PN} with \"-ggdb\" produces binaries which are too"
164 ewarn "large for current binutils releases (bug #432784) and has very"
165 ewarn "high temporary build space and memory requirements."
166 ewarn "If you really want to build ${PN} with \"-ggdb\", add"
167 ewarn "WEBKIT_GTK_GGDB=yes"
168 ewarn "to your make.conf file."
169 fi
170 einfo "You need to have at least 18GB of temporary build space available"
171 einfo "to build ${PN} with debugging CFLAGS. Note that it might still"
172 einfo "not be enough, as the total space requirements depend on the flags"
173 einfo "(-ggdb vs -g1) and enabled features."
174 check-reqs_pkg_setup
175 fi
176
177 [[ ${MERGE_TYPE} = "binary" ]] || python-any-r1_pkg_setup
178 }
179
180 src_prepare() {
181 DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install
182
183 # intermediate MacPorts hack while upstream bug is not fixed properly
184 # https://bugs.webkit.org/show_bug.cgi?id=28727
185 use aqua && epatch "${FILESDIR}"/${PN}-1.6.1-darwin-quartz.patch
186
187 # Don't force -O2
188 sed -i 's/-O2//g' "${S}"/Source/autotools/SetupCompilerFlags.m4 || die
189
190 # Build-time segfaults under PaX with USE="introspection jit", bug #404215
191 #if use introspection && use jit; then
192 # epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch"
193 # cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die
194 #fi
195
196 # We need to reset some variables to prevent permissions problems and failures
197 # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669
198 gnome2_environment_reset
199
200 # Failing tests
201 # * webinspector -> https://bugs.webkit.org/show_bug.cgi?id=50744
202 # * keyevents is interactive
203 # * mimehandling test sometimes fails under Xvfb (works fine manually), bug #????
204 # * webdatasource test needs a network connection and intermittently fails with icedtea-web
205 # * webplugindatabase intermittently fails with icedtea-web, bug #????
206 sed -e '/Programs\/unittests\/testwebinspector/ d' \
207 -e '/Programs\/unittests\/testkeyevents/ d' \
208 -e '/Programs\/unittests\/testmimehandling/ d' \
209 -e '/Programs\/unittests\/testwebdatasource/ d' \
210 -e '/Programs\/unittests\/testwebplugindatabase/ d' \
211 -i Source/WebKit/gtk/GNUmakefile.am || die
212
213 if ! use gstreamer; then
214 # webkit2's TestWebKitWebView requires <video> support, bug #????
215 sed -e '/Programs\/WebKit2APITests\/TestWebKitWebView/ d' \
216 -i Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am || die
217 fi
218
219 # Respect CC, otherwise fails on prefix #395875
220 tc-export CC
221
222 # bug #459978, upstream bug #113397
223 epatch "${FILESDIR}/${PN}-1.11.90-gtk-docize-fix.patch"
224
225 # Do not build unittests unless requested, upstream bug #????
226 #epatch "${FILESDIR}"/${PN}-2.2.2-unittests-build.patch
227
228 # Prevent maintainer mode from being triggered during make
229 AT_M4DIR=Source/autotools eautoreconf
230 }
231
232 src_configure() {
233 # It doesn't compile on alpha without this in LDFLAGS, bug #????
234 use alpha && append-ldflags "-Wl,--no-relax"
235
236 # Sigbuses on SPARC with mcpu and co., bug #????
237 use sparc && filter-flags "-mvis"
238
239 # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
240 use ppc64 && append-flags "-mminimal-toc"
241
242 # Try to use less memory, bug #469942 (see Fedora .spec for reference)
243 append-ldflags "-Wl,--no-keep-memory"
244 append-ldflags "-Wl,--reduce-memory-overheads"
245
246 local myconf=""
247
248 if has_version "virtual/rubygems[ruby_targets_ruby20]"; then
249 myconf="${myconf} RUBY=$(type -P ruby20)"
250 elif has_version "virtual/rubygems[ruby_targets_ruby19]"; then
251 myconf="${myconf} RUBY=$(type -P ruby19)"
252 else
253 myconf="${myconf} RUBY=$(type -P ruby18)"
254 fi
255
256 # TODO: Check Web Audio support
257 # should somehow let user select between them?
258 #
259 # * dependency-tracking is required so parallel builds won't fail
260 # API documentation (gtk-doc) is built in webkit-gtk:3, always disable here
261 econf \
262 $(use_enable coverage) \
263 $(use_enable debug) \
264 $(use_enable egl) \
265 $(use_enable geoloc geolocation) \
266 $(use_enable gles2) \
267 $(use_enable gstreamer video) \
268 $(use_enable introspection) \
269 $(use_enable jit) \
270 $(use_enable libsecret credential_storage) \
271 $(use_enable opengl glx) \
272 $(use_enable spell spellcheck) \
273 $(use_enable webgl) \
274 $(use_enable webgl accelerated-compositing) \
275 --with-gtk=2.0 \
276 --disable-webkit2 \
277 --disable-gtk-doc \
278 --enable-dependency-tracking \
279 $(usex aqua "--with-font-backend=pango --with-target=quartz" "")
280 ${myconf}
281 }
282
283 src_test() {
284 # Tests expect an out-of-source build in WebKitBuild
285 ln -s . WebKitBuild || die "ln failed"
286
287 # Prevents test failures on PaX systems
288 use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) \
289 Programs/unittests/.libs/test*
290 unset DISPLAY
291 # Tests need virtualx, bug #294691, bug #310695
292 # Parallel tests sometimes fail
293 Xemake -j1 check
294 }
295
296 src_install() {
297 default
298
299 newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk
300 newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore
301 newdoc Source/WebCore/ChangeLog ChangeLog.WebCore
302
303 prune_libtool_files
304
305 # Prevents crashes on PaX systems
306 use jit && pax-mark m "${ED}usr/bin/jsc-3"
307
308 # File collisions with slot 3
309 # bug #402699, https://bugs.webkit.org/show_bug.cgi?id=78134
310 rm -rf "${ED}usr/share/gtk-doc" || die
311 }
312
313 nvidia_check() {
314 if [[ ${MERGE_TYPE} != "binary" ]] &&
315 use introspection &&
316 has_version '=x11-drivers/nvidia-drivers-325*' &&
317 [[ $(eselect opengl show 2> /dev/null) = "nvidia" ]]
318 then
319 eerror "${PN} freezes while compiling if x11-drivers/nvidia-drivers-325.* is"
320 eerror "used as the system OpenGL library."
321 eerror "You can either update to >=nvidia-drivers-331.13, or temporarily select"
322 eerror "Mesa as the system OpenGL library:"
323 eerror " # eselect opengl set xorg-x11"
324 eerror "See https://bugs.gentoo.org/463960 for more details."
325 eerror
326 return 1
327 fi
328 }
329
330
331
332 1.1 net-libs/webkit-gtk/webkit-gtk-2.2.4.ebuild
333
334 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4.ebuild?rev=1.1&view=markup
335 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4.ebuild?rev=1.1&content-type=text/plain
336
337 Index: webkit-gtk-2.2.4.ebuild
338 ===================================================================
339 # Copyright 1999-2014 Gentoo Foundation
340 # Distributed under the terms of the GNU General Public License v2
341 # $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.2.4.ebuild,v 1.1 2014/02/02 13:59:40 pacho Exp $
342
343 EAPI="5"
344
345 PYTHON_COMPAT=( python{2_6,2_7} )
346
347 inherit autotools check-reqs eutils flag-o-matic gnome2-utils pax-utils python-any-r1 toolchain-funcs versionator virtualx
348
349 MY_P="webkitgtk-${PV}"
350 DESCRIPTION="Open source web browser engine"
351 HOMEPAGE="http://www.webkitgtk.org/"
352 SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz"
353
354 LICENSE="LGPL-2+ BSD"
355 SLOT="3/29" # soname version
356 KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos"
357 IUSE="aqua coverage debug +egl +geoloc gles2 +gstreamer +introspection +jit libsecret +opengl spell +webgl"
358 # bugs 372493, 416331
359 REQUIRED_USE="
360 geoloc? ( introspection )
361 introspection? ( gstreamer )
362 webgl? ( ^^ ( gles2 opengl ) )
363 gles2? ( egl )
364 "
365
366 # use sqlite, svg by default
367 # Aqua support in gtk3 is untested
368 # gtk2 is needed for plugin process support
369 # gtk3-3.10 required for wayland
370 RDEPEND="
371 dev-libs/libxml2:2
372 dev-libs/libxslt
373 media-libs/harfbuzz:=[icu(+)]
374 media-libs/libwebp
375 virtual/jpeg:0=
376 >=media-libs/libpng-1.4:0=
377 >=x11-libs/cairo-1.10:=[X]
378 >=dev-libs/glib-2.36.0:2
379 >=x11-libs/gtk+-3.6.0:3[aqua=,introspection?]
380 >=dev-libs/icu-3.8.1-r1:=
381 >=net-libs/libsoup-2.42.0:2.4[introspection?]
382 dev-db/sqlite:3=
383 >=x11-libs/pango-1.30.0.0
384 x11-libs/libXrender
385 x11-libs/libXt
386 >=x11-libs/gtk+-2.24.10:2
387
388 egl? ( media-libs/mesa[egl] )
389 geoloc? ( app-misc/geoclue:0 )
390 gles2? ( media-libs/mesa[gles2] )
391 gstreamer? (
392 >=media-libs/gstreamer-1.0.3:1.0
393 >=media-libs/gst-plugins-base-1.0.3:1.0 )
394 introspection? ( >=dev-libs/gobject-introspection-1.32.0 )
395 libsecret? ( app-crypt/libsecret )
396 opengl? ( virtual/opengl )
397 spell? ( >=app-text/enchant-0.22:= )
398 webgl? (
399 x11-libs/cairo[opengl]
400 x11-libs/libXcomposite
401 x11-libs/libXdamage )
402 "
403
404 # paxctl needed for bug #407085
405 # Need real bison, not yacc
406 DEPEND="${RDEPEND}
407 ${PYTHON_DEPS}
408 dev-lang/perl
409 || (
410 virtual/rubygems[ruby_targets_ruby20]
411 virtual/rubygems[ruby_targets_ruby19]
412 virtual/rubygems[ruby_targets_ruby18] )
413 >=app-accessibility/at-spi2-core-2.5.3
414 >=dev-util/gtk-doc-am-1.10
415 dev-util/gperf
416 sys-devel/bison
417 >=sys-devel/flex-2.5.33
418 || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.0 )
419 sys-devel/gettext
420 >=sys-devel/make-3.82-r4
421 virtual/pkgconfig
422
423 introspection? ( jit? ( sys-apps/paxctl ) )
424 test? (
425 dev-lang/python:2.7
426 dev-python/pygobject:3[python_targets_python2_7]
427 x11-themes/hicolor-icon-theme
428 jit? ( sys-apps/paxctl ) )
429 "
430
431 S="${WORKDIR}/${MY_P}"
432
433 CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307
434
435 pkg_pretend() {
436 nvidia_check || die #463960
437
438 if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
439 einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS"
440 check-reqs_pkg_pretend
441 fi
442
443 if ! test-flag-CXX -std=c++11; then
444 die "You need at least GCC 4.7.x or Clang >= 3.0 for C++11-specific compiler flags"
445 fi
446 }
447
448 pkg_setup() {
449 nvidia_check || die #463960
450
451 # Check whether any of the debugging flags is enabled
452 if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then
453 if is-flagq "-ggdb" && [[ ${WEBKIT_GTK_GGDB} != "yes" ]]; then
454 replace-flags -ggdb -g
455 ewarn "Replacing \"-ggdb\" with \"-g\" in your CFLAGS."
456 ewarn "Building ${PN} with \"-ggdb\" produces binaries which are too"
457 ewarn "large for current binutils releases (bug #432784) and has very"
458 ewarn "high temporary build space and memory requirements."
459 ewarn "If you really want to build ${PN} with \"-ggdb\", add"
460 ewarn "WEBKIT_GTK_GGDB=yes"
461 ewarn "to your make.conf file."
462 fi
463 einfo "You need to have at least 18GB of temporary build space available"
464 einfo "to build ${PN} with debugging CFLAGS. Note that it might still"
465 einfo "not be enough, as the total space requirements depend on the flags"
466 einfo "(-ggdb vs -g1) and enabled features."
467 check-reqs_pkg_setup
468 fi
469
470 [[ ${MERGE_TYPE} = "binary" ]] || python-any-r1_pkg_setup
471 }
472
473 src_prepare() {
474 DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install
475
476 # intermediate MacPorts hack while upstream bug is not fixed properly
477 # https://bugs.webkit.org/show_bug.cgi?id=28727
478 use aqua && epatch "${FILESDIR}"/${PN}-1.6.1-darwin-quartz.patch
479
480 # Don't force -O2
481 sed -i 's/-O2//g' "${S}"/Source/autotools/SetupCompilerFlags.m4 || die
482
483 # Build-time segfaults under PaX with USE="introspection jit", bug #404215
484 #if use introspection && use jit; then
485 # epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch"
486 # cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die
487 #fi
488
489 # We need to reset some variables to prevent permissions problems and failures
490 # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669
491 gnome2_environment_reset
492
493 # Failing tests
494 # * webinspector -> https://bugs.webkit.org/show_bug.cgi?id=50744
495 # * keyevents is interactive
496 # * mimehandling test sometimes fails under Xvfb (works fine manually), bug #????
497 # * webdatasource test needs a network connection and intermittently fails with icedtea-web
498 # * webplugindatabase intermittently fails with icedtea-web, bug #????
499 sed -e '/Programs\/unittests\/testwebinspector/ d' \
500 -e '/Programs\/unittests\/testkeyevents/ d' \
501 -e '/Programs\/unittests\/testmimehandling/ d' \
502 -e '/Programs\/unittests\/testwebdatasource/ d' \
503 -e '/Programs\/unittests\/testwebplugindatabase/ d' \
504 -i Source/WebKit/gtk/GNUmakefile.am || die
505
506 if ! use gstreamer; then
507 # webkit2's TestWebKitWebView requires <video> support, bug #????
508 sed -e '/Programs\/WebKit2APITests\/TestWebKitWebView/ d' \
509 -i Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am || die
510 fi
511
512 # Respect CC, otherwise fails on prefix #395875
513 tc-export CC
514
515 # bug #459978, upstream bug #113397
516 epatch "${FILESDIR}/${PN}-1.11.90-gtk-docize-fix.patch"
517
518 # Do not build unittests unless requested, upstream bug #????
519 #epatch "${FILESDIR}"/${PN}-2.2.2-unittests-build.patch
520
521 # Prevent maintainer mode from being triggered during make
522 AT_M4DIR=Source/autotools eautoreconf
523 }
524
525 src_configure() {
526 # It doesn't compile on alpha without this in LDFLAGS, bug #????
527 use alpha && append-ldflags "-Wl,--no-relax"
528
529 # Sigbuses on SPARC with mcpu and co., bug #????
530 use sparc && filter-flags "-mvis"
531
532 # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634
533 use ppc64 && append-flags "-mminimal-toc"
534
535 # Try to use less memory, bug #469942 (see Fedora .spec for reference)
536 append-ldflags "-Wl,--no-keep-memory"
537 append-ldflags "-Wl,--reduce-memory-overheads"
538
539 local myconf=""
540
541 if has_version "virtual/rubygems[ruby_targets_ruby20]"; then
542 myconf="${myconf} RUBY=$(type -P ruby20)"
543 elif has_version "virtual/rubygems[ruby_targets_ruby19]"; then
544 myconf="${myconf} RUBY=$(type -P ruby19)"
545 else
546 myconf="${myconf} RUBY=$(type -P ruby18)"
547 fi
548
549 # TODO: Check Web Audio support
550 # should somehow let user select between them?
551 #
552 # * Aqua support in gtk3 is untested
553 # * dependency-tracking is required so parallel builds won't fail
554 econf \
555 $(use_enable coverage) \
556 $(use_enable debug) \
557 $(use_enable egl) \
558 $(use_enable geoloc geolocation) \
559 $(use_enable gles2) \
560 $(use_enable gstreamer video) \
561 $(use_enable introspection) \
562 $(use_enable jit) \
563 $(use_enable libsecret credential_storage) \
564 $(use_enable opengl glx) \
565 $(use_enable spell spellcheck) \
566 $(use_enable webgl) \
567 $(use_enable webgl accelerated-compositing) \
568 --with-gtk=3.0 \
569 --enable-dependency-tracking \
570 --disable-gtk-doc \
571 $(usex aqua "--with-font-backend=pango --with-target=quartz" "")
572 ${myconf}
573 }
574
575 src_test() {
576 # Tests expect an out-of-source build in WebKitBuild
577 ln -s . WebKitBuild || die "ln failed"
578
579 # Prevents test failures on PaX systems
580 use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) \
581 Programs/unittests/.libs/test*
582 unset DISPLAY
583 # Tests need virtualx, bug #294691, bug #310695
584 # Parallel tests sometimes fail
585 Xemake -j1 check
586 }
587
588 src_install() {
589 default
590
591 newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk
592 newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore
593 newdoc Source/WebCore/ChangeLog ChangeLog.WebCore
594
595 prune_libtool_files
596
597 # Prevents crashes on PaX systems
598 use jit && pax-mark m "${ED}usr/bin/jsc-3"
599 }
600
601 nvidia_check() {
602 if [[ ${MERGE_TYPE} != "binary" ]] &&
603 use introspection &&
604 has_version '=x11-drivers/nvidia-drivers-325*' &&
605 [[ $(eselect opengl show 2> /dev/null) = "nvidia" ]]
606 then
607 eerror "${PN} freezes while compiling if x11-drivers/nvidia-drivers-325.* is"
608 eerror "used as the system OpenGL library."
609 eerror "You can either update to >=nvidia-drivers-331.13, or temporarily select"
610 eerror "Mesa as the system OpenGL library:"
611 eerror " # eselect opengl set xorg-x11"
612 eerror "See https://bugs.gentoo.org/463960 for more details."
613 eerror
614 return 1
615 fi
616 }