<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">Le ven. 28 déc. 2018 à 02:19, Adrian Perez de Castro <<a href="mailto:aperez@igalia.com">aperez@igalia.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
On Sun, 23 Dec 2018 16:48:45 +0100, Francois Perrad <<a href="mailto:fperrad@gmail.com" target="_blank">fperrad@gmail.com</a>> wrote:<br>
<br>
> Signed-off-by: Francois Perrad <<a href="mailto:francois.perrad@gadz.org" target="_blank">francois.perrad@gadz.org</a>><br>
> ---<br>
>  DEVELOPERS                       |  1 +<br>
>  package/Config.in                |  1 +<br>
>  package/wpewebkit/Config.in      | 82 ++++++++++++++++++++++++++++++++<br>
>  package/wpewebkit/wpewebkit.hash |  8 ++++<br>
>  package/wpewebkit/<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a>   | 69 +++++++++++++++++++++++++++<br>
>  5 files changed, 161 insertions(+)<br>
>  create mode 100644 package/wpewebkit/Config.in<br>
>  create mode 100644 package/wpewebkit/wpewebkit.hash<br>
>  create mode 100644 package/wpewebkit/<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a><br>
> <br>
> diff --git a/DEVELOPERS b/DEVELOPERS<br>
> index 93a2bf5ad..491ebcaca 100644<br>
> --- a/DEVELOPERS<br>
> +++ b/DEVELOPERS<br>
> @@ -829,6 +829,7 @@ F:        package/sdl2_mixer/<br>
>  F:   package/sdl2_net/<br>
>  F:   package/tekui/<br>
>  F:   package/wpebackend-fdo/<br>
> +F:   package/wpewebkit/<br>
>  F:   package/wsapi-fcgi/<br>
>  F:   package/wsapi-xavante/<br>
>  F:   utils/scancpan<br>
> diff --git a/package/Config.in b/package/Config.in<br>
> index e8a676ab0..592f00456 100644<br>
> --- a/package/Config.in<br>
> +++ b/package/Config.in<br>
> @@ -1303,6 +1303,7 @@ menu "Graphics"<br>
>       source "package/webp/Config.in"<br>
>       source "package/woff2/Config.in"<br>
>       source "package/wpebackend-fdo/Config.in"<br>
> +     source "package/wpewebkit/Config.in"<br>
>       source "package/zbar/Config.in"<br>
>       source "package/zxing-cpp/Config.in"<br>
>  endmenu<br>
> diff --git a/package/wpewebkit/Config.in b/package/wpewebkit/Config.in<br>
> new file mode 100644<br>
> index 000000000..7a020dd05<br>
> --- /dev/null<br>
> +++ b/package/wpewebkit/Config.in<br>
> @@ -0,0 +1,82 @@<br>
> +comment "wpewebkit needs an OpenGL ES w/ EGL backend"<br>
> +     depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL<br>
> +<br>
> +config BR2_PACKAGE_WPEWEBKIT<br>
> +     bool "wpewebkit"<br>
> +     depends on !BR2_STATIC_LIBS # dlfcn.h<br>
> +     depends on !BR2_BINFMT_FLAT # icu<br>
> +     depends on BR2_INSTALL_LIBSTDCPP # icu<br>
> +     depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz<br>
> +     depends on BR2_TOOLCHAIN_HAS_THREADS # wayland<br>
> +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu<br>
> +     depends on BR2_USE_WCHAR # gettext<br>
<br>
The BR2_USE_WCHAR dependency is not needed.<br>
<br>
> +     depends on BR2_USE_MMU # fork()<br>
> +     depends on BR2_PACKAGE_HAS_LIBGLES<br>
> +     depends on BR2_PACKAGE_HAS_LIBEGL<br>
> +     depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgpg-error<br>
<br>
I would like to have here a BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS symbol which<br>
determines whether the package is supported on the target platform. For<br>
inspiration, you can take a look at the overlay:<br>
<br>
  <a href="https://github.com/Igalia/buildroot-wpe/blob/master/package/wpewebkit/Config.in#L1" rel="noreferrer" target="_blank">https://github.com/Igalia/buildroot-wpe/blob/master/package/wpewebkit/Config.in#L1</a><br>
<br>
Even better: Have a BR2_WEBKIT_ARCH_SUPPORTS symbol with the common<br>
dependencies for both the “webkitgtk” and “wpewebkit” packages -- they<br>
basically support the same set of architectures, and the same goes for the<br>
JavaScriptCore JIT compilation support (look at how the “webkitgtk” package<br>
defines BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT).<br>
<br>
> +     select BR2_PACKAGE_CAIRO<br>
> +     select BR2_PACKAGE_CAIRO_PNG<br>
> +     select BR2_PACKAGE_HARFBUZZ<br>
> +     select BR2_PACKAGE_ICU<br>
> +     select BR2_PACKAGE_JPEG<br>
> +     select BR2_PACKAGE_LIBEPOXY<br>
> +     select BR2_PACKAGE_LIBGCRYPT<br>
> +     select BR2_PACKAGE_LIBPNG<br>
> +     select BR2_PACKAGE_LIBSOUP<br>
> +     select BR2_PACKAGE_WAYLAND_PROTOCOLS<br>
> +     select BR2_PACKAGE_WEBP<br>
> +     select BR2_PACKAGE_WEBP_DEMUX<br>
> +     select BR2_PACKAGE_WPEBACKEND_FDO<br>
> +     help<br>
> +       WPE (Web Platform for Embedded) port of the WebKit engine,<br>
> +       to allow embedders to create simple and performant systems<br>
> +       based on Web platform technologies.<br>
> +<br>
> +       <a href="https://wpewebkit.org/" rel="noreferrer" target="_blank">https://wpewebkit.org/</a><br>
> +<br>
> +if BR2_PACKAGE_WPEWEBKIT<br>
> +<br>
> +config BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA<br>
> +     bool "multimedia support"<br>
> +     select BR2_PACKAGE_GSTREAMER1<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BAD<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_GOOD<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP<br>
> +     select BR2_PACKAGE_GST1_LIBAV<br>
> +     help<br>
> +       This option pulls in all of the required dependencies<br>
> +       to enable multimedia (video/audio) support.<br>
<br>
This is missing:<br>
<br>
  select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA<br>
  select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX<br>
<br>
In particular these two are needed to properly support video playback using<br>
Media Source Extensions (MSE) which e.g. video sites like YouTube need<br>
nowadays.<br>
<br></blockquote><div><br></div><div>This list of plugins comes from the package BR webkitgtk.</div><div>Should I prepare a patch against this package with these 2 missing plugins ?</div><div><br></div><div>François<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> +if BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA<br>
> +<br>
> +config BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL<br>
> +     bool "use gstreamer-gl"<br>
> +     default y<br>
> +     depends on BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL<br>
> +     select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL<br>
> +     help<br>
> +       Use the GStreamer GL elements for handling video content.<br>
> +       This is recommended as it improves performance of video<br>
> +       playback. In some target configurations incorrect rendering<br>
> +       might be produced, and disabling this option may help.<br>
> +<br>
> +endif<br>
> +<br>
> +config BR2_PACKAGE_WPEWEBKIT_WEBDRIVER<br>
> +     bool "WebDriver support"<br>
> +     help<br>
> +       Enable support for WebDriver. This will build and install the<br>
> +       WebKitWebDriver program in the target.<br>
> +<br>
<br>
I would also have options to make support for XSLT, WOFF2, and WebCrypto<br>
optional explicitly instead of choosing them in “<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a>” depending on<br>
whether the required package(s) have been manually selected. That would avoid<br>
situations in which, for example, a build mysteriously fails to load a WOFF2<br>
Web font due to the “woff2” package not being manually selected at build time<br>
(because it is not implied in any way that it is needed for WPE WebKit to<br>
support WOFF2 fonts).<br>
<br>
> +endif<br>
> diff --git a/package/wpewebkit/wpewebkit.hash b/package/wpewebkit/wpewebkit.hash<br>
> new file mode 100644<br>
> index 000000000..39937a346<br>
> --- /dev/null<br>
> +++ b/package/wpewebkit/wpewebkit.hash<br>
> @@ -0,0 +1,8 @@<br>
> +# From <a href="https://wpewebkit.org/releases/wpewebkit-2.22.3.tar.xz.sums" rel="noreferrer" target="_blank">https://wpewebkit.org/releases/wpewebkit-2.22.3.tar.xz.sums</a><br>
> +md5 6d0c693ea49a93fc9e701cf784245ea5 wpewebkit-2.22.3.tar.xz<br>
> +sha1 d8a22bec787f38939c7922dc43bf27c9144cef74 wpewebkit-2.22.3.tar.xz<br>
> +sha256 241f177cded1a4ba3088716650eaaac25588878882170789b3c630ac45dbb2fa wpewebkit-2.22.3.tar.xz<br>
> +<br>
> +# Hashes for license files:<br>
> +sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE<br>
> +sha256 f2b3bd09663381deb99721109d22b47af1213bb43007a8b56a06c6375c8050ce Source/WebCore/LICENSE-LGPL-2.1<br>
> diff --git a/package/wpewebkit/<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a> b/package/wpewebkit/<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a><br>
> new file mode 100644<br>
> index 000000000..fb30326d6<br>
> --- /dev/null<br>
> +++ b/package/wpewebkit/<a href="http://wpewebkit.mk" rel="noreferrer" target="_blank">wpewebkit.mk</a><br>
> @@ -0,0 +1,69 @@<br>
> +################################################################################<br>
> +#<br>
> +# wpewebkit<br>
> +#<br>
> +################################################################################<br>
> +<br>
> +WPEWEBKIT_VERSION = 2.22.3<br>
> +WPEWEBKIT_SITE = <a href="http://www.wpewebkit.org/releases" rel="noreferrer" target="_blank">http://www.wpewebkit.org/releases</a><br>
> +WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz<br>
> +WPEWEBKIT_INSTALL_STAGING = YES<br>
> +WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause<br>
> +WPEWEBKIT_LICENSE_FILES = \<br>
> +     Source/WebCore/LICENSE-APPLE \<br>
> +     Source/WebCore/LICENSE-LGPL-2.1<br>
> +WPEWEBKIT_DEPENDENCIES = host-gperf host-python host-ruby \<br>
> +     harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libpng \<br>
> +     wayland-protocols webp wpebackend-fdo<br>
> +<br>
> +WPEWEBKIT_CONF_OPTS = \<br>
> +     -DPORT=WPE \<br>
> +     -DENABLE_API_TESTS=OFF \<br>
> +     -DENABLE_MINIBROWSER=OFF<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y)<br>
> +WPEWEBKIT_CONF_OPTS += \<br>
> +     -DENABLE_VIDEO=ON \<br>
> +     -DENABLE_WEB_AUDIO=ON<br>
> +WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base gst1-plugins-good<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += \<br>
> +     -DENABLE_VIDEO=OFF \<br>
> +     -DENABLE_WEB_AUDIO=OFF<br>
> +endif<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y)<br>
> +WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON<br>
> +WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF<br>
> +endif<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_WPEWEBKIT_WEBDRIVER),y)<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=ON<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF<br>
> +endif<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_LIBTASN1),y)<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_SUBTLE_CRYPTO=ON<br>
> +WPEWEBKIT_DEPENDENCIES += libtasn1<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_SUBTLE_CRYPTO=OFF<br>
> +endif<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_LIBXSLT),y)<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_XSLT=ON<br>
> +WPEWEBKIT_DEPENDENCIES += libxslt<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += -DENABLE_XSLT=OFF<br>
> +endif<br>
> +<br>
> +ifeq ($(BR2_PACKAGE_WOFF2),y)<br>
> +WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON<br>
> +WPEWEBKIT_DEPENDENCIES += woff2<br>
> +else<br>
> +WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF<br>
> +endif<br>
> +<br>
> +$(eval $(cmake-package))<br>
> -- <br>
> 2.17.1<br>
<br>
Best regards,<br>
<br>
-Adrián<br>
_______________________________________________<br>
buildroot mailing list<br>
<a href="mailto:buildroot@busybox.net" target="_blank">buildroot@busybox.net</a><br>
<a href="http://lists.busybox.net/mailman/listinfo/buildroot" rel="noreferrer" target="_blank">http://lists.busybox.net/mailman/listinfo/buildroot</a><br>
</blockquote></div></div>