Skip to content

Commit

Permalink
wpewebkit,ci: Bump to version 2.46.0
Browse files Browse the repository at this point in the history
* Create new recipe for version 2.46.0
* Delete recipes for version 2.42.5

Changes:

* Skia is used instead of Cairo for 2D rendering, and GPU rendering is enabled by default.
* Offscreen Canvas is now enabled by default.
* Add support for system tracing using Sysprof.
* Add new API to load settings from a config file.
* Add a new setting to toggle 2D Canvas acceleration (enabled by default).
* Undeprecate console messages API and make it available in the 2.0 API.

Release Note: https://wpewebkit.org/release/wpewebkit-2.46.0.html

Also CI updates in the build tests jobs definitions:

* Update test jobs definitions to primary build 2.46.X
* Remove preset for 2.42 and add a new one for 2.42
  • Loading branch information
psaavedra committed Sep 19, 2024
1 parent 4860806 commit 963c326
Show file tree
Hide file tree
Showing 9 changed files with 125 additions and 373 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/test-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ jobs:
with:
repo_release: 'kirkstone'

kirkstone-raspberrypi3-mesa-weston-wpe-2-44:
kirkstone-raspberrypi3-mesa-weston-wpe-2-46:
runs-on: self-hosted
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/bitbake-build
with:
bitbake_source: 'raspberrypi3-mesa-wpe-2-44 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_44'
bitbake_source: 'raspberrypi3-mesa-wpe-2-46 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v3.wpe-2_46'
repo_release: 'kirkstone'
needs: kirkstone-repo

Expand All @@ -31,12 +31,12 @@ jobs:
with:
repo_release: 'scarthgap'

scarthgap-matrix-wpe-2-44:
scarthgap-matrix-wpe-2-46:
strategy:
fail-fast: false
matrix:
machine: ['raspberrypi3-mesa', 'raspberrypi4-64']
wpe_vers: ['2_44']
wpe_vers: ['2_46']
yocto_rel: ['scarthgap']
continue-on-error: true
runs-on: self-hosted
Expand All @@ -56,19 +56,19 @@ jobs:
- uses: actions/checkout@v3
- uses: ./.github/actions/bitbake-build
with:
bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_44'
bitbake_source: 'raspberrypi3-mesa-wpe-musl raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_46'
bitbake_prefix: 'TCLIBC=musl'
repo_release: 'scarthgap'
needs: scarthgap-repo

scarthgap-raspberrypi3-mesa-weston-wpe-2-42:
scarthgap-raspberrypi3-mesa-weston-wpe-2-44:
runs-on: self-hosted
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/bitbake-build
with:
bitbake_source: 'raspberrypi3-mesa-wpe-2-42 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_42'
bitbake_source: 'raspberrypi3-mesa-wpe-2-44 raspberrypi3-mesa poky layers.raspberrypi.webkit conf_v4.wpe-2_44'
repo_release: 'scarthgap'
needs: scarthgap-repo

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
PREFERRED_PROVIDER_virtual/libwpe = "libwpe"
PREFERRED_VERSION_cog = "0.18.%"
PREFERRED_VERSION_libwpe = "1.14.%"
PREFERRED_VERSION_libwpe = "1.16.%"
PREFERRED_VERSION_wpebackend-fdo = "1.14.%"
PREFERRED_VERSION_wpebackend-rdk = "1.20200213"
PREFERRED_VERSION_wpewebkit = "2.42.%"
PREFERRED_VERSION_wpewebkit = "2.44.%"
9 changes: 5 additions & 4 deletions recipes-browser/wpewebkit/wpewebkit.inc
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://Source/WebCore/LICENSE-LGPL-2.1;md5=a778a33ef338abbaf

DEPENDS:append = " \
libsoup \
bison-native gperf-native harfbuzz-native libxml2-native ccache-native ninja-native ruby-native cairo \
fontconfig freetype glib-2.0 harfbuzz icu jpeg pcre sqlite3 zlib libpng \
bison-native gperf-native harfbuzz-native libxml2-native ccache-native ninja-native ruby-native \
fontconfig freetype glib-2.0 harfbuzz icu jpeg pcre sqlite3 zlib libinput libpng libtasn1 \
libwebp libxml2 libxslt virtual/egl virtual/libgles2 libepoxy libgcrypt \
unifdef-native \
libwpe virtual/wpebackend \
Expand Down Expand Up @@ -61,13 +61,13 @@ export WK_USE_CCACHE="NO"
PACKAGECONFIG ??= "jit dfg-jit mediasource mediastream video webaudio webcrypto woff2 gst_gl \
remote-inspector openjpeg unified-builds service-worker \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'journald', '' ,d)} \
avif gbm speech-synthesis jpegxl accessibility lbse \
avif gbm speech-synthesis jpegxl accessibility lbse libbacktrace \
"

PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,,"
PACKAGECONFIG[release-with-debug-info] = "-DCMAKE_BUILD_TYPE=RelWithDebInfo,-DCMAKE_BUILD_TYPE=Release,,"
# WPE features
PACKAGECONFIG[accessibility] = "-DENABLE_ACCESSIBILITY=ON,-DENABLE_ACCESSIBILITY=OFF,atk at-spi2-atk"
PACKAGECONFIG[accessibility] = "-DUSE_ATK=ON,-DUSE_ATK=OFF,atk at-spi2-atk"
PACKAGECONFIG[avif] = "-DUSE_AVIF=ON,-DUSE_AVIF=OFF,libavif"
PACKAGECONFIG[bubblewrap] = "-DENABLE_BUBBLEWRAP_SANDBOX=ON -DBWRAP_EXECUTABLE=${bindir}/bwrap -DDBUS_PROXY_EXECUTABLE=${bindir}/xdg-dbus-proxy,-DENABLE_BUBBLEWRAP_SANDBOX=OFF,bubblewrap xdg-dbus-proxy libseccomp"
PACKAGECONFIG[developer-mode] = "-DDEVELOPER_MODE=ON,-DDEVELOPER_MODE=OFF,wayland-native wayland-protocols wpebackend-fdo"
Expand All @@ -87,6 +87,7 @@ PACKAGECONFIG[jpegxl] = "-DUSE_JPEGXL=ON,-DUSE_JPEGXL=OFF,libjxl"
PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,"
PACKAGECONFIG[lbse] = "-DENABLE_LAYER_BASED_SVG_ENGINE=ON,-DENABLE_LAYER_BASED_SVG_ENGINE=OFF, "
PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,"
PACKAGECONFIG[libbacktrace] = "-DUSE_LIBBACKTRACE=ON,-DUSE_LIBBACKTRACE=OFF,libbacktrace"
PACKAGECONFIG[minibrowser] = "-DENABLE_MINIBROWSER=ON,-DENABLE_MINIBROWSER=OFF,wayland-native wayland-protocols wpebackend-fdo"
PACKAGECONFIG[mediasource] = "-DENABLE_MEDIA_SOURCE=ON,-DENABLE_MEDIA_SOURCE=OFF,gstreamer1.0 gstreamer1.0-plugins-good"
PACKAGECONFIG[mediastream] = "-DENABLE_MEDIA_STREAM=ON -DUSE_GSTREAMER_TRANSCODER=OFF,-DENABLE_MEDIA_STREAM=OFF,gstreamer1.0 gstreamer1.0-plugins-bad"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
From e8256b1f3d581c97126a7f5a52e1be4a3f03d21a Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <[email protected]>
Date: Wed, 18 Sep 2024 07:11:34 -0700
Subject: [PATCH] [CMake][WPE] ENABLE_WPE_PLATFORM cannot be toggled
https://bugs.webkit.org/show_bug.cgi?id=279879

Reviewed by Carlos Garcia Campos.

Use WEBKIT_OPTION_DEFINE() to define ENABLE_WPE_PLATFORM, defaulting to
enabled for developer builds. Ensure that the option cannot be enabled
with the old 1.1 API with WEBKIT_OPTION_CONFLICT(), because WPEPlatform
uses functionality from the 2.0 API. While at it, fix a build failure
with ENABLE_WPE_PLATFORM=OFF.

* Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in: Replace an
ENABLE(2022_GLIB_API) guard with ENABLE(WPE_PLATFORM) around functions
that are available only when building the WPEPlatform library.
* Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp: Ditto.
* Source/cmake/OptionsWPE.cmake: Define option.

Canonical link: https://commits.webkit.org/283838@main
---
Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in | 4 ++--
Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp | 2 +-
Source/cmake/OptionsWPE.cmake | 5 +++--
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
index 1e3d3323f9ca..39a975473c58 100644
--- a/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
+++ b/Source/WebKit/UIProcess/API/glib/WebKitWebView.h.in
@@ -71,7 +71,7 @@
#include <wpe/WebKitColor.h>
#include <wpe/WebKitRectangle.h>
#include <wpe/WebKitWebViewBackend.h>
-#if ENABLE(2022_GLIB_API)
+#if ENABLE(WPE_PLATFORM)
#include <wpe/wpe-platform.h>
#endif
#endif
@@ -475,7 +475,7 @@ webkit_web_view_new_with_user_content_manager (WebKitWebViewBackend
WEBKIT_API WebKitWebViewBackend *
webkit_web_view_get_backend (WebKitWebView *web_view);

-#if ENABLE(2022_GLIB_API)
+#if ENABLE(WPE_PLATFORM)
WEBKIT_API WPEDisplay *
webkit_web_view_get_display (WebKitWebView *web_view);

diff --git a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp
index 697ce0c5a2bf..eb0c2505df78 100644
--- a/Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp
+++ b/Source/WebKit/UIProcess/API/wpe/WebKitWebViewWPE.cpp
@@ -295,7 +295,7 @@ guint createShowOptionMenuSignal(WebKitWebViewClass* webViewClass)
WEBKIT_TYPE_RECTANGLE | G_SIGNAL_TYPE_STATIC_SCOPE);
}

-#if ENABLE(2022_GLIB_API)
+#if ENABLE(WPE_PLATFORM)
/**
* webkit_web_view_toggle_inspector:
* @web_view: a #WebKitWebView
diff --git a/Source/cmake/OptionsWPE.cmake b/Source/cmake/OptionsWPE.cmake
index 25a60e4113a0..d76e21ef682a 100644
--- a/Source/cmake/OptionsWPE.cmake
+++ b/Source/cmake/OptionsWPE.cmake
@@ -96,6 +96,7 @@ endif ()
WEBKIT_OPTION_DEFINE(ENABLE_DOCUMENTATION "Whether to generate documentation." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION "Whether to enable GObject introspection." PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PUBLIC ON)
+WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM "Whether to enable the WPEPlatform library" PUBLIC ${ENABLE_DEVELOPER_MODE})
WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_DRM "Whether to enable support for DRM platform" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_HEADLESS "Whether to enable support for headless platform" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_WPE_PLATFORM_WAYLAND "Whether to enable support for Wayland platform" PUBLIC ON)
@@ -113,6 +114,8 @@ WEBKIT_OPTION_DEFINE(USE_EXTERNAL_HOLEPUNCH "Whether to enable external holepunc
WEBKIT_OPTION_DEFINE(USE_SYSPROF_CAPTURE "Whether to use libsysprof-capture for tracing." PRIVATE ON)
WEBKIT_OPTION_DEFINE(USE_SYSTEM_SYSPROF_CAPTURE "Whether to use a system-provided libsysprof-capture" PRIVATE ${USE_SYSTEM_SYSPROF_CAPTURE_DEFAULT})

+WEBKIT_OPTION_CONFLICT(ENABLE_WPE_PLATFORM ENABLE_WPE_1_1_API)
+
WEBKIT_OPTION_DEPEND(ENABLE_DOCUMENTATION ENABLE_INTROSPECTION)
WEBKIT_OPTION_DEPEND(USE_SYSTEM_SYSPROF_CAPTURE USE_SYSPROF_CAPTURE)

@@ -181,8 +184,6 @@ else ()
endif ()
find_package(GLIB ${GLIB_MINIMUM_VERSION} REQUIRED COMPONENTS gio gio-unix gobject gthread gmodule)

-SET_AND_EXPOSE_TO_BUILD(ENABLE_WPE_PLATFORM ${ENABLE_2022_GLIB_API})
-
if (WPE_API_VERSION VERSION_EQUAL "1.1")
CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(WEBKIT 8 3 8)
else ()
--
2.43.0

Loading

0 comments on commit 963c326

Please sign in to comment.