summaryrefslogtreecommitdiffstats
path: root/meta/recipes-webos
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-webos')
-rw-r--r--meta/recipes-webos/cjson/cjson.bb30
-rw-r--r--meta/recipes-webos/cmake-modules-webos/cmake-modules-webos-native.bb57
-rw-r--r--meta/recipes-webos/cpushareholder-stub/cpushareholder-stub.bb22
-rw-r--r--meta/recipes-webos/gtest/gtest/0001-explicit-bool-cast.patch26
-rw-r--r--meta/recipes-webos/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch55
-rw-r--r--meta/recipes-webos/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch39
-rw-r--r--meta/recipes-webos/gtest/gtest_1.7.0.bb60
-rw-r--r--meta/recipes-webos/lemon/files/lemon.163
-rw-r--r--meta/recipes-webos/lemon/lemon.inc25
-rw-r--r--meta/recipes-webos/lemon/lemon_3.7.3.bb7
-rw-r--r--meta/recipes-webos/libpbnjson/libpbnjson.bb39
-rw-r--r--meta/recipes-webos/luna-init/luna-init.bb45
-rw-r--r--meta/recipes-webos/luna-prefs/luna-prefs-data.bb47
-rw-r--r--meta/recipes-webos/luna-prefs/luna-prefs.bb32
-rw-r--r--meta/recipes-webos/luna-service2-security-conf/luna-service2-security-conf.bb28
-rw-r--r--meta/recipes-webos/luna-service2/luna-service2.bb60
-rw-r--r--meta/recipes-webos/nyx-lib/nyx-lib.bb32
-rw-r--r--meta/recipes-webos/nyx-utils/nyx-utils.bb23
-rw-r--r--meta/recipes-webos/pmloglib/pmloglib-private.bb25
-rwxr-xr-xmeta/recipes-webos/pmloglib/pmloglib.bb30
-rw-r--r--meta/recipes-webos/python-tz/python-tz-native_2015.4.bb22
-rw-r--r--meta/recipes-webos/python-tz/python-tz/fix.for.tzdata-2015e.patch29
-rw-r--r--meta/recipes-webos/qml-webos-framework/qml-webos-framework.bb55
-rw-r--r--meta/recipes-webos/qt-features-webos/qt-features-webos.bb36
-rw-r--r--meta/recipes-webos/qt-features-webos/qt-features-webos/qt.patch76
-rw-r--r--meta/recipes-webos/qt5/qtwayland-native_git.bbappend28
-rw-r--r--meta/recipes-webos/qt5/qtwayland/qt.patch91
-rw-r--r--meta/recipes-webos/qt5/qtwayland/qt2.patch169
-rw-r--r--meta/recipes-webos/qt5/qtwayland/qt3.patch36
-rw-r--r--meta/recipes-webos/qt5/qtwayland_git.bbappend40
-rw-r--r--meta/recipes-webos/qtwayland-webos/qtwayland-webos.bb48
-rw-r--r--meta/recipes-webos/qtwayland-webos/qtwayland-webos/qt.patch57
-rw-r--r--meta/recipes-webos/rdxd/rdxd.bb33
-rw-r--r--meta/recipes-webos/uriparser/uriparser_0.8.0.bb19
-rw-r--r--meta/recipes-webos/webos-wayland-extensions/webos-wayland-extensions.bb22
-rw-r--r--meta/recipes-webos/yajl/yajl_2.1.0.bb18
36 files changed, 1524 insertions, 0 deletions
diff --git a/meta/recipes-webos/cjson/cjson.bb b/meta/recipes-webos/cjson/cjson.bb
new file mode 100644
index 0000000000..86fa5d6ffc
--- /dev/null
+++ b/meta/recipes-webos/cjson/cjson.bb
@@ -0,0 +1,30 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS of the open-source json-c library"
+AUTHOR = "Keith Derrick <keith.derrick@lge.com>"
+SECTION = "libs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit webos_autotools
+inherit webos_enhanced_submissions
+inherit webos_library
+inherit webos_public_repo
+
+WEBOS_VERSION = "1.8.0-1_d07d717a33c4067e75e7f47688add9e28686106d"
+PR = "r4"
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += "--disable-static"
+
+EXTRA_OEMAKE += "all"
+
+# autotools-brokensep (autogen calls autoreconf in $B)
+B = "${S}"
+do_configure_prepend() {
+ # Force a configure to happen
+ rm -f ${S}/config.status
+ sh ${S}/autogen.sh
+}
diff --git a/meta/recipes-webos/cmake-modules-webos/cmake-modules-webos-native.bb b/meta/recipes-webos/cmake-modules-webos/cmake-modules-webos-native.bb
new file mode 100644
index 0000000000..cc910d5715
--- /dev/null
+++ b/meta/recipes-webos/cmake-modules-webos/cmake-modules-webos-native.bb
@@ -0,0 +1,57 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+DESCRIPTION = "CMake modules used by webOS"
+LICENSE = "Apache-2.0"
+SECTION = "webos/devel/tools"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+WEBOS_VERSION = "1.6.3-1_4ca5fd1f785d045bd43cccaf7ce65429698abef8"
+PR = "r1"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_arch_indep
+inherit webos_cmake
+inherit native
+
+WEBOS_CMAKE_DEPENDS = ""
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+do_compile() {
+ :
+}
+
+# Keep in sync with classes/webos_pro_filesystem_paths.bbclass
+do_install_append() {
+ # The location of webOS.cmake depends on CMAKE_ROOT, which isn't accessible
+ # to OE, but it's got to be somewhere under ${D} (assume there's only one):
+ local webos_cmake=$(find ${D} -name webOS.cmake)
+
+ # Insert an invocation of _webos_init_install_vars_pro() just before
+ # the endmacro() of _webos_init_install_vars(). Output to a temporary file
+ # so that do_install() can be re-executed.
+ awk '/^macro\(_webos_init_install_vars\)/,/^endmacro\(\)/ { \
+ if ($0 == "endmacro()") { \
+ printf "\t_webos_init_install_vars_pro()\n"
+ } \
+ }; \
+ { print }' $webos_cmake > ${WORKDIR}/webOS.cmake
+
+ # Use tr to generate tabs and to prevent OE from trying to expand the
+ # WEBOS_INSTALL_* just in case they're defined in OE somehow.
+ tr '~@' '\t$' <<! >> ${WORKDIR}/webOS.cmake
+
+macro(_webos_init_install_vars_pro)
+~_webos_set_from_env(WEBOS_INSTALL_WEBOS_CUSTOMIZATIONDIR webos_customizationdir @{WEBOS_INSTALL_PREFIX}/palm/customization)
+~_webos_set_from_env(WEBOS_INSTALL_DEVELOPERDIR webos_developerdir @{WEBOS_INSTALL_MEDIADIR}/developer)
+~_webos_set_from_env(WEBOS_INSTALL_EMULATORSHAREDDIR webos_emulatorshareddir @{WEBOS_INSTALL_MEDIADIR}/shared)
+~_webos_set_from_env(WEBOS_INSTALL_FIRSTUSESENTINELFILE webos_firstusesentinelfile @{WEBOS_INSTALL_SYSMGR_LOCALSTATEDIR}/preferences/ran-firstuse)
+~_webos_set_from_env(WEBOS_INSTALL_SETTINGSSERVICE_ERRORSENTINELFILE webos_settingsservice_errorsentinelfile @{WEBOS_INSTALL_WEBOS_LOCALSTATEDIR}/settingsservice_critical_error)
+endmacro()
+!
+
+ mv -f ${WORKDIR}/webOS.cmake $webos_cmake
+}
diff --git a/meta/recipes-webos/cpushareholder-stub/cpushareholder-stub.bb b/meta/recipes-webos/cpushareholder-stub/cpushareholder-stub.bb
new file mode 100644
index 0000000000..11ce7ffad1
--- /dev/null
+++ b/meta/recipes-webos/cpushareholder-stub/cpushareholder-stub.bb
@@ -0,0 +1,22 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "Stubbed implementation of the webOS CPU shares scripts"
+AUTHOR = "Maksym Shevchenko <myshevchenko@luxoft.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+RPROVIDES_${PN} = "cpushareholder"
+
+WEBOS_VERSION = "2.0.1-1_4f7322eb7854e3df5139cc54266a2c400b45b4f9"
+PR = "r2"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_arch_indep
+inherit webos_program
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-webos/gtest/gtest/0001-explicit-bool-cast.patch b/meta/recipes-webos/gtest/gtest/0001-explicit-bool-cast.patch
new file mode 100644
index 0000000000..15b06dd232
--- /dev/null
+++ b/meta/recipes-webos/gtest/gtest/0001-explicit-bool-cast.patch
@@ -0,0 +1,26 @@
+Copyright (c) 2014 LG Electronics, Inc.
+
+From: Andrii Motsok <andrii.motsok@lge.com>
+Date: Wed, 28 May 2014 14:40:31 +0300
+Subject: [PATCH] Explicit bool cast
+
+---
+ include/gtest/internal/gtest-internal.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/gtest/internal/gtest-internal.h b/include/gtest/internal/gtest-internal.h
+index 0dcc3a3..d5c13cf 100644
+--- a/include/gtest/internal/gtest-internal.h
++++ b/include/gtest/internal/gtest-internal.h
+@@ -1108,7 +1108,7 @@ class NativeArray {
+ #define GTEST_TEST_BOOLEAN_(expression, text, actual, expected, fail) \
+ GTEST_AMBIGUOUS_ELSE_BLOCKER_ \
+ if (const ::testing::AssertionResult gtest_ar_ = \
+- ::testing::AssertionResult(expression)) \
++ ::testing::AssertionResult(bool(expression))) \
+ ; \
+ else \
+ fail(::testing::internal::GetBoolAssertionFailureMessage(\
+--
+1.7.9.5
+
diff --git a/meta/recipes-webos/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch b/meta/recipes-webos/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
new file mode 100644
index 0000000000..1ece136b6a
--- /dev/null
+++ b/meta/recipes-webos/gtest/gtest/CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch
@@ -0,0 +1,55 @@
+From d4b25ce723812faf78d8ee038b7cbed00cbba682 Mon Sep 17 00:00:00 2001
+From: Rodrigo Caimi <caimi@datacom.ind.br>
+Date: Tue, 7 Oct 2014 15:37:10 -0300
+Subject: [PATCH] CMakeLists, gtest.pc.in: Add pkg-config support to gtest
+ 1.7.0
+
+Signed-off-by: Rodrigo Caimi <caimi@datacom.ind.br>
+---
+ CMakeLists.txt | 6 ++++++
+ gtest.pc.in | 9 +++++++++
+ 2 files changed, 15 insertions(+)
+ create mode 100644 gtest.pc.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 281c4c2..e4354a8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,6 +29,9 @@ if (COMMAND pre_project_set_up_hermetic_build)
+ pre_project_set_up_hermetic_build()
+ endif()
+
++# pkg-config support
++configure_file("gtest.pc.in" "gtest.pc" @ONLY)
++
+ ########################################################################
+ #
+ # Project-wide settings
+@@ -75,6 +78,9 @@ target_link_libraries(gtest_main gtest)
+
+ install(TARGETS gtest DESTINATION lib)
+ install(TARGETS gtest_main DESTINATION lib)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gtest.pc"
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig/"
++)
+
+ ########################################################################
+ #
+diff --git a/gtest.pc.in b/gtest.pc.in
+new file mode 100644
+index 0000000..57b1049
+--- /dev/null
++++ b/gtest.pc.in
+@@ -0,0 +1,9 @@
++Name: libgtest
++Version: 1.7.0
++Description: Google's framework for writing C++ tests on a variety of platforms
++
++prefix=@CMAKE_INSTALL_PREFIX@
++includedir=${prefix}/include
++libdir=${prefix}/lib
++Cflags:-I${includedir}/gtest
++Libs: -L${libdir} -lgtest -lgtest_main
+--
+1.9.1
+
diff --git a/meta/recipes-webos/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch b/meta/recipes-webos/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
new file mode 100644
index 0000000000..0c160b02a9
--- /dev/null
+++ b/meta/recipes-webos/gtest/gtest/cmake-Add-install-command-for-libraries-and-headers.patch
@@ -0,0 +1,39 @@
+From 5318983562be6babeb5a6996e7dda4b31acfdba8 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Wed, 30 Jul 2014 16:49:53 -0300
+Subject: [PATCH] cmake: Add install command for libraries and headers
+Organization: O.S. Systems Software LTDA.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57470c8..281c4c2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,6 +56,8 @@ include_directories(
+ ${gtest_SOURCE_DIR}/include
+ ${gtest_SOURCE_DIR})
+
++install(DIRECTORY ${gtest_SOURCE_DIR}/include/gtest DESTINATION include)
++
+ # Where Google Test's libraries can be found.
+ link_directories(${gtest_BINARY_DIR}/src)
+
+@@ -71,6 +73,9 @@ cxx_library(gtest "${cxx_strict}" src/gtest-all.cc)
+ cxx_library(gtest_main "${cxx_strict}" src/gtest_main.cc)
+ target_link_libraries(gtest_main gtest)
+
++install(TARGETS gtest DESTINATION lib)
++install(TARGETS gtest_main DESTINATION lib)
++
+ ########################################################################
+ #
+ # Samples on how to link user tests with gtest or gtest_main.
+--
+1.9.1
+
diff --git a/meta/recipes-webos/gtest/gtest_1.7.0.bb b/meta/recipes-webos/gtest/gtest_1.7.0.bb
new file mode 100644
index 0000000000..b57543555d
--- /dev/null
+++ b/meta/recipes-webos/gtest/gtest_1.7.0.bb
@@ -0,0 +1,60 @@
+# Copyright (c) 2013-2017 LG Electronics, Inc.
+
+DESCRIPTION = "Google C++ Testing Framework"
+HOMEPAGE = "https://code.google.com/p/googletest"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cbbd27594afd089daa160d3a16dd515a"
+
+PR = "r5"
+
+# matches release-1.7.0 tag, which doesn't exist on any branch
+SRCREV = "c99458533a9b4c743ed51537e25989ea55944908"
+SRC_URI = "\
+ git://github.com/google/googletest.git;nobranch=1 \
+ file://cmake-Add-install-command-for-libraries-and-headers.patch \
+ file://CMakeLists-gtest.pc.in-Add-pkg-config-support-to-gte.patch \
+ file://0001-explicit-bool-cast.patch \
+"
+S = "${WORKDIR}/git"
+
+inherit lib_package
+inherit cmake
+
+WEBOS_NO_STATIC_LIBRARIES_WHITELIST = "libgtest.a libgtest_main.a"
+
+# GTest developers recommend to use source code instead of linking
+# against a prebuilt library.
+do_install() {
+ mkdir ${B}/fused-src || true
+ ${S}/scripts/fuse_gtest_files.py ${B}/fused-src
+ cp -vf ${S}/src/gtest_main.cc ${B}/fused-src/gtest/
+
+ install -d ${D}${includedir}/gtest/internal
+ install -d ${D}${prefix}/src/gtest/src
+ install -d ${D}${prefix}/src/gtest/cmake
+
+ install -v -m 0644 ${S}/include/gtest/*.h ${D}${includedir}/gtest
+ install -v -m 0644 ${S}/include/gtest/internal/*.h ${D}${includedir}/gtest/internal
+ install -v -m 0644 ${B}/fused-src/gtest/* ${D}${prefix}/src/gtest/src
+ install -v -m 0644 ${S}/CMakeLists.txt ${D}${prefix}/src/gtest
+ install -v -m 0644 ${S}/cmake/* ${D}${prefix}/src/gtest/cmake
+ install -v -m 0644 ${S}/gtest.pc.in ${D}${prefix}/src/gtest
+
+ install -d ${D}${libdir}/pkgconfig
+
+ install -v -m 0644 ${B}/*.a ${D}${libdir}
+ install -v -m 0644 ${B}/gtest.pc ${D}${libdir}/pkgconfig
+
+ install -d ${D}${bindir}/gtest
+ install -v -m 0755 ${S}/test/*.py ${D}${bindir}/gtest
+}
+
+sysroot_stage_all_append() {
+ sysroot_stage_dir ${D}${prefix}/src ${SYSROOT_DESTDIR}${prefix}/src
+}
+
+FILES_${PN} += "${bindir}/gtest"
+FILES_${PN}-dev += "${prefix}/src"
+
+ALLOW_EMPTY_${PN} = "1"
+ALLOW_EMPTY_${PN}-dbg = "1"
diff --git a/meta/recipes-webos/lemon/files/lemon.1 b/meta/recipes-webos/lemon/files/lemon.1
new file mode 100644
index 0000000000..914ee07013
--- /dev/null
+++ b/meta/recipes-webos/lemon/files/lemon.1
@@ -0,0 +1,63 @@
+.Dd 2002-10-04
+.Dt LEMON 1
+.Os "Debian GNU/Linux"
+.\" Manual page created by Guus Sliepen <guus@debian.org>
+.Sh NAME
+.Nm lemon
+.Nd The Lemon Parser Generator
+.Sh SYNOPSIS
+.Nm
+.Op Fl bcgmqsx
+.Ar input
+.Sh DESCRIPTION
+.Nm
+is an LALR(1) parser generator for C or C++.
+It does the same job as bison and yacc.
+But
+.Nm
+is not another bison or yacc clone.
+It uses a different grammar syntax which is designed to reduce the number of coding errors.
+.Nm
+also uses a more sophisticated parsing engine that is faster than yacc and bison
+and which is both reentrant and thread-safe.
+Furthermore,
+.Nm
+implements features that can be used to eliminate resource leaks,
+making is suitable for use in long-running programs such as graphical user interfaces or embedded controllers.
+.Pp
+.Nm
+will read the grammer from
+.Ar input
+and write out a parser for that grammar in the C language.
+.Sh OPTIONS
+.Bl -tag -width indent
+.It Fl b
+Print only the basis in report.
+.It Fl c
+Don't compress the action table.
+.It Fl g
+Print grammar without actions.
+.It Fl m
+Output a makeheaders compatible file.
+.It Fl q
+(Quiet) Don't print the report file.
+.It Fl s
+Print parser stats to standard output.
+.It Fl x
+Print the version number.
+.El
+.Sh FILES
+.Bl -tag -width indent
+.It Pa /usr/share/lemon/lempar.c
+Driver template for the
+.Nm
+parser generator.
+.El
+.Sh AUTHOR
+.Nm
+has been written by
+.An D. Richard Hipp Aq drh@hwaci.com .
+.Pp
+This manual page was written by
+.An Guus Sliepen Aq guus@debian.org
+for the Debian GNU/Linux system.
diff --git a/meta/recipes-webos/lemon/lemon.inc b/meta/recipes-webos/lemon/lemon.inc
new file mode 100644
index 0000000000..57b9fb710e
--- /dev/null
+++ b/meta/recipes-webos/lemon/lemon.inc
@@ -0,0 +1,25 @@
+DESCRIPTION = "The Lemon Parser Generator"
+HOMEPAGE = "http://www.hwaci.com/sw/lemon/"
+LICENSE = "PD"
+SECTION = "devel"
+
+SRC_URI = "http://www.sqlite.org/sqlite-${PV}.tar.gz \
+ file://lemon.1"
+
+S = "${WORKDIR}/sqlite-${PV}/tool"
+
+do_compile() {
+ ${CC} ${CFLAGS} lemon.c -c -o lemon.o
+ ${CCLD} ${LDFLAGS} lemon.o -o lemon
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 lemon ${D}${bindir}
+ install -m 0644 lempar.c ${D}${bindir}
+ install -d ${D}${mandir}/man1
+ install -m 0644 ${WORKDIR}/lemon.1 ${D}${mandir}/man1/
+}
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta/recipes-webos/lemon/lemon_3.7.3.bb b/meta/recipes-webos/lemon/lemon_3.7.3.bb
new file mode 100644
index 0000000000..354db17e6e
--- /dev/null
+++ b/meta/recipes-webos/lemon/lemon_3.7.3.bb
@@ -0,0 +1,7 @@
+require lemon.inc
+
+LIC_FILES_CHKSUM = "file://lemon.c;endline=8;md5=c7551a78fa3fdecd96d1ad6761d205ee"
+
+SRC_URI[md5sum] = "5437978aae90350cf984993091e0d695"
+SRC_URI[sha256sum] = "dbf352e8fbb74829f5e7a88f9f6ceeb80a709537f668c36e4b6cdfb271309ef6"
+
diff --git a/meta/recipes-webos/libpbnjson/libpbnjson.bb b/meta/recipes-webos/libpbnjson/libpbnjson.bb
new file mode 100644
index 0000000000..b6691165db
--- /dev/null
+++ b/meta/recipes-webos/libpbnjson/libpbnjson.bb
@@ -0,0 +1,39 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "Palm's Better Native JSON library"
+AUTHOR = "Anatolii Sakhnik <anatolii.sakhnik@lge.com>"
+SECTION = "webos/libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "yajl glib-2.0 gperf-native flex-native lemon-native gmp uriparser boost"
+
+WEBOS_VERSION = "2.15.0-1_bdfbf107257bbe674c5e3b85b02c7cba419ea2aa"
+PR = "r7"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_library
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG_append_class-native = " tools"
+
+# These are the defaults, but explicitly specify so that readers know they exist
+EXTRA_OECMAKE += "-DWITH_DOCS:BOOL=FALSE -DWITH_TESTS:BOOL=FALSE -DNO_LOGGING:BOOL=TRUE"
+# Disable #line statements in autogenerated files
+EXTRA_OECMAKE += "-DLEMON_WITH_LINE:BOOL=FALSE"
+# Don't use CMake detection mechanisms for AR (it fails for class-native)
+EXTRA_OECMAKE += "-DCMAKE_AR:FILEPATH=${AR}"
+
+PACKAGECONFIG[tools] = "-DPBNJSON_INSTALL_TOOLS:BOOL=TRUE,-DPBNJSON_INSTALL_TOOLS:BOOL=FALSE"
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+BBCLASSEXTEND = "native"
+
+# Otherwise it fails with:
+# libpbnjson-native/2.15.0-68-r7/git/src/pbnjson_c/validation/schema_builder.c:24:10: fatal error: schema_keywords.h: No such file or directory
+OECMAKE_GENERATOR="Unix Makefiles"
diff --git a/meta/recipes-webos/luna-init/luna-init.bb b/meta/recipes-webos/luna-init/luna-init.bb
new file mode 100644
index 0000000000..5be37da91b
--- /dev/null
+++ b/meta/recipes-webos/luna-init/luna-init.bb
@@ -0,0 +1,45 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "Initialization, setup, and font files used by luna-sysmgr and luna-sysservice"
+AUTHOR = "Alekseyev Oleksandr <alekseyev.oleksandr@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "tzdata python-tz-native"
+
+WEBOS_VERSION = "2.0.1-1_701ec4b373b776fba829c882b05ae19de9a476ed"
+PR = "r14"
+
+#inherit webos_component TODO
+inherit webos_arch_indep
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit pythonnative
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ # Expand fonts tarball
+ if [ -e ${S}/files/conf/fonts/fonts.tgz ]; then
+ install -d ${D}${datadir}/fonts
+ tar xvzf ${S}/files/conf/fonts/fonts.tgz --directory=${D}${datadir}/fonts
+ fi
+ install -d ${D}${webos_sysconfdir}
+ install -v -m 644 ${S}/files/conf/locale.txt ${D}${webos_sysconfdir}
+}
+
+do_install_append_webos() {
+ install -v -m 644 ${S}/files/conf/apollo/defaultPreferences.txt ${D}${webos_sysconfdir}
+}
+
+PACKAGES =+ "${PN}-fonts"
+FILES_${PN} += "${webos_prefix} ${webos_sysconfdir}"
+FILES_${PN}-fonts += "${datadir}/fonts/"
+
+# until pseudo is completely fixed
+# PLAT-48507 pseudo: random package_qa failures
+# This issue seems to be triggered only in luna-init-fonts packages
+#INSANE_SKIP_${PN}-fonts += "host-user-contaminated"
diff --git a/meta/recipes-webos/luna-prefs/luna-prefs-data.bb b/meta/recipes-webos/luna-prefs/luna-prefs-data.bb
new file mode 100644
index 0000000000..cd6b3844c6
--- /dev/null
+++ b/meta/recipes-webos/luna-prefs/luna-prefs-data.bb
@@ -0,0 +1,47 @@
+# Copyright (c) 2015 LG Electronics, Inc.
+
+# WARNING: This recipe appears in the SIGGEN_EXCLUDERECIPES_ABISAFE list in
+# conf/layer.conf which means that changes to it will not be used in the generation
+# of sstate signatures. This is unlikely to cause problems, unless luna-prefs is
+# changed to no longer use the files under /etc/prefs/properties to determine the
+# properties its exposes and their values.
+
+SUMMARY = "Preferences Manager data for ${MACHINE}"
+AUTHOR = "Oleksandr Ivanov <oleksandr.ivanov@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+PV = "3.0.0"
+PR = "r1"
+
+inherit webos_machine_dep
+
+PRODUCT_DEVICE_NAME ?= "${DISTRO_NAME} Device"
+PRODUCT_DEVICE_NAME_BRANDED ?= "LGE ${DISTRO_NAME} Device"
+PRODUCT_DEVICE_NAME_SHORT ?= "${DISTRO_NAME} Device"
+PRODUCT_DEVICE_NAME_SHORT_BRANDED ?= "LGE ${DISTRO_NAME} Device"
+PRODUCT_DEVICE_NAME_PRODUCT_LINE_NAME ?= "${DISTRO_NAME} Device"
+PRODUCT_DEVICE_NAME_PRODUCT_CLASS ?= "${DISTRO_NAME}"
+PRODUCT_DEVICE_NAME_PRODUCT_BROWSER_OS_NAME ?= "${DISTRO_NAME}"
+
+# Versions can not be overridden
+PRODUCT_DEVICE_NAME_PRODUCT_BROWSER_OS_VERSION = "${WEBOS_DISTRO_API_VERSION}"
+
+do_install() {
+ install -d ${D}${sysconfdir}/prefs/properties
+
+ echo -n "${PRODUCT_DEVICE_NAME}" > ${D}${sysconfdir}/prefs/properties/deviceName
+ echo -n "${PRODUCT_DEVICE_NAME_BRANDED}" > ${D}${sysconfdir}/prefs/properties/deviceNameBranded
+ echo -n "${PRODUCT_DEVICE_NAME_SHORT}" > ${D}${sysconfdir}/prefs/properties/deviceNameShort
+ echo -n "${PRODUCT_DEVICE_NAME_SHORT_BRANDED}" > ${D}${sysconfdir}/prefs/properties/deviceNameShortBranded
+ echo -n "${MACHINE}" > ${D}${sysconfdir}/prefs/properties/machineName
+ echo -n "${PRODUCT_DEVICE_NAME_PRODUCT_LINE_NAME}" > ${D}${sysconfdir}/prefs/properties/productLineName
+ echo -n "${PRODUCT_DEVICE_NAME_PRODUCT_CLASS}" > ${D}${sysconfdir}/prefs/properties/productClass
+ echo -n "${PRODUCT_DEVICE_NAME_PRODUCT_BROWSER_OS_NAME}" > ${D}${sysconfdir}/prefs/properties/browserOsName
+ if [ "webOS" = "${PRODUCT_DEVICE_NAME_PRODUCT_BROWSER_OS_NAME}" ]
+ then
+ echo -n "${PRODUCT_DEVICE_NAME_PRODUCT_BROWSER_OS_VERSION}" > ${D}${sysconfdir}/prefs/properties/browserOsVersion
+ fi
+}
+
diff --git a/meta/recipes-webos/luna-prefs/luna-prefs.bb b/meta/recipes-webos/luna-prefs/luna-prefs.bb
new file mode 100644
index 0000000000..b1b03ac8e0
--- /dev/null
+++ b/meta/recipes-webos/luna-prefs/luna-prefs.bb
@@ -0,0 +1,32 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS preferences manager"
+AUTHOR = "Oleksandr Ivanov <oleksandr.ivanov@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "luna-service2 cjson sqlite3 glib-2.0 nyx-lib"
+RDEPENDS_${PN} = "luna-prefs-data"
+
+WEBOS_VERSION = "3.0.0-1_0827814ccdc5ebe2b372d90120427043cc6ac94e"
+PR = "r12"
+
+#inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_program
+inherit webos_library
+inherit webos_system_bus
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+do_install_append() {
+ # CFISH-930: remove "other" perms granted by pmmakefiles (aka palmmake):
+ chmod o-rwx ${D}${bindir}/luna-prefs-service
+ chmod o-rwx ${D}${bindir}/lunaprop
+
+}
+
diff --git a/meta/recipes-webos/luna-service2-security-conf/luna-service2-security-conf.bb b/meta/recipes-webos/luna-service2-security-conf/luna-service2-security-conf.bb
new file mode 100644
index 0000000000..60ab2bbb7f
--- /dev/null
+++ b/meta/recipes-webos/luna-service2-security-conf/luna-service2-security-conf.bb
@@ -0,0 +1,28 @@
+# Copyright (c) 2015-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS LS2 security configuration"
+AUTHOR = "Anatolii Sakhnik <anatolii.sakhnik@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+WEBOS_VERSION = "1.0.2-1_1304f4377720e076a252cf4d24c098647db048ec"
+PR = "r2"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_system_bus
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${webos_sysbus_datadir}"
+
+# The security configuration data isn't needed to build other components => don't stage it.
+sysroot_stage_dirs_append() {
+ # ${to} is the 2nd parameter passed to sysroot_stage_dir(),
+ # e.g. ${SYSROOT_DESTDIR} passed from sysroot_stage_all()
+ rm -vrf ${to}${webos_sysbus_datadir}
+}
diff --git a/meta/recipes-webos/luna-service2/luna-service2.bb b/meta/recipes-webos/luna-service2/luna-service2.bb
new file mode 100644
index 0000000000..f29272c7dd
--- /dev/null
+++ b/meta/recipes-webos/luna-service2/luna-service2.bb
@@ -0,0 +1,60 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS Luna System Bus library, daemon, and utilities"
+AUTHOR = "Anatolii Sakhnik <anatolii.sakhnik@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "libpbnjson pmloglib glib-2.0 gtest"
+VIRTUAL-RUNTIME_cpushareholder ?= "cpushareholder-stub"
+VIRTUAL-RUNTIME_rdx-utils ?= "rdxd"
+VIRTUAL-RUNTIME_bash ?= "bash"
+RDEPENDS_${PN} = "luna-service2-security-conf ${VIRTUAL-RUNTIME_cpushareholder} ${VIRTUAL-RUNTIME_rdx-utils} ${VIRTUAL-RUNTIME_bash}"
+
+WEBOS_VERSION = "3.21.2-1_ee050fd7507c1fb5f014709307add1dbf670ef23"
+PR = "r23"
+
+WEBOS_DISTRO_PRERELEASE ??= ""
+EXTRA_OECMAKE += "${@ '-DWEBOS_DISTRO_PRERELEASE:STRING="devel"' \
+ if d.getVar('WEBOS_DISTRO_PRERELEASE',True) != '' else ''}"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_library
+inherit webos_daemon
+inherit webos_program
+inherit webos_system_bus
+inherit webos_core_os_dep
+inherit webos_machine_impl_dep
+inherit webos_prerelease_dep
+inherit webos_lttng
+inherit webos_test_provider
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+# This fix-up will be removed shortly. luna-service2 headers must be included
+# using '#include <luna-service2/*.h>'
+do_install_append() {
+ # XXX Temporarily, create links from the old locations until all users of
+ # luna-service2 convert to using pkg-config
+ ln -svnf luna-service2/lunaservice.h ${D}${includedir}/lunaservice.h
+ ln -svnf luna-service2/lunaservice-errors.h ${D}${includedir}/lunaservice-errors.h
+ ln -svnf lib${BPN}.so ${D}${libdir}/liblunaservice.so
+}
+
+# Disable LTTng tracepoints explicitly.
+# LTTng tracepoints in LS2 can cause out of memory, because LS2 is used by many components.
+# To enable tracepoints back use WEBOS_LTTNG_ENABLED_pn-luna-service2 = "1"
+WEBOS_LTTNG_ENABLED = "0"
+EXTRA_OECMAKE += " ${@bb.utils.contains('WEBOS_LTTNG_ENABLED', '1', '-DWEBOS_LTTNG_ENABLED:BOOLEAN=True', '', d)}"
+
+WEBOS_DISABLE_LS2_SECURITY ?= "0"
+EXTRA_OECMAKE += '${@oe.utils.conditional("WEBOS_DISABLE_LS2_SECURITY", "1", "-DWEBOS_LS2_SECURE:BOOLEAN=False", "" ,d)}'
+
+PACKAGES += "${PN}-perf"
+
+FILES_${PN}-perf += "${webos_testsdir}/${BPN}-perf"
diff --git a/meta/recipes-webos/nyx-lib/nyx-lib.bb b/meta/recipes-webos/nyx-lib/nyx-lib.bb
new file mode 100644
index 0000000000..fb7d9acc39
--- /dev/null
+++ b/meta/recipes-webos/nyx-lib/nyx-lib.bb
@@ -0,0 +1,32 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS portability layer - library"
+AUTHOR = "Keith Derrick <keith.derrick@lge.com>"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+SECTION = "webos/libs"
+
+# nyx-lib needs nyx-modules at runtime, but a runtime dependency is not defined
+# here because nyx-modules is MACHINE_ARCH (e.g. qemux86), while nyx-lib is
+# TUNE_PKGARCH (e.g. i586). Instead, it is pulled into the image by adding it to
+# the RDPENDS_${PN} of packagegroup-webos-extended. Putting
+# RDEPENDS_${PN} = "nyx-modules"
+# here would cause bitbake to re-execute the do_package task for each MACHINE,
+# even if these MACHINE-s were all i586 and should therefore share the same nyx-lib
+# .ipk and sstate files. (The reason do_package is re-executed when a component
+# in any of the R* variables is re-built is because its package name is stored in
+# this component's .ipk and it may have changed because debian.bbclass is inherited.)
+
+DEPENDS = "glib-2.0 pmloglib"
+
+WEBOS_VERSION = "7.3.0-1_fa1ed2c0365ece68282e8d26951de1f043874a6c"
+PR = "r7"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_library
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-webos/nyx-utils/nyx-utils.bb b/meta/recipes-webos/nyx-utils/nyx-utils.bb
new file mode 100644
index 0000000000..c96f277505
--- /dev/null
+++ b/meta/recipes-webos/nyx-utils/nyx-utils.bb
@@ -0,0 +1,23 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "Command line utilities for the webOS Platform Portability Layer"
+AUTHOR = "Ed Chejlava <ed.chejlava@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "nyx-lib glib-2.0"
+
+WEBOS_VERSION = "1.5.0-1_31fae17542c46ff0f6b5a8e0bbf1461d61881f2a"
+PR = "r2"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_program
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+FILES_${PN} += "${libdir}/nyx/nyxcmd/"
diff --git a/meta/recipes-webos/pmloglib/pmloglib-private.bb b/meta/recipes-webos/pmloglib/pmloglib-private.bb
new file mode 100644
index 0000000000..db974af200
--- /dev/null
+++ b/meta/recipes-webos/pmloglib/pmloglib-private.bb
@@ -0,0 +1,25 @@
+# Copyright (c) 2013-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS logging library - private interface"
+AUTHOR = "Anatolii Sakhnik <anatolii.sakhnik@lge.com>"
+SECTION = "webos/libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+WEBOS_VERSION = "3.3.0-1_1de57d269d4c6cc2dba93c4683acc22cbc2ecb35"
+PR = "r1"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_pkgconfig
+
+# B needs to be different from that of pmloglib so there's
+# no collision in the case of local development.
+B = "${S}/build-private"
+EXTRA_OECMAKE += "-DBUILD_PRIVATE=ON"
+
+WEBOS_REPO_NAME = "pmloglib"
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-webos/pmloglib/pmloglib.bb b/meta/recipes-webos/pmloglib/pmloglib.bb
new file mode 100755
index 0000000000..fcc2edb5c4
--- /dev/null
+++ b/meta/recipes-webos/pmloglib/pmloglib.bb
@@ -0,0 +1,30 @@
+# Copyright (c) 2012-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS logging library"
+AUTHOR = "Gayathri Srinivasan <gayathri.srinivasan@lge.com>"
+SECTION = "webos/libs"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "glib-2.0 libpbnjson"
+
+WEBOS_VERSION = "3.3.0-1_1de57d269d4c6cc2dba93c4683acc22cbc2ecb35"
+PR = "r9"
+
+LEAD_SONAME = "libPmLogLib.so"
+WEBOS_DISTRO_PRERELEASE ??= ""
+EXTRA_OECMAKE += "-DWEBOS_DISTRO_PRERELEASE:STRING='${WEBOS_DISTRO_PRERELEASE}'"
+
+inherit webos_component
+inherit webos_public_repo
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_library
+inherit webos_prerelease_dep
+inherit webos_pmlog_config
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[whitelist] = "-DENABLE_WHITELIST:BOOL=TRUE, -DENABLE_WHITELIST:BOOL=FALSE"
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
diff --git a/meta/recipes-webos/python-tz/python-tz-native_2015.4.bb b/meta/recipes-webos/python-tz/python-tz-native_2015.4.bb
new file mode 100644
index 0000000000..f3880b3f84
--- /dev/null
+++ b/meta/recipes-webos/python-tz/python-tz-native_2015.4.bb
@@ -0,0 +1,22 @@
+# Copyright (c) 2014-2015 LG Electronics, Inc.
+
+SUMMARY = "pytz brings the Olson tz database into Python"
+
+DESCRIPTION="This library allows accurate and cross platform timezone calculations using Python 2.4 or higher"
+
+HOMEPAGE = "https://pypi.python.org/pypi/pytz/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=22b38951eb857cf285a4560a914b7cd6"
+
+PR = "r1"
+
+SRC_URI = "https://pypi.python.org/packages/source/p/pytz/pytz-${PV}.tar.gz \
+ file://fix.for.tzdata-2015e.patch \
+"
+SRC_URI[md5sum] = "417a47b1c432d90333e42084a605d3d8"
+SRC_URI[sha256sum] = "c4ee70cb407f9284517ac368f121cf0796a7134b961e53d9daf1aaae8f44fb90"
+
+S="${WORKDIR}/pytz-${PV}"
+
+inherit native
+inherit setuptools
diff --git a/meta/recipes-webos/python-tz/python-tz/fix.for.tzdata-2015e.patch b/meta/recipes-webos/python-tz/python-tz/fix.for.tzdata-2015e.patch
new file mode 100644
index 0000000000..fed62c95fc
--- /dev/null
+++ b/meta/recipes-webos/python-tz/python-tz/fix.for.tzdata-2015e.patch
@@ -0,0 +1,29 @@
+Since tzdata-2015e there are UTF-8 characters in iso3166.tab, see:
+http://mm.icann.org/pipermail/tz/2015-May/022258.html
+http://mm.icann.org/pipermail/tz/2015-June/022306.html
+
+pytz/__init__.py:_CountryNameDict(LazyDict) is using:
+ zone_tab = open_resource('iso3166.tab')
+ try:
+ for line in zone_tab.readlines():
+ line = line.decode('US-ASCII')
+
+to read it and fails on AX, CI, RE lines, using UTF-8 fixes the
+issues and should work OK even with older tzdata releases.
+
+Upstream-Status: Submitted (https://bugs.launchpad.net/pytz/+bug/1473533)
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+
+diff -uNr pytz-2015.4.orig/pytz/__init__.py pytz-2015.4/pytz/__init__.py
+--- pytz-2015.4.orig/pytz/__init__.py 2015-05-13 03:50:26.000000000 -0700
++++ pytz-2015.4/pytz/__init__.py 2015-07-10 11:35:30.080242726 -0700
+@@ -357,7 +357,7 @@
+ zone_tab = open_resource('iso3166.tab')
+ try:
+ for line in zone_tab.readlines():
+- line = line.decode('US-ASCII')
++ line = line.decode('UTF-8')
+ if line.startswith('#'):
+ continue
+ code, name = line.split(None, 1)
diff --git a/meta/recipes-webos/qml-webos-framework/qml-webos-framework.bb b/meta/recipes-webos/qml-webos-framework/qml-webos-framework.bb
new file mode 100644
index 0000000000..4fdbe50bda
--- /dev/null
+++ b/meta/recipes-webos/qml-webos-framework/qml-webos-framework.bb
@@ -0,0 +1,55 @@
+# Copyright (c) 2014-2018 LG Electronics, Inc.
+
+SUMMARY = "QML widgets and runtime framework for webOS apps"
+AUTHOR = "Mikko Levonmaa <mikko.levonmaa@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "qt-features-webos qtdeclarative qtwayland-webos pmloglib luna-service2"
+
+RPROVIDES_${PN}-examples = " \
+ eos.bare \
+ eos.widgetgallery \
+"
+
+WEBOS_VERSION = "1.0.0-1_6546141a61ef76a475bde19272fa0155302af307"
+PR = "r23"
+
+inherit webos_qmake5
+inherit webos_enhanced_submissions
+inherit webos_machine_dep
+inherit webos_app_generate_security_files
+inherit webos_filesystem_paths
+inherit webos_distro_variant_dep
+inherit webos_qmllint
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
+
+# upstart
+do_install_append () {
+ if [ "${DISTRO}" != "webos-wearable" ] && [ "${WEBOS_TARGET_DISTRO_VARIANT}" != "mini" ]; then
+ install -d ${D}${sysconfdir}/init
+ install -m 0644 ${S}/tools/booster/booster.upstart ${D}${sysconfdir}/init/booster.conf
+ fi
+}
+
+FILES_${PN} += "${OE_QMAKE_PATH_QML}/Eos/*"
+
+PACKAGES += "${PN}-examples"
+FILES_${PN}-examples += "${webos_applicationsdir}/*"
+
+# unit-tests
+PACKAGES =+ "${PN}-tests"
+FILES_${PN}-tests += "${datadir}/booster/tests/*"
+
+# we don't provide cmake tests
+EXTRA_QMAKEVARS_POST += "CONFIG-=create_cmake"
+
+# until pseudo is completely fixed
+# PLAT-48507 pseudo: random package_qa failures
+#INSANE_SKIP_${PN} += "host-user-contaminated"
diff --git a/meta/recipes-webos/qt-features-webos/qt-features-webos.bb b/meta/recipes-webos/qt-features-webos/qt-features-webos.bb
new file mode 100644
index 0000000000..984ba7dc25
--- /dev/null
+++ b/meta/recipes-webos/qt-features-webos/qt-features-webos.bb
@@ -0,0 +1,36 @@
+# Copyright (c) 2013-2018 LG Electronics, Inc.
+
+SUMMARY = "Common Qt features for webOS components"
+AUTHOR = "Anupam Kaul <anulam.kaul@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "qtbase"
+
+WEBOS_VERSION = "1.0.0-1_67a99fc04d01e3025d137f7d50b0aa15016c4525"
+PR = "r4"
+
+inherit webos_qmake5
+inherit webos_enhanced_submissions
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+SRC_URI += "file://qt.patch"
+
+FILES_${PN}-dev += "${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs"
+
+# An empty package is needed to satisfy package dependencies when building bdk.
+ALLOW_EMPTY_${PN} = "1"
+
+BBCLASSEXTEND = "native"
+
+do_configure_class-native() {
+ ${OE_QMAKE_QMAKE} ${OE_QMAKE_DEBUG_OUTPUT} -r ${S}/tools/generate_qmap
+}
+
+do_install_class-native() {
+ oe_runmake install INSTALL_ROOT=${D}
+}
diff --git a/meta/recipes-webos/qt-features-webos/qt-features-webos/qt.patch b/meta/recipes-webos/qt-features-webos/qt-features-webos/qt.patch
new file mode 100644
index 0000000000..35749a7c1f
--- /dev/null
+++ b/meta/recipes-webos/qt-features-webos/qt-features-webos/qt.patch
@@ -0,0 +1,76 @@
+---
+ tools/generate_qmap/generate_qmap.cpp | 35 +++++++++++++++++++++++++++++++----
+ tools/generate_qmap/generate_qmap.pro | 2 +-
+ 2 files changed, 32 insertions(+), 5 deletions(-)
+
+diff --git a/tools/generate_qmap/generate_qmap.cpp b/tools/generate_qmap/generate_qmap.cpp
+index 0ec03d1..2df5834 100644
+--- a/tools/generate_qmap/generate_qmap.cpp
++++ b/tools/generate_qmap/generate_qmap.cpp
+@@ -18,7 +18,35 @@
+ #include <QDataStream>
+ #include <QDebug>
+
+-#include <QtPlatformSupport/private/qevdevkeyboardhandler_p.h>
++namespace QEvdevKeyboardMap {
++ const quint32 FileMagic = 0x514d4150; // 'QMAP'
++
++ struct Mapping {
++ quint16 keycode;
++ quint16 unicode;
++ quint32 qtcode;
++ quint8 modifiers;
++ quint8 flags;
++ quint16 special;
++
++ };
++
++ struct Composing {
++ quint16 first;
++ quint16 second;
++ quint16 result;
++ };
++}
++
++inline QDataStream &operator<<(QDataStream &ds, const QEvdevKeyboardMap::Mapping &m)
++{
++ return ds << m.keycode << m.unicode << m.qtcode << m.modifiers << m.flags << m.special;
++}
++
++inline QDataStream &operator<<(QDataStream &ds, const QEvdevKeyboardMap::Composing &c)
++{
++ return ds << c.first << c.second << c.result;
++}
+
+ //HACK : to use evdev default keymap which is private static variable
+ //Change to the class name for local usage QEvdevKeyboardHandler -> WebOSKeymapHandler
+@@ -26,11 +54,10 @@
+ class WebOSKeymapHandler
+ {
+ public:
+- static const QEvdevKeyboardMap::Mapping s_keymap_default[];
+- static const QEvdevKeyboardMap::Composing s_keycompose_default[];
++ static const QEvdevKeyboardMap::Mapping s_keymap_default[0];
++ static const QEvdevKeyboardMap::Composing s_keycompose_default[0];
+ };
+ #define QEvdevKeyboardHandler WebOSKeymapHandler
+-#include <QtPlatformSupport/private/qevdevkeyboard_defaultmap_p.h>
+
+ #include "webos_keymap_p.h"
+
+diff --git a/tools/generate_qmap/generate_qmap.pro b/tools/generate_qmap/generate_qmap.pro
+index 0825651..4d84906 100644
+--- a/tools/generate_qmap/generate_qmap.pro
++++ b/tools/generate_qmap/generate_qmap.pro
+@@ -20,7 +20,7 @@ CONFIG += no_module_headers internal_module
+
+ TARGET = generate_qmap
+ CONFIG += console warn_off
+-QT = core platformsupport-private
++QT = core
+
+ SOURCES += generate_qmap.cpp
+
+--
+1.9.1
+
diff --git a/meta/recipes-webos/qt5/qtwayland-native_git.bbappend b/meta/recipes-webos/qt5/qtwayland-native_git.bbappend
new file mode 100644
index 0000000000..19be80b426
--- /dev/null
+++ b/meta/recipes-webos/qt5/qtwayland-native_git.bbappend
@@ -0,0 +1,28 @@
+# Copyright (c) 2014-2018 LG Electronics, Inc.
+
+AUTHOR = "Anupam Kaul <anupam.kaul@lge.com>"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/qtwayland-native:"
+
+WEBOS_VERSION = "5.4.2-1_ee4a49f2ab723631174d7f2b8dae2263565c9ece"
+
+EXTENDPRAUTO_append = "webos2"
+
+# Upstream 5.5.0 recipe updated LIC_FILES_CHKSUM
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
+ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+inherit webos_enhanced_submissions
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+
+# Carrying the "0001-Install-the-qtwaylandscanner-tool-to-the-native-side" from the
+# base recipe
+SRC_URI_append = " \
+ file://0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch \
+"
diff --git a/meta/recipes-webos/qt5/qtwayland/qt.patch b/meta/recipes-webos/qt5/qtwayland/qt.patch
new file mode 100644
index 0000000000..d70097d24d
--- /dev/null
+++ b/meta/recipes-webos/qt5/qtwayland/qt.patch
@@ -0,0 +1,91 @@
+From 7c530fc16626fb63eb4b5991476a45b9e747d3aa Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Mon, 26 Feb 2018 19:45:51 +0000
+Subject: [PATCH] WIP: qt 5.11 compatibility
+
+Signed-off-by: Martin Jansa <martin.jansa@lge.com>
+---
+ src/client/qwaylanddnd.cpp | 7 -------
+ src/client/qwaylanddnd_p.h | 2 --
+ src/client/qwaylandwindow.cpp | 4 ++--
+ src/client/qwaylandwindow_p.h | 4 ++--
+ 4 files changed, 4 insertions(+), 13 deletions(-)
+
+diff --git a/src/client/qwaylanddnd.cpp b/src/client/qwaylanddnd.cpp
+index 94a2687..e51325e 100644
+--- a/src/client/qwaylanddnd.cpp
++++ b/src/client/qwaylanddnd.cpp
+@@ -62,13 +62,6 @@ QWaylandDrag::~QWaylandDrag()
+ {
+ }
+
+-QMimeData * QWaylandDrag::platformDropData()
+-{
+- if (drag())
+- return drag()->mimeData();
+- return 0;
+-}
+-
+ void QWaylandDrag::startDrag()
+ {
+ bool cancel = false;
+diff --git a/src/client/qwaylanddnd_p.h b/src/client/qwaylanddnd_p.h
+index 1d1b277..d8ccc02 100644
+--- a/src/client/qwaylanddnd_p.h
++++ b/src/client/qwaylanddnd_p.h
+@@ -60,8 +60,6 @@ public:
+ QWaylandDrag(QWaylandDisplay *display);
+ ~QWaylandDrag();
+
+- QMimeData *platformDropData() Q_DECL_OVERRIDE;
+-
+ void updateTarget(const QString &mimeType);
+ void setResponse(const QPlatformDragQtResponse &response);
+ void finishDrag(const QPlatformDropQtResponse &response);
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index 6d27473..e2097f5 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -73,7 +73,7 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
+ : QObject()
+ , QPlatformWindow(window)
+ , mScreen(QWaylandScreen::waylandScreenFromWindow(window))
+- , mDisplay(mScreen->display())
++// , mDisplay(mScreen->display())
+ , mShellSurface(0)
+ , mSubSurfaceWindow(0)
+ , mWindowDecoration(0)
+@@ -688,7 +688,7 @@ void QWaylandWindow::handleMouseEventWithDecoration(QWaylandInputDevice *inputDe
+ void QWaylandWindow::setMouseCursor(QWaylandInputDevice *device, Qt::CursorShape shape)
+ {
+ if (m_cursorShape != shape || device->serial() > device->cursorSerial()) {
+- device->setCursor(shape, mScreen);
++ //device->setCursor(shape, mScreen);
+ m_cursorShape = shape;
+ }
+ }
+diff --git a/src/client/qwaylandwindow_p.h b/src/client/qwaylandwindow_p.h
+index cee6f6f..601f19a 100644
+--- a/src/client/qwaylandwindow_p.h
++++ b/src/client/qwaylandwindow_p.h
+@@ -129,7 +129,7 @@ public:
+ QWaylandDisplay *display() const { return mDisplay; }
+ QWaylandShellSurface *shellSurface() const;
+ QWaylandSubSurface *subSurfaceWindow() const;
+- QWaylandScreen *screen() const { return mScreen; }
++ QPlatformScreen *screen() const { return mScreen; }
+
+ void handleContentOrientationChange(Qt::ScreenOrientation orientation);
+ void setOrientationMask(Qt::ScreenOrientations mask);
+@@ -194,7 +194,7 @@ public slots:
+ void requestResize();
+
+ protected:
+- QWaylandScreen *mScreen;
++ QPlatformScreen *mScreen;
+ QWaylandDisplay *mDisplay;
+ QWaylandShellSurface *mShellSurface;
+ QWaylandSubSurface *mSubSurfaceWindow;
+--
+1.9.1
+
diff --git a/meta/recipes-webos/qt5/qtwayland/qt2.patch b/meta/recipes-webos/qt5/qtwayland/qt2.patch
new file mode 100644
index 0000000000..e741064316
--- /dev/null
+++ b/meta/recipes-webos/qt5/qtwayland/qt2.patch
@@ -0,0 +1,169 @@
+From f71dd7f1a74437b0f62c718ee30e53a0e4788d26 Mon Sep 17 00:00:00 2001
+From: Valery Volgutov <valery.volgutov@lge.com>
+Date: Mon, 22 Jan 2018 12:54:08 +0300
+Subject: [PATCH] QtWayland compile error fix on Qt 5.9
+
+:Release Notes:
+
+:Detailed Notes:
+!!! Need to change meta-qt5 !!!
+============================================================
+meta-qt5/classes/qmake5_base.bbclass
+============================================================
+- CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST -- $QMAKE_VARSUBST_CONFIGURE"
+- ${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST -- $QMAKE_VARSUBST_CONFIGURE || die "Error calling $CMD"
++ CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST"
++ ${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} ${OE_QMAKE_RECURSIVE} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling $CMD"
+============================================================
+============================================================
+
+:Testing Performed:
+
+:QA Notes:
+
+:Issues Addressed:
+[PLAT-49438] Fix compile own Qt components on Qt 5.9
+
+Change-Id: I9728c41910be3a9245849ccda4c21d6c811ef500
+---
+ src/client/client.pro | 14 +++++++++++++-
+ src/client/qwaylandintegration.cpp | 12 +++++++++---
+ .../client/wayland-egl/qwaylandeglwindow.cpp | 6 +++++-
+ .../client/wayland-egl/qwaylandglcontext.cpp | 21 ++++++++++++++++++---
+ .../client/wayland-egl/qwaylandglcontext.h | 6 ++++--
+ 5 files changed, 49 insertions(+), 10 deletions(-)
+
+diff --git a/src/client/client.pro b/src/client/client.pro
+index 13bcd6f..14a2e30 100644
+--- a/src/client/client.pro
++++ b/src/client/client.pro
+@@ -1,6 +1,18 @@
+ TARGET = QtWaylandClient
++
+ QT += core-private gui-private
+-QT_FOR_PRIVATE += platformsupport-private
++
++equals(QT_MAJOR_VERSION,5) {
++ lessThan(QT_MINOR_VERSION, 8) {
++ QT_FOR_PRIVATE += platformsupport-private
++ }
++ else {
++ QT += egl_support-private
++ QT += fontdatabase_support-private
++ QT += eventdispatcher_support-private
++ QT += theme_support-private
++ }
++}
+
+ MODULE=waylandclient
+ MODULE_PLUGIN_TYPES = wayland-graphics-integration-client wayland-decoration-client wayland-inputdevice-integration
+diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp
+index df9e7d9..1496260 100644
+--- a/src/client/qwaylandintegration.cpp
++++ b/src/client/qwaylandintegration.cpp
+@@ -53,9 +53,15 @@
+ #include "qwaylandscreen_p.h"
+ #include "qwaylandcursor_p.h"
+
+-#include "QtPlatformSupport/private/qgenericunixfontdatabase_p.h"
+-#include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h>
+-#include <QtPlatformSupport/private/qgenericunixthemes_p.h>
++#if (QT_VERSION < QT_VERSION_CHECK(5, 8, 0))
++ #include "QtPlatformSupport/private/qgenericunixfontdatabase_p.h"
++ #include <QtPlatformSupport/private/qgenericunixeventdispatcher_p.h>
++ #include <QtPlatformSupport/private/qgenericunixthemes_p.h>
++#else
++ #include "QtFontDatabaseSupport/private/qgenericunixfontdatabase_p.h"
++ #include <QtEventDispatcherSupport/private/qgenericunixeventdispatcher_p.h>
++ #include <QtThemeSupport/private/qgenericunixthemes_p.h>
++#endif
+
+ #include <QtGui/private/qguiapplication_p.h>
+
+diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
+index 524902a..7f2c83b 100644
+--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
++++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
+@@ -44,7 +44,11 @@
+ #include <QtWaylandClient/private/qwaylandscreen_p.h>
+ #include "qwaylandglcontext.h"
+
+-#include <QtPlatformSupport/private/qeglconvenience_p.h>
++#if (QT_VERSION < QT_VERSION_CHECK(5, 8, 0))
++ #include <QtPlatformSupport/private/qeglconvenience_p.h>
++#else
++ #include <QtEglSupport/private/qeglconvenience_p.h>
++#endif
+
+ #include <QDebug>
+ #include <QtGui/QWindow>
+diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+index 3c09b62..cc15216 100644
+--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
++++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
+@@ -46,11 +46,15 @@
+ #include <QtWaylandClient/private/qwaylandabstractdecoration_p.h>
+ #include <QtWaylandClient/private/qwaylandintegration_p.h>
+ #include "qwaylandeglwindow.h"
+-
+ #include "qtwaylandclienttracer.h"
+-
+ #include <QDebug>
+-#include <QtPlatformSupport/private/qeglconvenience_p.h>
++
++#if (QT_VERSION < QT_VERSION_CHECK(5, 8, 0))
++ #include <QtPlatformSupport/private/qeglconvenience_p.h>
++#else
++ #include <QtEglSupport/private/qeglconvenience_p.h>
++#endif
++
+ #include <QtGui/private/qopenglcontext_p.h>
+ #include <QtGui/private/qopengltexturecache_p.h>
+ #include <QtGui/private/qguiapplication_p.h>
+@@ -545,6 +549,17 @@ void (*QWaylandGLContext::getProcAddress(const QByteArray &procName)) ()
+ return eglGetProcAddress(procName.constData());
+ }
+
++#if (QT_VERSION > QT_VERSION_CHECK(5, 7, 0))
++QFunctionPointer QWaylandGLContext::getProcAddress(const char *procName)
++{
++ QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName);
++ if (!proc)
++ proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName);
++
++ return proc;
++}
++#endif
++
+ EGLConfig QWaylandGLContext::eglConfig() const
+ {
+ return m_config;
+diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
+index eb05411..1ab7706 100644
+--- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
++++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h
+@@ -43,10 +43,9 @@
+ #define QWAYLANDGLCONTEXT_H
+
+ #include <QtWaylandClient/private/qwaylanddisplay_p.h>
+-
+ #include <qpa/qplatformopenglcontext.h>
+-
+ #include "qwaylandeglinclude.h"
++#include <QtGlobal>
+
+ QT_BEGIN_NAMESPACE
+
+@@ -74,6 +73,9 @@ public:
+
+ void (*getProcAddress(const QByteArray &procName)) ();
+
++#if (QT_VERSION > QT_VERSION_CHECK(5, 7, 0))
++ QFunctionPointer getProcAddress(const char *procName);
++#endif
+ QSurfaceFormat format() const { return m_format; }
+
+ EGLConfig eglConfig() const;
+--
+1.9.1
+
diff --git a/meta/recipes-webos/qt5/qtwayland/qt3.patch b/meta/recipes-webos/qt5/qtwayland/qt3.patch
new file mode 100644
index 0000000000..b71b9497b8
--- /dev/null
+++ b/meta/recipes-webos/qt5/qtwayland/qt3.patch
@@ -0,0 +1,36 @@
+From 6483b2c78977e59418e7c1279eda9977ef1fb935 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Tue, 30 Jan 2018 21:55:50 +0000
+Subject: [PATCH] examples: build qwindow-compositor only when examples and
+ wayland-compositor are in CONFIG
+
+:Issues Addressed:
+[PLAT-49438] Fix compile own Qt components on Qt 5.9
+
+Change-Id: I9728c41910be3a9245849ccda4c21d6c811ef501
+---
+ examples/wayland/wayland.pro | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/examples/wayland/wayland.pro b/examples/wayland/wayland.pro
+index d633fb9..794b5f9 100644
+--- a/examples/wayland/wayland.pro
++++ b/examples/wayland/wayland.pro
+@@ -1,7 +1,8 @@
+ TEMPLATE=subdirs
+
+ #Only build compositor examples if we are building
+-#the QtCompositor API
++#the QtCompositor API and examples
++contains(CONFIG, examples) {
+ contains(CONFIG, wayland-compositor) {
+ SUBDIRS += qwindow-compositor
+
+@@ -11,3 +12,4 @@ contains(CONFIG, wayland-compositor) {
+
+ SUBDIRS += server-buffer
+ }
++}
+--
+1.9.1
+
diff --git a/meta/recipes-webos/qt5/qtwayland_git.bbappend b/meta/recipes-webos/qt5/qtwayland_git.bbappend
new file mode 100644
index 0000000000..43055fe82f
--- /dev/null
+++ b/meta/recipes-webos/qt5/qtwayland_git.bbappend
@@ -0,0 +1,40 @@
+# Copyright (c) 2013-2018 LG Electronics, Inc.
+
+SUMMARY = "luna-surfacemanager qtwayland "
+AUTHOR = "Anupam Kaul <anupam.kaul@lge.com>"
+
+DEPENDS += "webos-wayland-extensions qt-features-webos"
+
+WEBOS_VERSION = "5.4.2-1_ee4a49f2ab723631174d7f2b8dae2263565c9ece"
+EXTENDPRAUTO_append = "webos13"
+
+# Upstream 5.5.0 recipe updated LIC_FILES_CHKSUM
+LIC_FILES_CHKSUM = " \
+ file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
+ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
+"
+
+inherit webos_enhanced_submissions
+inherit webos_qmake5
+inherit webos_lttng
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# Assume we're using the same Qt version to this component has.
+QT_VERSION = "${WEBOS_COMPONENT_VERSION}"
+
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+# By default the recipe will not compile any specific backend for the compositor.
+QT_WAYLAND_CONFIG_append = " CONFIG+=wayland_egl"
+QT_WAYLAND_DEFINES_append = "QT_COMPOSITOR_QUICK"
+
+# Enable LTTng tracing capability when enabled in webos_lttng class
+EXTRA_QMAKEVARS_PRE += "${@oe.utils.conditional('WEBOS_LTTNG_ENABLED', '1', 'CONFIG+=lttng', '', d)}"
+
+EXTRA_QMAKEVARS_POST += "CONFIG-=create_cmake"
diff --git a/meta/recipes-webos/qtwayland-webos/qtwayland-webos.bb b/meta/recipes-webos/qtwayland-webos/qtwayland-webos.bb
new file mode 100644
index 0000000000..df0734049a
--- /dev/null
+++ b/meta/recipes-webos/qtwayland-webos/qtwayland-webos.bb
@@ -0,0 +1,48 @@
+# Copyright (c) 2016-2018 LG Electronics, Inc.
+
+SUMMARY = "webOS extension for Qtwayland"
+AUTHOR = "Elvis Lee <kwangwoong.lee@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "qtwayland webos-wayland-extensions libxkbcommon qt-features-webos wayland-native qtwayland-native"
+
+WEBOS_VERSION = "1.0.0-1_959fb8c916f6e80065b98b948c1bef8ea113ed73"
+PR = "r7"
+
+inherit webos_qmake5
+inherit webos_enhanced_submissions
+inherit webos_lttng
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+SRC_URI += "file://qt.patch"
+
+# No debian package renaming
+DEBIAN_NOAUTONAME_${PN} = "1"
+DEBIAN_NOAUTONAME_${PN}-dbg = "1"
+DEBIAN_NOAUTONAME_${PN}-dev = "1"
+
+# Enable LTTng tracing capability when enabled in webos_lttng class
+EXTRA_QMAKEVARS_PRE += "${@oe.utils.conditional('WEBOS_LTTNG_ENABLED', '1', 'CONFIG+=lttng', '', d)}"
+
+# we don't provide cmake tests
+EXTRA_QMAKEVARS_POST += "CONFIG-=create_cmake"
+
+FILES_${PN} += " \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
+"
+
+# FIXME: weboscompositorextensionclient is deprecated and merged into
+# webos-platform-interface. We provide weboscompositorextensionclient.pc
+# as an alias of webos-platform-interface.pc so that components used to
+# depend on weboscompositorextensionclient build and run as before.
+# This should be removed once all these components have no dependency
+# on weboscompositorextensionclient.
+do_install_append() {
+ ln -snvf webos-platform-interface.pc ${D}${libdir}/pkgconfig/weboscompositorextensionclient.pc
+ sed -i 's@prefix=${STAGING_DIR_HOST}@prefix=@g ;s@-L${STAGING_DIR_HOST} @ @g;' ${D}${libdir}/pkgconfig/*.pc
+}
diff --git a/meta/recipes-webos/qtwayland-webos/qtwayland-webos/qt.patch b/meta/recipes-webos/qtwayland-webos/qtwayland-webos/qt.patch
new file mode 100644
index 0000000000..96611cdbe0
--- /dev/null
+++ b/meta/recipes-webos/qtwayland-webos/qtwayland-webos/qt.patch
@@ -0,0 +1,57 @@
+From 109b1503ed8ae4d09e764292ca23e1450931c3bc Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@lge.com>
+Date: Mon, 26 Feb 2018 20:08:14 +0000
+Subject: [PATCH] WIP: qt 5.11 compatibility
+
+---
+ .../platforms/webos-wayland-egl/webosplatformwindow.cpp | 16 +---------------
+ .../platforms/webos-wayland-egl/webosplatformwindow_p.h | 1 -
+ 2 files changed, 1 insertion(+), 16 deletions(-)
+
+diff --git a/src/plugins/platforms/webos-wayland-egl/webosplatformwindow.cpp b/src/plugins/platforms/webos-wayland-egl/webosplatformwindow.cpp
+index 3c87a23..6b2f5b6 100644
+--- a/src/plugins/platforms/webos-wayland-egl/webosplatformwindow.cpp
++++ b/src/plugins/platforms/webos-wayland-egl/webosplatformwindow.cpp
+@@ -86,20 +86,6 @@ bool WebOSPlatformWindow::setWindowStateInternal(Qt::WindowState state)
+ return true;
+ }
+
+-void WebOSPlatformWindow::setWindowState(Qt::WindowState state)
+-{
+- setWindowStateInternal(state);
+-
+- WebOSShellSurface *ss = webOSShellSurfaceFor(window());
+- if (ss)
+- ss->setState(state);
+-
+- // If client is Qt::WindowNoState, it is assumed that
+- // client wants to change its own geometry by itself
+- if (state == Qt::WindowNoState)
+- m_hasOwnSize = true;
+-}
+-
+ void WebOSPlatformWindow::setGeometry(const QRect &rect)
+ {
+ bool initialize = false;
+@@ -169,5 +155,5 @@ void WebOSPlatformWindow::restoreMouseCursor(QWaylandInputDevice *device)
+
+ //Do not use qt's setCursor here. Cause App's window cursor haven't chagned,
+ //it will not affect current cursor shape, that is same shape.
+- mScreen->waylandCursor()->changeCursor(cp, window());
++ //mScreen->waylandCursor()->changeCursor(cp, window());
+ }
+diff --git a/src/plugins/platforms/webos-wayland-egl/webosplatformwindow_p.h b/src/plugins/platforms/webos-wayland-egl/webosplatformwindow_p.h
+index 2397dac..c3fe415 100644
+--- a/src/plugins/platforms/webos-wayland-egl/webosplatformwindow_p.h
++++ b/src/plugins/platforms/webos-wayland-egl/webosplatformwindow_p.h
+@@ -27,7 +27,6 @@ class WebOSPlatformWindow : public QWaylandEglWindow
+ {
+ public:
+ WebOSPlatformWindow(QWindow *window);
+- void setWindowState(Qt::WindowState state) Q_DECL_OVERRIDE;
+ void setGeometry(const QRect &rect) Q_DECL_OVERRIDE;
+
+ private:
+--
+1.9.1
+
diff --git a/meta/recipes-webos/rdxd/rdxd.bb b/meta/recipes-webos/rdxd/rdxd.bb
new file mode 100644
index 0000000000..4b08168238
--- /dev/null
+++ b/meta/recipes-webos/rdxd/rdxd.bb
@@ -0,0 +1,33 @@
+# Copyright (c) 2013-2018 LG Electronics, Inc.
+
+SUMMARY = "Remote diagnostics daemon and utilities"
+AUTHOR = "Gayathri Srinivasan <gayathri.srinivasan@lge.com>"
+SECTION = "base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "glib-2.0 libpbnjson luna-prefs luna-service2 pmloglib"
+#Add tar dependency since --absolute-names support is missing in busybox tar
+RDEPENDS_${PN} = "nyx-utils tar"
+
+WEBOS_VERSION = "4.0.2-1_0c0fe24f6f0e7c36cddae04d56a3580d58812ad8"
+PR = "r8"
+
+PROVIDES = "librdx rdx-utils"
+
+inherit webos_component
+inherit webos_enhanced_submissions
+inherit webos_cmake
+inherit webos_daemon
+inherit webos_system_bus
+inherit webos_library
+inherit webos_distro_dep
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+EXTRA_OECMAKE += "-DWEBOS_USE_LEGACY_PACKAGE_MANAGER:BOOL=FALSE"
+
+VIRTUAL-RUNTIME_bash ?= "bash"
+RDEPENDS_${PN}_append_class-target = " ${VIRTUAL-RUNTIME_bash}"
diff --git a/meta/recipes-webos/uriparser/uriparser_0.8.0.bb b/meta/recipes-webos/uriparser/uriparser_0.8.0.bb
new file mode 100644
index 0000000000..9645e682b5
--- /dev/null
+++ b/meta/recipes-webos/uriparser/uriparser_0.8.0.bb
@@ -0,0 +1,19 @@
+# Copyright (c) 2012-2016 LG Electronics, Inc.
+
+SECTION = "uriparser"
+DESCRIPTION = "RFC 3986 compliant URI parsing library"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=72b0f9c74ae96eeab8cf1bf3efe08da2"
+
+PR = "r2"
+
+SRC_URI := "${SOURCEFORGE_MIRROR}/project/uriparser/Sources/${PV}/uriparser-${PV}.tar.bz2"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-test --disable-doc"
+
+SRC_URI[md5sum] = "77601f52ab91c0e100fc5d783d9c1ee5"
+SRC_URI[sha256sum] = "1dd9f9779d8f17822bd7d68ba042fd67779b6e4ccf162bd3c9d0ff19a8ba9bf7"
+
+BBCLASSEXTEND = "native"
diff --git a/meta/recipes-webos/webos-wayland-extensions/webos-wayland-extensions.bb b/meta/recipes-webos/webos-wayland-extensions/webos-wayland-extensions.bb
new file mode 100644
index 0000000000..b911f2161c
--- /dev/null
+++ b/meta/recipes-webos/webos-wayland-extensions/webos-wayland-extensions.bb
@@ -0,0 +1,22 @@
+# Copyright (c) 2013-2018 LG Electronics, Inc.
+
+SUMMARY = "Wayland protocol extensions for webOS"
+AUTHOR = "Anupam Kaul <anupam.kaul@lge.com>"
+SECTION = "webos/base"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS = "wayland wayland-native"
+
+WEBOS_VERSION = "1.0.0-1_e77a753ad662f904a7b0f7830911b95ea4d4093c"
+PR = "r2"
+
+inherit webos_component
+inherit webos_cmake
+inherit webos_enhanced_submissions
+inherit webos_public_repo
+
+SRC_URI = "${WEBOSOSE_GIT_REPO_COMPLETE}"
+S = "${WORKDIR}/git"
+
+FILES_${PN}-dev += "${datadir}/*"
diff --git a/meta/recipes-webos/yajl/yajl_2.1.0.bb b/meta/recipes-webos/yajl/yajl_2.1.0.bb
new file mode 100644
index 0000000000..d9a5821cbb
--- /dev/null
+++ b/meta/recipes-webos/yajl/yajl_2.1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Yet Another JSON Library."
+
+DESCRIPTION = "YAJL is a small event-driven (SAX-style) JSON parser \
+written in ANSI C, and a small validating JSON generator."
+
+HOMEPAGE = "http://lloyd.github.com/yajl/"
+
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=39af6eb42999852bdd3ea00ad120a36d"
+
+SRC_URI = "git://github.com/lloyd/yajl"
+SRCREV = "a0ecdde0c042b9256170f2f8890dd9451a4240aa"
+
+S = "${WORKDIR}/git"
+
+inherit cmake lib_package
+
+EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"