webkitgtk: upgrade 2.48.0 -> 2.48.1

Includes fix for CVE-2024-54551, CVE-2025-24208,CVE-2025-24209,
CVE-2025-24213, CVE-2025-24216, CVE-2025-24264 and CVE-2025-30427

Changelog:
=========
- Limit the data stored in session state.
- Remove the empty area below the title bar in Web Inspector when not docked.
- Fix the build with GST_DISABLE_GST_DEBUG.
- Fix the build with GStreamer < 1.20.
- Fix the build with video disabled.
- Fix the build with clang 20.

Drop 0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch
and 0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch
which are part of upgrade.

(From OE-Core rev: f03c7c572e3dcc1d1966e76b7a73df6e96ee0df1)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yogita Urade 2025-04-16 07:05:33 +00:00 committed by Richard Purdie
parent ff121ad52f
commit f7d2280d04
3 changed files with 1 additions and 155 deletions

View File

@ -1,75 +0,0 @@
From 83093455d02d73a327cea502d974aac82b59ad17 Mon Sep 17 00:00:00 2001
From: Adrian Perez de Castro <aperez@igalia.com>
Date: Tue, 18 Mar 2025 07:39:01 -0700
Subject: [PATCH] Cherry-pick 292304@main (7ffc29624258).
https://bugs.webkit.org/show_bug.cgi?id=289953
[GTK][WPE] Use _LIBCPP_HARDENING_MODE with newer libc++ versions
https://bugs.webkit.org/show_bug.cgi?id=289953
Reviewed by Alicia Boya Garcia.
* Source/cmake/OptionsCommon.cmake: Add a new check for the libc++
version, if it is 19 or newer, use the new _LIBCPP_HARDENING_MODE
macro, otherwise for older versions keep _LIBCPP_ENABLE_ASSERTIONS.
Canonical link: https://commits.webkit.org/292304@main
Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2c105443d41e5ce3de3a4cac2ed8a07ebd134459]
Canonical link: https://commits.webkit.org/290945.71@webkitglib/2.48
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Source/cmake/OptionsCommon.cmake | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/Source/cmake/OptionsCommon.cmake b/Source/cmake/OptionsCommon.cmake
index f6cf5ee..3178674 100644
--- a/Source/cmake/OptionsCommon.cmake
+++ b/Source/cmake/OptionsCommon.cmake
@@ -229,8 +229,22 @@ set(CXX_STDLIB_TEST_SOURCE "
")
check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP)
if (CXX_STDLIB_IS_LIBCPP)
- set(CXX_STDLIB_VARIANT "LIBCPP")
- set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS)
+ set(CXX_STDLIB_TEST_SOURCE "
+ #include <utility>
+ #if _LIBCPP_VERSION >= 190000
+ int main() { }
+ #else
+ #error libc++ is older than 19.x
+ #endif
+ ")
+ check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_LIBCPP_19_OR_NEWER)
+ if (CXX_STDLIB_IS_LIBCPP_19_OR_NEWER)
+ set(CXX_STDLIB_VARIANT "LIBCPP 19+")
+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE)
+ else ()
+ set(CXX_STDLIB_VARIANT "LIBCPP <19")
+ set(CXX_STDLIB_ASSERTIONS_MACRO _LIBCPP_ENABLE_ASSERTIONS=1)
+ endif ()
else ()
set(CXX_STDLIB_TEST_SOURCE "
#include <utility>
@@ -239,7 +253,7 @@ else ()
check_cxx_source_compiles("${CXX_STDLIB_TEST_SOURCE}" CXX_STDLIB_IS_GLIBCXX)
if (CXX_STDLIB_IS_GLIBCXX)
set(CXX_STDLIB_VARIANT "GLIBCXX")
- set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS)
+ set(CXX_STDLIB_ASSERTIONS_MACRO _GLIBCXX_ASSERTIONS=1)
endif ()
endif ()
message(STATUS "C++ standard library in use: ${CXX_STDLIB_VARIANT}")
@@ -255,8 +269,8 @@ option(USE_CXX_STDLIB_ASSERTIONS
if (USE_CXX_STDLIB_ASSERTIONS)
if (CXX_STDLIB_ASSERTIONS_MACRO)
- message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}=1")
- add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}=1")
+ message(STATUS " Assertions enabled, ${CXX_STDLIB_ASSERTIONS_MACRO}")
+ add_compile_definitions("${CXX_STDLIB_ASSERTIONS_MACRO}")
else ()
message(STATUS " Assertions disabled, CXX_STDLIB_ASSERTIONS_MACRO undefined")
endif ()

View File

@ -1,77 +0,0 @@
From 7d159a631ae55c10a0b7a92cf031200a11629736 Mon Sep 17 00:00:00 2001
From: Fujii Hironori <Hironori.Fujii@sony.com>
Date: Tue, 18 Mar 2025 10:25:47 +0900
Subject: [PATCH] EnumTraits.h: error: no matching function for call to
'enumName' with Clang 20 https://bugs.webkit.org/show_bug.cgi?id=289669
Reviewed by NOBODY (OOPS!).
Clang 20 couldn't compile EnumTraits.h.
> wtf/EnumTraits.h:212:33: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'V'
An invalid enum value can't be specifed to the template parameter `V`.
> template<auto V> constexpr std::span<const char> enumName()
The upstream Magic Enum C++ has a template variable `is_enum_constexpr_static_cast_valid<E, V>` to check a enum value is valid.
<https://github.com/Neargye/magic_enum/blob/a413fcc9c46a020a746907136a384c227f3cd095/include/magic_enum/magic_enum.hpp#L624-L634>
Imported the template variable.
* Source/WTF/wtf/EnumTraits.h:
(WTF::enumName):
(WTF::makeEnumNames):
Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/42597]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Source/WTF/wtf/EnumTraits.h | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/Source/WTF/wtf/EnumTraits.h b/Source/WTF/wtf/EnumTraits.h
index 0d33e39a..95e6318b 100644
--- a/Source/WTF/wtf/EnumTraits.h
+++ b/Source/WTF/wtf/EnumTraits.h
@@ -152,6 +152,16 @@ constexpr bool isZeroBasedContiguousEnum()
#pragma clang diagnostic ignored "-Wenum-constexpr-conversion"
#endif
+#if COMPILER(CLANG) && __clang_major__ >= 16
+template <typename E, auto V, typename = void>
+inline constexpr bool isEnumConstexprStaticCastValid = false;
+template <typename E, auto V>
+inline constexpr bool isEnumConstexprStaticCastValid<E, V, std::void_t<std::integral_constant<E, static_cast<E>(V)>>> = true;
+#else
+template <typename, auto>
+inline constexpr bool isEnumConstexprStaticCastValid = true;
+#endif
+
template<typename E>
constexpr std::span<const char> enumTypeNameImpl()
{
@@ -215,6 +225,15 @@ constexpr std::span<const char> enumName()
return result;
}
+template<typename E, auto V>
+constexpr std::span<const char> enumName()
+{
+ if constexpr (isEnumConstexprStaticCastValid<E, V>)
+ return enumName<static_cast<E>(V)>();
+ else
+ return { };
+}
+
template<typename E>
constexpr std::underlying_type_t<E> enumNamesMin()
{
@@ -264,7 +283,7 @@ constexpr auto makeEnumNames(std::index_sequence<Is...>)
{
constexpr auto min = enumNamesMin<E>();
return std::array<std::span<const char>, sizeof...(Is)> {
- enumName<static_cast<E>(static_cast<std::underlying_type_t<E>>(Is) + min)>()...
+ enumName<E, static_cast<std::underlying_type_t<E>>(Is) + min>()...
};
}

View File

@ -16,12 +16,10 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \
file://no-musttail-arm.patch \ file://no-musttail-arm.patch \
file://t6-not-declared.patch \ file://t6-not-declared.patch \
file://sys_futex.patch \ file://sys_futex.patch \
file://0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch \
file://0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch \
file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \ file://0001-Fix-build-errors-on-RISCV-https-bugs.webkit.org-show.patch \
file://fix-ftbfs-riscv64.patch \ file://fix-ftbfs-riscv64.patch \
" "
SRC_URI[sha256sum] = "94904a55cf12d44a4e36ceadafff02d46da73d76be9b4769f34cbfdf0eebf88e" SRC_URI[sha256sum] = "98efdf21c4cdca0fe0b73ab5a8cb52093b5aa52d9b1b016a93f71dbfa1eb258f"
inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen