commit:     690cb936c556124fa6638f9638524db5de2bd3fd
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 30 10:13:47 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Mar 30 15:04:05 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=690cb936

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

Or probably clang-20 anyway, haven't confirmed that 19 works
for 6.8.3 (but definitely fine for 6.8.2, and the same bit of
code exists in it).

On that note, qtwebengine-6.8.2 is probably affected too, but
6.8.3 "should" be stabilized before clang-20 and it saves having
to test+change stable 6.8.2 for this.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../files/qtwebengine-6.8.3-clang20.patch          | 22 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild        |  1 +
 2 files changed, 23 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.8.3-clang20.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.8.3-clang20.patch
new file mode 100644
index 000000000000..1c0ab7ac2c89
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.8.3-clang20.patch
@@ -0,0 +1,22 @@
+api/candidate.h:96:40: error: 'lifetimebound' attribute cannot be
+applied to a parameter of a function that returns void
+
+Hardly know C++, but my "impression" is that this is not needed in
+a void function and webrtc was just trying to keep the attributes
+matching with other uses of it -- and that it is safe to remove.
+Guard behind __clang__ to limit damage in case misunderstanding.
+
+Only a temporary patch given Qt 6.9+ should not be affected as
+these types were changed entirely (difficult to backport).
+
+https://forums.gentoo.org/viewtopic-p-8858206.html
+--- a/src/3rdparty/chromium/third_party/webrtc/api/candidate.h
++++ b/src/3rdparty/chromium/third_party/webrtc/api/candidate.h
+@@ -95,3 +95,7 @@
+   // things down. See also the `Port` class.
++#ifdef __clang__
++  void set_type(absl::string_view type) {
++#else
+   void set_type(absl::string_view type ABSL_ATTRIBUTE_LIFETIME_BOUND) {
++#endif
+     Assign(type_, type);

diff --git a/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
index 6bf9723f1ccc..6270ea2dd3de 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.8.3.ebuild
@@ -112,6 +112,7 @@ PATCHES+=(
        "${FILESDIR}"/${PN}-6.8.1-aarch64-xnnpack.patch
        "${FILESDIR}"/${PN}-6.8.2-cstdint.patch
        "${FILESDIR}"/${PN}-6.8.2-glibc2.41.patch
+       "${FILESDIR}"/${PN}-6.8.3-clang20.patch
 )
 
 python_check_deps() {

Reply via email to