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() {