From 5c04893e34df2e878eab2d034dc6d7ecb91ebe18 Mon Sep 17 00:00:00 2001 From: Bastian Krause Date: Thu, 22 Oct 2020 10:25:00 +0200 Subject: wpewebkit: version bump 2.28.4 -> 2.30.1 ENABLE_ACCELERATED_2D_CANVAS=ON is broken on 2.30.1. It defaults to off and does not really improve performance on embedded devices (paraphrasing the wpewebkit maintainers). There was even discussion to turn it into a private option [1]. So turn it off. wpewebkit depends on gstreamer for audio/video playback and more. The required plugin packages are already selected, but not all plugins used in Source/WebCore/platform/{audio,graphics,mediastream}/. Fix that. While at it, distinguish video/audio plugins and turn GST_PLUGINS_GOOD1/GST_PLUGINS_BAD1 into runtime dependencies. Enable/disable the corresponding CMake options ENABLE_VIDEO and ENABLE_WEB_AUDIO accordingly. The included patch is needed to make builds with ENABLE_VIDEO=OFF work. [1] https://bugs.webkit.org/show_bug.cgi?id=148473 Signed-off-by: Bastian Krause Message-Id: <20201022082500.20644-3-bst@pengutronix.de> Signed-off-by: Michael Olbrich --- rules/wpewebkit.in | 52 +++++++++++++++++++++++++++++++++++++++++++--------- rules/wpewebkit.make | 13 ++++++++----- 2 files changed, 51 insertions(+), 14 deletions(-) (limited to 'rules') diff --git a/rules/wpewebkit.in b/rules/wpewebkit.in index d91758406..f123f4dad 100644 --- a/rules/wpewebkit.in +++ b/rules/wpewebkit.in @@ -37,16 +37,36 @@ menuconfig WPEWEBKIT select MESALIB_GLES2 select LIBEPOXY select LIBGCRYPT - select GSTREAMER1 - select GST_PLUGINS_BASE1 - select GST_PLUGINS_BASE1_APP - select GST_PLUGINS_BASE1_GL - select GST_PLUGINS_BASE1_EGL - select GST_PLUGINS_GOOD1 - select GST_PLUGINS_BAD1 + select GSTREAMER1 if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1 if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_APP if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_AUDIOCONVERT if WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_AUDIOMIXER if WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_AUDIORESAMPLE if WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_EGL if WPEWEBKIT_VIDEO + select GST_PLUGINS_BASE1_GIO if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_GL if WPEWEBKIT_VIDEO + select GST_PLUGINS_BASE1_PLAYBACK if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_BASE1_VIDEOCONVERT if WPEWEBKIT_VIDEO + select GST_PLUGINS_BASE1_VOLUME if WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1 if (WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO) && RUNTIME + select GST_PLUGINS_GOOD1_AUDIOFX if WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1_AUTODETECT if WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1_INTERLEAVE if WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1_ISOMP4 if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1_MATROSKA if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO + select GST_PLUGINS_GOOD1_VIDEOFILTER if WPEWEBKIT_VIDEO + select GST_PLUGINS_BAD1 if (WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO) && RUNTIME + # fdkaac is preferred but currently not available + select GST_PLUGINS_BAD1_FDKAAC if WPEWEBKIT_AUDIO && BROKEN + select GST_PLUGINS_BAD1_DEBUGUTILS if WPEWEBKIT_VIDEO + select GST_PLUGINS_BAD1_OPUS if WPEWEBKIT_AUDIO + select GST_PLUGINS_BAD1_SUBENC if WPEWEBKIT_VIDEO + select GST_PLUGINS_BAD1_VIDEOPARSERS if WPEWEBKIT_VIDEO select WPEBACKEND_FDO - select QT5 if WPEWEBKIT_QT - select QT5_MODULE_QTDECLARATIVE if WPEWEBKIT_QT + select QT5 if WPEWEBKIT_QT + select QT5_MODULE_QTDECLARATIVE if WPEWEBKIT_QT + select SYSTEMD if WPEWEBKIT_JOURNALD help WebPlatformForEmbedded port for the WebKit cross-platform web browser engine. @@ -56,4 +76,18 @@ config WPEWEBKIT_QT bool prompt "Qt API" +config WPEWEBKIT_JOURNALD + bool + depends on INITMETHOD_SYSTEMD + default y + prompt "journald support" + +config WPEWEBKIT_VIDEO + bool + prompt "video support" + +config WPEWEBKIT_AUDIO + bool + prompt "audio support" + endif diff --git a/rules/wpewebkit.make b/rules/wpewebkit.make index c0007d777..2b8f8cd8b 100644 --- a/rules/wpewebkit.make +++ b/rules/wpewebkit.make @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_WPEWEBKIT) += wpewebkit # # Paths and names # -WPEWEBKIT_VERSION := 2.28.4 -WPEWEBKIT_MD5 := 6ab041f6ebdb2e053981de5980c864e7 +WPEWEBKIT_VERSION := 2.30.1 +WPEWEBKIT_MD5 := 251228a6e2917eff90a3eb6e9a7e920d WPEWEBKIT := wpewebkit-$(WPEWEBKIT_VERSION) WPEWEBKIT_SUFFIX := tar.xz WPEWEBKIT_URL := https://wpewebkit.org/releases/$(WPEWEBKIT).$(WPEWEBKIT_SUFFIX) @@ -35,25 +35,28 @@ WPEWEBKIT_CONF_OPT := \ $(CROSS_CMAKE_USR) \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ + -DANALYZERS=OFF \ -DDEBUG_FISSION=OFF \ - -DENABLE_ACCELERATED_2D_CANVAS=ON \ + -DENABLE_ACCELERATED_2D_CANVAS=OFF \ -DENABLE_ACCESSIBILITY=OFF \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -DENABLE_ENCRYPTED_MEDIA=OFF \ -DENABLE_GTKDOC=OFF\ -DENABLE_MEDIA_SOURCE=ON \ -DENABLE_SHAREABLE_RESOURCE=ON \ - -DENABLE_VIDEO=ON \ + -DENABLE_VIDEO=$(call ptx/onoff,PTXCONF_WPEWEBKIT_VIDEO) \ -DENABLE_WEBDRIVER=ON \ - -DENABLE_WEB_AUDIO=ON \ + -DENABLE_WEB_AUDIO=$(call ptx/onoff,PTXCONF_WPEWEBKIT_AUDIO) \ \ -DENABLE_WEB_CRYPTO=ON \ -DENABLE_WPE_QT_API=$(call ptx/onoff,PTXCONF_WPEWEBKIT_QT) \ -DENABLE_XSLT=ON \ + -DGCC_OFFLINEASM_SOURCE_MAP=OFF \ -DPORT=WPE \ -DSHOULD_INSTALL_JS_SHELL=OFF \ -DSHOW_BINDINGS_GENERATION_PROGRESS=ON \ -DUSE_LD_GOLD=OFF \ -DUSE_OPENJPEG=OFF \ + -DUSE_SYSTEMD=$(call ptx/onoff,PTXCONF_WPEWEBKIT_JOURNALD) \ -DUSE_THIN_ARCHIVES=ON \ -DUSE_WOFF2=OFF \ -DWTF_CPU_ARM64_CORTEXA53=OFF -- cgit v1.2.3