All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes
@ 2018-09-22 23:53 Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
                   ` (4 more replies)
  0 siblings, 5 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

Hello everybody,

After skipping on the 2.20.x releases due to the JIT support in JavaScriptCore
being broken for many 32-bit ARM and MIPS targets, I am submitting an update
to the current stable 2.22.2 release.

On top of the version bump, I am submitting a few related changes as well
which enable features (like WOFF2 Web fonts support), making the package
available on AArch64, and enabling the JavaScriptCore JIT on MIPS (both of
which have gotten a good amount of testing at Igalia).

Last but not least, the last patch in the series fixes the compilation
failure caught by the the autobuilders a couple of times when GStreamer-GL
is disabled.

Best regards,

-Adri?n


Adrian Perez de Castro (5):
  webkitgtk: bump to version 2.22.2
  webkitgtk: add dependency on the woff2 package
  webkitgtk: enable package for aarch64
  webkitgtk: enable JIT support on 32-bit MIPS
  webkitgtk: explicitly set USE_GSTREAMER_GL build option

 package/midori/Config.in                      |  6 +--
 ...ightingNEON.cpp-fails-due-to-missing.patch | 41 +++++++++++++++++++
 package/webkitgtk/Config.in                   | 20 +++++++--
 package/webkitgtk/webkitgtk.hash              |  8 ++--
 package/webkitgtk/webkitgtk.mk                | 16 ++++++--
 5 files changed, 77 insertions(+), 14 deletions(-)
 create mode 100644 package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch

-- 
2.19.0

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2
  2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
@ 2018-09-22 23:53 ` Adrian Perez de Castro
  2018-09-25 20:47   ` Thomas Petazzoni
  2018-10-05 17:34   ` Peter Korsgaard
  2018-09-22 23:53 ` [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package Adrian Perez de Castro
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

Release notes:

    https://webkitgtk.org/2018/09/03/webkitgtk2.22.0-released.html
    https://webkitgtk.org/2018/09/20/webkitgtk2.22.1-released.html
    https://webkitgtk.org/2018/09/21/webkitgtk2.22.2-released.html

No corresponding security advisories for 2.22.x have been published.
Nevertheless, due to skipping over versions in the 2.20.x series,
the following 2.20.x advisories apply:

    https://webkitgtk.org/security/WSA-2018-0003.html
    https://webkitgtk.org/security/WSA-2018-0004.html
    https://webkitgtk.org/security/WSA-2018-0005.html
    https://webkitgtk.org/security/WSA-2018-0006.html

This also bumps the required GCC version, due to the WebKit code
now using more modern C++ features which were introduced in version
6.x of the compiler. The dependency is propagated to the midori
package as well. Last but not least, BR2_PACKAGE_WEBP_DEMUX and
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX are selected as
they are unconditionally needed by the newer WebKitGTK+ releases
when multimedia support is enabled.

An upstream patch for 32-bit ARM which did not make it to be included
in this new version is included as well, and can be removed once it
gets picked in a new release.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/midori/Config.in                      |  6 +--
 ...ightingNEON.cpp-fails-due-to-missing.patch | 41 +++++++++++++++++++
 package/webkitgtk/Config.in                   |  9 ++--
 package/webkitgtk/webkitgtk.hash              |  8 ++--
 package/webkitgtk/webkitgtk.mk                |  2 +-
 5 files changed, 55 insertions(+), 11 deletions(-)
 create mode 100644 package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch

diff --git a/package/midori/Config.in b/package/midori/Config.in
index bc37c6a95b..f0767c85f9 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,7 +1,7 @@
-comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8"
+comment "midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8"
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \
-		!BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
+		!BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \
 		!BR2_TOOLCHAIN_USES_GLIBC
 
 config BR2_PACKAGE_MIDORI
@@ -10,7 +10,7 @@ config BR2_PACKAGE_MIDORI
 	depends on BR2_PACKAGE_LIBGTK3
 	depends on BR2_INSTALL_LIBSTDCPP # webkitgtk
 	depends on BR2_HOST_GCC_AT_LEAST_4_8 # webkitgtk -> icu
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # webkitgtk
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # webkitgtk
 	depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	# GCR can only be used with the X11 backend
diff --git a/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch b/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch
new file mode 100644
index 0000000000..6fb309d9fb
--- /dev/null
+++ b/package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch
@@ -0,0 +1,41 @@
+From b252c7aed3fa6f22db8a26c3ab0bfe66e3490eef Mon Sep 17 00:00:00 2001
+From: Adrian Perez de Castro <aperez@igalia.com>
+Date: Sun, 23 Sep 2018 02:34:26 +0300
+Subject: [PATCH xserver] [ARM] Building FELightingNEON.cpp fails due to
+ missing lightVector member https://bugs.webkit.org/show_bug.cgi?id=189890
+
+Reviewed by NOBODY (OOPS!).
+
+No new tests needed.
+
+* platform/graphics/cpu/arm/filters/FELightingNEON.h:
+(WebCore::FELighting::platformApplyNeon): Adapt to new layout of "struct PaintingData" after r225122.
+---
+ Source/WebCore/ChangeLog                             | 12 ++++++++++++
+ .../graphics/cpu/arm/filters/FELightingNEON.h        |  6 +++---
+ 2 files changed, 15 insertions(+), 3 deletions(-)
+
+Fetch from: https://bugs.webkit.org/show_bug.cgi?id=189890
+Upstream-Status: Pending
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
+
+diff --git a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+index 42af922374b..b542a4c81aa 100644
+--- a/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
++++ b/Source/WebCore/platform/graphics/cpu/arm/filters/FELightingNEON.h
+@@ -144,9 +144,9 @@ inline void FELighting::platformApplyNeon(const LightingData& data, const LightS
+             neonData.flags |= FLAG_CONE_EXPONENT_IS_1;
+     } else {
+         ASSERT(m_lightSource->type() == LS_DISTANT);
+-        floatArguments.lightX = paintingData.lightVector.x();
+-        floatArguments.lightY = paintingData.lightVector.y();
+-        floatArguments.lightZ = paintingData.lightVector.z();
++        floatArguments.lightX = paintingData.initialLightingData.lightVector.x();
++        floatArguments.lightY = paintingData.initialLightingData.lightVector.y();
++        floatArguments.lightZ = paintingData.initialLightingData.lightVector.z();
+         floatArguments.padding2 = 1;
+     }
+ 
+-- 
+2.19.0
+
diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index 31794ed2a4..df2aeef3d9 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -11,19 +11,19 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
 
-comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8"
+comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8"
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_USES_GLIBC || \
 		!BR2_HOST_GCC_AT_LEAST_4_8 || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_5
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	depends on BR2_USE_MMU
 
 config BR2_PACKAGE_WEBKITGTK
 	bool "webkitgtk"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6
 	depends on BR2_TOOLCHAIN_USES_GLIBC
 	depends on BR2_PACKAGE_LIBGTK3
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
@@ -41,6 +41,7 @@ config BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_LIBXSLT
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBP
+	select BR2_PACKAGE_WEBP_DEMUX
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
@@ -67,6 +68,8 @@ comment "webkitgtk https support needs a toolchain w/ dynamic library"
 config BR2_PACKAGE_WEBKITGTK_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
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkitgtk/webkitgtk.hash
index dd2b28d372..0b9b94ca49 100644
--- a/package/webkitgtk/webkitgtk.hash
+++ b/package/webkitgtk/webkitgtk.hash
@@ -1,7 +1,7 @@
-# From https://webkitgtk.org/releases/webkitgtk-2.18.6.tar.xz.sums
-md5 c1a548595135ee75ad3bf2e18ac83112 webkitgtk-2.18.6.tar.xz
-sha1 fb0daa85142cfe8822de518dfaa7bd5c3cdd6c23 webkitgtk-2.18.6.tar.xz
-sha256 93912cc2f40f12e452be1ca4babdbdaac0ec4f828d441257a6b06c2963bbac3c webkitgtk-2.18.6.tar.xz
+# From https://webkitgtk.org/releases/webkitgtk-2.22.2.tar.xz.sums
+md5 207d50d313c07b03726f3a7f22643934 webkitgtk-2.22.2.tar.xz
+sha1 ff0c40e81e240aa0743f7e6483f175defebd1417 webkitgtk-2.22.2.tar.xz
+sha256 345487d4d1896e711683f951d1e09387d3b90d7cf59295c0e634af7f515e99ba webkitgtk-2.22.2.tar.xz
 
 # Hashes for license files:
 sha256 0b5d3a7cc325942567373b0ecd757d07c132e0ebd7c97bfc63f7e1a76094edb4 Source/WebCore/LICENSE-APPLE
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index eb39664b1e..eccd9bbae5 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-WEBKITGTK_VERSION = 2.18.6
+WEBKITGTK_VERSION = 2.22.2
 WEBKITGTK_SITE = http://www.webkitgtk.org/releases
 WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
 WEBKITGTK_INSTALL_STAGING = YES
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
@ 2018-09-22 23:53 ` Adrian Perez de Castro
  2018-09-25 20:52   ` Thomas Petazzoni
  2018-10-05 17:34   ` Peter Korsgaard
  2018-09-22 23:53 ` [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64 Adrian Perez de Castro
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

The woff2 dependency is used to support Web fonts in WOFF2 format.
This is a Web-facing feature that Web sites expect WebKit to support,
and it is recommended to be unconditionally enabled. While it is
possible to disable the feature at build time, upstream only recommends
doing so if the target system cannot provide a woff2 package.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/Config.in    | 1 +
 package/webkitgtk/webkitgtk.mk | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index df2aeef3d9..96a7ab0c94 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -42,6 +42,7 @@ config BR2_PACKAGE_WEBKITGTK
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_WEBP
 	select BR2_PACKAGE_WEBP_DEMUX
+	select BR2_PACKAGE_WOFF2
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index eccd9bbae5..f28417ac73 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-LGPL-2.1
 WEBKITGTK_DEPENDENCIES = host-ruby host-flex host-bison host-gperf \
 	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \
-	libtasn1 libxml2 libxslt sqlite webp
+	libtasn1 libxml2 libxslt sqlite webp woff2
 WEBKITGTK_CONF_OPTS = \
 	-DENABLE_API_TESTS=OFF \
 	-DENABLE_GEOLOCATION=OFF \
@@ -22,6 +22,7 @@ WEBKITGTK_CONF_OPTS = \
 	-DENABLE_INTROSPECTION=OFF \
 	-DENABLE_MINIBROWSER=ON \
 	-DENABLE_SPELLCHECK=ON \
+	-DENABLE_WOFF2=ON \
 	-DPORT=GTK \
 	-DUSE_LIBNOTIFY=OFF \
 	-DUSE_LIBHYPHEN=OFF
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64
  2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package Adrian Perez de Castro
@ 2018-09-22 23:53 ` Adrian Perez de Castro
  2018-09-25 20:56   ` Thomas Petazzoni
  2018-09-22 23:53 ` [Buildroot] [PATCH 4/5] webkitgtk: enable JIT support on 32-bit MIPS Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option Adrian Perez de Castro
  4 siblings, 1 reply; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

64-bit ARM is well supported, particularly in little-endian
configurations, where JIT can be enabled as well.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/Config.in    | 1 +
 package/webkitgtk/webkitgtk.mk | 5 +++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index 96a7ab0c94..ac6f57e2ad 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -2,6 +2,7 @@ config BR2_PACKAGE_WEBKITGTK_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
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index f28417ac73..f0293fc225 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -27,9 +27,10 @@ WEBKITGTK_CONF_OPTS = \
 	-DUSE_LIBNOTIFY=OFF \
 	-DUSE_LIBHYPHEN=OFF
 
-# ARM needs NEON for JIT
+# 32-bit ARM needs NEON for JIT, AArch64 is supported but not well tested
+# on big endian hence the missing $(BR2_aarch64_be).
 # i386 & x86_64 don't seem to have any special requirements
-ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
+ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64)$(BR2_aarch64),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 4/5] webkitgtk: enable JIT support on 32-bit MIPS
  2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
                   ` (2 preceding siblings ...)
  2018-09-22 23:53 ` [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64 Adrian Perez de Castro
@ 2018-09-22 23:53 ` Adrian Perez de Castro
  2018-09-22 23:53 ` [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option Adrian Perez de Castro
  4 siblings, 0 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

WebKitGTK+ is known to work on all 32-bit MIPS R2 or newer,
in little-endian mode.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/Config.in    | 9 +++++++++
 package/webkitgtk/webkitgtk.mk | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
index ac6f57e2ad..3a12b7c0ec 100644
--- a/package/webkitgtk/Config.in
+++ b/package/webkitgtk/Config.in
@@ -12,6 +12,15 @@ config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4
 	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
 
+config BR2_PACKAGE_WEBKITGTK_MIPS_JIT_SUPPORTED
+	bool
+	# JIT is known to not work on MIPS64.
+	# Plain MIPS32 (pre R2) is not well tested and likely broken.
+	default y if BR2_MIPS_CPU_MIPS32R2
+	default y if BR2_MIPS_CPU_MIPS32R5
+	default y if BR2_MIPS_CPU_MIPS32R6
+	depends on BR2_mipsel
+
 comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 6, host gcc >= 4.8"
 	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
 	depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index f0293fc225..028208cb62 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -30,7 +30,7 @@ WEBKITGTK_CONF_OPTS = \
 # 32-bit ARM needs NEON for JIT, AArch64 is supported but not well tested
 # on big endian hence the missing $(BR2_aarch64_be).
 # i386 & x86_64 don't seem to have any special requirements
-ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64)$(BR2_aarch64),y)
+ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64)$(BR2_aarch64)$(BR2_PACKAGE_WEBKITGTK_MIPS_JIT_SUPPORTED),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option
  2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
                   ` (3 preceding siblings ...)
  2018-09-22 23:53 ` [Buildroot] [PATCH 4/5] webkitgtk: enable JIT support on 32-bit MIPS Adrian Perez de Castro
@ 2018-09-22 23:53 ` Adrian Perez de Castro
  2018-09-25 20:57   ` Thomas Petazzoni
  4 siblings, 1 reply; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-22 23:53 UTC (permalink / raw)
  To: buildroot

Make the USE_GSTREAMER_GL CMake build option depend on
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL being enabled. This
allows building WebKitGTK+ for targets where GL/GLES is
available but either GStreamer-GL is disabled or cannot be
built.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkitgtk/webkitgtk.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
index 028208cb62..dac57ca501 100644
--- a/package/webkitgtk/webkitgtk.mk
+++ b/package/webkitgtk/webkitgtk.mk
@@ -98,4 +98,10 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
 endif
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL),y)
+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
+else
+WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
+endif
+
 $(eval $(cmake-package))
-- 
2.19.0

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2
  2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
@ 2018-09-25 20:47   ` Thomas Petazzoni
  2018-10-05 17:34   ` Peter Korsgaard
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2018-09-25 20:47 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 23 Sep 2018 02:53:29 +0300, Adrian Perez de Castro wrote:
> Release notes:
> 
>     https://webkitgtk.org/2018/09/03/webkitgtk2.22.0-released.html
>     https://webkitgtk.org/2018/09/20/webkitgtk2.22.1-released.html
>     https://webkitgtk.org/2018/09/21/webkitgtk2.22.2-released.html
> 
> No corresponding security advisories for 2.22.x have been published.
> Nevertheless, due to skipping over versions in the 2.20.x series,
> the following 2.20.x advisories apply:
> 
>     https://webkitgtk.org/security/WSA-2018-0003.html
>     https://webkitgtk.org/security/WSA-2018-0004.html
>     https://webkitgtk.org/security/WSA-2018-0005.html
>     https://webkitgtk.org/security/WSA-2018-0006.html
> 
> This also bumps the required GCC version, due to the WebKit code
> now using more modern C++ features which were introduced in version
> 6.x of the compiler. The dependency is propagated to the midori
> package as well. Last but not least, BR2_PACKAGE_WEBP_DEMUX and
> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX are selected as
> they are unconditionally needed by the newer WebKitGTK+ releases
> when multimedia support is enabled.
> 
> An upstream patch for 32-bit ARM which did not make it to be included
> in this new version is included as well, and can be removed once it
> gets picked in a new release.
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> ---
>  package/midori/Config.in                      |  6 +--
>  ...ightingNEON.cpp-fails-due-to-missing.patch | 41 +++++++++++++++++++
>  package/webkitgtk/Config.in                   |  9 ++--
>  package/webkitgtk/webkitgtk.hash              |  8 ++--
>  package/webkitgtk/webkitgtk.mk                |  2 +-
>  5 files changed, 55 insertions(+), 11 deletions(-)
>  create mode 100644 package/webkitgtk/0001-ARM-Building-FELightingNEON.cpp-fails-due-to-missing.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-22 23:53 ` [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package Adrian Perez de Castro
@ 2018-09-25 20:52   ` Thomas Petazzoni
  2018-09-27  9:41     ` Adrian Perez de Castro
  2018-10-05 17:34   ` Peter Korsgaard
  1 sibling, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2018-09-25 20:52 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 23 Sep 2018 02:53:30 +0300, Adrian Perez de Castro wrote:
> The woff2 dependency is used to support Web fonts in WOFF2 format.
> This is a Web-facing feature that Web sites expect WebKit to support,
> and it is recommended to be unconditionally enabled. While it is
> possible to disable the feature at build time, upstream only recommends
> doing so if the target system cannot provide a woff2 package.
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> ---
>  package/webkitgtk/Config.in    | 1 +
>  package/webkitgtk/webkitgtk.mk | 3 ++-
>  2 files changed, 3 insertions(+), 1 deletion(-)

In general, we are not really happy with optional dependencies turned
into mandatory dependencies. For example, the EFL package makes a lot
of dependencies optional, even if upstream strongly recommends to have
such dependencies enabled (to the point where efl.mk needs to pass
--enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb).

However, since woff2 has very few dependencies, and
woff2+brotli+host-pkgconf build in 19 seconds, it's nothing compared to
webkitgtk, so I applied your patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64
  2018-09-22 23:53 ` [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64 Adrian Perez de Castro
@ 2018-09-25 20:56   ` Thomas Petazzoni
  2018-09-27  9:44     ` Adrian Perez de Castro
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2018-09-25 20:56 UTC (permalink / raw)
  To: buildroot

Hello Adrian,

On Sun, 23 Sep 2018 02:53:31 +0300, Adrian Perez de Castro wrote:
> 64-bit ARM is well supported, particularly in little-endian
> configurations, where JIT can be enabled as well.
> 
> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> ---
>  package/webkitgtk/Config.in    | 1 +
>  package/webkitgtk/webkitgtk.mk | 5 +++--
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
> index 96a7ab0c94..ac6f57e2ad 100644
> --- a/package/webkitgtk/Config.in
> +++ b/package/webkitgtk/Config.in
> @@ -2,6 +2,7 @@ config BR2_PACKAGE_WEBKITGTK_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
> diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
> index f28417ac73..f0293fc225 100644
> --- a/package/webkitgtk/webkitgtk.mk
> +++ b/package/webkitgtk/webkitgtk.mk
> @@ -27,9 +27,10 @@ WEBKITGTK_CONF_OPTS = \
>  	-DUSE_LIBNOTIFY=OFF \
>  	-DUSE_LIBHYPHEN=OFF
>  
> -# ARM needs NEON for JIT
> +# 32-bit ARM needs NEON for JIT, AArch64 is supported but not well tested
> +# on big endian hence the missing $(BR2_aarch64_be).
>  # i386 & x86_64 don't seem to have any special requirements
> -ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
> +ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64)$(BR2_aarch64),y)

For the JIT enabling, I think it would be better, for this patch and
the next PATCH 4/5 to do the following things:

 - A first patch that introduces BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT

config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT
	bool
	default y if BR2_ARM_CPU_HAS_NEON
	default y if BR2_i386
	default y if BR2_x86_64

   and change webkitgtk.mk to use
   BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT to decide whether JIT should
   be enabled or not.

 - A second patch that adds AArch64 support, and adds a "default y if
   BR2_aarch64" to BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT

 - A third patch that enables JIT support on MIPS, extending again the
   BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT option.

Could you rework PATCH 3/5 and 4/5 accordingly ?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option
  2018-09-22 23:53 ` [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option Adrian Perez de Castro
@ 2018-09-25 20:57   ` Thomas Petazzoni
  2018-09-27 12:40     ` Adrian Perez de Castro
  0 siblings, 1 reply; 22+ messages in thread
From: Thomas Petazzoni @ 2018-09-25 20:57 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 23 Sep 2018 02:53:33 +0300, Adrian Perez de Castro wrote:
> Make the USE_GSTREAMER_GL CMake build option depend on
> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL being enabled. This
> allows building WebKitGTK+ for targets where GL/GLES is
> available but either GStreamer-GL is disabled or cannot be
> built.

What is GStreamer-GL ? How is it possible to have GStreamer-GL
disabled, but BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL enabled ?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-25 20:52   ` Thomas Petazzoni
@ 2018-09-27  9:41     ` Adrian Perez de Castro
  2018-09-27 11:37       ` Peter Korsgaard
  0 siblings, 1 reply; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-27  9:41 UTC (permalink / raw)
  To: buildroot

On Tue, 25 Sep 2018 22:52:55 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello,
> 
> On Sun, 23 Sep 2018 02:53:30 +0300, Adrian Perez de Castro wrote:
> > The woff2 dependency is used to support Web fonts in WOFF2 format.
> > This is a Web-facing feature that Web sites expect WebKit to support,
> > and it is recommended to be unconditionally enabled. While it is
> > possible to disable the feature at build time, upstream only recommends
> > doing so if the target system cannot provide a woff2 package.
> > 
> > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> > ---
> >  package/webkitgtk/Config.in    | 1 +
> >  package/webkitgtk/webkitgtk.mk | 3 ++-
> >  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> In general, we are not really happy with optional dependencies turned
> into mandatory dependencies. For example, the EFL package makes a lot
> of dependencies optional, even if upstream strongly recommends to have
> such dependencies enabled (to the point where efl.mk needs to pass
> --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb).

Wow, that's a loooong command line option :)

> However, since woff2 has very few dependencies, and
> woff2+brotli+host-pkgconf build in 19 seconds, it's nothing compared to
> webkitgtk, so I applied your patch.

I will make a follow-up patch to make WOFF2 optional. I think it should be
fine to enable it by default if BR2_PACKAGE_WOFF2 is enabled, and add a line
in the help description telling that it is recommended to enable it.

Cheers,

-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180927/33ac7ff1/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64
  2018-09-25 20:56   ` Thomas Petazzoni
@ 2018-09-27  9:44     ` Adrian Perez de Castro
  0 siblings, 0 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-27  9:44 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Tue, 25 Sep 2018 22:56:15 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello Adrian,
> 
> On Sun, 23 Sep 2018 02:53:31 +0300, Adrian Perez de Castro wrote:
> > 64-bit ARM is well supported, particularly in little-endian
> > configurations, where JIT can be enabled as well.
> > 
> > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> > ---
> >  package/webkitgtk/Config.in    | 1 +
> >  package/webkitgtk/webkitgtk.mk | 5 +++--
> >  2 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/package/webkitgtk/Config.in b/package/webkitgtk/Config.in
> > index 96a7ab0c94..ac6f57e2ad 100644
> > --- a/package/webkitgtk/Config.in
> > +++ b/package/webkitgtk/Config.in
> > @@ -2,6 +2,7 @@ config BR2_PACKAGE_WEBKITGTK_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
> > diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkitgtk/webkitgtk.mk
> > index f28417ac73..f0293fc225 100644
> > --- a/package/webkitgtk/webkitgtk.mk
> > +++ b/package/webkitgtk/webkitgtk.mk
> > @@ -27,9 +27,10 @@ WEBKITGTK_CONF_OPTS = \
> >  	-DUSE_LIBNOTIFY=OFF \
> >  	-DUSE_LIBHYPHEN=OFF
> >  
> > -# ARM needs NEON for JIT
> > +# 32-bit ARM needs NEON for JIT, AArch64 is supported but not well tested
> > +# on big endian hence the missing $(BR2_aarch64_be).
> >  # i386 & x86_64 don't seem to have any special requirements
> > -ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64),y)
> > +ifeq ($(BR2_ARM_CPU_HAS_NEON)$(BR2_i386)$(BR2_x86_64)$(BR2_aarch64),y)
> 
> For the JIT enabling, I think it would be better, for this patch and
> the next PATCH 4/5 to do the following things:
> 
>  - A first patch that introduces BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT
> 
> config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT
> 	bool
> 	default y if BR2_ARM_CPU_HAS_NEON
> 	default y if BR2_i386
> 	default y if BR2_x86_64
> 
>    and change webkitgtk.mk to use
>    BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT to decide whether JIT should
>    be enabled or not.
> 
>  - A second patch that adds AArch64 support, and adds a "default y if
>    BR2_aarch64" to BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT
> 
>  - A third patch that enables JIT support on MIPS, extending again the
>    BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT option.
> 
> Could you rework PATCH 3/5 and 4/5 accordingly ?

Doing something like that crossed my mind, but I opted for keeping the diff
as small as possible. I do agree that having this logic in the Kconfig file
is nicer, so I will find some time in the next days to rework it.

Regards,


-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180927/a4606a14/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-27  9:41     ` Adrian Perez de Castro
@ 2018-09-27 11:37       ` Peter Korsgaard
  2018-09-27 12:44         ` Adrian Perez de Castro
  2018-10-09 22:17         ` Adrian Perez de Castro
  0 siblings, 2 replies; 22+ messages in thread
From: Peter Korsgaard @ 2018-09-27 11:37 UTC (permalink / raw)
  To: buildroot

>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

Hi,

 >> However, since woff2 has very few dependencies, and
 >> woff2+brotli+host-pkgconf build in 19 seconds, it's nothing compared to
 >> webkitgtk, so I applied your patch.

 > I will make a follow-up patch to make WOFF2 optional. I think it should be
 > fine to enable it by default if BR2_PACKAGE_WOFF2 is enabled, and add a line
 > in the help description telling that it is recommended to enable it.

Correct. Now that we have updated kconfig we could even consider using
the imply keyword to enable woff2 by default if it is really an option
that most people should enable:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=237e3ad0f195d8fd34f1299e45f04793832a16fc

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option
  2018-09-25 20:57   ` Thomas Petazzoni
@ 2018-09-27 12:40     ` Adrian Perez de Castro
  2018-10-02 21:28       ` Arnout Vandecappelle
  0 siblings, 1 reply; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-27 12:40 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Tue, 25 Sep 2018 22:57:02 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> Hello,
> 
> On Sun, 23 Sep 2018 02:53:33 +0300, Adrian Perez de Castro wrote:
> > Make the USE_GSTREAMER_GL CMake build option depend on
> > BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL being enabled. This
> > allows building WebKitGTK+ for targets where GL/GLES is
> > available but either GStreamer-GL is disabled or cannot be
> > built.
> 
> What is GStreamer-GL? How is it possible to have GStreamer-GL
> disabled, but BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL enabled?

GStreamer-GL contains components which can be plugged into GStreamer media
pipelines. For example, one of the elements provided will render video to
GL/GLES textures; and WebKitGTK+ can optionally use them to composite the
textures with video frames coming from GStreamer directly using the GPU
There are also fall-back code paths in WebKit which do not require the
GStreamer-GL components ? and that's why is possible to build WebKitGTK+
anyway even if they are not available.

This tries to cover cases in which GL/GLES is available, but GStreamer-GL
is not available. While it's rare, this can happen in cases where a GL/GLES
driver does not support window surfaces: this is needed by GStreamer-GL,
but WebKit can be coerced into painting offscreen or using FBOs.

I hope this has not gone too much into details, and helps to understand
why GStreamer-GL is not selected unconditionally by WebKitGTK+.

Cheers,


-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180927/66ce1db0/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-27 11:37       ` Peter Korsgaard
@ 2018-09-27 12:44         ` Adrian Perez de Castro
  2018-10-09 22:17         ` Adrian Perez de Castro
  1 sibling, 0 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-09-27 12:44 UTC (permalink / raw)
  To: buildroot

Hello Peter,

On Thu, 27 Sep 2018 13:37:48 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
> 
> Hi,
> 
>  >> However, since woff2 has very few dependencies, and
>  >> woff2+brotli+host-pkgconf build in 19 seconds, it's nothing compared to
>  >> webkitgtk, so I applied your patch.
> 
>  > I will make a follow-up patch to make WOFF2 optional. I think it should be
>  > fine to enable it by default if BR2_PACKAGE_WOFF2 is enabled, and add a line
>  > in the help description telling that it is recommended to enable it.
> 
> Correct. Now that we have updated kconfig we could even consider using
> the imply keyword to enable woff2 by default if it is really an option
> that most people should enable:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=237e3ad0f195d8fd34f1299e45f04793832a16fc

This is just perfect. Thanks for pointing this out :-)

Cheers,


-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180927/0110fa8b/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option
  2018-09-27 12:40     ` Adrian Perez de Castro
@ 2018-10-02 21:28       ` Arnout Vandecappelle
  2018-10-09 21:12         ` Adrian Perez de Castro
  0 siblings, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2018-10-02 21:28 UTC (permalink / raw)
  To: buildroot



On 27/09/2018 14:40, Adrian Perez de Castro wrote:
> Hi Thomas,
> 
> On Tue, 25 Sep 2018 22:57:02 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
>> Hello,
>>
>> On Sun, 23 Sep 2018 02:53:33 +0300, Adrian Perez de Castro wrote:
>>> Make the USE_GSTREAMER_GL CMake build option depend on
>>> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL being enabled. This
>>> allows building WebKitGTK+ for targets where GL/GLES is
>>> available but either GStreamer-GL is disabled or cannot be
>>> built.
>>
>> What is GStreamer-GL? How is it possible to have GStreamer-GL
>> disabled, but BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL enabled?
> 
> GStreamer-GL contains components which can be plugged into GStreamer media
> pipelines. For example, one of the elements provided will render video to
> GL/GLES textures; and WebKitGTK+ can optionally use them to composite the
> textures with video frames coming from GStreamer directly using the GPU
> There are also fall-back code paths in WebKit which do not require the
> GStreamer-GL components ? and that's why is possible to build WebKitGTK+
> anyway even if they are not available.
> 
> This tries to cover cases in which GL/GLES is available, but GStreamer-GL
> is not available. While it's rare, this can happen in cases where a GL/GLES
> driver does not support window surfaces: this is needed by GStreamer-GL,
> but WebKit can be coerced into painting offscreen or using FBOs.

 Don't you simply mean: this covers the case where GL/GLES is available (so
-DENABLE_OPENGL=ON gets passed), which makes the webkitgtk build system assume
Gstreamer-GL is available, while actually it is not?

 Don't you actually need to add gst1-plugins-bad to the _DEPENDENCIES then?

 Do you have some autobuild failure or a minimal defconfig that shows the problem?

 Just to be sure: does it really need to depend on
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL and not just
BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL?


 Regards,
 Arnout


> 
> I hope this has not gone too much into details, and helps to understand
> why GStreamer-GL is not selected unconditionally by WebKitGTK+.
> 
> Cheers,
> 
> 
> -Adri?n
> 
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2
  2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
  2018-09-25 20:47   ` Thomas Petazzoni
@ 2018-10-05 17:34   ` Peter Korsgaard
  1 sibling, 0 replies; 22+ messages in thread
From: Peter Korsgaard @ 2018-10-05 17:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

 > Release notes:
 >     https://webkitgtk.org/2018/09/03/webkitgtk2.22.0-released.html
 >     https://webkitgtk.org/2018/09/20/webkitgtk2.22.1-released.html
 >     https://webkitgtk.org/2018/09/21/webkitgtk2.22.2-released.html

 > No corresponding security advisories for 2.22.x have been published.
 > Nevertheless, due to skipping over versions in the 2.20.x series,
 > the following 2.20.x advisories apply:

 >     https://webkitgtk.org/security/WSA-2018-0003.html
 >     https://webkitgtk.org/security/WSA-2018-0004.html
 >     https://webkitgtk.org/security/WSA-2018-0005.html
 >     https://webkitgtk.org/security/WSA-2018-0006.html

 > This also bumps the required GCC version, due to the WebKit code
 > now using more modern C++ features which were introduced in version
 > 6.x of the compiler. The dependency is propagated to the midori
 > package as well. Last but not least, BR2_PACKAGE_WEBP_DEMUX and
 > BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX are selected as
 > they are unconditionally needed by the newer WebKitGTK+ releases
 > when multimedia support is enabled.

 > An upstream patch for 32-bit ARM which did not make it to be included
 > in this new version is included as well, and can be removed once it
 > gets picked in a new release.

 > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Committed to 2018.02.x, 2018.05.x and 2018.08.x, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-22 23:53 ` [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package Adrian Perez de Castro
  2018-09-25 20:52   ` Thomas Petazzoni
@ 2018-10-05 17:34   ` Peter Korsgaard
  1 sibling, 0 replies; 22+ messages in thread
From: Peter Korsgaard @ 2018-10-05 17:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

 > The woff2 dependency is used to support Web fonts in WOFF2 format.
 > This is a Web-facing feature that Web sites expect WebKit to support,
 > and it is recommended to be unconditionally enabled. While it is
 > possible to disable the feature at build time, upstream only recommends
 > doing so if the target system cannot provide a woff2 package.

 > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>

Committed to 2018.02.x, 2018.05.x and 2018.08.x, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option
  2018-10-02 21:28       ` Arnout Vandecappelle
@ 2018-10-09 21:12         ` Adrian Perez de Castro
  0 siblings, 0 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-10-09 21:12 UTC (permalink / raw)
  To: buildroot

Hello Arnout,

On Tue, 2 Oct 2018 23:28:08 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:
> 
> 
> On 27/09/2018 14:40, Adrian Perez de Castro wrote:
> > Hi Thomas,
> > 
> > On Tue, 25 Sep 2018 22:57:02 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:
> >> Hello,
> >>
> >> On Sun, 23 Sep 2018 02:53:33 +0300, Adrian Perez de Castro wrote:
> >>> Make the USE_GSTREAMER_GL CMake build option depend on
> >>> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL being enabled. This
> >>> allows building WebKitGTK+ for targets where GL/GLES is
> >>> available but either GStreamer-GL is disabled or cannot be
> >>> built.
> >>
> >> What is GStreamer-GL? How is it possible to have GStreamer-GL
> >> disabled, but BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL enabled?
> > 
> > GStreamer-GL contains components which can be plugged into GStreamer media
> > pipelines. For example, one of the elements provided will render video to
> > GL/GLES textures; and WebKitGTK+ can optionally use them to composite the
> > textures with video frames coming from GStreamer directly using the GPU
> > There are also fall-back code paths in WebKit which do not require the
> > GStreamer-GL components ? and that's why is possible to build WebKitGTK+
> > anyway even if they are not available.
> > 
> > This tries to cover cases in which GL/GLES is available, but GStreamer-GL
> > is not available. While it's rare, this can happen in cases where a GL/GLES
> > driver does not support window surfaces: this is needed by GStreamer-GL,
> > but WebKit can be coerced into painting offscreen or using FBOs.
> 
>  Don't you simply mean: this covers the case where GL/GLES is available (so
> -DENABLE_OPENGL=ON gets passed), which makes the webkitgtk build system assume
> Gstreamer-GL is available, while actually it is not?

Yes, thanks for rewording my overly-technical explanation into something that
better fits a commit log message and/or a comment in the build recipe :)

>  Don't you actually need to add gst1-plugins-bad to the _DEPENDENCIES then?

Good catch, indeed.

>  Do you have some autobuild failure or a minimal defconfig that shows the problem?

There were some autobuild failures a while ago, for example this one:

  http://autobuild.buildroot.net/results/187796535af53ece426641ff7d88aabada281674

>  Just to be sure: does it really need to depend on
> BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL and not just
> BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL?

Yes, I have double checked and ?BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_GL? is
needed, otherwise the build fails.
 
I will be sending a new patch set soon addressing all the comments and
suggestions from this review ? thanks for all the feedback!


-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181009/81b4f71b/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-09-27 11:37       ` Peter Korsgaard
  2018-09-27 12:44         ` Adrian Perez de Castro
@ 2018-10-09 22:17         ` Adrian Perez de Castro
  2018-10-11 18:19           ` Peter Korsgaard
  1 sibling, 1 reply; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-10-09 22:17 UTC (permalink / raw)
  To: buildroot

Hello Peter (and all the mailing list members),

On Thu, 27 Sep 2018 13:37:48 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
> 
> Hi,
> 
>  >> However, since woff2 has very few dependencies, and
>  >> woff2+brotli+host-pkgconf build in 19 seconds, it's nothing compared to
>  >> webkitgtk, so I applied your patch.
> 
>  > I will make a follow-up patch to make WOFF2 optional. I think it should be
>  > fine to enable it by default if BR2_PACKAGE_WOFF2 is enabled, and add a line
>  > in the help description telling that it is recommended to enable it.
> 
> Correct. Now that we have updated kconfig we could even consider using
> the imply keyword to enable woff2 by default if it is really an option
> that most people should enable:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=237e3ad0f195d8fd34f1299e45f04793832a16fc

There's a small doubt I have here... How exactly would we prefer to have this?
I can think of two options. One would be the following, and would allow to
disable WOFF2 support in WebKitGTK+ even if the woff2 package is built:

  config BR2_PACKAGE_WEBKITGTK
      # ...
	  imply BR2_PACKAGE_WEBKITGTK_WOFF2

  config BR2_PACKAGE_WEBKITGTK_WOFF2
      bool "woff2 support"
	  depends on BR2_PACKAGE_WOFF2
	  imply BR2_PACKAGE_WOFF2

The other, simpler option, always enables WOFF2 support in WebKitGTK+ if the
woff2 package can be built:

  config BR2_PACKAGE_WEBKITGTK
      # ...
	  imply BR2_PACKAGE_WOFF2

With this second option, the only way of disabling WOFF2 support in WebKitGTK+
is *also* disabling the woff2 package completely. While this is not a problem
in this case right now (I think WebKitGTK+ is the only user of the woff2
package, after all), I would like to apply a similar treatment to some of the
build options.

Any preference/suggestion/comments? Thanks in advance,

-Adri?n

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181010/15a0a0cf/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-10-09 22:17         ` Adrian Perez de Castro
@ 2018-10-11 18:19           ` Peter Korsgaard
  2018-10-19 18:29             ` Adrian Perez de Castro
  0 siblings, 1 reply; 22+ messages in thread
From: Peter Korsgaard @ 2018-10-11 18:19 UTC (permalink / raw)
  To: buildroot

>>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:

Hi,

 >> Correct. Now that we have updated kconfig we could even consider using
 >> the imply keyword to enable woff2 by default if it is really an option
 >> that most people should enable:
 >> 
 >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=237e3ad0f195d8fd34f1299e45f04793832a16fc

 > There's a small doubt I have here... How exactly would we prefer to have this?
 > I can think of two options. One would be the following, and would allow to
 > disable WOFF2 support in WebKitGTK+ even if the woff2 package is built:

 >   config BR2_PACKAGE_WEBKITGTK
 >       # ...
 > 	  imply BR2_PACKAGE_WEBKITGTK_WOFF2

 >   config BR2_PACKAGE_WEBKITGTK_WOFF2
 >       bool "woff2 support"
 > 	  depends on BR2_PACKAGE_WOFF2
 > 	  imply BR2_PACKAGE_WOFF2

 > The other, simpler option, always enables WOFF2 support in WebKitGTK+ if the
 > woff2 package can be built:

 >   config BR2_PACKAGE_WEBKITGTK
 >       # ...
 > 	  imply BR2_PACKAGE_WOFF2

I would go for the 2nd option. I cannot think of any sensible use cases
where we would want woff2 enabled but not use it in webkitgtk, and this
matches what we do elsewhere for E.G. openssl.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package
  2018-10-11 18:19           ` Peter Korsgaard
@ 2018-10-19 18:29             ` Adrian Perez de Castro
  0 siblings, 0 replies; 22+ messages in thread
From: Adrian Perez de Castro @ 2018-10-19 18:29 UTC (permalink / raw)
  To: buildroot

On Thu, 11 Oct 2018 20:19:28 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>> "Adrian" == Adrian Perez de Castro <aperez@igalia.com> writes:
> 
> Hi,
> 
>  >> Correct. Now that we have updated kconfig we could even consider using
>  >> the imply keyword to enable woff2 by default if it is really an option
>  >> that most people should enable:
>  >> 
>  >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=237e3ad0f195d8fd34f1299e45f04793832a16fc
> 
>  > There's a small doubt I have here... How exactly would we prefer to have this?
>  > I can think of two options. One would be the following, and would allow to
>  > disable WOFF2 support in WebKitGTK+ even if the woff2 package is built:
> 
>  >   config BR2_PACKAGE_WEBKITGTK
>  >       # ...
>  > 	  imply BR2_PACKAGE_WEBKITGTK_WOFF2
> 
>  >   config BR2_PACKAGE_WEBKITGTK_WOFF2
>  >       bool "woff2 support"
>  > 	  depends on BR2_PACKAGE_WOFF2
>  > 	  imply BR2_PACKAGE_WOFF2
> 
>  > The other, simpler option, always enables WOFF2 support in WebKitGTK+ if the
>  > woff2 package can be built:
> 
>  >   config BR2_PACKAGE_WEBKITGTK
>  >       # ...
>  > 	  imply BR2_PACKAGE_WOFF2
> 
> I would go for the 2nd option. I cannot think of any sensible use cases
> where we would want woff2 enabled but not use it in webkitgtk, and this
> matches what we do elsewhere for E.G. openssl.

For now I won't be sending a patch to do this because it's not clear whether
everybody is okay using ?imply? in Buildroot.

Cheers,


-Adri?n
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20181019/4f6f0e3e/attachment.asc>

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-10-19 18:29 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-22 23:53 [Buildroot] [PATCH 0/5] webkitgtk: update to the latest stable and add a number of fixes Adrian Perez de Castro
2018-09-22 23:53 ` [Buildroot] [PATCH 1/5] webkitgtk: bump to version 2.22.2 Adrian Perez de Castro
2018-09-25 20:47   ` Thomas Petazzoni
2018-10-05 17:34   ` Peter Korsgaard
2018-09-22 23:53 ` [Buildroot] [PATCH 2/5] webkitgtk: add dependency on the woff2 package Adrian Perez de Castro
2018-09-25 20:52   ` Thomas Petazzoni
2018-09-27  9:41     ` Adrian Perez de Castro
2018-09-27 11:37       ` Peter Korsgaard
2018-09-27 12:44         ` Adrian Perez de Castro
2018-10-09 22:17         ` Adrian Perez de Castro
2018-10-11 18:19           ` Peter Korsgaard
2018-10-19 18:29             ` Adrian Perez de Castro
2018-10-05 17:34   ` Peter Korsgaard
2018-09-22 23:53 ` [Buildroot] [PATCH 3/5] webkitgtk: enable package for aarch64 Adrian Perez de Castro
2018-09-25 20:56   ` Thomas Petazzoni
2018-09-27  9:44     ` Adrian Perez de Castro
2018-09-22 23:53 ` [Buildroot] [PATCH 4/5] webkitgtk: enable JIT support on 32-bit MIPS Adrian Perez de Castro
2018-09-22 23:53 ` [Buildroot] [PATCH 5/5] webkitgtk: explicitly set USE_GSTREAMER_GL build option Adrian Perez de Castro
2018-09-25 20:57   ` Thomas Petazzoni
2018-09-27 12:40     ` Adrian Perez de Castro
2018-10-02 21:28       ` Arnout Vandecappelle
2018-10-09 21:12         ` Adrian Perez de Castro

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.