Squashed 'import-layers/meta-openembedded/' content from commit 247b126
Change-Id: I40827e9ce5fba63f1cca2a0be44976ae8383b4c0
git-subtree-dir: import-layers/meta-openembedded
git-subtree-split: 247b1267bbe95719cd4877d2d3cfbaf2a2f4865a
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc
new file mode 100644
index 0000000..c6ef976
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl.inc
@@ -0,0 +1,69 @@
+DESCRIPTION = "Webkit browser engine, EFL edition"
+LICENSE = "GPLv2+ & LGPL-2.1"
+LIC_FILES_CHKSUM = " \
+ file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+"
+
+# you need harfbuzz with icu enabled, you can add this to your config:
+# PACKAGECONFIG_append_pn-harfbuzz = " icu"
+DEPENDS = "icu libxslt sqlite3 gperf-native bison-native flex-native jpeg \
+ libpng libxt fontconfig cairo freetype glib-2.0 libsoup-2.4 \
+ libxml2 pango eina ecore evas edje eldbus harfbuzz enchant \
+ ruby-native elementary"
+
+PE = "1"
+
+SRCVER ?= "${PV}"
+SRC_URI = "\
+ ${E_RELEASES}/libs/webkit-efl/ewebkit-${SRCVER}.tar.xz \
+"
+S = "${WORKDIR}/ewebkit"
+
+inherit cmake lib_package pkgconfig perlnative pythonnative
+
+ARM_INSTRUCTION_SET = "arm"
+
+EXTRA_OECMAKE = " \
+ -DPORT=Efl \
+ -DSHARED_CORE=On \
+ -DENABLE_DRAG_SUPPORT=On \
+ -DENABLE_WEB_AUDIO=Off \
+ -DENABLE_VIDEO=Off \
+ -DENABLE_VIDEO_TRACK=Off \
+ -DENABLE_ACCESSIBILITY=Off \
+ -DENABLE_BATTERY_STATUS=Off \
+"
+# generated ASM code isn't compatible with armv[45]
+# it was removed from macro assembler in upstream commit 121885
+# https://bugs.webkit.org/show_bug.cgi?id=90198
+EXTRA_OECMAKE_append_armv4 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off"
+EXTRA_OECMAKE_append_armv5 = " -DENABLE_LLINT=Off -DENABLE_JIT=Off -DENABLE_DFG_JIT=Off -DENABLE_FTL_JIT=Off"
+
+# hack it in OptionsEfl.cmake because that overrules -DENABLE_LLINT=Off
+do_configure_prepend_armv4() {
+ sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake
+}
+do_configure_prepend_armv5() {
+ sed -i 's/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)/WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT OFF)/g' ${S}/Source/cmake/OptionsEfl.cmake
+}
+
+# and disabled LLINT currently isn't supported, so restrict to armv7a and x86*
+COMPATIBLE_MACHINE = "(-)"
+COMPATIBLE_MACHINE_x86 = "(.*)"
+COMPATIBLE_MACHINE_x86-64 = "(.*)"
+COMPATIBLE_MACHINE_armv7a = "(.*)"
+
+LEAD_SONAME = "libewebkit.so"
+PACKAGES =+ "${PN}launcher-dbg ${PN}launcher ${PN}-inspector"
+
+FILES_${PN} += "${datadir}/ewebkit2-1/themes/default.edj"
+FILES_${PN}-dev += "${libdir}/cmake"
+FILES_${PN}launcher = "${bindir}/EWebLauncher"
+FILES_${PN}launcher-dbg = "${bindir}/.debug/EWebLauncher"
+FILES_${PN}-inspector += "${datadir}/ewebkit2-1/inspector"
+
+# http://errors.yoctoproject.org/Errors/Details/40659/
+PNBLACKLIST[webkit-efl] ?= "Old and unmaintaned fork with many security issues"
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
new file mode 100644
index 0000000..19b7bb8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch
@@ -0,0 +1,46 @@
+From e6caaf6e80b9c80dc2b860b471a8f05e825f6dfa Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 14 Aug 2014 01:00:21 +0200
+Subject: [PATCH 1/3] OptionsCommon.cmake: don't mix CXX_FLAGS into C_FLAGS
+
+* it was added in https://bugs.webkit.org/show_bug.cgi?id=130261
+* causes build failures in udis86 which explicitly asks for gcc but then
+ gets g++ flags from CMAKE_CXX_FLAGS.
+
+cc1: error: command line option '-fvisibility-inlines-hidden' is valid
+for C++/ObjC++ but not for C [-Werror]
+cc1: error: command line option '-fpermissive' is valid for C++/ObjC++
+but not for C [-Werror]
+cc1: all warnings being treated as errors
+Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182:
+recipe for target
+'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o'
+failed
+make[2]: ***
+[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o]
+Error 1
+make[2]: *** Waiting for unfinished jobs....
+make[2]: Leaving directory
+'/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build'
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/cmake/OptionsCommon.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
+index e304a99..045c614 100644
+--- a/Source/cmake/OptionsCommon.cmake
++++ b/Source/cmake/OptionsCommon.cmake
+@@ -25,7 +25,7 @@ endif ()
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+ if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+- set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-exceptions -fno-strict-aliasing -fno-rtti")
+ endif ()
+
+--
+2.1.3
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
new file mode 100644
index 0000000..627a9e8
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch
@@ -0,0 +1,45 @@
+From de93951f89e851b6689718022eebb4b8b1d14c06 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Mon, 13 Jan 2014 17:21:25 +0100
+Subject: [PATCH 2/3] WebKitHelpers.cmake: Add
+ -Wno-error=deprecated-declarations -Wno-error=cast-align
+ -Wno-error=type-limits
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/cmake/WebKitHelpers.cmake | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
+index 227b9ee..ae52ef6 100644
+--- a/Source/cmake/WebKitHelpers.cmake
++++ b/Source/cmake/WebKitHelpers.cmake
+@@ -40,6 +40,25 @@ macro(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
+ # FIXME: When we use -fno-tree-dce to support the jsCStack branch merge, build error occurs due to the uninitialization. Temporarily we set
+ # uninitialized as build warning in order to support the jsCStack merge. https://bugs.webkit.org/show_bug.cgi?id=127777.
+ set(OLD_COMPILE_FLAGS "-Werror -Wno-error=unused-parameter -Wno-error=uninitialized -Wno-error=literal-suffix ${OLD_COMPILE_FLAGS}")
++ # libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:13:84: error: 'GType soup_proxy_uri_resolver_get_type()' is deprecated (declared at /OE/build/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libsoup-2.4/libsoup/soup-proxy-uri-resolver.h:48) [-Werror=deprecated-declarations]
++ set(OLD_COMPILE_FLAGS "-Wno-error=deprecated-declarations ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WTF/wtf/text/StringImpl.h:742:87: error: cast from 'uint8_t* {aka unsigned char*}' to 'WTF::StringImpl**' increases required alignment of target type [-Werror=cast-align]
++ set(OLD_COMPILE_FLAGS "-Wno-error=cast-align ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.10.0+1.11.0-beta1-r0/ewebkit/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp:70:16: error: comparison is always false due to limited range of data type [-Werror=type-limits]
++ set(OLD_COMPILE_FLAGS "-Wno-error=type-limits ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebKit2/UIProcess/API/efl/EwkView.cpp:832:5: error: missing initializer for member '_Evas_GL_Config::gles_version' [-Werror=missing-field-initializers]
++ # this one is new with efl-1.12
++ set(OLD_COMPILE_FLAGS "-Wno-error=missing-field-initializers ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/dtoa/bignum.cc:105:10: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
++ # this one is new with gcc-5.2
++ set(OLD_COMPILE_FLAGS "-Wno-error=strict-overflow ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WTF/wtf/SaturatedArithmetic.h:46:26: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
++ # this one is new with gcc-5.2
++ set(OLD_COMPILE_FLAGS "-Wno-error=parentheses ${OLD_COMPILE_FLAGS}")
++ # webkit-efl/1_1.11.0-r0/ewebkit/Source/WebCore/loader/cache/CachedScript.cpp:103:108: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses]
++ # this one is new with gcc-5.2
++ set(OLD_COMPILE_FLAGS "-Wno-error=logical-not-parentheses ${OLD_COMPILE_FLAGS}")
++
+ endif ()
+
+ set_target_properties(${_target} PROPERTIES
+--
+2.1.3
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
new file mode 100644
index 0000000..e718ee1
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0003-FEBlendNEON.h-fix-missing-semicolon.patch
@@ -0,0 +1,35 @@
+From a076d76b8e8862bd641cd991190e82cfd478cc66 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 20 Aug 2014 00:52:03 +0200
+Subject: [PATCH 3/3] FEBlendNEON.h: fix missing semicolon
+
+* Otherwise fails with:
+In file included from ewebkit/Source/WebCore/platform/graphics/filters/FEBlend.cpp:29:0:
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h: In member function 'virtual void WebCore::FEBlend::platformApplySoftware()':
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected primary-expression before '}' token
+ }
+ ^
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: return-statement with a value, in function returning 'void' [-fpermissive]
+ewebkit/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h:130:5: error: expected ';' before '}' token
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
+index 1c50765..f4b6f46 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FEBlendNEON.h
+@@ -126,7 +126,7 @@ void FEBlend::platformApplySoftware()
+
+ if (pixelArrayLength >= 8) {
+ platformApplyNEON(srcPixelArrayA->data(), srcPixelArrayB->data(), dstPixelArray->data(), pixelArrayLength);
+- return
++ return;
+ }
+ // If there is just one pixel we expand it to two.
+ ASSERT(pixelArrayLength > 0);
+--
+2.1.3
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
new file mode 100644
index 0000000..bfa3052
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch
@@ -0,0 +1,146 @@
+From baebc004111289ef658c78a42f8332f3dceef41e Mon Sep 17 00:00:00 2001
+From: "ryuan.choi@navercorp.com" <ryuan.choi@navercorp.com>
+Date: Thu, 13 Nov 2014 07:07:16 +0000
+Subject: [PATCH 4/4] Fix the build with EFL 1.12
+ https://bugs.webkit.org/show_bug.cgi?id=138245
+
+Reviewed by Gyuyoung Kim.
+
+Source/WebKit2:
+
+* UIProcess/API/efl/EwkView.cpp:
+First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
+Evas_GL.h can't be included in UniquePtrEfl.h
+It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
+Second, provided the version of GLES in Evas_GL_Config not to break build with
+EFL 1.12
+(EwkView::EwkView):
+(EwkView::~EwkView):
+(EwkView::displayTimerFired):
+(EwkView::createGLSurface):
+* UIProcess/API/efl/EwkView.h:
+
+Source/WTF:
+
+* wtf/efl/UniquePtrEfl.h:
+Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
+it should not be included with official GL headers.
+
+git-svn-id: http://svn.webkit.org/repository/webkit/trunk@176066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+---
+ Source/WTF/wtf/efl/UniquePtrEfl.h | 2 --
+ Source/WebKit2/UIProcess/API/efl/EwkView.cpp | 24 ++++++++++++++++--------
+ Source/WebKit2/UIProcess/API/efl/EwkView.h | 3 ++-
+ 3 files changed, 18 insertions(+), 11 deletions(-)
+
+diff --git a/Source/WTF/wtf/efl/UniquePtrEfl.h b/Source/WTF/wtf/efl/UniquePtrEfl.h
+index ba0110a..038d3fb 100644
+--- a/Source/WTF/wtf/efl/UniquePtrEfl.h
++++ b/Source/WTF/wtf/efl/UniquePtrEfl.h
+@@ -33,7 +33,6 @@
+ #include <Ecore_IMF.h>
+ #include <Eina.h>
+ #include <Evas.h>
+-#include <Evas_GL.h>
+
+ namespace WTF {
+
+@@ -51,7 +50,6 @@ using EflUniquePtr = std::unique_ptr<T, EflPtrDeleter<T>>;
+ macro(Eina_Hash, eina_hash_free) \
+ macro(Eina_Module, eina_module_free) \
+ macro(Evas_Object, evas_object_del) \
+- macro(Evas_GL, evas_gl_free)
+
+ #define WTF_DEFINE_EFLPTR_DELETER(typeName, deleterFunc) \
+ template<> struct EflPtrDeleter<typeName> \
+diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
+index 50d34ed..6ff3394 100755
+--- a/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.cpp
+@@ -299,9 +299,11 @@ EwkView::EwkView(WKViewRef view, Evas_Object* evasObject)
+
+ // FIXME: Remove when possible.
+ static_cast<WebViewEfl*>(webView())->setEwkView(this);
+- m_evasGL = EflUniquePtr<Evas_GL>(evas_gl_new(evas_object_evas_get(m_evasObject)));
++
++ // FIXME: Consider it to move into EvasGLContext.
++ m_evasGL = evas_gl_new(evas_object_evas_get(m_evasObject));
+ if (m_evasGL)
+- m_evasGLContext = EvasGLContext::create(m_evasGL.get());
++ m_evasGLContext = EvasGLContext::create(m_evasGL);
+
+ if (!m_evasGLContext) {
+ WARN("Failed to create Evas_GL, falling back to software mode.");
+@@ -333,6 +335,9 @@ EwkView::~EwkView()
+ {
+ ASSERT(wkPageToEvasObjectMap().get(wkPage()) == m_evasObject);
+ wkPageToEvasObjectMap().remove(wkPage());
++
++ if (m_evasGL)
++ evas_gl_free(m_evasGL);
+ }
+
+ EwkView* EwkView::create(WKViewRef webView, Evas* canvas, Evas_Smart* smart)
+@@ -587,7 +592,7 @@ void EwkView::displayTimerFired(Timer<EwkView>*)
+ return;
+ }
+
+- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
+
+ WKViewPaintToCurrentGLContext(wkView());
+
+@@ -828,21 +833,24 @@ bool EwkView::createGLSurface()
+ EVAS_GL_DEPTH_BIT_8,
+ EVAS_GL_STENCIL_NONE,
+ EVAS_GL_OPTIONS_NONE,
+- EVAS_GL_MULTISAMPLE_NONE
++ EVAS_GL_MULTISAMPLE_NONE,
++#if defined(EVAS_GL_API_VERSION) && EVAS_GL_API_VERSION >= 2
++ EVAS_GL_GLES_2_X
++#endif
+ };
+
+ // Recreate to current size: Replaces if non-null, and frees existing surface after (OwnPtr).
+- m_evasGLSurface = EvasGLSurface::create(m_evasGL.get(), &evasGLConfig, deviceSize());
++ m_evasGLSurface = EvasGLSurface::create(m_evasGL, &evasGLConfig, deviceSize());
+ if (!m_evasGLSurface)
+ return false;
+
+ Evas_Native_Surface nativeSurface;
+- evas_gl_native_surface_get(m_evasGL.get(), m_evasGLSurface->surface(), &nativeSurface);
++ evas_gl_native_surface_get(m_evasGL, m_evasGLSurface->surface(), &nativeSurface);
+ evas_object_image_native_surface_set(smartData()->image, &nativeSurface);
+
+- evas_gl_make_current(m_evasGL.get(), m_evasGLSurface->surface(), m_evasGLContext->context());
++ evas_gl_make_current(m_evasGL, m_evasGLSurface->surface(), m_evasGLContext->context());
+
+- Evas_GL_API* gl = evas_gl_api_get(m_evasGL.get());
++ Evas_GL_API* gl = evas_gl_api_get(m_evasGL);
+
+ WKPoint boundsEnd = WKViewUserViewportToScene(wkView(), WKPointMake(deviceSize().width(), deviceSize().height()));
+ gl->glViewport(0, 0, boundsEnd.x, boundsEnd.y);
+diff --git a/Source/WebKit2/UIProcess/API/efl/EwkView.h b/Source/WebKit2/UIProcess/API/efl/EwkView.h
+index 1c482cf..68dab87 100644
+--- a/Source/WebKit2/UIProcess/API/efl/EwkView.h
++++ b/Source/WebKit2/UIProcess/API/efl/EwkView.h
+@@ -39,6 +39,7 @@
+ #endif
+
+ typedef struct _cairo_surface cairo_surface_t;
++typedef struct _Evas_GL Evas_GL;
+
+ namespace WebKit {
+ class ContextMenuClientEfl;
+@@ -241,7 +242,7 @@ private:
+ Evas_Object* m_evasObject;
+ RefPtr<EwkContext> m_context;
+ RefPtr<EwkPageGroup> m_pageGroup;
+- EflUniquePtr<Evas_GL> m_evasGL;
++ Evas_GL* m_evasGL;
+ std::unique_ptr<WebCore::EvasGLContext> m_evasGLContext;
+ std::unique_ptr<WebCore::EvasGLSurface> m_evasGLSurface;
+ bool m_pendingSurfaceResize;
+--
+2.1.3
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch
new file mode 100644
index 0000000..7e8e295
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0005-Fix-the-build-with-cmake-3.patch
@@ -0,0 +1,104 @@
+From a00a7097b85567ae6eb7a00b3ce7ef021841203c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 24 Sep 2015 18:03:52 +0200
+Subject: [PATCH 5/5] Fix the build with cmake 3
+
+* the same issue as in GTK port:
+ https://bugs.webkit.org/show_bug.cgi?id=141796
+ http://trac.webkit.org/changeset/180502
+
+* otherwise linking fails with couple undefined symbols
+| CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::webkitXError(_XDisplay*, XErrorEvent*)':
+| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:63: undefined reference to `XGetErrorText'
+| CMakeFiles/WebKit2.dir/PluginProcess/unix/PluginProcessMainUnix.cpp.o: In function `WebKit::PluginProcessMain::parseCommandLine(int, char**)':
+| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler'
+| ewebkit/Source/WebKit2/PluginProcess/unix/PluginProcessMainUnix.cpp:102: undefined reference to `XSetErrorHandler'
+| CMakeFiles/WebKit2.dir/WebProcess/efl/WebProcessMainEfl.cpp.o: In function `WebKit::WebProcessMain::platformInitialize()':
+| ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler'
+| ewebkit/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp:67: undefined reference to `XSetExtensionErrorHandler'
+| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowed(bool, unsigned long)':
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:170: undefined reference to `XFlush'
+| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPostInitializeWindowless()':
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:195: undefined reference to `XGetVisualInfo'
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:199: undefined reference to `XFree'
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:202: undefined reference to `XCreateColormap'
+| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformDestroy()':
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:251: undefined reference to `XFreeColormap'
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:255: undefined reference to `XFreePixmap'
+| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformGeometryDidChange()':
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:293: undefined reference to `XCreatePixmap'
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:286: undefined reference to `XFreePixmap'
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:295: undefined reference to `XSync'
+| CMakeFiles/WebKit2.dir/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp.o: In function `WebKit::NetscapePlugin::platformPaint(WebCore::GraphicsContext*, WebCore::IntRect const&, bool)':
+| ewebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:343: undefined reference to `XSync'
+| collect2: error: ld returned 1 exit status
+| Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:16145: recipe for target 'lib/libewebkit2.so.1.11.0' failed
+| make[2]: *** [lib/libewebkit2.so.1.11.0] Error 1
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/WebCore/PlatformEfl.cmake | 1 +
+ Source/WebKit2/PlatformEfl.cmake | 3 +++
+ Source/cmake/OptionsEfl.cmake | 1 +
+ Tools/WebKitTestRunner/PlatformEfl.cmake | 1 +
+ 4 files changed, 6 insertions(+)
+
+diff --git a/Source/WebCore/PlatformEfl.cmake b/Source/WebCore/PlatformEfl.cmake
+index 41ffc15..63b7861 100644
+--- a/Source/WebCore/PlatformEfl.cmake
++++ b/Source/WebCore/PlatformEfl.cmake
+@@ -404,6 +404,7 @@ if (WTF_USE_3D_GRAPHICS)
+ )
+ endif ()
+
++ find_package(X11 REQUIRED)
+ list(APPEND WebCore_LIBRARIES
+ ${X11_X11_LIB}
+ )
+diff --git a/Source/WebKit2/PlatformEfl.cmake b/Source/WebKit2/PlatformEfl.cmake
+index 8c66d1b..d96f0bd 100644
+--- a/Source/WebKit2/PlatformEfl.cmake
++++ b/Source/WebKit2/PlatformEfl.cmake
+@@ -331,12 +331,15 @@ if (ENABLE_SECCOMP_FILTERS)
+ endif ()
+
+ if (ENABLE_ECORE_X)
++ find_package(X11 REQUIRED)
+ list(APPEND WebProcess_LIBRARIES
+ ${ECORE_X_LIBRARIES}
+ ${X11_Xext_LIB}
+ )
+ list(APPEND WebKit2_LIBRARIES
+ ${ECORE_X_LIBRARIES}
++ ${X11_X11_LIB}
++ ${X11_Xext_LIB}
+ )
+ endif ()
+
+diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
+index 8585f19..1aa9002 100644
+--- a/Source/cmake/OptionsEfl.cmake
++++ b/Source/cmake/OptionsEfl.cmake
+@@ -181,6 +181,7 @@ endif ()
+
+ if (WTF_OS_UNIX)
+ set(ENABLE_X11_TARGET ON)
++ find_package(X11 REQUIRED)
+ add_definitions(-DXP_UNIX)
+ endif (WTF_OS_UNIX)
+
+diff --git a/Tools/WebKitTestRunner/PlatformEfl.cmake b/Tools/WebKitTestRunner/PlatformEfl.cmake
+index 1873279..a905f2a 100644
+--- a/Tools/WebKitTestRunner/PlatformEfl.cmake
++++ b/Tools/WebKitTestRunner/PlatformEfl.cmake
+@@ -53,6 +53,7 @@ list(APPEND WebKitTestRunnerInjectedBundle_LIBRARIES
+ )
+
+ if (ENABLE_ECORE_X)
++ find_package(X11 REQUIRED)
+ list(APPEND WebKitTestRunner_INCLUDE_DIRECTORIES
+ ${ECORE_X_INCLUDE_DIRS}
+ )
+--
+2.6.0
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch
new file mode 100644
index 0000000..0562634
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl/0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch
@@ -0,0 +1,30 @@
+From 993882f81fe991b8baf1099392703337cc13fac0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 27 Jan 2016 18:40:23 +0100
+Subject: [PATCH] OptionsEfl.cmake: Fix build with newer CMake 3.4
+
+* otherwise it fails with:
+ | CMake Error at Source/cmake/OptionsEfl.cmake:251 (CHECK_INCLUDE_FILES):
+ | Unknown CMake command "CHECK_INCLUDE_FILES".
+* https://bugs.webkit.org/show_bug.cgi?id=150117
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ Source/cmake/OptionsEfl.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
+index 1aa9002..05216d0 100644
+--- a/Source/cmake/OptionsEfl.cmake
++++ b/Source/cmake/OptionsEfl.cmake
+@@ -253,6 +253,7 @@ if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE)
+ set(WTF_USE_EGL 1)
+ add_definitions(-DWTF_USE_EGL=1)
+ else ()
++ include(CheckIncludeFiles)
+ CHECK_INCLUDE_FILES("GL/glx.h" OPENGLX_FOUND)
+ add_definitions(-DWTF_USE_GLX=1)
+ endif ()
+--
+2.7.0
+
diff --git a/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
new file mode 100644
index 0000000..96ad830
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-efl/recipes-efl/webkit/webkit-efl_1.11.0.bb
@@ -0,0 +1,12 @@
+require ${BPN}.inc
+
+SRC_URI += "\
+ file://0001-OptionsCommon.cmake-don-t-mix-CXX_FLAGS-into-C_FLAGS.patch \
+ file://0002-WebKitHelpers.cmake-Add-Wno-error-deprecated-declara.patch \
+ file://0003-FEBlendNEON.h-fix-missing-semicolon.patch \
+ file://0004-Fix-the-build-with-EFL-1.12-https-bugs.webkit.org-sh.patch \
+ file://0005-Fix-the-build-with-cmake-3.patch \
+ file://0006-OptionsEfl.cmake-Fix-build-with-newer-CMake-3.4.patch \
+"
+SRC_URI[md5sum] = "90fa970ebf8646319d292c2bb5bff5db"
+SRC_URI[sha256sum] = "d8d21e27f4a21cd77c41914548c184ddb98693ba23851aa66c8e51c0be4b90b7"