summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-sato/webkit')
-rw-r--r--meta/recipes-sato/webkit/files/bison-2.6.patch558
-rw-r--r--meta/recipes-sato/webkit/files/no-gtkdoc.patch20
-rw-r--r--meta/recipes-sato/webkit/files/nodolt.patch19
-rw-r--r--meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch62
-rw-r--r--meta/recipes-sato/webkit/files/webkit-gtk-ANGLE-doesn-t-build-with-bison-3.patch26
-rw-r--r--meta/recipes-sato/webkit/libwpe_1.12.0.bb18
-rw-r--r--meta/recipes-sato/webkit/webkit-gtk-1.8.3/0001-Enable-mips64-build.patch69
-rw-r--r--meta/recipes-sato/webkit/webkit-gtk-1.8.3/aarch64.patch41
-rw-r--r--meta/recipes-sato/webkit/webkit-gtk-1.8.3/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-sato/webkit/webkit-gtk_1.8.3.bb116
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch42
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch27
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch133
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch46
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch47
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch52
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/include_xutil.patch34
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch77
-rw-r--r--meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch28
-rw-r--r--meta/recipes-sato/webkit/webkitgtk_2.34.1.bb164
-rw-r--r--meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb24
21 files changed, 692 insertions, 925 deletions
diff --git a/meta/recipes-sato/webkit/files/bison-2.6.patch b/meta/recipes-sato/webkit/files/bison-2.6.patch
deleted file mode 100644
index d4aa674217..0000000000
--- a/meta/recipes-sato/webkit/files/bison-2.6.patch
+++ /dev/null
@@ -1,558 +0,0 @@
-Upstream-Status: Backport
-http://trac.webkit.org/changeset/124099
-
-Subversion Revision: 123651
-diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y
-index c7c10b541cd46ad4febc6efe289e81b2cfb0861e..1c604e76b4da4cc65f395bc4a73b112561bd5c84 100644
---- a/Source/WebCore/css/CSSGrammar.y
-+++ b/Source/WebCore/css/CSSGrammar.y
-@@ -53,14 +53,13 @@ using namespace HTMLNames;
- #define YYMAXDEPTH 10000
- #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 {
- bool boolean;
- char character;
-@@ -89,7 +88,7 @@ using namespace HTMLNames;
-
- %{
-
--static inline int cssyyerror(const char*)
-+static inline int cssyyerror(void*, const char*)
- {
- return 1;
- }
-diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
-index 650844060477cfc6ea6fdeaf11ec63b34ac646e7..8369549dbff25537cf93a11237a9bbbac4fe50f2 100644
---- a/Source/WebCore/css/CSSParser.cpp
-+++ b/Source/WebCore/css/CSSParser.cpp
-@@ -114,7 +114,7 @@
- extern int cssyydebug;
- #endif
-
--extern int cssyyparse(void* parser);
-+extern int cssyyparse(WebCore::CSSParser*);
-
- using namespace std;
- using namespace WTF;
-diff --git a/Source/WebCore/xml/XPathGrammar.y b/Source/WebCore/xml/XPathGrammar.y
-index 2eba5b35bd2338272a0f4ec756d137e47d2d59c8..d558211db2d89ea13716762a51397755560f66f3 100644
---- a/Source/WebCore/xml/XPathGrammar.y
-+++ b/Source/WebCore/xml/XPathGrammar.y
-@@ -34,6 +34,7 @@
- #include "XPathParser.h"
- #include "XPathPath.h"
- #include "XPathPredicate.h"
-+#include "XPathStep.h"
- #include "XPathVariableReference.h"
- #include <wtf/FastMalloc.h>
-
-@@ -44,8 +45,6 @@
- #define YYLTYPE_IS_TRIVIAL 1
- #define YYDEBUG 0
- #define YYMAXDEPTH 10000
--#define YYPARSE_PARAM parserParameter
--#define PARSER static_cast<Parser*>(parserParameter)
-
- using namespace WebCore;
- using namespace XPath;
-@@ -53,6 +52,7 @@ using namespace XPath;
- %}
-
- %pure_parser
-+%parse-param { WebCore::XPath::Parser* parser }
-
- %union
- {
-@@ -71,7 +71,7 @@ using namespace XPath;
- %{
-
- static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
--static void xpathyyerror(const char*) { }
-+static void xpathyyerror(void*, const char*) { }
-
- %}
-
-@@ -118,7 +118,7 @@ static void xpathyyerror(const char*) { }
- Expr:
- OrExpr
- {
-- PARSER->m_topExpr = $1;
-+ parser->m_topExpr = $1;
- }
- ;
-
-@@ -138,7 +138,7 @@ AbsoluteLocationPath:
- '/'
- {
- $$ = new LocationPath;
-- PARSER->registerParseNode($$);
-+ parser->registerParseNode($$);
- }
- |
- '/' RelativeLocationPath
-@@ -150,7 +150,7 @@ AbsoluteLocationPath:
- {
- $$ = $2;
- $$->insertFirstStep($1);
-- PARSER->unregisterParseNode($1);
-+ parser->unregisterParseNode($1);
- }
- ;
-
-@@ -159,22 +159,22 @@ RelativeLocationPath:
- {
- $$ = new LocationPath;
- $$->appendStep($1);
-- PARSER->unregisterParseNode($1);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->registerParseNode($$);
- }
- |
- RelativeLocationPath '/' Step
- {
- $$->appendStep($3);
-- PARSER->unregisterParseNode($3);
-+ parser->unregisterParseNode($3);
- }
- |
- RelativeLocationPath DescendantOrSelf Step
- {
- $$->appendStep($2);
- $$->appendStep($3);
-- PARSER->unregisterParseNode($2);
-- PARSER->unregisterParseNode($3);
-+ parser->unregisterParseNode($2);
-+ parser->unregisterParseNode($3);
- }
- ;
-
-@@ -183,58 +183,58 @@ Step:
- {
- 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($$);
- }
- |
- NAMETEST OptionalPredicateList
- {
- 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;
- }
-
- 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($$);
- }
- |
- AxisSpecifier NodeTest OptionalPredicateList
- {
- 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($$);
- }
- |
- AxisSpecifier NAMETEST OptionalPredicateList
- {
- 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;
- }
-
- 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($$);
- }
- |
- AbbreviatedStep
-@@ -259,23 +259,23 @@ NodeTest:
- else if (*$1 == "comment")
- $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
-
-- PARSER->deleteString($1);
-- PARSER->registerNodeTest($$);
-+ parser->deleteString($1);
-+ parser->registerNodeTest($$);
- }
- |
- PI '(' ')'
- {
- $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
-- PARSER->deleteString($1);
-- PARSER->registerNodeTest($$);
-+ parser->deleteString($1);
-+ parser->registerNodeTest($$);
- }
- |
- PI '(' LITERAL ')'
- {
- $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
-- PARSER->deleteString($1);
-- PARSER->deleteString($3);
-- PARSER->registerNodeTest($$);
-+ parser->deleteString($1);
-+ parser->deleteString($3);
-+ parser->registerNodeTest($$);
- }
- ;
-
-@@ -293,14 +293,14 @@ PredicateList:
- {
- $$ = new Vector<Predicate*>;
- $$->append(new Predicate($1));
-- PARSER->unregisterParseNode($1);
-- PARSER->registerPredicateVector($$);
-+ parser->unregisterParseNode($1);
-+ parser->registerPredicateVector($$);
- }
- |
- PredicateList Predicate
- {
- $$->append(new Predicate($2));
-- PARSER->unregisterParseNode($2);
-+ parser->unregisterParseNode($2);
- }
- ;
-
-@@ -315,7 +315,7 @@ DescendantOrSelf:
- SLASHSLASH
- {
- $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
-- PARSER->registerParseNode($$);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -323,13 +323,13 @@ AbbreviatedStep:
- '.'
- {
- $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
-- PARSER->registerParseNode($$);
-+ parser->registerParseNode($$);
- }
- |
- DOTDOT
- {
- $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
-- PARSER->registerParseNode($$);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -337,8 +337,8 @@ PrimaryExpr:
- VARIABLEREFERENCE
- {
- $$ = new VariableReference(*$1);
-- PARSER->deleteString($1);
-- PARSER->registerParseNode($$);
-+ parser->deleteString($1);
-+ parser->registerParseNode($$);
- }
- |
- '(' Expr ')'
-@@ -349,15 +349,15 @@ PrimaryExpr:
- LITERAL
- {
- $$ = new StringExpression(*$1);
-- PARSER->deleteString($1);
-- PARSER->registerParseNode($$);
-+ parser->deleteString($1);
-+ parser->registerParseNode($$);
- }
- |
- NUMBER
- {
- $$ = new Number($1->toDouble());
-- PARSER->deleteString($1);
-- PARSER->registerParseNode($$);
-+ parser->deleteString($1);
-+ parser->registerParseNode($$);
- }
- |
- FunctionCall
-@@ -369,8 +369,8 @@ FunctionCall:
- $$ = createFunction(*$1);
- if (!$$)
- YYABORT;
-- PARSER->deleteString($1);
-- PARSER->registerParseNode($$);
-+ parser->deleteString($1);
-+ parser->registerParseNode($$);
- }
- |
- FUNCTIONNAME '(' ArgumentList ')'
-@@ -378,9 +378,9 @@ FunctionCall:
- $$ = createFunction(*$1, *$3);
- if (!$$)
- YYABORT;
-- PARSER->deleteString($1);
-- PARSER->deleteExpressionVector($3);
-- PARSER->registerParseNode($$);
-+ parser->deleteString($1);
-+ parser->deleteExpressionVector($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -389,14 +389,14 @@ ArgumentList:
- {
- $$ = new Vector<Expression*>;
- $$->append($1);
-- PARSER->unregisterParseNode($1);
-- PARSER->registerExpressionVector($$);
-+ parser->unregisterParseNode($1);
-+ parser->registerExpressionVector($$);
- }
- |
- ArgumentList ',' Argument
- {
- $$->append($3);
-- PARSER->unregisterParseNode($3);
-+ parser->unregisterParseNode($3);
- }
- ;
-
-@@ -412,9 +412,9 @@ UnionExpr:
- $$ = new Union;
- $$->addSubExpression($1);
- $$->addSubExpression($3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -430,9 +430,9 @@ PathExpr:
- {
- $3->setAbsolute(true);
- $$ = new Path(static_cast<Filter*>($1), $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- |
- FilterExpr DescendantOrSelf RelativeLocationPath
-@@ -440,10 +440,10 @@ PathExpr:
- $3->insertFirstStep($2);
- $3->setAbsolute(true);
- $$ = new Path(static_cast<Filter*>($1), $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($2);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($2);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -453,9 +453,9 @@ FilterExpr:
- PrimaryExpr PredicateList
- {
- $$ = new Filter($1, *$2);
-- PARSER->unregisterParseNode($1);
-- PARSER->deletePredicateVector($2);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->deletePredicateVector($2);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -465,9 +465,9 @@ OrExpr:
- OrExpr OR AndExpr
- {
- $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -477,9 +477,9 @@ AndExpr:
- AndExpr AND EqualityExpr
- {
- $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -489,9 +489,9 @@ EqualityExpr:
- EqualityExpr EQOP RelationalExpr
- {
- $$ = new EqTestOp($2, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -501,9 +501,9 @@ RelationalExpr:
- RelationalExpr RELOP AdditiveExpr
- {
- $$ = new EqTestOp($2, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -513,17 +513,17 @@ AdditiveExpr:
- AdditiveExpr PLUS MultiplicativeExpr
- {
- $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- |
- AdditiveExpr MINUS MultiplicativeExpr
- {
- $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -533,9 +533,9 @@ MultiplicativeExpr:
- MultiplicativeExpr MULOP UnaryExpr
- {
- $$ = new NumericOp($2, $1, $3);
-- PARSER->unregisterParseNode($1);
-- PARSER->unregisterParseNode($3);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($1);
-+ parser->unregisterParseNode($3);
-+ parser->registerParseNode($$);
- }
- ;
-
-@@ -546,8 +546,8 @@ UnaryExpr:
- {
- $$ = new Negative;
- $$->addSubExpression($2);
-- PARSER->unregisterParseNode($2);
-- PARSER->registerParseNode($$);
-+ parser->unregisterParseNode($2);
-+ parser->registerParseNode($$);
- }
- ;
-
-diff --git a/Source/WebCore/xml/XPathParser.cpp b/Source/WebCore/xml/XPathParser.cpp
-index 62d8ee37fd6ebb74a580a00c59beb6cd40c5a8b7..b5e6a9237593b4aaa2a243f2ff9d86e57f930a97 100644
---- a/Source/WebCore/xml/XPathParser.cpp
-+++ b/Source/WebCore/xml/XPathParser.cpp
-@@ -32,24 +32,21 @@
- #include "XPathEvaluator.h"
- #include "XPathException.h"
- #include "XPathNSResolver.h"
-+#include "XPathPath.h"
- #include "XPathStep.h"
- #include <wtf/StdLibExtras.h>
- #include <wtf/text/StringHash.h>
-
--int xpathyyparse(void*);
--
-+using namespace WebCore;
- using namespace WTF;
- using namespace Unicode;
-+using namespace XPath;
-
--namespace WebCore {
--namespace XPath {
--
--class LocationPath;
--
--#include "XPathGrammar.h"
-+extern int xpathyyparse(WebCore::XPath::Parser*);
-+#include "XPathGrammar.h"
-
- Parser* Parser::currentParser = 0;
--
-+
- enum XMLCat { NameStart, NameCont, NotPartOfName };
-
- typedef HashMap<String, Step::Axis> AxisNamesMap;
-@@ -630,5 +627,3 @@ void Parser::deleteNodeTest(Step::NodeTest* t)
- delete t;
- }
-
--}
--}
diff --git a/meta/recipes-sato/webkit/files/no-gtkdoc.patch b/meta/recipes-sato/webkit/files/no-gtkdoc.patch
deleted file mode 100644
index 4eb09dc0e2..0000000000
--- a/meta/recipes-sato/webkit/files/no-gtkdoc.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-make install invokes a gtk-doc tool without checking that we have gtk-doc.
-
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-Upstream-Status: Pending (https://bugs.webkit.org/show_bug.cgi?id=91239)
-
-Index: webkit-1.8.1/Tools/GNUmakefile.am
-===================================================================
---- webkit-1.8.1.orig/Tools/GNUmakefile.am
-+++ webkit-1.8.1/Tools/GNUmakefile.am
-@@ -330,7 +330,9 @@ if ENABLE_WEBKIT2
- fi; \
- fi
- endif
-+if ENABLE_GTK_DOC
- @$(AM_V_GEN)$(PYTHON) $(srcdir)/Tools/gtk/generate-gtkdoc --rebase --virtual-root=$${DESTDIR}
-+endif
-
- uninstall-local:
- @DOC_MODULE_VERSION=`cat ./Documentation/webkitgtk/version.xml`; \
diff --git a/meta/recipes-sato/webkit/files/nodolt.patch b/meta/recipes-sato/webkit/files/nodolt.patch
deleted file mode 100644
index e713e8b5ec..0000000000
--- a/meta/recipes-sato/webkit/files/nodolt.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Dolt cause build error on some platform, so disable it.
-
-Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Index: webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac
-===================================================================
---- webkit-gtk-1.3.7+svnr72836-r72836-r0.orig/configure.ac 2011-01-21 11:11:07.000000000 +0800
-+++ webkit-gtk-1.3.7+svnr72836-r72836-r0/configure.ac 2011-01-21 11:11:15.000000000 +0800
-@@ -82,8 +82,6 @@
- AC_DISABLE_STATIC
- AC_LIBTOOL_WIN32_DLL
- AC_PROG_LIBTOOL
--# use dolt to speedup the build
--DOLT
-
- AC_PATH_PROG(FLEX, flex)
- if test -z "$FLEX"; then
diff --git a/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch b/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch
deleted file mode 100644
index ad7c55f264..0000000000
--- a/meta/recipes-sato/webkit/files/webgit-gtk_fix_build_with_automake_1.12.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-Upstream-Status: Pending
-
-automake 1.12 has deprecated use of mkdir_p, and it recommends
-use of MKDIR_P instead. Changed the code to avoid these kind
-of warning-errors.
-
-./.deps/DerivedSources
-make[1]: ./.deps/DerivedSources: Command not found
-make[1]: *** [all-local] Error 127
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
-2012/07/10
-
-Index: webkit-gtk-1.7.2+svnr101488-r6/GNUmakefile.am
-===================================================================
---- webkit-gtk-1.7.2+svnr101488-r6.orig/GNUmakefile.am
-+++ webkit-gtk-1.7.2+svnr101488-r6/GNUmakefile.am
-@@ -255,7 +255,7 @@ MAINTAINERCLEANFILES += \
- # Older automake versions (1.7) place Plo files in a different place so we need
- # to create the output directory manually.
- all-local: stamp-po
-- $(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources
-+ $(MKDIR_P) $(top_builddir)/$(DEPDIR)/DerivedSources
-
- # remove built sources and program directories
- clean-local:
-Index: webkit-gtk-1.7.2+svnr101488-r6/Source/WebKit/gtk/po/GNUmakefile.am
-===================================================================
---- webkit-gtk-1.7.2+svnr101488-r6.orig/Source/WebKit/gtk/po/GNUmakefile.am
-+++ webkit-gtk-1.7.2+svnr101488-r6/Source/WebKit/gtk/po/GNUmakefile.am
-@@ -132,13 +132,13 @@ DISTCLEANFILES += \
- $(top_builddir)/Source/WebKit/gtk/po/$(DOMAIN).pot
-
- po-install-data-local: all
-- $(mkdir_p) $(DESTDIR)$(datadir)
-+ $(MKDIR_P) $(DESTDIR)$(datadir)
- @catalogs='$(MOFILES)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.mo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
-- $(mkdir_p) $(DESTDIR)$$dir; \
-+ $(MKDIR_P) $(DESTDIR)$$dir; \
- if test -r Source/WebKit/gtk/po/$$cat; then realcat=Source/WebKit/gtk/po/$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
-@@ -173,13 +173,13 @@ po-install-data-local: all
- done
-
- po-installdirs-data-local:
-- $(mkdir_p) $(DESTDIR)$(datadir)
-+ $(MKDIR_P) $(DESTDIR)$(datadir)
- @catalogs='$(MOFILES)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
-- $(mkdir_p) $(DESTDIR)$$dir; \
-+ $(MKDIR_P) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
diff --git a/meta/recipes-sato/webkit/files/webkit-gtk-ANGLE-doesn-t-build-with-bison-3.patch b/meta/recipes-sato/webkit/files/webkit-gtk-ANGLE-doesn-t-build-with-bison-3.patch
deleted file mode 100644
index e7e908342a..0000000000
--- a/meta/recipes-sato/webkit/files/webkit-gtk-ANGLE-doesn-t-build-with-bison-3.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-webkit-gtk: ANGLE doesn't build with bison 3
-
-Use %lex-param to set YYLEX_PARAM.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
----
- Source/ThirdParty/ANGLE/src/compiler/glslang.y | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/ThirdParty/ANGLE/src/compiler/glslang.y b/Source/ThirdParty/ANGLE/src/compiler/glslang.y
-index ec1a85c..15723cc 100644
---- a/Source/ThirdParty/ANGLE/src/compiler/glslang.y
-+++ b/Source/ThirdParty/ANGLE/src/compiler/glslang.y
-@@ -32,6 +32,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
- %expect 1 /* One shift reduce conflict because of if | else */
- %pure-parser
- %parse-param {TParseContext* context}
-+%lex-param {YYLEX_PARAM}
-
- %union {
- struct {
---
-1.9.1
-
diff --git a/meta/recipes-sato/webkit/libwpe_1.12.0.bb b/meta/recipes-sato/webkit/libwpe_1.12.0.bb
new file mode 100644
index 0000000000..ac4ee3eb23
--- /dev/null
+++ b/meta/recipes-sato/webkit/libwpe_1.12.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "General-purpose library specifically developed for the WPE-flavored port of WebKit."
+HOMEPAGE = "https://github.com/WebPlatformForEmbedded/libwpe"
+BUGTRACKER = "https://github.com/WebPlatformForEmbedded/libwpe/issues"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=371a616eb4903c6cb79e9893a5f615cc"
+DEPENDS = "virtual/egl libxkbcommon"
+
+inherit cmake features_check pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "e8eeca228a6b4c36294cfb63f7d3ba9ada47a430904a5a973b3c99c96a44c18c"
+
+# This is a tweak of upstream-version-is-even needed because
+# ipstream directory contains tarballs for other components as well.
+UPSTREAM_CHECK_REGEX = "libwpe-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar"
diff --git a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/0001-Enable-mips64-build.patch b/meta/recipes-sato/webkit/webkit-gtk-1.8.3/0001-Enable-mips64-build.patch
deleted file mode 100644
index 5a42cd7c41..0000000000
--- a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/0001-Enable-mips64-build.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 4084d31d5b1fe3bf041881ad124873dbf3cd1868 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 17 May 2013 19:51:11 -0700
-Subject: [PATCH] Enable mips64 build
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Upstream-Status: Pending
----
- Source/JavaScriptCore/wtf/Platform.h | 2 +-
- Source/JavaScriptCore/wtf/dtoa/utils.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-Index: webkit-1.8.3/Source/JavaScriptCore/wtf/Platform.h
-===================================================================
---- webkit-1.8.3.orig/Source/JavaScriptCore/wtf/Platform.h 2012-08-20 09:30:25.000000000 -0700
-+++ webkit-1.8.3/Source/JavaScriptCore/wtf/Platform.h 2013-06-12 00:58:14.624055787 -0700
-@@ -76,14 +76,19 @@
-
- /* CPU(MIPS) - MIPS 32-bit */
- /* Note: Only O32 ABI is tested, so we enable it for O32 ABI for now. */
--#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)) \
-- && defined(_ABIO32)
-+#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_) \
-+ || defined(__mips64))
-+#if defined(__mips64)
-+#define WTF_CPU_MIPS64 1
-+#define WTF_MIPS_ARCH __mips64
-+#else
- #define WTF_CPU_MIPS 1
-+#define WTF_MIPS_ARCH __mips
-+#endif
- #if defined(__MIPSEB__)
- #define WTF_CPU_BIG_ENDIAN 1
- #endif
- #define WTF_MIPS_PIC (defined __PIC__)
--#define WTF_MIPS_ARCH __mips
- #define WTF_MIPS_ISA(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH == v)
- #define WTF_MIPS_ISA_AT_LEAST(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH >= v)
- #define WTF_MIPS_ARCH_REV __mips_isa_rev
-@@ -295,7 +300,7 @@
-
- #endif /* ARM */
-
--#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC)
-+#if CPU(ARM) || CPU(MIPS) || CPU(MIPS64) || CPU(SH4) || CPU(SPARC)
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
-@@ -899,6 +904,7 @@
- || CPU(ALPHA) \
- || CPU(SPARC64) \
- || CPU(S390X) \
-+ || CPU(MIPS64) \
- || CPU(PPC64)
- #define WTF_USE_JSVALUE64 1
- #else
-Index: webkit-1.8.3/Source/JavaScriptCore/wtf/dtoa/utils.h
-===================================================================
---- webkit-1.8.3.orig/Source/JavaScriptCore/wtf/dtoa/utils.h 2012-08-20 09:26:05.000000000 -0700
-+++ webkit-1.8.3/Source/JavaScriptCore/wtf/dtoa/utils.h 2013-06-12 00:57:22.424054793 -0700
-@@ -49,7 +49,7 @@
- defined(__ARMEL__) || \
- defined(_MIPS_ARCH_MIPS32R2)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
--#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA)
-+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__)
- #if defined(_WIN32)
diff --git a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/aarch64.patch b/meta/recipes-sato/webkit/webkit-gtk-1.8.3/aarch64.patch
deleted file mode 100644
index a76b0ba2b6..0000000000
--- a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/aarch64.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Upstream-Status: Pending
-Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
-Index: webkit-1.8.3/Source/JavaScriptCore/wtf/Platform.h
-===================================================================
---- webkit-1.8.3.orig/Source/JavaScriptCore/wtf/Platform.h 2013-06-12 00:58:14.000000000 -0700
-+++ webkit-1.8.3/Source/JavaScriptCore/wtf/Platform.h 2013-06-12 00:59:18.764056782 -0700
-@@ -304,6 +304,11 @@
- #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
- #endif
-
-+/* CPU(AARCH64) - Aarch64 */
-+#if defined(__aarch64__)
-+#define WTF_CPU_AARCH64 1
-+#endif
-+
- /* ==== OS() - underlying operating system; only to be used for mandated low-level services like
- virtual memory, not to choose a GUI toolkit ==== */
-
-@@ -905,7 +910,8 @@
- || CPU(SPARC64) \
- || CPU(S390X) \
- || CPU(MIPS64) \
-- || CPU(PPC64)
-+ || CPU(PPC64) \
-+ || CPU(AARCH64)
- #define WTF_USE_JSVALUE64 1
- #else
- #define WTF_USE_JSVALUE32_64 1
-Index: webkit-1.8.3/Source/JavaScriptCore/wtf/dtoa/utils.h
-===================================================================
---- webkit-1.8.3.orig/Source/JavaScriptCore/wtf/dtoa/utils.h 2013-06-12 00:57:22.000000000 -0700
-+++ webkit-1.8.3/Source/JavaScriptCore/wtf/dtoa/utils.h 2013-06-12 00:58:28.340056029 -0700
-@@ -49,7 +49,7 @@
- defined(__ARMEL__) || \
- defined(_MIPS_ARCH_MIPS32R2)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
--#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64)
-+#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64) || CPU(AARCH64)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(_M_IX86) || defined(__i386__)
- #if defined(_WIN32)
diff --git a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/obsolete_automake_macros.patch b/meta/recipes-sato/webkit/webkit-gtk-1.8.3/obsolete_automake_macros.patch
deleted file mode 100644
index d9e8444815..0000000000
--- a/meta/recipes-sato/webkit/webkit-gtk-1.8.3/obsolete_automake_macros.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream-Status: Backport
-
-Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
-diff -Nurd webkit-1.8.3/configure.ac webkit-1.8.3/configure.ac
---- webkit-1.8.3/configure.ac 2012-08-20 19:35:38.000000000 +0300
-+++ webkit-1.8.3/configure.ac 2013-02-08 11:55:28.403397789 +0200
-@@ -111,7 +111,6 @@
-
- AC_PROG_CC
- AC_PROG_CXX
--AM_PROG_CC_STDC
- AM_PROG_CC_C_O
- AC_PROG_INSTALL
- AC_SYS_LARGEFILE
diff --git a/meta/recipes-sato/webkit/webkit-gtk_1.8.3.bb b/meta/recipes-sato/webkit/webkit-gtk_1.8.3.bb
deleted file mode 100644
index b9a9d7a002..0000000000
--- a/meta/recipes-sato/webkit/webkit-gtk_1.8.3.bb
+++ /dev/null
@@ -1,116 +0,0 @@
-SUMMARY = "WebKit web rendering engine for the GTK+ platform"
-HOMEPAGE = "http://www.webkitgtk.org/"
-BUGTRACKER = "http://bugs.webkit.org/"
-
-LICENSE = "BSD & LGPLv2+"
-LIC_FILES_CHKSUM = "file://Source/WebCore/rendering/RenderApplet.h;endline=22;md5=fb9694013ad71b78f8913af7a5959680 \
- file://Source/WebKit/gtk/webkit/webkit.h;endline=21;md5=b4fbe9f4a944f1d071dba1d2c76b3351 \
- file://Source/JavaScriptCore/parser/Parser.h;endline=23;md5=b57c8a2952a8d0e655988fa0ecb2bf7f"
-
-PR = "r1"
-
-# Choice of language backends - icu has issues on Big Endian machines so use pango
-ICU_LIB = "icu"
-ICU_LIB_powerpc = "pango"
-
-DEPENDS = "zlib enchant libsoup-2.4 curl libxml2 cairo libxslt libxt libidn gnutls \
- gtk+ flex-native gperf-native perl-native-runtime sqlite3 ${ICU_LIB}"
-DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/libgl', '', d)}"
-
-# The libxt requires x11 in DISTRO_FEATURES
-REQUIRED_DISTRO_FEATURES = "x11"
-
-SRC_URI = "\
- http://www.webkitgtk.org/releases/webkit-${PV}.tar.xz \
- file://nodolt.patch \
- file://no-gtkdoc.patch \
- file://webgit-gtk_fix_build_with_automake_1.12.patch \
- file://bison-2.6.patch \
- file://obsolete_automake_macros.patch \
- file://0001-Enable-mips64-build.patch \
- file://aarch64.patch \
- file://webkit-gtk-ANGLE-doesn-t-build-with-bison-3.patch \
- "
-
-SRC_URI[md5sum] = "dcbf9d5e2e6391f857c29a57528b32a6"
-SRC_URI[sha256sum] = "ada02d636af61aed38f142d3cded662d141ce71264f624c4eb873621a74cc9e7"
-
-# webkit-gtk can NOT be built on MIPS64 with n32 ABI
-COMPATIBLE_HOST_mips64n32 = "null"
-
-inherit autotools lib_package gtk-doc pkgconfig distro_features_check
-
-S = "${WORKDIR}/webkit-${PV}/"
-
-# Disabled by default because it pulls in obsolete gstreamer 0.10
-WEBKIT_AUDIOVIDEO ?= "--disable-video --disable-web-audio"
-
-EXTRA_OECONF = "\
- --enable-debug=no \
- --enable-svg \
- --enable-icon-database=yes \
- --enable-fullscreen-api \
- --enable-image-resizer \
- --enable-link-prefetch \
- --with-gtk=2.0 \
- --disable-geolocation \
- ${WEBKIT_AUDIOVIDEO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '--enable-webgl', '--disable-webgl', d)} \
- UNICODE_CFLAGS=-D_REENTRANT \
- "
-EXTRA_OECONF_append_armv5 = " --disable-jit"
-EXTRA_OECONF_append_armv6 = " --disable-jit"
-
-#default unicode backend icu breaks in cross-compile when target and host are different endian type
-EXTRA_OECONF_append_powerpc = " --with-unicode-backend=glib"
-
-CPPFLAGS_append_powerpc = " -I${STAGING_INCDIR}/pango-1.0 \
- -I${STAGING_LIBDIR}/glib-2.0/include \
- -I${STAGING_INCDIR}/glib-2.0"
-
-# ld can run out of memory linking libwebkitgtk!
-#
-LDFLAGS += "-Wl,--no-keep-memory"
-
-EXTRA_AUTORECONF = " -I Source/autotools "
-
-
-#| ./Source/JavaScriptCore/heap/HandleTypes.h: In static member function 'static T* JSC::HandleTypes<T>::getFromSlot(JSC::HandleSlot) [with T = JSC::Structure, JSC::HandleTypes<T>::ExternalType = JSC::Structure*, JSC::HandleSlot = JSC::JSValue*]':
-#| ./Source/JavaScriptCore/heap/Handle.h:141:79: instantiated from 'JSC::Handle<T>::ExternalType JSC::Handle<T>::get() const [with T = JSC::Structure, JSC::Handle<T>::ExternalType = JSC::Structure*]'
-#| ./Source/JavaScriptCore/runtime/ScopeChain.h:39:75: instantiated from here
-#| ./Source/JavaScriptCore/heap/HandleTypes.h:38:130: warning: cast from 'JSC::JSCell*' to 'JSC::HandleTypes<JSC::Structure>::ExternalType {aka JSC::Structure*}' increases required alignment of target type [-Wcast-align]
-#| {standard input}: Assembler messages:
-#| {standard input}:28873: Error: invalid immediate: 983040 is out of range
-#| {standard input}:28873: Error: value of 983040 too large for field of 2 bytes at 15110
-#| /OE/shr-core/tmp/sysroots/x86_64-linux/usr/libexec/armv4t-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.6.2/as: BFD (GNU Binutils) 2.21.1 assertion fail /OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/binutils-cross-2.21.1a-r0/binutils-2.21.1/bfd/elf.c:2819
-#| arm-oe-linux-gnueabi-g++: internal compiler error: Segmentation fault (program as)
-#| Please submit a full bug report,
-#| with preprocessed source if appropriate.
-#| See <http://gcc.gnu.org/bugs.html> for instructions.
-#| make[1]: *** [Source/JavaScriptCore/jit/libjavascriptcoregtk_1_0_la-JIT.lo] Error 1
-#| make[1]: Leaving directory `/OE/shr-core/tmp/work/armv4t-oe-linux-gnueabi/webkit-gtk-1.5.1+svnr90727-r0'
-ARM_INSTRUCTION_SET = "arm"
-
-CONFIGUREOPT_DEPTRACK = ""
-
-do_configure_append() {
- # somethings wrong with icu, fix it up manually
- for makefile in $(find ${B} -name "GNUmakefile") ; do
- sed -i s:-I/usr/include::g $makefile
- done
-}
-
-do_install_append() {
- rmdir ${D}${libexecdir}
-}
-
-PACKAGES =+ "${PN}-webinspector ${PN}launcher-dbg ${PN}launcher libjavascriptcore"
-FILES_${PN}launcher = "${bindir}/GtkLauncher"
-FILES_${PN}launcher-dbg = "${bindir}/.debug/GtkLauncher"
-FILES_libjavascriptcore = "${libdir}/libjavascriptcoregtk-1.0.so.*"
-FILES_${PN}-webinspector = "${datadir}/webkitgtk-*/webinspector/"
-FILES_${PN} += "${datadir}/webkitgtk-*/resources/error.html \
- ${datadir}/webkitgtk-*/images \
- ${datadir}/glib-2.0/schemas"
-
-
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
new file mode 100644
index 0000000000..a65cfc8b5a
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch
@@ -0,0 +1,42 @@
+From b055bd199f9c40148334725a227796c0d7d14788 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 3 Feb 2020 17:06:27 -0800
+Subject: [PATCH] Enable THREADS_PREFER_PTHREAD_FLAG
+
+Fixes build failures on risv64
+
+Taken from https://trac.webkit.org/changeset/231843/webkit
+
+ Enable THREADS_PREFER_PTHREAD_FLAG. This uses -pthread instead of
+-lpthread, fixing the 64-bit RISC-V build of the GTK+ port due to
+missing atomic primitives.
+
+Upstream-Status: Submitted [https://trac.webkit.org/changeset/231843/webkit]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ Source/cmake/OptionsGTK.cmake | 1 +
+ Source/cmake/OptionsJSCOnly.cmake | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/Source/cmake/OptionsGTK.cmake b/Source/cmake/OptionsGTK.cmake
+index 3cb5a495..dfba9900 100644
+--- a/Source/cmake/OptionsGTK.cmake
++++ b/Source/cmake/OptionsGTK.cmake
+@@ -7,6 +7,7 @@ SET_PROJECT_VERSION(2 34 0)
+
+
+ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
++set(THREADS_PREFER_PTHREAD_FLAG ON)
+
+ find_package(Cairo 1.14.0 REQUIRED)
+ find_package(Fontconfig 2.8.0 REQUIRED)
+diff --git a/Source/cmake/OptionsJSCOnly.cmake b/Source/cmake/OptionsJSCOnly.cmake
+index e892b427..73bf9e4d 100644
+--- a/Source/cmake/OptionsJSCOnly.cmake
++++ b/Source/cmake/OptionsJSCOnly.cmake
+@@ -1,3 +1,4 @@
++set(THREADS_PREFER_PTHREAD_FLAG ON)
+ find_package(Threads REQUIRED)
+
+ if (MSVC)
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
new file mode 100644
index 0000000000..fae3b0b2e5
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch
@@ -0,0 +1,27 @@
+From 317a5ac120c44987219bc03486cd2f2d1842c9b9 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 27 Oct 2015 16:02:19 +0200
+Subject: [PATCH] FindGObjectIntrospection.cmake: prefix variables obtained
+ from pkg-config with PKG_CONFIG_SYSROOT_DIR
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Source/cmake/FindGObjectIntrospection.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/cmake/FindGObjectIntrospection.cmake b/Source/cmake/FindGObjectIntrospection.cmake
+index e1f49b4..03a4446 100644
+--- a/Source/cmake/FindGObjectIntrospection.cmake
++++ b/Source/cmake/FindGObjectIntrospection.cmake
+@@ -26,6 +26,7 @@ macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname _extra_args)
+ else ()
+ string(REGEX REPLACE "[\r\n]" " " _result "${_result}")
+ string(REGEX REPLACE " +$" "" _result "${_result}")
++ string(CONCAT _result $ENV{PKG_CONFIG_SYSROOT_DIR} "${_result}")
+ separate_arguments(_result)
+ set(${_outvar} ${_result} CACHE INTERNAL "")
+ endif ()
+--
+2.1.4
+
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch
new file mode 100644
index 0000000000..e4c7d77ccd
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-without-opengl-or-es.patch
@@ -0,0 +1,133 @@
+From 646e347c173dbb9782492ac7cb4f54b65533ba90 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 17 Oct 2021 20:49:21 +0000
+Subject: [PATCH] Fix build without opengl-or-es
+
+* fix build failure when opengl-or-es is disabled:
+ In file included from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/webkitgtk-2.34.0/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:30,
+ from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/build/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-36.cpp:1:
+ /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/webkitgtk/2.34.0-r0/webkitgtk-2.34.0/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:41:10: fatal error: WebCore/CoordinatedGraphicsLayer.h: No such file or directory
+ 41 | #include <WebCore/CoordinatedGraphicsLayer.h>
+ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ compilation terminated.
+
+* the CoordinatedGraphicsLayer.h header installation is controled by
+ USE_COORDINATED_GRAPHICS in webkitgtk-2.34.0/Source/WebCore/platform/TextureMapper.cmake
+ but in Source/cmake/OptionsGTK.cmake USE_COORDINATED_GRAPHICS was enabled only inside
+ if (USE_OPENGL_OR_ES)
+
+Upstream-Status: Pending
+---
+ .../DrawingAreaProxyCoordinatedGraphics.cpp | 2 +-
+ .../DrawingAreaProxyCoordinatedGraphics.h | 2 +-
+ .../CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp | 2 +-
+ .../CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h | 2 +-
+ .../WebPage/CoordinatedGraphics/LayerTreeHost.cpp | 4 ++--
+ .../WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h | 6 +++---
+ 6 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+index 038d9ee2..5e828a10 100644
+--- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
++++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp
+@@ -152,7 +152,7 @@ void DrawingAreaProxyCoordinatedGraphics::setBackingStoreIsDiscardable(bool isBa
+ #endif
+ }
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ void DrawingAreaProxyCoordinatedGraphics::adjustTransientZoom(double scale, FloatPoint origin)
+ {
+ send(Messages::DrawingArea::AdjustTransientZoom(scale, origin));
+diff --git a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
+index b23a45ff..cd263402 100644
+--- a/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
++++ b/Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
+@@ -57,7 +57,7 @@ private:
+ void waitForBackingStoreUpdateOnNextPaint() override;
+ void setBackingStoreIsDiscardable(bool) override;
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ void adjustTransientZoom(double scale, WebCore::FloatPoint origin) override;
+ void commitTransientZoom(double scale, WebCore::FloatPoint origin) override;
+ #endif
+diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
+index 33ac2e1d..42375784 100644
+--- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
++++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp
+@@ -486,7 +486,7 @@ void DrawingAreaCoordinatedGraphics::didUpdate()
+ displayTimerFired();
+ }
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ void DrawingAreaCoordinatedGraphics::adjustTransientZoom(double scale, FloatPoint origin)
+ {
+ if (!m_transientZoom) {
+diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
+index d8dc6df7..c8322364 100644
+--- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
++++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
+@@ -84,7 +84,7 @@ private:
+ void updateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, float deviceScaleFactor, const WebCore::IntSize&, const WebCore::IntSize& scrollOffset) override;
+ void didUpdate() override;
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ void adjustTransientZoom(double scale, WebCore::FloatPoint origin) override;
+ void commitTransientZoom(double scale, WebCore::FloatPoint origin) override;
+ #endif
+diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
+index f3304d10..ca0476ff 100644
+--- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
++++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp
+@@ -156,7 +156,7 @@ void LayerTreeHost::layerFlushTimerFired()
+
+ bool didSync = m_coordinator.flushPendingLayerChanges(flags);
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ // If we have an active transient zoom, we want the zoom to win over any changes
+ // that WebCore makes to the relevant layers, so re-apply our changes after flushing.
+ if (m_transientZoom)
+@@ -453,7 +453,7 @@ void LayerTreeHost::renderNextFrame(bool forceRepaint)
+ }
+ }
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ FloatPoint LayerTreeHost::constrainTransientZoomOrigin(double scale, FloatPoint origin) const
+ {
+ FrameView& frameView = *m_webPage.mainFrameView();
+diff --git a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
+index 4f727e41..b070266e 100644
+--- a/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
++++ b/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
+@@ -37,7 +37,7 @@
+ #include <wtf/Forward.h>
+ #include <wtf/OptionSet.h>
+ #include <wtf/RunLoop.h>
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ #include <WebCore/CoordinatedGraphicsLayer.h>
+ #endif
+
+@@ -100,7 +100,7 @@ public:
+
+ WebCore::PlatformDisplayID displayID() const { return m_displayID; }
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ void adjustTransientZoom(double, WebCore::FloatPoint);
+ void commitTransientZoom(double, WebCore::FloatPoint);
+ #endif
+@@ -213,7 +213,7 @@ private:
+ #endif // USE(COORDINATED_GRAPHICS)
+ WebCore::PlatformDisplayID m_displayID;
+
+-#if PLATFORM(GTK)
++#if PLATFORM(GTK) && USE(COORDINATED_GRAPHICS)
+ bool m_transientZoom { false };
+ double m_transientZoomScale { 1 };
+ WebCore::FloatPoint m_transientZoomOrigin;
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
new file mode 100644
index 0000000000..0c31c5fa21
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch
@@ -0,0 +1,46 @@
+From 4718888071e29deb8b245b88c81577fd5bac4e5e Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 29 Aug 2016 16:38:11 +0300
+Subject: [PATCH] Fix racy parallel build of WebKit2-4.0.gir
+
+Upstream-Status: Pending
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Source/WebKit/PlatformGTK.cmake | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
+index a069c5f6..ea2f542b 100644
+--- a/Source/WebKit/PlatformGTK.cmake
++++ b/Source/WebKit/PlatformGTK.cmake
+@@ -650,8 +650,9 @@ if (ENABLE_INTROSPECTION)
+ set(GIR_SOURCES_TOP_DIRS "--sources-top-dirs=${CMAKE_BINARY_DIR}")
+ endif ()
+
+- add_custom_command(
+- OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
++ # This is a target and not a command because it's used to build another .gir
++ # and a .typelib, which would trigger two racy parallel builds when using command
++ add_custom_target(WebKit2-${WEBKITGTK_API_VERSION}-gir
+ DEPENDS WebKit
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+@@ -699,7 +700,7 @@ if (ENABLE_INTROSPECTION)
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
++ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
+ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
+ LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
+ ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+@@ -761,7 +762,7 @@ if (ENABLE_INTROSPECTION)
+
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
+- DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
++ DEPENDS WebKit2-${WEBKITGTK_API_VERSION}-gir
+ COMMAND ${INTROSPECTION_COMPILER} --includedir=${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir -o ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.typelib
+ )
+
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
new file mode 100644
index 0000000000..866e9d9d09
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch
@@ -0,0 +1,47 @@
+From 1c7e7a385387d7febf633bbb6d2b99ece523e719 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 11 Aug 2016 17:13:51 +0300
+Subject: [PATCH] Tweak gtkdoc settings so that gtkdoc generation works under
+ OpenEmbedded build system
+
+This requires setting a few environment variables so that the transient
+binary is build and linked correctly, and disabling the tweaks to RUN
+variable from gtkdoc.py script so that our qemu wrapper is taken into use.
+
+Upstream-Status: Inappropriate [oe-specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Source/cmake/GtkDoc.cmake | 2 +-
+ Tools/gtkdoc/gtkdoc.py | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/cmake/GtkDoc.cmake b/Source/cmake/GtkDoc.cmake
+index 18e86448..102c873a 100644
+--- a/Source/cmake/GtkDoc.cmake
++++ b/Source/cmake/GtkDoc.cmake
+@@ -4,7 +4,7 @@ macro(ADD_GTKDOC_GENERATOR _stamp_name _extra_args)
+ add_custom_command(
+ OUTPUT "${CMAKE_BINARY_DIR}/${_stamp_name}"
+ DEPENDS ${DocumentationDependencies}
+- COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
++ COMMAND ${CMAKE_COMMAND} -E env "CC=${CMAKE_C_COMPILER}" "CFLAGS=${CMAKE_C_FLAGS} -Wno-unused-parameter" "LD=${CMAKE_C_COMPILER}" "LDFLAGS=${CMAKE_C_LINK_FLAGS}" "RUN=${CMAKE_BINARY_DIR}/gtkdoc-qemuwrapper" ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/gtkdoc/generate-gtkdoc ${_extra_args}
+ COMMAND touch ${_stamp_name}
+ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
+ VERBATIM
+diff --git a/Tools/gtkdoc/gtkdoc.py b/Tools/gtkdoc/gtkdoc.py
+index 054cafa1..416de7d1 100644
+--- a/Tools/gtkdoc/gtkdoc.py
++++ b/Tools/gtkdoc/gtkdoc.py
+@@ -320,9 +320,9 @@ class GTKDoc(object):
+ additional_ldflags = '%s %s' % (additional_ldflags, arg)
+ ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags
+ current_ld_library_path = env.get('LD_LIBRARY_PATH')
+- if current_ld_library_path:
++ if current_ld_library_path and 'RUN' not in env:
+ env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path)
+- else:
++ elif 'RUN' not in env:
+ env['LD_LIBRARY_PATH'] = self.library_path
+
+ if ldflags:
diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
new file mode 100644
index 0000000000..3e03aa968c
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch
@@ -0,0 +1,52 @@
+From 8f1e170a6de8036ab50eb35834a77f2c79412ee3 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Wed, 28 Oct 2015 14:18:57 +0200
+Subject: [PATCH] When building introspection files, add CMAKE_C_FLAGS to the
+ compiler flags.
+
+g-ir-compiler is using a C compiler internally, so it needs to set
+the proper flags for it.
+
+Upstream-Status: Pending [review on oe-core list]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+
+---
+ Source/JavaScriptCore/PlatformGTK.cmake | 2 +-
+ Source/WebKit/PlatformGTK.cmake | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/PlatformGTK.cmake b/Source/JavaScriptCore/PlatformGTK.cmake
+index 0b2968d2..2742ad80 100644
+--- a/Source/JavaScriptCore/PlatformGTK.cmake
++++ b/Source/JavaScriptCore/PlatformGTK.cmake
+@@ -71,7 +71,7 @@ if (ENABLE_INTROSPECTION)
+ add_custom_command(
+ OUTPUT ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS JavaScriptCore
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+ ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
+ --quiet
+diff --git a/Source/WebKit/PlatformGTK.cmake b/Source/WebKit/PlatformGTK.cmake
+index e36e4c35..943f9794 100644
+--- a/Source/WebKit/PlatformGTK.cmake
++++ b/Source/WebKit/PlatformGTK.cmake
+@@ -742,7 +742,7 @@ if (ENABLE_INTROSPECTION)
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS WebKit
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations LDFLAGS=
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS} LDFLAGS=
+ ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
+ --quiet
+@@ -786,7 +786,7 @@ if (ENABLE_INTROSPECTION)
+ OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
+ DEPENDS ${CMAKE_BINARY_DIR}/WebKit2-${WEBKITGTK_API_VERSION}.gir
+- COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations
++ COMMAND CC=${CMAKE_C_COMPILER} CFLAGS=-Wno-deprecated-declarations\ ${CMAKE_C_FLAGS}
+ LDFLAGS="${INTROSPECTION_ADDITIONAL_LDFLAGS}"
+ ${LOADER_LIBRARY_PATH_VAR}="${INTROSPECTION_ADDITIONAL_LIBRARY_PATH}"
+ ${INTROSPECTION_SCANNER}
diff --git a/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch b/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch
new file mode 100644
index 0000000000..e7a4cc25ad
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/include_xutil.patch
@@ -0,0 +1,34 @@
+From 2cc9d445b4c8eb70c2ab6c1723dfd208218f103e Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 6 Nov 2020 04:38:13 +0100
+Subject: [PATCH] webkitgtk: fix build with x11 enabled
+
+Since
+https://github.com/WebKit/webkit/commit/acd3f32cd43c363be032f93ede3aa10c4ee97fa4
+it uses XVisualInfo which is defined in Xutil.h
+
+Without this the build fails with:
+webkitgtk-2.30.2/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:132:5: error: 'XVisualInfo' was not declared in this scope; did you mean 'VisualID'?
+ 132 | XVisualInfo visualTemplate;
+ | ^~~~~~~~~~~
+ | VisualID
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+index bad56eba..fc141f98 100644
+--- a/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
++++ b/Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp
+@@ -31,6 +31,7 @@
+ #if PLATFORM(X11)
+ #include <X11/Xatom.h>
+ #include <X11/Xlib.h>
++#include <X11/Xutil.h>
+ #include <X11/extensions/Xcomposite.h>
+ #if PLATFORM(GTK)
+ #include <X11/Xutil.h>
diff --git a/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
new file mode 100644
index 0000000000..d8d36fad6b
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/musl-lower-stack-usage.patch
@@ -0,0 +1,77 @@
+From 358a8f053c367aab7fba8ab059244e0530c7ff82 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 17 Mar 2021 13:24:57 -0700
+Subject: [PATCH] reduce thread stack and heap usage for javascriptcore on musl
+
+default sizes for musl are smaller compared to glibc, this matches
+to musl defaults, avoid stack overflow crashes in jscore
+
+This is based on Alpine Linux's patch based on suggestion from
+https://bugs.webkit.org/show_bug.cgi?id=187485
+
+Real solution would entail more as the suggestions to increase
+stack size via -Wl,-z,stack-size=N does not work fully and also
+setting DEFAULT_THREAD_STACK_SIZE_IN_KB alone is not enough either
+
+This patch only changes behavior when using musl, the defaults for
+glibc in OE remains same
+
+Upstream-Status: Accepted
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ Source/JavaScriptCore/runtime/OptionsList.h | 18 +++++++++++++++---
+ Source/WTF/wtf/Threading.h | 4 ++++
+ 2 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/Source/JavaScriptCore/runtime/OptionsList.h b/Source/JavaScriptCore/runtime/OptionsList.h
+index a0c2170e..9e107af7 100644
+--- a/Source/JavaScriptCore/runtime/OptionsList.h
++++ b/Source/JavaScriptCore/runtime/OptionsList.h
+@@ -77,6 +77,18 @@ bool canUseWebAssemblyFastMemory();
+ // On instantiation of the first VM instance, the Options will be write protected
+ // and cannot be modified thereafter.
+
++#if OS(LINUX) && !defined(__GLIBC__)
++// non-glibc options on linux ( musl )
++constexpr unsigned jscMaxPerThreadStack = 128 * KB;
++constexpr unsigned jscSoftReservedZoneSize = 32 * KB;
++constexpr unsigned jscReservedZoneSize = 16 * KB;
++#else
++//default
++constexpr unsigned jscMaxPerThreadStack = 4 * MB;
++constexpr unsigned jscSoftReservedZoneSize = 128 * KB;
++constexpr unsigned jscReservedZoneSize = 64 * KB;
++#endif
++
+ #define FOR_EACH_JSC_OPTION(v) \
+ v(Bool, useKernTCSM, defaultTCSMValue(), Normal, "Note: this needs to go before other options since they depend on this value.") \
+ v(Bool, validateOptions, false, Normal, "crashes if mis-typed JSC options were passed to the VM") \
+@@ -92,9 +104,9 @@ bool canUseWebAssemblyFastMemory();
+ \
+ v(Bool, reportMustSucceedExecutableAllocations, false, Normal, nullptr) \
+ \
+- v(Unsigned, maxPerThreadStackUsage, 5 * MB, Normal, "Max allowed stack usage by the VM") \
+- v(Unsigned, softReservedZoneSize, 128 * KB, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
+- v(Unsigned, reservedZoneSize, 64 * KB, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
++ v(Unsigned, maxPerThreadStackUsage, jscMaxPerThreadStack, Normal, "Max allowed stack usage by the VM") \
++ v(Unsigned, softReservedZoneSize, jscSoftReservedZoneSize, Normal, "A buffer greater than reservedZoneSize that reserves space for stringifying exceptions.") \
++ v(Unsigned, reservedZoneSize, jscReservedZoneSize, Normal, "The amount of stack space we guarantee to our clients (and to interal VM code that does not call out to clients).") \
+ \
+ v(Bool, crashOnDisallowedVMEntry, ASSERT_ENABLED, Normal, "Forces a crash if we attempt to enter the VM when disallowed") \
+ v(Bool, crashIfCantAllocateJITMemory, false, Normal, nullptr) \
+diff --git a/Source/WTF/wtf/Threading.h b/Source/WTF/wtf/Threading.h
+index 178f9808..95ec5a85 100644
+--- a/Source/WTF/wtf/Threading.h
++++ b/Source/WTF/wtf/Threading.h
+@@ -67,6 +67,10 @@
+ #undef None
+ #endif
+
++#if OS(LINUX) && !defined(__GLIBC__)
++#define DEFAULT_THREAD_STACK_SIZE_IN_KB 128
++#endif
++
+ namespace WTF {
+
+ class AbstractLocker;
diff --git a/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
new file mode 100644
index 0000000000..aa11c131d2
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk/reduce-memory-overheads.patch
@@ -0,0 +1,28 @@
+From ec6045fcf5a46123b54029a675d08d89a5e30f21 Mon Sep 17 00:00:00 2001
+From: Alberto Garcia <berto@igalia.com>
+Date: Sun, 25 Apr 2021 18:45:13 +0000
+Subject: [PATCH] Reduce memory usage when not using the Gold linker
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ Source/cmake/OptionsCommon.cmake | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
+index dd4da682..71ad6106 100644
+--- a/Source/cmake/OptionsCommon.cmake
++++ b/Source/cmake/OptionsCommon.cmake
+@@ -101,6 +101,11 @@ option(GCC_OFFLINEASM_SOURCE_MAP
+ ${GCC_OFFLINEASM_SOURCE_MAP_DEFAULT})
+
+ option(USE_APPLE_ICU "Use Apple's internal ICU" ${APPLE})
++# Pass --reduce-memory-overheads to the bfd linker in order to save memory
++if (NOT USE_LD_GOLD)
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
++ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--reduce-memory-overheads")
++endif ()
+
+ # Enable the usage of OpenMP.
+ # - At this moment, OpenMP is only used as an alternative implementation
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.34.1.bb b/meta/recipes-sato/webkit/webkitgtk_2.34.1.bb
new file mode 100644
index 0000000000..4e2562df14
--- /dev/null
+++ b/meta/recipes-sato/webkit/webkitgtk_2.34.1.bb
@@ -0,0 +1,164 @@
+SUMMARY = "WebKit web rendering engine for the GTK+ platform"
+HOMEPAGE = "https://www.webkitgtk.org/"
+BUGTRACKER = "https://bugs.webkit.org/"
+
+LICENSE = "BSD-2-Clause & LGPLv2+"
+LIC_FILES_CHKSUM = "file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ "
+
+SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
+ file://0001-FindGObjectIntrospection.cmake-prefix-variables-obta.patch \
+ file://0001-When-building-introspection-files-add-CMAKE_C_FLAGS-.patch \
+ file://0001-Fix-racy-parallel-build-of-WebKit2-4.0.gir.patch \
+ file://0001-Tweak-gtkdoc-settings-so-that-gtkdoc-generation-work.patch \
+ file://0001-Enable-THREADS_PREFER_PTHREAD_FLAG.patch \
+ file://include_xutil.patch \
+ file://reduce-memory-overheads.patch \
+ file://musl-lower-stack-usage.patch \
+ file://0001-Fix-build-without-opengl-or-es.patch \
+ "
+
+SRC_URI[sha256sum] = "443c1316705de024741748e85fe32324d299d9ee68e6feb340b89e4a04073dee"
+
+inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gtk-doc
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
+
+CVE_PRODUCT = "webkitgtk webkitgtk\+"
+
+DEPENDS = " \
+ ruby-native \
+ gperf-native \
+ cairo \
+ harfbuzz \
+ jpeg \
+ atk \
+ libwebp \
+ gtk+3 \
+ libsoup \
+ libxslt \
+ libtasn1 \
+ libnotify \
+ gstreamer1.0 \
+ gstreamer1.0-plugins-base \
+ "
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'webgl gles2 angle', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \
+ enchant \
+ libsecret \
+ "
+
+PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native"
+PACKAGECONFIG[angle] = "-DUSE_ANGLE_WEBGL=ON,-DUSE_ANGLE_WEBGL=OFF"
+PACKAGECONFIG[x11] = "-DENABLE_X11_TARGET=ON,-DENABLE_X11_TARGET=OFF,virtual/libx11 libxcomposite libxdamage libxrender libxt"
+PACKAGECONFIG[geoclue] = "-DENABLE_GEOLOCATION=ON,-DENABLE_GEOLOCATION=OFF,geoclue"
+PACKAGECONFIG[enchant] = "-DENABLE_SPELLCHECK=ON,-DENABLE_SPELLCHECK=OFF,enchant2"
+PACKAGECONFIG[gles2] = "-DENABLE_GLES2=ON,-DENABLE_GLES2=OFF,virtual/libgles2"
+PACKAGECONFIG[webgl] = "-DENABLE_WEBGL=ON,-DENABLE_WEBGL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl] = "-DENABLE_GRAPHICS_CONTEXT_GL=ON,-DENABLE_GRAPHICS_CONTEXT_GL=OFF,virtual/libgl"
+PACKAGECONFIG[opengl-or-es] = "-DUSE_OPENGL_OR_ES=ON,-DUSE_OPENGL_OR_ES=OFF"
+PACKAGECONFIG[libsecret] = "-DUSE_LIBSECRET=ON,-DUSE_LIBSECRET=OFF,libsecret"
+PACKAGECONFIG[libhyphen] = "-DUSE_LIBHYPHEN=ON,-DUSE_LIBHYPHEN=OFF,libhyphen"
+PACKAGECONFIG[woff2] = "-DUSE_WOFF2=ON,-DUSE_WOFF2=OFF,woff2"
+PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg"
+PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd"
+PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
+PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms"
+
+# webkitgtk is full of /usr/bin/env python, particular for generating docs
+do_configure[postfuncs] += "setup_python_link"
+setup_python_link() {
+ if [ ! -e ${STAGING_BINDIR_NATIVE}/python ]; then
+ ln -s `which python3` ${STAGING_BINDIR_NATIVE}/python
+ fi
+}
+
+EXTRA_OECMAKE = " \
+ -DPORT=GTK \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+ ${@bb.utils.contains('GTKDOC_ENABLED', 'True', '-DENABLE_GTKDOC=ON', '-DENABLE_GTKDOC=OFF', d)} \
+ -DENABLE_MINIBROWSER=ON \
+ -DPYTHON_EXECUTABLE=`which python3` \
+ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
+ -DENABLE_GAMEPAD=OFF \
+ "
+
+# Javascript JIT is not supported on ARC
+EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
+# By default 25-bit "medium" calls are used on ARC
+# which is not enough for binaries larger than 32 MiB
+CFLAGS:append:arc = " -mlong-calls"
+CXXFLAGS:append:arc = " -mlong-calls"
+
+# Javascript JIT is not supported on powerpc
+EXTRA_OECMAKE:append:powerpc = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
+
+# ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
+
+EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
+EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
+
+# JIT and gold linker does not work on RISCV
+EXTRA_OECMAKE:append:riscv32 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+EXTRA_OECMAKE:append:riscv64 = " -DUSE_LD_GOLD=OFF -DENABLE_JIT=OFF"
+
+# JIT not supported on MIPS either
+EXTRA_OECMAKE:append:mipsarch = " -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON "
+
+# JIT not supported on X32
+# An attempt was made to upstream JIT support for x32 in
+# https://bugs.webkit.org/show_bug.cgi?id=100450, but this was closed as
+# unresolved due to limited X32 adoption.
+EXTRA_OECMAKE:append:x86-x32 = " -DENABLE_JIT=OFF "
+
+SECURITY_CFLAGS:remove:aarch64 = "-fpie"
+SECURITY_CFLAGS:append:aarch64 = " -fPIE"
+
+FILES:${PN} += "${libdir}/webkit2gtk-4.1/injected-bundle/libwebkit2gtkinjectedbundle.so"
+
+RRECOMMENDS:${PN} += "ca-certificates shared-mime-info"
+
+# http://errors.yoctoproject.org/Errors/Details/20370/
+ARM_INSTRUCTION_SET:armv4 = "arm"
+ARM_INSTRUCTION_SET:armv5 = "arm"
+ARM_INSTRUCTION_SET:armv6 = "arm"
+
+# https://bugzilla.yoctoproject.org/show_bug.cgi?id=9474
+# https://bugs.webkit.org/show_bug.cgi?id=159880
+# JSC JIT can build on ARMv7 with -marm, but doesn't work on runtime.
+# Upstream only tests regularly the JSC JIT on ARMv7 with Thumb2 (-mthumb).
+ARM_INSTRUCTION_SET:armv7a = "thumb"
+ARM_INSTRUCTION_SET:armv7r = "thumb"
+ARM_INSTRUCTION_SET:armv7ve = "thumb"
+
+# introspection inside qemu-arm hangs forever on musl/arm builds
+# therefore disable GI_DATA
+GI_DATA_ENABLED:libc-musl:armv7a = "False"
+GI_DATA_ENABLED:libc-musl:armv7ve = "False"
+
+# Can't be built with ccache
+CCACHE_DISABLE = "1"
+
+PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess"
+src_package_preprocess () {
+ # Trim build paths from comments in generated sources to ensure reproducibility
+ sed -i -e "s,${WORKDIR},,g" \
+ ${B}/JavaScriptCore/DerivedSources/*.h \
+ ${B}/JavaScriptCore/DerivedSources/yarr/*.h \
+ ${B}/JavaScriptCore/PrivateHeaders/JavaScriptCore/*.h \
+ ${B}/WebKit2Gtk/DerivedSources/webkit2/*.cpp \
+ ${B}/WebKit2Gtk/DerivedSources/webkit2/*.h
+
+}
+
diff --git a/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb b/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb
new file mode 100644
index 0000000000..4a18467ea4
--- /dev/null
+++ b/meta/recipes-sato/webkit/wpebackend-fdo_1.12.0.bb
@@ -0,0 +1,24 @@
+SUMMARY = "WPE's backend based on a freedesktop.org stack."
+HOMEPAGE = "https://github.com/Igalia/WPEBackend-fdo"
+BUGTRACKER = "https://github.com/Igalia/WPEBackend-fdo/issues"
+
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1f62cef2e3645e3e74eb05fd389d7a66"
+DEPENDS = "glib-2.0 libxkbcommon wayland virtual/egl libwpe libepoxy"
+
+DEPENDS:append:class-target = " wayland-native"
+
+inherit meson features_check pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI = "https://wpewebkit.org/releases/${BPN}-${PV}.tar.xz"
+SRC_URI[sha256sum] = "6239c9c15523410798d66315de6b491712ab30009ba180f3e0dd076d9b0074ac"
+
+# Especially helps compiling with clang which enable this as error when
+# using c++11
+CXXFLAGS += "-Wno-c++11-narrowing"
+
+# This is a tweak of upstream-version-is-even needed because
+# ipstream directory contains tarballs for other components as well.
+UPSTREAM_CHECK_REGEX = "wpebackend-fdo-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar"