diff --git a/conf/template/bblayers.conf.sample b/conf/template/bblayers.conf.sample index 750fdf031..942d731cd 100644 --- a/conf/template/bblayers.conf.sample +++ b/conf/template/bblayers.conf.sample @@ -59,6 +59,8 @@ BBLAYERS =+ " \ ${@d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') if d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_CPC_HALIF_HEADERS') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_RDK_TOOLS') if d.getVar('MANIFEST_PATH_RDK_TOOLS') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_TOOLS') + '/conf/layer.conf') else ''} \ ${@d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') if d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_MIDDLEWARE_BRINGUP') + '/conf/layer.conf') else ''} \ + ${@d.getVar('MANIFEST_PATH_RDK_IMAGES') if d.getVar('MANIFEST_PATH_RDK_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_RDK_IMAGES') + '/conf/layer.conf') else ''} \ + ${@d.getVar('MANIFEST_PATH_CSPC_IMAGES') if d.getVar('MANIFEST_PATH_CSPC_IMAGES') is not None and os.path.isfile(d.getVar('MANIFEST_PATH_CSPC_IMAGES') + '/conf/layer.conf') else ''} \ " # Config layers: generic diff --git a/recipes-common/rbus/files/gtest_libraries_check.patch b/recipes-common/rbus/files/gtest_libraries_check.patch deleted file mode 100644 index 843835c87..000000000 --- a/recipes-common/rbus/files/gtest_libraries_check.patch +++ /dev/null @@ -1,40 +0,0 @@ -############################################################################### -Date: Tuesday 24 January 22:10:00 UTC 2023 -Subject: With newer cmake-3.22, the FindGTest.cmake module is - slightly differenct than older cmake-3.16 module. We don't have - GTEST_INCLUDE_DIR set in latest cmake GTest module where as - GTEST_LIBRARIES and GTEST_INCLUDE_DIRS are set on both older and new modules. -Source: Comcast -License: NA -Upstream-Status: Pending -Signed-off-by: Arjun -############################################################################### ---- a/unittests/CMakeLists.txt.orig 2023-01-24 08:28:22.536357264 +0000 -+++ b/unittests/CMakeLists.txt 2023-01-24 08:31:39.383571780 +0000 -@@ -26,7 +26,7 @@ - - string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) - string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) --if (NOT GTEST_INCLUDE_DIR) -+if (NOT GTEST_LIBRARIES) - message("Warning GTest wasn't found. GTest library will be built.") - include(ExternalProject) - #include(GoogleTest) -@@ -53,7 +53,7 @@ - - include_directories("${source_dir}/googletest/include" "${source_dir}/googlemock/include") - else () -- include_directories("${GTEST_INCLUDE_DIR}") -+ include_directories("GTEST_INCLUDE_DIRS") - endif() - - # someone needs to figure out how to run this stuff under valgrind -@@ -102,7 +102,7 @@ - main.cpp) - add_dependencies(rbus_gtest.bin rbus) - --if (NOT GTEST_INCLUDE_DIR) -+if (NOT GTEST_LIBRARIES) - target_link_libraries(rbus_gtest.bin rbus libgtest libgmock gcov) - else () - target_link_libraries(rbus_gtest.bin rbus gtest gcov) diff --git a/recipes-common/rbus/rbus.bb b/recipes-common/rbus/rbus.bb index 561841fc1..b0386fc06 100644 --- a/recipes-common/rbus/rbus.bb +++ b/recipes-common/rbus/rbus.bb @@ -4,13 +4,12 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ed63516ecab9f06e324238dd2b259549" SRC_URI = "git://github.com/rdkcentral/rbus.git;branch=release" -SRC_URI:append = " file://gtest_libraries_check.patch" -SRCREV = "ce10ff2246632f232aa91d6723cfae123972ebe1" +SRCREV = "b193ae44c976fe8dd31d48a91f45ac7791a292f0" SRCREV_FORMAT = "base" -PV ?= "2.5.0" -PR ?= "r1" +PV ?= "2.6.0" +PR ?= "r0" PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" @@ -31,10 +30,9 @@ EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release " EXTRA_OECMAKE += " -DMSG_ROUNDTRIP_TIME=ON -DENABLE_RDKLOGGER=ON" #Gtest Specific Enablements -EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON', '', d)}" -DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest ', ' ', d)}" -DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', ' benchmark ', ' ', d)}" -EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF -DBUILD_RBUS_BENCHMARK_TEST=OFF', d)}" +EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', '-DENABLE_UNIT_TESTING=ON -DBUILD_RBUS_BENCHMARK_TEST=ON', '', d)}" +EXTRA_OECMAKE += " ${@bb.utils.contains('DISTRO_FEATURES', 'RBUS_ENABLE_TESTAPPS', '-DBUILD_RBUS_SAMPLE_APPS=ON -DBUILD_RBUS_TEST_APPS=ON ', '-DBUILD_RBUS_SAMPLE_APPS=OFF -DBUILD_RBUS_TEST_APPS=OFF', d)}" +DEPENDS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gtestapp', ' gtest benchmark ', ' ', d)}" #Dunfell Specific CFlags CFLAGS:append = " -Wno-format-truncation " diff --git a/recipes-common/rfc/rfc_git.bb b/recipes-common/rfc/rfc_git.bb index 51cc90bf5..d032b9ded 100644 --- a/recipes-common/rfc/rfc_git.bb +++ b/recipes-common/rfc/rfc_git.bb @@ -27,7 +27,6 @@ do_install:append () { install -d ${D}${base_libdir}/rdk install -d ${D}${sysconfdir} - install -m 0755 ${S}/rfcInit.sh ${D}${base_libdir}/rdk install -m 0644 ${S}/rfc.properties ${D}${sysconfdir}/rfc.properties } diff --git a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb index 9f229e89b..afbe96111 100644 --- a/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb +++ b/recipes-connectivity/bluetooth/bluetooth-mgr_git.bb @@ -84,6 +84,10 @@ CFLAGS:append =" ${@bb.utils.contains('RDEPENDS:${PN}', 'virtual/${MLPREFIX}medi ENABLE_RDK_LOGGER = "--enable-rdk-logger=${@bb.utils.contains('RDEPENDS:${PN}', '${MLPREFIX}rdk-logger', 'yes', 'no', d)}" EXTRA_OECONF += " ${ENABLE_RDK_LOGGER}" +# Autoconnect feature enabled +ENABLE_AUTO_CONNECT = "--enable-autoconnectfeature=${@bb.utils.contains('DISTRO_FEATURES', 'btr_enable_auto_connect','yes','no',d)}" +EXTRA_OECONF += " ${ENABLE_AUTO_CONNECT} " + EXTRA_OECONF:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-systemd-notify', '', d)}" EXTRA_OECONF:append:client = " --enable-sys-diag" diff --git a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb index f99f738f4..97e747606 100644 --- a/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb +++ b/recipes-extended/webkitbrowser-plugin/webkitbrowser-plugin_git.bb @@ -3,7 +3,7 @@ LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://../LICENSE;md5=16cf2209d4e903e4d5dcd75089d7dfe2" # keep PV/PR in sync with meta-middleware-generic-support/conf/include/generic-pkgrev.inc -PV ?= "1.1.27" +PV ?= "1.1.30" PR ?= "r0" PATCHTOOL = "git" @@ -20,8 +20,8 @@ SRC_URI = "git://github.com/rdkcentral/rdkservices.git;protocol=git;branch=main file://0008-Thunder-upgrade-quirks.patch;patchdir=../ \ " -# Tip of the main at Dec 18, 2024 -SRCREV = "d6d87d24468970fe94d692a7b0efbb77e8fe1547" +# Tip of the main at June 27, 2025 +SRCREV = "857eff8cdcf0a3506683043d0676d541e48dfaa3" inherit cmake pkgconfig python3native diff --git a/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch new file mode 100644 index 000000000..f0d3837c8 --- /dev/null +++ b/recipes-extended/wpe-backend-rdk/files/comcast-manette-gamepad-analog-button.patch @@ -0,0 +1,96 @@ +Date: Fri, Aug 30 20:30:21 2024 +0000 +From: Manoj Bhatta +Subject: [PATCH] Add support for Analog buton values +Source: COMCAST +Signed-off-by: Ganesh Sahu + +diff --git a/src/manettegamepad/manette_gamepad.cpp b/src/manettegamepad/manette_gamepad.cpp +index 71ee82a..c4f1a04 100644 +--- a/src/manettegamepad/manette_gamepad.cpp ++++ b/src/manettegamepad/manette_gamepad.cpp +@@ -166,17 +166,29 @@ struct GamepadProvider + static void onButtonPressEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider) + { + uint16_t button; ++ double value = 1.0; + if (!manette_event_get_button(event, &button)) + return; +- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); ++ if (button == BTN_TL2 || button == BTN_TR2) { ++ manette_event_get_button_value(event, &value); ++ provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ } ++ else ++ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), true); + } + + static void onButtonReleaseEvent(ManetteDevice* device, ManetteEvent* event, GamepadProvider* provider) + { + uint16_t button; ++ double value = 0.0; + if (!manette_event_get_button(event, &button)) + return; +- provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); ++ if (button == BTN_TL2 || button == BTN_TR2) { ++ manette_event_get_button_value(event, &value); ++ provider->analogButtonChanged(device, toStandardGamepadButton(button), value); ++ } ++ else ++ provider->buttonPressedOrReleased(device, toStandardGamepadButton(button), false); + } + + void listentoManetteDevice(ManetteDevice * device) +@@ -186,6 +198,16 @@ struct GamepadProvider + g_signal_connect(device, "absolute-axis-event", G_CALLBACK(onAbsoluteAxisEvent), this); + g_signal_connect(device, "hat-axis-event", G_CALLBACK(onHatAxisEvent), this); + } ++ ++ void analogButtonChanged(ManetteDevice* device, enum wpe_gamepad_button button, double value) ++ { ++ if (button == WPE_GAMEPAD_BUTTON_COUNT) ++ return; ++ auto it = manetteDevices.find(device); ++ if (it != manetteDevices.end()) { ++ updateGamepadAnalogButton(it->second,button,value); ++ } ++ } + + void buttonPressedOrReleased(ManetteDevice* device, enum wpe_gamepad_button button, bool pressed) + { +@@ -317,6 +339,7 @@ struct GamepadProvider + gamepadsInfo.erase(it); + wpe_gamepad_provider_dispatch_gamepad_disconnected(provider, gamepadId); + } ++ void updateGamepadAnalogButton(uint32_t gamepadId, enum wpe_gamepad_button button, double value); + void updateGamepadButton(uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed); + void updateGamepadAxis(uint32_t gamepadId, enum wpe_gamepad_axis axis, double value); + }; +@@ -354,6 +377,12 @@ struct GamepadProxy + return result ? result: "Unknown"; + } + ++ void dispatchAnalogButtonChanged(enum wpe_gamepad_button button, double value) ++ { ++ if (gamepad) ++ wpe_gamepad_dispatch_analog_button_changed(gamepad, button, value); ++ } ++ + void dispatchButtonChanged(enum wpe_gamepad_button button, bool pressed) + { + if (gamepad) +@@ -378,6 +407,15 @@ GamepadProvider::~GamepadProvider() + kv.second->cleanUp(); + } + ++void GamepadProvider::updateGamepadAnalogButton( uint32_t gamepadId, enum wpe_gamepad_button button, double value ) ++{ ++ auto iter = gamepadProxies.find(gamepadId); ++ if (iter != gamepadProxies.end()) { ++ auto *proxy = iter->second; ++ proxy->dispatchAnalogButtonChanged(button,value); ++ } ++} ++ + void GamepadProvider::updateGamepadButton( uint32_t gamepadId, enum wpe_gamepad_button button, bool pressed ) + { + auto iter = gamepadProxies.find(gamepadId); diff --git a/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb b/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb new file mode 100644 index 000000000..4c797d3b7 --- /dev/null +++ b/recipes-extended/wpe-backend-rdk/wpe-backend-rdk_0.5.bb @@ -0,0 +1,59 @@ +SUMMARY = "WPE WebKit RDK backend" +HOMEPAGE = "https://github.com/WebPlatformForEmbedded" +SECTION = "wpe" +LICENSE = "BSD-2-Clause & Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=ab5b52d145a58f5fcc0e2a531e7a2370" + +DEPENDS += "libwpe glib-2.0" + +PV ?= "0.5.0" +PR ?= "r0" + +PACKAGE_ARCH = "${MIDDLEWARE_ARCH}" +PATCHTOOL = "git" + +# Revision date: March 15, 2024 +SRCREV = "6f53fce68d8e6895fd25a2b18c781bfbccdcf3b0" +BASE_URI ?= "git://github.com/WebPlatformForEmbedded/WPEBackend-rdk.git;protocol=https;branch=master" +SRC_URI = "${BASE_URI}" + +SRC_URI += "file://comcast-Naive-gamepad-support.patch" +SRC_URI += "file://0001-Fix-browser-crash-when-the-compositor-is-not-created.patch" +SRC_URI += "file://0001-Send-SIGHUP-if-compositor-is-terminated.patch" +SRC_URI += "file://comcast-manette-gamepad-support.patch" +SRC_URI += "file://comcast-manette-gamepad-analog-button.patch" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +WPE_BACKEND ?= "essos headless" +RDEPENDS:${PN}-platform-plugin:append = " essos" + +PACKAGECONFIG ?= "${WPE_BACKEND}" +PACKAGECONFIG:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'gamepad-using-libmanette', ' manettegamepad', ' gamepad', d)}" + +PACKAGECONFIG[westeros] = "-DUSE_BACKEND_WESTEROS=ON -DUSE_KEY_INPUT_HANDLING_LINUX_INPUT=OFF,,wayland westeros libxkbcommon" +PACKAGECONFIG[essos] = "-DUSE_BACKEND_ESSOS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_ESSOS=OFF,essos libxkbcommon wayland" +PACKAGECONFIG[gamepad] = "-DUSE_GENERIC_GAMEPAD=ON,-DUSE_GENERIC_GAMEPAD=OFF," +PACKAGECONFIG[headless] = "-DUSE_BACKEND_HEADLESS=ON -DUSE_INPUT_LIBINPUT=OFF,-DUSE_BACKEND_HEADLESS=OFF," +PACKAGECONFIG[manettegamepad] = "-DUSE_LIBMANETTE_GAMEPAD=ON, -DUSE_LIBMANETTE_GAMEPAD=OFF, libmanette" + + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ +" + +PROVIDES = "wpe-backend-rdk" +RPROVIDES:${PN} = "wpe-backend-rdk" + +PACKAGES =+ "${PN}-platform-plugin" +FILES:${PN}-platform-plugin += "${libdir}/*.so ${bindir}/*" +INSANE_SKIP:${PN}-platform-plugin = "dev-so" + +FILES_SOLIBSDEV = "" +SOLIBS = ".so" +INSANE_SKIP:${PN} += "dev-so" +FILES:${PN} += "${libdir}/*.so" +#We need the default package, even if empty for SDK +ALLOW_EMPTY:${PN}="1"