1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-05 06:27:37 +00:00

multimedia/ringrtc: Update to 2.44.2

This commit is contained in:
Mikael Urankar 2024-07-09 13:22:10 +02:00
parent 38b91edcff
commit c73766042e
61 changed files with 712 additions and 425 deletions

View File

@ -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}|" \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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",

View File

@ -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"

View File

@ -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",
]
- if (!is_nacl) {
+ if (!is_nacl && !is_bsd) {
cflags_cc += [
# TODO(https://crbug.com/1513724): Fix and re-enable.
"-Wno-c++11-narrowing-const-reference",
@@ -2018,7 +2022,7 @@ config("chromium_code") {
]
cflags_cc += [
@@ -1899,7 +1903,7 @@ config("default_warnings") {
"-Wenum-compare-conditional",
]
# 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") {
- if (!is_nacl) {
+ if (!is_nacl && !is_openbsd) {
cflags_cc += [
# TODO(crbug.com/41486292): Fix and re-enable.
"-Wno-c++11-narrowing-const-reference",
@@ -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.

View File

@ -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") {
}

View File

@ -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

View File

@ -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'

View File

@ -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.

View File

@ -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.

View File

@ -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")

View File

@ -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")

View File

@ -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" ||

View File

@ -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

View File

@ -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
}

View File

@ -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 == "") {

View File

@ -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",
+ ]
+ }
}

View File

@ -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',

View File

@ -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

View File

@ -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" ]

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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)

View File

@ -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)

View File

@ -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;
}

View File

@ -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") {

View File

@ -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

View File

@ -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;

View File

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

View File

@ -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
};

View File

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

View File

@ -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)) {}

View File

@ -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;

View File

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

View File

@ -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));

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

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

View File

@ -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;

View File

@ -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

View File

@ -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__

View File

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

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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>

View File

@ -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)

View File

@ -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"