wpewebkit,webkitgtk: Bump to version 2.46.0
- 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 Notes:
- https://wpewebkit.org/release/wpewebkit-2.46.0.html
- 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
@psaavedra Changes LGTM in general. We may want to add this somewhere in
wpewebkit.inc, though:EXTRA_OECMAKE += "-DENABLE_WPE_PLATFORM=OFF"(See this message in the mailing list, I forgot to make that option disabled by default in the release branch.)
Actually, that won't work, there's an unconditional SET_AND_EXPOSE_TO_BUILD(), I'm making a patch.
@psaavedra Changes LGTM in general. We may want to add this somewhere in
wpewebkit.inc, though:EXTRA_OECMAKE += "-DENABLE_WPE_PLATFORM=OFF"(See this message in the mailing list, I forgot to make that option disabled by default in the release branch.)
Actually, that won't work, there's an unconditional
SET_AND_EXPOSE_TO_BUILD(), I'm making a patch.
Here's the patch needed to be able to toggle the option: https://github.com/WebKit/WebKit/pull/33819
@aperezdc , I have a doubt for the GTK build: | -- No package 'sysprof-capture-4' found. Is sysprof really a mandatory depends? Can we set this depends off?
@aperezdc , I have a doubt for the GTK build: | -- No package 'sysprof-capture-4' found. Is sysprof really a mandatory depends? Can we set this depends off?
You can go with -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF to use the bundled copy of the library, or -DUSE_SYSPROF_CAPTURE=OFF to completely disable the feature.
we are getting a build error for the WebKitGTK build:
2024-09-19T10:40:08.8312493Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:35:5: error: expected identifier before numeric constant
2024-09-19T10:40:08.8314249Z | 35 | Success,
2024-09-19T10:40:08.8314565Z | | ^~~~~~~
2024-09-19T10:40:08.8316408Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:35:5: error: expected '}' before numeric constant
2024-09-19T10:40:08.8319541Z | In file included from /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResultInlines.h:28,
2024-09-19T10:40:08.8322401Z | from /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/IsoHeapInlines.h:31,
2024-09-19T10:40:08.8325041Z | from /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/WTF/Headers/wtf/TZoneMallocInlines.h:58,
2024-09-19T10:40:08.8327893Z | from /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/webkitgtk-2.46.0/Source/WebKit/UIProcess/gtk/PointerLockManagerX11.cpp:34:
2024-09-19T10:40:08.8330867Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:34:28: note: to match this '{'
2024-09-19T10:40:08.8332470Z | 34 | enum class EligibilityKind {
2024-09-19T10:40:08.8332889Z | | ^
2024-09-19T10:40:08.8334978Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:35:5: error: expected unqualified-id before numeric constant
2024-09-19T10:40:08.8336719Z | 35 | Success,
2024-09-19T10:40:08.8337030Z | | ^~~~~~~
2024-09-19T10:40:08.8339221Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:44:22: warning: unnecessary parentheses in declaration of 'EligibilityKind' [-Wparentheses]
2024-09-19T10:40:08.8341210Z | 44 | EligibilityResult(EligibilityKind);
2024-09-19T10:40:08.8341683Z | | ^~~~~~~~~~~~~~~~~
2024-09-19T10:40:08.8343497Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:44:22: note: remove parentheses
2024-09-19T10:40:08.8345154Z | 44 | EligibilityResult(EligibilityKind);
2024-09-19T10:40:08.8345627Z | | ^~~~~~~~~~~~~~~~~
2024-09-19T10:40:08.8346133Z | | - -
2024-09-19T10:40:08.8348328Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:44:23: error: field 'EligibilityKind' has incomplete type 'EligibilityResult<Config>'
2024-09-19T10:40:08.8350293Z | 44 | EligibilityResult(EligibilityKind);
2024-09-19T10:40:08.8350762Z | | ^~~~~~~~~~~~~~~
2024-09-19T10:40:08.8353022Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:41:8: note: definition of 'struct EligibilityResult<Config>' is not complete until the closing brace
2024-09-19T10:40:08.8355020Z | 41 | struct EligibilityResult {
2024-09-19T10:40:08.8355423Z | | ^~~~~~~~~~~~~~~~~
2024-09-19T10:40:08.8357270Z | /home/bot/yocto-webkit-scarthgap/builds/raspberrypi3-mesa-webkitgtk/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/webkitgtk/2.46.0/build/bmalloc/Headers/bmalloc/EligibilityResult.h:45:30: error: expected ')' before '<' token
2024-09-19T10:40:08.8358997Z | 45 | EligibilityResult(IsoPage<Config>*);
2024-09-19T10:40:08.8359461Z | | ~ ^
2024-09-19T10:40:08.8359896Z | | )
I am not familiar with this code. The error indicates that Success is being treated as a numeric constant or macro, possibly because Success has been defined somewhere else, potentially as a macro or constant.
Likely the issue could be related with this flag:
//Whether to enable support for the X11 windowing target.
ENABLE_X11_TARGET:BOOL=ON
Maybe you will want to pick WebKitGTK 2.46.1 and wait for the corresponding WPE release 😉.
Likely the issue could be related with this flag:
//Whether to enable support for the X11 windowing target. ENABLE_X11_TARGET:BOOL=ON
issue: https://bugs.webkit.org/show_bug.cgi?id=278858
I still have a couple of comments.
Also, the build is currently broken with
-DENABLE_VIDEO=OFF(both inmainand in the 2.46 release branch); there are patches being worked on for this.
Could you be more specific? I see https://github.com/WebKit/WebKit/pull/35004 which is being about to be landed which this partially depends of 2f4378eb7afab. Is this what you are making a reference in you previous comment?
I still have a couple of comments. Also, the build is currently broken with
-DENABLE_VIDEO=OFF(both inmainand in the 2.46 release branch); there are patches being worked on for this.Could you be more specific? I see WebKit/WebKit#35004 which is being about to be landed which this partially depends of 2f4378eb7afab. Is this what you are making a reference in you previous comment?
All these three patches to be able to build with multimedia support disabled:
- https://github.com/WebKit/WebKit/pull/34923
- https://github.com/WebKit/WebKit/pull/35004 (this is the one you linked above)
- https://github.com/WebKit/WebKit/pull/35147
I have backported them all into the webkitglib/2.46 branch:
- https://github.com/WebKit/WebKit/commit/6b59562904cd85cebdd91106308d35c5e112858d
- https://github.com/WebKit/WebKit/commit/99989ffdf40b0290d9129a76a5128987f7299728
- https://github.com/WebKit/WebKit/commit/3f520c14f646445b2b242ace42a8aadd0d834a3b
If you are going to import the patches into meta-webkit, pick them from the release branch, because the second one has some additional fixes by me.
If you are going to import the patches into
meta-webkit, pick them from the release branch, because the second one has some additional fixes by me.
About the ENABLE(MEDIA_SESSION), I indeed left this part out in commit 2f4378eb7afab.
@aperezdc : are you going to push this to main branch too?
@psaavedra And one more fix for ARM NEON (needed e.g. for the Raspberry Pi 4) → https://github.com/WebKit/WebKit/pull/35244
@blino I will push the ENABLE(MEDIA_SESSION) bits to main, yes.
Thanks @aperezdc I will take care of those patches and I will add it in a subsequent PR. 🙇🏼