git: 32ddea04d8e0 - main - multimedia/ringrtc: Update to 2.59.0

From: Mikael Urankar <mikael_at_FreeBSD.org>
Date: Tue, 14 Oct 2025 13:25:31 UTC
The branch main has been updated by mikael:

URL: https://cgit.FreeBSD.org/ports/commit/?id=32ddea04d8e0e4d628ce9299d2ed15a2ca39a1d4

commit 32ddea04d8e0e4d628ce9299d2ed15a2ca39a1d4
Author:     Mikael Urankar <mikael@FreeBSD.org>
AuthorDate: 2025-10-14 13:22:22 +0000
Commit:     Mikael Urankar <mikael@FreeBSD.org>
CommitDate: 2025-10-14 13:25:28 +0000

    multimedia/ringrtc: Update to 2.59.0
---
 multimedia/ringrtc/Makefile                        | 41 +++++-----
 multimedia/ringrtc/Makefile.crates                 |  6 +-
 multimedia/ringrtc/distinfo                        | 76 +++++++++----------
 .../files/patch-build_config_compiler_BUILD.gn     | 87 ++++++++--------------
 .../files/patch-cargo-crates_cubeb-sys_build.rs    |  4 +-
 ...rust_src_webrtc_audio__device__module__utils.rs | 34 ++++-----
 ...dio__device_linux_audio__device__alsa__linux.cc | 11 +++
 ...ty_webrtc_rtc__base_physical__socket__server.cc | 50 ++++++-------
 ...rty_webrtc_rtc__base_platform__thread__types.cc | 17 +++--
 ...h-third__party_webrtc_system__wrappers_BUILD.gn | 15 ----
 .../ringrtc/files/patch-third__party_zlib_BUILD.gn |  6 +-
 multimedia/ringrtc/update.txt                      |  2 +-
 multimedia/ringrtc/webrtc_fetch.sh                 |  2 +-
 13 files changed, 159 insertions(+), 192 deletions(-)

diff --git a/multimedia/ringrtc/Makefile b/multimedia/ringrtc/Makefile
index f5f557ad9ca4..f89a949f9962 100644
--- a/multimedia/ringrtc/Makefile
+++ b/multimedia/ringrtc/Makefile
@@ -1,10 +1,8 @@
 PORTNAME=	ringrtc
 DISTVERSIONPREFIX=	v
-DISTVERSION=	2.57.1
-PORTREVISION=	1
+DISTVERSION=	2.59.0
 CATEGORIES=	multimedia
-MASTER_SITES=	LOCAL/mikael/ringrtc/:base \
-		LOCAL/mikael/ringrtc/:boringssl \
+MASTER_SITES=	LOCAL/mikael/ringrtc/:boringssl \
 		LOCAL/mikael/ringrtc/:build \
 		LOCAL/mikael/ringrtc/:buildtools \
 		LOCAL/mikael/ringrtc/:catapult \
@@ -21,8 +19,7 @@ MASTER_SITES=	LOCAL/mikael/ringrtc/:base \
 		LOCAL/mikael/ringrtc/:testing \
 		LOCAL/mikael/ringrtc/:third_party \
 		LOCAL/mikael/ringrtc/:tools
-DISTFILES=	base-${BASE_REV}.tar.gz:base \
-		boringssl-${BORINGSSL_REV}.tar.gz:boringssl \
+DISTFILES=	boringssl-${BORINGSSL_REV}.tar.gz:boringssl \
 		build-${BUILD_REV}.tar.gz:build \
 		buildtools-${BUILDTOOLS_REV}.tar.gz:buildtools \
 		catapult-${CATAPULT_REV}.tar.gz:catapult \
@@ -65,28 +62,27 @@ GH_TUPLE=	signalapp:ringrtc:${DISTVERSIONPREFIX}${DISTVERSION} \
 		signalapp:webrtc:${WEBRTC_REV}:webrtc
 
 # sh net-im/signal-desktop/get_deps.sh
-WEBRTC_REV=	7204c
+WEBRTC_REV=	7339c
 
 # modify webrtc_fetch.sh, then sh webrtc_fetch.sh
-BASE_REV=		4ba67f727a84a10e32a417dc7e194f4fc6a23390
-BORINGSSL_REV=		9295969e1dad2c31d0d99481734c1c68dcbc6403
-BUILD_REV=		7adbc7e3263f3ab427ba7c5ac7839a69082ff7fb
-BUILDTOOLS_REV=		1fc7350e65e9d7848c083b83aaf67611e74a5654
-CATAPULT_REV=		5477c6dfde1132b685c73edc16e1bc71449a691d
-ICU_REV=		b929596baebf0ab4ac7ec07f38365db4c50a559d
-LIBCUBEB_VER=		0.30.1
+BORINGSSL_REV=		ddb2ca4b48fca9a1c468d83dc513b837331843ac
+BUILD_REV=		66d076c7ab192991f67891b062b35404f3cb0739
+BUILDTOOLS_REV=		0c4bbb0f8a874de0a2a15d196031c7303d04fbb3
+CATAPULT_REV=		0fd1415f0cf3219ba097d37336141897fab7c5e9
+ICU_REV=		1b2e3e8a421efae36141a7b932b41e315b089af8
+LIBCUBEB_VER=		0.31.2
 LIBJPEG_TURBO_REV=	e14cbfaa85529d47f9f55b0f104a579c1061f9ad
 LIBSRTP_REV=		a52756acb1c5e133089c798736dd171567df11f5
-LIBVPX_REV=		b84ca9b63730e7d4563573a56a66317eb0087ebf
-LIBYUV_REV=		61bdaee13a701d2b52c6dc943ccc5c888077a591
-NASM_REV=		9f916e90e6fc34ec302573f6ce147e43e33d68ca
+LIBVPX_REV=		a985e5e847a2fe69bef3e547cf25088132194e39
+LIBYUV_REV=		cdd3bae84818e78466fec1ce954eead8f403d10c
+NASM_REV=		e2c93c34982b286b27ce8b56dd7159e0b90869a2
 OPUS_REV=		55513e81d8f606bd75d0ff773d2144e5f2a732f5
-PERFETTO_REV=		dd35b295cd359ba094404218414955f961a0d6ae
+PERFETTO_REV=		0c893ed6bf6b42e3fee58daf3380d301c72550ed
 PROTOBUFJS_REV=		28bf5df73ef2f345a936d9cc95d64ba8ed426a53
-RE2_REV=		c84a140c93352cdabbfb547c531be34515b12228
-TESTING_REV=		44b0a8d794b28dbd74614e5f5e7da2b407030647
-THIRD_PARTY_REV=	8a150db896356cd9b47f8c1a6d916347393f90f2
-TOOLS_REV=		901b847deda65d44f1bba16a9f47e2ea68a805be
+RE2_REV=		8451125897dd7816a5c118925e8e42309d598ecc
+TESTING_REV=		305de9533d3ee2840af0b3f2c8ed0b32802b0a5d
+THIRD_PARTY_REV=	e30091e8987ee0bb0cd30bc467250a96a7614762
+TOOLS_REV=		ec8f1c6113753a31c55b6d6bddfbe198046029a8
 
 BINARY_ALIAS=	vpython3=${PYTHON_CMD}
 
@@ -142,7 +138,6 @@ GN_ARGS+=	enable_rust=true \
 post-extract:
 	${MKDIR} ${WRKDIR}/${PORTNAME}-${DISTVERSION}/src/webrtc
 	${MV} ${WRKDIR}/webrtc-${WEBRTC_REV} ${WEBRTCDIR}
-	${MV} ${WRKDIR}/base ${WEBRTCDIR}
 	${MV} ${WRKDIR}/build ${WEBRTCDIR}
 	${MV} ${WRKDIR}/buildtools ${WEBRTCDIR}
 	${MV} ${WRKDIR}/testing ${WEBRTCDIR}
diff --git a/multimedia/ringrtc/Makefile.crates b/multimedia/ringrtc/Makefile.crates
index c7827da1e76e..853dc496b395 100644
--- a/multimedia/ringrtc/Makefile.crates
+++ b/multimedia/ringrtc/Makefile.crates
@@ -68,9 +68,9 @@ CARGO_CRATES=	addr2line-0.24.2 \
 		crossbeam-utils-0.8.21 \
 		crypto-common-0.1.6 \
 		ctr-0.9.2 \
-		cubeb-0.30.1 \
-		cubeb-core-0.30.1 \
-		cubeb-sys-0.30.1 \
+		cubeb-0.31.2 \
+		cubeb-core-0.31.2 \
+		cubeb-sys-0.31.2 \
 		darling-0.20.11 \
 		darling_core-0.20.11 \
 		darling_macro-0.20.11 \
diff --git a/multimedia/ringrtc/distinfo b/multimedia/ringrtc/distinfo
index b45a61bfbe34..cbfd9a53b2c0 100644
--- a/multimedia/ringrtc/distinfo
+++ b/multimedia/ringrtc/distinfo
@@ -1,40 +1,38 @@
-TIMESTAMP = 1758207951
-SHA256 (base-4ba67f727a84a10e32a417dc7e194f4fc6a23390.tar.gz) = 587e729eca0d4e6762dd47fcb3ff45c4e0187019bb98e5208c4ec1c475fb2c8e
-SIZE (base-4ba67f727a84a10e32a417dc7e194f4fc6a23390.tar.gz) = 6343572
-SHA256 (boringssl-9295969e1dad2c31d0d99481734c1c68dcbc6403.tar.gz) = 38d8818d8925e8dde2fb7ece0f528eb5cc4ec96bacbf6d22f6e3cf8705fc99f5
-SIZE (boringssl-9295969e1dad2c31d0d99481734c1c68dcbc6403.tar.gz) = 46490073
-SHA256 (build-7adbc7e3263f3ab427ba7c5ac7839a69082ff7fb.tar.gz) = eff6b13e959795597d4413950bc97028ce1b642ad09e4b8e3b5ffd1f07c811cb
-SIZE (build-7adbc7e3263f3ab427ba7c5ac7839a69082ff7fb.tar.gz) = 1691280
-SHA256 (buildtools-1fc7350e65e9d7848c083b83aaf67611e74a5654.tar.gz) = 778468b6a9192a35600c3854c6156f7a8166b92e463b3ea53e07cb9a8500554a
-SIZE (buildtools-1fc7350e65e9d7848c083b83aaf67611e74a5654.tar.gz) = 105246
-SHA256 (catapult-5477c6dfde1132b685c73edc16e1bc71449a691d.tar.gz) = cddb7ca4992630e13e4c9255f3409e97f7620685776bc1359c19b8f2fa5b16ac
-SIZE (catapult-5477c6dfde1132b685c73edc16e1bc71449a691d.tar.gz) = 165315811
-SHA256 (icu-b929596baebf0ab4ac7ec07f38365db4c50a559d.tar.gz) = a696efa75651e9d2591c76f312ba042c97093dac646453dd9edfedf6b96efd6b
-SIZE (icu-b929596baebf0ab4ac7ec07f38365db4c50a559d.tar.gz) = 54306779
-SHA256 (nasm-9f916e90e6fc34ec302573f6ce147e43e33d68ca.tar.gz) = b62071bc904b541fc2a5dd1688c9a028515b1e4ca1622b7acb4417f42be9711a
-SIZE (nasm-9f916e90e6fc34ec302573f6ce147e43e33d68ca.tar.gz) = 1640019
+TIMESTAMP = 1760276999
+SHA256 (boringssl-ddb2ca4b48fca9a1c468d83dc513b837331843ac.tar.gz) = dd8bd3bff9215f945ea056c120443d076fece66fa3505b170d268e258d3b2419
+SIZE (boringssl-ddb2ca4b48fca9a1c468d83dc513b837331843ac.tar.gz) = 47628099
+SHA256 (build-66d076c7ab192991f67891b062b35404f3cb0739.tar.gz) = 9180093b827f7051f3ede09c6e405c53206f81016028f51c826ddb35d101dfb0
+SIZE (build-66d076c7ab192991f67891b062b35404f3cb0739.tar.gz) = 1680205
+SHA256 (buildtools-0c4bbb0f8a874de0a2a15d196031c7303d04fbb3.tar.gz) = f28262cd13f7e3b9bdb50aaa067572cd7a434f8e9c121a5db823d4f3e2435712
+SIZE (buildtools-0c4bbb0f8a874de0a2a15d196031c7303d04fbb3.tar.gz) = 53726
+SHA256 (catapult-0fd1415f0cf3219ba097d37336141897fab7c5e9.tar.gz) = ac34a57dd9a69073e5d3f775d7d4b60a03bbf025fa8df7cd7475fed3ff912e3d
+SIZE (catapult-0fd1415f0cf3219ba097d37336141897fab7c5e9.tar.gz) = 165360942
+SHA256 (icu-1b2e3e8a421efae36141a7b932b41e315b089af8.tar.gz) = abf224372bc2067405c0bbc7dc39ea2661f404f61a54cf400a594928386d1e3a
+SIZE (icu-1b2e3e8a421efae36141a7b932b41e315b089af8.tar.gz) = 54277713
+SHA256 (nasm-e2c93c34982b286b27ce8b56dd7159e0b90869a2.tar.gz) = 960caa476995910b435c6a38cb0423e46b36dd11b94c2ea3c150048ecd5ae77a
+SIZE (nasm-e2c93c34982b286b27ce8b56dd7159e0b90869a2.tar.gz) = 1645427
 SHA256 (libjpeg_turbo-e14cbfaa85529d47f9f55b0f104a579c1061f9ad.tar.gz) = 4dbfed66468f812132ece54ab1af0c2b035c5a426ebdadc361626432901d8015
 SIZE (libjpeg_turbo-e14cbfaa85529d47f9f55b0f104a579c1061f9ad.tar.gz) = 2684933
 SHA256 (libsrtp-a52756acb1c5e133089c798736dd171567df11f5.tar.gz) = c1105b5c1c34c3d069b8e2561de9d568ea1b8d4d7d1cd5a049f70a830e8cf71c
 SIZE (libsrtp-a52756acb1c5e133089c798736dd171567df11f5.tar.gz) = 140953
-SHA256 (libvpx-b84ca9b63730e7d4563573a56a66317eb0087ebf.tar.gz) = 1e8d247dff0c37a4d8ca97bf66c337cf6ea13264ea72e57910efff6c659ef79e
-SIZE (libvpx-b84ca9b63730e7d4563573a56a66317eb0087ebf.tar.gz) = 5704757
-SHA256 (libyuv-61bdaee13a701d2b52c6dc943ccc5c888077a591.tar.gz) = 027fcf1407df3babff39621f16646c690c4f15a78e53722a6a3938f3e09e1747
-SIZE (libyuv-61bdaee13a701d2b52c6dc943ccc5c888077a591.tar.gz) = 620158
+SHA256 (libvpx-a985e5e847a2fe69bef3e547cf25088132194e39.tar.gz) = f6691a058ec03205b34b62f5e0d70ccd473031bcb7f85cde1a1d5675b98ac093
+SIZE (libvpx-a985e5e847a2fe69bef3e547cf25088132194e39.tar.gz) = 5707956
+SHA256 (libyuv-cdd3bae84818e78466fec1ce954eead8f403d10c.tar.gz) = cf46a992bbcaae70b883c34b4d10b2c7eb78a9d9c6af4d95c8a821a409ec9a7b
+SIZE (libyuv-cdd3bae84818e78466fec1ce954eead8f403d10c.tar.gz) = 622417
 SHA256 (opus-55513e81d8f606bd75d0ff773d2144e5f2a732f5.tar.gz) = 0e568cf80e3df39ed9e5cddb5921103e8c861760f180013de9240337d37184bd
 SIZE (opus-55513e81d8f606bd75d0ff773d2144e5f2a732f5.tar.gz) = 4248433
-SHA256 (perfetto-dd35b295cd359ba094404218414955f961a0d6ae.tar.gz) = 86c8af74bf7b3dc0a1e7732c60f9dd4aafe83109584eba56c95872e3dcefe3b8
-SIZE (perfetto-dd35b295cd359ba094404218414955f961a0d6ae.tar.gz) = 28738959
+SHA256 (perfetto-0c893ed6bf6b42e3fee58daf3380d301c72550ed.tar.gz) = 951d049eeb950f362570ac0fbc9db83bb78ff4155af73c9ddc2ae2cca7fb1472
+SIZE (perfetto-0c893ed6bf6b42e3fee58daf3380d301c72550ed.tar.gz) = 46179278
 SHA256 (protobuf_javascript-28bf5df73ef2f345a936d9cc95d64ba8ed426a53.tar.gz) = 058d5130df687f58ba1a21011638b9b70165a01f2021d43431963233e7ce0d13
 SIZE (protobuf_javascript-28bf5df73ef2f345a936d9cc95d64ba8ed426a53.tar.gz) = 382573
-SHA256 (re2-c84a140c93352cdabbfb547c531be34515b12228.tar.gz) = a7aa3ff629e53aeec9b84b26fbd016e405dfd3fa493933b7c605e5ebc5498e9a
-SIZE (re2-c84a140c93352cdabbfb547c531be34515b12228.tar.gz) = 396463
-SHA256 (testing-44b0a8d794b28dbd74614e5f5e7da2b407030647.tar.gz) = 52b1eec66fafd717d74516dc9ab8d4009fd67bc72082c28446015f37a812b857
-SIZE (testing-44b0a8d794b28dbd74614e5f5e7da2b407030647.tar.gz) = 2162959
-SHA256 (third_party-8a150db896356cd9b47f8c1a6d916347393f90f2.tar.gz) = 283c90c3433221dd86b0ca66bb39d2a4dcd08ad3226c810e8d4804d8d1cf956c
-SIZE (third_party-8a150db896356cd9b47f8c1a6d916347393f90f2.tar.gz) = 760183695
-SHA256 (tools-901b847deda65d44f1bba16a9f47e2ea68a805be.tar.gz) = d3ff6f5063d0356fcc05de9a24c8205d6829a70f656dd8efa262f871313c022c
-SIZE (tools-901b847deda65d44f1bba16a9f47e2ea68a805be.tar.gz) = 16802251
+SHA256 (re2-8451125897dd7816a5c118925e8e42309d598ecc.tar.gz) = f6ca937370a88ef0808aac40605bb5bddd1e5d9cfa660980a2d62bdc09e7516c
+SIZE (re2-8451125897dd7816a5c118925e8e42309d598ecc.tar.gz) = 396884
+SHA256 (testing-305de9533d3ee2840af0b3f2c8ed0b32802b0a5d.tar.gz) = 7a084fd7643dbd03838529fc3c8db4efe2481cd182863e29af42bb21a4fbedb4
+SIZE (testing-305de9533d3ee2840af0b3f2c8ed0b32802b0a5d.tar.gz) = 2168667
+SHA256 (third_party-e30091e8987ee0bb0cd30bc467250a96a7614762.tar.gz) = f696e1279467f6528c0fd07066b7fd6ca8f98e77dc607266c3a1c6848c55acf1
+SIZE (third_party-e30091e8987ee0bb0cd30bc467250a96a7614762.tar.gz) = 743186126
+SHA256 (tools-ec8f1c6113753a31c55b6d6bddfbe198046029a8.tar.gz) = d03ff3da296eb73190c21c051941b49cc4863bf0e74f46bc1596acc663476024
+SIZE (tools-ec8f1c6113753a31c55b6d6bddfbe198046029a8.tar.gz) = 16963574
 SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
 SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
@@ -175,12 +173,12 @@ SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d
 SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
 SHA256 (rust/crates/ctr-0.9.2.crate) = 0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835
 SIZE (rust/crates/ctr-0.9.2.crate) = 18344
-SHA256 (rust/crates/cubeb-0.30.1.crate) = 413fe37b5d84d57df6e43f1ac92c39cd14038acdc143b95e420fae2ebc8b6300
-SIZE (rust/crates/cubeb-0.30.1.crate) = 8128
-SHA256 (rust/crates/cubeb-core-0.30.1.crate) = fc031febafcc3c116ad360fe046c5cd1020e7436f5e6781015c603c494909bf1
-SIZE (rust/crates/cubeb-core-0.30.1.crate) = 12572
-SHA256 (rust/crates/cubeb-sys-0.30.1.crate) = cd2114801cd652119ace9e050a16d6641475fe3341ef45c58c9377fa45cbe3bf
-SIZE (rust/crates/cubeb-sys-0.30.1.crate) = 412587
+SHA256 (rust/crates/cubeb-0.31.2.crate) = b2cd1c2d1e39e54b6b7cc7b44222844c5ac05285d1667f54b0d17b8329c12b7d
+SIZE (rust/crates/cubeb-0.31.2.crate) = 8205
+SHA256 (rust/crates/cubeb-core-0.31.2.crate) = b6c9979d62b94e8bd43b08b9c4bafd8950acfa20b8338ff9671d35be6fd308a3
+SIZE (rust/crates/cubeb-core-0.31.2.crate) = 13025
+SHA256 (rust/crates/cubeb-sys-0.31.2.crate) = 564cb433c2eb9bc33221ce3726467352570b75704a2083321767e4d8f59621c1
+SIZE (rust/crates/cubeb-sys-0.31.2.crate) = 412486
 SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
 SIZE (rust/crates/darling-0.20.11.crate) = 37614
 SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
@@ -917,7 +915,7 @@ SHA256 (signalapp-libsignal-v0.78.3_GH0.tar.gz) = 5df4afee765414ed8c8012a289a4f4
 SIZE (signalapp-libsignal-v0.78.3_GH0.tar.gz) = 2327582
 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.57.1_GH0.tar.gz) = a609e25e3c60d17475da8729269f37fcc30ed8eb1eb5794799b883325336e62c
-SIZE (signalapp-ringrtc-v2.57.1_GH0.tar.gz) = 858227
-SHA256 (signalapp-webrtc-7204c_GH0.tar.gz) = f1f59d8bd2343a03f8c065dbb07bb3a2da46a35c1fa3e28c71c6ef6fc02fc072
-SIZE (signalapp-webrtc-7204c_GH0.tar.gz) = 39977265
+SHA256 (signalapp-ringrtc-v2.59.0_GH0.tar.gz) = 72d9b075c8c86a657ad7ba06786e88809043e5cc19b71201fcb8286e55bc712c
+SIZE (signalapp-ringrtc-v2.59.0_GH0.tar.gz) = 865026
+SHA256 (signalapp-webrtc-7339c_GH0.tar.gz) = bf3f9af40a42deb71c36e62079561617d07fc49bc269ff83835e05b3c7a6a2df
+SIZE (signalapp-webrtc-7339c_GH0.tar.gz) = 39956797
diff --git a/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn b/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn
index 65b46735dcc7..8a56023da48b 100644
--- a/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-build_config_compiler_BUILD.gn
@@ -1,15 +1,15 @@
 --- src/webrtc/src/build/config/compiler/BUILD.gn.orig	2024-06-18 16:34:35 UTC
 +++ src/webrtc/src/build/config/compiler/BUILD.gn
-@@ -199,7 +199,7 @@ declare_args() {
+@@ -194,7 +194,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.
--  simple_template_names = is_clang && !is_nacl && !is_win && !is_apple
-+  simple_template_names = is_clang && !is_nacl && !is_win && !is_apple && !is_bsd
- }
+-  simple_template_names = is_clang && !is_win && !is_apple
++  simple_template_names = is_clang && !is_win && !is_apple && !is_bsd
  
- declare_args() {
-@@ -256,13 +256,16 @@ config("no_unresolved_symbols") {
+   # This switch is used to enable -Wexit-time-destructors by default. This
+   # warning serves as a flip switch to allow a gradual migration of targets
+@@ -290,13 +290,16 @@ config("no_unresolved_symbols") {
  # 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") {
@@ -27,7 +27,7 @@
  }
  
  # compiler ---------------------------------------------------------------------
-@@ -521,6 +524,10 @@ config("compiler") {
+@@ -564,6 +567,10 @@ config("compiler") {
      }
    }
  
@@ -38,52 +38,43 @@
    # Linux-specific compiler flags setup.
    # ------------------------------------
    if (use_icf && (!is_apple || use_lld)) {
-@@ -581,7 +588,7 @@ config("compiler") {
+@@ -639,7 +646,7 @@ config("compiler") {
      ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
    }
  
--  if (is_clang && !is_nacl) {
-+  if (is_clang && !is_nacl && !is_bsd) {
+-  if (is_clang) {
++  if (is_clang && !is_bsd) {
      cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
      if (save_reproducers_on_lld_crash && use_lld) {
        ldflags += [
-@@ -1233,7 +1240,7 @@ config("compiler_cpu_abi") {
+@@ -1281,7 +1288,7 @@ config("compiler_cpu_abi") {
+     # CPU architecture. We may or may not be doing a cross compile now, so for
      # simplicity we always explicitly set the architecture.
      if (current_cpu == "x64") {
-       if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
--          !is_chromeos_device) {
-+          !is_chromeos_device && !is_bsd) {
+-      if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
++      if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device && !is_bsd) {
          cflags += [ "--target=x86_64-unknown-linux-gnu" ]
          ldflags += [ "--target=x86_64-unknown-linux-gnu" ]
        } else {
-@@ -1256,7 +1263,7 @@ config("compiler_cpu_abi") {
-         ]
-       }
+@@ -1302,7 +1309,7 @@ config("compiler_cpu_abi") {
+         "-msse3",
+       ]
      } else if (current_cpu == "arm") {
--      if (is_clang && !is_android && !is_nacl && !is_chromeos_device) {
-+      if (is_clang && !is_android && !is_nacl && !is_chromeos_device && !is_bsd) {
+-      if (is_clang && !is_android && !is_chromeos_device) {
++      if (is_clang && !is_android && !is_chromeos_device && !is_bsd) {
          cflags += [ "--target=arm-linux-gnueabihf" ]
          ldflags += [ "--target=arm-linux-gnueabihf" ]
        }
-@@ -1271,7 +1278,7 @@ config("compiler_cpu_abi") {
+@@ -1314,7 +1321,7 @@ config("compiler_cpu_abi") {
+         cflags += [ "-mtune=$arm_tune" ]
        }
      } else if (current_cpu == "arm64") {
-       if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
--          !is_chromeos_device) {
-+          !is_chromeos_device && !is_bsd) {
+-      if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device) {
++      if (is_clang && !is_android && !is_fuchsia && !is_chromeos_device && !is_bsd) {
          cflags += [ "--target=aarch64-linux-gnu" ]
          ldflags += [ "--target=aarch64-linux-gnu" ]
        }
-@@ -1617,7 +1624,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.
--    if (is_nacl) {
-+    if (is_nacl || is_bsd) {
-       # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-       cflags += [
-         "-Xclang",
-@@ -1683,7 +1690,7 @@ config("clang_revision") {
+@@ -1713,7 +1720,7 @@ config("clang_revision") {
  }
  
  config("clang_revision") {
@@ -92,25 +83,16 @@
        current_os != "zos") {
      _perform_consistency_checks = current_toolchain == default_toolchain
      if (llvm_force_head_revision) {
-@@ -1775,7 +1782,7 @@ config("clang_warning_suppression") {
- # e.g. by setting in the the project's .gn file.
- config("clang_warning_suppression") {
-   # Some build configs use older versions of clang that don't support WSMs
--  if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
-+  if (!is_bsd && !is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
-       !llvm_android_mainline && is_clang &&
-       clang_warning_suppression_file != "") {
-     from_build_root =
 @@ -2134,9 +2141,6 @@ config("default_warnings") {
  
-         # TODO(crbug.com/40284799): Fix and re-enable.
-         "-Wno-thread-safety-reference-return",
+       # TODO(crbug.com/40284799): Fix and re-enable.
+       "-Wno-thread-safety-reference-return",
 -
--        # TODO(crbug.com/376641662): Fix and re-enable.
--        "-Wno-nontrivial-memcall",
-       ]
+-      # TODO(crbug.com/376641662): Fix and re-enable.
+-      "-Wno-nontrivial-memcall",
+     ]
  
-       cflags_cc += [
+     cflags_cc += [
 @@ -2920,7 +2924,7 @@ config("afdo") {
  # There are some targeted places that AFDO regresses, so we provide a separate
  # config to allow AFDO to be disabled per-target.
@@ -129,12 +111,3 @@
      cflags = [ "-fauto-profile=${auto_profile_path}" ]
      inputs = [ auto_profile_path ]
    }
-@@ -3136,7 +3140,7 @@ config("symbols") {
-     cflags += [ "-gomit-unreferenced-methods" ]
-   }
- 
--  if (is_clang && (!is_nacl || is_nacl_saigo)) {
-+  if (is_clang && (!is_nacl || is_nacl_saigo) && !is_bsd) {
-     if (is_apple) {
-       # 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-cargo-crates_cubeb-sys_build.rs b/multimedia/ringrtc/files/patch-cargo-crates_cubeb-sys_build.rs
index 07d8057c0ae6..e587a6f825c8 100644
--- a/multimedia/ringrtc/files/patch-cargo-crates_cubeb-sys_build.rs
+++ b/multimedia/ringrtc/files/patch-cargo-crates_cubeb-sys_build.rs
@@ -1,5 +1,5 @@
---- cargo-crates/cubeb-sys-0.30.1/build.rs.orig	2025-02-01 09:46:43 UTC
-+++ cargo-crates/cubeb-sys-0.30.1/build.rs
+--- cargo-crates/cubeb-sys-0.31.2/build.rs.orig	2025-02-01 09:46:43 UTC
++++ cargo-crates/cubeb-sys-0.31.2/build.rs
 @@ -155,22 +155,6 @@ fn main() {
          // Ignore the result of find_library. We don't care if the
          // libraries are missing.
diff --git a/multimedia/ringrtc/files/patch-src_rust_src_webrtc_audio__device__module__utils.rs b/multimedia/ringrtc/files/patch-src_rust_src_webrtc_audio__device__module__utils.rs
index ec15f6b1927f..f3cd4b309e23 100644
--- a/multimedia/ringrtc/files/patch-src_rust_src_webrtc_audio__device__module__utils.rs
+++ b/multimedia/ringrtc/files/patch-src_rust_src_webrtc_audio__device__module__utils.rs
@@ -1,18 +1,18 @@
 --- src/rust/src/webrtc/audio_device_module_utils.rs.orig	2024-11-18 16:04:01 UTC
 +++ src/rust/src/webrtc/audio_device_module_utils.rs
-@@ -11,7 +11,7 @@ use cubeb_core::DevicePref;
+@@ -10,7 +10,7 @@ use cubeb::{DeviceCollection, DeviceState};
+ 
  use anyhow::anyhow;
  use cubeb::{DeviceCollection, DeviceState};
- use cubeb_core::DevicePref;
 -#[cfg(target_os = "linux")]
 +#[cfg(any(target_os = "freebsd", target_os = "linux"))]
  use cubeb_core::DeviceType;
+ use cubeb_core::{DeviceId, DevicePref};
  use regex::Regex;
- 
 @@ -22,7 +22,7 @@ pub struct MinimalDeviceInfo {
-     pub devid: *const c_void,
+     pub devid: DeviceId,
      pub device_id: Option<String>,
-     pub friendly_name: Option<String>,
+     pub friendly_name: String,
 -    #[cfg(target_os = "linux")]
 +    #[cfg(any(target_os = "freebsd", target_os = "linux"))]
      device_type: DeviceType,
@@ -27,16 +27,16 @@
  fn device_is_monitor(device: &MinimalDeviceInfo) -> bool {
      device.device_type == DeviceType::INPUT
          && device
-@@ -57,7 +57,7 @@ impl DeviceCollectionWrapper {
-                 devid: device.devid(),
-                 device_id: device.device_id().as_ref().map(|s| s.to_string()),
-                 friendly_name: device.friendly_name().as_ref().map(|s| s.to_string()),
--                #[cfg(target_os = "linux")]
-+                #[cfg(any(target_os = "freebsd", target_os = "linux"))]
-                 device_type: device.device_type(),
-                 preferred: device.preferred(),
-                 state: device.state(),
-@@ -79,7 +79,7 @@ impl DeviceCollectionWrapper {
+@@ -58,7 +58,7 @@ impl DeviceCollectionWrapper {
+                     devid: device.devid(),
+                     device_id: device.device_id().as_ref().map(|s| s.to_string()),
+                     friendly_name: friendly.to_string(),
+-                    #[cfg(target_os = "linux")]
++                    #[cfg(any(target_os = "freebsd", target_os = "linux"))]
+                     device_type: device.device_type(),
+                     preferred: device.preferred(),
+                     state: device.state(),
+@@ -83,7 +83,7 @@ impl DeviceCollectionWrapper {
      }
  
      // For linux only, a method that will ignore "monitor" devices.
@@ -45,7 +45,7 @@
      pub fn iter_non_monitor(
          &self,
      ) -> std::iter::Filter<std::slice::Iter<'_, MinimalDeviceInfo>, fn(&&MinimalDeviceInfo) -> bool>
-@@ -121,7 +121,7 @@ impl DeviceCollectionWrapper {
+@@ -125,7 +125,7 @@ impl DeviceCollectionWrapper {
              {
                  self.iter().nth(idx - 1)
              }
@@ -54,7 +54,7 @@
              {
                  // filter out "monitor" devices.
                  self.iter_non_monitor().nth(idx - 1)
-@@ -149,12 +149,12 @@ impl DeviceCollectionWrapper {
+@@ -153,12 +153,12 @@ impl DeviceCollectionWrapper {
      pub fn count(&self) -> usize {
          #[cfg(target_os = "macos")]
          let count = self.iter().count();
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_audio__device_linux_audio__device__alsa__linux.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_audio__device_linux_audio__device__alsa__linux.cc
new file mode 100644
index 000000000000..f65876c52fdd
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_audio__device_linux_audio__device__alsa__linux.cc
@@ -0,0 +1,11 @@
+--- src/webrtc/src/modules/audio_device/linux/audio_device_alsa_linux.cc.orig	2025-10-12 17:07:03 UTC
++++ src/webrtc/src/modules/audio_device/linux/audio_device_alsa_linux.cc
+@@ -10,7 +10,7 @@
+ 
+ #include "modules/audio_device/linux/audio_device_alsa_linux.h"
+ 
+-#include <asm-generic/errno.h>
++//#include <asm-generic/errno.h>
+ 
+ #include <cerrno>
+ #include <cstdint>
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
index 0a582a318a0a..701ee6e4f4ea 100644
--- 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
@@ -1,24 +1,24 @@
 --- 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"
+@@ -61,7 +61,7 @@
+ #undef SetPort
+ #endif
  
 -#if defined(WEBRTC_LINUX)
-+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
++#if defined(WEBRTC_LINUX)  && !defined(WEBRTC_BSD)
+ #include <asm-generic/socket.h>
  #include <linux/sockios.h>
- #endif
- 
-@@ -74,7 +74,7 @@ typedef void* SockOptArg;
- 
+ #include <sys/epoll.h>
+@@ -78,7 +78,7 @@ typedef void* SockOptArg;
+ 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)
- 
+-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD)
  int64_t GetSocketRecvTimestamp(int socket) {
    struct timeval tv_ioctl;
-@@ -329,7 +329,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) 
+   int ret = ioctl(socket, SIOCGSTAMP, &tv_ioctl);
+@@ -334,7 +334,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) 
      return -1;
    }
    if (opt == OPT_DONTFRAGMENT) {
@@ -27,7 +27,7 @@
      *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
  #endif
    } else if (opt == OPT_DSCP) {
-@@ -358,7 +358,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+@@ -363,7 +363,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
    if (TranslateOption(opt, &slevel, &sopt) == -1)
      return -1;
    if (opt == OPT_DONTFRAGMENT) {
@@ -36,7 +36,7 @@
      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) {
+@@ -394,7 +394,7 @@ int PhysicalSocket::Send(const void* pv, size_t cb) {
  int PhysicalSocket::Send(const void* pv, size_t cb) {
    int sent = DoSend(
        s_, reinterpret_cast<const char*>(pv), static_cast<int>(cb),
@@ -45,7 +45,7 @@
        // 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,
+@@ -423,7 +423,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),
@@ -54,16 +54,16 @@
                 // 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__)
+@@ -704,7 +704,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ #elif defined(WEBRTC_MAC) || defined(BSD)
        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
+-#elif defined(WEBRTC_POSIX)
++#elif defined(WEBRTC_POSIX) && !defined(WEBRTC_BSD)
+       *slevel = IPPROTO_IP;
+       *sopt = IP_MTU_DISCOVER;
+       break;
+@@ -751,7 +751,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
        return -1;
  #endif
      case OPT_RECV_ECN:
@@ -72,7 +72,7 @@
        if (family_ == AF_INET6) {
          *slevel = IPPROTO_IPV6;
          *sopt = IPV6_RECVTCLASS;
-@@ -766,10 +766,19 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+@@ -771,10 +771,19 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
        *sopt = SO_KEEPALIVE;
        break;
      case OPT_TCP_KEEPCNT:
@@ -92,7 +92,7 @@
        *slevel = IPPROTO_TCP;
  #if !defined(WEBRTC_MAC)
        *sopt = TCP_KEEPIDLE;
-@@ -777,12 +786,18 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+@@ -782,12 +791,18 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
        *sopt = TCP_KEEPALIVE;
  #endif
        break;
diff --git a/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
index ff4c8327b562..f341cfaf97b6 100644
--- a/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
+++ b/multimedia/ringrtc/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc
@@ -1,16 +1,21 @@
 --- 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,9 @@
- #include "rtc_base/platform_thread_types.h"
+@@ -12,11 +12,13 @@
  
+ // IWYU pragma: begin_keep
  #if defined(WEBRTC_LINUX)
 +#if !defined(WEBRTC_BSD)
+ #include <linux/prctl.h>
  #include <sys/prctl.h>
 +#endif
  #include <sys/syscall.h>
- #endif
  
-@@ -44,6 +46,8 @@ PlatformThreadId CurrentThreadId() {
+-#if !defined(WEBRTC_ARCH_ARM) && !defined(WEBRTC_ARCH_ARM64)
++#if !defined(WEBRTC_ARCH_ARM) && !defined(WEBRTC_ARCH_ARM64) && !defined(WEBRTC_BSD)
+ #include <asm/unistd_64.h>
+ #endif
+ #endif
+@@ -50,6 +52,8 @@ PlatformThreadId CurrentThreadId() {
    return gettid();
  #elif defined(WEBRTC_FUCHSIA)
    return zx_thread_self();
@@ -19,7 +24,7 @@
  #elif defined(WEBRTC_LINUX)
    return syscall(__NR_gettid);
  #elif defined(__EMSCRIPTEN__)
-@@ -74,6 +78,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons
+@@ -80,6 +84,7 @@ void SetCurrentThreadName(const char* name) {
  }
  
  void SetCurrentThreadName(const char* name) {
@@ -27,7 +32,7 @@
  #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 +125,7 @@ void SetCurrentThreadName(const char* name) {
+@@ -126,6 +131,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-third__party_webrtc_system__wrappers_BUILD.gn b/multimedia/ringrtc/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
deleted file mode 100644
index b34b0548b661..000000000000
--- a/multimedia/ringrtc/files/patch-third__party_webrtc_system__wrappers_BUILD.gn
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/webrtc/src/system_wrappers/BUILD.gn.orig	2021-01-28 23:16:17 UTC
-+++ src/webrtc/src/system_wrappers/BUILD.gn
-@@ -58,11 +58,9 @@ rtc_library("system_wrappers") {
-   }
- 
-   if (is_linux || is_chromeos) {
--    if (!build_with_chromium) {
-+    if (!build_with_chromium && !is_bsd) {
-       sources += [ "source/cpu_features_linux.cc" ]
-     }
--
--    libs += [ "rt" ]
-   }
- 
-   if (is_win) {
diff --git a/multimedia/ringrtc/files/patch-third__party_zlib_BUILD.gn b/multimedia/ringrtc/files/patch-third__party_zlib_BUILD.gn
index 9fc0594b53e2..b2b0c92cc12d 100644
--- a/multimedia/ringrtc/files/patch-third__party_zlib_BUILD.gn
+++ b/multimedia/ringrtc/files/patch-third__party_zlib_BUILD.gn
@@ -20,12 +20,12 @@
      } else {
        assert(false, "Unsupported ARM OS")
      }
-@@ -407,7 +411,7 @@ static_library("minizip") {
+@@ -419,7 +423,7 @@ static_library("minizip") {
      ]
    }
  
--  if (is_apple || is_android || is_nacl) {
-+  if (is_apple || is_android || is_nacl || is_bsd) {
+-  if (is_apple || is_android) {
++  if (is_apple || is_android || is_bsd) {
      # Mac, Android and the BSDs don't have fopen64, ftello64, or fseeko64. We
      # use fopen, ftell, and fseek instead on these systems.
      defines = [ "USE_FILE32API" ]
diff --git a/multimedia/ringrtc/update.txt b/multimedia/ringrtc/update.txt
index c8c73778efb5..dcadc5e0b140 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.57.1/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.59.0/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 750ed5406d61..a9f3452d0f2c 100644
--- a/multimedia/ringrtc/webrtc_fetch.sh
+++ b/multimedia/ringrtc/webrtc_fetch.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-WEBRTC_REV=7204c
+WEBRTC_REV=7339c
 
 base_url="https://chromium.googlesource.com/chromium/src/base.git/+archive/"
 boringssl_url="https://boringssl.googlesource.com/boringssl.git/+archive/"