7852618c23
Bugfix release, fixes zero-day CVE-2023-23529 and includes a few build and behaviour patches as well. Release notes: https://wpewebkit.org/release/wpewebkit-2.38.5.html Accompanying security advisory: https://wpewebkit.org/security/WSA-2023-0002.html Signed-off-by: Adrian Perez de Castro <aperez@igalia.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
126 lines
3.8 KiB
Makefile
126 lines
3.8 KiB
Makefile
################################################################################
|
|
#
|
|
# wpewebkit
|
|
#
|
|
################################################################################
|
|
|
|
WPEWEBKIT_VERSION = 2.38.5
|
|
WPEWEBKIT_SITE = http://www.wpewebkit.org/releases
|
|
WPEWEBKIT_SOURCE = wpewebkit-$(WPEWEBKIT_VERSION).tar.xz
|
|
WPEWEBKIT_INSTALL_STAGING = YES
|
|
WPEWEBKIT_LICENSE = LGPL-2.1+, BSD-2-Clause
|
|
WPEWEBKIT_LICENSE_FILES = \
|
|
Source/WebCore/LICENSE-APPLE \
|
|
Source/WebCore/LICENSE-LGPL-2.1
|
|
WPEWEBKIT_CPE_ID_VENDOR = wpewebkit
|
|
WPEWEBKIT_CPE_ID_PRODUCT = wpe_webkit
|
|
WPEWEBKIT_DEPENDENCIES = host-gperf host-python3 host-ruby \
|
|
harfbuzz cairo icu jpeg libepoxy libgcrypt libgles libsoup libtasn1 \
|
|
libpng libxslt openjpeg wayland-protocols webp wpebackend-fdo
|
|
|
|
WPEWEBKIT_CONF_OPTS = \
|
|
-DPORT=WPE \
|
|
-DENABLE_ACCESSIBILITY=OFF \
|
|
-DENABLE_API_TESTS=OFF \
|
|
-DENABLE_DOCUMENTATION=OFF \
|
|
-DENABLE_INTROSPECTION=OFF \
|
|
-DENABLE_MINIBROWSER=OFF \
|
|
-DENABLE_WEB_RTC=OFF \
|
|
-DUSE_SOUP2=ON
|
|
|
|
ifeq ($(BR2_PACKAGE_WPEWEBKIT_SANDBOX),y)
|
|
WPEWEBKIT_CONF_OPTS += \
|
|
-DENABLE_BUBBLEWRAP_SANDBOX=ON \
|
|
-DBWRAP_EXECUTABLE=/usr/bin/bwrap \
|
|
-DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy
|
|
WPEWEBKIT_DEPENDENCIES += libseccomp
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_BUBBLEWRAP_SANDBOX=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA),y)
|
|
WPEWEBKIT_CONF_OPTS += \
|
|
-DENABLE_VIDEO=ON \
|
|
-DENABLE_WEB_AUDIO=ON
|
|
WPEWEBKIT_DEPENDENCIES += gstreamer1 gst1-libav gst1-plugins-base
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += \
|
|
-DENABLE_VIDEO=OFF \
|
|
-DENABLE_WEB_AUDIO=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WPEWEBKIT_MEDIA_STREAM),y)
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=ON
|
|
WPEWEBKIT_DEPENDENCIES += gst1-plugins-bad
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_MEDIA_STREAM=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WPEWEBKIT_USE_GSTREAMER_GL),y)
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=ON
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_GSTREAMER_GL=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WPEWEBKIT_WEBDRIVER),y)
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=ON
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_WEBDRIVER=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LCMS2),y)
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=ON
|
|
WPEWEBKIT_DEPENDENCIES += lcms2
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_LCMS=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_WOFF2),y)
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=ON
|
|
WPEWEBKIT_DEPENDENCIES += woff2
|
|
else
|
|
WPEWEBKIT_CONF_OPTS += -DUSE_WOFF2=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_INIT_SYSTEMD),y)
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_JOURNALD_LOG=ON
|
|
WPEWEBKIT_DEPENDENCIES += systemd
|
|
else
|
|
WPEWEBKIT_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, 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
|
|
#
|
|
ifeq ($(BR2_ARM_CPU_ARMV5)$(BR2_ARM_CPU_ARMV6)$(BR2_MIPS_CPU_MIPS32R6)$(BR2_MIPS_CPU_MIPS64R6),y)
|
|
WPEWEBKIT_CONF_OPTS += -DENABLE_JIT=OFF -DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF
|
|
endif
|
|
|
|
# wpewebkit needs cmake >= 3.20 when building with the make backend, which is
|
|
# above our minimal version in
|
|
# support/dependencies/check-host-cmake.mk, so use the ninja backend:
|
|
# https://github.com/WebKit/WebKit/commit/6cd89696b5d406c1a3d9a7a9bbb18fda9284fa1f
|
|
WPEWEBKIT_CONF_OPTS += -GNinja
|
|
WPEWEBKIT_DEPENDENCIES += host-ninja
|
|
|
|
define WPEWEBKIT_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(BR2_CMAKE) --build $(WPEWEBKIT_BUILDDIR)
|
|
endef
|
|
|
|
define WPEWEBKIT_INSTALL_STAGING_CMDS
|
|
$(TARGET_MAKE_ENV) DESTDIR=$(STAGING_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR)
|
|
endef
|
|
|
|
define WPEWEBKIT_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) $(BR2_CMAKE) --install $(WPEWEBKIT_BUILDDIR)
|
|
endef
|
|
|
|
$(eval $(cmake-package))
|