diff options
author | 2014-07-14 18:09:50 +0000 | |
---|---|---|
committer | 2014-07-14 18:09:50 +0000 | |
commit | ce178d3b6e5e71af6eed60b7e97799d2b8e12f8b (patch) | |
tree | d102e1e8d9d877f16d5464b8e908a2234cc22e7e /net-libs | |
parent | Version bump. Requested by "chutzpah" from Freenode. Use mdadm_emake also in ... (diff) | |
download | historical-ce178d3b6e5e71af6eed60b7e97799d2b8e12f8b.tar.gz historical-ce178d3b6e5e71af6eed60b7e97799d2b8e12f8b.tar.bz2 historical-ce178d3b6e5e71af6eed60b7e97799d2b8e12f8b.zip |
Version bump
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/webkit-gtk/ChangeLog | 9 | ||||
-rw-r--r-- | net-libs/webkit-gtk/Manifest | 13 | ||||
-rw-r--r-- | net-libs/webkit-gtk/webkit-gtk-2.4.4-r200.ebuild | 277 | ||||
-rw-r--r-- | net-libs/webkit-gtk/webkit-gtk-2.4.4.ebuild | 279 |
4 files changed, 572 insertions, 6 deletions
diff --git a/net-libs/webkit-gtk/ChangeLog b/net-libs/webkit-gtk/ChangeLog index dbb5c36bee09..382b1f26da2c 100644 --- a/net-libs/webkit-gtk/ChangeLog +++ b/net-libs/webkit-gtk/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for net-libs/webkit-gtk # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.267 2014/06/21 20:00:28 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.268 2014/07/14 18:09:48 pacho Exp $ + +*webkit-gtk-2.4.4-r200 (14 Jul 2014) +*webkit-gtk-2.4.4 (14 Jul 2014) + + 14 Jul 2014; Pacho Ramos <pacho@gentoo.org> +webkit-gtk-2.4.4-r200.ebuild, + +webkit-gtk-2.4.4.ebuild: + Version bump 21 Jun 2014; Pacho Ramos <pacho@gentoo.org> -webkit-gtk-2.4.1-r200.ebuild, -webkit-gtk-2.4.1.ebuild, webkit-gtk-2.4.3-r200.ebuild, diff --git a/net-libs/webkit-gtk/Manifest b/net-libs/webkit-gtk/Manifest index 061005e8e8c5..c22389fd8637 100644 --- a/net-libs/webkit-gtk/Manifest +++ b/net-libs/webkit-gtk/Manifest @@ -13,16 +13,19 @@ AUX webkit-gtk-2.2.5-sparc64-build.patch 1169 SHA256 fe6c7c345eb46a0f6856b5f1c54 AUX webkit-gtk-2.4.1-ia64-malloc.patch 807 SHA256 8e01dee48af7e8e0d24729dd9b99e88b47125b5f91d07df29d579785e60d398d SHA512 d9e7a792861ff30137072eba6b5b80e7b37e47e7302bf1cd56027b5c30aea3fd215891f6272d85b80e98c826b3216d0701fe92f06b76e7d1fb860028d7a701c0 WHIRLPOOL 7cf769d9752cf800f72e76233ef299e2da8c13f427cd8d312d47d76282091f06ec32a618dda9d0bacedbc5dcf8aa4289ce9ce089cdbb90be28deeb75e449a925 DIST webkitgtk-2.2.6.tar.xz 9400300 SHA256 157ee7377ae97a27bb3b9bd2733d9353979632543c3d078b6578aeeb1319bf06 SHA512 9a90109ee8f591ae34ac2282e21aeee872292d82d1f66ebc69fb506c89a8ec952e373b35d1db7cc68307ea6ee90949c5c447ed206f14ec77374f8d68ab56021d WHIRLPOOL 47e5ffa17b53238f6282b17e2eb3e988dac7f295dd6757c097ea81d826770b1929d04d79f8a0e03abe5e30bfeb8626c42ad06c6a13aa0e9626120f590b55a931 DIST webkitgtk-2.4.3.tar.xz 9841564 SHA256 9862c3eac1d12cc6e52cc39060a1284163950b304d534529a0dbcc5958a8ceac SHA512 fc4b36a3e11075325c79ced9f0d70a4b3daec43c5d3fff63ec843c513f04fd6cbe1b6472ea83e77f250f334f962a636a2423d8dbea4db0c767e823e2bd63f8d4 WHIRLPOOL dc9eb5211bbbea899379e688816ec978aa0f813ece777d0d9da08309eb2d647c662be66599a945bf743ff2946646e9e7d0554e0e9333fd10be425f05c7c8ffb6 +DIST webkitgtk-2.4.4.tar.xz 9844048 SHA256 58cbfc7e352ae1e1f5e383f9f766795794d88483e9a52377a295f56eedf53ab9 SHA512 ae3160ec7962d452606966afd258961432db5f0da0e0fc0e249ce1927abf2151adc858b7f12d5d36d7c7d91e16c6ebed1694f88185c678ba1cf8d3d08b55f1ce WHIRLPOOL 065cbf961537d67b49a9273622606705685faad0ab8fd4ec1f845f69ce31ff8466e26032f6853b7a89854a7ed7f6432443f6d3f0ec6ff7074393ceef0c07749d EBUILD webkit-gtk-2.2.6-r200.ebuild 8839 SHA256 51b4d2814a33794d3d17c9bfd68ac6889b2c664effb95e4af3f93555ea4e64da SHA512 017955f7ba0dc75d601349b142ed39d5f126e3beac5933c973c0a2273bfabbfe63402a026396d28ab967956aca1d703afe31f5ee0274abd6ba2084145dd519dd WHIRLPOOL 5544ec7cbf8f218966927e887ed95b4fd549e4a705d2b32cbaa45fd3f6d17dd34739c97d45c627cd7b74281039690dc60f85d723e40d5619ab4fe54ce6b1d694 EBUILD webkit-gtk-2.2.6.ebuild 8934 SHA256 94e709b74f78b67b2ff1d0a4abe7b67d7a95b550bd6fc7a9904df44984319f1c SHA512 2f37e59f8fe373593f3771771644e64facac02bf2549bfd1ce008a30e19eba7746114e562b257108b1cf6d1955211cd32660a798b5fbf1a194e4d0b5557a90a7 WHIRLPOOL 5ce8581796cf5505f1ffb8f8237397d01861e4b64c3c4ec9ea5ec6311abade60a9cac3051c8a9beedcc5f9840d2314f2b335392e1c2e9a5048bbcfb2771c50d0 EBUILD webkit-gtk-2.4.3-r200.ebuild 8951 SHA256 88ba07aa505326072e6d17101350d6c47fafa23730fc2a64bb8e7633300a9a76 SHA512 99f495a81effca76948f2bb3329ebc8a57d936037d18bfaa280124dcfc0657251f7f2fcb41bb3a6706540aaa32168cf5a796a0b71bdfc3f2cc497251c80f8ed4 WHIRLPOOL 2a909b43a829d2ee9b491a7f0e3ee1e6c1a9c4c8fab874ac9b6216365c635f446b20aca2ea4b09db71b722d894713f80357e6d76fa6051371048dc0e04fbf5ff EBUILD webkit-gtk-2.4.3.ebuild 9150 SHA256 140fa264fb715c9e1b01d34157f04f012dc7e83eb54228d89ae0b5920c5a8ecd SHA512 c010eebea3381087f47ffc1e2d247ceaee2edcf6dcfc8b59595b4aeccc08d8a12c01f370b27ebdfe3ad59e1f86a46c86ccff5a9e9a222ea6952a15465e0be11a WHIRLPOOL c65e10a0015d5e5214703175caa46de765d116d5bb3db481eb45ef881ddc5ac1f71ffddf47c6e9b751d0fb2200f4e21f3b364e40cde6f535e6e298d13294698c -MISC ChangeLog 55641 SHA256 9d48ae964b603f60959918cd8596cb3c29a8ff8f79948b73bce3b4818c907c8e SHA512 e8f5fe1d3ca673681e3ea0701389c7cda48ddcb5ee9f95957c3739e0b0762dbac6f7e38f045ad9e28972f7c174722818796a453dd52e3bfcce4537654d2868a1 WHIRLPOOL a27f53e1570c38204ef5f7cf60365b834e4ae2ddeaab4938349dbff712a2f07a51c96e207a215c29b9a3054a09935d9c8e21f85cad412618bc912ddc2947809f +EBUILD webkit-gtk-2.4.4-r200.ebuild 9048 SHA256 0dd7f79de67dfb72180bac21eb0b6e4c1857844f54c1958d1de65139310924d4 SHA512 9b786a3178f4be454dfba1edb8a0a7ac18d8adc170d661dcc581d680d4bf9c0ef8a4ad6a6b2e8721abd92aa275d19bb8700520c455257d580978e06f0df27001 WHIRLPOOL 6c2e41da84dce89103473245292cc348cea4dfbf49591842da7cd2229566d02a917a6398f8611019315a5a050188954ac3425b4d10f5c43f7c1f5cfe22e32c24 +EBUILD webkit-gtk-2.4.4.ebuild 9248 SHA256 ffdf727a7ff04c90ae2ab8fb895932af8961f9a1251b7e09174d0bb70fde99d9 SHA512 3c225b318faaf11a69b50724e66e6c37fe4eea50d835eedaf1b9135f8aec6b41733b4c13a9c64ed677e6f7b5ec9fba337cc601de8fd5d62ad48ff4215a364d98 WHIRLPOOL c9668dbc9708e63274e714ce3eacb92086f78139b76db28fbec32497ebd8cbdbc8ec22369e109cecbb67739b59697dc26ad53a861980c1fa457c5c53c1a1957e +MISC ChangeLog 55832 SHA256 8de13ee486941546f7d1bce65fe7f156354efa9239faf5614e1ecbc381c98897 SHA512 79e2f624232d1c1711442c2aa95d713353166e1161efe0e898f824c7a6deb17dd9f7c8e9aec3480eee20af29afd7cd430f1327e71f2c60208df40da5f15d1c05 WHIRLPOOL f31c83da40af7ca31005f72c3458620341bb604b56daac6a5fce9c233ead239ee7a5241d0627693b03b89dd098e2e508af08b01bf45c976664131be9bdc6134f MISC metadata.xml 610 SHA256 23faf3368df312d51e2dd38d6e7695410deab694bc12558cbe9751067575df11 SHA512 ac78b2e8a719247f5294c045ead7731cd42fb7200ea5a6a450ac18abd3a79fc888045e2c7f98bf984dd2a9484fc352ebc06e6b1c7a0bdd75a65a825e71c09188 WHIRLPOOL f2c88de8a7889cd3cdbb66f498067f85a5e6ce0c7b3732299ad9373e39ac332abe5d3da93f8fbe1e5f63b44306f9def006a3e34349eaca12ee9fb3b7a7368ea1 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.22 (GNU/Linux) +Version: GnuPG v2 -iEYEAREIAAYFAlOl5F0ACgkQCaWpQKGI+9T/OQCfdNRg8jU6mrp54OPh3snV3H0w -THUAoIIad6LTdkJ0v4bwIdpD15+r3i1Q -=GCnV +iEYEAREIAAYFAlPEHO0ACgkQCaWpQKGI+9StegCghCr3U5TkmFFgCou58A93LGKs +E5QAoIN2lvmOfpNUKiRw6WBLUiBT4lf0 +=DxVg -----END PGP SIGNATURE----- diff --git a/net-libs/webkit-gtk/webkit-gtk-2.4.4-r200.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.4.4-r200.ebuild new file mode 100644 index 000000000000..c910eaa55712 --- /dev/null +++ b/net-libs/webkit-gtk/webkit-gtk-2.4.4-r200.ebuild @@ -0,0 +1,277 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.4.4-r200.ebuild,v 1.1 2014/07/14 18:09:48 pacho Exp $ + +EAPI="5" +GCONF_DEBUG="no" +PYTHON_COMPAT=( python{2_6,2_7} ) + +inherit autotools check-reqs eutils flag-o-matic gnome2 pax-utils python-any-r1 toolchain-funcs versionator virtualx + +MY_P="webkitgtk-${PV}" +DESCRIPTION="Open source web browser engine" +HOMEPAGE="http://www.webkitgtk.org/" +SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz" + +LICENSE="LGPL-2+ BSD" +SLOT="2" # no usable subslot +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" +IUSE="aqua coverage debug +egl +geoloc gles2 +gstreamer +introspection +jit libsecret +opengl spell +webgl +X" +# bugs 372493, 416331 +REQUIRED_USE=" + geoloc? ( introspection ) + introspection? ( gstreamer ) + gles2? ( egl ) + webgl? ( ^^ ( gles2 opengl ) ) + !webgl? ( ?? ( gles2 opengl ) ) + || ( aqua X ) +" + +# use sqlite, svg by default +RDEPEND=" + dev-libs/libxml2:2 + dev-libs/libxslt + media-libs/harfbuzz:=[icu(+)] + media-libs/libwebp:= + virtual/jpeg:0= + >=media-libs/libpng-1.4:0= + >=x11-libs/cairo-1.10:=[X] + >=dev-libs/glib-2.36.0:2 + >=dev-libs/icu-3.8.1-r1:= + >=net-libs/libsoup-2.42.0:2.4[introspection?] + dev-db/sqlite:3= + >=x11-libs/pango-1.30.0.0 + x11-libs/libXrender + x11-libs/libXt + >=x11-libs/gtk+-2.24.10:2 + + egl? ( media-libs/mesa[egl] ) + geoloc? ( >=app-misc/geoclue-2.1.5:2.0 ) + gles2? ( media-libs/mesa[gles2] ) + gstreamer? ( + >=media-libs/gstreamer-1.2:1.0 + >=media-libs/gst-plugins-base-1.2:1.0 ) + introspection? ( >=dev-libs/gobject-introspection-1.32.0 ) + libsecret? ( app-crypt/libsecret ) + opengl? ( virtual/opengl ) + spell? ( >=app-text/enchant-0.22:= ) + webgl? ( + x11-libs/cairo[opengl] + x11-libs/libXcomposite + x11-libs/libXdamage ) +" + +# paxctl needed for bug #407085 +# Need real bison, not yacc +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-lang/perl + || ( + virtual/rubygems[ruby_targets_ruby20] + virtual/rubygems[ruby_targets_ruby21] + virtual/rubygems[ruby_targets_ruby19] + ) + >=dev-libs/atk-2.8.0 + >=dev-util/gtk-doc-am-1.10 + dev-util/gperf + >=sys-devel/bison-2.4.3 + >=sys-devel/flex-2.5.33 + || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.3 ) + sys-devel/gettext + >=sys-devel/make-3.82-r4 + virtual/pkgconfig + + introspection? ( jit? ( sys-apps/paxctl ) ) + test? ( + dev-lang/python:2.7 + dev-python/pygobject:3[python_targets_python2_7] + x11-themes/hicolor-icon-theme + jit? ( sys-apps/paxctl ) ) +" + +S="${WORKDIR}/${MY_P}" + +CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then + einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" + check-reqs_pkg_pretend + fi + + if ! test-flag-CXX -std=c++11; then + die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags" + fi +} + +pkg_setup() { + # Check whether any of the debugging flags is enabled + if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then + if is-flagq "-ggdb" && [[ ${WEBKIT_GTK_GGDB} != "yes" ]]; then + replace-flags -ggdb -g + ewarn "Replacing \"-ggdb\" with \"-g\" in your CFLAGS." + ewarn "Building ${PN} with \"-ggdb\" produces binaries which are too" + ewarn "large for current binutils releases (bug #432784) and has very" + ewarn "high temporary build space and memory requirements." + ewarn "If you really want to build ${PN} with \"-ggdb\", add" + ewarn "WEBKIT_GTK_GGDB=yes" + ewarn "to your make.conf file." + fi + einfo "You need to have at least 18GB of temporary build space available" + einfo "to build ${PN} with debugging CFLAGS. Note that it might still" + einfo "not be enough, as the total space requirements depend on the flags" + einfo "(-ggdb vs -g1) and enabled features." + check-reqs_pkg_setup + fi + + [[ ${MERGE_TYPE} = "binary" ]] || python-any-r1_pkg_setup +} + +src_prepare() { + # intermediate MacPorts hack while upstream bug is not fixed properly + # https://bugs.webkit.org/show_bug.cgi?id=28727 + use aqua && epatch "${FILESDIR}"/${PN}-1.6.1-darwin-quartz.patch + + # Leave optimization level to user CFLAGS + # FORTIFY_SOURCE is enabled by default in Gentoo + sed -e 's/-O[012]//g' \ + -e 's/-D_FORTIFY_SOURCE=2//g' \ + -i Source/autotools/SetupCompilerFlags.m4 || die + + # Failing tests + # * webinspector -> https://bugs.webkit.org/show_bug.cgi?id=50744 + # * keyevents is interactive + # * mimehandling test sometimes fails under Xvfb (works fine manually), bug #??? + # * webdatasource test needs a network connection and intermittently fails with icedtea-web + # * webplugindatabase intermittently fails with icedtea-web, bug #???? + sed -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebinspector/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testkeyevents/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testmimehandling/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebdatasource/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebplugindatabase/ d' \ + -i Tools/TestWebKitAPI/GNUmakefile.am || die + + # bug #459978, upstream bug #113397 + epatch "${FILESDIR}/${PN}-1.11.90-gtk-docize-fix.patch" + + # FIXME: Needs updating, but probably unneeded in 2.4 as it has a + # "developer mode" for this + # Do not build unittests unless requested, upstream bug #128163 +# epatch "${FILESDIR}"/${PN}-2.2.4-unittests-build.patch + + # Deadlock causing infinite compilations with nvidia-drivers: + # https://bugs.gentoo.org/show_bug.cgi?id=463960 + # http://osdyson.org/issues/161 + # https://bugs.webkit.org/show_bug.cgi?id=125651 + epatch "${FILESDIR}"/${PN}-2.2.5-gir-nvidia-hangs.patch + + # Debian patches to fix support for some arches + # https://bugs.webkit.org/show_bug.cgi?id=129540 + epatch "${FILESDIR}"/${PN}-2.2.5-{hppa,ia64}-platform.patch + # https://bugs.webkit.org/show_bug.cgi?id=129542 + epatch "${FILESDIR}"/${PN}-2.4.1-ia64-malloc.patch + + AT_M4DIR=Source/autotools eautoreconf + + gnome2_src_prepare +} + +src_configure() { + # Respect CC, otherwise fails on prefix #395875 + tc-export CC + + # Arches without JIT support also need this to really disable it in all places + use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0 + + # It doesn't compile on alpha without this in LDFLAGS, bug #??? + use alpha && append-ldflags "-Wl,--no-relax" + + # Sigbuses on SPARC with mcpu and co., bug #??? + use sparc && filter-flags "-mvis" + + # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 + use ppc64 && append-flags "-mminimal-toc" + + # Try to use less memory, bug #469942 (see Fedora .spec for reference) + # --no-keep-memory doesn't work on ia64, bug #502492 + if ! use ia64; then + append-ldflags "-Wl,--no-keep-memory" + fi + if ! $(tc-getLD) --version | grep -q "GNU gold"; then + append-ldflags "-Wl,--reduce-memory-overheads" + fi + + local myconf="" + + if has_version "virtual/rubygems[ruby_targets_ruby21]"; then + myconf="${myconf} RUBY=$(type -P ruby21)" + elif has_version "virtual/rubygems[ruby_targets_ruby20]"; then + myconf="${myconf} RUBY=$(type -P ruby20)" + else + myconf="${myconf} RUBY=$(type -P ruby19)" + fi + + # TODO: Check Web Audio support + # should somehow let user select between them? + # + # * dependency-tracking is required so parallel builds won't fail + gnome2_src_configure \ + $(use_enable aqua quartz-target) \ + $(use_enable coverage) \ + $(use_enable debug) \ + $(use_enable egl) \ + $(use_enable geoloc geolocation) \ + $(use_enable gles2) \ + $(use_enable gstreamer video) \ + $(use_enable gstreamer web-audio) \ + $(use_enable introspection) \ + $(use_enable jit) \ + $(use_enable libsecret credential_storage) \ + $(use_enable opengl glx) \ + $(use_enable spell spellcheck) \ + $(use_enable webgl) \ + $(use_enable webgl accelerated-compositing) \ + $(use_enable X x11-target) \ + --with-gtk=2.0 \ + --disable-webkit2 \ + --enable-dependency-tracking \ + --disable-gtk-doc \ + ${myconf} +} + +src_compile() { + # Try to avoid issues like bug #463960 + unset DISPLAY + gnome2_src_compile +} + +src_test() { + # Tests expect an out-of-source build in WebKitBuild + ln -s . WebKitBuild || die "ln failed" + + # Prevents test failures on PaX systems + use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test* + + unset DISPLAY + # Tests need virtualx, bug #294691, bug #310695 + # Parallel tests sometimes fail + Xemake -j1 check +} + +src_install() { + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install + + # https://bugs.webkit.org/show_bug.cgi?id=129242 + MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_install + + newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk + newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore + newdoc Source/WebCore/ChangeLog ChangeLog.WebCore + + # Prevents crashes on PaX systems + use jit && pax-mark m "${ED}usr/bin/jsc-1" + + # File collisions with slot 3 + # bug #402699, https://bugs.webkit.org/show_bug.cgi?id=78134 + rm -rf "${ED}usr/share/gtk-doc" || die +} diff --git a/net-libs/webkit-gtk/webkit-gtk-2.4.4.ebuild b/net-libs/webkit-gtk/webkit-gtk-2.4.4.ebuild new file mode 100644 index 000000000000..a7f6a76ab9d5 --- /dev/null +++ b/net-libs/webkit-gtk/webkit-gtk-2.4.4.ebuild @@ -0,0 +1,279 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-2.4.4.ebuild,v 1.1 2014/07/14 18:09:48 pacho Exp $ + +EAPI="5" +GCONF_DEBUG="no" +PYTHON_COMPAT=( python{2_6,2_7} ) + +inherit autotools check-reqs eutils flag-o-matic gnome2 pax-utils python-any-r1 toolchain-funcs versionator virtualx + +MY_P="webkitgtk-${PV}" +DESCRIPTION="Open source web browser engine" +HOMEPAGE="http://www.webkitgtk.org/" +SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz" + +LICENSE="LGPL-2+ BSD" +SLOT="3/25" # soname version of libwebkit2gtk-3.0 +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" +IUSE="aqua coverage debug +egl +geoloc gles2 +gstreamer +introspection +jit libsecret +opengl spell wayland +webgl +X" +# bugs 372493, 416331 +REQUIRED_USE=" + geoloc? ( introspection ) + introspection? ( gstreamer ) + gles2? ( egl ) + webgl? ( ^^ ( gles2 opengl ) ) + !webgl? ( ?? ( gles2 opengl ) ) + || ( aqua wayland X ) +" + +# use sqlite, svg by default +# Aqua support in gtk3 is untested +# gtk2 is needed for plugin process support +# gtk3-3.10 required for wayland +RDEPEND=" + dev-libs/libxml2:2 + dev-libs/libxslt + media-libs/harfbuzz:=[icu(+)] + media-libs/libwebp:= + virtual/jpeg:0= + >=media-libs/libpng-1.4:0= + >=x11-libs/cairo-1.10:=[X] + >=dev-libs/glib-2.36.0:2 + >=x11-libs/gtk+-3.6.0:3[aqua=,introspection?] + >=dev-libs/icu-3.8.1-r1:= + >=net-libs/libsoup-2.42.0:2.4[introspection?] + dev-db/sqlite:3= + >=x11-libs/pango-1.30.0.0 + x11-libs/libXrender + x11-libs/libXt + >=x11-libs/gtk+-2.24.10:2 + + egl? ( media-libs/mesa[egl] ) + geoloc? ( >=app-misc/geoclue-2.1.5:2.0 ) + gles2? ( media-libs/mesa[gles2] ) + gstreamer? ( + >=media-libs/gstreamer-1.2:1.0 + >=media-libs/gst-plugins-base-1.2:1.0 ) + introspection? ( >=dev-libs/gobject-introspection-1.32.0 ) + libsecret? ( app-crypt/libsecret ) + opengl? ( virtual/opengl ) + spell? ( >=app-text/enchant-0.22:= ) + wayland? ( >=x11-libs/gtk+-3.10:3[wayland] ) + webgl? ( + x11-libs/cairo[opengl] + x11-libs/libXcomposite + x11-libs/libXdamage ) +" + +# paxctl needed for bug #407085 +# Need real bison, not yacc +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-lang/perl + || ( + virtual/rubygems[ruby_targets_ruby20] + virtual/rubygems[ruby_targets_ruby21] + virtual/rubygems[ruby_targets_ruby19] + ) + >=app-accessibility/at-spi2-core-2.5.3 + >=dev-libs/atk-2.8.0 + >=dev-util/gtk-doc-am-1.10 + dev-util/gperf + >=sys-devel/bison-2.4.3 + >=sys-devel/flex-2.5.33 + || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.3 ) + sys-devel/gettext + >=sys-devel/make-3.82-r4 + virtual/pkgconfig + + introspection? ( jit? ( sys-apps/paxctl ) ) + test? ( + dev-lang/python:2.7 + dev-python/pygobject:3[python_targets_python2_7] + x11-themes/hicolor-icon-theme + jit? ( sys-apps/paxctl ) ) +" + +S="${WORKDIR}/${MY_P}" + +CHECKREQS_DISK_BUILD="18G" # and even this might not be enough, bug #417307 + +pkg_pretend() { + if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then + einfo "Checking for sufficient disk space to build ${PN} with debugging CFLAGS" + check-reqs_pkg_pretend + fi + + if ! test-flag-CXX -std=c++11; then + die "You need at least GCC 4.7.x or Clang >= 3.3 for C++11-specific compiler flags" + fi +} + +pkg_setup() { + # Check whether any of the debugging flags is enabled + if [[ ${MERGE_TYPE} != "binary" ]] && is-flagq "-g*" && ! is-flagq "-g*0" ; then + if is-flagq "-ggdb" && [[ ${WEBKIT_GTK_GGDB} != "yes" ]]; then + replace-flags -ggdb -g + ewarn "Replacing \"-ggdb\" with \"-g\" in your CFLAGS." + ewarn "Building ${PN} with \"-ggdb\" produces binaries which are too" + ewarn "large for current binutils releases (bug #432784) and has very" + ewarn "high temporary build space and memory requirements." + ewarn "If you really want to build ${PN} with \"-ggdb\", add" + ewarn "WEBKIT_GTK_GGDB=yes" + ewarn "to your make.conf file." + fi + einfo "You need to have at least 18GB of temporary build space available" + einfo "to build ${PN} with debugging CFLAGS. Note that it might still" + einfo "not be enough, as the total space requirements depend on the flags" + einfo "(-ggdb vs -g1) and enabled features." + check-reqs_pkg_setup + fi + + [[ ${MERGE_TYPE} = "binary" ]] || python-any-r1_pkg_setup +} + +src_prepare() { + # intermediate MacPorts hack while upstream bug is not fixed properly + # https://bugs.webkit.org/show_bug.cgi?id=28727 + use aqua && epatch "${FILESDIR}"/${PN}-1.6.1-darwin-quartz.patch + + # Leave optimization level to user CFLAGS + # FORTIFY_SOURCE is enabled by default in Gentoo + sed -e 's/-O[012]//g' \ + -e 's/-D_FORTIFY_SOURCE=2//g' \ + -i Source/autotools/SetupCompilerFlags.m4 || die + + # Failing tests + # * webinspector -> https://bugs.webkit.org/show_bug.cgi?id=50744 + # * keyevents is interactive + # * mimehandling test sometimes fails under Xvfb (works fine manually), bug #??? + # * webdatasource test needs a network connection and intermittently fails with icedtea-web + # * webplugindatabase intermittently fails with icedtea-web, bug #???? + sed -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebinspector/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testkeyevents/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testmimehandling/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebdatasource/ d' \ + -e '/Programs\/TestWebKitAPI\/WebKitGtk\/testwebplugindatabase/ d' \ + -i Tools/TestWebKitAPI/GNUmakefile.am || die + + # bug #459978, upstream bug #113397 + epatch "${FILESDIR}/${PN}-1.11.90-gtk-docize-fix.patch" + + # FIXME: Needs updating, but probably unneeded in 2.4 as it has a + # "developer mode" for this + # Do not build unittests unless requested, upstream bug #128163 +# epatch "${FILESDIR}"/${PN}-2.2.4-unittests-build.patch + + # Deadlock causing infinite compilations with nvidia-drivers: + # https://bugs.gentoo.org/show_bug.cgi?id=463960 + # http://osdyson.org/issues/161 + # https://bugs.webkit.org/show_bug.cgi?id=125651 + epatch "${FILESDIR}"/${PN}-2.2.5-gir-nvidia-hangs.patch + + # Debian patches to fix support for some arches + # https://bugs.webkit.org/show_bug.cgi?id=129540 + epatch "${FILESDIR}"/${PN}-2.2.5-{hppa,ia64}-platform.patch + # https://bugs.webkit.org/show_bug.cgi?id=129542 + epatch "${FILESDIR}"/${PN}-2.4.1-ia64-malloc.patch + + AT_M4DIR=Source/autotools eautoreconf + + gnome2_src_prepare +} + +src_configure() { + # Respect CC, otherwise fails on prefix #395875 + tc-export CC + + # Arches without JIT support also need this to really disable it in all places + use jit || append-cppflags -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0 + + # It doesn't compile on alpha without this in LDFLAGS, bug #??? + use alpha && append-ldflags "-Wl,--no-relax" + + # Sigbuses on SPARC with mcpu and co., bug #??? + use sparc && filter-flags "-mvis" + + # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 + use ppc64 && append-flags "-mminimal-toc" + + # Try to use less memory, bug #469942 (see Fedora .spec for reference) + # --no-keep-memory doesn't work on ia64, bug #502492 + if ! use ia64; then + append-ldflags "-Wl,--no-keep-memory" + fi + if ! $(tc-getLD) --version | grep -q "GNU gold"; then + append-ldflags "-Wl,--reduce-memory-overheads" + fi + + local myconf="" + + if has_version "virtual/rubygems[ruby_targets_ruby21]"; then + myconf="${myconf} RUBY=$(type -P ruby21)" + elif has_version "virtual/rubygems[ruby_targets_ruby20]"; then + myconf="${myconf} RUBY=$(type -P ruby20)" + else + myconf="${myconf} RUBY=$(type -P ruby19)" + fi + + # TODO: Check Web Audio support + # should somehow let user select between them? + # + # * Aqua support in gtk3 is untested + # * dependency-tracking is required so parallel builds won't fail + gnome2_src_configure \ + $(use_enable aqua quartz-target) \ + $(use_enable coverage) \ + $(use_enable debug) \ + $(use_enable egl) \ + $(use_enable geoloc geolocation) \ + $(use_enable gles2) \ + $(use_enable gstreamer video) \ + $(use_enable gstreamer web-audio) \ + $(use_enable introspection) \ + $(use_enable jit) \ + $(use_enable libsecret credential_storage) \ + $(use_enable opengl glx) \ + $(use_enable spell spellcheck) \ + $(use_enable webgl) \ + $(use_enable webgl accelerated-compositing) \ + $(use_enable wayland wayland-target) \ + $(use_enable X x11-target) \ + --with-gtk=3.0 \ + --enable-dependency-tracking \ + --disable-gtk-doc \ + ${myconf} +} + +src_compile() { + # Try to avoid issues like bug #463960 + unset DISPLAY + gnome2_src_compile +} +src_test() { + # Tests expect an out-of-source build in WebKitBuild + ln -s . WebKitBuild || die "ln failed" + + # Prevents test failures on PaX systems + use jit && pax-mark m $(list-paxables Programs/*[Tt]ests/*) # Programs/unittests/.libs/test* + + unset DISPLAY + # Tests need virtualx, bug #294691, bug #310695 + # Parallel tests sometimes fail + Xemake -j1 check +} + +src_install() { + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install + + # https://bugs.webkit.org/show_bug.cgi?id=129242 + MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_install + + newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk + newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore + newdoc Source/WebCore/ChangeLog ChangeLog.WebCore + + # Prevents crashes on PaX systems + use jit && pax-mark m "${ED}usr/bin/jsc-3" +} |