[packages/wpe-webkit1.1] - updated to 2.52.4 + fixes from gtk-webkit4.1 + build fix for API 1.1

qboosh qboosh at pld-linux.org
Sun Jun 14 17:09:41 CEST 2026


commit 2a1e9a9a34c44f4d88cae6a6fcb4a3fffe9810d2
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Jun 14 17:10:01 2026 +0200

    - updated to 2.52.4 + fixes from gtk-webkit4.1 + build fix for API 1.1

 max-bundle-size.patch                  |  11 ++
 webkitgtk-serializers.patch            | 209 +++++++++++++++++++++++++++++++++
 wpe-webkit-driver-version-suffix.patch |   8 +-
 wpe-webkit-x32.patch                   |  11 ++
 wpe-webkit1.1.spec                     |  59 ++++++----
 wpewebkit-api1.1-fixes.patch           |  20 ++++
 6 files changed, 289 insertions(+), 29 deletions(-)
---
diff --git a/wpe-webkit1.1.spec b/wpe-webkit1.1.spec
index 6144e27..7a748f2 100644
--- a/wpe-webkit1.1.spec
+++ b/wpe-webkit1.1.spec
@@ -1,12 +1,12 @@
 # TODO: review configure options:
-# - ENABLE_WEBXR (experimental; BR: OpenXR >= 1.0.9, openxr.pc)?
-# - ENABLE_ENCRYPTED_MEDIA, ENABLE_THUNDER (experimental; https://github.com/rdkcentral/Thunder)?
 # - FTL_JIT on !x86_64?
 # - WEB_RTC (experimental; BR: gstreamer-plugins-bad-devel (webrtc component) >= 1.20, openssl-devel)
 # - WEB_RTC+MEDIA_STREAM (BR: openwebrtc)
-# - ENABLE_WPE_PLATFORM? (BR: libinput-devel >= 1.19.0 wayland-devel >= 1.20 wayland-protocols >= 1.24 xorg-lib-libxkbcommon-devel >= 0.4.0)
+# - ENABLE_ENCRYPTED_MEDIA, ENABLE_THUNDER (experimental; https://github.com/rdkcentral/Thunder)?
+# - ENABLE_WPE_PLATFORM? (BR: libinput-devel >= 1.19.0 wayland-devel >= 1.20 wayland-protocols >= 1.24 xorg-lib-libxkbcommon-devel >= 0.4.0 instead of libwpe; API 2.0 only)
 # - ENABLE_WPE_QT_API? (developer mode)
 # - WEBDRIVER_BIDI (experimental)
+# - ENABLE_WEBXR (experimental; BR: OpenXR >= 1.0.20)
 #
 # Conditional build:
 %bcond_without	api_1_1		# libWPEWebKit-1.1 (libsoup3 based) variant
@@ -14,23 +14,24 @@
 %bcond_with	lowmem		# try to reduce build memory usage by adjusting gcc gc
 #
 # it's not possible to build this with debuginfo on 32bit archs due to
-# memory constraints during linking
-%ifarch %{ix86} x32
+# memory constraints during linking and x86_64 debuginfo packages kill poldek
 %define		_enable_debug_packages		0
-%endif
 Summary:	Port of WebKit embeddable web component to WPE with HTTP/2 support
 Summary(pl.UTF-8):	Port osadzalnego komponentu WWW WebKit do WPE z obsługą HTTP/2
 Name:		wpe-webkit1.1
-# NOTE: 2.48.x is stable, 2.49.x devel
-Version:	2.48.1
-Release:	3
+# NOTE: 2.52.x is stable, 2.53.x devel
+Version:	2.52.4
+Release:	1
 License:	BSD-like
 Group:		X11/Libraries
 Source0:	https://wpewebkit.org/releases/wpewebkit-%{version}.tar.xz
-# Source0-md5:	ec281adecf623944647443296eff30fd
+# Source0-md5:	77e544c3578000456de199fd4fa1c493
 Patch0:		wpe-webkit-x32.patch
+Patch1:		wpewebkit-api1.1-fixes.patch
 Patch2:		wpe-webkit-driver-version-suffix.patch
 Patch3:		parallel-gir.patch
+Patch4:		max-bundle-size.patch
+Patch5:		webkitgtk-serializers.patch
 URL:		https://wpewebkit.org/
 BuildRequires:	/usr/bin/ld.gold
 BuildRequires:	EGL-devel
@@ -46,6 +47,7 @@ BuildRequires:	docbook-dtd412-xml
 BuildRequires:	flite-devel >= 2.2
 BuildRequires:	fontconfig-devel >= 2.13.0
 BuildRequires:	freetype-devel >= 1:2.9.0
+BuildRequires:	gettext-tools
 BuildRequires:	gi-docgen
 BuildRequires:	glib2-devel >= 1:2.70.0
 BuildRequires:	glibc-misc
@@ -61,6 +63,7 @@ BuildRequires:	gstreamer-plugins-base-devel >= 1.18.4
 BuildRequires:	gstreamer-transcoder-devel >= 1.20
 BuildRequires:	harfbuzz-devel >= 2.7.4
 BuildRequires:	harfbuzz-icu-devel >= 2.7.4
+BuildRequires:	hyphen-devel
 BuildRequires:	lcms2-devel >= 2
 BuildRequires:	libavif-devel >= 0.9.0
 BuildRequires:	libdrm-devel
@@ -69,11 +72,13 @@ BuildRequires:	libgcrypt-devel >= 1.7.0
 BuildRequires:	libicu-devel >= 70.1
 BuildRequires:	libjpeg-devel
 BuildRequires:	libjxl-devel >= 0.7.0
+# WPE_PLATFORM only
+#BuildRequires:	libmanette-devel >= 0.2.4
 BuildRequires:	libpng-devel
 BuildRequires:	libseccomp-devel
 BuildRequires:	libsoup3-devel >= 3.0
-# -std=c++23
-BuildRequires:	libstdc++-devel >= 6:11.2
+# -std=c++23; WebKitCommon.cmake says gcc 12.2.0 is minimum
+BuildRequires:	libstdc++-devel >= 6:12.2
 BuildRequires:	libtasn1-devel
 BuildRequires:	libwebp-devel
 BuildRequires:	libwpe-devel >= 1.14.0
@@ -103,7 +108,7 @@ Requires:	atk >= 1:2.16.0
 Requires:	cairo >= 1.16.0
 Requires:	fontconfig-libs >= 2.13.0
 Requires:	freetype >= 1:2.9.0
-Requires:	glib2 >= 1:2.67.1
+Requires:	glib2 >= 1:2.70.0
 Requires:	gstreamer >= 1.2.3
 Requires:	gstreamer-plugins-base >= 1.2.3
 Requires:	harfbuzz >= 2.7.4
@@ -121,8 +126,6 @@ Requires:	wpebackend-fdo >= 1.9.0
 ExclusiveArch:	%{ix86} %{x8664} x32 %{arm} aarch64 hppa mips ppc ppc64 ppc64le s390 s390x sh4
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define		_enable_debug_packages	0
-
 %description
 wpe-webkit1.1 is a port of the WebKit embeddable web component to WPE
 with HTTP/2 (libsoup 3) support.
@@ -142,7 +145,7 @@ Summary:	Development files for WebKit for WPE
 Summary(pl.UTF-8):	Pliki programistyczne komponentu WebKit dla WPE
 Group:		X11/Development/Libraries
 Requires:	%{name} = %{version}-%{release}
-Requires:	glib2-devel >= 1:2.67.1
+Requires:	glib2-devel >= 1:2.70.0
 Requires:	libsoup3-devel >= 3.0.0
 Requires:	libstdc++-devel >= 6:11.2
 Requires:	libwpe-devel >= 1.14.0
@@ -234,12 +237,16 @@ Dokumentacja API portu WebKitu do WPE z obsługą HTTP/2.
 %prep
 %setup -q -n wpewebkit-%{version}
 %patch -P0 -p1
+%patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
+%patch -P4 -p1
+%patch -P5 -p1
 
 %build
 CXXFLAGS="%{rpmcxxflags} -DNDEBUG %{?with_lowmem:--param ggc-min-expand=20 --param ggc-min-heapsize=65536}"
 for kind in %{?with_api_1_1:soup3-1.1} %{?with_api_2_0:soup3-2.0} ; do
+# USE_SYSTEM_MALLOC=ON (default in 32-bit builds) is broken as of v2.52.4 (bmalloc_CopyHeaders referred unconditionally in Source/JavaScriptCore/CMakeLists.txt)
 %cmake -B build-${kind} \
 	-DENABLE_GEOLOCATION=ON \
 	-DENABLE_GTKDOC=ON \
@@ -257,7 +264,9 @@ for kind in %{?with_api_1_1:soup3-1.1} %{?with_api_2_0:soup3-2.0} ; do
 %endif
 	-DPORT=WPE \
 	-DSHOULD_INSTALL_JS_SHELL=ON \
-	-DUSE_LIBBACKTRACE=OFF
+	-DUSE_LIBBACKTRACE=OFF \
+	-DUSE_SYSTEM_MALLOC=OFF \
+	%{?max_bundle_size:-DUNIFIED_BUILD_MAX_BUNDLE_SIZE=%{max_bundle_size}}
 
 %{__make} -C build-${kind}
 done
@@ -287,8 +296,8 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc NEWS
 %attr(755,root,root) %{_bindir}/WPEWebDriver-1.1
-%attr(755,root,root) %{_libdir}/libWPEWebKit-1.1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-1.1.so.0
+%{_libdir}/libWPEWebKit-1.1.so.*.*.*
+%ghost %{_libdir}/libWPEWebKit-1.1.so.0
 %{_libdir}/girepository-1.0/WPEJavaScriptCore-1.1.typelib
 %{_libdir}/girepository-1.0/WPEWebExtension-1.1.typelib
 %{_libdir}/girepository-1.0/WPEWebKit-1.1.typelib
@@ -301,12 +310,12 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libexecdir}/wpe-webkit-1.1/jsc
 %dir %{_libdir}/wpe-webkit-1.1
 %dir %{_libdir}/wpe-webkit-1.1/injected-bundle
-%attr(755,root,root) %{_libdir}/wpe-webkit-1.1/injected-bundle/libWPEInjectedBundle.so
+%{_libdir}/wpe-webkit-1.1/injected-bundle/libWPEInjectedBundle.so
 %{_datadir}/wpe-webkit-1.1
 
 %files devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libWPEWebKit-1.1.so
+%{_libdir}/libWPEWebKit-1.1.so
 %{_includedir}/wpe-webkit-1.1
 %{_datadir}/gir-1.0/WPEJavaScriptCore-1.1.gir
 %{_datadir}/gir-1.0/WPEWebExtension-1.1.gir
@@ -326,8 +335,8 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc NEWS
 %attr(755,root,root) %{_bindir}/WPEWebDriver-2.0
-%attr(755,root,root) %{_libdir}/libWPEWebKit-2.0.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libWPEWebKit-2.0.so.1
+%{_libdir}/libWPEWebKit-2.0.so.*.*.*
+%ghost %{_libdir}/libWPEWebKit-2.0.so.1
 %{_libdir}/girepository-1.0/WPEJavaScriptCore-2.0.typelib
 %{_libdir}/girepository-1.0/WPEWebKit-2.0.typelib
 %{_libdir}/girepository-1.0/WPEWebProcessExtension-2.0.typelib
@@ -340,12 +349,12 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libexecdir}/wpe-webkit-2.0/jsc
 %dir %{_libdir}/wpe-webkit-2.0
 %dir %{_libdir}/wpe-webkit-2.0/injected-bundle
-%attr(755,root,root) %{_libdir}/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so
+%{_libdir}/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so
 %{_datadir}/wpe-webkit-2.0
 
 %files -n wpe-webkit2-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libWPEWebKit-2.0.so
+%{_libdir}/libWPEWebKit-2.0.so
 %{_includedir}/wpe-webkit-2.0
 %{_datadir}/gir-1.0/WPEJavaScriptCore-2.0.gir
 %{_datadir}/gir-1.0/WPEWebKit-2.0.gir
diff --git a/max-bundle-size.patch b/max-bundle-size.patch
new file mode 100644
index 0000000..0765210
--- /dev/null
+++ b/max-bundle-size.patch
@@ -0,0 +1,11 @@
+--- webkitgtk-2.50.4/Source/cmake/WebKitMacros.cmake.orig	2025-08-08 11:17:56.304456000 +0200
++++ webkitgtk-2.50.4/Source/cmake/WebKitMacros.cmake	2026-01-23 12:48:45.426052097 +0100
+@@ -16,6 +16,8 @@
+     # Windows needs a larger bundle size because that helps keep WebCore.lib's size below the 4GB maximum in debug builds.
+     if (MSVC AND ${_framework} STREQUAL "WebCore" AND ${_framework}_LIBRARY_TYPE STREQUAL "STATIC")
+         list(APPEND gusb_args --max-bundle-size 16)
++    elseif (UNIFIED_BUILD_MAX_BUNDLE_SIZE)
++        list(APPEND gusb_args --max-bundle-size ${UNIFIED_BUILD_MAX_BUNDLE_SIZE})
+     endif ()
+ 
+     if (ENABLE_UNIFIED_BUILDS)
diff --git a/webkitgtk-serializers.patch b/webkitgtk-serializers.patch
new file mode 100644
index 0000000..bdbbf11
--- /dev/null
+++ b/webkitgtk-serializers.patch
@@ -0,0 +1,209 @@
+Based on commit https://github.com/WebKit/WebKit/commit/9823057a18307774342fa90acf9c0e1c189e30a8
+but with "Shared" part split additionally in 4 files to let compilation fit in 3GB address space
+
+--- webkitgtk-2.52.4/Source/WebKit/CMakeLists.txt.orig	2026-06-11 06:12:49.003188621 +0200
++++ webkitgtk-2.52.4/Source/WebKit/CMakeLists.txt	2026-06-11 06:27:30.225366168 +0200
+@@ -943,7 +943,17 @@ list(APPEND WebKit_SERIALIZATION_DEPENDE
+ 
+ list(APPEND WebKit_DERIVED_SOURCES
+     ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.h
+-    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersShared.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedRemoteLayerTree.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedWebCoreArgumentCoders.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedWebGPU.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersWebProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersGPUProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersNetworkProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersPlatform.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersModelProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersUIProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++    ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersCommon.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+     ${WebKit_DERIVED_SOURCES_DIR}/SerializedTypeInfo.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+     ${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+ )
+@@ -951,7 +961,17 @@ list(APPEND WebKit_DERIVED_SOURCES
+ add_custom_command(
+     OUTPUT
+         ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.h
+-        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializers.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersShared.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedRemoteLayerTree.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedWebCoreArgumentCoders.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersSharedWebGPU.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersWebProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersGPUProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersNetworkProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersPlatform.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersModelProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersUIProcess.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
++        ${WebKit_DERIVED_SOURCES_DIR}/GeneratedSerializersCommon.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+         ${WebKit_DERIVED_SOURCES_DIR}/SerializedTypeInfo.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+         ${WebKit_DERIVED_SOURCES_DIR}/WebKitPlatformGeneratedSerializers.${WebKit_GENERATED_SERIALIZERS_SUFFIX}
+     MAIN_DEPENDENCY ${WEBKIT_DIR}/Scripts/generate-serializers.py
+--- webkitgtk-2.52.4/Source/WebKit/Scripts/generate-serializers.py.orig	2026-06-11 06:13:09.926528604 +0200
++++ webkitgtk-2.52.4/Source/WebKit/Scripts/generate-serializers.py	2026-06-11 06:28:56.328233042 +0200
+@@ -30,6 +30,40 @@ import sys
+ 
+ from webkit.opaque_ipc_types import is_opaque_type, opaque_ipc_types
+ 
++# Directories under Source/WebKit/ that get their own per-domain
++# GeneratedSerializers<Domain>.{mm,cpp} translation unit when invoked with
++# --split-by-directory. Anything not matching one of these falls into
++# GeneratedSerializersCommon.{mm,cpp} (the residual bucket).
++KNOWN_DOMAINS = ['Shared', 'SharedRemoteLayerTree', 'SharedWebGPU', 'SharedWebCoreArgumentCoders', 'WebProcess', 'GPUProcess', 'NetworkProcess', 'Platform', 'ModelProcess', 'UIProcess']
++RESIDUAL_DOMAIN = '__residual__'
++
++
++def derive_source_directory(input_file_path):
++    """Return the top-level subdirectory under Source/WebKit/ for a .serialization.in path,
++    or None if the file doesn't live under Source/WebKit/<DIR>/...
++    """
++    parts = os.path.normpath(input_file_path).split(os.sep)
++    for i in range(len(parts) - 2):
++        if parts[i] == 'Source' and parts[i + 1] == 'WebKit':
++            if parts[i + 2] == "Shared":
++                if parts[i + 3] in {"WebGPU", "RemoteLayerTree"}:
++                    return f"Shared{parts[i+3]}"
++                elif parts[i + 3].startswith("WebCoreArgumentCoders"):
++                    return "SharedWebCoreArgumentCoders"
++                return "Shared"
++            return parts[i + 2]
++    return None
++
++
++def matches_domain(item, domain_filter):
++    """Filter helper used by argument_coder_declarations and generate_impl."""
++    if domain_filter is None:
++        return True
++    source_directory = getattr(item, 'source_directory', None)
++    if domain_filter == RESIDUAL_DOMAIN:
++        return source_directory not in KNOWN_DOMAINS
++    return source_directory == domain_filter
++
+ # Supported type attributes:
+ #
+ # AdditionalEncoder - generate serializers for StreamConnectionEncoder in addition to IPC::Encoder.
+@@ -106,6 +140,7 @@ class SerializedType(object):
+         self.disableMissingMemberCheck = False
+         self.debug_decoding_failure = False
+         self.generic_wrapper = None
++        self.source_directory = None
+         if attributes is not None:
+             for attribute in attributes.split(', '):
+                 if '=' in attribute:
+@@ -273,6 +308,7 @@ class SerializedEnum(object):
+         self.valid_values = valid_values
+         self.condition = condition
+         self.attributes = attributes
++        self.source_directory = None
+ 
+     def namespace_and_name(self):
+         if self.namespace is None:
+@@ -572,13 +608,15 @@ def one_argument_coder_declaration(type,
+     return result
+ 
+ 
+-def argument_coder_declarations(serialized_types, skip_nested, webkit_platform):
++def argument_coder_declarations(serialized_types, skip_nested, webkit_platform, domain_filter=None):
+     result = []
+     for type in serialized_types:
+         if type.nested == skip_nested:
+             continue
+         if (webkit_platform is not None and type.webkit_platform != webkit_platform):
+             continue
++        if not matches_domain(type, domain_filter):
++            continue
+         if type.templates:
+             for template in type.templates:
+                 result.extend(one_argument_coder_declaration(type, template))
+@@ -1157,7 +1195,7 @@ def generate_one_impl(type, template_arg
+     return result
+ 
+ 
+-def generate_impl(serialized_types, serialized_enums, headers, generating_webkit_platform_impl, objc_wrapped_types):
++def generate_impl(serialized_types, serialized_enums, headers, generating_webkit_platform_impl, objc_wrapped_types, domain_filter=None):
+     result = []
+     result.append(_license_header)
+     result.append('#include "config.h"')
+@@ -1218,12 +1256,14 @@ def generate_impl(serialized_types, seri
+             result.append(f'#endif // {type.condition}')
+         result.append('')
+ 
+-    result = result + argument_coder_declarations(serialized_types, False, generating_webkit_platform_impl)
++    result = result + argument_coder_declarations(serialized_types, False, generating_webkit_platform_impl, domain_filter=domain_filter)
+     result.append('')
+ 
+     for type in serialized_types:
+         if type.webkit_platform != generating_webkit_platform_impl:
+             continue
++        if not matches_domain(type, domain_filter):
++            continue
+         if type.templates:
+             for template in type.templates:
+                 result.extend(generate_one_impl(type, template, serialized_types))
+@@ -1237,6 +1277,8 @@ def generate_impl(serialized_types, seri
+             continue
+         if not type.members_are_subclasses:
+             continue
++        if not matches_domain(type, domain_filter):
++            continue
+         result.append('')
+         if type.condition is not None:
+             result.append(f'#if {type.condition}')
+@@ -1261,6 +1303,8 @@ def generate_impl(serialized_types, seri
+     for enum in serialized_enums:
+         if enum.is_webkit_platform() != generating_webkit_platform_impl:
+             continue
++        if not matches_domain(enum, domain_filter):
++            continue
+         result.append('')
+         if enum.condition is not None:
+             result.append(f'#if {enum.condition}')
+@@ -2026,6 +2070,7 @@ def generate_webkit_secure_coding_header
+ 
+ 
+ def main(argv):
++    split_by_directory = True
+     serialized_types = []
+     serialized_enums = []
+     using_statements = []
+@@ -2036,12 +2081,15 @@ def main(argv):
+     additional_forward_declarations_list = []
+     file_extension = argv[1]
+     for i in range(2, len(argv)):
++        source_directory = derive_source_directory(argv[i])
+         with open(argv[i]) as file:
+             new_types, new_enums, new_headers, new_using_statements, new_additional_forward_declarations, new_objc_wrapped_types = parse_serialized_types(file)
+             for type in new_types:
+                 type.enforce_opaque_ipc_types_usage()
++                type.source_directory = source_directory
+                 serialized_types.append(type)
+             for enum in new_enums:
++                enum.source_directory = source_directory
+                 serialized_enums.append(enum)
+             for using_statement in new_using_statements:
+                 using_statement.enforce_opaque_ipc_types_usage()
+@@ -2058,8 +2106,20 @@ def main(argv):
+ 
+     with open('GeneratedSerializers.h', "w+") as output:
+         output.write(generate_header(serialized_types, serialized_enums, additional_forward_declarations_list))
+-    with open('GeneratedSerializers.%s' % file_extension, "w+") as output:
+-        output.write(generate_impl(serialized_types, serialized_enums, headers, False, []))
++    if split_by_directory:
++        for domain in KNOWN_DOMAINS:
++            with open(f'GeneratedSerializers{domain}.{file_extension}', "w+") as output:
++                output.write(generate_impl(serialized_types, serialized_enums, headers, False, [], domain_filter=domain))
++        with open(f'GeneratedSerializersCommon.{file_extension}', "w+") as output:
++            output.write(generate_impl(serialized_types, serialized_enums, headers, False, [], domain_filter=RESIDUAL_DOMAIN))
++
++        residual_types = [t.namespace_and_name() for t in serialized_types
++                          if not t.webkit_platform and t.source_directory not in KNOWN_DOMAINS]
++        if residual_types:
++            sys.stderr.write(f'generate-serializers.py: {len(residual_types)} type(s) fell into GeneratedSerializersCommon.{file_extension} (residual bucket): {", ".join(sorted(set(residual_types))[:10])}{"..." if len(residual_types) > 10 else ""}\n')
++    else:
++        with open('GeneratedSerializers.%s' % file_extension, "w+") as output:
++            output.write(generate_impl(serialized_types, serialized_enums, headers, False, []))
+     with open('WebKitPlatformGeneratedSerializers.%s' % file_extension, "w+") as output:
+         output.write(generate_impl(serialized_types, serialized_enums, headers, True, objc_wrapped_types))
+     with open('SerializedTypeInfo.%s' % file_extension, "w+") as output:
diff --git a/wpe-webkit-driver-version-suffix.patch b/wpe-webkit-driver-version-suffix.patch
index 8f2d53b..7159233 100644
--- a/wpe-webkit-driver-version-suffix.patch
+++ b/wpe-webkit-driver-version-suffix.patch
@@ -1,8 +1,8 @@
---- wpewebkit-2.38.6/Source/WebDriver/PlatformWPE.cmake.orig	2022-08-19 13:14:27.800098000 +0200
-+++ wpewebkit-2.38.6/Source/WebDriver/PlatformWPE.cmake	2023-05-08 06:29:06.521434626 +0200
+--- wpewebkit-2.52.4/Source/WebDriver/PlatformWPE.cmake.orig	2026-02-23 15:40:56.091297100 +0100
++++ wpewebkit-2.52.4/Source/WebDriver/PlatformWPE.cmake	2026-06-13 11:06:58.648943121 +0200
 @@ -1,4 +1,4 @@
 -set(WebDriver_OUTPUT_NAME WPEWebDriver)
 +set(WebDriver_OUTPUT_NAME WPEWebDriver-${WPE_API_VERSION})
  
- list(APPEND WebDriver_SYSTEM_INCLUDE_DIRECTORIES
-     "${GLIB_INCLUDE_DIRS}"
+ list(APPEND WebDriver_SOURCES
+     glib/SessionHostGlib.cpp
diff --git a/wpe-webkit-x32.patch b/wpe-webkit-x32.patch
index 62cffb6..ef1b358 100644
--- a/wpe-webkit-x32.patch
+++ b/wpe-webkit-x32.patch
@@ -31,3 +31,14 @@ Index: webkitgtk/Source/WTF/wtf/Platform.h
      elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x64|x86_64|amd64)")
          # FORCE_32BIT is set in the build script when --32-bit is passed
          # on a Linux/intel 64bit host. This allows us to produce 32bit
+--- webkitgtk-2.52.4/Source/bmalloc/bmalloc/Gigacage.h.orig	2026-05-18 13:52:11.862685200 +0200
++++ webkitgtk-2.52.4/Source/bmalloc/bmalloc/Gigacage.h	2026-06-14 13:15:08.543763015 +0200
+@@ -43,7 +43,7 @@
+ #endif
+ 
+ #if ((BOS(DARWIN) || BOS(LINUX)) && \
+-    (BCPU(X86_64) || (BCPU(ARM64) && !defined(__ILP32__) && (!BPLATFORM(IOS_FAMILY) || BPLATFORM(IOS)))))
++    (BCPU(X86_64) && !defined(__ILP32__) || (BCPU(ARM64) && !defined(__ILP32__) && (!BPLATFORM(IOS_FAMILY) || BPLATFORM(IOS)))))
+ #define GIGACAGE_ENABLED 1
+ #else
+ #define GIGACAGE_ENABLED 0
diff --git a/wpewebkit-api1.1-fixes.patch b/wpewebkit-api1.1-fixes.patch
new file mode 100644
index 0000000..0a7d7e7
--- /dev/null
+++ b/wpewebkit-api1.1-fixes.patch
@@ -0,0 +1,20 @@
+--- wpewebkit-2.52.4/Source/WebKit/PlatformWPE.cmake.orig	2026-03-11 22:45:48.372039000 +0100
++++ wpewebkit-2.52.4/Source/WebKit/PlatformWPE.cmake	2026-06-14 10:15:13.222512124 +0200
+@@ -246,6 +246,7 @@ if (ENABLE_2022_GLIB_API)
+     )
+     list(APPEND WebKit_SOURCES
+         ${WEBKIT_DIR}/UIProcess/API/glib/WebKitWebExtension.cpp
++        ${WEBKIT_DIR}/UIProcess/API/glib/WebKitWebExtensionMatchPattern.cpp
+     )
+ endif ()
+ 
+--- wpewebkit-2.52.4/Source/WebKit/SourcesWPE.txt.orig	2026-02-23 15:40:56.394295500 +0100
++++ wpewebkit-2.52.4/Source/WebKit/SourcesWPE.txt	2026-06-14 10:12:36.003049748 +0200
+@@ -189,7 +189,6 @@ UIProcess/API/glib/WebKitUserContentMana
+ UIProcess/API/glib/WebKitUserMediaPermissionRequest.cpp @no-unify
+ UIProcess/API/glib/WebKitVersion.cpp @no-unify
+ UIProcess/API/glib/WebKitWebContext.cpp @no-unify
+-UIProcess/API/glib/WebKitWebExtensionMatchPattern.cpp @no-unify
+ UIProcess/API/glib/WebKitWebResource.cpp @no-unify
+ UIProcess/API/glib/WebKitWebResourceLoadManager.cpp @no-unify
+ UIProcess/API/glib/WebKitWebView.cpp @no-unify
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/wpe-webkit1.1.git/commitdiff/2a1e9a9a34c44f4d88cae6a6fcb4a3fffe9810d2



More information about the pld-cvs-commit mailing list