All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages
@ 2019-02-18 17:17 Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components Adrian Perez de Castro
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-18 17:17 UTC (permalink / raw)
  To: buildroot

Hello!

Both the GTK and WPE WebKit ports share many dependencies (usage of GLib,
libsoup, GStreamer, Cairo, etc.), their supported platforms, and both
receive releases from the same stable branch following the same schedule:
major releases twice a year, around the release dates for GNOME.

Because of the above, it is possible to factor out commonalities from
the packaging for both the GTK and WPE WebKit ports. This patch set tries
to explore a possible way of doing it by moving both packages (plus libwpe
and wpebackend-fdo, which are specific to the WPE port) into a new
package/webkit/ subdirectory, where common parts live in a webkit.mk
and a Config.in file.

I would really like to make it easier to maintain both the webkitgtk
and wpewebkit packages by factoring out the commonalities, so I am looking
forward to read you feedback on this patch set :-)

Regards,


Adrian Perez de Castro (4):
  package/webkit: new home for GTK and WPE WebKit components
  package/webkit: unify *_ARCH_SUPPORTS{,_JIT}
  package/webkit: factor out common bits of .mk files
  package/webkit: factor out check for woff2

 package/Config.in                             |  9 ++---
 package/midori/Config.in                      |  4 +--
 package/webkit/Config.in                      | 29 +++++++++++++++
 package/{ => webkit}/libwpe/Config.in         |  0
 package/{ => webkit}/libwpe/libwpe.hash       |  0
 package/{ => webkit}/libwpe/libwpe.mk         |  0
 package/webkit/webkit.mk                      | 28 +++++++++++++++
 package/{ => webkit}/webkitgtk/Config.in      | 34 ++----------------
 package/{ => webkit}/webkitgtk/webkitgtk.hash |  0
 package/{ => webkit}/webkitgtk/webkitgtk.mk   | 18 +++-------
 package/{ => webkit}/wpebackend-fdo/Config.in |  0
 .../wpebackend-fdo/wpebackend-fdo.hash        |  0
 .../wpebackend-fdo/wpebackend-fdo.mk          |  0
 package/{ => webkit}/wpewebkit/Config.in      | 36 ++-----------------
 package/{ => webkit}/wpewebkit/wpewebkit.hash |  0
 package/{ => webkit}/wpewebkit/wpewebkit.mk   | 21 ++---------
 16 files changed, 76 insertions(+), 103 deletions(-)
 create mode 100644 package/webkit/Config.in
 rename package/{ => webkit}/libwpe/Config.in (100%)
 rename package/{ => webkit}/libwpe/libwpe.hash (100%)
 rename package/{ => webkit}/libwpe/libwpe.mk (100%)
 create mode 100644 package/webkit/webkit.mk
 rename package/{ => webkit}/webkitgtk/Config.in (71%)
 rename package/{ => webkit}/webkitgtk/webkitgtk.hash (100%)
 rename package/{ => webkit}/webkitgtk/webkitgtk.mk (85%)
 rename package/{ => webkit}/wpebackend-fdo/Config.in (100%)
 rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash (100%)
 rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk (100%)
 rename package/{ => webkit}/wpewebkit/Config.in (71%)
 rename package/{ => webkit}/wpewebkit/wpewebkit.hash (100%)
 rename package/{ => webkit}/wpewebkit/wpewebkit.mk (70%)

-- 
2.20.1

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

* [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components
  2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
@ 2019-02-18 17:17 ` Adrian Perez de Castro
  2019-02-22 10:40   ` François Perrad
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 2/4] package/webkit: unify *_ARCH_SUPPORTS{, _JIT} Adrian Perez de Castro
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-18 17:17 UTC (permalink / raw)
  To: buildroot

Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
subbdirectory as the first step to unify some of their configuration.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/Config.in                                       | 8 ++++----
 package/{ => webkit}/libwpe/Config.in                   | 0
 package/{ => webkit}/libwpe/libwpe.hash                 | 0
 package/{ => webkit}/libwpe/libwpe.mk                   | 0
 package/webkit/webkit.mk                                | 7 +++++++
 package/{ => webkit}/webkitgtk/Config.in                | 0
 package/{ => webkit}/webkitgtk/webkitgtk.hash           | 0
 package/{ => webkit}/webkitgtk/webkitgtk.mk             | 0
 package/{ => webkit}/wpebackend-fdo/Config.in           | 0
 package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash | 0
 package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk   | 0
 package/{ => webkit}/wpewebkit/Config.in                | 0
 package/{ => webkit}/wpewebkit/wpewebkit.hash           | 0
 package/{ => webkit}/wpewebkit/wpewebkit.mk             | 0
 14 files changed, 11 insertions(+), 4 deletions(-)
 rename package/{ => webkit}/libwpe/Config.in (100%)
 rename package/{ => webkit}/libwpe/libwpe.hash (100%)
 rename package/{ => webkit}/libwpe/libwpe.mk (100%)
 create mode 100644 package/webkit/webkit.mk
 rename package/{ => webkit}/webkitgtk/Config.in (100%)
 rename package/{ => webkit}/webkitgtk/webkitgtk.hash (100%)
 rename package/{ => webkit}/webkitgtk/webkitgtk.mk (100%)
 rename package/{ => webkit}/wpebackend-fdo/Config.in (100%)
 rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash (100%)
 rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk (100%)
 rename package/{ => webkit}/wpewebkit/Config.in (100%)
 rename package/{ => webkit}/wpewebkit/wpewebkit.hash (100%)
 rename package/{ => webkit}/wpewebkit/wpewebkit.mk (100%)

diff --git a/package/Config.in b/package/Config.in
index 420e6e95a3..65faf1fcd6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1304,7 +1304,6 @@ menu "Graphics"
 	source "package/libva-intel-driver/Config.in"
 	source "package/libvdpau/Config.in"
 	source "package/libvips/Config.in"
-	source "package/libwpe/Config.in"
 	source "package/menu-cache/Config.in"
 	source "package/opencv/Config.in"
 	source "package/opencv3/Config.in"
@@ -1320,11 +1319,12 @@ menu "Graphics"
 	source "package/wayland/Config.in"
 	source "package/wayland-protocols/Config.in"
 	source "package/waylandpp/Config.in"
-	source "package/webkitgtk/Config.in"
+	source "package/webkit/webkitgtk/Config.in"
+	source "package/webkit/libwpe/Config.in"
+	source "package/webkit/wpebackend-fdo/Config.in"
+	source "package/webkit/wpewebkit/Config.in"
 	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
diff --git a/package/libwpe/Config.in b/package/webkit/libwpe/Config.in
similarity index 100%
rename from package/libwpe/Config.in
rename to package/webkit/libwpe/Config.in
diff --git a/package/libwpe/libwpe.hash b/package/webkit/libwpe/libwpe.hash
similarity index 100%
rename from package/libwpe/libwpe.hash
rename to package/webkit/libwpe/libwpe.hash
diff --git a/package/libwpe/libwpe.mk b/package/webkit/libwpe/libwpe.mk
similarity index 100%
rename from package/libwpe/libwpe.mk
rename to package/webkit/libwpe/libwpe.mk
diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
new file mode 100644
index 0000000000..47e94d72f6
--- /dev/null
+++ b/package/webkit/webkit.mk
@@ -0,0 +1,7 @@
+################################################################################
+#
+# Common definitions for the GTK and WPE WebKit ports.
+#
+################################################################################
+
+include $(sort $(wildcard package/webkit/*/*.mk))
diff --git a/package/webkitgtk/Config.in b/package/webkit/webkitgtk/Config.in
similarity index 100%
rename from package/webkitgtk/Config.in
rename to package/webkit/webkitgtk/Config.in
diff --git a/package/webkitgtk/webkitgtk.hash b/package/webkit/webkitgtk/webkitgtk.hash
similarity index 100%
rename from package/webkitgtk/webkitgtk.hash
rename to package/webkit/webkitgtk/webkitgtk.hash
diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/webkitgtk.mk
similarity index 100%
rename from package/webkitgtk/webkitgtk.mk
rename to package/webkit/webkitgtk/webkitgtk.mk
diff --git a/package/wpebackend-fdo/Config.in b/package/webkit/wpebackend-fdo/Config.in
similarity index 100%
rename from package/wpebackend-fdo/Config.in
rename to package/webkit/wpebackend-fdo/Config.in
diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash b/package/webkit/wpebackend-fdo/wpebackend-fdo.hash
similarity index 100%
rename from package/wpebackend-fdo/wpebackend-fdo.hash
rename to package/webkit/wpebackend-fdo/wpebackend-fdo.hash
diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk b/package/webkit/wpebackend-fdo/wpebackend-fdo.mk
similarity index 100%
rename from package/wpebackend-fdo/wpebackend-fdo.mk
rename to package/webkit/wpebackend-fdo/wpebackend-fdo.mk
diff --git a/package/wpewebkit/Config.in b/package/webkit/wpewebkit/Config.in
similarity index 100%
rename from package/wpewebkit/Config.in
rename to package/webkit/wpewebkit/Config.in
diff --git a/package/wpewebkit/wpewebkit.hash b/package/webkit/wpewebkit/wpewebkit.hash
similarity index 100%
rename from package/wpewebkit/wpewebkit.hash
rename to package/webkit/wpewebkit/wpewebkit.hash
diff --git a/package/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/wpewebkit.mk
similarity index 100%
rename from package/wpewebkit/wpewebkit.mk
rename to package/webkit/wpewebkit/wpewebkit.mk
-- 
2.20.1

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

* [Buildroot] [PATCH RFC/next 2/4] package/webkit: unify *_ARCH_SUPPORTS{, _JIT}
  2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components Adrian Perez de Castro
@ 2019-02-18 17:17 ` Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 3/4] package/webkit: factor out common bits of .mk files Adrian Perez de Castro
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-18 17:17 UTC (permalink / raw)
  To: buildroot

Instead of having BR2_PACKAGE_{WPEWEBKIT,WEBKITGTK}_ARCH_SUPPORTS
and BR2_PACKAGE_{WPEWEBKIT,WEBKITGTK}_ARCH_SUPPORTS_JIT, which have
the same conditions for both WebKit packages, unify them into common
configuration variables BR2_WEBKIT_ARCH_SUPPORTS{,_JIT} which get
used by both. Also, propagate the needed changes to the .mk files.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/Config.in                     |  1 +
 package/midori/Config.in              |  4 +--
 package/webkit/Config.in              | 29 +++++++++++++++++++++
 package/webkit/webkitgtk/Config.in    | 34 ++-----------------------
 package/webkit/webkitgtk/webkitgtk.mk |  2 +-
 package/webkit/wpewebkit/Config.in    | 36 +++------------------------
 package/webkit/wpewebkit/wpewebkit.mk |  2 +-
 7 files changed, 39 insertions(+), 69 deletions(-)
 create mode 100644 package/webkit/Config.in

diff --git a/package/Config.in b/package/Config.in
index 65faf1fcd6..6801637f33 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1320,6 +1320,7 @@ menu "Graphics"
 	source "package/wayland-protocols/Config.in"
 	source "package/waylandpp/Config.in"
 	source "package/webkit/webkitgtk/Config.in"
+	source "package/webkit/Config.in"
 	source "package/webkit/libwpe/Config.in"
 	source "package/webkit/wpebackend-fdo/Config.in"
 	source "package/webkit/wpewebkit/Config.in"
diff --git a/package/midori/Config.in b/package/midori/Config.in
index f0767c85f9..2bd82b448a 100644
--- a/package/midori/Config.in
+++ b/package/midori/Config.in
@@ -1,5 +1,5 @@
 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_WEBKIT_ARCH_SUPPORTS
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 || \
 		!BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_6 || \
 		!BR2_TOOLCHAIN_USES_GLIBC
@@ -12,7 +12,7 @@ config BR2_PACKAGE_MIDORI
 	depends on BR2_HOST_GCC_AT_LEAST_4_8 # webkitgtk -> icu
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_6 # webkitgtk
 	depends on BR2_TOOLCHAIN_USES_GLIBC # webkitgtk
-	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
+	depends on BR2_WEBKIT_ARCH_SUPPORTS
 	# GCR can only be used with the X11 backend
 	select BR2_PACKAGE_GCR if BR2_PACKAGE_LIBGTK3_X11
 	select BR2_PACKAGE_GRANITE
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
new file mode 100644
index 0000000000..5e4660d59a
--- /dev/null
+++ b/package/webkit/Config.in
@@ -0,0 +1,29 @@
+config BR2_WEBKIT_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_WEBKIT_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
diff --git a/package/webkit/webkitgtk/Config.in b/package/webkit/webkitgtk/Config.in
index 8714677b6a..09c6848723 100644
--- a/package/webkit/webkitgtk/Config.in
+++ b/package/webkit/webkitgtk/Config.in
@@ -1,35 +1,5 @@
-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
-	# 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_WEBKITGTK_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 "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_WEBKIT_ARCH_SUPPORTS
 	depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
 		!BR2_TOOLCHAIN_USES_GLIBC || \
 		!BR2_HOST_GCC_AT_LEAST_4_8 || \
@@ -43,7 +13,7 @@ config BR2_PACKAGE_WEBKITGTK
 	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
+	depends on BR2_WEBKIT_ARCH_SUPPORTS
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PNG
 	select BR2_PACKAGE_ENCHANT
diff --git a/package/webkit/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/webkitgtk.mk
index c17bbc8028..1834108bcc 100644
--- a/package/webkit/webkitgtk/webkitgtk.mk
+++ b/package/webkit/webkitgtk/webkitgtk.mk
@@ -27,7 +27,7 @@ WEBKITGTK_CONF_OPTS = \
 	-DUSE_LIBHYPHEN=OFF \
 	-DUSE_WOFF2=ON
 
-ifeq ($(BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS_JIT),y)
+ifeq ($(BR2_WEBKIT_ARCH_SUPPORTS_JIT),y)
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
 else
 WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
diff --git a/package/webkit/wpewebkit/Config.in b/package/webkit/wpewebkit/Config.in
index 64e81a95f9..dbcab39ebe 100644
--- a/package/webkit/wpewebkit/Config.in
+++ b/package/webkit/wpewebkit/Config.in
@@ -1,42 +1,12 @@
-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_WEBKIT_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_WEBKIT_ARCH_SUPPORTS
 	depends on !BR2_BINFMT_FLAT
 	depends on !BR2_PACKAGE_HAS_LIBGLES || !BR2_PACKAGE_HAS_LIBEGL
 
@@ -51,7 +21,7 @@ config BR2_PACKAGE_WPEWEBKIT
 	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
+	depends on BR2_WEBKIT_ARCH_SUPPORTS
 	select BR2_PACKAGE_CAIRO
 	select BR2_PACKAGE_CAIRO_PNG
 	select BR2_PACKAGE_HARFBUZZ
diff --git a/package/webkit/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/wpewebkit.mk
index 89df9b725c..3877dcfbb0 100644
--- a/package/webkit/wpewebkit/wpewebkit.mk
+++ b/package/webkit/wpewebkit/wpewebkit.mk
@@ -21,7 +21,7 @@ WPEWEBKIT_CONF_OPTS = \
 	-DENABLE_API_TESTS=OFF \
 	-DENABLE_MINIBROWSER=OFF
 
-ifeq ($(BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS_JIT),y)
+ifeq ($(BR2_WEBKIT_ARCH_SUPPORTS_JIT),y)
 WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=ON
 else
 WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF
-- 
2.20.1

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

* [Buildroot] [PATCH RFC/next 3/4] package/webkit: factor out common bits of .mk files
  2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 2/4] package/webkit: unify *_ARCH_SUPPORTS{, _JIT} Adrian Perez de Castro
@ 2019-02-18 17:17 ` Adrian Perez de Castro
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 4/4] package/webkit: factor out check for woff2 Adrian Perez de Castro
  2019-04-13 20:59 ` [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Arnout Vandecappelle
  4 siblings, 0 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-18 17:17 UTC (permalink / raw)
  To: buildroot

Move the commen set of dependencies and CMake configuration options into
webkit.mk, as well, as well as test for BR2_WEBKIT_ARCH_SUPPORTS_JIT
(which was duplicated). While at it, the changes make the list of
dependencies common to both packages (WEBKIT_DEPENDENCIES) more correct
and thorough.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkit/webkit.mk              | 14 ++++++++++++++
 package/webkit/webkitgtk/webkitgtk.mk | 15 +++------------
 package/webkit/wpewebkit/wpewebkit.mk | 14 +++-----------
 3 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 47e94d72f6..96ca7a109d 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -4,4 +4,18 @@
 #
 ################################################################################
 
+WEBKIT_DEPENDENCIES = host-gperf host-python host-ruby \
+	cairo harfbuzz icu jpeg libgcrypt libsoup libpng libtasn1 \
+	libxml2 libxslt sqlite webp
+WEBKIT_CONF_OPTS = \
+	-DENABLE_API_TESTS=OFF \
+	-DENABLE_GTKDOC=OFF \
+	-DENABLE_INTROSPECTION=OFF
+
+ifeq ($(BR2_WEBKIT_ARCH_SUPPORTS_JIT),y)
+WEBKIT_CONF_OPTS += -DENABLE_JIT=ON
+else
+WEBKIT_CONF_OPTS += -DENABLE_JIT=OFF
+endif
+
 include $(sort $(wildcard package/webkit/*/*.mk))
diff --git a/package/webkit/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/webkitgtk.mk
index 1834108bcc..fefb52eeaa 100644
--- a/package/webkit/webkitgtk/webkitgtk.mk
+++ b/package/webkit/webkitgtk/webkitgtk.mk
@@ -12,14 +12,11 @@ WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause
 WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-APPLE \
 	Source/WebCore/LICENSE-LGPL-2.1
-WEBKITGTK_DEPENDENCIES = host-ruby host-python host-gperf \
-	enchant harfbuzz icu jpeg libgcrypt libgtk3 libsecret libsoup \
-	libtasn1 libxml2 libxslt sqlite webp woff2
+WEBKITGTK_DEPENDENCIES = $(WEBKIT_DEPENDENCIES) \
+	enchant libgtk3 libsecret woff2
 WEBKITGTK_CONF_OPTS = \
-	-DENABLE_API_TESTS=OFF \
+	$(WEBKIT_CONF_OPTS)
 	-DENABLE_GEOLOCATION=OFF \
-	-DENABLE_GTKDOC=OFF \
-	-DENABLE_INTROSPECTION=OFF \
 	-DENABLE_MINIBROWSER=ON \
 	-DENABLE_SPELLCHECK=ON \
 	-DPORT=GTK \
@@ -27,12 +24,6 @@ WEBKITGTK_CONF_OPTS = \
 	-DUSE_LIBHYPHEN=OFF \
 	-DUSE_WOFF2=ON
 
-ifeq ($(BR2_WEBKIT_ARCH_SUPPORTS_JIT),y)
-WEBKITGTK_CONF_OPTS += -DENABLE_JIT=ON
-else
-WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF
-endif
-
 ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
 WEBKITGTK_CONF_OPTS += \
 	-DENABLE_VIDEO=ON \
diff --git a/package/webkit/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/wpewebkit.mk
index 3877dcfbb0..e36dadd359 100644
--- a/package/webkit/wpewebkit/wpewebkit.mk
+++ b/package/webkit/wpewebkit/wpewebkit.mk
@@ -12,21 +12,13 @@ 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_DEPENDENCIES = $(WEBKIT_DEPENDENCIES) \
+	libepoxy libgles wayland-protocols wpebackend-fdo
 WPEWEBKIT_CONF_OPTS = \
+	$(WEBKIT_CONF_OPTS) \
 	-DPORT=WPE \
-	-DENABLE_API_TESTS=OFF \
 	-DENABLE_MINIBROWSER=OFF
 
-ifeq ($(BR2_WEBKIT_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 \
-- 
2.20.1

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

* [Buildroot] [PATCH RFC/next 4/4] package/webkit: factor out check for woff2
  2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
                   ` (2 preceding siblings ...)
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 3/4] package/webkit: factor out common bits of .mk files Adrian Perez de Castro
@ 2019-02-18 17:17 ` Adrian Perez de Castro
  2019-04-13 20:59 ` [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Arnout Vandecappelle
  4 siblings, 0 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-18 17:17 UTC (permalink / raw)
  To: buildroot

Usage of woff2 os configurable at build time for both wpewebkit
and webkitgtk.

Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
---
 package/webkit/webkit.mk              | 7 +++++++
 package/webkit/webkitgtk/webkitgtk.mk | 5 ++---
 package/webkit/wpewebkit/wpewebkit.mk | 7 -------
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
index 96ca7a109d..8dda16854a 100644
--- a/package/webkit/webkit.mk
+++ b/package/webkit/webkit.mk
@@ -18,4 +18,11 @@ else
 WEBKIT_CONF_OPTS += -DENABLE_JIT=OFF
 endif
 
+ifeq ($(BR2_PACKAGE_WOFF2),y)
+WEBKIT_CONF_OPTS += -DUSE_WOFF2=ON
+WEBKIT_DEPENDENCIES += woff2
+else
+WEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
+endif
+
 include $(sort $(wildcard package/webkit/*/*.mk))
diff --git a/package/webkit/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/webkitgtk.mk
index fefb52eeaa..3009249762 100644
--- a/package/webkit/webkitgtk/webkitgtk.mk
+++ b/package/webkit/webkitgtk/webkitgtk.mk
@@ -13,7 +13,7 @@ WEBKITGTK_LICENSE_FILES = \
 	Source/WebCore/LICENSE-APPLE \
 	Source/WebCore/LICENSE-LGPL-2.1
 WEBKITGTK_DEPENDENCIES = $(WEBKIT_DEPENDENCIES) \
-	enchant libgtk3 libsecret woff2
+	enchant libgtk3 libsecret
 WEBKITGTK_CONF_OPTS = \
 	$(WEBKIT_CONF_OPTS)
 	-DENABLE_GEOLOCATION=OFF \
@@ -21,8 +21,7 @@ WEBKITGTK_CONF_OPTS = \
 	-DENABLE_SPELLCHECK=ON \
 	-DPORT=GTK \
 	-DUSE_LIBNOTIFY=OFF \
-	-DUSE_LIBHYPHEN=OFF \
-	-DUSE_WOFF2=ON
+	-DUSE_LIBHYPHEN=OFF
 
 ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
 WEBKITGTK_CONF_OPTS += \
diff --git a/package/webkit/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/wpewebkit.mk
index e36dadd359..b8f35e605c 100644
--- a/package/webkit/wpewebkit/wpewebkit.mk
+++ b/package/webkit/wpewebkit/wpewebkit.mk
@@ -43,11 +43,4 @@ 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))
-- 
2.20.1

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

* [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components Adrian Perez de Castro
@ 2019-02-22 10:40   ` François Perrad
  2019-02-22 14:46     ` Adrian Perez de Castro
  0 siblings, 1 reply; 11+ messages in thread
From: François Perrad @ 2019-02-22 10:40 UTC (permalink / raw)
  To: buildroot

Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com> a
?crit :

> Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> subbdirectory as the first step to unify some of their configuration.
>
>
Moving packages into a subdirectory is discouraged,
see https://buildroot.org/downloads/manual/manual.html#_package_directory

Fran?ois


> Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> ---
>  package/Config.in                                       | 8 ++++----
>  package/{ => webkit}/libwpe/Config.in                   | 0
>  package/{ => webkit}/libwpe/libwpe.hash                 | 0
>  package/{ => webkit}/libwpe/libwpe.mk                   | 0
>  package/webkit/webkit.mk                                | 7 +++++++
>  package/{ => webkit}/webkitgtk/Config.in                | 0
>  package/{ => webkit}/webkitgtk/webkitgtk.hash           | 0
>  package/{ => webkit}/webkitgtk/webkitgtk.mk             | 0
>  package/{ => webkit}/wpebackend-fdo/Config.in           | 0
>  package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash | 0
>  package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk   | 0
>  package/{ => webkit}/wpewebkit/Config.in                | 0
>  package/{ => webkit}/wpewebkit/wpewebkit.hash           | 0
>  package/{ => webkit}/wpewebkit/wpewebkit.mk             | 0
>  14 files changed, 11 insertions(+), 4 deletions(-)
>  rename package/{ => webkit}/libwpe/Config.in (100%)
>  rename package/{ => webkit}/libwpe/libwpe.hash (100%)
>  rename package/{ => webkit}/libwpe/libwpe.mk (100%)
>  create mode 100644 package/webkit/webkit.mk
>  rename package/{ => webkit}/webkitgtk/Config.in (100%)
>  rename package/{ => webkit}/webkitgtk/webkitgtk.hash (100%)
>  rename package/{ => webkit}/webkitgtk/webkitgtk.mk (100%)
>  rename package/{ => webkit}/wpebackend-fdo/Config.in (100%)
>  rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash (100%)
>  rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk (100%)
>  rename package/{ => webkit}/wpewebkit/Config.in (100%)
>  rename package/{ => webkit}/wpewebkit/wpewebkit.hash (100%)
>  rename package/{ => webkit}/wpewebkit/wpewebkit.mk (100%)
>
> diff --git a/package/Config.in b/package/Config.in
> index 420e6e95a3..65faf1fcd6 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1304,7 +1304,6 @@ menu "Graphics"
>         source "package/libva-intel-driver/Config.in"
>         source "package/libvdpau/Config.in"
>         source "package/libvips/Config.in"
> -       source "package/libwpe/Config.in"
>         source "package/menu-cache/Config.in"
>         source "package/opencv/Config.in"
>         source "package/opencv3/Config.in"
> @@ -1320,11 +1319,12 @@ menu "Graphics"
>         source "package/wayland/Config.in"
>         source "package/wayland-protocols/Config.in"
>         source "package/waylandpp/Config.in"
> -       source "package/webkitgtk/Config.in"
> +       source "package/webkit/webkitgtk/Config.in"
> +       source "package/webkit/libwpe/Config.in"
> +       source "package/webkit/wpebackend-fdo/Config.in"
> +       source "package/webkit/wpewebkit/Config.in"
>         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
> diff --git a/package/libwpe/Config.in b/package/webkit/libwpe/Config.in
> similarity index 100%
> rename from package/libwpe/Config.in
> rename to package/webkit/libwpe/Config.in
> diff --git a/package/libwpe/libwpe.hash b/package/webkit/libwpe/libwpe.hash
> similarity index 100%
> rename from package/libwpe/libwpe.hash
> rename to package/webkit/libwpe/libwpe.hash
> diff --git a/package/libwpe/libwpe.mk b/package/webkit/libwpe/libwpe.mk
> similarity index 100%
> rename from package/libwpe/libwpe.mk
> rename to package/webkit/libwpe/libwpe.mk
> diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
> new file mode 100644
> index 0000000000..47e94d72f6
> --- /dev/null
> +++ b/package/webkit/webkit.mk
> @@ -0,0 +1,7 @@
>
> +################################################################################
> +#
> +# Common definitions for the GTK and WPE WebKit ports.
> +#
>
> +################################################################################
> +
> +include $(sort $(wildcard package/webkit/*/*.mk))
> diff --git a/package/webkitgtk/Config.in
> b/package/webkit/webkitgtk/Config.in
> similarity index 100%
> rename from package/webkitgtk/Config.in
> rename to package/webkit/webkitgtk/Config.in
> diff --git a/package/webkitgtk/webkitgtk.hash
> b/package/webkit/webkitgtk/webkitgtk.hash
> similarity index 100%
> rename from package/webkitgtk/webkitgtk.hash
> rename to package/webkit/webkitgtk/webkitgtk.hash
> diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/
> webkitgtk.mk
> similarity index 100%
> rename from package/webkitgtk/webkitgtk.mk
> rename to package/webkit/webkitgtk/webkitgtk.mk
> diff --git a/package/wpebackend-fdo/Config.in
> b/package/webkit/wpebackend-fdo/Config.in
> similarity index 100%
> rename from package/wpebackend-fdo/Config.in
> rename to package/webkit/wpebackend-fdo/Config.in
> diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash
> b/package/webkit/wpebackend-fdo/wpebackend-fdo.hash
> similarity index 100%
> rename from package/wpebackend-fdo/wpebackend-fdo.hash
> rename to package/webkit/wpebackend-fdo/wpebackend-fdo.hash
> diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk
> b/package/webkit/wpebackend-fdo/wpebackend-fdo.mk
> similarity index 100%
> rename from package/wpebackend-fdo/wpebackend-fdo.mk
> rename to package/webkit/wpebackend-fdo/wpebackend-fdo.mk
> diff --git a/package/wpewebkit/Config.in
> b/package/webkit/wpewebkit/Config.in
> similarity index 100%
> rename from package/wpewebkit/Config.in
> rename to package/webkit/wpewebkit/Config.in
> diff --git a/package/wpewebkit/wpewebkit.hash
> b/package/webkit/wpewebkit/wpewebkit.hash
> similarity index 100%
> rename from package/wpewebkit/wpewebkit.hash
> rename to package/webkit/wpewebkit/wpewebkit.hash
> diff --git a/package/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/
> wpewebkit.mk
> similarity index 100%
> rename from package/wpewebkit/wpewebkit.mk
> rename to package/webkit/wpewebkit/wpewebkit.mk
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190222/41cd554f/attachment.html>

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

* [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components
  2019-02-22 10:40   ` François Perrad
@ 2019-02-22 14:46     ` Adrian Perez de Castro
  2019-02-22 16:32       ` François Perrad
  0 siblings, 1 reply; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-22 14:46 UTC (permalink / raw)
  To: buildroot

Hello!

On Fri, 22 Feb 2019 11:40:20 +0100, Fran?ois Perrad <francois.perrad@gadz.org> wrote:
> Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com> a
> ?crit :
> 
> > Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> > libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> > subbdirectory as the first step to unify some of their configuration.
> >
> >
> Moving packages into a subdirectory is discouraged,
> see https://buildroot.org/downloads/manual/manual.html#_package_directory

On the other hand, while adding new subdirectories is discouraged, it is
not forbidden. In this case I thought that it could make sense grouping the
the (very related) WebKit packages. Also note that I expect to be adding a
more in the future [1].

That being said, I am of course open to alternative suggestions, and in
particular knowing where the common parts that this patch set adds into
?webkit/webkit.mk? and ?webkit/Config.in? would go in the case of not
making a subdirectory to group the related packages. Any ideas?

Cheers,


-Adri?n


> Fran?ois
> 
> 
> > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
> > ---
> >  package/Config.in                                       | 8 ++++----
> >  package/{ => webkit}/libwpe/Config.in                   | 0
> >  package/{ => webkit}/libwpe/libwpe.hash                 | 0
> >  package/{ => webkit}/libwpe/libwpe.mk                   | 0
> >  package/webkit/webkit.mk                                | 7 +++++++
> >  package/{ => webkit}/webkitgtk/Config.in                | 0
> >  package/{ => webkit}/webkitgtk/webkitgtk.hash           | 0
> >  package/{ => webkit}/webkitgtk/webkitgtk.mk             | 0
> >  package/{ => webkit}/wpebackend-fdo/Config.in           | 0
> >  package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash | 0
> >  package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk   | 0
> >  package/{ => webkit}/wpewebkit/Config.in                | 0
> >  package/{ => webkit}/wpewebkit/wpewebkit.hash           | 0
> >  package/{ => webkit}/wpewebkit/wpewebkit.mk             | 0
> >  14 files changed, 11 insertions(+), 4 deletions(-)
> >  rename package/{ => webkit}/libwpe/Config.in (100%)
> >  rename package/{ => webkit}/libwpe/libwpe.hash (100%)
> >  rename package/{ => webkit}/libwpe/libwpe.mk (100%)
> >  create mode 100644 package/webkit/webkit.mk
> >  rename package/{ => webkit}/webkitgtk/Config.in (100%)
> >  rename package/{ => webkit}/webkitgtk/webkitgtk.hash (100%)
> >  rename package/{ => webkit}/webkitgtk/webkitgtk.mk (100%)
> >  rename package/{ => webkit}/wpebackend-fdo/Config.in (100%)
> >  rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.hash (100%)
> >  rename package/{ => webkit}/wpebackend-fdo/wpebackend-fdo.mk (100%)
> >  rename package/{ => webkit}/wpewebkit/Config.in (100%)
> >  rename package/{ => webkit}/wpewebkit/wpewebkit.hash (100%)
> >  rename package/{ => webkit}/wpewebkit/wpewebkit.mk (100%)
> >
> > diff --git a/package/Config.in b/package/Config.in
> > index 420e6e95a3..65faf1fcd6 100644
> > --- a/package/Config.in
> > +++ b/package/Config.in
> > @@ -1304,7 +1304,6 @@ menu "Graphics"
> >         source "package/libva-intel-driver/Config.in"
> >         source "package/libvdpau/Config.in"
> >         source "package/libvips/Config.in"
> > -       source "package/libwpe/Config.in"
> >         source "package/menu-cache/Config.in"
> >         source "package/opencv/Config.in"
> >         source "package/opencv3/Config.in"
> > @@ -1320,11 +1319,12 @@ menu "Graphics"
> >         source "package/wayland/Config.in"
> >         source "package/wayland-protocols/Config.in"
> >         source "package/waylandpp/Config.in"
> > -       source "package/webkitgtk/Config.in"
> > +       source "package/webkit/webkitgtk/Config.in"
> > +       source "package/webkit/libwpe/Config.in"
> > +       source "package/webkit/wpebackend-fdo/Config.in"
> > +       source "package/webkit/wpewebkit/Config.in"
> >         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
> > diff --git a/package/libwpe/Config.in b/package/webkit/libwpe/Config.in
> > similarity index 100%
> > rename from package/libwpe/Config.in
> > rename to package/webkit/libwpe/Config.in
> > diff --git a/package/libwpe/libwpe.hash b/package/webkit/libwpe/libwpe.hash
> > similarity index 100%
> > rename from package/libwpe/libwpe.hash
> > rename to package/webkit/libwpe/libwpe.hash
> > diff --git a/package/libwpe/libwpe.mk b/package/webkit/libwpe/libwpe.mk
> > similarity index 100%
> > rename from package/libwpe/libwpe.mk
> > rename to package/webkit/libwpe/libwpe.mk
> > diff --git a/package/webkit/webkit.mk b/package/webkit/webkit.mk
> > new file mode 100644
> > index 0000000000..47e94d72f6
> > --- /dev/null
> > +++ b/package/webkit/webkit.mk
> > @@ -0,0 +1,7 @@
> >
> > +################################################################################
> > +#
> > +# Common definitions for the GTK and WPE WebKit ports.
> > +#
> >
> > +################################################################################
> > +
> > +include $(sort $(wildcard package/webkit/*/*.mk))
> > diff --git a/package/webkitgtk/Config.in
> > b/package/webkit/webkitgtk/Config.in
> > similarity index 100%
> > rename from package/webkitgtk/Config.in
> > rename to package/webkit/webkitgtk/Config.in
> > diff --git a/package/webkitgtk/webkitgtk.hash
> > b/package/webkit/webkitgtk/webkitgtk.hash
> > similarity index 100%
> > rename from package/webkitgtk/webkitgtk.hash
> > rename to package/webkit/webkitgtk/webkitgtk.hash
> > diff --git a/package/webkitgtk/webkitgtk.mk b/package/webkit/webkitgtk/
> > webkitgtk.mk
> > similarity index 100%
> > rename from package/webkitgtk/webkitgtk.mk
> > rename to package/webkit/webkitgtk/webkitgtk.mk
> > diff --git a/package/wpebackend-fdo/Config.in
> > b/package/webkit/wpebackend-fdo/Config.in
> > similarity index 100%
> > rename from package/wpebackend-fdo/Config.in
> > rename to package/webkit/wpebackend-fdo/Config.in
> > diff --git a/package/wpebackend-fdo/wpebackend-fdo.hash
> > b/package/webkit/wpebackend-fdo/wpebackend-fdo.hash
> > similarity index 100%
> > rename from package/wpebackend-fdo/wpebackend-fdo.hash
> > rename to package/webkit/wpebackend-fdo/wpebackend-fdo.hash
> > diff --git a/package/wpebackend-fdo/wpebackend-fdo.mk
> > b/package/webkit/wpebackend-fdo/wpebackend-fdo.mk
> > similarity index 100%
> > rename from package/wpebackend-fdo/wpebackend-fdo.mk
> > rename to package/webkit/wpebackend-fdo/wpebackend-fdo.mk
> > diff --git a/package/wpewebkit/Config.in
> > b/package/webkit/wpewebkit/Config.in
> > similarity index 100%
> > rename from package/wpewebkit/Config.in
> > rename to package/webkit/wpewebkit/Config.in
> > diff --git a/package/wpewebkit/wpewebkit.hash
> > b/package/webkit/wpewebkit/wpewebkit.hash
> > similarity index 100%
> > rename from package/wpewebkit/wpewebkit.hash
> > rename to package/webkit/wpewebkit/wpewebkit.hash
> > diff --git a/package/wpewebkit/wpewebkit.mk b/package/webkit/wpewebkit/
> > wpewebkit.mk
> > similarity index 100%
> > rename from package/wpewebkit/wpewebkit.mk
> > rename to package/webkit/wpewebkit/wpewebkit.mk
> > --
> > 2.20.1
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot

---
[1] For example: https://github.com/WebPlatformForEmbedded/WPEBackend-rdk
-------------- 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/20190222/8d77b316/attachment.asc>

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

* [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components
  2019-02-22 14:46     ` Adrian Perez de Castro
@ 2019-02-22 16:32       ` François Perrad
  2019-02-22 17:06         ` Adrian Perez de Castro
  0 siblings, 1 reply; 11+ messages in thread
From: François Perrad @ 2019-02-22 16:32 UTC (permalink / raw)
  To: buildroot

Le ven. 22 f?vr. 2019 ? 15:47, Adrian Perez de Castro <aperez@igalia.com> a
?crit :

> Hello!
>
> On Fri, 22 Feb 2019 11:40:20 +0100, Fran?ois Perrad <
> francois.perrad at gadz.org> wrote:
> > Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com>
> a
> > ?crit :
> >
> > > Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> > > libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> > > subbdirectory as the first step to unify some of their configuration.
> > >
> > >
> > Moving packages into a subdirectory is discouraged,
> > see
> https://buildroot.org/downloads/manual/manual.html#_package_directory
>
> On the other hand, while adding new subdirectories is discouraged, it is
> not forbidden. In this case I thought that it could make sense grouping the
> the (very related) WebKit packages. Also note that I expect to be adding a
> more in the future [1].
>
> That being said, I am of course open to alternative suggestions, and in
> particular knowing where the common parts that this patch set adds into
> ?webkit/webkit.mk? and ?webkit/Config.in? would go in the case of not
> making a subdirectory to group the related packages. Any ideas?
>
> Cheers,
>
>
> -Adri?n
>
>
> > Fran?ois
> >
>
> Le ven. 22 f?vr. 2019 ? 15:47, Adrian Perez de Castro <aperez@igalia.com>
> a ?crit :
> Hello!
>
> On Fri, 22 Feb 2019 11:40:20 +0100, Fran?ois Perrad <
> francois.perrad at gadz.org> wrote:
> > Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com>
> a
> > ?crit :
> >
> > > Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> > > libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> > > subbdirectory as the first step to unify some of their configuration.
> > >
> > >
> > Moving packages into a subdirectory is discouraged,
> > see
> https://buildroot.org/downloads/manual/manual.html#_package_directory
>
> On the other hand, while adding new subdirectories is discouraged, it is
> not forbidden. In this case I thought that it could make sense grouping the
> the (very related) WebKit packages. Also note that I expect to be adding a
> more in the future [1].
>
> That being said, I am of course open to alternative suggestions, and in
> particular knowing where the common parts that this patch set adds into
> ?webkit/webkit.mk? and ?webkit/Config.in? would go in the case of not
> making a subdirectory to group the related packages. Any ideas?
>
>
You could create a virtual package webkit with 2 providers webkitgtk &
wpewebkit.
See details on
https://buildroot.org/downloads/manual/manual.html#virtual-package-tutorial

midori still depends on webkitgtk,
but cog could depends on webkit, ie. using webkitgtk or wpewebkit.

Fran?ois



> Cheers,
>
>
> -Adri?n
>
>
> > Fran?ois
> >
> >
> > > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20190222/63a4c315/attachment.html>

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

* [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components
  2019-02-22 16:32       ` François Perrad
@ 2019-02-22 17:06         ` Adrian Perez de Castro
  0 siblings, 0 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-02-22 17:06 UTC (permalink / raw)
  To: buildroot

Hello Fran?ois,

Thanks for your comments, but I have reservations about your suggestion.

On Fri, 22 Feb 2019 17:32:48 +0100, Fran?ois Perrad <francois.perrad@gadz.org> wrote:
> Le ven. 22 f?vr. 2019 ? 15:47, Adrian Perez de Castro <aperez@igalia.com> a
> ?crit :
> 
> > Hello!
> >
> > On Fri, 22 Feb 2019 11:40:20 +0100, Fran?ois Perrad <
> > francois.perrad at gadz.org> wrote:
> > > Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com>
> > a
> > > ?crit :
> > >
> > > > Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> > > > libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> > > > subbdirectory as the first step to unify some of their configuration.
> > > >
> > > >
> > > Moving packages into a subdirectory is discouraged,
> > > see
> > https://buildroot.org/downloads/manual/manual.html#_package_directory
> >
> > On the other hand, while adding new subdirectories is discouraged, it is
> > not forbidden. In this case I thought that it could make sense grouping the
> > the (very related) WebKit packages. Also note that I expect to be adding a
> > more in the future [1].
> >
> > That being said, I am of course open to alternative suggestions, and in
> > particular knowing where the common parts that this patch set adds into
> > ?webkit/webkit.mk? and ?webkit/Config.in? would go in the case of not
> > making a subdirectory to group the related packages. Any ideas?
> >
> > Cheers,
> >
> >
> > -Adri?n
> >
> >
> > > Fran?ois
> > >
> >
> > Le ven. 22 f?vr. 2019 ? 15:47, Adrian Perez de Castro <aperez@igalia.com>
> > a ?crit :
> > Hello!
> >
> > On Fri, 22 Feb 2019 11:40:20 +0100, Fran?ois Perrad <
> > francois.perrad at gadz.org> wrote:
> > > Le lun. 18 f?vr. 2019 ? 18:17, Adrian Perez de Castro <aperez@igalia.com>
> > a
> > > ?crit :
> > >
> > > > Move the packages related to the GTK and WPE WebKit ports (webkitgtk,
> > > > libwpe, wpewebkit, wpebackend-fdo) under a new package/webkit/
> > > > subbdirectory as the first step to unify some of their configuration.
> > > >
> > > >
> > > Moving packages into a subdirectory is discouraged,
> > > see
> > https://buildroot.org/downloads/manual/manual.html#_package_directory
> >
> > On the other hand, while adding new subdirectories is discouraged, it is
> > not forbidden. In this case I thought that it could make sense grouping the
> > the (very related) WebKit packages. Also note that I expect to be adding a
> > more in the future [1].
> >
> > That being said, I am of course open to alternative suggestions, and in
> > particular knowing where the common parts that this patch set adds into
> > ?webkit/webkit.mk? and ?webkit/Config.in? would go in the case of not
> > making a subdirectory to group the related packages. Any ideas?
> >
> >
> You could create a virtual package webkit with 2 providers webkitgtk &
> wpewebkit.
> See details on
> https://buildroot.org/downloads/manual/manual.html#virtual-package-tutorial

There cannot be a virtual package, because both ?webkitgtk? and ?wpewebkit?
can be built and be installed in the same system.

> midori still depends on webkitgtk,
> but cog could depends on webkit, ie. using webkitgtk or wpewebkit.

I don't think so. Cog can be built against WebKitGTK, that's true; but that is
intended as a development aid and it is not recommended for normal usage. The
main goal of Cog is to be a library to help out implementing custom WPE WebKit
launchers, and it just happens to include a reference launcher as well.

The question still remains: if there is no subdirectory, where would the
common bits from ?webkit/webkit.mk? and ?webkit/Config.in? belong?

Regards,


-Adri?n


> > Cheers,
> >
> >
> > -Adri?n
> >
> >
> > > Fran?ois
> > >
> > >
> > > > Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
-------------- 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/20190222/2724c404/attachment.asc>

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

* [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages
  2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
                   ` (3 preceding siblings ...)
  2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 4/4] package/webkit: factor out check for woff2 Adrian Perez de Castro
@ 2019-04-13 20:59 ` Arnout Vandecappelle
  2019-04-26 10:04   ` Adrian Perez de Castro
  4 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2019-04-13 20:59 UTC (permalink / raw)
  To: buildroot

 Hi Adrian,

 It took us a bit of time, but finally a few of us got together and discussed
this series.

On 18/02/2019 18:17, Adrian Perez de Castro wrote:
> Hello!
> 
> Both the GTK and WPE WebKit ports share many dependencies (usage of GLib,
> libsoup, GStreamer, Cairo, etc.), their supported platforms, and both
> receive releases from the same stable branch following the same schedule:
> major releases twice a year, around the release dates for GNOME.
> 
> Because of the above, it is possible to factor out commonalities from
> the packaging for both the GTK and WPE WebKit ports. This patch set tries
> to explore a possible way of doing it by moving both packages (plus libwpe
> and wpebackend-fdo, which are specific to the WPE port) into a new
> package/webkit/ subdirectory, where common parts live in a webkit.mk
> and a Config.in file.
> 
> I would really like to make it easier to maintain both the webkitgtk
> and wpewebkit packages by factoring out the commonalities, so I am looking
> forward to read you feedback on this patch set :-)

 We doubt that this really makes it easier to maintain these packages.

 One of the design guidelines of Buildroot is "Explicit rather than implicit".
Although software developers are tempted to "refactor" common bits into
variables, this is often not making it easier to understand the code, and also
not making it easier to change it. The refactoring of this series smells a bit
like that: it factors out the options that happen to be the same.

 Also, it makes these packages different from how we normally do things in
Buildroot. Normally, we don't use subdirectories. Also normally, the .mk file is
self-contained, so within one file (and assuming you know how the infra works),
you have everything needed to understand how the build system will behave. After
this series, it will become more difficult to find out e.g. why the package has
this particular dependency or config option. When you want to change something
in wpewebkit, you need to also open, look at and potentially modify webkit.mk.

 Admittedly, the latter can be an advantage too: when you're editing wpewebkit,
you're forced to consider if and how it impacts webkitgtk as well. But the same
could be achieved by simply adding a comment in the .mk file that you should
also look at the other package and do similar updates there.

 To compare: we have for example mesa3d and mesa3d-headers, which are two
separate independent packages even though they're tightly related. For those, we
consciously chose to keep them separate to keep things explicit. In the end, not
so much would be shared between the two packages. I think we have a similar case
here: the common Config.in and webkit.mk files are less than 30 lines, and the
non-shared Config.in and .mk files are much larger than that.

 Therefore, I've marked the series as Rejected in patchwork.

 However, it's a thin line. If you really believe that unifying these packages
would make maintaining them significantly easier, feel free to resubmit the
series, with a short explanation why it makes life easier. This probably means:
how does this refactoring make it less likely that you make a mistake when
you're updating the webkit stuff.

 In case you would do that, I have one more suggestion: you should probably also
factor out WEBKIT_MAJOR = 2.22. Otherwise, a common _ARCH_DEPENDS risks to
become incorrect when one of them is bumped and the other is not.

 Regards,
 Arnout

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

* [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages
  2019-04-13 20:59 ` [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Arnout Vandecappelle
@ 2019-04-26 10:04   ` Adrian Perez de Castro
  0 siblings, 0 replies; 11+ messages in thread
From: Adrian Perez de Castro @ 2019-04-26 10:04 UTC (permalink / raw)
  To: buildroot

Hello Arnout (and everybody else),

On Sat, 13 Apr 2019 22:59:21 +0200, Arnout Vandecappelle <arnout@mind.be> wrote:
 
>  It took us a bit of time, but finally a few of us got together and discussed
> this series.

No problem at all :)

> On 18/02/2019 18:17, Adrian Perez de Castro wrote:
> > Hello!
> > 
> > Both the GTK and WPE WebKit ports share many dependencies (usage of GLib,
> > libsoup, GStreamer, Cairo, etc.), their supported platforms, and both
> > receive releases from the same stable branch following the same schedule:
> > major releases twice a year, around the release dates for GNOME.
> > 
> > Because of the above, it is possible to factor out commonalities from
> > the packaging for both the GTK and WPE WebKit ports. This patch set tries
> > to explore a possible way of doing it by moving both packages (plus libwpe
> > and wpebackend-fdo, which are specific to the WPE port) into a new
> > package/webkit/ subdirectory, where common parts live in a webkit.mk
> > and a Config.in file.
> > 
> > I would really like to make it easier to maintain both the webkitgtk
> > and wpewebkit packages by factoring out the commonalities, so I am looking
> > forward to read you feedback on this patch set :-)
> 
>  We doubt that this really makes it easier to maintain these packages.
> 
>  One of the design guidelines of Buildroot is "Explicit rather than implicit".
> Although software developers are tempted to "refactor" common bits into
> variables, this is often not making it easier to understand the code, and also
> not making it easier to change it. The refactoring of this series smells a bit
> like that: it factors out the options that happen to be the same.
> 
>  Also, it makes these packages different from how we normally do things in
> Buildroot. Normally, we don't use subdirectories. Also normally, the .mk file is
> self-contained, so within one file (and assuming you know how the infra works),
> you have everything needed to understand how the build system will behave. After
> this series, it will become more difficult to find out e.g. why the package has
> this particular dependency or config option. When you want to change something
> in wpewebkit, you need to also open, look at and potentially modify webkit.mk.
> 
>  Admittedly, the latter can be an advantage too: when you're editing wpewebkit,
> you're forced to consider if and how it impacts webkitgtk as well. But the same
> could be achieved by simply adding a comment in the .mk file that you should
> also look at the other package and do similar updates there.
> 
>  To compare: we have for example mesa3d and mesa3d-headers, which are two
> separate independent packages even though they're tightly related. For those, we
> consciously chose to keep them separate to keep things explicit. In the end, not
> so much would be shared between the two packages. I think we have a similar case
> here: the common Config.in and webkit.mk files are less than 30 lines, and the
> non-shared Config.in and .mk files are much larger than that.
> 
>  Therefore, I've marked the series as Rejected in patchwork.
> 
>  However, it's a thin line. If you really believe that unifying these packages
> would make maintaining them significantly easier, feel free to resubmit the
> series, with a short explanation why it makes life easier. This probably means:
> how does this refactoring make it less likely that you make a mistake when
> you're updating the webkit stuff.
> 
>  In case you would do that, I have one more suggestion: you should probably also
> factor out WEBKIT_MAJOR = 2.22. Otherwise, a common _ARCH_DEPENDS risks to
> become incorrect when one of them is bumped and the other is not.

I understand the rationale, and I am now convinced that it makes more sense 
to maintain both packages separately.

Also, trying to look at things with my ?Buildroot packager? hat, it can
happen that we want to ship different versions of them at some point (e.g.
WebKitGTK 2.24.x and WPE WebKit 2.22.x) in the same Buildroot release for
$REASONS ? having the packages completely separate allows for that. Moreover,
while right now I am maintaining both packages, it is not unthinkable that
different people might want to take care of each package separately, and
having two independent packages would allow for that with less friction, as
it would not need different people to coordinate.

While we (as WebKit maintainers) do not expect big differences between both
the GTK and WPE ports appearing in the future, and we also do try hard to keep
releases for both in sync, it might happen that both WebKit ports drift apart.
Having two completely separate packages in Buildroot can be seen also as a
?just in case? safeguard for the future.

From now on I will keep maintenance of both packages separate.

Thanks for the feedback!

?Adri?n


P.S: Now I am ready to look into updating to 2.24.x, which has been out
for a while :)
-------------- 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/20190426/dcad805c/attachment.asc>

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

end of thread, other threads:[~2019-04-26 10:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-18 17:17 [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Adrian Perez de Castro
2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 1/4] package/webkit: new home for GTK and WPE WebKit components Adrian Perez de Castro
2019-02-22 10:40   ` François Perrad
2019-02-22 14:46     ` Adrian Perez de Castro
2019-02-22 16:32       ` François Perrad
2019-02-22 17:06         ` Adrian Perez de Castro
2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 2/4] package/webkit: unify *_ARCH_SUPPORTS{, _JIT} Adrian Perez de Castro
2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 3/4] package/webkit: factor out common bits of .mk files Adrian Perez de Castro
2019-02-18 17:17 ` [Buildroot] [PATCH RFC/next 4/4] package/webkit: factor out check for woff2 Adrian Perez de Castro
2019-04-13 20:59 ` [Buildroot] [PATCH RFC/next 0/4] Unify configuration/makefiles for the GTK and WPE WebKit packages Arnout Vandecappelle
2019-04-26 10:04   ` 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.