From: Artur Wiebe via ptxdist <ptxdist@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Artur Wiebe <artur@4wiebe.de>
Subject: [ptxdist] [PATCH] wpewebkit: version bump 2.49.3 -> 2.52.4
Date: Thu, 25 Jun 2026 11:31:40 +0200 [thread overview]
Message-ID: <20260625093140.2240688-1-artur@4wiebe.de> (raw)
Update cmake options for 2.52.4:
- Remove USE_GSTREAMER_TRANSCODER: option removed from cmake
- Add ENABLE_WPE_LEGACY_API=ON: explicit for wpebackend-fdo path
- Add USE_GSTREAMER driven by PTXCONF_WPEWEBKIT_AUDIO: new master
multimedia switch; setting it OFF cleanly disables all GStreamer
features without enumerating each one
- Add USE_LIBHYPHEN=OFF: new option, no libhyphen package in ptxdist
- Add ENABLE_GPU_PROCESS=OFF (private): keep single-process rendering
path suited for embedded use with wpebackend-fdo
- Drop Qt support: Qt5 API was removed upstream; Qt6 support to be
added separately when needed; remove WPEWEBKIT_SYSTEM_MALLOC block
and WPEWEBKIT_QT config along with it
Update wpewebkit.in:
- Add select LIBXKBCOMMON: XkbCommon is now an unconditional
find_package(REQUIRED) in OptionsWPE.cmake
- Remove select WPEWEBKIT_QT and Qt5/Qt6 selects
Update license:
- Expand WPEWEBKIT_LICENSE from BSD-2-Clause to full SPDX expression
covering all license files present in the source tree
- Add WPEWEBKIT_LICENSE_FILES with paths and md5 hashes for
Source/WebCore, Source/JavaScriptCore and Source/WTF
Add cross-compilation fix patch:
PlatformWPE: link GLib::GioUnix to propagate gio-unix-2.0 includes
Signed-off-by: Artur Wiebe <artur@4wiebe.de>
---
...uild-fix.-Remove-when-fixed-upstream.patch | 20 ----------
| 28 -------------
patches/wpewebkit-2.49.3/series | 5 ---
...x-to-propagate-gio-unix-2.0-includes.patch | 32 +++++++++++++++
patches/wpewebkit-2.52.4/series | 1 +
rules/wpewebkit.in | 9 +----
rules/wpewebkit.make | 39 +++++++++----------
7 files changed, 52 insertions(+), 82 deletions(-)
delete mode 100644 patches/wpewebkit-2.49.3/0001-Unified-build-fix.-Remove-when-fixed-upstream.patch
delete mode 100644 patches/wpewebkit-2.49.3/0002-Add-missing-header-PageIdentifier.h.patch
delete mode 100644 patches/wpewebkit-2.49.3/series
create mode 100644 patches/wpewebkit-2.52.4/0002-PlatformWPE-link-GLib-GioUnix-to-propagate-gio-unix-2.0-includes.patch
create mode 100644 patches/wpewebkit-2.52.4/series
diff --git a/patches/wpewebkit-2.49.3/0001-Unified-build-fix.-Remove-when-fixed-upstream.patch b/patches/wpewebkit-2.49.3/0001-Unified-build-fix.-Remove-when-fixed-upstream.patch
deleted file mode 100644
index 70598993a..000000000
--- a/patches/wpewebkit-2.49.3/0001-Unified-build-fix.-Remove-when-fixed-upstream.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From: Miguel Gomez <magomez@igalia.com>
-Date: Thu, 19 Jun 2025 12:45:39 +0200
-Subject: [PATCH] Unified build fix. Remove when fixed upstream
-
----
- Source/WebKit/UIProcess/ProvisionalPageProxy.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/WebKit/UIProcess/ProvisionalPageProxy.h b/Source/WebKit/UIProcess/ProvisionalPageProxy.h
-index a1d831a61655..a0486033a6e0 100644
---- a/Source/WebKit/UIProcess/ProvisionalPageProxy.h
-+++ b/Source/WebKit/UIProcess/ProvisionalPageProxy.h
-@@ -34,6 +34,7 @@
- #include "WebFramePolicyListenerProxy.h"
- #include "WebPageProxyIdentifier.h"
- #include "WebPageProxyMessageReceiverRegistration.h"
-+#include "WebsiteDataStore.h"
- #include <WebCore/DiagnosticLoggingClient.h>
- #include <WebCore/FrameIdentifier.h>
- #include <WebCore/FrameLoaderClient.h>
diff --git a/patches/wpewebkit-2.49.3/0002-Add-missing-header-PageIdentifier.h.patch b/patches/wpewebkit-2.49.3/0002-Add-missing-header-PageIdentifier.h.patch
deleted file mode 100644
index dc8d3695a..000000000
--- a/patches/wpewebkit-2.49.3/0002-Add-missing-header-PageIdentifier.h.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Michael Tretter <m.tretter@pengutronix.de>
-Date: Wed, 9 Jul 2025 15:04:10 +0200
-Subject: [PATCH] Add missing header PageIdentifier.h
-
-Otherwise the build fails with the following error message:
-
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h:42:82: error: 'WebCore::PageIdentifier' has not been declared
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.cpp:34:1: error: no declaration matches 'WebKit::RemoteWorkerFrameLoaderClient::RemoteWorkerFrameLoaderClient(WebCore::FrameLoader&, WebKit::WebPageProxyIdentifier, WebCore::PageIdentifier, const WTF::String&)'
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h:40:7: note: candidates are: 'WebKit::RemoteWorkerFrameLoaderClient::RemoteWorkerFrameLoaderClient(WebKit::RemoteWorkerFrameLoaderClient&&)'
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h:40:7: note: 'WebKit::RemoteWorkerFrameLoaderClient::RemoteWorkerFrameLoaderClient(const WebKit::RemoteWorkerFrameLoaderClient&)'
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h:42:5: note: 'WebKit::RemoteWorkerFrameLoaderClient::RemoteWorkerFrameLoaderClient(WebCore::FrameLoader&, WebKit::WebPageProxyIdentifier, int, const WTF::String&)'
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h:40:7: note: 'class WebKit::RemoteWorkerFrameLoaderClient' defined here
----
- Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h b/Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h
-index ca2598c047ae..08923aec5944 100644
---- a/Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h
-+++ b/Source/WebKit/WebProcess/Storage/RemoteWorkerFrameLoaderClient.h
-@@ -26,6 +26,7 @@
- #pragma once
-
- #include "WebPageProxyIdentifier.h"
-+#include <WebCore/PageIdentifier.h>
- #include <WebCore/EmptyFrameLoaderClient.h>
- #include <WebCore/ScriptExecutionContextIdentifier.h>
-
diff --git a/patches/wpewebkit-2.49.3/series b/patches/wpewebkit-2.49.3/series
deleted file mode 100644
index 69617ed41..000000000
--- a/patches/wpewebkit-2.49.3/series
+++ /dev/null
@@ -1,5 +0,0 @@
-# generated by git-ptx-patches
-#tag:base --start-number 1
-0001-Unified-build-fix.-Remove-when-fixed-upstream.patch
-0002-Add-missing-header-PageIdentifier.h.patch
-# 97f2dbe9b3674b5a71d154ce895a1a6b - git-ptx-patches magic
diff --git a/patches/wpewebkit-2.52.4/0002-PlatformWPE-link-GLib-GioUnix-to-propagate-gio-unix-2.0-includes.patch b/patches/wpewebkit-2.52.4/0002-PlatformWPE-link-GLib-GioUnix-to-propagate-gio-unix-2.0-includes.patch
new file mode 100644
index 000000000..282088206
--- /dev/null
+++ b/patches/wpewebkit-2.52.4/0002-PlatformWPE-link-GLib-GioUnix-to-propagate-gio-unix-2.0-includes.patch
@@ -0,0 +1,32 @@
+From: Artur Wiebe <artur@4wiebe.de>
+Subject: [PATCH] WebKit/WPE: fix cross-compilation by declaring GLib::GioUnix dependency
+
+Several GLib platform files compiled as part of the WebKit library include
+gio-unix-2.0 headers (gunixfdmessage.h, gunixconnection.h, gunixfdlist.h,
+gunixinputstream.h, gdesktopappinfo.h), but the WebKit cmake target never
+declares GLib::GioUnix as a dependency. The gio-unix-2.0 include directory
+is therefore never passed to the compiler for these files.
+
+In native builds this goes unnoticed: pkg-config calls made while detecting
+other targets leak the gio-unix-2.0 include path into global cmake state,
+making it accidentally available everywhere. In a cross build the sysroot is
+isolated and include paths are strictly scoped to declared dependencies, so
+the missing declaration causes a build failure.
+
+Fix by adding GLib::GioUnix to WebKit_LIBRARIES so cmake correctly propagates
+the include directory to all files compiled as part of the WebKit target.
+
+---
+ Source/WebKit/PlatformWPE.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/Source/WebKit/PlatformWPE.cmake 2026-06-24 00:00:00.000000000 +0000
++++ b/Source/WebKit/PlatformWPE.cmake 2026-06-24 00:00:00.000000000 +0000
+@@ -467,6 +467,7 @@
+ )
+
+ list(APPEND WebKit_LIBRARIES
++ GLib::GioUnix
+ GLib::Module
+ Soup3::Soup3
+ )
diff --git a/patches/wpewebkit-2.52.4/series b/patches/wpewebkit-2.52.4/series
new file mode 100644
index 000000000..444f4f1b2
--- /dev/null
+++ b/patches/wpewebkit-2.52.4/series
@@ -0,0 +1 @@
+0002-PlatformWPE-link-GLib-GioUnix-to-propagate-gio-unix-2.0-includes.patch
diff --git a/rules/wpewebkit.in b/rules/wpewebkit.in
index a4d29af7d..507ba3d1f 100644
--- a/rules/wpewebkit.in
+++ b/rules/wpewebkit.in
@@ -25,6 +25,7 @@ menuconfig WPEWEBKIT
select HARFBUZZ_ICU
select GLIB_NETWORKING if RUNTIME
select LIBDRM
+ select LIBXKBCOMMON
select LIBJPEG
select LIBWEBP
select LIBWEBP_DEMUX
@@ -42,7 +43,6 @@ menuconfig WPEWEBKIT
select LIBEPOXY
select LIBGCRYPT
select LIBTASN1
- select WPEWEBKIT_VIDEO # Build with ENABLE_VIDEO=0 is broken
select OPENSSL if WPEWEBKIT_WEBRTC
select GSTREAMER1 if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO
select GST_PLUGINS_BASE1 if WPEWEBKIT_VIDEO || WPEWEBKIT_AUDIO
@@ -77,18 +77,12 @@ menuconfig WPEWEBKIT
select GST_PLUGINS_BAD1_VIDEOPARSERS if WPEWEBKIT_VIDEO
select GST_PLUGINS_BAD1_WEBRTC if WPEWEBKIT_WEBRTC
select WPEBACKEND_FDO
- select QT5 if WPEWEBKIT_QT
- select QT5_MODULE_QTDECLARATIVE if WPEWEBKIT_QT
select SYSTEMD if WPEWEBKIT_JOURNALD
help
WebPlatformForEmbedded port for the WebKit cross-platform web browser engine.
if WPEWEBKIT
-config WPEWEBKIT_QT
- bool
- prompt "Qt API"
-
config WPEWEBKIT_JOURNALD
bool
depends on INITMETHOD_SYSTEMD
@@ -97,7 +91,6 @@ config WPEWEBKIT_JOURNALD
config WPEWEBKIT_VIDEO
bool
- # fails to build without it
select WPEWEBKIT_AUDIO
prompt "video support"
diff --git a/rules/wpewebkit.make b/rules/wpewebkit.make
index 36d5259e2..12aa869af 100644
--- a/rules/wpewebkit.make
+++ b/rules/wpewebkit.make
@@ -14,14 +14,23 @@ PACKAGES-$(PTXCONF_WPEWEBKIT) += wpewebkit
#
# Paths and names
#
-WPEWEBKIT_VERSION := 2.49.3
-WPEWEBKIT_SHA256 := 52bfc6f424fd8728d71b0226f47b8cadba3d84f3fff218bb9e14c2e94ea89817
+WPEWEBKIT_VERSION := 2.52.4
+WPEWEBKIT_SHA256 := 01ca34cd7af880c038d35aa94482fee785a77db37b614c584475d7d43b3a2dc0
WPEWEBKIT := wpewebkit-$(WPEWEBKIT_VERSION)
WPEWEBKIT_SUFFIX := tar.xz
WPEWEBKIT_URL := https://wpewebkit.org/releases/$(WPEWEBKIT).$(WPEWEBKIT_SUFFIX)
WPEWEBKIT_SOURCE := $(SRCDIR)/$(WPEWEBKIT).$(WPEWEBKIT_SUFFIX)
WPEWEBKIT_DIR := $(BUILDDIR)/$(WPEWEBKIT)
-WPEWEBKIT_LICENSE := BSD-2-Clause
+WPEWEBKIT_LICENSE := BSD-2-Clause AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND Apache-2.0 AND MIT
+WPEWEBKIT_LICENSE_FILES := \
+ file://Source/WebCore/LICENSE-APPLE;md5=4646f90082c40bcf298c285f8bab0b12 \
+ file://Source/WebCore/LICENSE-LGPL-2;md5=36357ffde2b64ae177b2494445b79d21 \
+ file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf8b8a7c36b6eec80 \
+ file://Source/JavaScriptCore/COPYING.LIB;md5=d0c6d6397a5d84286dda758da57bd691 \
+ file://Source/WTF/LICENSE-dragonbox.txt;md5=3c547640926850c04616148a7f87a223 \
+ file://Source/WTF/LICENSE-libc++.txt;md5=7b3a0e1b99822669d630011defe9bfd9 \
+ file://Source/WTF/LICENSE-LLVM.txt;md5=0bcd48c3bdfef0c9d9fd17726e4b7dab \
+ file://Source/WTF/LICENSE-simde.txt;md5=b60de7db5b91c0b613d64e318151b0f1
# ----------------------------------------------------------------------------
# Prepare
@@ -53,11 +62,12 @@ WPEWEBKIT_CONF_OPT := \
-DENABLE_WEBKIT=ON \
-DENABLE_WEB_AUDIO=$(call ptx/onoff,PTXCONF_WPEWEBKIT_AUDIO) \
-DENABLE_WPE_1_1_API=OFF \
+ -DENABLE_WPE_LEGACY_API=ON \
-DENABLE_WPE_PLATFORM=OFF \
-DENABLE_WPE_PLATFORM_DRM=OFF \
-DENABLE_WPE_PLATFORM_HEADLESS=OFF \
-DENABLE_WPE_PLATFORM_WAYLAND=OFF \
- -DENABLE_WPE_QT_API=$(call ptx/onoff,PTXCONF_WPEWEBKIT_QT) \
+ -DENABLE_WPE_QT_API=OFF \
-DENABLE_XSLT=ON \
-DGCC_OFFLINEASM_SOURCE_MAP=OFF \
-DPORT=WPE \
@@ -72,29 +82,20 @@ WPEWEBKIT_CONF_OPT := \
-DUSE_CXX_STDLIB_ASSERTIONS=OFF \
-DUSE_FLITE=OFF \
-DUSE_GBM=ON \
- -DUSE_GSTREAMER_TRANSCODER=OFF \
+ -DUSE_GSTREAMER=$(call ptx/onoff,PTXCONF_WPEWEBKIT_AUDIO) \
-DUSE_GSTREAMER_WEBRTC=$(call ptx/onoff,PTXCONF_WPEWEBKIT_WEBRTC) \
-DUSE_JPEGXL=OFF \
-DUSE_LCMS=OFF \
+ -DUSE_LIBHYPHEN=OFF \
-DUSE_LIBBACKTRACE=OFF \
-DUSE_LIBDRM=ON \
- -DUSE_QT6=OFF \
-DUSE_SKIA_OPENTYPE_SVG=OFF \
-DUSE_THIN_ARCHIVES=ON \
-DUSE_WOFF2=OFF
-WPEWEBKIT_SYSTEM_MALLOC := OFF
-ifdef PTXCONF_WPEWEBKIT_QT
-ifdef PTXCONF_ARCH_ARM64
-WPEWEBKIT_SYSTEM_MALLOC := ON
-endif
-ifdef PTXCONF_ARCH_X86_64
-WPEWEBKIT_SYSTEM_MALLOC := ON
-endif
-endif
-
# private options
WPEWEBKIT_CONF_OPT += \
+ -DENABLE_GPU_PROCESS=OFF \
-DENABLE_MEDIA_RECORDER=OFF \
-DENABLE_MEDIA_SOURCE=ON \
-DENABLE_MEDIA_STREAM=$(call ptx/onoff,PTXCONF_WPEWEBKIT_WEBRTC) \
@@ -105,7 +106,7 @@ WPEWEBKIT_CONF_OPT += \
-DENABLE_WEB_RTC=$(call ptx/onoff,PTXCONF_WPEWEBKIT_WEBRTC) \
-DUSE_GSTREAMER_GL=OFF \
-DUSE_SYSPROF_CAPTURE=OFF \
- -DUSE_SYSTEM_MALLOC=$(WPEWEBKIT_SYSTEM_MALLOC) \
+ -DUSE_SYSTEM_MALLOC=OFF \
-DUSE_SYSTEM_SYSPROF_CAPTURE=OFF
ifdef PTXCONF_WPEWEBKIT_ENABLE_LOGGING
@@ -131,10 +132,6 @@ $(STATEDIR)/wpewebkit.targetinstall:
@$(call install_tree, wpewebkit, 0, 0, -, /usr/lib/wpe-webkit-2.0)
@$(call install_tree, wpewebkit, 0, 0, -, /usr/share/wpe-webkit-2.0)
-ifdef PTXCONF_WPEWEBKIT_QT
- @$(call install_tree, wpewebkit, 0, 0, -, /usr/lib/qt5/qml/org/wpewebkit)
-endif
-
ifdef PTXCONF_WPEWEBKIT_WEBDRIVER
@$(call install_copy, wpewebkit, 0, 0, 0755, -, /usr/bin/WPEWebDriver)
endif
--
2.54.0
reply other threads:[~2026-06-25 9:31 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260625093140.2240688-1-artur@4wiebe.de \
--to=ptxdist@pengutronix.de \
--cc=artur@4wiebe.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox