kumquat-buildroot/package/wpewebkit/Config.in
Adrian Perez de Castro 2a19afecb4 package/wpewebkit: add option to enable sandboxing support
Add an option to enable WebKit's sandbox, which uses kernel
namespaces to isolate the processes used for Web content rendering
(WebKitWebProcess) and network/disk access (WebKitNetworkProcess).

The reason to have an option is that it needs additional dependencies
(bubblewrap, xdg-dbus-proxy, libseccomp), and that some users may
choose to deploy alternative solution (for example: putting all
of WebKit inside its own container, using systemd-nspawn or the
like).

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[Peter: select libseccomp]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-12-15 21:33:56 +01:00

126 lines
4.5 KiB
Plaintext

config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
bool
# ARM needs BLX, so v5t+, BE completely untested so disabled
default y if BR2_arm && !BR2_ARM_CPU_ARMV4
default y if BR2_aarch64 || BR2_aarch64_be
default y if BR2_i386 || BR2_x86_64
# Disabled on MIPS big endian due to sigbus
default y if BR2_mipsel || BR2_mips64el
# Disabled on PowerPC pending runtime testing
# Disabled on SuperH because of segfault
depends on BR2_USE_MMU # libglib2
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 6"
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
|| !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_6
comment "wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend"
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT
depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL \
|| !BR2_PACKAGE_HAS_LIBEGL_WAYLAND
config BR2_PACKAGE_WPEWEBKIT
bool "wpewebkit"
depends on !BR2_STATIC_LIBS # wayland
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_INSTALL_LIBSTDCPP # harfbuzz, icu
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6
depends on BR2_USE_WCHAR # icu, libsoup
depends on BR2_PACKAGE_HAS_LIBGLES # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL # libepoxy
depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # wpebackend-fdo
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_HARFBUZZ
select BR2_PACKAGE_ICU
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBEPOXY
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_LIBSOUP
select BR2_PACKAGE_LIBTASN1
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_OPENJPEG
select BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_WAYLAND_PROTOCOLS
select BR2_PACKAGE_WEBP
select BR2_PACKAGE_WEBP_DEMUX
select BR2_PACKAGE_WPEBACKEND_FDO
help
WPE (Web Platform for Embedded) port of the WebKit engine,
to allow embedders to create simple and performant systems
based on Web platform technologies.
https://wpewebkit.org/
if BR2_PACKAGE_WPEWEBKIT
config BR2_PACKAGE_WPEWEBKIT_SANDBOX
bool "sandboxing support"
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # libseccomp
select BR2_PACKAGE_BUBBLEWRAP # runtime
select BR2_PACKAGE_XDG_DBUS_PROXY # runtime
select BR2_PACKAGE_LIBSECCOMP
help
Enable sandboxing of the processes used for network operation,
disk asccess, and Web content rendering.
comment "sandboxing supports needs a toolchain w/ headers >= 3.12"
depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA
bool "multimedia support"
select BR2_PACKAGE_GSTREAMER1
select BR2_PACKAGE_GST1_PLUGINS_BAD
select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX
select BR2_PACKAGE_GST1_PLUGINS_BASE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
select BR2_PACKAGE_GST1_PLUGINS_GOOD
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX
select BR2_PACKAGE_GST1_LIBAV
help
This option pulls in all of the required dependencies
to enable multimedia (video/audio) support.
if BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA
config BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL
bool "use gstreamer-gl"
default y
depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL
help
Use the GStreamer GL elements for handling video content.
This is recommended as it improves performance of video
playback. In some target configurations incorrect rendering
might be produced, and disabling this option may help.
endif
config BR2_PACKAGE_WPEWEBKIT_WEBDRIVER
bool "WebDriver support"
help
Enable support for WebDriver. This will build and install the
WebKitWebDriver program in the target.
endif