Files
video/libs/wpewebkit/Makefile
T
Daniel Golle df0b899123 wpewebkit: update to version 2.52.3
Update WPEWebKit to the 2.52 stable major release branch.

Includes a pending patchset to get WASM BBQJIT working on RISCV64,
upstream PR https://github.com/WebKit/WebKit/pull/65621

Alltogether this brings acceptable performance (even with LLVMPipe
Mesa software renderer) on RISCV64.

Link: https://wpewebkit.org/release/wpewebkit-2.52.0.html
Link: https://wpewebkit.org/release/wpewebkit-2.52.1.html
Link: https://wpewebkit.org/release/wpewebkit-2.52.2.html
Link: https://wpewebkit.org/release/wpewebkit-2.52.3.html
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2026-05-27 19:27:26 +01:00

167 lines
6.2 KiB
Makefile

include $(TOPDIR)/rules.mk
PKG_NAME:=wpewebkit
PKG_VERSION:=2.52.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://wpewebkit.org/releases
PKG_HASH:=b51b1db1e6ee99d1771f4a358c128fde27a77984df20ee6cb59858e520662d0b
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=LGPL-2.1-or-later BSD-2-Clause
PKG_LICENSE_FILES:=Source/WebCore/LICENSE-Apple Source/Webcore/LICENSE-LGPL-2.1
PKG_BUILD_DEPENDS:=unifdef/host ruby/host
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_wpewebkit-minibrowser
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_BINARY_SUBDIR:=openwrt-build
CMAKE_OPTIONS += \
-DBWRAP_EXECUTABLE=/usr/bin/bwrap \
-DDBUS_PROXY_EXECUTABLE=/usr/bin/xdg-dbus-proxy \
-DGLIB_COMPILE_RESOURCES_EXECUTABLE="$(STAGING_DIR_HOSTPKG)/bin/glib-compile-resources" \
-DENABLE_ACCESSIBILITY=OFF \
-DENABLE_API_TESTS=OFF \
-DENABLE_BUBBLEWRAP_SANDBOX=ON \
-DENABLE_INTROSPECTION=OFF \
-DENABLE_DOCUMENTATION=OFF \
-DENABLE_WEB_CRYPTO=ON \
-DENABLE_JOURNALD_LOG=OFF \
-DENABLE_MINIBROWSER=$(if $(CONFIG_PACKAGE_wpewebkit-minibrowser),ON,OFF) \
-DENABLE_WPE_PLATFORM=ON \
-DENABLE_WPE_PLATFORM_WAYLAND=ON \
-DENABLE_WPE_PLATFORM_DRM=ON \
-DENABLE_SPELLCHECK=OFF \
-DENABLE_SPEECH_SYNTHESIS=OFF \
-DENABLE_TOUCH_EVENTS=ON \
-DENABLE_JIT=$(if $(CONFIG_arm_v7)$(CONFIG_aarch64)$(CONFIG_riscv64)$(CONFIG_x86_64),ON,OFF) \
-DENABLE_C_LOOP=$(if $(CONFIG_arm_v7)$(CONFIG_aarch64)$(CONFIG_riscv64)$(CONFIG_x86_64),OFF,ON) \
-DENABLE_WEBGL=ON \
-DENABLE_VIDEO=ON \
-DPORT=WPE \
-DUSE_ATK=OFF \
-DUSE_LIBBACKTRACE=OFF \
-DUSE_LIBHYPHEN=OFF \
-DUSE_LIBSECRET=OFF \
-DUSE_SOUP2=OFF \
-DUSE_JPEGXL=OFF \
-DUSE_WOFF2=OFF \
-DUSE_AVIF=OFF \
-DUSE_LCMS=OFF \
-DUSE_SYSTEM_SYSPROF_CAPTURE=OFF
define Package/libwpewebkit
SECTION:=libs
CATEGORY:=Libraries
TITLE:=WPEWebKit Library
URL:=https://wpewebkit.org
DEPENDS:=+bubblewrap +glib2 +gst1-mod-autodetect +gst1-mod-opengl \
+harfbuzz +icu-full-data \
+libepoxy +libgcrypt +libgst1allocators +libgst1app +libgst1audio \
+libgst1fft +libgst1gl +libgst1pbutils +libgst1tag \
+libgst1transcoder +libgst1video +libinput +libmanette +libjpeg \
+libpng +libseccomp +libsoup3 +libsqlite3 +libtasn1 +libudev \
+libwayland +libwebp +libwpe +libxml2 +libxslt +zlib \
@(arm_v7||i386||i686||ARCH_64BIT)
endef
define Package/libwpewebkit/description
WebKitGTK is a full-featured port of the WebKit rendering engine,
suitable for projects requiring any kind of web integration, from
hybrid HTML/CSS applications to full-fledged web browsers.
endef
define Package/wpewebkit-driver
SECTION:=libs
CATEGORY:=Libraries
TITLE:=WebDriver service implementation for WPE WebKit
URL:=https://wpewebkit.org
DEPENDS:=+libwpewebkit
endef
define Package/wpewebkit-driver/description
WebDriver is an automation API to control a web browser. It allows the
user to create automated tests for web applications independently of the
browser and platform.
The WebKitWebDriver binary provides the WebDriver service implementation
for WebKitGTK. It works as a server, processing client requests to spawn
and control the web browser. This driver is not tied to any specific
browser and can be used with any WebKitGTK-based browser, but it uses
MiniBrowser as the default.
endef
define Package/wpewebkit-minibrowser
SECTION:=libs
CATEGORY:=Libraries
TITLE:=WPE WebKit Mini Browser
URL:=https://wpewebkit.org/
DEPENDS:=+libwpewebkit +wpebackend-fdo
endef
define Package/wpewebkit-minibrowser/description
Minimalistic Web browser based on WPE WebKit.
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/wpe-webkit-2.0/jsc \
$(1)/usr/include/wpe-webkit-2.0/wpe \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe \
$(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/jsc/*.h \
$(1)/usr/include/wpe-webkit-2.0/jsc
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe/*.h \
$(1)/usr/include/wpe-webkit-2.0/wpe
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/*.h \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm/*.h \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/drm
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless/*.h \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/headless
$(CP) $(PKG_INSTALL_DIR)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland/*.h \
$(1)/usr/include/wpe-webkit-2.0/wpe-platform/wpe/wayland
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
$(1)/usr/lib/pkgconfig
endef
define Package/libwpewebkit/install
$(INSTALL_DIR) $(1)/usr/lib/wpe-webkit-2.0/injected-bundle
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/wpe-webkit-2.0/injected-bundle/*.so \
$(1)/usr/lib/wpe-webkit-2.0/injected-bundle
$(INSTALL_DIR) $(1)/usr/libexec/wpe-webkit-2.0
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPEGPUProcess \
$(1)/usr/libexec/wpe-webkit-2.0
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPENetworkProcess \
$(1)/usr/libexec/wpe-webkit-2.0
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/WPEWebProcess \
$(1)/usr/libexec/wpe-webkit-2.0
$(INSTALL_DIR) $(1)/usr/share/wpe-webkit-2.0
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/wpe-webkit-2.0/inspector.gresource \
$(1)/usr/share/wpe-webkit-2.0
endef
define Package/wpewebkit-driver/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/WPEWebDriver $(1)/usr/bin
endef
define Package/wpewebkit-minibrowser/install
$(INSTALL_DIR) $(1)/usr/libexec/wpe-webkit-2.0
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/wpe-webkit-2.0/MiniBrowser \
$(1)/usr/libexec/wpe-webkit-2.0
endef
$(eval $(call BuildPackage,libwpewebkit))
$(eval $(call BuildPackage,wpewebkit-driver))
$(eval $(call BuildPackage,wpewebkit-minibrowser))