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