A lot has been changed in 2.44.0, please consult the announcement [1], what's new [2], and the security advisory [3] for more details. Specific to this bump: - Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped. While at it, also explicitly add the libepoxy dependency which is now selected by libgtk3. - The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency. - JPEG2000 has been dropped [2], so drop the OpenJPEG dependency. - GTK4 is now the default, so turn it off, since buildroot has no GTK4 support yet [2]. - USE_LIBBACKTRACE has been added [5], so select it properly. - Support for ENABLE_WEB_CODECS has been added, which will now be enabled together with audio and video support. - ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when compiling for MIPS r6, ARMv5, and ARMv6. In the meantime, a follow-up 2.44.1 and 2.44.2 release has been announced [7][8], which contains a bunch of patches that were accepted upstream. Including build fixes for 32-bit devices, and disabling video. [1]: https://webkitgtk.org/2024/03/16/webkitgtk2.44.0-released.html [2]: https://webkitgtk.org/2024/03/27/webkigit-2.44.html [3]: https://webkitgtk.org/security/WSA-2024-0002.html [4]: https://commits.webkit.org/271345@main [5]: https://commits.webkit.org/268579@main [6]: https://commits.webkit.org/271347@main [7]: https://webkitgtk.org/2024/04/09/webkitgtk2.44.1-released.html [8]: https://webkitgtk.org/2024/05/16/webkitgtk2.44.2-released.html Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> Acked-by: Adrian Perez de Castro <aperez@igalia.com> Tested-by: Adrian Perez de Castro <aperez@igalia.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit d5ff56ef06c46bc870cc677d34cec2639852c823) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
151 lines
4.2 KiB
Makefile
151 lines
4.2 KiB
Makefile
################################################################################
|
|
#
|
|
# webkitgtk
|
|
#
|
|
################################################################################
|
|
|
|
WEBKITGTK_VERSION = 2.44.2
|
|
WEBKITGTK_SITE = https://www.webkitgtk.org/releases
|
|
WEBKITGTK_SOURCE = webkitgtk-$(WEBKITGTK_VERSION).tar.xz
|
|
WEBKITGTK_INSTALL_STAGING = YES
|
|
WEBKITGTK_LICENSE = LGPL-2.1+, BSD-2-Clause
|
|
WEBKITGTK_LICENSE_FILES = \
|
|
Source/WebCore/LICENSE-APPLE \
|
|
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 \
|
|
libsoup3 libtasn1 libxml2 libxslt sqlite webp woff2
|
|
|
|
WEBKITGTK_CMAKE_BACKEND = ninja
|
|
|
|
WEBKITGTK_CONF_OPTS = \
|
|
-DENABLE_API_TESTS=OFF \
|
|
-DENABLE_DOCUMENTATION=OFF \
|
|
-DENABLE_GEOLOCATION=OFF \
|
|
-DENABLE_MINIBROWSER=ON \
|
|
-DENABLE_SPELLCHECK=ON \
|
|
-DENABLE_WEB_RTC=OFF \
|
|
-DPORT=GTK \
|
|
-DUSE_AVIF=OFF \
|
|
-DUSE_GTK4=OFF \
|
|
-DUSE_LIBHYPHEN=OFF \
|
|
-DUSE_WOFF2=ON
|
|
|
|
ifeq ($(BR2_PACKAGE_WEBKITGTK_SANDBOX),y)
|
|
WEBKITGTK_CONF_OPTS += \
|
|
-DENABLE_BUBBLEWRAP_SANDBOX=ON \
|
|
-DBWRAP_EXECUTABLE=/usr/bin/bwrap \
|
|
-DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy
|
|
WEBKITGTK_DEPENDENCIES += libseccomp
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WEBKITGTK_MULTIMEDIA),y)
|
|
WEBKITGTK_CONF_OPTS += \
|
|
-DENABLE_VIDEO=ON \
|
|
-DENABLE_WEB_AUDIO=ON \
|
|
-DENABLE_WEB_CODECS=ON
|
|
WEBKITGTK_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
|
|
else
|
|
WEBKITGTK_CONF_OPTS += \
|
|
-DENABLE_VIDEO=OFF \
|
|
-DENABLE_WEB_AUDIO=OFF \
|
|
-DENABLE_WEB_CODECS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WEBKITGTK_WEBDRIVER),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=ON
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
WEBKITGTK_CONF_OPTS += -DUSE_LCMS=ON
|
|
WEBKITGTK_DEPENDENCIES += lcms2
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DUSE_LCMS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=ON
|
|
WEBKITGTK_DEPENDENCIES += gobject-introspection
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_INTROSPECTION=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBBACKTRACE),y)
|
|
WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=ON
|
|
WEBKITGTK_DEPENDENCIES += libbacktrace
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DUSE_LIBBACKTRACE=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBJXL),y)
|
|
WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=ON
|
|
WEBKITGTK_DEPENDENCIES += libjxl
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DUSE_JPEGXL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBMANETTE),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=ON
|
|
WEBKITGTK_DEPENDENCIES += libmanette
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_GAMEPAD=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_HAS_LIBGBM),y)
|
|
WEBKITGTK_CONF_OPTS += -DUSE_GBM=ON
|
|
WEBKITGTK_DEPENDENCIES += libgbm
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DUSE_GBM=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=ON
|
|
WEBKITGTK_DEPENDENCIES += libgl \
|
|
xlib_libXcomposite xlib_libXdamage xlib_libXrender xlib_libXt
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_X11_TARGET=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBGTK3_WAYLAND),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=ON
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_WAYLAND_TARGET=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL),y)
|
|
WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_INIT_SYSTEMD),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON
|
|
WEBKITGTK_DEPENDENCIES += systemd
|
|
else
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_JOURNALD_LOG=OFF
|
|
endif
|
|
|
|
# JIT is not supported for MIPS r6, but the WebKit build system does not
|
|
# have a check for these processors. The same goes for ARMv5 and ARMv6.
|
|
# Disable JIT forcibly here and use the CLoop interpreter instead.
|
|
#
|
|
# Also, we have to disable the sampling profiler and webassembly,
|
|
# which does NOT work with ENABLE_C_LOOP.
|
|
#
|
|
# Upstream bugs: https://bugs.webkit.org/show_bug.cgi?id=191258
|
|
# https://bugs.webkit.org/show_bug.cgi?id=172765
|
|
# https://bugs.webkit.org/show_bug.cgi?id=265218
|
|
#
|
|
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
|
|
WEBKITGTK_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON \
|
|
-DENABLE_SAMPLING_PROFILER=OFF \
|
|
-DENABLE_WEBASSEMBLY=OFF
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|