package/webkitgtk: add libgtk4 support
PATCH 1/1 package/webkitgtk: add libgtk4 support
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it.
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 15 +++++++++++---- 2 files changed, 36 insertions(+), 12 deletions(-)
package/webkitgtk/Config.in +25 -8
@@ -16,11 +16,12 @@ 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 toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT - depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + depends on (!BR2_PACKAGE_LIBGTK3 && !BR2_PACKAGE_LIBGTK4) || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU
@@ -35,7 +36,7 @@ config BR2_PACKAGE_WEBKITGTK depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 - depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3 || BR2_PACKAGE_LIBGTK4 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG
@@ -54,10 +55,10 @@ config BR2_PACKAGE_WEBKITGTK 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 - select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_WEBKITGTK_X11 help WebKit is an open source, standards compliant web browser engine.
@@ -66,6 +67,22 @@ config BR2_PACKAGE_WEBKITGTK if BR2_PACKAGE_WEBKITGTK +comment "webkitgtk X11 target needs the X11 GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_X11 && !BR2_PACKAGE_LIBGTK4_X11 + +config BR2_PACKAGE_WEBKITGTK_X11 + bool "enable x11 target" + default y + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK4_X11 + +comment "webkitgtk Wayland target needs the Wayland GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_WAYLAND && !BR2_PACKAGE_LIBGTK4_WAYLAND + +config BR2_PACKAGE_WEBKITGTK_WAYLAND + bool "enable wayland target" + default y + depends on BR2_PACKAGE_LIBGTK3_WAYLAND || BR2_PACKAGE_LIBGTK4_WAYLAND + config BR2_PACKAGE_WEBKITGTK_SANDBOX bool "sandboxing support" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
package/webkitgtk/webkitgtk.mk +11 -4
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libsecret \ libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja
@@ -28,10 +28,17 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ - -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_WOFF2=ON +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=ON +WEBKITGTK_DEPENDENCIES += libgtk4 +else +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=OFF +WEBKITGTK_DEPENDENCIES += libgtk3 +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \
@@ -103,7 +110,7 @@ else WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_X11),y) WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
@@ -111,7 +118,7 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH 1/1 package/libgtk4: fix execinfo compile error
../testsuite/reftests/gtk-reftest.c:28:10: fatal error: execinfo.h: No such file or directory
We don't need the test suite, so disable it.
--- package/libgtk4/libgtk4.mk | 1 + 1 file changed, 1 insertion(+)
package/libgtk4/libgtk4.mk +1 -0
@@ -26,6 +26,7 @@ LIBGTK4_DEPENDENCIES = \ LIBGTK4_CONF_OPTS = \ -Dbuild-tests=false \ + -Dbuild-testsuite=false \ -Dmedia-ffmpeg=disabled \ -Dprint-cpdb=disabled \ -Dvulkan=disabled \
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Thomas Petazzoni via buildroot
AppliedRe: [Buildroot] [PATCH v1] package/libgtk4: fix execinfo compile error
Quoted 8 lines · On Sat, 31 Aug 2024 13:36:26 +0200 Thomas Devoogdt <[email protected]> wrote:
../testsuite/reftests/gtk-reftest.c:28:10: fatal error:execinfo.h: No such file or directoryWe don't need the test suite, so disable it.
Signed-off-by Thomas Devoogdt <[email protected]>--- package/libgtk4/libgtk4.mk | 1 + 1 file changed, 1 insertion(+)
Applied to master, thanks.
Thomas
Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v2 1/1 package/webkitgtk: add libgtk4 support
In reply to Thomas DevoogdtWebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it. Note that webkitgtk-6.0 is the new API if compile with GTK4 [2].
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[2] https://webkitgtk.org/reference/webkitgtk/stable/migrating-to-webkitgtk-6.0.html
---
v2: rebase to add support for the MiniBrowser
--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 21 +++++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-)
package/webkitgtk/Config.in +25 -8
@@ -16,11 +16,12 @@ 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 toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT - depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + depends on (!BR2_PACKAGE_LIBGTK3 && !BR2_PACKAGE_LIBGTK4) || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU
@@ -35,7 +36,7 @@ config BR2_PACKAGE_WEBKITGTK depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 - depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3 || BR2_PACKAGE_LIBGTK4 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG
@@ -54,10 +55,10 @@ config BR2_PACKAGE_WEBKITGTK 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 - select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_WEBKITGTK_X11 help WebKit is an open source, standards compliant web browser engine.
@@ -66,6 +67,22 @@ config BR2_PACKAGE_WEBKITGTK if BR2_PACKAGE_WEBKITGTK +comment "webkitgtk X11 target needs the X11 GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_X11 && !BR2_PACKAGE_LIBGTK4_X11 + +config BR2_PACKAGE_WEBKITGTK_X11 + bool "enable x11 target" + default y + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK4_X11 + +comment "webkitgtk Wayland target needs the Wayland GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_WAYLAND && !BR2_PACKAGE_LIBGTK4_WAYLAND + +config BR2_PACKAGE_WEBKITGTK_WAYLAND + bool "enable wayland target" + default y + depends on BR2_PACKAGE_LIBGTK3_WAYLAND || BR2_PACKAGE_LIBGTK4_WAYLAND + config BR2_PACKAGE_WEBKITGTK_SANDBOX bool "sandboxing support" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
package/webkitgtk/webkitgtk.mk +17 -4
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libsecret \ libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja
@@ -28,10 +28,17 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ - -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_WOFF2=ON +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=ON +WEBKITGTK_DEPENDENCIES += libgtk4 +else +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=OFF +WEBKITGTK_DEPENDENCIES += libgtk3 +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \
@@ -62,9 +69,15 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_MINIBROWSER),y) +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK + ln -sf ../libexec/webkitgtk-6.0/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser +endef +else define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK ln -sf ../libexec/webkit2gtk-4.1/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser endef +endif WEBKITGTK_POST_INSTALL_TARGET_HOOKS += WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK WEBKITGTK_CONF_OPTS += -DENABLE_MINIBROWSER=ON else
@@ -113,7 +126,7 @@ else WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_X11),y) WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
@@ -121,7 +134,7 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v3 1/1 package/webkitgtk: add libgtk4 support
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it. Note that webkitgtk-6.0 is the new API if compile with GTK4 [2].
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[2] https://webkitgtk.org/reference/webkitgtk/stable/migrating-to-webkitgtk-6.0.html
---
v2: rebase to add support for the MiniBrowser
v3: rebase to fix merge conflicts
--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 21 +++++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-)
package/webkitgtk/Config.in +25 -8
@@ -16,11 +16,12 @@ 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 toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT - depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ + depends on (!BR2_PACKAGE_LIBGTK3 && !BR2_PACKAGE_LIBGTK4) || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU
@@ -35,7 +36,7 @@ config BR2_PACKAGE_WEBKITGTK depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 - depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3 || BR2_PACKAGE_LIBGTK4 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG
@@ -54,10 +55,10 @@ config BR2_PACKAGE_WEBKITGTK 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 - select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_WEBKITGTK_X11 help WebKit is an open source, standards compliant web browser engine.
@@ -66,6 +67,22 @@ config BR2_PACKAGE_WEBKITGTK if BR2_PACKAGE_WEBKITGTK +comment "webkitgtk X11 target needs the X11 GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_X11 && !BR2_PACKAGE_LIBGTK4_X11 + +config BR2_PACKAGE_WEBKITGTK_X11 + bool "enable x11 target" + default y + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK4_X11 + +comment "webkitgtk Wayland target needs the Wayland GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_WAYLAND && !BR2_PACKAGE_LIBGTK4_WAYLAND + +config BR2_PACKAGE_WEBKITGTK_WAYLAND + bool "enable wayland target" + default y + depends on BR2_PACKAGE_LIBGTK3_WAYLAND || BR2_PACKAGE_LIBGTK4_WAYLAND + config BR2_PACKAGE_WEBKITGTK_SANDBOX bool "sandboxing support" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
package/webkitgtk/webkitgtk.mk +17 -4
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libsecret \ libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja
@@ -28,10 +28,17 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ - -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_WOFF2=ON +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=ON +WEBKITGTK_DEPENDENCIES += libgtk4 +else +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=OFF +WEBKITGTK_DEPENDENCIES += libgtk3 +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \
@@ -62,9 +69,15 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_MINIBROWSER),y) +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK + ln -sf ../libexec/webkitgtk-6.0/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser +endef +else define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK ln -sf ../libexec/webkit2gtk-4.1/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser endef +endif WEBKITGTK_POST_INSTALL_TARGET_HOOKS += WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK WEBKITGTK_CONF_OPTS += -DENABLE_MINIBROWSER=ON else
@@ -120,7 +133,7 @@ else WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_X11),y) WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
@@ -128,7 +141,7 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
PATCH v4 1/1 package/webkitgtk: add libgtk4 support
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it. Note that webkitgtk-6.0 is the new API if compile with GTK4 [2].
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[2] https://webkitgtk.org/reference/webkitgtk/stable/migrating-to-webkitgtk-6.0.html
---
v2: rebase to add support for the MiniBrowser
v3: rebase to fix merge conflicts
v4: rebase to fix merge conflicts (Commit 6a47aa6 "package/webkitgtk: bump to 2.48.1")
--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 21 +++++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-)
package/webkitgtk/Config.in +25 -8
@@ -16,11 +16,12 @@ 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 toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, NPTL, dynamic library, gcc >= 11, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT - depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ + depends on (!BR2_PACKAGE_LIBGTK3 && !BR2_PACKAGE_LIBGTK4) || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_11 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU
@@ -35,7 +36,7 @@ config BR2_PACKAGE_WEBKITGTK depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL depends on BR2_TOOLCHAIN_GCC_AT_LEAST_11 depends on BR2_USE_WCHAR # icu, libsoup3 - depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3 || BR2_PACKAGE_LIBGTK4 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG
@@ -55,10 +56,10 @@ config BR2_PACKAGE_WEBKITGTK select BR2_PACKAGE_WEBP_DEMUX select BR2_PACKAGE_WEBP_MUX 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 - select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_WEBKITGTK_X11 help WebKit is an open source, standards compliant web browser engine.
@@ -67,6 +68,22 @@ config BR2_PACKAGE_WEBKITGTK if BR2_PACKAGE_WEBKITGTK +comment "webkitgtk X11 target needs the X11 GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_X11 && !BR2_PACKAGE_LIBGTK4_X11 + +config BR2_PACKAGE_WEBKITGTK_X11 + bool "enable x11 target" + default y + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK4_X11 + +comment "webkitgtk Wayland target needs the Wayland GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_WAYLAND && !BR2_PACKAGE_LIBGTK4_WAYLAND + +config BR2_PACKAGE_WEBKITGTK_WAYLAND + bool "enable wayland target" + default y + depends on BR2_PACKAGE_LIBGTK3_WAYLAND || BR2_PACKAGE_LIBGTK4_WAYLAND + config BR2_PACKAGE_WEBKITGTK_SANDBOX bool "sandboxing support" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
package/webkitgtk/webkitgtk.mk +17 -4
@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libsecret \ libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja
@@ -28,12 +28,19 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ - -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_SKIA=OFF \ -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF \ -DUSE_WOFF2=ON +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=ON +WEBKITGTK_DEPENDENCIES += libgtk4 +else +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=OFF +WEBKITGTK_DEPENDENCIES += libgtk3 +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \
@@ -64,9 +71,15 @@ WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF endif ifeq ($(BR2_PACKAGE_WEBKITGTK_MINIBROWSER),y) +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK + ln -sf ../libexec/webkitgtk-6.0/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser +endef +else define WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK ln -sf ../libexec/webkit2gtk-4.1/MiniBrowser $(TARGET_DIR)/usr/bin/MiniBrowser endef +endif WEBKITGTK_POST_INSTALL_TARGET_HOOKS += WEBKITGTK_INSTALL_MINIBROWSER_SYMLINK WEBKITGTK_CONF_OPTS += -DENABLE_MINIBROWSER=ON else
@@ -129,7 +142,7 @@ else WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_X11),y) WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
@@ -137,7 +150,7 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
Signature · 6 lines
2.43.0 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Thomas Petazzoni via buildroot
AppliedQuoted 9 lines · On Sun, 20 Apr 2025 09:36:08 +0200 Thomas Devoogdt <[email protected]> wrote:
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it. Note that webkitgtk-6.0 is the new API if compile with GTK4 [2].
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
[2] https://webkitgtk.org/reference/webkitgtk/stable/migrating-to-webkitgtk-6.0.htmlSigned-off-by Thomas Devoogdt <[email protected]>
Quoted 8 lines
---
v2: rebase to add support for the MiniBrowser
v3: rebase to fix merge conflicts
v4: rebase to fix merge conflicts (Commit 6a47aa6 "package/webkitgtk: bump to 2.48.1")--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 21 +++++++++++++++++---- 2 files changed, 42 insertions(+), 12 deletions(-)
Applied to master, thanks a lot!
Thomas
Signature · 7 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 7 lines · Thomas Devoogdt
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commit faf2a1d, so start using it.
[1] https://webkitgtk.org/2024/03/27/webkigit-2.44.html
Signed-off-by Thomas Devoogdt <[email protected]>
Applied to 2025.02.x, thanks.
Just to make future cherry-picks of webkitgtk easier.
Regards,
Arnout
Quoted 114 lines
--- package/webkitgtk/Config.in | 33 +++++++++++++++++++++++++-------- package/webkitgtk/webkitgtk.mk | 15 +++++++++++---- 2 files changed, 36 insertions(+), 12 deletions(-)package/webkitgtk/Config.in +25
-8@@ -16,11 +16,12 @@ 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 toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" +comment "webkitgtk needs libgtk3 or libgtk4 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9" depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS depends on !BR2_BINFMT_FLAT - depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \ - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ + depends on (!BR2_PACKAGE_LIBGTK3 && !BR2_PACKAGE_LIBGTK4) || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \ + !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \ !BR2_HOST_GCC_AT_LEAST_4_9 depends on BR2_USE_MMU@@ -35,7 +36,7 @@ config BR2_PACKAGE_WEBKITGTK depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 depends on BR2_USE_WCHAR # icu, libsoup3 - depends on BR2_PACKAGE_LIBGTK3 + depends on BR2_PACKAGE_LIBGTK3 || BR2_PACKAGE_LIBGTK4 depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS select BR2_PACKAGE_CAIRO select BR2_PACKAGE_CAIRO_PNG@@ -54,10 +55,10 @@ config BR2_PACKAGE_WEBKITGTK 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 - select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11 + select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_WEBKITGTK_X11 + select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_WEBKITGTK_X11 help WebKit is an open source, standards compliant web browser engine.@@ -66,6 +67,22 @@ config BR2_PACKAGE_WEBKITGTK if BR2_PACKAGE_WEBKITGTK +comment "webkitgtk X11 target needs the X11 GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_X11 && !BR2_PACKAGE_LIBGTK4_X11 + +config BR2_PACKAGE_WEBKITGTK_X11 + bool "enable x11 target" + default y + depends on BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK4_X11 + +comment "webkitgtk Wayland target needs the Wayland GDK backend" + depends on !BR2_PACKAGE_LIBGTK3_WAYLAND && !BR2_PACKAGE_LIBGTK4_WAYLAND + +config BR2_PACKAGE_WEBKITGTK_WAYLAND + bool "enable wayland target" + default y + depends on BR2_PACKAGE_LIBGTK3_WAYLAND || BR2_PACKAGE_LIBGTK4_WAYLAND + config BR2_PACKAGE_WEBKITGTK_SANDBOX bool "sandboxing support" depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomppackage/webkitgtk/webkitgtk.mk +10
-3@@ -14,7 +14,7 @@ WEBKITGTK_LICENSE_FILES = \ Source/WebCore/LICENSE-LGPL-2.1 WEBKITGTK_CPE_ID_VENDOR = webkitgtk WEBKITGTK_DEPENDENCIES = host-ruby host-python3 host-gperf host-unifdef \ - enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libgtk3 libsecret \ + enchant harfbuzz icu jpeg libegl libepoxy libgcrypt libsecret \ libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2 WEBKITGTK_CMAKE_BACKEND = ninja@@ -28,10 +28,17 @@ WEBKITGTK_CONF_OPTS = \ -DENABLE_WEB_RTC=OFF \ -DPORT=GTK \ -DUSE_AVIF=OFF \ - -DUSE_GTK4=OFF \ -DUSE_LIBHYPHEN=OFF \ -DUSE_WOFF2=ON +ifeq ($(BR2_PACKAGE_LIBGTK4),y) +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=ON +WEBKITGTK_DEPENDENCIES += libgtk4 +else +WEBKITGTK_CONF_OPTS += -DUSE_GTK4=OFF +WEBKITGTK_DEPENDENCIES += libgtk3 +endif + ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y) WEBKITGTK_CONF_OPTS += \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \@@ -103,7 +110,7 @@ else WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_X11),y) WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON WEBKITGTK_DEPENDENCIES += libgl \ xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
package/webkitgtk/webkitgtk.mk else · line 124
Quoted 8 lines
package/webkitgtk/webkitgtk.mk +1
-1@@ -111,7 +118,7 @@ else WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF endif -ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y) +ifeq ($(BR2_PACKAGE_WEBKITGTK_WAYLAND),y) WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON else WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot