aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikael Urankar <mikael@FreeBSD.org>2024-07-09 11:22:10 +0000
committerMikael Urankar <mikael@FreeBSD.org>2024-07-09 13:27:55 +0000
commitc73766042e419341680f90aa93238c0ccddff8a8 (patch)
tree7f13983ab83a4e8b4d70921e073a1992efa030fe
parent38b91edcff921de0846b3eb3b28c5e46e3a6bd89 (diff)
downloadports-c73766042e419341680f90aa93238c0ccddff8a8.tar.gz
ports-c73766042e419341680f90aa93238c0ccddff8a8.zip
multimedia/ringrtc: Update to 2.44.2
-rw-r--r--multimedia/ringrtc/Makefile65
-rw-r--r--multimedia/ringrtc/Makefile.crates14
-rw-r--r--multimedia/ringrtc/distinfo88
-rw-r--r--multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm11
-rw-r--r--multimedia/ringrtc/files/patch-build_config_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn)19
-rw-r--r--multimedia/ringrtc/files/patch-build_config_BUILDCONFIG.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn)10
-rw-r--r--multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn)63
-rw-r--r--multimedia/ringrtc/files/patch-build_config_linux_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn)2
-rw-r--r--multimedia/ringrtc/files/patch-build_config_linux_pkg-config.py (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py)2
-rw-r--r--multimedia/ringrtc/files/patch-build_detect__host__arch.py (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py)2
-rw-r--r--multimedia/ringrtc/files/patch-build_gn__run__binary.py (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py)2
-rw-r--r--multimedia/ringrtc/files/patch-build_linux_chrome.map (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map)2
-rw-r--r--multimedia/ringrtc/files/patch-build_linux_unbundle_libusb.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn)7
-rw-r--r--multimedia/ringrtc/files/patch-build_toolchain_freebsd_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn)0
-rw-r--r--multimedia/ringrtc/files/patch-build_toolchain_gcc__toolchain.gni (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni)0
-rw-r--r--multimedia/ringrtc/files/patch-build_toolchain_toolchain.gni (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni)6
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni9
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni15
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn53
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py17
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc12
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc47
-rw-r--r--multimedia/ringrtc/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c)2
-rw-r--r--multimedia/ringrtc/files/patch-third__party_nasm_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn)2
-rw-r--r--multimedia/ringrtc/files/patch-third__party_nasm_config_config-linux.h (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h)0
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_build__config.h66
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h22
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_time.h34
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h11
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h15
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h11
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto56
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_event__fd.cc22
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_periodic__task.cc20
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_string__utils.cc15
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_subprocess__posix.cc22
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc11
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_thread__task__runner.cc14
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_base_unix__socket.cc26
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc12
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc12
-rw-r--r--multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_track.cc11
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_byte__order.h11
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_ip__address.cc12
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_network.cc (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc)6
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc114
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h)8
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc)20
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h)10
-rw-r--r--multimedia/ringrtc/files/patch-third__party_webrtc_system__wrappers_BUILD.gn (renamed from multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn)0
-rw-r--r--multimedia/ringrtc/update.txt2
-rw-r--r--multimedia/ringrtc/webrtc_fetch.sh20
61 files changed, 710 insertions, 423 deletions
diff --git a/multimedia/ringrtc/Makefile b/multimedia/ringrtc/Makefile
index 31a61f250592..ebbb76c0ab8d 100644
--- a/multimedia/ringrtc/Makefile
+++ b/multimedia/ringrtc/Makefile
@@ -1,7 +1,6 @@
PORTNAME= ringrtc
DISTVERSIONPREFIX= v
-DISTVERSION= 2.42.0
-PORTREVISION= 1
+DISTVERSION= 2.44.2
CATEGORIES= multimedia
MASTER_SITES= LOCAL/mikael/ringrtc/:base \
LOCAL/mikael/ringrtc/:boringssl \
@@ -14,9 +13,12 @@ MASTER_SITES= LOCAL/mikael/ringrtc/:base \
LOCAL/mikael/ringrtc/:libsrtp \
LOCAL/mikael/ringrtc/:libvpx \
LOCAL/mikael/ringrtc/:libyuv \
- LOCAL/mikael/ringrtc/:third_party \
+ LOCAL/mikael/ringrtc/:opus \
+ LOCAL/mikael/ringrtc/:perfetto \
+ LOCAL/mikael/ringrtc/:protobufjs \
LOCAL/mikael/ringrtc/:testing \
- LOCAL/mikael/ringrtc/:opus
+ LOCAL/mikael/ringrtc/:third_party \
+ LOCAL/mikael/ringrtc/:tools
DISTFILES= base-${BASE_REV}.tar.gz:base \
boringssl-${BORINGSSL_REV}.tar.gz:boringssl \
build-${BUILD_REV}.tar.gz:build \
@@ -28,9 +30,12 @@ DISTFILES= base-${BASE_REV}.tar.gz:base \
libsrtp-${LIBSRTP_REV}.tar.gz:libsrtp \
libvpx-${LIBVPX_REV}.tar.gz:libvpx \
libyuv-${LIBYUV_REV}.tar.gz:libyuv \
- third_party-${THIRD_PARTY_REV}.tar.gz:third_party \
+ opus-${OPUS_REV}.tar.gz:opus \
+ perfetto-${PERFETTO_REV}.tar.gz:perfetto \
+ protobuf_javascript-${PROTOBUFJS_REV}.tar.gz:protobufjs \
testing-${TESTING_REV}.tar.gz:testing \
- opus-${OPUS_REV}.tar.gz:opus
+ third_party-${THIRD_PARTY_REV}.tar.gz:third_party \
+ tools-${TOOLS_REV}.tar.gz:tools
MAINTAINER= mikael@FreeBSD.org
COMMENT= Middleware library for Signal-Desktop
@@ -45,9 +50,10 @@ BUILD_DEPENDS= gn:devel/gn \
protoc:devel/protobuf
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libfreetype.so:print/freetype2 \
+ libharfbuzz.so:print/harfbuzz \
libpulse.so:audio/pulseaudio
-USES= cargo gnome localbase:ldflags ninja pkgconfig python:build \
+USES= cargo gnome jpeg localbase:ldflags ninja pkgconfig python:build \
tar:xz
USE_GNOME= glib20
USE_GITHUB= yes
@@ -56,28 +62,31 @@ GH_TUPLE= signalapp:ringrtc:${DISTVERSIONPREFIX}${DISTVERSION} \
signalapp:webrtc:${WEBRTC_REV}:webrtc
# sh net-im/signal-desktop/get_deps.sh
-WEBRTC_REV= 6261i
+WEBRTC_REV= 6478b
# modify webrtc_fetch.sh, then sh webrtc_fetch.sh
-BASE_REV= 36ecc8e397422620def3bb19a7ba392810ca2442
-BORINGSSL_REV= 414f69504d30d0848b69f6453ea7fb5e88004cb4
-BUILD_REV= 28cd6ea727d171ec990e6174308451d4178d7f8e
-BUILDTOOLS_REV= aadc2aa5f7382cdb5bc8e9309971356cf7722773
-CATAPULT_REV= 3e413d7b62c09fda8713146714ba2146a0369d86
-ICU_REV= a622de35ac311c5ad390a7af80724634e5dc61ed
+BASE_REV= 2f20fae2cd5d41fc2dbc912fd462796419c72ce6
+BORINGSSL_REV= 2db0eb3f96a5756298dcd7f9319e56a98585bd10
+BUILD_REV= ef48ed5d9583911c48a5de44b3fd01308f1b1732
+BUILDTOOLS_REV= 4e0e9c73a0f26735f034f09a9cab2a5c0178536b
+CATAPULT_REV= 923a565b97768d3a51047c3f384f6a0d17990192
+ICU_REV= 98f2494518c2dbb9c488e83e507b070ea5910e95
LIBJPEG_TURBO_REV= 9b894306ec3b28cea46e84c32b56773a98c483da
-LIBSRTP_REV= 5b7c744eb8310250ccc534f3f86a2015b3887a0a
-LIBVPX_REV= b95d17572629c676bdcfd535fb3990b9f6f8fb11
-LIBYUV_REV= 04821d1e7d60845525e8db55c7bcd41ef5be9406
+LIBSRTP_REV= 7a7e64c8b5a632f55929cb3bb7d3e6fb48c3205a
+LIBVPX_REV= 108f5128e2969451f77b1523ce30bebe545cdd58
+LIBYUV_REV= a6a2ec654b1be1166b376476a7555c89eca0c275
NASM_REV= f477acb1049f5e043904b87b825c5915084a9a29
-TESTING_REV= 450bfd79ee0369ac1a5465a12820b5d94a5956be
-THIRD_PARTY_REV= 692fab5c0074bc6fa486dce1a4aa7b2cc5609928
OPUS_REV= 0e30966b198ad28943799eaf5b3b08100b6f70c3
+PERFETTO_REV= 6aaa8a1fb15659d1b68179e20993e969d9f500f8
+PROTOBUFJS_REV= e34549db516f8712f678fcd4bc411613b5cc5295
+TESTING_REV= 066811c908ecb8f4fc8c4927ff646ce03c58e95d
+THIRD_PARTY_REV= 5e3f3bd93a0d8e8ed51ff4395f6621aad50021de
+TOOLS_REV= 7d98d76cecc46a5338f919065d95748de2ee7b14
BINARY_ALIAS= vpython3=${PYTHON_CMD}
# Keep in sync with https://github.com/signalapp/ringrtc/blob/v${DISTVERSION}/bin/build-electron#L101
-# Run "gn args out/Release --list" for all variables.
+# Run "gn args out/release --list" for all variables.
# Some parts don't have use_system_* flag, and can be turned on/off by using
# replace_gn_files.py script, some parts just turned on/off for target host
# OS "target_os == is_bsd", like libusb, libpci.
@@ -89,11 +98,18 @@ GN_ARGS+= rtc_build_examples=false \
rtc_enable_sctp=false \
rtc_libvpx_build_vp9=true \
rtc_include_ilbc=false \
- use_custom_libcxx=false \
- is_debug=false \
- is_clang=true \
clang_use_chrome_plugins=false \
+ fatal_linker_warnings=false \
+ is_clang=true \
treat_warnings_as_errors=false \
+ use_custom_libcxx=false \
+ use_custom_libunwind=true \
+ use_lld=true \
+ use_sysroot=false \
+ use_system_freetype=false \
+ use_system_harfbuzz=true \
+ use_system_libjpeg=true \
+ use_udev=false \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
NPM_RINGRTC_DIR= npm-@signalapp-ringrtc-2.36.0-67d1b48bd4c1ea31c155ea14a0bd28f04e46eff5-integrity
@@ -131,6 +147,9 @@ post-extract:
${MV} ${WRKDIR}/libyuv ${WEBRTCDIR}/third_party
${MV} ${WRKDIR}/nasm ${WEBRTCDIR}/third_party
${MV} ${WRKDIR}/opus ${WEBRTCDIR}/ringrtc/opus/src
+ ${MV} ${WRKDIR}/perfetto ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/protobuf_javascript ${WEBRTCDIR}/third_party/protobuf-javascript/src
+ ${MV} ${WRKDIR}/tools ${WEBRTCDIR}
post-patch:
${REINPLACE_CMD} "s|LOCALBASE|${LOCALBASE}|" \
diff --git a/multimedia/ringrtc/Makefile.crates b/multimedia/ringrtc/Makefile.crates
index b3a0137e71cf..c3154af16df4 100644
--- a/multimedia/ringrtc/Makefile.crates
+++ b/multimedia/ringrtc/Makefile.crates
@@ -57,6 +57,9 @@ CARGO_CRATES= addr2line-0.21.0 \
core-foundation-sys-0.8.6 \
cpufeatures-0.2.12 \
crc32fast-1.4.0 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.20 \
crypto-common-0.1.6 \
crypto-mac-0.11.0 \
ctr-0.9.2 \
@@ -102,7 +105,7 @@ CARGO_CRATES= addr2line-0.21.0 \
getrandom-0.2.12 \
ghash-0.5.1 \
gimli-0.28.1 \
- h2-0.3.25 \
+ h2-0.3.26 \
hashbrown-0.12.3 \
hashbrown-0.14.3 \
heck-0.4.1 \
@@ -176,7 +179,6 @@ CARGO_CRATES= addr2line-0.21.0 \
pin-project-lite-0.2.13 \
pin-utils-0.1.0 \
pkg-config-0.3.30 \
- platforms-3.3.0 \
plotly-0.8.4 \
plotly_derive-0.8.4 \
plotly_kaleido-0.8.4 \
@@ -196,6 +198,8 @@ CARGO_CRATES= addr2line-0.21.0 \
rand-0.8.5 \
rand_chacha-0.3.1 \
rand_core-0.6.4 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
redox_syscall-0.4.1 \
redox_users-0.4.4 \
regex-1.10.4 \
@@ -206,7 +210,7 @@ CARGO_CRATES= addr2line-0.21.0 \
rustc-demangle-0.1.23 \
rustc_version-0.4.0 \
rustix-0.38.32 \
- rustls-0.22.3 \
+ rustls-0.22.4 \
rustls-pki-types-1.4.0 \
rustls-webpki-0.102.2 \
rustversion-1.0.14 \
@@ -328,5 +332,5 @@ CARGO_CRATES= addr2line-0.21.0 \
zeroize-1.7.0 \
zeroize_derive-1.4.2 \
zip-0.5.13 \
- libsignal-core,poksho,signal-crypto,zkcredential,zkgroup@git+https://github.com/signalapp/libsignal?tag=v0.37.0\#d47f96abff97d19a0b125376737655c268dd20b9 \
- curve25519-dalek,curve25519-dalek-derive@git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.1\#a12ab4e58455bb3dc7cd73a0f9f3443507b2854b
+ libsignal-core,poksho,signal-crypto,zkcredential,zkgroup@git+https://github.com/signalapp/libsignal?tag=v0.51.1\#2e2896fc235efa293213dd5f0aff4b1f8528bab2 \
+ curve25519-dalek,curve25519-dalek-derive@git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.3\#7c6d34756355a3566a704da84dce7b1c039a6572
diff --git a/multimedia/ringrtc/distinfo b/multimedia/ringrtc/distinfo
index 95c7baab8ff6..9c4b15d1a9a6 100644
--- a/multimedia/ringrtc/distinfo
+++ b/multimedia/ringrtc/distinfo
@@ -1,32 +1,38 @@
-TIMESTAMP = 1717147978
-SHA256 (base-36ecc8e397422620def3bb19a7ba392810ca2442.tar.gz) = ba385d4499e3a3d13b5a76f70425da1c22a8eb3e6d58b8350380b459e06169f5
-SIZE (base-36ecc8e397422620def3bb19a7ba392810ca2442.tar.gz) = 5885707
-SHA256 (boringssl-414f69504d30d0848b69f6453ea7fb5e88004cb4.tar.gz) = 5fce22b30ae7c19649a8f1d8340010e90264ef21ed1085b30d8f41f0be3ab837
-SIZE (boringssl-414f69504d30d0848b69f6453ea7fb5e88004cb4.tar.gz) = 36613551
-SHA256 (build-28cd6ea727d171ec990e6174308451d4178d7f8e.tar.gz) = f7bbd878d311c41be31d0458254513799956b9c5e0cf764a5be0468d521b3edf
-SIZE (build-28cd6ea727d171ec990e6174308451d4178d7f8e.tar.gz) = 1551990
-SHA256 (buildtools-aadc2aa5f7382cdb5bc8e9309971356cf7722773.tar.gz) = 3c8ab9c96887a4106813afc322fde64bdc88f1bd83f98d864b8ee5f8b23427ea
-SIZE (buildtools-aadc2aa5f7382cdb5bc8e9309971356cf7722773.tar.gz) = 93244
-SHA256 (catapult-3e413d7b62c09fda8713146714ba2146a0369d86.tar.gz) = d19b3079828a871b800b1f83170ca0113aad9b6285271e24d92bb492234f8b3d
-SIZE (catapult-3e413d7b62c09fda8713146714ba2146a0369d86.tar.gz) = 165952886
-SHA256 (icu-a622de35ac311c5ad390a7af80724634e5dc61ed.tar.gz) = bcb6c1fc9e8d88123ac6210ee84846d3eadfca163756bcf7bd11ea30769613d3
-SIZE (icu-a622de35ac311c5ad390a7af80724634e5dc61ed.tar.gz) = 52300593
+TIMESTAMP = 1720035093
+SHA256 (base-2f20fae2cd5d41fc2dbc912fd462796419c72ce6.tar.gz) = 9d7c095e7d06d0b9692e915df569079b6d39a8b02a2cec2cc7f0daa844739d8f
+SIZE (base-2f20fae2cd5d41fc2dbc912fd462796419c72ce6.tar.gz) = 6049823
+SHA256 (boringssl-2db0eb3f96a5756298dcd7f9319e56a98585bd10.tar.gz) = 73028a170714903863e1152ae3efb7350da7a2cd42ec3a45618487f97df9ff1b
+SIZE (boringssl-2db0eb3f96a5756298dcd7f9319e56a98585bd10.tar.gz) = 37172028
+SHA256 (build-ef48ed5d9583911c48a5de44b3fd01308f1b1732.tar.gz) = c37ca29ae9cc9de973a7e93e48dd84c8f74fb660f8ccfd6ad5bdada933393cff
+SIZE (build-ef48ed5d9583911c48a5de44b3fd01308f1b1732.tar.gz) = 1574111
+SHA256 (buildtools-4e0e9c73a0f26735f034f09a9cab2a5c0178536b.tar.gz) = c10ce454e143824a6d4975c7ede62bc6bbb592897bb895db5518224985115419
+SIZE (buildtools-4e0e9c73a0f26735f034f09a9cab2a5c0178536b.tar.gz) = 95107
+SHA256 (catapult-923a565b97768d3a51047c3f384f6a0d17990192.tar.gz) = 87d826cd2dd1a6711c189cce4e950b3a717c3ca4aaad304ef2ec89fe1910992b
+SIZE (catapult-923a565b97768d3a51047c3f384f6a0d17990192.tar.gz) = 165128350
+SHA256 (icu-98f2494518c2dbb9c488e83e507b070ea5910e95.tar.gz) = 817c0db5cfe2b0fb9c6163f2f86e90bcf9a59e0dde31366065763a4022909c96
+SIZE (icu-98f2494518c2dbb9c488e83e507b070ea5910e95.tar.gz) = 51871026
SHA256 (nasm-f477acb1049f5e043904b87b825c5915084a9a29.tar.gz) = fa0c68caca289e2e9dac4fee0142150faf7c8bf2f15ff156e738e619a9c76bbd
SIZE (nasm-f477acb1049f5e043904b87b825c5915084a9a29.tar.gz) = 1546897
SHA256 (libjpeg_turbo-9b894306ec3b28cea46e84c32b56773a98c483da.tar.gz) = 62598a235f4d09b74e8ed3a262c148c0a95cfd5c0c59df92449d1be145c98af0
SIZE (libjpeg_turbo-9b894306ec3b28cea46e84c32b56773a98c483da.tar.gz) = 2376833
-SHA256 (libsrtp-5b7c744eb8310250ccc534f3f86a2015b3887a0a.tar.gz) = 9bd3de42693cf0d9481da168dff6a83a2151f764c5f192cab36e109d65d86943
-SIZE (libsrtp-5b7c744eb8310250ccc534f3f86a2015b3887a0a.tar.gz) = 142033
-SHA256 (libvpx-b95d17572629c676bdcfd535fb3990b9f6f8fb11.tar.gz) = 7b70965dfaa857db92bf31719aea9c3a572ecc859f04f7110ae5be44f42b5b7a
-SIZE (libvpx-b95d17572629c676bdcfd535fb3990b9f6f8fb11.tar.gz) = 5684787
-SHA256 (libyuv-04821d1e7d60845525e8db55c7bcd41ef5be9406.tar.gz) = 41d50ba3db95cdf9350651deec3aa9ddfc71cbf7608c9d53bf3420ba2cfdf375
-SIZE (libyuv-04821d1e7d60845525e8db55c7bcd41ef5be9406.tar.gz) = 564067
-SHA256 (third_party-692fab5c0074bc6fa486dce1a4aa7b2cc5609928.tar.gz) = dba09b06ade357345cf899075861ed1da073765110fa8ff5cb03b168f38ddbb1
-SIZE (third_party-692fab5c0074bc6fa486dce1a4aa7b2cc5609928.tar.gz) = 826388101
-SHA256 (testing-450bfd79ee0369ac1a5465a12820b5d94a5956be.tar.gz) = 46c66a5b429681ccad1096b9431682cfc6a40f25a2d17d0c4e7e50b3674eb3ee
-SIZE (testing-450bfd79ee0369ac1a5465a12820b5d94a5956be.tar.gz) = 2412905
+SHA256 (libsrtp-7a7e64c8b5a632f55929cb3bb7d3e6fb48c3205a.tar.gz) = b2953ab2975243cac13ee00a87f8c47f0a11602bf6fb2f4d978476b9ecd3cb78
+SIZE (libsrtp-7a7e64c8b5a632f55929cb3bb7d3e6fb48c3205a.tar.gz) = 140100
+SHA256 (libvpx-108f5128e2969451f77b1523ce30bebe545cdd58.tar.gz) = a27bdf2a4a33635cfb8df082764dc6d08bbf250059e0c26a7bec07512ccab48c
+SIZE (libvpx-108f5128e2969451f77b1523ce30bebe545cdd58.tar.gz) = 5709300
+SHA256 (libyuv-a6a2ec654b1be1166b376476a7555c89eca0c275.tar.gz) = 5b92e85c0cf3abde57f828a237c7ae478f5a6291382833fc42cc623aa64e6af2
+SIZE (libyuv-a6a2ec654b1be1166b376476a7555c89eca0c275.tar.gz) = 574596
SHA256 (opus-0e30966b198ad28943799eaf5b3b08100b6f70c3.tar.gz) = 60867154cda4ae4f3d4ba37328b0dac1649b07462945b19c4b7c51a22aa1fae6
SIZE (opus-0e30966b198ad28943799eaf5b3b08100b6f70c3.tar.gz) = 4205884
+SHA256 (perfetto-6aaa8a1fb15659d1b68179e20993e969d9f500f8.tar.gz) = 6ffc97ad9ba71e104fcf653093b8ac08dd74aeb9b9ad6dba1a2a1d2447a266b4
+SIZE (perfetto-6aaa8a1fb15659d1b68179e20993e969d9f500f8.tar.gz) = 20461860
+SHA256 (protobuf_javascript-e34549db516f8712f678fcd4bc411613b5cc5295.tar.gz) = 2b4822c56f654945c0e71ba309b716899f93f7b1a4db1a23959f47f11096396f
+SIZE (protobuf_javascript-e34549db516f8712f678fcd4bc411613b5cc5295.tar.gz) = 414088
+SHA256 (testing-066811c908ecb8f4fc8c4927ff646ce03c58e95d.tar.gz) = 618bb38f66c1427727a4a097d4103598ec73a560459ecca7a82c6bbbd586bbb1
+SIZE (testing-066811c908ecb8f4fc8c4927ff646ce03c58e95d.tar.gz) = 2442058
+SHA256 (third_party-5e3f3bd93a0d8e8ed51ff4395f6621aad50021de.tar.gz) = 00746aaa957031d1868fe265f3a751b0c71ebb557529ec0652423ef014a907b8
+SIZE (third_party-5e3f3bd93a0d8e8ed51ff4395f6621aad50021de.tar.gz) = 812059894
+SHA256 (tools-7d98d76cecc46a5338f919065d95748de2ee7b14.tar.gz) = 6c67e14f8408704e7c822b9f9141d5329e148f2de68227f9923e549fb45b4b11
+SIZE (tools-7d98d76cecc46a5338f919065d95748de2ee7b14.tar.gz) = 14827639
SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
@@ -143,6 +149,12 @@ SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb
SIZE (rust/crates/cpufeatures-0.2.12.crate) = 12837
SHA256 (rust/crates/crc32fast-1.4.0.crate) = b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa
SIZE (rust/crates/crc32fast-1.4.0.crate) = 38665
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
+SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
SHA256 (rust/crates/crypto-mac-0.11.0.crate) = 25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e
@@ -233,8 +245,8 @@ SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895
SIZE (rust/crates/ghash-0.5.1.crate) = 9482
SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
SIZE (rust/crates/gimli-0.28.1.crate) = 270497
-SHA256 (rust/crates/h2-0.3.25.crate) = 4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb
-SIZE (rust/crates/h2-0.3.25.crate) = 167894
+SHA256 (rust/crates/h2-0.3.26.crate) = 81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8
+SIZE (rust/crates/h2-0.3.26.crate) = 168315
SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
@@ -381,8 +393,6 @@ SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
-SHA256 (rust/crates/platforms-3.3.0.crate) = 626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c
-SIZE (rust/crates/platforms-3.3.0.crate) = 28955
SHA256 (rust/crates/plotly-0.8.4.crate) = b7174c07682d8c13cded3fcdf54d9c1d09249b4e821f26e4ab7a60eb39e9783d
SIZE (rust/crates/plotly-0.8.4.crate) = 1173311
SHA256 (rust/crates/plotly_derive-0.8.4.crate) = b2fcc11cdbc83c1a49ed868156cc485037e01c612b03128ce98519e5662ede63
@@ -421,6 +431,10 @@ SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
SHA256 (rust/crates/redox_users-0.4.4.crate) = a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4
@@ -441,8 +455,8 @@ SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15
SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
SHA256 (rust/crates/rustix-0.38.32.crate) = 65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89
SIZE (rust/crates/rustix-0.38.32.crate) = 376999
-SHA256 (rust/crates/rustls-0.22.3.crate) = 99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c
-SIZE (rust/crates/rustls-0.22.3.crate) = 332877
+SHA256 (rust/crates/rustls-0.22.4.crate) = bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432
+SIZE (rust/crates/rustls-0.22.4.crate) = 333681
SHA256 (rust/crates/rustls-pki-types-1.4.0.crate) = 868e20fada228fefaf6b652e00cc73623d54f8171e7352c18bb281571f2d92da
SIZE (rust/crates/rustls-pki-types-1.4.0.crate) = 29296
SHA256 (rust/crates/rustls-webpki-0.102.2.crate) = faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610
@@ -685,11 +699,11 @@ SHA256 (rust/crates/zeroize_derive-1.4.2.crate) = ce36e65b0d2999d2aafac989fb2491
SIZE (rust/crates/zeroize_derive-1.4.2.crate) = 11141
SHA256 (rust/crates/zip-0.5.13.crate) = 93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815
SIZE (rust/crates/zip-0.5.13.crate) = 48237
-SHA256 (signalapp-libsignal-v0.37.0_GH0.tar.gz) = 7943a8ed8f6f75cae63d9de9200649fb62b84beb796260f75f85990f013df4d4
-SIZE (signalapp-libsignal-v0.37.0_GH0.tar.gz) = 1067773
-SHA256 (signalapp-curve25519-dalek-signal-curve25519-4.1.1_GH0.tar.gz) = f129765413794896efd19667acda3645b9cd17b01181700fd781df68b584ec3d
-SIZE (signalapp-curve25519-dalek-signal-curve25519-4.1.1_GH0.tar.gz) = 801981
-SHA256 (signalapp-ringrtc-v2.42.0_GH0.tar.gz) = 6a592a530472d798b49c884ee7db33933a5ab1d2b1e232a2d5842d2948ff40e3
-SIZE (signalapp-ringrtc-v2.42.0_GH0.tar.gz) = 817994
-SHA256 (signalapp-webrtc-6261i_GH0.tar.gz) = eb86ca71556666e15daba522aa3d8b5dcf7b9d61d7a3a1e2c41c637a3bb4dca3
-SIZE (signalapp-webrtc-6261i_GH0.tar.gz) = 39774479
+SHA256 (signalapp-libsignal-v0.51.1_GH0.tar.gz) = da01d542f8117cbabeff93c1293d757ffbbc1204442123c89ddedd9e4c099205
+SIZE (signalapp-libsignal-v0.51.1_GH0.tar.gz) = 1481541
+SHA256 (signalapp-curve25519-dalek-signal-curve25519-4.1.3_GH0.tar.gz) = 8dd338dd7d558b7882310e8dc76ceca41ef448afd0532be208d4ff0f2924f334
+SIZE (signalapp-curve25519-dalek-signal-curve25519-4.1.3_GH0.tar.gz) = 808022
+SHA256 (signalapp-ringrtc-v2.44.2_GH0.tar.gz) = f488d30dddc98a022108ea4a159fadd53ebde3b52f3aea86208067f98475f67b
+SIZE (signalapp-ringrtc-v2.44.2_GH0.tar.gz) = 833933
+SHA256 (signalapp-webrtc-6478b_GH0.tar.gz) = a8a6caa265136a4801ac7c5880cd6eddc51d239f73c9eb3ae54ca973c7199517
+SIZE (signalapp-webrtc-6478b_GH0.tar.gz) = 39894242
diff --git a/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm b/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm
deleted file mode 100644
index 492bd902dbb9..000000000000
--- a/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/webrtc/src/third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC
-+++ src/webrtc/src/third_party/nasm/config/config-linux.h
-@@ -336,7 +336,7 @@
- #define HAVE_MEMORY_H 1
-
- /* Define to 1 if you have the `mempcpy' function. */
--#define HAVE_MEMPCPY 1
-+/* #undef HAVE_MEMPCPY */
-
- /* Define to 1 if you have a working `mmap' system call. */
- #define HAVE_MMAP 1
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn b/multimedia/ringrtc/files/patch-build_config_BUILD.gn
index 2d1d7d5fec77..74d9f784d94c 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-build_config_BUILD.gn
@@ -1,22 +1,13 @@
---- src/webrtc/src/build/config/BUILD.gn.orig 2021-05-26 12:26:11 UTC
+--- src/webrtc/src/build/config/BUILD.gn.orig 2023-08-17 07:33:31 UTC
+++ src/webrtc/src/build/config/BUILD.gn
-@@ -214,13 +214,17 @@ config("default_libs") {
+@@ -214,6 +214,10 @@ config("default_libs") {
# Targets should choose to explicitly link frameworks they require. Since
# linking can have run-time side effects, nothing should be listed here.
libs = []
-- } else if (is_linux || is_chromeos) {
-+ } else if ((is_linux && !is_bsd) || is_chromeos) {
- libs = [
- "dl",
- "pthread",
- "rt",
- ]
-- }
+ } else if (is_bsd) {
+ libs = [
+ "pthread",
+ ]
-+ }
- }
-
- group("common_deps") {
+ } else if (is_linux || is_chromeos) {
+ libs = [
+ "dl",
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn b/multimedia/ringrtc/files/patch-build_config_BUILDCONFIG.gn
index bd2e44be0118..79473a536c3d 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn
+++ b/multimedia/ringrtc/files/patch-build_config_BUILDCONFIG.gn
@@ -1,6 +1,6 @@
---- src/webrtc/src/build/config/BUILDCONFIG.gn.orig 2021-11-15 18:52:18 UTC
+--- src/webrtc/src/build/config/BUILDCONFIG.gn.orig 2024-05-21 18:07:39 UTC
+++ src/webrtc/src/build/config/BUILDCONFIG.gn
-@@ -139,7 +139,8 @@ declare_args() {
+@@ -136,7 +136,8 @@ declare_args() {
is_official_build = false
# Set to true when compiling with the Clang compiler.
@@ -10,7 +10,7 @@
(current_cpu != "s390x" && current_cpu != "s390" &&
current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64" &&
-@@ -228,6 +229,10 @@ if (host_toolchain == "") {
+@@ -231,6 +232,10 @@ if (host_toolchain == "") {
host_toolchain = "//build/toolchain/aix:$host_cpu"
} else if (host_os == "zos") {
host_toolchain = "//build/toolchain/zos:$host_cpu"
@@ -21,7 +21,7 @@
} else {
assert(false, "Unsupported host_os: $host_os")
}
-@@ -271,6 +276,8 @@ if (target_os == "android") {
+@@ -274,6 +279,8 @@ if (target_os == "android") {
_default_toolchain = "//build/toolchain/aix:$target_cpu"
} else if (target_os == "zos") {
_default_toolchain = "//build/toolchain/zos:$target_cpu"
@@ -30,7 +30,7 @@
} else {
assert(false, "Unsupported target_os: $target_os")
}
-@@ -305,7 +312,11 @@ is_android = current_os == "android"
+@@ -308,7 +315,11 @@ is_android = current_os == "android"
is_chromeos = current_os == "chromeos"
is_fuchsia = current_os == "fuchsia"
is_ios = current_os == "ios"
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn b/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn
index 157729e9eb0a..d41edfe98fa1 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn
@@ -1,6 +1,6 @@
---- src/webrtc/src/build/config/compiler/BUILD.gn.orig 2022-02-16 12:34:12 UTC
+--- src/webrtc/src/build/config/compiler/BUILD.gn.orig 2024-06-18 16:34:35 UTC
+++ src/webrtc/src/build/config/compiler/BUILD.gn
-@@ -204,7 +204,7 @@ declare_args() {
+@@ -199,7 +199,7 @@ declare_args() {
# This greatly reduces the size of debug builds, at the cost of
# debugging information which is required by some specialized
# debugging tools.
@@ -9,7 +9,7 @@
}
declare_args() {
-@@ -268,13 +268,16 @@ config("no_unresolved_symbols") {
+@@ -251,13 +251,16 @@ config("default_include_dirs") {
# Compiler instrumentation can introduce dependencies in DSOs to symbols in
# the executable they are loaded into, so they are unresolved at link-time.
config("no_unresolved_symbols") {
@@ -22,12 +22,12 @@
]
}
+ if (current_cpu == "x86" && is_openbsd) {
-+ ldflags = [ "-Wl,-z,notext" ]
++ ldflags = [ "-Wl,-z,notext", "-Wl,--strip-all" ]
+ }
}
# compiler ---------------------------------------------------------------------
-@@ -520,6 +523,10 @@ config("compiler") {
+@@ -499,6 +502,10 @@ config("compiler") {
}
}
@@ -37,8 +37,8 @@
+
# Linux-specific compiler flags setup.
# ------------------------------------
- if (use_gold) {
-@@ -595,7 +602,7 @@ config("compiler") {
+ if (use_icf && (!is_apple || use_lld)) {
+@@ -545,7 +552,7 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -47,7 +47,7 @@
cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
if (save_reproducers_on_lld_crash && use_lld) {
ldflags += [
-@@ -1174,7 +1181,7 @@ config("compiler_cpu_abi") {
+@@ -1173,7 +1180,7 @@ config("compiler_cpu_abi") {
]
}
} else if (current_cpu == "arm") {
@@ -56,7 +56,7 @@
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=arm-linux-gnueabihf" ]
ldflags += [ "--target=arm-linux-gnueabihf" ]
-@@ -1189,7 +1196,7 @@ config("compiler_cpu_abi") {
+@@ -1188,7 +1195,7 @@ config("compiler_cpu_abi") {
cflags += [ "-mtune=$arm_tune" ]
}
} else if (current_cpu == "arm64") {
@@ -65,7 +65,7 @@
!(is_chromeos_lacros && is_chromeos_device)) {
cflags += [ "--target=aarch64-linux-gnu" ]
ldflags += [ "--target=aarch64-linux-gnu" ]
-@@ -1524,7 +1531,7 @@ config("compiler_deterministic") {
+@@ -1523,7 +1530,7 @@ config("compiler_deterministic") {
# different build directory like "out/feature_a" and "out/feature_b" if
# we build same files with same compile flag.
# Other paths are already given in relative, no need to normalize them.
@@ -74,7 +74,7 @@
# TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
cflags += [
"-Xclang",
-@@ -1576,7 +1583,7 @@ config("clang_revision") {
+@@ -1575,7 +1582,7 @@ config("compiler_deterministic") {
}
config("clang_revision") {
@@ -83,39 +83,26 @@
update_args = [
"--print-revision",
"--verify-version=$clang_version",
-@@ -1874,12 +1881,9 @@ config("default_warnings") {
+@@ -1889,9 +1896,6 @@ config("default_warnings") {
- # TODO(crbug.com/1494809): Evaluate and possibly enable.
+ # TODO(crbug.com/40286317): Evaluate and possibly enable.
"-Wno-vla-extension",
-
-- # TODO(https://crbug.com/1490607): Fix and re-enable.
+- # TODO(crbug.com/40284799): Fix and re-enable.
- "-Wno-thread-safety-reference-return",
]
+ cflags_cc += [
+@@ -1899,7 +1903,7 @@ config("default_warnings") {
+ "-Wenum-compare-conditional",
+ ]
+
- if (!is_nacl) {
-+ if (!is_nacl && !is_bsd) {
++ if (!is_nacl && !is_openbsd) {
cflags_cc += [
- # TODO(https://crbug.com/1513724): Fix and re-enable.
+ # TODO(crbug.com/41486292): Fix and re-enable.
"-Wno-c++11-narrowing-const-reference",
-@@ -2018,7 +2022,7 @@ config("chromium_code") {
- ]
-
- # Thread safety analysis is broken under nacl: https://crbug.com/982423.
-- if (!is_nacl || is_nacl_saigo) {
-+ if (!is_bsd && (!is_nacl || is_nacl_saigo)) {
- cflags += [
- # Thread safety analysis. See base/thread_annotations.h and
- # https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
-@@ -2067,7 +2071,7 @@ config("no_chromium_code") {
- # third-party libraries.
- "-Wno-c++11-narrowing",
- ]
-- if (!is_nacl) {
-+ if (!is_nacl && !is_freebsd) {
- cflags += [
- # Disabled for similar reasons as -Wunused-variable.
- "-Wno-unused-but-set-variable",
-@@ -2596,7 +2600,7 @@ config("afdo") {
+@@ -2616,7 +2620,7 @@ config("afdo_optimize_size") {
# There are some targeted places that AFDO regresses, so we provide a separate
# config to allow AFDO to be disabled per-target.
config("afdo") {
@@ -124,7 +111,7 @@
cflags = []
if (clang_emit_debug_info_for_profiling) {
# Add the following flags to generate debug info for profiling.
-@@ -2623,7 +2627,7 @@ config("afdo") {
+@@ -2643,7 +2647,7 @@ config("afdo") {
cflags += [ "-Wno-backend-plugin" ]
inputs = [ _clang_sample_profile ]
}
@@ -133,7 +120,7 @@
cflags = [ "-fauto-profile=${auto_profile_path}" ]
inputs = [ auto_profile_path ]
}
-@@ -2787,7 +2791,8 @@ config("symbols") {
+@@ -2808,7 +2812,8 @@ config("symbols") {
configs += [ "//build/config:compress_debug_sections" ]
}
@@ -141,5 +128,5 @@
+ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" &&
+ !is_bsd) {
if (is_apple) {
- # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
+ # TODO(crbug.com/40117949): Investigate missing debug info on mac.
# Make sure we don't use constructor homing on mac.
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn b/multimedia/ringrtc/files/patch-build_config_linux_BUILD.gn
index 82d156e8558d..0dd8decdebba 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-build_config_linux_BUILD.gn
@@ -1,4 +1,4 @@
---- src/webrtc/src/build/config/linux/BUILD.gn.orig 2021-10-13 07:49:03 UTC
+--- src/webrtc/src/build/config/linux/BUILD.gn.orig 2022-05-19 14:06:27 UTC
+++ src/webrtc/src/build/config/linux/BUILD.gn
@@ -41,7 +41,7 @@ config("runtime_library") {
}
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py b/multimedia/ringrtc/files/patch-build_config_linux_pkg-config.py
index 7890572bd313..9d3eb1e9d193 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py
+++ b/multimedia/ringrtc/files/patch-build_config_linux_pkg-config.py
@@ -1,4 +1,4 @@
---- src/webrtc/src/build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC
+--- src/webrtc/src/build/config/linux/pkg-config.py.orig 2023-03-09 06:31:50 UTC
+++ src/webrtc/src/build/config/linux/pkg-config.py
@@ -108,7 +108,7 @@ def main():
# If this is run on non-Linux platforms, just return nothing and indicate
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py b/multimedia/ringrtc/files/patch-build_detect__host__arch.py
index 9df4617d9ed2..482aaf972989 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py
+++ b/multimedia/ringrtc/files/patch-build_detect__host__arch.py
@@ -1,4 +1,4 @@
---- src/webrtc/src/build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC
+--- src/webrtc/src/build/detect_host_arch.py.orig 2023-03-09 06:31:50 UTC
+++ src/webrtc/src/build/detect_host_arch.py
@@ -20,6 +20,8 @@ def HostArch():
host_arch = 'ia32'
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py b/multimedia/ringrtc/files/patch-build_gn__run__binary.py
index 63992f0c889d..22e726b56363 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py
+++ b/multimedia/ringrtc/files/patch-build_gn__run__binary.py
@@ -1,4 +1,4 @@
---- src/webrtc/src/build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC
+--- src/webrtc/src/build/gn_run_binary.py.orig 2023-03-09 06:31:50 UTC
+++ src/webrtc/src/build/gn_run_binary.py
@@ -23,7 +23,7 @@ if not os.path.isabs(path):
# The rest of the arguments are passed directly to the executable.
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map b/multimedia/ringrtc/files/patch-build_linux_chrome.map
index c3f97aeafa2c..4331a54ad050 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map
+++ b/multimedia/ringrtc/files/patch-build_linux_chrome.map
@@ -1,4 +1,4 @@
---- src/webrtc/src/build/linux/chrome.map.orig 2021-05-01 21:15:31 UTC
+--- src/webrtc/src/build/linux/chrome.map.orig 2022-02-28 16:54:41 UTC
+++ src/webrtc/src/build/linux/chrome.map
@@ -20,6 +20,10 @@ global:
# Program entry point.
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn b/multimedia/ringrtc/files/patch-build_linux_unbundle_libusb.gn
index 81f57ef449f9..a9e7554e3e02 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn
+++ b/multimedia/ringrtc/files/patch-build_linux_unbundle_libusb.gn
@@ -1,6 +1,6 @@
---- src/webrtc/src/build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC
+--- src/webrtc/src/build/linux/unbundle/libusb.gn.orig 2023-12-10 06:10:27 UTC
+++ src/webrtc/src/build/linux/unbundle/libusb.gn
-@@ -0,0 +1,24 @@
+@@ -1,3 +1,27 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
@@ -25,3 +25,6 @@
+ ]
+ public_configs = [ ":system_libusb" ]
+}
+ import("//build/config/linux/pkg_config.gni")
+ import("//build/shim_headers.gni")
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn b/multimedia/ringrtc/files/patch-build_toolchain_freebsd_BUILD.gn
index c2f3f8e28d2d..c2f3f8e28d2d 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-build_toolchain_freebsd_BUILD.gn
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni b/multimedia/ringrtc/files/patch-build_toolchain_gcc__toolchain.gni
index e3def33f6fcb..e3def33f6fcb 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni
+++ b/multimedia/ringrtc/files/patch-build_toolchain_gcc__toolchain.gni
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni b/multimedia/ringrtc/files/patch-build_toolchain_toolchain.gni
index 1936f91498d1..7c2ec480c906 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni
+++ b/multimedia/ringrtc/files/patch-build_toolchain_toolchain.gni
@@ -1,11 +1,11 @@
---- src/webrtc/src/build/toolchain/toolchain.gni.orig 2023-12-10 09:44:57 UTC
+--- src/webrtc/src/build/toolchain/toolchain.gni.orig 2024-03-22 08:19:40 UTC
+++ src/webrtc/src/build/toolchain/toolchain.gni
-@@ -67,7 +67,7 @@ if (host_os == "mac") {
+@@ -68,7 +68,7 @@ if (host_os == "mac") {
host_shlib_extension = ".dylib"
} else if (host_os == "win") {
host_shlib_extension = ".dll"
-} else if (host_os == "linux" || host_os == "aix") {
-+} else if (host_os == "freebsd" || host_os == "linux" || host_os == "aix") {
++} else if (is_posix) {
host_shlib_extension = ".so"
} else {
assert(false, "Host platform not supported")
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni
deleted file mode 100644
index 42353cb83d4e..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/webrtc/src/build/config/compiler/compiler.gni.orig 2021-11-15 18:52:18 UTC
-+++ src/webrtc/src/build/config/compiler/compiler.gni
-@@ -230,7 +230,7 @@ declare_args() {
-
- declare_args() {
- # Whether to use the gold linker from binutils instead of lld or bfd.
-- use_gold = !use_lld && !(is_castos &&
-+ use_gold = !is_bsd && !use_lld && !(is_castos &&
- (current_cpu == "arm" || current_cpu == "mipsel")) &&
- (((is_linux || is_chromeos_lacros) &&
- (current_cpu == "x64" || current_cpu == "x86" ||
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni
deleted file mode 100644
index fe60d15c1686..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/webrtc/src/build/config/features.gni.orig 2020-09-19 19:50:44 UTC
-+++ src/webrtc/src/build/config/features.gni
-@@ -31,7 +31,7 @@ declare_args() {
- proprietary_codecs = is_chrome_branded || is_castos || is_cast_android
-
- # libudev usage. This currently only affects the content layer.
-- use_udev = (is_linux && !is_castos) || is_chromeos
-+ use_udev = !is_bsd && ((is_linux && !is_castos) || is_chromeos)
-
- use_dbus = is_linux || is_chromeos
-
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni
deleted file mode 100644
index c0f46decc5a2..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni
+++ /dev/null
@@ -1,9 +0,0 @@
---- src/webrtc/src/build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC
-+++ src/webrtc/src/build/config/freetype/freetype.gni
-@@ -10,5 +10,5 @@ declare_args() {
- # than version 2.7.1 and have color bitmap support compiled in. WARNING:
- # System FreeType configurations other than as described WILL INTRODUCE TEXT
- # RENDERING AND SECURITY REGRESSIONS.
-- use_system_freetype = false
-+ use_system_freetype = true
- }
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni
deleted file mode 100644
index 49235361b682..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/webrtc/src/build/config/sysroot.gni.orig 2020-05-13 18:39:36 UTC
-+++ src/webrtc/src/build/config/sysroot.gni
-@@ -19,10 +19,10 @@ declare_args() {
-
- # Controls default is_linux sysroot. If set to true, and sysroot
- # is empty, default sysroot is calculated.
-- use_sysroot =
-+ use_sysroot = !is_bsd && (
- current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" ||
- current_cpu == "arm64" || current_cpu == "mipsel" ||
-- current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android)
-+ current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android))
- }
-
- if (sysroot == "") {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn
deleted file mode 100644
index b8a4d07953ef..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn
+++ /dev/null
@@ -1,53 +0,0 @@
---- src/webrtc/src/build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC
-+++ src/webrtc/src/build/linux/libpci/BUILD.gn
-@@ -3,20 +3,36 @@
- # found in the LICENSE file.
-
- import("//tools/generate_library_loader/generate_library_loader.gni")
-+import("//build/config/linux/pkg_config.gni")
-
--# This generates a target named "libpci".
--generate_library_loader("libpci") {
-- name = "LibPciLoader"
-- output_h = "libpci.h"
-- output_cc = "libpci_loader.cc"
-- header = "<pci/pci.h>"
-+declare_args() {
-+ use_system_libpci = is_bsd
-+}
-
-- functions = [
-- "pci_alloc",
-- "pci_init",
-- "pci_cleanup",
-- "pci_scan_bus",
-- "pci_fill_info",
-- "pci_lookup_name",
-- ]
-+if (use_system_libpci) {
-+ pkg_config("system_libpci") {
-+ packages = [ "libpci" ]
-+ }
-+
-+ source_set("libpci") {
-+ public_configs = [ ":system_libpci" ]
-+ }
-+
-+} else {
-+ # This generates a target named "libpci".
-+ generate_library_loader("libpci") {
-+ name = "LibPciLoader"
-+ output_h = "libpci.h"
-+ output_cc = "libpci_loader.cc"
-+ header = "<pci/pci.h>"
-+
-+ functions = [
-+ "pci_alloc",
-+ "pci_init",
-+ "pci_cleanup",
-+ "pci_scan_bus",
-+ "pci_fill_info",
-+ "pci_lookup_name",
-+ ]
-+ }
- }
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py
deleted file mode 100644
index 64f971e383a2..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/webrtc/src/build/linux/unbundle/replace_gn_files.py.orig 2021-11-15 18:52:18 UTC
-+++ src/webrtc/src/build/linux/unbundle/replace_gn_files.py
-@@ -56,6 +56,7 @@ REPLACEMENTS = {
- 'libevent': 'third_party/libevent/BUILD.gn',
- 'libjpeg': 'third_party/libjpeg.gni',
- 'libpng': 'third_party/libpng/BUILD.gn',
-+ 'libusb': 'third_party/libusb/BUILD.gn',
- 'libsecret' : 'third_party/libsecret/BUILD.gn',
- 'libusb': 'third_party/libusb/BUILD.gn',
- 'libvpx': 'third_party/libvpx/BUILD.gn',
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py
deleted file mode 100644
index adb6cc98db76..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py
+++ /dev/null
@@ -1,17 +0,0 @@
---- src/webrtc/src/build/toolchain/get_concurrent_links.py.orig 2021-05-01 21:15:31 UTC
-+++ src/webrtc/src/build/toolchain/get_concurrent_links.py
-@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes():
- return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
- except Exception:
- return 0
-+ elif sys.platform.startswith('freebsd'):
-+ try:
-+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem']))
-+ # With -fuse-lld it doesn't take a lot of ram, feel free to change that
-+ # 1 * ... to needed amount
-+ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB
-+ except Exception:
-+ return 1
- # TODO(scottmg): Implement this for other platforms.
- return 0
-
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn
deleted file mode 100644
index b4be3b72062b..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/webrtc/src/buildtools/third_party/libc++/BUILD.gn.orig 2021-09-19 10:01:13 UTC
-+++ src/webrtc/src/buildtools/third_party/libc++/BUILD.gn
-@@ -21,6 +21,7 @@ config("config") {
- # upstream libc++ requires C++20 so we have to make an exception here.
- # No other target should override the default -std= flag.
- "-std:c++20",
-+ "-I%%LOCALBASE%%/include",
- ]
- } else {
- cflags += [ "-fPIC" ]
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc
deleted file mode 100644
index d71efbe545a0..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc
-@@ -13,6 +13,7 @@
- #include <string.h>
-
- #include <algorithm>
-+#include <cstdlib>
- #include <utility>
-
- #include "absl/algorithm/container.h"
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h
deleted file mode 100644
index 1bb643da9177..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/webrtc/src/rtc_base/byte_order.h.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/byte_order.h
-@@ -89,7 +89,7 @@
- #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
-
- #elif defined(WEBRTC_POSIX)
--#include <endian.h>
-+#include <sys/endian.h>
- #else
- #error "Missing byte order functions for this arch."
- #endif // defined(WEBRTC_MAC)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h
deleted file mode 100644
index f27dd1ac6f4f..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/webrtc/src/rtc_base/ifaddrs_converter.h.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/ifaddrs_converter.h
-@@ -14,6 +14,8 @@
- #if defined(WEBRTC_ANDROID)
- #include "rtc_base/ifaddrs_android.h"
- #else
-+#include <sys/types.h>
-+#include <sys/socket.h>
- #include <ifaddrs.h>
- #endif // WEBRTC_ANDROID
-
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc
deleted file mode 100644
index bba5d3e1eeaf..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/webrtc/src/rtc_base/ip_address.cc.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/ip_address.cc
-@@ -11,6 +11,9 @@
- #if defined(WEBRTC_POSIX)
- #include <netinet/in.h>
- #include <sys/socket.h>
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
-
- #include "absl/strings/string_view.h"
- #ifdef OPENBSD
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h
deleted file mode 100644
index 4b39705e5cc2..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/webrtc/src/rtc_base/ip_address.h.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/ip_address.h
-@@ -17,6 +17,10 @@
- #include <netinet/in.h>
- #include <sys/socket.h>
- #endif
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#endif
- #if defined(WEBRTC_WIN)
- #include <winsock2.h>
- #include <ws2tcpip.h>
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h
deleted file mode 100644
index 0d80db98eb29..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/webrtc/src/rtc_base/network.h.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/network.h
-@@ -26,6 +26,10 @@
- #include "rtc_base/system/rtc_export.h"
- #include "rtc_base/third_party/sigslot/sigslot.h"
-
-+#if defined(WEBRTC_BSD)
-+#include <sys/types.h>
-+#endif
-+
- #if defined(WEBRTC_POSIX)
- struct ifaddrs;
- #endif // defined(WEBRTC_POSIX)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc
deleted file mode 100644
index 496f00d8f61e..000000000000
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc
+++ /dev/null
@@ -1,47 +0,0 @@
---- src/webrtc/src/rtc_base/physical_socket_server.cc.orig 2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/rtc_base/physical_socket_server.cc
-@@ -50,7 +50,7 @@
- #include "rtc_base/null_socket_server.h"
- #include "rtc_base/time_utils.h"
-
--#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
- #include <linux/sockios.h>
- #endif
-
-@@ -69,7 +69,7 @@ typedef void* SockOptArg;
-
- #endif // WEBRTC_POSIX
-
--#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
-+#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
-
- int64_t GetSocketRecvTimestamp(int socket) {
- struct timeval tv_ioctl;
-@@ -291,7 +291,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
- return -1;
- }
- if (opt == OPT_DONTFRAGMENT) {
--#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
- *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
- #endif
- } else if (opt == OPT_DSCP) {
-@@ -309,7 +309,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
- if (TranslateOption(opt, &slevel, &sopt) == -1)
- return -1;
- if (opt == OPT_DONTFRAGMENT) {
--#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
- value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
- #endif
- } else if (opt == OPT_DSCP) {
-@@ -550,7 +550,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
- *slevel = IPPROTO_IP;
- *sopt = IP_DONTFRAGMENT;
- break;
--#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__)
-+#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
- RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
- return -1;
- #elif defined(WEBRTC_POSIX)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c b/multimedia/ringrtc/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
index a56242ca4220..094809776673 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
+++ b/multimedia/ringrtc/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
@@ -2,7 +2,7 @@
--- src/webrtc/src/third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c.orig 2024-02-09 17:15:31 UTC
+++ src/webrtc/src/third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c
-@@ -91,9 +91,23 @@ static int arm_get_cpu_caps(void) {
+@@ -92,9 +92,23 @@ static int arm_get_cpu_caps(void) {
return flags;
}
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn b/multimedia/ringrtc/files/patch-third__party_nasm_BUILD.gn
index 2877c76d5fc1..0132553c4c1a 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-third__party_nasm_BUILD.gn
@@ -1,4 +1,4 @@
---- src/webrtc/src/third_party/nasm/BUILD.gn.orig 2023-02-01 18:45:20 UTC
+--- src/webrtc/src/third_party/nasm/BUILD.gn.orig 2023-01-11 09:17:16 UTC
+++ src/webrtc/src/third_party/nasm/BUILD.gn
@@ -63,6 +63,13 @@ config("nasm_config") {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h b/multimedia/ringrtc/files/patch-third__party_nasm_config_config-linux.h
index 30f2390890d4..30f2390890d4 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h
+++ b/multimedia/ringrtc/files/patch-third__party_nasm_config_config-linux.h
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
new file mode 100644
index 000000000000..5b54ed2fbd47
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_build__config.h
@@ -0,0 +1,66 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/base/build_config.h.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/base/build_config.h
+@@ -27,6 +27,7 @@
+ #if defined(__ANDROID__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -38,6 +39,7 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0
+@@ -51,9 +53,10 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #endif
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -64,6 +67,8 @@
+ #elif defined(_WIN32)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -74,6 +79,8 @@
+ #elif defined(__EMSCRIPTEN__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+@@ -87,6 +94,8 @@
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1
+@@ -94,6 +103,8 @@
+ #elif defined(__native_client__)
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0
++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0
+ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
new file mode 100644
index 000000000000..1184e0d3e848
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h
@@ -0,0 +1,22 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2023-01-11 09:17:16 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/base/thread_utils.h
+@@ -34,6 +34,7 @@ __declspec(dllimport) unsigned long __stdcall GetCurre
+ #include <sys/syscall.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <pthread.h>
+ #else
+ #include <pthread.h>
+ #endif
+@@ -45,6 +46,11 @@ namespace base {
+ using PlatformThreadId = pid_t;
+ inline PlatformThreadId GetThreadId() {
+ return gettid();
++}
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++using PlatformThreadId = uint64_t;
++inline PlatformThreadId GetThreadId() {
++ return reinterpret_cast<uint64_t>(pthread_self());
+ }
+ #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
+ using PlatformThreadId = pid_t;
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_time.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_time.h
new file mode 100644
index 000000000000..08837c11078d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_base_time.h
@@ -0,0 +1,34 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/base/time.h.orig 2024-05-21 18:07:39 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/base/time.h
+@@ -201,6 +201,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) {
+ // Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time
+ // during suspend (when supported).
+ inline TimeNanos GetBootTimeNs() {
++#if defined(__FreeBSD__)
++ return GetTimeInternalNs(kWallTimeClockSource);
++#else
+ // Determine if CLOCK_BOOTTIME is available on the first call.
+ static const clockid_t kBootTimeClockSource = [] {
+ struct timespec ts = {};
+@@ -208,6 +211,7 @@ inline TimeNanos GetBootTimeNs() {
+ return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource;
+ }();
+ return GetTimeInternalNs(kBootTimeClockSource);
++#endif
+ }
+
+ inline TimeNanos GetWallTimeNs() {
+@@ -215,7 +219,13 @@ inline TimeNanos GetWallTimeNs() {
+ }
+
+ inline TimeNanos GetWallTimeRawNs() {
++#if defined(__OpenBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC);
++#elif defined(__FreeBSD__)
++ return GetTimeInternalNs(CLOCK_MONOTONIC_FAST);
++#else
+ return GetTimeInternalNs(CLOCK_MONOTONIC_RAW);
++#endif
+ }
+
+ inline TimeNanos GetThreadCPUTimeNs() {
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
new file mode 100644
index 000000000000..1e177b9d395c
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/ext/base/event_fd.h
+@@ -55,6 +55,8 @@ class EventFd {
+ // On Mac and other non-Linux UNIX platforms a pipe-based fallback is used.
+ // The write end of the wakeup pipe.
+ ScopedFile write_fd_;
++#else
++ ScopedFile write_fd_;
+ #endif
+ };
+
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
new file mode 100644
index 000000000000..6ed19c9c721d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h
@@ -0,0 +1,15 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2023-12-10 06:10:27 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/ext/base/thread_utils.h
+@@ -41,9 +41,10 @@
+ namespace perfetto {
+ namespace base {
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ // Sets the "comm" of the calling thread to the first 15 chars of the given
+ // string.
+ inline bool MaybeSetThreadName(const std::string& name) {
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
new file mode 100644
index 000000000000..1979deb19981
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h.orig 2023-04-28 17:01:32 UTC
++++ src/webrtc/src/third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h
+@@ -249,7 +249,7 @@ class PERFETTO_EXPORT_COMPONENT LegacyTraceId {
+ // are different. E.g. on Mac size_t is considered a different type from
+ // uint64_t even though it has the same size and signedness.
+ // Below we add overloads for those types that are known to cause ambiguity.
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__OpenBSD__)
+ explicit LegacyTraceId(size_t raw_id) : raw_id_(raw_id) {}
+ explicit LegacyTraceId(intptr_t raw_id)
+ : raw_id_(static_cast<uint64_t>(raw_id)) {}
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto b/multimedia/ringrtc/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto
new file mode 100644
index 000000000000..00bcffeb4390
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto
@@ -0,0 +1,56 @@
+--- src/webrtc/src/third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto.orig 2022-09-24 10:57:32 UTC
++++ src/webrtc/src/third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto
+@@ -10,7 +10,7 @@ message V4l2QbufFtraceEvent {
+ optional uint32 field = 2;
+ optional uint32 flags = 3;
+ optional uint32 index = 4;
+- optional int32 minor = 5;
++ optional int32 gminor = 5;
+ optional uint32 sequence = 6;
+ optional uint32 timecode_flags = 7;
+ optional uint32 timecode_frames = 8;
+@@ -30,7 +30,7 @@ message V4l2DqbufFtraceEvent {
+ optional uint32 field = 2;
+ optional uint32 flags = 3;
+ optional uint32 index = 4;
+- optional int32 minor = 5;
++ optional int32 gminor = 5;
+ optional uint32 sequence = 6;
+ optional uint32 timecode_flags = 7;
+ optional uint32 timecode_frames = 8;
+@@ -48,7 +48,7 @@ message V4l2DqbufFtraceEvent {
+ message Vb2V4l2BufQueueFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -65,7 +65,7 @@ message Vb2V4l2BufQueueFtraceEvent {
+ message Vb2V4l2BufDoneFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -82,7 +82,7 @@ message Vb2V4l2BufDoneFtraceEvent {
+ message Vb2V4l2QbufFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
+@@ -99,7 +99,7 @@ message Vb2V4l2QbufFtraceEvent {
+ message Vb2V4l2DqbufFtraceEvent {
+ optional uint32 field = 1;
+ optional uint32 flags = 2;
+- optional int32 minor = 3;
++ optional int32 gminor = 3;
+ optional uint32 sequence = 4;
+ optional uint32 timecode_flags = 5;
+ optional uint32 timecode_frames = 6;
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_event__fd.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_event__fd.cc
new file mode 100644
index 000000000000..9fdae231084d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_event__fd.cc
@@ -0,0 +1,22 @@
+--- src/webrtc/src/third_party/perfetto/src/base/event_fd.cc.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/event_fd.cc
+@@ -22,7 +22,8 @@
+ #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+ #include <Windows.h>
+ #include <synchapi.h>
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ #include <sys/eventfd.h>
+ #include <unistd.h>
+@@ -57,7 +58,8 @@ void EventFd::Clear() {
+ PERFETTO_DFATAL("EventFd::Clear()");
+ }
+
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+
+ EventFd::EventFd() {
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_periodic__task.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_periodic__task.cc
new file mode 100644
index 000000000000..d1011adb7006
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_periodic__task.cc
@@ -0,0 +1,20 @@
+--- src/webrtc/src/third_party/perfetto/src/base/periodic_task.cc.orig 2023-04-05 11:05:06 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/periodic_task.cc
+@@ -24,7 +24,7 @@
+ #include "perfetto/base/time.h"
+ #include "perfetto/ext/base/file_utils.h"
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
+ #include <sys/timerfd.h>
+ #endif
+@@ -44,7 +44,7 @@ uint32_t GetNextDelayMs(const TimeMillis& now_ms,
+ }
+
+ ScopedPlatformHandle CreateTimerFd(const PeriodicTask::Args& args) {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19)
+ ScopedPlatformHandle tfd(
+ timerfd_create(CLOCK_BOOTTIME, TFD_CLOEXEC | TFD_NONBLOCK));
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_string__utils.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_string__utils.cc
new file mode 100644
index 000000000000..94d07456f39f
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_string__utils.cc
@@ -0,0 +1,15 @@
+--- src/webrtc/src/third_party/perfetto/src/base/string_utils.cc.orig 2023-12-10 06:10:27 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/string_utils.cc
+@@ -38,9 +38,10 @@ namespace base {
+
+ // Locale-independant as possible version of strtod.
+ double StrToD(const char* nptr, char** endptr) {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ static auto c_locale = newlocale(LC_ALL, "C", nullptr);
+ return strtod_l(nptr, endptr, c_locale);
+ #else
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_subprocess__posix.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
new file mode 100644
index 000000000000..cd342dc750aa
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_subprocess__posix.cc
@@ -0,0 +1,22 @@
+--- src/webrtc/src/third_party/perfetto/src/base/subprocess_posix.cc.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/subprocess_posix.cc
+@@ -35,7 +35,8 @@
+ #include <thread>
+ #include <tuple>
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ #include <sys/prctl.h>
+ #endif
+@@ -64,7 +65,8 @@ struct ChildProcessArgs {
+ // Don't add any dynamic allocation in this function. This will be invoked
+ // under a fork(), potentially in a state where the allocator lock is held.
+ void __attribute__((noreturn)) ChildProcess(ChildProcessArgs* args) {
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
+ // In no case we want a child process to outlive its parent process. This is
+ // relevant for tests, so that a test failure/crash doesn't leave child
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
new file mode 100644
index 000000000000..db35dae0d173
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc
@@ -0,0 +1,11 @@
+--- src/webrtc/src/third_party/perfetto/src/base/test/vm_test_utils.cc.orig 2022-06-17 14:20:10 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/test/vm_test_utils.cc
+@@ -91,7 +91,7 @@ bool IsMapped(void* start, size_t size) {
+ // Fuchsia doesn't yet support paging (b/119503290).
+ ignore_result(page_size);
+ return true;
+-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) || PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ // mincore isn't available on NaCL.
+ ignore_result(page_size);
+ return true;
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
new file mode 100644
index 000000000000..cd18831f9f0e
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_thread__task__runner.cc
@@ -0,0 +1,14 @@
+--- src/webrtc/src/third_party/perfetto/src/base/thread_task_runner.cc.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/thread_task_runner.cc
+@@ -27,8 +27,9 @@
+ #include "perfetto/ext/base/thread_utils.h"
+ #include "perfetto/ext/base/unix_task_runner.h"
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ #include <sys/prctl.h>
+ #endif
+
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_unix__socket.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_unix__socket.cc
new file mode 100644
index 000000000000..d6b68eca4885
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_base_unix__socket.cc
@@ -0,0 +1,26 @@
+--- src/webrtc/src/third_party/perfetto/src/base/unix_socket.cc.orig 2023-09-13 12:11:42 UTC
++++ src/webrtc/src/third_party/perfetto/src/base/unix_socket.cc
+@@ -44,7 +44,7 @@
+ #include <unistd.h>
+ #endif
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__FreeBSD__)
+ #include <sys/ucred.h>
+ #endif
+
+@@ -917,9 +917,13 @@ void UnixSocket::ReadPeerCredentialsPosix() {
+ return;
+ PERFETTO_CHECK(peer_cred_mode_ != SockPeerCredMode::kIgnore);
+
+-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
++#if !defined(__FreeBSD__) && PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
++#if PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
++ struct sockpeercred user_cred;
++#else
+ struct ucred user_cred;
++#endif
+ socklen_t len = sizeof(user_cred);
+ int fd = sock_raw_.fd();
+ int res = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &user_cred, &len);
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc
new file mode 100644
index 000000000000..be5e6fbd6f7b
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc
@@ -0,0 +1,12 @@
+--- src/webrtc/src/third_party/perfetto/src/tracing/core/clock_snapshots.cc.orig 2024-04-19 13:02:56 UTC
++++ src/webrtc/src/third_party/perfetto/src/tracing/core/clock_snapshots.cc
+@@ -26,7 +26,8 @@ ClockSnapshotVector CaptureClockSnapshots() {
+ ClockSnapshotVector snapshot_data;
+ #if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \
+ !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \
+- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL)
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ struct {
+ clockid_t id;
+ protos::pbzero::BuiltinClock type;
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
new file mode 100644
index 000000000000..7176f04ac4d4
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc
@@ -0,0 +1,12 @@
+--- src/webrtc/src/third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2023-09-13 18:23:44 UTC
++++ src/webrtc/src/third_party/perfetto/src/tracing/ipc/memfd.cc
+@@ -20,7 +20,8 @@
+
+ #define PERFETTO_MEMFD_ENABLED() \
+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \
+- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX)
++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \
++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD))
+
+ #if PERFETTO_MEMFD_ENABLED()
+
diff --git a/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_track.cc b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_track.cc
new file mode 100644
index 000000000000..38368b7538f1
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_perfetto_src_tracing_track.cc
@@ -0,0 +1,11 @@
+--- src/webrtc/src/third_party/perfetto/src/tracing/track.cc.orig 2023-05-31 08:12:17 UTC
++++ src/webrtc/src/third_party/perfetto/src/tracing/track.cc
+@@ -143,7 +143,7 @@ namespace internal {
+ namespace {
+
+ uint64_t GetProcessStartTime() {
+-#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)
+ std::string stat;
+ if (!base::ReadFile("/proc/self/stat", &stat))
+ return 0u;
diff --git a/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_byte__order.h b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_byte__order.h
new file mode 100644
index 000000000000..a7e0af665427
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_byte__order.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/rtc_base/byte_order.h.orig 2023-02-08 09:03:45 UTC
++++ src/webrtc/src/rtc_base/byte_order.h
+@@ -90,6 +90,8 @@
+ #error WEBRTC_ARCH_BIG_ENDIAN or WEBRTC_ARCH_LITTLE_ENDIAN must be defined.
+ #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
+
++#elif defined(WEBRTC_BSD)
++#include <sys/endian.h>
+ #elif defined(WEBRTC_POSIX)
+ #include <endian.h>
+ #else
diff --git a/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_ip__address.cc
new file mode 100644
index 000000000000..74494c8c6eec
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_ip__address.cc
@@ -0,0 +1,12 @@
+--- src/webrtc/src/rtc_base/ip_address.cc.orig 2022-05-19 14:06:27 UTC
++++ src/webrtc/src/rtc_base/ip_address.cc
+@@ -13,7 +13,8 @@
+ #include <sys/socket.h>
+
+ #include "absl/strings/string_view.h"
+-#ifdef OPENBSD
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
+ #include <netinet/in_systm.h>
+ #endif
+ #ifndef __native_client__
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_network.cc
index 51cf980a4976..4852bcb601d4 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_network.cc
@@ -1,6 +1,6 @@
---- src/webrtc/src/rtc_base/network.cc.orig 2021-01-28 23:16:17 UTC
+--- src/webrtc/src/rtc_base/network.cc.orig 2024-06-17 12:56:06 UTC
+++ src/webrtc/src/rtc_base/network.cc
-@@ -244,7 +244,12 @@ AdapterType GetAdapterTypeFromName(const char* network
+@@ -290,7 +290,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n
}
#endif
@@ -12,4 +12,4 @@
+#endif
}
- NetworkManager::NetworkManager() {}
+ NetworkManager::EnumerationPermission NetworkManager::enumeration_permission()
diff --git a/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
new file mode 100644
index 000000000000..0a582a318a0a
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc
@@ -0,0 +1,114 @@
+--- src/webrtc/src/rtc_base/physical_socket_server.cc.orig 2024-06-17 12:56:06 UTC
++++ src/webrtc/src/rtc_base/physical_socket_server.cc
+@@ -54,7 +54,7 @@
+ #include "rtc_base/time_utils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ #include <linux/sockios.h>
+ #endif
+
+@@ -74,7 +74,7 @@ typedef void* SockOptArg;
+
+ #endif // WEBRTC_POSIX
+
+-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) && !defined(WEBRTC_BSD)
+
+ int64_t GetSocketRecvTimestamp(int socket) {
+ struct timeval tv_ioctl;
+@@ -329,7 +329,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+ return -1;
+ }
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -358,7 +358,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+ if (TranslateOption(opt, &slevel, &sopt) == -1)
+ return -1;
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -389,7 +389,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+ int PhysicalSocket::Send(const void* pv, size_t cb) {
+ int sent = DoSend(
+ s_, reinterpret_cast<const char*>(pv), static_cast<int>(cb),
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ // Suppress SIGPIPE. Without this, attempting to send on a socket whose
+ // other end is closed will result in a SIGPIPE signal being raised to
+ // our process, which by default will terminate the process, which we
+@@ -418,7 +418,7 @@ int PhysicalSocket::SendTo(const void* buffer,
+ size_t len = addr.ToSockAddrStorage(&saddr);
+ int sent =
+ DoSendTo(s_, static_cast<const char*>(buffer), static_cast<int>(length),
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ // Suppress SIGPIPE. See above for explanation.
+ MSG_NOSIGNAL,
+ #else
+@@ -697,7 +697,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *slevel = IPPROTO_IP;
+ *sopt = IP_DONTFRAGMENT;
+ break;
+-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__)
++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
+ RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
+ return -1;
+ #elif defined(WEBRTC_POSIX)
+@@ -746,7 +746,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ return -1;
+ #endif
+ case OPT_RECV_ECN:
+-#if defined(WEBRTC_POSIX)
++#if defined(WEBRTC_POSIX) && defined(IP_RECVTOS)
+ if (family_ == AF_INET6) {
+ *slevel = IPPROTO_IPV6;
+ *sopt = IPV6_RECVTCLASS;
+@@ -766,10 +766,19 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *sopt = SO_KEEPALIVE;
+ break;
+ case OPT_TCP_KEEPCNT:
++#if !defined(TCP_KEEPCNT)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPCNT not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_KEEPCNT;
+ break;
++#endif
+ case OPT_TCP_KEEPIDLE:
++#if !defined(TCP_KEEPALIVE)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPALIVE not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ #if !defined(WEBRTC_MAC)
+ *sopt = TCP_KEEPIDLE;
+@@ -777,12 +786,18 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *sopt = TCP_KEEPALIVE;
+ #endif
+ break;
++#endif
+ case OPT_TCP_KEEPINTVL:
++#if !defined(TCP_KEEPALIVE)
++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPINTVL not supported.";
++ return -1;
++#else
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_KEEPINTVL;
+ break;
++#endif
+ case OPT_TCP_USER_TIMEOUT:
+-#if defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)
++#if (defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)) && defined(TCP_USER_TIMEOUT)
+ *slevel = IPPROTO_TCP;
+ *sopt = TCP_USER_TIMEOUT;
+ break;
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
index 3992028b009d..4fc8c4ccb984 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h
@@ -1,11 +1,11 @@
---- src/webrtc/src/rtc_base/physical_socket_server.h.orig 2021-01-28 23:16:17 UTC
+--- src/webrtc/src/rtc_base/physical_socket_server.h.orig 2023-12-10 06:10:27 UTC
+++ src/webrtc/src/rtc_base/physical_socket_server.h
-@@ -14,7 +14,7 @@
- #include "api/units/time_delta.h"
+@@ -18,7 +18,7 @@
+ #include "rtc_base/third_party/sigslot/sigslot.h"
#if defined(WEBRTC_POSIX)
-#if defined(WEBRTC_LINUX)
+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
// On Linux, use epoll.
#include <sys/epoll.h>
- #define WEBRTC_USE_EPOLL 1
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
index 9afe13c478b9..ff4c8327b562 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
@@ -1,35 +1,33 @@
---- src/webrtc/src/rtc_base/platform_thread_types.cc.orig 2021-01-28 23:16:17 UTC
+--- src/webrtc/src/rtc_base/platform_thread_types.cc.orig 2023-02-08 09:03:45 UTC
+++ src/webrtc/src/rtc_base/platform_thread_types.cc
-@@ -11,7 +11,11 @@
+@@ -11,7 +11,9 @@
#include "rtc_base/platform_thread_types.h"
#if defined(WEBRTC_LINUX)
-+#if !defined(__FreeBSD__)
++#if !defined(WEBRTC_BSD)
#include <sys/prctl.h>
-+#else
-+#include <pthread_np.h>
+#endif
#include <sys/syscall.h>
#endif
-@@ -44,6 +48,8 @@ PlatformThreadId CurrentThreadId() {
+@@ -44,6 +46,8 @@ PlatformThreadId CurrentThreadId() {
return gettid();
#elif defined(WEBRTC_FUCHSIA)
return zx_thread_self();
-+#elif defined(__FreeBSD__)
-+ return pthread_getthreadid_np();
++#elif defined(WEBRTC_BSD)
++ return reinterpret_cast<uint64_t>(pthread_self());
#elif defined(WEBRTC_LINUX)
return syscall(__NR_gettid);
#elif defined(__EMSCRIPTEN__)
-@@ -74,6 +80,7 @@ void SetCurrentThreadName(const char* name) {
+@@ -74,6 +78,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
}
void SetCurrentThreadName(const char* name) {
-+#if !defined(__FreeBSD__)
++#if !defined(WEBRTC_BSD)
#if defined(WEBRTC_WIN)
// The SetThreadDescription API works even if no debugger is attached.
// The names set with this API also show up in ETW traces. Very handy.
-@@ -120,6 +127,7 @@ void SetCurrentThreadName(const char* name) {
+@@ -120,6 +125,7 @@ void SetCurrentThreadName(const char* name) {
zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME,
name, strlen(name));
RTC_DCHECK_EQ(status, ZX_OK);
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
index b864485827e3..e0042e465873 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h
@@ -1,19 +1,23 @@
---- src/webrtc/src/rtc_base/third_party/sigslot/sigslot.h.orig 2021-01-28 23:16:17 UTC
+--- src/webrtc/src/rtc_base/third_party/sigslot/sigslot.h.orig 2022-02-07 13:39:41 UTC
+++ src/webrtc/src/rtc_base/third_party/sigslot/sigslot.h
-@@ -178,6 +178,8 @@ class multi_threaded_local {
+@@ -178,6 +178,10 @@ class multi_threaded_local {
#endif // _SIGSLOT_HAS_WIN32_THREADS
#ifdef _SIGSLOT_HAS_POSIX_THREADS
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
++#endif
// The multi threading policies only get compiled in if they are enabled.
class multi_threaded_global {
public:
-@@ -201,6 +203,7 @@ class multi_threaded_local {
+@@ -201,6 +205,9 @@ class multi_threaded_local {
private:
pthread_mutex_t m_mutex;
};
++#if defined(OS_FREEBSD)
+#pragma GCC diagnostic pop
++#endif
#endif // _SIGSLOT_HAS_POSIX_THREADS
template <class mt_policy>
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn b/multimedia/ringrtc/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
index b34b0548b661..b34b0548b661 100644
--- a/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
diff --git a/multimedia/ringrtc/update.txt b/multimedia/ringrtc/update.txt
index c06c388c1902..904d8e2a777d 100644
--- a/multimedia/ringrtc/update.txt
+++ b/multimedia/ringrtc/update.txt
@@ -2,4 +2,4 @@ To update this port:
Bump DISTVERSION
eventually bump WEBRTC_REV (sh net-im/signal-desktop/get_deps.sh)
eventually update *_REV (sh multimedia/ringrtc/webrtc_fetch.sh)
-eventually update CARGO_CRATES (fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v2.41.0/Cargo.lock | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates)
+eventually update CARGO_CRATES (fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v2.44.2/Cargo.lock | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates)
diff --git a/multimedia/ringrtc/webrtc_fetch.sh b/multimedia/ringrtc/webrtc_fetch.sh
index 2dbb146280d2..fdbbed92a1db 100644
--- a/multimedia/ringrtc/webrtc_fetch.sh
+++ b/multimedia/ringrtc/webrtc_fetch.sh
@@ -1,10 +1,9 @@
#!/bin/sh
-WEBRTC_REV=6261i
+WEBRTC_REV=6478b
base_url="https://chromium.googlesource.com/chromium/src/base.git/+archive/"
boringssl_url="https://boringssl.googlesource.com/boringssl.git/+archive/"
-build_url="https://chromium.googlesource.com/chromium/src/build.git/+archive/"
buildtools_url="https://chromium.googlesource.com/chromium/src/buildtools.git/+archive/"
catapult_url="https://chromium.googlesource.com/catapult.git/+archive/"
icu_url="https://chromium.googlesource.com/chromium/deps/icu.git/+archive/"
@@ -13,8 +12,11 @@ libsrtp_url="https://chromium.googlesource.com/chromium/deps/libsrtp.git/+archiv
libvpx_url="https://chromium.googlesource.com/webm/libvpx.git/+archive/"
libyuv_url="https://chromium.googlesource.com/libyuv/libyuv.git/+archive/"
nasm_url="https://chromium.googlesource.com/chromium/deps/nasm.git/+archive/"
+perfetto_url="https://android.googlesource.com/platform/external/perfetto.git/+archive/"
+protobuf_javascript_url="https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript.git/+archive/"
testing_url="https://chromium.googlesource.com/chromium/src/testing.git/+archive/"
third_party_url="https://chromium.googlesource.com/chromium/src/third_party.git/+archive/"
+tools_url="https://chromium.googlesource.com/chromium/src/tools.git/+archive/"
fetch -q -o /tmp/DEPS https://raw.githubusercontent.com/signalapp/webrtc/${WEBRTC_REV}/DEPS
@@ -66,6 +68,14 @@ opus_hash=$(grep 'opus.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',#
printf "OPUS_REV=\t${opus_hash}\n"
printf "OPUS_REV=\t${opus_hash}\n" | portedit merge -i Makefile
+perfetto_hash=$(grep 'perfetto.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "PERFETTO_REV=\t${perfetto_hash}\n"
+printf "PERFETTO_REV=\t${perfetto_hash}\n" | portedit merge -i Makefile
+
+protobuf_javascript_hash=$(grep "protobuf-javascript' + '@'" /tmp/DEPS | awk -F '+' '{print $4}' | sed -e "s# ##g" -e "s#',##" -e "s#'##")
+printf "PROTOBUFJS_REV=\t${protobuf_javascript_hash}\n"
+printf "PROTOBUFJS_REV=\t${protobuf_javascript_hash}\n" | portedit merge -i Makefile
+
testing_hash=$(grep 'testing@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
printf "TESTING_REV=\t${testing_hash}\n"
printf "TESTING_REV=\t${testing_hash}\n" | portedit merge -i Makefile
@@ -74,9 +84,13 @@ third_party_hash=$(grep 'third_party@' /tmp/DEPS | awk -F '@' '{print $2}' | sed
printf "THIRD_PARTY_REV=\t${third_party_hash}\n"
printf "THIRD_PARTY_REV=\t${third_party_hash}\n" | portedit merge -i Makefile
+tools_hash=$(grep 'src/tools@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "TOOLS_REV=\t${tools_hash}\n"
+printf "TOOLS_REV=\t${tools_hash}\n" | portedit merge -i Makefile
+
mkdir -p dist_good
-for c in base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm testing third_party
+for c in base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm perfetto protobuf_javascript testing third_party tools
do
hash=$(echo ${c}_hash)
eval "hash=\$$hash"