diff options
Diffstat (limited to 'meta/recipes-webos')
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', '')}" |