@@ -1723,6 +1723,7 @@ menu "Graphics"
source "package/wlroots/Config.in"
source "package/woff2/Config.in"
source "package/wpebackend-fdo/Config.in"
+ source "package/wpebackend-rdk/Config.in"
source "package/wpewebkit/Config.in"
source "package/zbar/Config.in"
source "package/zxing-cpp/Config.in"
new file mode 100644
@@ -0,0 +1,57 @@
+comment "wpebackend-rdk needs a toolchain w/ C++, wchar, threads, dynamic library, and rpi-userland or an OpenGL-capable Wayland backend"
+ depends on !(BR2_PACKAGE_RPI_USERLAND || BR2_PACKAGE_HAS_LIBEGL_WAYLAND) \
+ || !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
+ || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+
+config BR2_PACKAGE_WPEBACKEND_RDK
+ bool "wpebackend-rdk"
+ depends on !BR2_STATIC_LIBS # wayland
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, libglib2
+ depends on BR2_USE_WCHAR # libglib2
+ depends on BR2_USE_MMU # libglib2
+ depends on BR2_PACKAGE_RPI_USERLAND || BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_LIBWPE
+ help
+ WPEBackend interface supporting a number of configurations.
+
+if BR2_PACKAGE_WPEBACKEND_RDK
+
+choice
+ prompt Implementation
+ default BR2_PACKAGE_WPEBACKEND_RDK_IMPL_BRCM_RPI if BR2_PACKAGE_RPI_USERLAND
+ default BR2_PACKAGE_WPEBACKEND_RDK_IMPL_WAYLAND_EGL if BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+
+comment "brcm-rpi needs rpi-userland"
+ depends on !BR2_PACKAGE_RPI_USERLAND || !BR2_arm
+
+config BR2_PACKAGE_WPEBACKEND_RDK_IMPL_BRCM_RPI
+ bool "brcm-rpi"
+ depends on BR2_arm
+ depends on BR2_PACKAGE_RPI_USERLAND
+ help
+ Build RaspberryPi support using Broadcom's rpi-userland.
+
+comment "wayland-egl needs an EGL capable Wayland implementation"
+ depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+
+config BR2_PACKAGE_WPEBACKEND_RDK_IMPL_WAYLAND_EGL
+ bool "wayland-egl"
+ depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+ help
+ Build Wayland-EGL support.
+
+endchoice
+
+if BR2_PACKAGE_WPEBACKEND_RDK_IMPL_BRCM_RPI
+
+config BR2_PACKAGE_WPEBACKEND_RDK_LIBINPUT
+ bool "libinput support"
+ select BR2_PACKAGE_LIBINPUT
+ help
+ Support keyboard and mouse input through libinput
+
+endif
+
+endif
new file mode 100644
@@ -0,0 +1,5 @@
+# Generated locally
+sha256 4c6ae288cf66f0a47052a50972e3d3727617c4c3e104db20494a3c5feb262f40 wpebackend-rdk-4.4.1.tar.gz
+
+# License files
+sha256 a5ba969938c2896411ea1a23ee7d9ccb68306a65615b6711afe738c8f6ff2153 COPYING
new file mode 100644
@@ -0,0 +1,43 @@
+################################################################################
+#
+# wpebackend-rdk
+#
+################################################################################
+
+WPEBACKEND_RDK_VERSION = 4.4.1
+WPEBACKEND_RDK_SITE = $(call github,WebPlatformForEmbedded,WPEBackend-rdk,R$(WPEBACKEND_RDK_VERSION))
+WPEBACKEND_RDK_INSTALL_STAGING = YES
+WPEBACKEND_RDK_LICENSE = BSD-2-Clause
+WPEBACKEND_RDK_LICENSE_FILES = COPYING
+WPEBACKEND_RDK_DEPENDENCIES = libglib2 libwpe
+WPEBACKEND_RDK_CONF_OPTS = \
+ -DUSE_BACKEND_BCM_NEXUS=OFF \
+ -DUSE_BACKEND_BCM_NEXUS_WAYLAND=OFF \
+ -DUSE_BACKEND_INTEL_CE=OFF \
+ -DUSE_BACKEND_WESTEROS=OFF \
+ -DUSE_BACKEND_WPEFRAMEWORK=OFF \
+ -DUSE_HOLE_PUNCH_GSTREAMER=OFF \
+ -DUSE_VIRTUAL_KEYBOARD=OFF
+
+ifeq ($(BR2_PACKAGE_WPEBACKEND_RDK_IMPL_BRCM_RPI),y)
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_BACKEND_BCM_RPI=ON
+WPEBACKEND_RDK_DEPENDENCIES += rpi-userland
+else
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_BACKEND_BCM_RPI=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WPEBACKEND_RDK_IMPL_WAYLAND_EGL),y)
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_BACKEND_WAYLAND_EGL=ON
+WPEBACKEND_RDK_DEPENDENCIES += libegl wayland
+else
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_BACKEND_WAYLAND_EGL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_WPEBACKEND_RDK_LIBINPUT),y)
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_INPUT_LIBINPUT=ON
+WPEBACKEND_RDK_DEPENDENCIES += libinput
+else
+WPEBACKEND_RDK_CONF_OPTS += -DUSE_INPUT_LIBINPUT=OFF
+endif
+
+$(eval $(cmake-package))
The wpebackend-rdk can be used as an alternative to wpebackend-fdo in some cases, and also supports a few additional configurations. For now only the Wayland-EGL and Broadcom RaspberryPi userland implementations can be enabled. The former is useful for testing, and the latter allows using WPE WebKit directly on top of Dispmanx in combination with the rpi-userland package in supported RaspberryPi models. This only adds the new package, follow-up commits will un-hardcode the usage of wpebackend-fdo and allow selecting either which of both to build. Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> --- package/Config.in | 1 + package/wpebackend-rdk/Config.in | 57 ++++++++++++++++++++++ package/wpebackend-rdk/wpebackend-rdk.hash | 5 ++ package/wpebackend-rdk/wpebackend-rdk.mk | 43 ++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 package/wpebackend-rdk/Config.in create mode 100644 package/wpebackend-rdk/wpebackend-rdk.hash create mode 100644 package/wpebackend-rdk/wpebackend-rdk.mk