From a4f964e12ae9f2cf6569b2cb70461ead7d72643e Mon Sep 17 00:00:00 2001 From: Alexandre Rostovtsev Date: Thu, 9 Aug 2012 08:11:44 +0000 Subject: Version bump with security and crash fixes. Fix building with bison-2.6 (bug #428012, thanks to Zabuldon, Guy, Mike Gilbert et al.). Drop old. (Portage version: 2.2.0_alpha120/cvs/Linux x86_64) --- net-libs/webkit-gtk/ChangeLog | 12 +- .../files/webkit-gtk-1.8.2-bison-2.6.patch | 508 +++++++++++++++++++++ net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild | 217 --------- net-libs/webkit-gtk/webkit-gtk-1.8.0-r300.ebuild | 223 --------- net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild | 224 +++++++++ net-libs/webkit-gtk/webkit-gtk-1.8.2-r300.ebuild | 236 ++++++++++ 6 files changed, 979 insertions(+), 441 deletions(-) create mode 100644 net-libs/webkit-gtk/files/webkit-gtk-1.8.2-bison-2.6.patch delete mode 100644 net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild delete mode 100644 net-libs/webkit-gtk/webkit-gtk-1.8.0-r300.ebuild create mode 100644 net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild create mode 100644 net-libs/webkit-gtk/webkit-gtk-1.8.2-r300.ebuild diff --git a/net-libs/webkit-gtk/ChangeLog b/net-libs/webkit-gtk/ChangeLog index a4ba47a0a5e2..a0b8cb938b9c 100644 --- a/net-libs/webkit-gtk/ChangeLog +++ b/net-libs/webkit-gtk/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-libs/webkit-gtk # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.169 2012/08/08 21:15:31 hwoarang Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/ChangeLog,v 1.170 2012/08/09 08:11:43 tetromino Exp $ + +*webkit-gtk-1.8.2-r300 (09 Aug 2012) +*webkit-gtk-1.8.2-r200 (09 Aug 2012) + + 09 Aug 2012; Alexandre Rostovtsev + -webkit-gtk-1.8.0-r200.ebuild, -webkit-gtk-1.8.0-r300.ebuild, + +webkit-gtk-1.8.2-r200.ebuild, +webkit-gtk-1.8.2-r300.ebuild, + +files/webkit-gtk-1.8.2-bison-2.6.patch: + Version bump with security and crash fixes. Fix building with bison-2.6 (bug + #428012, thanks to Zabuldon, Guy, Mike Gilbert et al.). Drop old. 08 Aug 2012; Markos Chandras webkit-gtk-1.8.1-r201.ebuild, webkit-gtk-1.8.1-r301.ebuild: diff --git a/net-libs/webkit-gtk/files/webkit-gtk-1.8.2-bison-2.6.patch b/net-libs/webkit-gtk/files/webkit-gtk-1.8.2-bison-2.6.patch new file mode 100644 index 000000000000..73b657b59e37 --- /dev/null +++ b/net-libs/webkit-gtk/files/webkit-gtk-1.8.2-bison-2.6.patch @@ -0,0 +1,508 @@ +2012-07-30 Alexis Menard + + Build fix with newer bison 2.6. + https://bugs.webkit.org/show_bug.cgi?id=92264 + + Reviewed by Adam Barth. + + As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html + YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS + version I had access to as well as recent Linux runs at least version 2.3 so it's safe + to use the replacement of these deprecated macros in favor of %lex-param and %parse-param. + As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release + of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore. + + No new tests : build fix and the patch should not trigger any regressions + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define. + * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h + therefore including this file within the namespace {} declarations leads to xpathyyparse being + defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp + (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs + to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same. + +Index: /trunk/Source/WebCore/css/CSSParser.cpp +=================================================================== +--- /trunk/Source/WebCore/css/CSSParser.cpp (revision 124098) ++++ /trunk/Source/WebCore/css/CSSParser.cpp (revision 124099) +@@ -115,5 +115,5 @@ + #endif + +-extern int cssyyparse(void* parser); ++extern int cssyyparse(WebCore::CSSParser*); + + using namespace std; +Index: /trunk/Source/WebCore/css/CSSGrammar.y +=================================================================== +--- /trunk/Source/WebCore/css/CSSGrammar.y (revision 124098) ++++ /trunk/Source/WebCore/css/CSSGrammar.y (revision 124099) +@@ -54,11 +54,10 @@ + #define YYDEBUG 0 + +-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x +-#define YYPARSE_PARAM parser +-#define YYLEX_PARAM parser +- + %} + + %pure_parser ++ ++%parse-param { CSSParser* parser } ++%lex-param { CSSParser* parser } + + %union { +@@ -90,5 +89,5 @@ + %{ + +-static inline int cssyyerror(const char*) ++static inline int cssyyerror(void*, const char*) + { + return 1; +Index: /trunk/Source/WebCore/xml/XPathParser.cpp +=================================================================== +--- /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124098) ++++ /trunk/Source/WebCore/xml/XPathParser.cpp (revision 124099) +@@ -33,22 +33,19 @@ + #include "XPathException.h" + #include "XPathNSResolver.h" ++#include "XPathPath.h" + #include "XPathStep.h" + #include + #include + +-int xpathyyparse(void*); +- ++using namespace WebCore; + using namespace WTF; + using namespace Unicode; +- +-namespace WebCore { +-namespace XPath { +- +-class LocationPath; +- +-#include "XPathGrammar.h" ++using namespace XPath; ++ ++extern int xpathyyparse(WebCore::XPath::Parser*); ++#include "XPathGrammar.h" + + Parser* Parser::currentParser = 0; +- ++ + enum XMLCat { NameStart, NameCont, NotPartOfName }; + +@@ -631,4 +628,2 @@ + } + +-} +-} +Index: /trunk/Source/WebCore/xml/XPathGrammar.y +=================================================================== +--- /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124098) ++++ /trunk/Source/WebCore/xml/XPathGrammar.y (revision 124099) +@@ -35,4 +35,5 @@ + #include "XPathPath.h" + #include "XPathPredicate.h" ++#include "XPathStep.h" + #include "XPathVariableReference.h" + #include +@@ -45,6 +46,4 @@ + #define YYDEBUG 0 + #define YYMAXDEPTH 10000 +-#define YYPARSE_PARAM parserParameter +-#define PARSER static_cast(parserParameter) + + using namespace WebCore; +@@ -54,4 +53,5 @@ + + %pure_parser ++%parse-param { WebCore::XPath::Parser* parser } + + %union +@@ -72,5 +72,5 @@ + + static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } +-static void xpathyyerror(const char*) { } ++static void xpathyyerror(void*, const char*) { } + + %} +@@ -119,5 +119,5 @@ + OrExpr + { +- PARSER->m_topExpr = $1; ++ parser->m_topExpr = $1; + } + ; +@@ -139,5 +139,5 @@ + { + $$ = new LocationPath; +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + | +@@ -151,5 +151,5 @@ + $$ = $2; + $$->insertFirstStep($1); +- PARSER->unregisterParseNode($1); ++ parser->unregisterParseNode($1); + } + ; +@@ -160,6 +160,6 @@ + $$ = new LocationPath; + $$->appendStep($1); +- PARSER->unregisterParseNode($1); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->registerParseNode($$); + } + | +@@ -167,5 +167,5 @@ + { + $$->appendStep($3); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($3); + } + | +@@ -174,6 +174,6 @@ + $$->appendStep($2); + $$->appendStep($3); +- PARSER->unregisterParseNode($2); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($2); ++ parser->unregisterParseNode($3); + } + ; +@@ -184,9 +184,9 @@ + if ($2) { + $$ = new Step(Step::ChildAxis, *$1, *$2); +- PARSER->deletePredicateVector($2); ++ parser->deletePredicateVector($2); + } else + $$ = new Step(Step::ChildAxis, *$1); +- PARSER->deleteNodeTest($1); +- PARSER->registerParseNode($$); ++ parser->deleteNodeTest($1); ++ parser->registerParseNode($$); + } + | +@@ -195,6 +195,6 @@ + String localName; + String namespaceURI; +- if (!PARSER->expandQName(*$1, localName, namespaceURI)) { +- PARSER->m_gotNamespaceError = true; ++ if (!parser->expandQName(*$1, localName, namespaceURI)) { ++ parser->m_gotNamespaceError = true; + YYABORT; + } +@@ -202,9 +202,9 @@ + if ($2) { + $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); +- PARSER->deletePredicateVector($2); ++ parser->deletePredicateVector($2); + } else + $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | +@@ -213,9 +213,9 @@ + if ($3) { + $$ = new Step($1, *$2, *$3); +- PARSER->deletePredicateVector($3); ++ parser->deletePredicateVector($3); + } else + $$ = new Step($1, *$2); +- PARSER->deleteNodeTest($2); +- PARSER->registerParseNode($$); ++ parser->deleteNodeTest($2); ++ parser->registerParseNode($$); + } + | +@@ -224,6 +224,6 @@ + String localName; + String namespaceURI; +- if (!PARSER->expandQName(*$2, localName, namespaceURI)) { +- PARSER->m_gotNamespaceError = true; ++ if (!parser->expandQName(*$2, localName, namespaceURI)) { ++ parser->m_gotNamespaceError = true; + YYABORT; + } +@@ -231,9 +231,9 @@ + if ($3) { + $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); +- PARSER->deletePredicateVector($3); ++ parser->deletePredicateVector($3); + } else + $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); +- PARSER->deleteString($2); +- PARSER->registerParseNode($$); ++ parser->deleteString($2); ++ parser->registerParseNode($$); + } + | +@@ -260,6 +260,6 @@ + $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); + +- PARSER->deleteString($1); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->registerNodeTest($$); + } + | +@@ -267,6 +267,6 @@ + { + $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); +- PARSER->deleteString($1); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->registerNodeTest($$); + } + | +@@ -274,7 +274,7 @@ + { + $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); +- PARSER->deleteString($1); +- PARSER->deleteString($3); +- PARSER->registerNodeTest($$); ++ parser->deleteString($1); ++ parser->deleteString($3); ++ parser->registerNodeTest($$); + } + ; +@@ -294,6 +294,6 @@ + $$ = new Vector; + $$->append(new Predicate($1)); +- PARSER->unregisterParseNode($1); +- PARSER->registerPredicateVector($$); ++ parser->unregisterParseNode($1); ++ parser->registerPredicateVector($$); + } + | +@@ -301,5 +301,5 @@ + { + $$->append(new Predicate($2)); +- PARSER->unregisterParseNode($2); ++ parser->unregisterParseNode($2); + } + ; +@@ -316,5 +316,5 @@ + { + $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + ; +@@ -324,5 +324,5 @@ + { + $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + | +@@ -330,5 +330,5 @@ + { + $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); +- PARSER->registerParseNode($$); ++ parser->registerParseNode($$); + } + ; +@@ -338,6 +338,6 @@ + { + $$ = new VariableReference(*$1); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | +@@ -350,6 +350,6 @@ + { + $$ = new StringExpression(*$1); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | +@@ -357,6 +357,6 @@ + { + $$ = new Number($1->toDouble()); +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | +@@ -370,6 +370,6 @@ + if (!$$) + YYABORT; +- PARSER->deleteString($1); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->registerParseNode($$); + } + | +@@ -379,7 +379,7 @@ + if (!$$) + YYABORT; +- PARSER->deleteString($1); +- PARSER->deleteExpressionVector($3); +- PARSER->registerParseNode($$); ++ parser->deleteString($1); ++ parser->deleteExpressionVector($3); ++ parser->registerParseNode($$); + } + ; +@@ -390,6 +390,6 @@ + $$ = new Vector; + $$->append($1); +- PARSER->unregisterParseNode($1); +- PARSER->registerExpressionVector($$); ++ parser->unregisterParseNode($1); ++ parser->registerExpressionVector($$); + } + | +@@ -397,5 +397,5 @@ + { + $$->append($3); +- PARSER->unregisterParseNode($3); ++ parser->unregisterParseNode($3); + } + ; +@@ -413,7 +413,7 @@ + $$->addSubExpression($1); + $$->addSubExpression($3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -431,7 +431,7 @@ + $3->setAbsolute(true); + $$ = new Path(static_cast($1), $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + | +@@ -441,8 +441,8 @@ + $3->setAbsolute(true); + $$ = new Path(static_cast($1), $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($2); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($2); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -454,7 +454,7 @@ + { + $$ = new Filter($1, *$2); +- PARSER->unregisterParseNode($1); +- PARSER->deletePredicateVector($2); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->deletePredicateVector($2); ++ parser->registerParseNode($$); + } + ; +@@ -466,7 +466,7 @@ + { + $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -478,7 +478,7 @@ + { + $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -490,7 +490,7 @@ + { + $$ = new EqTestOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -502,7 +502,7 @@ + { + $$ = new EqTestOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -514,7 +514,7 @@ + { + $$ = new NumericOp(NumericOp::OP_Add, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + | +@@ -522,7 +522,7 @@ + { + $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -534,7 +534,7 @@ + { + $$ = new NumericOp($2, $1, $3); +- PARSER->unregisterParseNode($1); +- PARSER->unregisterParseNode($3); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($1); ++ parser->unregisterParseNode($3); ++ parser->registerParseNode($$); + } + ; +@@ -547,6 +547,6 @@ + $$ = new Negative; + $$->addSubExpression($2); +- PARSER->unregisterParseNode($2); +- PARSER->registerParseNode($$); ++ parser->unregisterParseNode($2); ++ parser->registerParseNode($$); + } + ; diff --git a/net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild deleted file mode 100644 index f19f9f5d7c8c..000000000000 --- a/net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.8.0-r200.ebuild,v 1.4 2012/05/05 02:54:26 jdhore Exp $ - -EAPI="4" - -# Don't define PYTHON_DEPEND: python only needed at build time -inherit autotools eutils flag-o-matic gnome2-utils pax-utils python virtualx - -MY_P="webkit-${PV}" -DESCRIPTION="Open source web browser engine" -HOMEPAGE="http://www.webkitgtk.org/" -SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz" -#SRC_URI="mirror://gentoo/${P}.tar.xz" - -LICENSE="LGPL-2 LGPL-2.1 BSD" -SLOT="2" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" -# geoclue -IUSE="aqua coverage debug +geoloc +gstreamer +introspection +jit spell +webgl" -# bug 372493 -REQUIRED_USE="introspection? ( gstreamer )" - -# use sqlite, svg by default -# dependency on >=x11-libs/gtk+-2.13:2 for gail -RDEPEND=" - dev-libs/libxml2:2 - dev-libs/libxslt - virtual/jpeg - >=media-libs/libpng-1.4:0 - >=x11-libs/cairo-1.10 - >=dev-libs/glib-2.31.2:2 - >=x11-libs/gtk+-2.13:2[aqua=,introspection?] - >=dev-libs/icu-3.8.1-r1 - >=net-libs/libsoup-2.37.2.1:2.4[introspection?] - dev-db/sqlite:3 - >=x11-libs/pango-1.21 - x11-libs/libXrender - - geoloc? ( app-misc/geoclue ) - - gstreamer? ( - media-libs/gstreamer:0.10 - >=media-libs/gst-plugins-base-0.10.30:0.10 ) - - introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) - - spell? ( >=app-text/enchant-0.22 ) - - webgl? ( virtual/opengl ) -" -# paxctl needed for bug #407085 -DEPEND="${RDEPEND} - dev-lang/perl - =dev-lang/python-2* - sys-devel/bison - >=sys-devel/flex-2.5.33 - sys-devel/gettext - dev-util/gperf - virtual/pkgconfig - dev-util/gtk-doc-am - introspection? ( jit? ( sys-apps/paxctl ) ) - test? ( x11-themes/hicolor-icon-theme - jit? ( sys-apps/paxctl ) ) -" -# Need real bison, not yacc - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - # Needed for CodeGeneratorInspector.py - python_set_active_version 2 - python_pkg_setup -} - -src_prepare() { - DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install - - # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC - # https://bugs.webkit.org/show_bug.cgi?id=19775 - # TODO: FAILS TO APPLY! - #use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch - - # CVE-2011-3064, https://bugzilla.redhat.com/show_bug.cgi?id=807596 - epatch "${FILESDIR}/${P}-svgimagebuffer-clip.patch" - - # Build failure with USE=-geoloc, bug #411955 - epatch "${FILESDIR}/${P}-no-geoloc.patch" - - # 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 - - # Bug #403049, https://bugs.webkit.org/show_bug.cgi?id=79605 - epatch "${FILESDIR}/${PN}-1.7.5-linguas.patch" - - # Drop DEPRECATED flags - sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' GNUmakefile.am || die - - # Don't force -O2 - sed -i 's/-O2//g' "${S}"/configure.ac || die - - # Build-time segfaults under PaX with USE="introspection jit", bug #404215 - if use introspection && use jit; then - epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch" - cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die - fi - - # We need to reset some variables to prevent permissions problems and failures - # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669 - gnome2_environment_reset - - # https://bugs.webkit.org/show_bug.cgi?id=79498 - epatch "${FILESDIR}/${PN}-1.7.90-parallel-make-hack.patch" - - # XXX: failing tests - # https://bugs.webkit.org/show_bug.cgi?id=50744 - # testkeyevents is interactive - # mimehandling test sometimes fails under Xvfb (works fine manually) - # datasource test needs a network connection and intermittently fails with - # icedtea-web - sed -e '/Programs\/unittests\/testwebinspector/ d' \ - -e '/Programs\/unittests\/testkeyevents/ d' \ - -e '/Programs\/unittests\/testmimehandling/ d' \ - -e '/Programs\/unittests\/testwebdatasource/ d' \ - -i Source/WebKit/gtk/GNUmakefile.am || die - # garbage collection test fails intermittently if icedtea-web is installed - epatch "${FILESDIR}/${PN}-1.7.90-test_garbage_collection.patch" - - # Respect CC, otherwise fails on prefix #395875 - tc-export CC - - # Prevent maintainer mode from being triggered during make - AT_M4DIR=Source/autotools eautoreconf - - # Ugly hack of a workaround for bizarre paludis behavior, bug #406117 - # http://paludis.exherbo.org/trac/ticket/1230 - sed -e '/ --\(en\|dis\)able-dependency-tracking/ d' -i configure || die -} - -src_configure() { - # It doesn't compile on alpha without this in LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Sigbuses on SPARC with mcpu and co. - use sparc && filter-flags "-mvis" - - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 - use ppc64 && append-flags "-mminimal-toc" - - local myconf - - # XXX: Check Web Audio support - # XXX: dependency-tracking is required so parallel builds won't fail - # WebKit2 can only be built with gtk3 - # API documentation (gtk-doc) is built in webkit-gtk:3, always disable here - myconf=" - $(use_enable coverage) - $(use_enable debug) - $(use_enable debug debug-features) - $(use_enable geoloc geolocation) - $(use_enable spell spellcheck) - $(use_enable introspection) - $(use_enable gstreamer video) - $(use_enable jit) - $(use_enable webgl) - --enable-web-sockets - --with-gtk=2.0 - --disable-gtk-doc - --disable-webkit2 - --enable-dependency-tracking - $(use aqua && echo "--with-font-backend=pango --with-target=quartz")" - - econf ${myconf} -} - -src_compile() { - # Horrible failure of a hack to work around parallel make problems, - # see https://bugs.webkit.org/show_bug.cgi?id=79498 - emake -j1 all-built-sources-local - emake all-ltlibraries-local - emake all-programs-local - use introspection && emake WebKit-1.0.gir - emake all-data-local - default -} - -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/unittests/test*) \ - Programs/unittests/.libs/test* - unset DISPLAY - # Tests need virtualx, bug #294691, bug #310695 - # Parallel tests sometimes fail - Xemake -j1 check -} - -src_install() { - default - - newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk - newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po - newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore - newdoc Source/WebCore/ChangeLog ChangeLog.WebCore - - # Remove .la files - find "${D}" -name '*.la' -exec rm -f '{}' + - - # 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-1.8.0-r300.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.8.0-r300.ebuild deleted file mode 100644 index a5df56c578f9..000000000000 --- a/net-libs/webkit-gtk/webkit-gtk-1.8.0-r300.ebuild +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 1999-2012 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.8.0-r300.ebuild,v 1.4 2012/05/05 02:54:26 jdhore Exp $ - -EAPI="4" - -# Don't define PYTHON_DEPEND: python only needed at build time -inherit autotools eutils flag-o-matic gnome2-utils pax-utils python virtualx - -MY_P="webkit-${PV}" -DESCRIPTION="Open source web browser engine" -HOMEPAGE="http://www.webkitgtk.org/" -SRC_URI="http://www.webkitgtk.org/releases/${MY_P}.tar.xz" -#SRC_URI="mirror://gentoo/${P}.tar.xz" - -LICENSE="LGPL-2 LGPL-2.1 BSD" -SLOT="3" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" -# geoclue -IUSE="aqua coverage debug doc +geoloc +gstreamer +introspection +jit spell +webgl webkit2" -# bug 372493 -REQUIRED_USE="introspection? ( gstreamer )" - -# use sqlite, svg by default -# dependency on >=x11-libs/gtk+-2.13:2 for gail -# Aqua support in gtk3 is untested -# gtk2 is needed for plugin process support -RDEPEND=" - dev-libs/libxml2:2 - dev-libs/libxslt - virtual/jpeg - >=media-libs/libpng-1.4:0 - >=x11-libs/cairo-1.10 - >=dev-libs/glib-2.31.2:2 - >=x11-libs/gtk+-3.0:3[aqua=,introspection?] - >=dev-libs/icu-3.8.1-r1 - >=net-libs/libsoup-2.37.2.1:2.4[introspection?] - dev-db/sqlite:3 - >=x11-libs/pango-1.21 - x11-libs/libXrender - - geoloc? ( app-misc/geoclue ) - - gstreamer? ( - media-libs/gstreamer:0.10 - >=media-libs/gst-plugins-base-0.10.30:0.10 ) - - introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) - - spell? ( >=app-text/enchant-0.22 ) - - webgl? ( virtual/opengl ) - - webkit2? ( >=x11-libs/gtk+-2.13:2 ) -" -# paxctl needed for bug #407085 -DEPEND="${RDEPEND} - dev-lang/perl - =dev-lang/python-2* - sys-devel/bison - >=sys-devel/flex-2.5.33 - sys-devel/gettext - dev-util/gperf - virtual/pkgconfig - dev-util/gtk-doc-am - doc? ( >=dev-util/gtk-doc-1.10 ) - introspection? ( jit? ( sys-apps/paxctl ) ) - test? ( - x11-themes/hicolor-icon-theme - jit? ( sys-apps/paxctl ) ) - webkit2? ( app-accessibility/at-spi2-core ) -" -# Need real bison, not yacc - -S="${WORKDIR}/${MY_P}" - -pkg_setup() { - # Needed for CodeGeneratorInspector.py - python_set_active_version 2 - python_pkg_setup -} - -src_prepare() { - DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install - - # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC - # https://bugs.webkit.org/show_bug.cgi?id=19775 - # TODO: FAILS TO APPLY! - #use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch - - # CVE-2011-3064, https://bugzilla.redhat.com/show_bug.cgi?id=807596 - epatch "${FILESDIR}/${P}-svgimagebuffer-clip.patch" - - # webkit2 build failure with gcc-4.5, bug #412027 - epatch "${FILESDIR}/${P}-typedef-WebKitWebView.patch" - - # Build failure with USE=-geoloc, bug #411955 - epatch "${FILESDIR}/${P}-no-geoloc.patch" - - # 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 - - # Bug #403049, https://bugs.webkit.org/show_bug.cgi?id=79605 - epatch "${FILESDIR}/${PN}-1.7.5-linguas.patch" - - # Drop DEPRECATED flags - sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' GNUmakefile.am || die - - # Don't force -O2 - sed -i 's/-O2//g' "${S}"/configure.ac || die - - # Build-time segfaults under PaX with USE="introspection jit", bug #404215 - if use introspection && use jit; then - epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch" - cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die - fi - - # We need to reset some variables to prevent permissions problems and failures - # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669 - gnome2_environment_reset - - # https://bugs.webkit.org/show_bug.cgi?id=79498 - epatch "${FILESDIR}/${PN}-1.7.90-parallel-make-hack.patch" - - # XXX: failing tests - # https://bugs.webkit.org/show_bug.cgi?id=50744 - # testkeyevents is interactive - # mimehandling test sometimes fails under Xvfb (works fine manually) - # datasource test needs a network connection and intermittently fails with - # icedtea-web - sed -e '/Programs\/unittests\/testwebinspector/ d' \ - -e '/Programs\/unittests\/testkeyevents/ d' \ - -e '/Programs\/unittests\/testmimehandling/ d' \ - -e '/Programs\/unittests\/testwebdatasource/ d' \ - -i Source/WebKit/gtk/GNUmakefile.am || die - # garbage collection test fails intermittently if icedtea-web is installed - epatch "${FILESDIR}/${PN}-1.7.90-test_garbage_collection.patch" - - # Respect CC, otherwise fails on prefix #395875 - tc-export CC - - # Prevent maintainer mode from being triggered during make - AT_M4DIR=Source/autotools eautoreconf - - # Ugly hack of a workaround for bizarre paludis behavior, bug #406117 - # http://paludis.exherbo.org/trac/ticket/1230 - sed -e '/ --\(en\|dis\)able-dependency-tracking/ d' -i configure || die -} - -src_configure() { - # It doesn't compile on alpha without this in LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Sigbuses on SPARC with mcpu and co. - use sparc && filter-flags "-mvis" - - # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 - use ppc64 && append-flags "-mminimal-toc" - - local myconf - - # XXX: Check Web Audio support - # XXX: dependency-tracking is required so parallel builds won't fail - myconf=" - $(use_enable coverage) - $(use_enable debug) - $(use_enable debug debug-features) - $(use_enable doc gtk-doc) - $(use_enable geoloc geolocation) - $(use_enable spell spellcheck) - $(use_enable introspection) - $(use_enable gstreamer video) - $(use_enable jit) - $(use_enable webgl) - $(use_enable webkit2) - --enable-web-sockets - --with-gtk=3.0 - --enable-dependency-tracking - $(use aqua && echo "--with-font-backend=pango --with-target=quartz")" - # Aqua support in gtk3 is untested - - econf ${myconf} -} - -src_compile() { - # Horrible failure of a hack to work around parallel make problems, - # see https://bugs.webkit.org/show_bug.cgi?id=79498 - emake -j1 all-built-sources-local - emake all-ltlibraries-local - emake all-programs-local - use introspection && emake WebKit-3.0.gir - emake all-data-local - default -} - -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() { - default - - newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk - newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po - newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore - newdoc Source/WebCore/ChangeLog ChangeLog.WebCore - - # Remove .la files - find "${D}" -name '*.la' -exec rm -f '{}' + - - # Prevents crashes on PaX systems - use jit && pax-mark m "${ED}usr/bin/jsc-3" -} diff --git a/net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild new file mode 100644 index 000000000000..0b7dcd36b3b7 --- /dev/null +++ b/net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild @@ -0,0 +1,224 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.8.2-r200.ebuild,v 1.1 2012/08/09 08:11:43 tetromino Exp $ + +EAPI="4" + +# Don't define PYTHON_DEPEND: python only needed at build time +inherit autotools eutils flag-o-matic gnome2-utils pax-utils python virtualx + +MY_P="webkit-${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 LGPL-2.1 BSD" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" +IUSE="aqua coverage debug +geoloc +gstreamer +introspection +jit spell +webgl" +# bugs 372493, 416331 +REQUIRED_USE="introspection? ( geoloc gstreamer )" + +# use sqlite, svg by default +# dependency on >=x11-libs/gtk+-2.13:2 for gail +RDEPEND=" + dev-libs/libxml2:2 + dev-libs/libxslt + virtual/jpeg + >=media-libs/libpng-1.4:0 + >=x11-libs/cairo-1.10 + >=dev-libs/glib-2.32:2 + >=x11-libs/gtk+-2.13:2[aqua=,introspection?] + >=dev-libs/icu-3.8.1-r1 + >=net-libs/libsoup-2.37.92:2.4[introspection?] + dev-db/sqlite:3 + >=x11-libs/pango-1.21 + x11-libs/libXrender + + geoloc? ( app-misc/geoclue ) + + gstreamer? ( + media-libs/gstreamer:0.10 + >=media-libs/gst-plugins-base-0.10.30:0.10 ) + + introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) + + spell? ( >=app-text/enchant-0.22 ) + + webgl? ( virtual/opengl ) +" +# paxctl needed for bug #407085 +DEPEND="${RDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-devel/bison + >=sys-devel/flex-2.5.33 + sys-devel/gettext + dev-util/gperf + virtual/pkgconfig + dev-util/gtk-doc-am + introspection? ( jit? ( sys-apps/paxctl ) ) + test? ( x11-themes/hicolor-icon-theme + jit? ( sys-apps/paxctl ) ) +" +# Need real bison, not yacc + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + # Needed for CodeGeneratorInspector.py + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install + + # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC + # https://bugs.webkit.org/show_bug.cgi?id=19775 + # TODO: FAILS TO APPLY! + #use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch + + # USE=-gstreamer build failure, bug #412221, https://bugs.webkit.org/show_bug.cgi?id=84526 + epatch "${FILESDIR}/${PN}-1.8.1-CodeGeneratorGObject-properties.patch" + + # bug #416057; in 1.9.x + epatch "${FILESDIR}/${PN}-1.8.1-gst-required-version.patch" + + # bug #428012; in 1.9.x + epatch "${FILESDIR}/${PN}-1.8.2-bison-2.6.patch" + + # 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 + + # Bug #403049, https://bugs.webkit.org/show_bug.cgi?id=79605 + epatch "${FILESDIR}/${PN}-1.7.5-linguas.patch" + + # Drop DEPRECATED flags + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' GNUmakefile.am || die + + # Don't force -O2 + sed -i 's/-O2//g' "${S}"/configure.ac || die + + # Build-time segfaults under PaX with USE="introspection jit", bug #404215 + if use introspection && use jit; then + epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch" + cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die + fi + + # We need to reset some variables to prevent permissions problems and failures + # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669 + gnome2_environment_reset + + # https://bugs.webkit.org/show_bug.cgi?id=79498 + epatch "${FILESDIR}/${PN}-1.7.90-parallel-make-hack.patch" + + # XXX: failing tests + # https://bugs.webkit.org/show_bug.cgi?id=50744 + # testkeyevents is interactive + # mimehandling test sometimes fails under Xvfb (works fine manually) + # datasource test needs a network connection and intermittently fails with + # icedtea-web + sed -e '/Programs\/unittests\/testwebinspector/ d' \ + -e '/Programs\/unittests\/testkeyevents/ d' \ + -e '/Programs\/unittests\/testmimehandling/ d' \ + -e '/Programs\/unittests\/testwebdatasource/ d' \ + -i Source/WebKit/gtk/GNUmakefile.am || die + # garbage collection test fails intermittently if icedtea-web is installed + epatch "${FILESDIR}/${PN}-1.7.90-test_garbage_collection.patch" + + # occasional test failure due to additional Xvfb process spawned + epatch "${FILESDIR}/${PN}-1.8.1-tests-xvfb.patch" + + # For >=sys-devel/automake-1.12 compability wrt #420591 + sed -i -e 's:mkdir_p:MKDIR_P:' {.,Source/WebKit/gtk/po}/GNUmakefile.am || die + + # Respect CC, otherwise fails on prefix #395875 + tc-export CC + + # Prevent maintainer mode from being triggered during make + AT_M4DIR=Source/autotools eautoreconf + + # Ugly hack of a workaround for bizarre paludis behavior, bug #406117 + # http://paludis.exherbo.org/trac/ticket/1230 + sed -e '/ --\(en\|dis\)able-dependency-tracking/ d' -i configure || die +} + +src_configure() { + # It doesn't compile on alpha without this in LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Sigbuses on SPARC with mcpu and co. + use sparc && filter-flags "-mvis" + + # https://bugs.webkit.org/show_bug.cgi?id=42070 , #301634 + use ppc64 && append-flags "-mminimal-toc" + + local myconf + + # XXX: Check Web Audio support + # XXX: dependency-tracking is required so parallel builds won't fail + # WebKit2 can only be built with gtk3 + # API documentation (gtk-doc) is built in webkit-gtk:3, always disable here + myconf=" + $(use_enable coverage) + $(use_enable debug) + $(use_enable debug debug-features) + $(use_enable geoloc geolocation) + $(use_enable spell spellcheck) + $(use_enable introspection) + $(use_enable gstreamer video) + $(use_enable jit) + $(use_enable webgl) + --enable-web-sockets + --with-gtk=2.0 + --disable-gtk-doc + --disable-webkit2 + --enable-dependency-tracking + $(use aqua && echo "--with-font-backend=pango --with-target=quartz")" + + econf ${myconf} +} + +src_compile() { + # Horrible failure of a hack to work around parallel make problems, + # see https://bugs.webkit.org/show_bug.cgi?id=79498 + emake -j1 all-built-sources-local + emake all-ltlibraries-local + emake all-programs-local + use introspection && emake WebKit-1.0.gir + emake all-data-local + default +} + +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/unittests/test*) \ + Programs/unittests/.libs/test* + unset DISPLAY + # Tests need virtualx, bug #294691, bug #310695 + # Parallel tests sometimes fail + Xemake -j1 check +} + +src_install() { + default + + newdoc Source/WebKit/gtk/ChangeLog ChangeLog.gtk + newdoc Source/WebKit/gtk/po/ChangeLog ChangeLog.gtk-po + newdoc Source/JavaScriptCore/ChangeLog ChangeLog.JavaScriptCore + newdoc Source/WebCore/ChangeLog ChangeLog.WebCore + + # Remove .la files + find "${D}" -name '*.la' -exec rm -f '{}' + + + # 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-1.8.2-r300.ebuild b/net-libs/webkit-gtk/webkit-gtk-1.8.2-r300.ebuild new file mode 100644 index 000000000000..e007b0e01af0 --- /dev/null +++ b/net-libs/webkit-gtk/webkit-gtk-1.8.2-r300.ebuild @@ -0,0 +1,236 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/webkit-gtk/webkit-gtk-1.8.2-r300.ebuild,v 1.1 2012/08/09 08:11:43 tetromino Exp $ + +EAPI="4" + +# Don't define PYTHON_DEPEND: python only needed at build time +inherit autotools eutils flag-o-matic gnome2-utils pax-utils python virtualx + +MY_P="webkit-${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 LGPL-2.1 BSD" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-macos" +IUSE="aqua coverage debug doc +geoloc +gstreamer +introspection +jit spell +webgl webkit2" +# bugs 372493, 416331 +REQUIRED_USE="introspection? ( geoloc gstreamer )" + +# use sqlite, svg by default +# dependency on >=x11-libs/gtk+-2.13:2 for gail +# Aqua support in gtk3 is untested +# gtk2 is needed for plugin process support +RDEPEND=" + dev-libs/libxml2:2 + dev-libs/libxslt + virtual/jpeg + >=media-libs/libpng-1.4:0 + >=x11-libs/cairo-1.10 + >=dev-libs/glib-2.32:2 + >=x11-libs/gtk+-3.4:3[aqua=,introspection?] + >=dev-libs/icu-3.8.1-r1 + >=net-libs/libsoup-2.37.92:2.4[introspection?] + dev-db/sqlite:3 + >=x11-libs/pango-1.21 + x11-libs/libXrender + + geoloc? ( app-misc/geoclue ) + + gstreamer? ( + media-libs/gstreamer:0.10 + >=media-libs/gst-plugins-base-0.10.30:0.10 ) + + introspection? ( >=dev-libs/gobject-introspection-0.9.5 ) + + spell? ( >=app-text/enchant-0.22 ) + + webgl? ( virtual/opengl ) + + webkit2? ( >=x11-libs/gtk+-2.13:2 ) +" +# paxctl needed for bug #407085 +DEPEND="${RDEPEND} + dev-lang/perl + =dev-lang/python-2* + sys-devel/bison + >=sys-devel/flex-2.5.33 + sys-devel/gettext + dev-util/gperf + virtual/pkgconfig + dev-util/gtk-doc-am + doc? ( >=dev-util/gtk-doc-1.10 ) + introspection? ( jit? ( sys-apps/paxctl ) ) + test? ( + x11-themes/hicolor-icon-theme + jit? ( sys-apps/paxctl ) ) + webkit2? ( app-accessibility/at-spi2-core ) +" +# Need real bison, not yacc + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + # Needed for CodeGeneratorInspector.py + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + DOCS="ChangeLog NEWS" # other ChangeLog files handled by src_install + + # FIXME: Fix unaligned accesses on ARM, IA64 and SPARC + # https://bugs.webkit.org/show_bug.cgi?id=19775 + # TODO: FAILS TO APPLY! + #use sparc && epatch "${FILESDIR}"/${PN}-1.2.3-fix-pool-sparc.patch + + # webkit2 build failure with gcc-4.5, bug #412027 + epatch "${FILESDIR}/${PN}-1.8.0-typedef-WebKitWebView.patch" + + # USE=-gstreamer build failure, bug #412221, https://bugs.webkit.org/show_bug.cgi?id=84526 + epatch "${FILESDIR}/${PN}-1.8.1-CodeGeneratorGObject-properties.patch" + + # bug #416057; in 1.9.x + epatch "${FILESDIR}/${PN}-1.8.1-gst-required-version.patch" + + # bug #428012; in 1.9.x + epatch "${FILESDIR}/${PN}-1.8.2-bison-2.6.patch" + + # 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 + + # Bug #403049, https://bugs.webkit.org/show_bug.cgi?id=79605 + epatch "${FILESDIR}/${PN}-1.7.5-linguas.patch" + + # Drop DEPRECATED flags + sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' GNUmakefile.am || die + + # Don't force -O2 + sed -i 's/-O2//g' "${S}"/configure.ac || die + + # Build-time segfaults under PaX with USE="introspection jit", bug #404215 + if use introspection && use jit; then + epatch "${FILESDIR}/${PN}-1.6.3-paxctl-introspection.patch" + cp "${FILESDIR}/gir-paxctl-lt-wrapper" "${S}/" || die + fi + + # We need to reset some variables to prevent permissions problems and failures + # like https://bugs.webkit.org/show_bug.cgi?id=35471 and bug #323669 + gnome2_environment_reset + + # https://bugs.webkit.org/show_bug.cgi?id=79498 + epatch "${FILESDIR}/${PN}-1.7.90-parallel-make-hack.patch" + + # XXX: failing tests + # https://bugs.webkit.org/show_bug.cgi?id=50744 + # testkeyevents is interactive + # mimehandling test sometimes fails under Xvfb (works fine manually) + # datasource test needs a network connection and intermittently fails with + # icedtea-web + sed -e '/Programs\/unittests\/testwebinspector/ d' \ + -e '/Programs\/unittests\/testkeyevents/ d' \ + -e '/Programs\/unittests\/testmimehandling/ d' \ + -e '/Programs\/unittests\/testwebdatasource/ d' \ + -i Source/WebKit/gtk/GNUmakefile.am || die + # FIXME: TestWebKitWebView always fails for webkit-gtk-1.8.2-r300. Why? + # if ! use gstreamer; then + # webkit2's TestWebKitWebView requires