diff options
| author | Gyorgy Sarvari <skandigraun@gmail.com> | 2026-02-16 13:06:42 +0100 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2026-02-16 10:25:50 -0800 |
| commit | 27edae565fecfa137b64e8d783c80e93915bb6a4 (patch) | |
| tree | 45adad00921543ac53d7efd2553da94cc31d7320 | |
| parent | 5b830f4539e4b0d446ae5dfb523eda17d29e4223 (diff) | |
| download | meta-openembedded-27edae565fecfa137b64e8d783c80e93915bb6a4.tar.gz | |
webkitgtk3: upgrade 2.48.7 -> 2.50.5
Includes fixes for CVE-2025-13502, CVE-2025-13947, CVE-2025-43421,
CVE-2025-43458 and CVE-2025-66287.
Drop libsoup2 support. Even though this particular version still supports
it, this is the last major version that is not libsoup3-only. Starting
with version 2.52 (which is only 3-4 weeks away at the time of writing this
message) upstream is dropping libsoup2 support completely[1].
This is a proactive removal of this feature, the sooner users start the
migration, the better.
Made opengl a mandatory DISTRO_FEATURE: libepoxy requires it, which is both
a direct dependency, and an indirect one from gtk+3.
Changelogs:
https://webkitgtk.org/2026/02/09/webkitgtk2.50.5-released.html
https://webkitgtk.org/2025/12/16/webkitgtk2.50.4-released.html
https://webkitgtk.org/2025/12/04/webkitgtk2.50.3-released.html
https://webkitgtk.org/2025/11/19/webkitgtk2.50.2-released.html
https://webkitgtk.org/2025/10/10/webkitgtk2.50.1-released.html
https://webkitgtk.org/2025/09/17/webkitgtk2.50.0-released.html
[1]: https://webkitgtk.org/2025/10/07/webkitgtk-soup2-deprecation.html
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch | 12 | ||||
| -rw-r--r-- | meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb (renamed from meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb) | 17 |
2 files changed, 15 insertions, 14 deletions
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch index 367e6b8342..411164433a 100644 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3/no-musttail-arm.patch | |||
| @@ -23,12 +23,12 @@ diff --git a/Source/WTF/wtf/Compiler.h b/Source/WTF/wtf/Compiler.h | |||
| 23 | index 16e416d..68dd9a0 100644 | 23 | index 16e416d..68dd9a0 100644 |
| 24 | --- a/Source/WTF/wtf/Compiler.h | 24 | --- a/Source/WTF/wtf/Compiler.h |
| 25 | +++ b/Source/WTF/wtf/Compiler.h | 25 | +++ b/Source/WTF/wtf/Compiler.h |
| 26 | @@ -293,7 +293,7 @@ | 26 | @@ -290,7 +290,7 @@ |
| 27 | #if COMPILER(CLANG) | 27 | // written for 64-bit may fail to tail call on 32-bit. |
| 28 | #if __SIZEOF_POINTER__ == 8 | 28 | // It also doesn't work on ppc64le: https://github.com/llvm/llvm-project/issues/98859 |
| 29 | #if !defined(MUST_TAIL_CALL) && defined(__cplusplus) && defined(__has_cpp_attribute) | 29 | // and on Windows: https://github.com/llvm/llvm-project/issues/116568 |
| 30 | -#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) | 30 | -#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) |
| 31 | +#if __has_cpp_attribute(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__) | 31 | +#if !defined(MUST_TAIL_CALL) && COMPILER(CLANG) && __SIZEOF_POINTER__ == 8 && defined(__cplusplus) && COMPILER_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc__) && !defined(_WIN32) && !defined(__arm__) |
| 32 | #define MUST_TAIL_CALL [[clang::musttail]] | 32 | #define MUST_TAIL_CALL [[clang::musttail]] |
| 33 | #define HAVE_MUST_TAIL_CALL 1 | 33 | #define HAVE_MUST_TAIL_CALL 1 |
| 34 | #endif | 34 | #endif |
diff --git a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb index 118592d42b..9be30506d6 100644 --- a/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.48.7.bb +++ b/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.50.5.bb | |||
| @@ -23,14 +23,14 @@ SRC_URI = "https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \ | |||
| 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ | 23 | file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \ |
| 24 | file://0001-Fix-32bit-arm.patch \ | 24 | file://0001-Fix-32bit-arm.patch \ |
| 25 | " | 25 | " |
| 26 | SRC_URI[sha256sum] = "2c62aebb608e09f930a539f3623a5cc8023b5068029f42a208f45f9124da6e30" | 26 | SRC_URI[sha256sum] = "8737631bac3e9c7ad3e5208f9370e076c09d9c45b39980021ce54edadcc6f94f" |
| 27 | 27 | ||
| 28 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen | 28 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen |
| 29 | 29 | ||
| 30 | S = "${UNPACKDIR}/webkitgtk-${PV}" | 30 | S = "${UNPACKDIR}/webkitgtk-${PV}" |
| 31 | 31 | ||
| 32 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 32 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
| 33 | REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" | 33 | REQUIRED_DISTRO_FEATURES = "opengl" |
| 34 | 34 | ||
| 35 | CVE_PRODUCT = "webkitgtk webkitgtk\+" | 35 | CVE_PRODUCT = "webkitgtk webkitgtk\+" |
| 36 | 36 | ||
| @@ -51,11 +51,10 @@ DEPENDS += " \ | |||
| 51 | gstreamer1.0-plugins-base \ | 51 | gstreamer1.0-plugins-base \ |
| 52 | glib-2.0-native \ | 52 | glib-2.0-native \ |
| 53 | gettext-native \ | 53 | gettext-native \ |
| 54 | libsoup \ | ||
| 55 | libepoxy \ | ||
| 54 | " | 56 | " |
| 55 | 57 | ||
| 56 | # using soup2 builds (JavaScript) API version 4.0 | ||
| 57 | # using soup3 builds (JavaScript) API version 4.1 | ||
| 58 | PACKAGECONFIG_SOUP ?= "soup3" | ||
| 59 | PACKAGECONFIG ??= " \ | 58 | PACKAGECONFIG ??= " \ |
| 60 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ | 59 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd wayland x11', d)} \ |
| 61 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ | 60 | ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'webgl opengl', '', d)} \ |
| @@ -63,7 +62,6 @@ PACKAGECONFIG ??= " \ | |||
| 63 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ | 62 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl-or-es', '', d)} \ |
| 64 | enchant \ | 63 | enchant \ |
| 65 | libsecret \ | 64 | libsecret \ |
| 66 | ${PACKAGECONFIG_SOUP} \ | ||
| 67 | " | 65 | " |
| 68 | 66 | ||
| 69 | PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" | 67 | PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND_TARGET=ON,-DENABLE_WAYLAND_TARGET=OFF,wayland libwpe wpebackend-fdo wayland-native" |
| @@ -83,8 +81,6 @@ PACKAGECONFIG[openjpeg] = "-DUSE_OPENJPEG=ON,-DUSE_OPENJPEG=OFF,openjpeg" | |||
| 83 | PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" | 81 | PACKAGECONFIG[systemd] = "-DUSE_SYSTEMD=ON,-DUSE_SYSTEMD=off,systemd" |
| 84 | PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," | 82 | PACKAGECONFIG[reduce-size] = "-DCMAKE_BUILD_TYPE=MinSizeRel,-DCMAKE_BUILD_TYPE=Release,," |
| 85 | PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" | 83 | PACKAGECONFIG[lcms] = "-DUSE_LCMS=ON,-DUSE_LCMS=OFF,lcms" |
| 86 | PACKAGECONFIG[soup2] = "-DUSE_SOUP2=ON,-DUSE_SOUP2=OFF,libsoup-2.4,,,soup3" | ||
| 87 | PACKAGECONFIG[soup3] = ",,libsoup,,,soup2" | ||
| 88 | PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" | 84 | PACKAGECONFIG[journald] = "-DENABLE_JOURNALD_LOG=ON,-DENABLE_JOURNALD_LOG=OFF,systemd" |
| 89 | PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" | 85 | PACKAGECONFIG[avif] = "-DUSE_AVIF_LOG=ON,-DUSE_AVIF=OFF,libavif" |
| 90 | PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" | 86 | PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad" |
| @@ -103,6 +99,7 @@ EXTRA_OECMAKE = " \ | |||
| 103 | ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \ | 99 | ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFF', d)} \ |
| 104 | -DENABLE_MINIBROWSER=ON \ | 100 | -DENABLE_MINIBROWSER=ON \ |
| 105 | -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ | 101 | -DCMAKE_EXPORT_COMPILE_COMMANDS=OFF \ |
| 102 | -DUSE_SOUP2=OFF \ | ||
| 106 | " | 103 | " |
| 107 | # pass -g1 to massively reduce the size of the debug symbols (4.3GB to 700M at time of writing) | 104 | # pass -g1 to massively reduce the size of the debug symbols (4.3GB to 700M at time of writing) |
| 108 | DEBUG_LEVELFLAG = "-g1" | 105 | DEBUG_LEVELFLAG = "-g1" |
| @@ -181,3 +178,7 @@ src_package_preprocess () { | |||
| 181 | ${B}/WebKitGTK/DerivedSources/webkit/*.cpp | 178 | ${B}/WebKitGTK/DerivedSources/webkit/*.cpp |
| 182 | } | 179 | } |
| 183 | 180 | ||
| 181 | |||
| 182 | # complation fails with Clang-21 issue - https://github.com/llvm/llvm-project/issues/132322 | ||
| 183 | # Can be removed when clang is updated to v22 | ||
| 184 | TOOLCHAIN:arm = "gcc" | ||
