commit:     c4915de8acd4391836a6d651450dc431c837705e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 11 11:01:05 2026 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Feb 12 04:24:50 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c4915de8

dev-qt/qtwebengine: fix build with clang-22

Or at least issues on qtwebengine's side. If using libcxx it may still
fail until libcxx-22 _rc4 or final releases. Built for me on llvm-musl
using libcxx-22.1.0_rc3 plus the backport from bug #968956 comment #7

Closes: https://bugs.gentoo.org/968956
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.10.2-clang-22.patch        | 23 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.10.2.ebuild       |  1 +
 dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild    |  1 +
 dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild    |  1 +
 4 files changed, 26 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch
new file mode 100644
index 000000000000..bdbc9c8c751b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.10.2-clang-22.patch
@@ -0,0 +1,23 @@
+Patch status: fixed in >=chromium-141.0.7365.0
+
+https://bugs.gentoo.org/968956
+https://crbug.com/438445382
+https://crrev.com/820ca85d1e918a399abf471d97b37d99be892f1f
+https://skia.googlesource.com/skcms.git/+/135488419331
+https://skia.googlesource.com/skcms.git/+/02ca44da98eb
+https://skia.googlesource.com/skcms.git/+/238fd0489c04
+https://skia.googlesource.com/skcms.git/+/c602c137fb05
+--- a/src/3rdparty/chromium/third_party/skia/modules/skcms/src/Transform_inl.h
++++ b/src/3rdparty/chromium/third_party/skia/modules/skcms/src/Transform_inl.h
+@@ -162,6 +162,11 @@
+     return (F)_mm512_cvtph_ps((__m256i)half);
+ #elif defined(USING_AVX_F16C)
++#if defined(__clang__) && __clang_major__ >= 15 // for _Float16 support
++    typedef _Float16 __attribute__((vector_size(16))) F16;
++    return __builtin_convertvector((F16)half, F);
++#else
+     typedef int16_t __attribute__((vector_size(16))) I16;
+     return __builtin_ia32_vcvtph2ps256((I16)half);
++#endif // defined(__clang))
+ #else
+     U32 wide = cast<U32>(half);

diff --git a/dev-qt/qtwebengine/qtwebengine-6.10.2.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.10.2.ebuild
index f773b7ff9bf1..afb7684206a3 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.10.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.10.2.ebuild
@@ -109,6 +109,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
        "${FILESDIR}"/${PN}-6.10.1-clang-bfd.patch
+       "${FILESDIR}"/${PN}-6.10.2-clang-22.patch
        "${FILESDIR}"/${PN}-6.10.2-glibc-2.43.patch
 )
 

diff --git a/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
index d328c3f8f14a..2a2a37b530bd 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.10.9999.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.10.2-clang-22.patch
        "${FILESDIR}"/${PN}-6.10.2-glibc-2.43.patch
 )
 

diff --git a/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild
index b7a8a5e6d178..b10fa2819c46 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.11.9999.ebuild
@@ -108,6 +108,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.10.2-clang-22.patch
        "${FILESDIR}"/${PN}-6.10.2-glibc-2.43.patch
 )
 

Reply via email to