Date: Thu, 22 Feb 2024 21:30:41 GMT From: Hiroki Tagato <tagattie@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org Subject: git: bd8d232aecee - 2024Q1 - devel/electron26: fix build with clang 18 Message-ID: <202402222130.41MLUfFn036369@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch 2024Q1 has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=bd8d232aecee6b9a43b67a6b449b700202208ff2 commit bd8d232aecee6b9a43b67a6b449b700202208ff2 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-02-22 21:22:24 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2024-02-22 21:30:26 +0000 devel/electron26: fix build with clang 18 Clang 18 has become more stringent about narrowing in initializer lists, resulting in errors when building devel/electron26: ../../third_party/webrtc/pc/legacy_stats_collector.cc:191:54: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] 191 | {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy}, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/webrtc/pc/legacy_stats_collector.cc:193:8: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] 193 | info.total_output_duration}}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ and later: In file included from ../../cc/layers/mirror_layer_impl.cc:5: ../../cc/layers/mirror_layer_impl.h:59:40: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing-const-reference] 59 | return viz::CompositorRenderPassId{mirrored_layer_id()}; | ^~~~~~~~~~~~~~~~~~~ The first batch of errors can be fixed similarly to bug 276997, by cherry-picking <https://webrtc.googlesource.com/src/+/267f9bdd53> into the thirdparty directory. The second batch of errors can be fixed by cherry-picking <https://chromium.googlesource.com/chromium/src/+/5e9fb4130a537>. PR: 277129 MFH: 2024Q1 (cherry picked from commit 664c5df7607834a4345b4bc99490db6681ac06c2) --- .../files/patch-cc_layers_mirror__layer__impl.h | 20 +++++ ...er__metrics_energy__metrics__provider__linux.cc | 14 ++++ ...rd__party_webrtc_pc_legacy__stats__collector.cc | 98 ++++++++++++++++++++++ 3 files changed, 132 insertions(+) diff --git a/devel/electron26/files/patch-cc_layers_mirror__layer__impl.h b/devel/electron26/files/patch-cc_layers_mirror__layer__impl.h new file mode 100644 index 000000000000..0679824cf885 --- /dev/null +++ b/devel/electron26/files/patch-cc_layers_mirror__layer__impl.h @@ -0,0 +1,20 @@ +--- cc/layers/mirror_layer_impl.h.orig 2023-10-09 02:55:16 UTC ++++ cc/layers/mirror_layer_impl.h +@@ -5,6 +5,7 @@ + #ifndef CC_LAYERS_MIRROR_LAYER_IMPL_H_ + #define CC_LAYERS_MIRROR_LAYER_IMPL_H_ + ++#include <cstdint> + #include <memory> + + #include "base/memory/ptr_util.h" +@@ -56,7 +57,8 @@ class CC_EXPORT MirrorLayerImpl : public LayerImpl { + private: + const char* LayerTypeAsString() const override; + viz::CompositorRenderPassId mirrored_layer_render_pass_id() const { +- return viz::CompositorRenderPassId{mirrored_layer_id()}; ++ return viz::CompositorRenderPassId{ ++ static_cast<uint64_t>(mirrored_layer_id())}; + } + + int mirrored_layer_id_ = 0; diff --git a/devel/electron26/files/patch-components_power__metrics_energy__metrics__provider__linux.cc b/devel/electron26/files/patch-components_power__metrics_energy__metrics__provider__linux.cc new file mode 100644 index 000000000000..33bd8da86c92 --- /dev/null +++ b/devel/electron26/files/patch-components_power__metrics_energy__metrics__provider__linux.cc @@ -0,0 +1,14 @@ +--- components/power_metrics/energy_metrics_provider_linux.cc.orig 2023-10-09 02:55:25 UTC ++++ components/power_metrics/energy_metrics_provider_linux.cc +@@ -61,9 +61,9 @@ base::ScopedFD OpenPerfEvent(perf_event_attr* perf_att + // value of less than 1. Here, we only consider cpu0. See details in + // https://man7.org/linux/man-pages/man2/perf_event_open.2.html. + base::ScopedFD OpenPerfEvent(perf_event_attr* perf_attr) { +- base::ScopedFD perf_fd{syscall(__NR_perf_event_open, perf_attr, /*pid=*/-1, ++ base::ScopedFD perf_fd(syscall(__NR_perf_event_open, perf_attr, /*pid=*/-1, + /*cpu=*/0, /*group_fd=*/-1, +- PERF_FLAG_FD_CLOEXEC)}; ++ static_cast<int>(PERF_FLAG_FD_CLOEXEC))); + return perf_fd; + } + diff --git a/devel/electron26/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc b/devel/electron26/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc new file mode 100644 index 000000000000..d6582c5d58f0 --- /dev/null +++ b/devel/electron26/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc @@ -0,0 +1,98 @@ +--- third_party/webrtc/pc/legacy_stats_collector.cc.orig 2023-10-09 03:06:13 UTC ++++ third_party/webrtc/pc/legacy_stats_collector.cc +@@ -188,9 +188,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& in + {StatsReport::kStatsValueNameAccelerateRate, info.accelerate_rate}, + {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[] = { + {StatsReport::kStatsValueNameCurrentDelayMs, info.delay_estimate_ms}, +@@ -244,9 +245,10 @@ void ExtractStats(const cricket::VoiceSenderInfo& info + SetAudioProcessingStats(report, info.apm_statistics); + + 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); + const IntForAdd ints[] = { +@@ -340,7 +342,8 @@ void ExtractStats(const cricket::VideoReceiverInfo& in + {StatsReport::kStatsValueNamePlisSent, info.plis_sent}, + {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)}, + }; + + for (const auto& i : ints) +@@ -384,15 +387,19 @@ void ExtractStats(const cricket::VideoSenderInfo& info + info.encode_usage_percent}, + {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)}, + }; + + for (const auto& i : ints) +@@ -780,19 +787,25 @@ StatsReport* LegacyStatsCollector::AddConnectionInfoRe + AddCandidateReport(remote_candidate_stats, false)->id()); + + 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) + report->AddInt64(i.name, i.value);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202402222130.41MLUfFn036369>