commit:     cd804c66f16a9999a72e5b7c21433854a8f8931c
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 25 12:52:37 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Sun Feb 25 18:45:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd804c66

dev-qt/qtwebengine: fix build with upcoming clang18

Do not want to trigger rebuilds over this, so straight-to-stable
with no revbump.

Entirely untested for 6.7, not worrying too much until 6.7.0-rc.
With some luck Qt may backport this themselves before release.
Will move in patchset later if the patch needs to stay.

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

 .../files/qtwebengine-6.6.2-clang18.patch          | 80 ++++++++++++++++++
 .../files/qtwebengine-6.7.0-clang18.patch          | 96 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild     |  1 +
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild     |  1 +
 5 files changed, 179 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch
new file mode 100644
index 000000000000..97dbe299c2b3
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.6.2-clang18.patch
@@ -0,0 +1,80 @@
+Patch status: fixed in >=chromium-122.0.6200.0
+
+https://bugs.gentoo.org/925486
+https://webrtc.googlesource.com/src/+/267f9bdd5
+https://webrtc-review.googlesource.com/c/src/+/332240
+--- a/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
++++ b/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
+@@ -190,7 +190,7 @@
+       {StatsReport::kStatsValueNamePreemptiveExpandRate,
+        info.preemptive_expand_rate},
+-      {StatsReport::kStatsValueNameTotalAudioEnergy, 
info.total_output_energy},
++      {StatsReport::kStatsValueNameTotalAudioEnergy, 
static_cast<float>(info.total_output_energy)},
+       {StatsReport::kStatsValueNameTotalSamplesDuration,
+-       info.total_output_duration}};
++       static_cast<float>(info.total_output_duration)}};
+ 
+   const IntForAdd ints[] = {
+@@ -246,7 +246,7 @@
+ 
+   const FloatForAdd floats[] = {
+-      {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_input_energy},
++      {StatsReport::kStatsValueNameTotalAudioEnergy, 
static_cast<float>(info.total_input_energy)},
+       {StatsReport::kStatsValueNameTotalSamplesDuration,
+-       info.total_input_duration}};
++       static_cast<float>(info.total_input_duration)}};
+ 
+   RTC_DCHECK_GE(info.audio_level, 0);
+@@ -342,5 +342,5 @@
+       {StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms},
+       {StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms},
+-      {StatsReport::kStatsValueNameFramesDecoded, info.frames_decoded},
++      {StatsReport::kStatsValueNameFramesDecoded, 
static_cast<int>(info.frames_decoded)},
+   };
+ 
+@@ -386,13 +386,13 @@
+       {StatsReport::kStatsValueNameFirsReceived, info.firs_rcvd},
+       {StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height},
+-      {StatsReport::kStatsValueNameFrameRateInput, 
round(info.framerate_input)},
++      {StatsReport::kStatsValueNameFrameRateInput, 
static_cast<int>(round(info.framerate_input))},
+       {StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent},
+       {StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width},
+-      {StatsReport::kStatsValueNameNacksReceived, info.nacks_rcvd},
++      {StatsReport::kStatsValueNameNacksReceived, 
static_cast<int>(info.nacks_rcvd)},
+       {StatsReport::kStatsValueNamePacketsLost, info.packets_lost},
+       {StatsReport::kStatsValueNamePacketsSent, info.packets_sent},
+       {StatsReport::kStatsValueNamePlisReceived, info.plis_rcvd},
+-      {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded},
+-      {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent},
++      {StatsReport::kStatsValueNameFramesEncoded, 
static_cast<int>(info.frames_encoded)},
++      {StatsReport::kStatsValueNameHugeFramesSent, 
static_cast<int>(info.huge_frames_sent)},
+   };
+ 
+@@ -783,17 +783,17 @@
+ 
+   const Int64ForAdd int64s[] = {
+-      {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes},
+-      {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes},
+-      {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets},
+-      {StatsReport::kStatsValueNameRtt, info.rtt},
++      {StatsReport::kStatsValueNameBytesReceived, 
static_cast<long>(info.recv_total_bytes)},
++      {StatsReport::kStatsValueNameBytesSent, 
static_cast<long>(info.sent_total_bytes)},
++      {StatsReport::kStatsValueNamePacketsSent, 
static_cast<long>(info.sent_total_packets)},
++      {StatsReport::kStatsValueNameRtt, static_cast<long>(info.rtt)},
+       {StatsReport::kStatsValueNameSendPacketsDiscarded,
+-       info.sent_discarded_packets},
++       static_cast<long>(info.sent_discarded_packets)},
+       {StatsReport::kStatsValueNameSentPingRequestsTotal,
+-       info.sent_ping_requests_total},
++       static_cast<long>(info.sent_ping_requests_total)},
+       {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse,
+-       info.sent_ping_requests_before_first_response},
+-      {StatsReport::kStatsValueNameSentPingResponses, 
info.sent_ping_responses},
+-      {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests},
+-      {StatsReport::kStatsValueNameRecvPingResponses, 
info.recv_ping_responses},
++       static_cast<long>(info.sent_ping_requests_before_first_response)},
++      {StatsReport::kStatsValueNameSentPingResponses, 
static_cast<long>(info.sent_ping_responses)},
++      {StatsReport::kStatsValueNameRecvPingRequests, 
static_cast<long>(info.recv_ping_requests)},
++      {StatsReport::kStatsValueNameRecvPingResponses, 
static_cast<long>(info.recv_ping_responses)},
+   };
+   for (const auto& i : int64s)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-6.7.0-clang18.patch 
b/dev-qt/qtwebengine/files/qtwebengine-6.7.0-clang18.patch
new file mode 100644
index 000000000000..c5ae8cc17c5a
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-6.7.0-clang18.patch
@@ -0,0 +1,96 @@
+Patch status: fixed in >=chromium-122.0.6200.0
+
+https://bugs.gentoo.org/925486
+https://webrtc-review.googlesource.com/c/src/+/332240
+https://webrtc.googlesource.com/src/+/267f9bdd5
+From: Tommi <to...@webrtc.org>
+Date: Thu, 21 Dec 2023 14:08:26 +0100
+Subject: [PATCH] Update LegacyStatsCollector to conform with Wc++11-narrowing
+--- a/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
++++ b/src/3rdparty/chromium/third_party/webrtc/pc/legacy_stats_collector.cc
+@@ -189,7 +189,8 @@
+       {StatsReport::kStatsValueNamePreemptiveExpandRate,
+        info.preemptive_expand_rate},
+-      {StatsReport::kStatsValueNameTotalAudioEnergy, 
info.total_output_energy},
++      {StatsReport::kStatsValueNameTotalAudioEnergy,
++       static_cast<float>(info.total_output_energy)},
+       {StatsReport::kStatsValueNameTotalSamplesDuration,
+-       info.total_output_duration}};
++       static_cast<float>(info.total_output_duration)}};
+ 
+   const IntForAdd ints[] = {
+@@ -245,7 +246,8 @@
+ 
+   const FloatForAdd floats[] = {
+-      {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_input_energy},
++      {StatsReport::kStatsValueNameTotalAudioEnergy,
++       static_cast<float>(info.total_input_energy)},
+       {StatsReport::kStatsValueNameTotalSamplesDuration,
+-       info.total_input_duration}};
++       static_cast<float>(info.total_input_duration)}};
+ 
+   RTC_DCHECK_GE(info.audio_level, 0);
+@@ -341,5 +343,6 @@
+       {StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms},
+       {StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms},
+-      {StatsReport::kStatsValueNameFramesDecoded, info.frames_decoded},
++      {StatsReport::kStatsValueNameFramesDecoded,
++       static_cast<int>(info.frames_decoded)},
+   };
+ 
+@@ -385,13 +388,17 @@
+       {StatsReport::kStatsValueNameFirsReceived, info.firs_received},
+       {StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height},
+-      {StatsReport::kStatsValueNameFrameRateInput, 
round(info.framerate_input)},
++      {StatsReport::kStatsValueNameFrameRateInput,
++       static_cast<int>(round(info.framerate_input))},
+       {StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent},
+       {StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width},
+-      {StatsReport::kStatsValueNameNacksReceived, info.nacks_received},
++      {StatsReport::kStatsValueNameNacksReceived,
++       static_cast<int>(info.nacks_received)},
+       {StatsReport::kStatsValueNamePacketsLost, info.packets_lost},
+       {StatsReport::kStatsValueNamePacketsSent, info.packets_sent},
+       {StatsReport::kStatsValueNamePlisReceived, info.plis_received},
+-      {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded},
+-      {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent},
++      {StatsReport::kStatsValueNameFramesEncoded,
++       static_cast<int>(info.frames_encoded)},
++      {StatsReport::kStatsValueNameHugeFramesSent,
++       static_cast<int>(info.huge_frames_sent)},
+   };
+ 
+@@ -781,17 +788,23 @@
+ 
+   const Int64ForAdd int64s[] = {
+-      {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes},
+-      {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes},
+-      {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets},
+-      {StatsReport::kStatsValueNameRtt, info.rtt},
++      {StatsReport::kStatsValueNameBytesReceived,
++       static_cast<int64_t>(info.recv_total_bytes)},
++      {StatsReport::kStatsValueNameBytesSent,
++       static_cast<int64_t>(info.sent_total_bytes)},
++      {StatsReport::kStatsValueNamePacketsSent,
++       static_cast<int64_t>(info.sent_total_packets)},
++      {StatsReport::kStatsValueNameRtt, static_cast<int64_t>(info.rtt)},
+       {StatsReport::kStatsValueNameSendPacketsDiscarded,
+-       info.sent_discarded_packets},
++       static_cast<int64_t>(info.sent_discarded_packets)},
+       {StatsReport::kStatsValueNameSentPingRequestsTotal,
+-       info.sent_ping_requests_total},
++       static_cast<int64_t>(info.sent_ping_requests_total)},
+       {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse,
+-       info.sent_ping_requests_before_first_response},
+-      {StatsReport::kStatsValueNameSentPingResponses, 
info.sent_ping_responses},
+-      {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests},
+-      {StatsReport::kStatsValueNameRecvPingResponses, 
info.recv_ping_responses},
++       static_cast<int64_t>(info.sent_ping_requests_before_first_response)},
++      {StatsReport::kStatsValueNameSentPingResponses,
++       static_cast<int64_t>(info.sent_ping_responses)},
++      {StatsReport::kStatsValueNameRecvPingRequests,
++       static_cast<int64_t>(info.recv_ping_requests)},
++      {StatsReport::kStatsValueNameRecvPingResponses,
++       static_cast<int64_t>(info.recv_ping_responses)},
+   };
+   for (const auto& i : int64s)

diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild
index bc443553d97b..90b8a1371f8b 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.6.2.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.6.2-clang18.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
index 3b1f69bd687c..d21e533a2dbe 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.6.9999.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.6.2-clang18.patch
 )
 
 python_check_deps() {

diff --git a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild 
b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
index db61cb1b8cff..08af1005ed95 100644
--- a/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild
@@ -110,6 +110,7 @@ PATCHES=( "${WORKDIR}"/patches/${PN} )
 
 PATCHES+=(
        # add extras as needed here, may merge in set if carries across versions
+       "${FILESDIR}"/${PN}-6.7.0-clang18.patch
 )
 
 python_check_deps() {

Reply via email to