mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
package/webkitgtk: add libgtk4 support
WebKitGTK defaults on GTK4 since version 2.44 [1], and the libgtk4 package was added in commitfaf2a1d, 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 Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit11dcd7bd53) Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
committed by
Thomas Perale
parent
dba7164094
commit
8cd756cb05
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user