package/wpewebkit: new package
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Reviewed-by: Adrian Perez de Castro <aperez@igalia.com> [Thomas: - add missing depends on BR2_HOST_GCC_AT_LEAST_4_8 - improve comments on depends on - add missing "comment" for toolchain dependencies - add missing "depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS" on the Config.in comment - add missing "select BR2_PACKAGE_WAYLAND", which is needed to select BR2_PACKAGE_WAYLAND_PROTOCOLS - fix typoes in the JIT enabling code that was using WEBKITGTK_CONF_OPTS instead of WPEWEBKIT_CONF_OPTS] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
82f1c43aa4
commit
5de3ceff2c
|
@ -72,6 +72,7 @@ F: package/libwpe/
|
|||
F: package/webkitgtk/
|
||||
F: package/woff2/
|
||||
F: package/wpebackend-fdo/
|
||||
F: package/wpewebkit/
|
||||
|
||||
N: Adrien Gallouët <adrien@gallouet.fr>
|
||||
F: package/bird/
|
||||
|
@ -849,6 +850,7 @@ F: package/sdl2_mixer/
|
|||
F: package/sdl2_net/
|
||||
F: package/tekui/
|
||||
F: package/wpebackend-fdo/
|
||||
F: package/wpewebkit/
|
||||
F: package/wsapi-fcgi/
|
||||
F: package/wsapi-xavante/
|
||||
F: utils/scancpan
|
||||
|
|
|
@ -1322,6 +1322,7 @@ menu "Graphics"
|
|||
source "package/webp/Config.in"
|
||||
source "package/woff2/Config.in"
|
||||
source "package/wpebackend-fdo/Config.in"
|
||||
source "package/wpewebkit/Config.in"
|
||||
source "package/zbar/Config.in"
|
||||
source "package/zxing-cpp/Config.in"
|
||||
endmenu
|
||||
|
|
125
package/wpewebkit/Config.in
Normal file
125
package/wpewebkit/Config.in
Normal file
|
@ -0,0 +1,125 @@
|
|||
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
|
||||
|
||||
config BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS_JIT
|
||||
bool
|
||||
# ARM needs NEON for JIT.
|
||||
default y if BR2_ARM_CPU_HAS_NEON
|
||||
# AArch64 is supported upstream but not well tested on big-endian mode.
|
||||
default y if BR2_aarch64
|
||||
# i386 & x86_64 don't have any special requirements.
|
||||
default y if BR2_i386
|
||||
default y if BR2_x86_64
|
||||
# JIT is known not to work on MIPS64.
|
||||
# Plain MIPS32 (pre R2) is not well tested and likely broken, and R6
|
||||
# is unsupported, see https://bugs.webkit.org/show_bug.cgi?id=191258
|
||||
# The MIPS support is completely untested in big-endian mode.
|
||||
default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R2
|
||||
default y if BR2_mipsel && BR2_MIPS_CPU_MIPS32R5
|
||||
|
||||
comment "wpewebkit needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.8, host gcc >= 4.8"
|
||||
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_4_8 || BR2_HOST_GCC_AT_LEAST_4_8
|
||||
|
||||
comment "wpewebkit needs an OpenGL ES w/ EGL backend"
|
||||
depends on BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS
|
||||
depends on !BR2_BINFMT_FLAT
|
||||
depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
|
||||
|
||||
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_4_8 # icu
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu
|
||||
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_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_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_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_HAS_LIB_OPENGL
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL
|
||||
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
|
8
package/wpewebkit/wpewebkit.hash
Normal file
8
package/wpewebkit/wpewebkit.hash
Normal file
|
@ -0,0 +1,8 @@
|
|||
# From https://wpewebkit.org/releases/wpewebkit-2.22.3.tar.xz.sums
|
||||
md5 6d0c693ea49a93fc9e701cf784245ea5 wpewebkit-2.22.3.tar.xz
|
||||
sha1 d8a22bec787f38939c7922dc43bf27c9144cef74 wpewebkit-2.22.3.tar.xz
|
||||
sha256 241f177cded1a4ba3088716650eaaac25588878882170789b3c630ac45dbb2fa wpewebkit-2.22.3.tar.xz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE
|
||||
sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce Source/WebCore/LICENSE-LGPL-2.1
|
61
package/wpewebkit/wpewebkit.mk
Normal file
61
package/wpewebkit/wpewebkit.mk
Normal file
|
@ -0,0 +1,61 @@
|
|||
################################################################################
|
||||
#
|
||||
# wpewebkit
|
||||
#
|
||||
################################################################################
|
||||
|
||||
WPEWEBKIT_VERSION = 2.22.3
|
||||
WPEWEBKIT_SITE = http://www.wpewebkit.org/releases
|
||||
WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz
|
||||
WPEWEBKIT_INSTALL_STAGING = YES
|
||||
WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause
|
||||
WPEWEBKIT_LICENSE_FILES = \
|
||||
Source/WebCore/LICENSE-APPLE \
|
||||
Source/WebCore/LICENSE-LGPL-2.1
|
||||
WPEWEBKIT_DEPENDENCIES = host-gperf host-python host-ruby \
|
||||
harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \
|
||||
libpng libxslt wayland-protocols webp wpebackend-fdo
|
||||
|
||||
WPEWEBKIT_CONF_OPTS = \
|
||||
-DPORT=WPE \
|
||||
-DENABLE_API_TESTS=OFF \
|
||||
-DENABLE_MINIBROWSER=OFF
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS_JIT),y)
|
||||
WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=ON
|
||||
else
|
||||
WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y)
|
||||
WPEWEBKIT_CONF_OPTS += \
|
||||
-DENABLE_VIDEO=ON \
|
||||
-DENABLE_WEB_AUDIO=ON
|
||||
WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good
|
||||
else
|
||||
WPEWEBKIT_CONF_OPTS += \
|
||||
-DENABLE_VIDEO=OFF \
|
||||
-DENABLE_WEB_AUDIO=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y)
|
||||
WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
|
||||
WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad
|
||||
else
|
||||
WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WPEWEBKIT_WEBDRIVER),y)
|
||||
WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=ON
|
||||
else
|
||||
WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WOFF2),y)
|
||||
WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON
|
||||
WPEWEBKIT_DEPENDENCIES += woff2
|
||||
else
|
||||
WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
|
||||
endif
|
||||
|
||||
$(eval $(cmake-package))
|
Loading…
Reference in a new issue