diff options
Diffstat (limited to 'multimedia/ringrtc')
49 files changed, 2360 insertions, 0 deletions
diff --git a/multimedia/ringrtc/Makefile b/multimedia/ringrtc/Makefile new file mode 100644 index 000000000000..d06e98d01557 --- /dev/null +++ b/multimedia/ringrtc/Makefile @@ -0,0 +1,157 @@ +PORTNAME= ringrtc +DISTVERSIONPREFIX= v +DISTVERSION= 2.39.3 +CATEGORIES= multimedia +MASTER_SITES= LOCAL/mikael/ringrtc/:base \ + LOCAL/mikael/ringrtc/:boringssl \ + LOCAL/mikael/ringrtc/:build \ + LOCAL/mikael/ringrtc/:buildtools \ + LOCAL/mikael/ringrtc/:catapult \ + LOCAL/mikael/ringrtc/:icu \ + LOCAL/mikael/ringrtc/:nasm \ + LOCAL/mikael/ringrtc/:libjpeg_turbo \ + LOCAL/mikael/ringrtc/:libsrtp \ + LOCAL/mikael/ringrtc/:libvpx \ + LOCAL/mikael/ringrtc/:libyuv \ + LOCAL/mikael/ringrtc/:third_party \ + LOCAL/mikael/ringrtc/:testing \ + LOCAL/mikael/ringrtc/:opus +DISTFILES= base-${BASE_REV}.tar.gz:base \ + boringssl-${BORINGSSL_REV}.tar.gz:boringssl \ + build-${BUILD_REV}.tar.gz:build \ + buildtools-${BUILDTOOLS_REV}.tar.gz:buildtools \ + catapult-${CATAPULT_REV}.tar.gz:catapult \ + icu-${ICU_REV}.tar.gz:icu \ + nasm-${NASM_REV}.tar.gz:nasm \ + libjpeg_turbo-${LIBJPEG_TURBO_REV}.tar.gz:libjpeg_turbo \ + 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 \ + testing-${TESTING_REV}.tar.gz:testing \ + opus-${OPUS_REV}.tar.gz:opus + +MAINTAINER= ports@FreeBSD.org +COMMENT= Middleware library for Signal-Desktop +WWW= https://github.com/signalapp/ringrtc + +LICENSE= AGPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +ONLY_FOR_ARCHS= aarch64 amd64 + +BUILD_DEPENDS= gn:devel/gn \ + protoc:devel/protobuf +LIB_DEPENDS= libasound.so:audio/alsa-lib \ + libfreetype.so:print/freetype2 \ + libpulse.so:audio/pulseaudio + +USES= cargo gnome localbase:ldflags ninja pkgconfig python:build \ + tar:xz +USE_GNOME= glib20 +USE_GITHUB= yes +GH_ACCOUNT= signalapp +GH_TUPLE= signalapp:ringrtc:${DISTVERSIONPREFIX}${DISTVERSION} \ + signalapp:webrtc:${WEBRTC_REV}:webrtc + +# sh net-im/signal-desktop/get_deps.sh +WEBRTC_REV= 6261d + +# 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 +LIBJPEG_TURBO_REV= 9b894306ec3b28cea46e84c32b56773a98c483da +LIBSRTP_REV= 5b7c744eb8310250ccc534f3f86a2015b3887a0a +LIBVPX_REV= b95d17572629c676bdcfd535fb3990b9f6f8fb11 +LIBYUV_REV= 04821d1e7d60845525e8db55c7bcd41ef5be9406 +NASM_REV= f477acb1049f5e043904b87b825c5915084a9a29 +TESTING_REV= 450bfd79ee0369ac1a5465a12820b5d94a5956be +THIRD_PARTY_REV= 692fab5c0074bc6fa486dce1a4aa7b2cc5609928 +OPUS_REV= 593419e833acab4d15b4901fe156177fb7315468 + +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. +# 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. +GN_ARGS+= rtc_build_examples=false \ + rtc_build_tools=false \ + rtc_include_tests=false \ + rtc_enable_protobuf=false \ + rtc_use_x11=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 \ + treat_warnings_as_errors=false \ + extra_cxxflags="${CXXFLAGS}" \ + extra_ldflags="${LDFLAGS}" +NPM_RINGRTC_DIR= npm-@signalapp-ringrtc-2.36.0-67d1b48bd4c1ea31c155ea14a0bd28f04e46eff5-integrity +NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.39.1-15b41f15c516ae3eecf8a098a9c9c7aac00444d7-integrity +NPM_SQLITE3_DIR= npm-@signalapp-better-sqlite3-8.6.0-0413f4d0626b99838cd64ad09c88720aa2bec6ed-integrity +SQLCIPHER= sqlcipher-4.5.5-fts5-fix--3.0.7--0.2.1-ef53ea45ed92b928ecfd33c552d8d405263e86e63dec38e1ec63e1b0193b630b + +MAKE_ARGS= -C out/${BUILDTYPE} + +WEBRTCDIR= ${WRKDIR}/${PORTNAME}-${DISTVERSION}/src/webrtc/src + +CARGO_BUILD_ARGS= --package ringrtc --features electron +CARGO_INSTALL= no + +USE_LDCONFIG= yes + +MAKE_ENV= OUTPUT_DIR=${WEBRTCDIR}/out + +PLIST_FILES= lib/libringrtc.so + +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} + ${MV} ${WRKDIR}/third_party ${WEBRTCDIR} + ${MV} ${WRKDIR}/catapult ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/boringssl ${WEBRTCDIR}/third_party/boringssl/src + ${MV} ${WRKDIR}/icu ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/libjpeg_turbo ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/libsrtp ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/libvpx ${WEBRTCDIR}/third_party/libvpx/source + ${MV} ${WRKDIR}/libyuv ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/nasm ${WEBRTCDIR}/third_party + ${MV} ${WRKDIR}/opus ${WEBRTCDIR}/ringrtc/opus/src + +post-patch: + ${REINPLACE_CMD} "s|LOCALBASE|${LOCALBASE}|" \ + ${WEBRTCDIR}/build/toolchain/gcc_toolchain.gni \ + ${WEBRTCDIR}/buildtools/third_party/libc++/BUILD.gn + + ${ECHO_CMD} "# Generated from 'DEPS'" > ${WEBRTCDIR}/build/config/gclient_args.gni + ${ECHO_CMD} 1591703586 > ${WEBRTCDIR}/build/util/LASTCHANGE.committime + ${ECHO_CMD} "qqchose " > ${WEBRTCDIR}/build/util/LASTCHANGE + +pre-build: + cd ${WEBRTCDIR} && \ + ${SETENV} ${CONFIGURE_ENV} gn gen out/release --args='${GN_ARGS}' + +# build webrtc first, ringrtc needs libwebrtc.a + cd ${WEBRTCDIR} \ + && ${MAKE_ENV} CC=ccache CXX=ccache ninja -C out/release + +# it's not intended to be used outside of signal-desktop, put that in +# /usr/local/share/ringrtc instead? +do-install: + ${INSTALL_LIB} ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/release/libringrtc.so \ + ${STAGEDIR}${PREFIX}/lib/ + +.include <bsd.port.mk> diff --git a/multimedia/ringrtc/Makefile.crates b/multimedia/ringrtc/Makefile.crates new file mode 100644 index 000000000000..b3a0137e71cf --- /dev/null +++ b/multimedia/ringrtc/Makefile.crates @@ -0,0 +1,332 @@ +# fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v2.34.4/Cargo.lock | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates +CARGO_CRATES= addr2line-0.21.0 \ + adler-1.0.2 \ + aead-0.5.2 \ + aes-0.8.4 \ + aes-gcm-siv-0.11.1 \ + aho-corasick-1.1.3 \ + android-tzdata-0.1.1 \ + android_system_properties-0.1.5 \ + anstream-0.6.13 \ + anstyle-1.0.6 \ + anstyle-parse-0.2.3 \ + anstyle-query-1.0.2 \ + anstyle-wincon-3.0.2 \ + anyhow-1.0.81 \ + askama-0.12.1 \ + askama_derive-0.12.5 \ + askama_escape-0.10.3 \ + askama_parser-0.2.1 \ + async-stream-0.3.5 \ + async-stream-impl-0.3.5 \ + async-trait-0.1.79 \ + autocfg-1.1.0 \ + axum-0.6.20 \ + axum-core-0.3.4 \ + backtrace-0.3.71 \ + base64-0.13.1 \ + base64-0.21.7 \ + base64-0.22.0 \ + basic-toml-0.1.9 \ + bincode-1.3.3 \ + bitflags-1.3.2 \ + bitflags-2.5.0 \ + bitvec-1.0.1 \ + block-buffer-0.9.0 \ + block-buffer-0.10.4 \ + block-padding-0.3.3 \ + bollard-0.15.0 \ + bollard-stubs-1.43.0-rc.2 \ + bumpalo-3.15.4 \ + byteorder-1.5.0 \ + bytes-1.6.0 \ + bzip2-0.4.4 \ + bzip2-sys-0.1.11+1.0.8 \ + cbc-0.1.2 \ + cc-1.0.90 \ + cesu8-1.1.0 \ + cfg-if-1.0.0 \ + chrono-0.4.35 \ + cipher-0.4.4 \ + clap-4.5.3 \ + clap_builder-4.5.2 \ + clap_derive-4.5.3 \ + clap_lex-0.7.0 \ + colorchoice-1.0.0 \ + combine-4.6.6 \ + core-foundation-sys-0.8.6 \ + cpufeatures-0.2.12 \ + crc32fast-1.4.0 \ + crypto-common-0.1.6 \ + crypto-mac-0.11.0 \ + ctr-0.9.2 \ + darling-0.14.4 \ + darling-0.20.8 \ + darling_core-0.14.4 \ + darling_core-0.20.8 \ + darling_macro-0.14.4 \ + darling_macro-0.20.8 \ + deranged-0.3.11 \ + derive-where-1.2.7 \ + digest-0.9.0 \ + digest-0.10.7 \ + directories-4.0.1 \ + dirs-sys-0.3.7 \ + displaydoc-0.2.4 \ + dunce-1.0.4 \ + dyn-clone-1.0.17 \ + either-1.10.0 \ + env_filter-0.1.0 \ + env_logger-0.11.3 \ + equivalent-1.0.1 \ + erased-serde-0.3.31 \ + errno-0.3.8 \ + fastrand-2.0.2 \ + fern-0.6.2 \ + fiat-crypto-0.2.7 \ + fixedbitset-0.4.2 \ + flate2-1.0.28 \ + fnv-1.0.7 \ + form_urlencoded-1.2.1 \ + funty-2.0.0 \ + futures-0.3.30 \ + futures-channel-0.3.30 \ + futures-core-0.3.30 \ + futures-executor-0.3.30 \ + futures-io-0.3.30 \ + futures-macro-0.3.30 \ + futures-sink-0.3.30 \ + futures-task-0.3.30 \ + futures-util-0.3.30 \ + generic-array-0.14.7 \ + getrandom-0.2.12 \ + ghash-0.5.1 \ + gimli-0.28.1 \ + h2-0.3.25 \ + hashbrown-0.12.3 \ + hashbrown-0.14.3 \ + heck-0.4.1 \ + heck-0.5.0 \ + hermit-abi-0.3.9 \ + hex-0.4.3 \ + hex-literal-0.4.1 \ + hkdf-0.11.0 \ + hkdf-0.12.4 \ + hmac-0.11.0 \ + hmac-0.12.1 \ + home-0.5.9 \ + hound-3.5.1 \ + http-0.2.12 \ + http-body-0.4.6 \ + httparse-1.8.0 \ + httpdate-1.0.3 \ + humansize-2.1.3 \ + humantime-2.1.0 \ + hyper-0.14.28 \ + hyper-timeout-0.4.1 \ + hyperlocal-0.8.0 \ + iana-time-zone-0.1.60 \ + iana-time-zone-haiku-0.1.2 \ + ident_case-1.0.1 \ + idna-0.5.0 \ + indexmap-1.9.3 \ + indexmap-2.2.6 \ + inout-0.1.3 \ + itertools-0.11.0 \ + itertools-0.12.1 \ + itoa-1.0.10 \ + jni-0.21.1 \ + jni-sys-0.3.0 \ + js-sys-0.3.69 \ + lazy_static-1.4.0 \ + libc-0.2.153 \ + libloading-0.8.3 \ + libm-0.2.8 \ + libredox-0.0.1 \ + linux-raw-sys-0.4.13 \ + log-0.4.21 \ + matchit-0.7.3 \ + memchr-2.7.1 \ + mime-0.3.17 \ + mime_guess-2.0.4 \ + minimal-lexical-0.2.1 \ + miniz_oxide-0.7.2 \ + mio-0.8.11 \ + multimap-0.8.3 \ + neon-1.0.0 \ + neon-macros-1.0.0 \ + nom-7.1.3 \ + ntapi-0.4.1 \ + num-conv-0.1.0 \ + num-traits-0.2.18 \ + num_cpus-1.16.0 \ + num_enum-0.6.1 \ + num_enum-0.7.2 \ + num_enum_derive-0.6.1 \ + num_enum_derive-0.7.2 \ + object-0.32.2 \ + once_cell-1.19.0 \ + opaque-debug-0.3.1 \ + partial-default-0.1.0 \ + partial-default-derive-0.1.0 \ + percent-encoding-2.3.1 \ + petgraph-0.6.4 \ + pin-project-1.1.5 \ + pin-project-internal-1.1.5 \ + 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 \ + polyval-0.6.2 \ + powerfmt-0.2.0 \ + ppv-lite86-0.2.17 \ + prettyplease-0.2.17 \ + proc-macro-crate-1.3.1 \ + proc-macro-crate-3.1.0 \ + proc-macro2-1.0.79 \ + prost-0.12.3 \ + prost-build-0.12.3 \ + prost-derive-0.12.3 \ + prost-types-0.12.3 \ + quote-1.0.35 \ + radium-0.7.0 \ + rand-0.8.5 \ + rand_chacha-0.3.1 \ + rand_core-0.6.4 \ + redox_syscall-0.4.1 \ + redox_users-0.4.4 \ + regex-1.10.4 \ + regex-automata-0.4.6 \ + regex-syntax-0.8.2 \ + relative-path-1.9.2 \ + ring-0.17.8 \ + rustc-demangle-0.1.23 \ + rustc_version-0.4.0 \ + rustix-0.38.32 \ + rustls-0.22.3 \ + rustls-pki-types-1.4.0 \ + rustls-webpki-0.102.2 \ + rustversion-1.0.14 \ + ryu-1.0.17 \ + same-file-1.0.6 \ + semver-1.0.22 \ + send_wrapper-0.6.0 \ + serde-1.0.197 \ + serde_derive-1.0.197 \ + serde_json-1.0.114 \ + serde_repr-0.1.18 \ + serde_urlencoded-0.7.1 \ + serde_with-2.3.3 \ + serde_with-3.7.0 \ + serde_with_macros-2.3.3 \ + serde_with_macros-3.7.0 \ + sha1-0.10.6 \ + sha2-0.9.9 \ + sha2-0.10.8 \ + signal-hook-registry-1.4.1 \ + slab-0.4.9 \ + smallvec-1.13.2 \ + socket2-0.5.6 \ + spin-0.9.8 \ + static_assertions-1.1.0 \ + strsim-0.10.0 \ + strsim-0.11.0 \ + subtle-2.5.0 \ + syn-1.0.109 \ + syn-2.0.55 \ + syn-mid-0.6.0 \ + sync_wrapper-0.1.2 \ + sysinfo-0.29.11 \ + tap-1.0.1 \ + tempfile-3.10.1 \ + thiserror-1.0.58 \ + thiserror-impl-1.0.58 \ + time-0.1.45 \ + time-0.3.34 \ + time-core-0.1.2 \ + time-macros-0.2.17 \ + tinyvec-1.6.0 \ + tinyvec_macros-0.1.1 \ + tokio-1.36.0 \ + tokio-io-timeout-1.2.0 \ + tokio-macros-2.2.0 \ + tokio-stream-0.1.15 \ + tokio-util-0.7.10 \ + toml_datetime-0.6.5 \ + toml_edit-0.19.15 \ + toml_edit-0.21.1 \ + tonic-0.11.0 \ + tonic-build-0.11.0 \ + tower-0.4.13 \ + tower-layer-0.3.2 \ + tower-service-0.3.2 \ + tracing-0.1.40 \ + tracing-attributes-0.1.27 \ + tracing-core-0.1.32 \ + try-lock-0.2.5 \ + typenum-1.17.0 \ + unicase-2.7.0 \ + unicode-bidi-0.3.15 \ + unicode-ident-1.0.12 \ + unicode-normalization-0.1.23 \ + universal-hash-0.5.1 \ + untrusted-0.9.0 \ + ureq-2.9.6 \ + url-2.5.0 \ + utf8parse-0.2.1 \ + uuid-1.8.0 \ + version_check-0.9.4 \ + walkdir-2.5.0 \ + want-0.3.1 \ + wasi-0.10.0+wasi-snapshot-preview1 \ + wasi-0.11.0+wasi-snapshot-preview1 \ + wasm-bindgen-0.2.92 \ + wasm-bindgen-backend-0.2.92 \ + wasm-bindgen-macro-0.2.92 \ + wasm-bindgen-macro-support-0.2.92 \ + wasm-bindgen-shared-0.2.92 \ + webpki-roots-0.26.1 \ + which-4.4.2 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.6 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-core-0.52.0 \ + windows-sys-0.45.0 \ + windows-sys-0.48.0 \ + windows-sys-0.52.0 \ + windows-targets-0.42.2 \ + windows-targets-0.48.5 \ + windows-targets-0.52.4 \ + windows_aarch64_gnullvm-0.42.2 \ + windows_aarch64_gnullvm-0.48.5 \ + windows_aarch64_gnullvm-0.52.4 \ + windows_aarch64_msvc-0.42.2 \ + windows_aarch64_msvc-0.48.5 \ + windows_aarch64_msvc-0.52.4 \ + windows_i686_gnu-0.42.2 \ + windows_i686_gnu-0.48.5 \ + windows_i686_gnu-0.52.4 \ + windows_i686_msvc-0.42.2 \ + windows_i686_msvc-0.48.5 \ + windows_i686_msvc-0.52.4 \ + windows_x86_64_gnu-0.42.2 \ + windows_x86_64_gnu-0.48.5 \ + windows_x86_64_gnu-0.52.4 \ + windows_x86_64_gnullvm-0.42.2 \ + windows_x86_64_gnullvm-0.48.5 \ + windows_x86_64_gnullvm-0.52.4 \ + windows_x86_64_msvc-0.42.2 \ + windows_x86_64_msvc-0.48.5 \ + windows_x86_64_msvc-0.52.4 \ + winnow-0.5.40 \ + wyz-0.5.1 \ + x25519-dalek-2.0.1 \ + 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 diff --git a/multimedia/ringrtc/distinfo b/multimedia/ringrtc/distinfo new file mode 100644 index 000000000000..43a2e2e90eb5 --- /dev/null +++ b/multimedia/ringrtc/distinfo @@ -0,0 +1,695 @@ +TIMESTAMP = 1713355305 +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 +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 (opus-593419e833acab4d15b4901fe156177fb7315468.tar.gz) = cf62fdbf33205e3d15e1bee829a2cb275e82fb6944826d2afb7666623470b816 +SIZE (opus-593419e833acab4d15b4901fe156177fb7315468.tar.gz) = 869636 +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 +SIZE (rust/crates/adler-1.0.2.crate) = 12778 +SHA256 (rust/crates/aead-0.5.2.crate) = d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0 +SIZE (rust/crates/aead-0.5.2.crate) = 15509 +SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0 +SIZE (rust/crates/aes-0.8.4.crate) = 124812 +SHA256 (rust/crates/aes-gcm-siv-0.11.1.crate) = ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d +SIZE (rust/crates/aes-gcm-siv-0.11.1.crate) = 26633 +SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 +SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311 +SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0 +SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674 +SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311 +SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243 +SHA256 (rust/crates/anstream-0.6.13.crate) = d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb +SIZE (rust/crates/anstream-0.6.13.crate) = 30928 +SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc +SIZE (rust/crates/anstyle-1.0.6.crate) = 14604 +SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c +SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699 +SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648 +SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739 +SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7 +SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272 +SHA256 (rust/crates/anyhow-1.0.81.crate) = 0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247 +SIZE (rust/crates/anyhow-1.0.81.crate) = 45142 +SHA256 (rust/crates/askama-0.12.1.crate) = b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28 +SIZE (rust/crates/askama-0.12.1.crate) = 16976 +SHA256 (rust/crates/askama_derive-0.12.5.crate) = 19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83 +SIZE (rust/crates/askama_derive-0.12.5.crate) = 31218 +SHA256 (rust/crates/askama_escape-0.10.3.crate) = 619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341 +SIZE (rust/crates/askama_escape-0.10.3.crate) = 8875 +SHA256 (rust/crates/askama_parser-0.2.1.crate) = acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0 +SIZE (rust/crates/askama_parser-0.2.1.crate) = 20707 +SHA256 (rust/crates/async-stream-0.3.5.crate) = cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51 +SIZE (rust/crates/async-stream-0.3.5.crate) = 11916 +SHA256 (rust/crates/async-stream-impl-0.3.5.crate) = 16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193 +SIZE (rust/crates/async-stream-impl-0.3.5.crate) = 4173 +SHA256 (rust/crates/async-trait-0.1.79.crate) = a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681 +SIZE (rust/crates/async-trait-0.1.79.crate) = 29558 +SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa +SIZE (rust/crates/autocfg-1.1.0.crate) = 13272 +SHA256 (rust/crates/axum-0.6.20.crate) = 3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf +SIZE (rust/crates/axum-0.6.20.crate) = 146227 +SHA256 (rust/crates/axum-core-0.3.4.crate) = 759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c +SIZE (rust/crates/axum-core-0.3.4.crate) = 21088 +SHA256 (rust/crates/backtrace-0.3.71.crate) = 26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d +SIZE (rust/crates/backtrace-0.3.71.crate) = 86553 +SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8 +SIZE (rust/crates/base64-0.13.1.crate) = 61002 +SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 +SIZE (rust/crates/base64-0.21.7.crate) = 82576 +SHA256 (rust/crates/base64-0.22.0.crate) = 9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51 +SIZE (rust/crates/base64-0.22.0.crate) = 81568 +SHA256 (rust/crates/basic-toml-0.1.9.crate) = 823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8 +SIZE (rust/crates/basic-toml-0.1.9.crate) = 50234 +SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad +SIZE (rust/crates/bincode-1.3.3.crate) = 28958 +SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a +SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 +SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1 +SIZE (rust/crates/bitflags-2.5.0.crate) = 43821 +SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c +SIZE (rust/crates/bitvec-1.0.1.crate) = 224375 +SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4 +SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108 +SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 +SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538 +SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93 +SIZE (rust/crates/block-padding-0.3.3.crate) = 8504 +SHA256 (rust/crates/bollard-0.15.0.crate) = f03db470b3c0213c47e978da93200259a1eb4dae2e5512cba9955e2b540a6fc6 +SIZE (rust/crates/bollard-0.15.0.crate) = 105321 +SHA256 (rust/crates/bollard-stubs-1.43.0-rc.2.crate) = b58071e8fd9ec1e930efd28e3a90c1251015872a2ce49f81f36421b86466932e +SIZE (rust/crates/bollard-stubs-1.43.0-rc.2.crate) = 55796 +SHA256 (rust/crates/bumpalo-3.15.4.crate) = 7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa +SIZE (rust/crates/bumpalo-3.15.4.crate) = 85028 +SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b +SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 +SHA256 (rust/crates/bytes-1.6.0.crate) = 514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9 +SIZE (rust/crates/bytes-1.6.0.crate) = 60605 +SHA256 (rust/crates/bzip2-0.4.4.crate) = bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8 +SIZE (rust/crates/bzip2-0.4.4.crate) = 34197 +SHA256 (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc +SIZE (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 633444 +SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6 +SIZE (rust/crates/cbc-0.1.2.crate) = 23501 +SHA256 (rust/crates/cc-1.0.90.crate) = 8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5 +SIZE (rust/crates/cc-1.0.90.crate) = 73954 +SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c +SIZE (rust/crates/cesu8-1.1.0.crate) = 10555 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/chrono-0.4.35.crate) = 8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a +SIZE (rust/crates/chrono-0.4.35.crate) = 234267 +SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad +SIZE (rust/crates/cipher-0.4.4.crate) = 19073 +SHA256 (rust/crates/clap-4.5.3.crate) = 949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813 +SIZE (rust/crates/clap-4.5.3.crate) = 55388 +SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4 +SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566 +SHA256 (rust/crates/clap_derive-4.5.3.crate) = 90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f +SIZE (rust/crates/clap_derive-4.5.3.crate) = 29043 +SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce +SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915 +SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7 +SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857 +SHA256 (rust/crates/combine-4.6.6.crate) = 35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4 +SIZE (rust/crates/combine-4.6.6.crate) = 132428 +SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f +SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629 +SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504 +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/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 +SIZE (rust/crates/crypto-mac-0.11.0.crate) = 9457 +SHA256 (rust/crates/ctr-0.9.2.crate) = 0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835 +SIZE (rust/crates/ctr-0.9.2.crate) = 18344 +SHA256 (rust/crates/darling-0.14.4.crate) = 7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850 +SIZE (rust/crates/darling-0.14.4.crate) = 25168 +SHA256 (rust/crates/darling-0.20.8.crate) = 54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391 +SIZE (rust/crates/darling-0.20.8.crate) = 31234 +SHA256 (rust/crates/darling_core-0.14.4.crate) = 109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0 +SIZE (rust/crates/darling_core-0.14.4.crate) = 57485 +SHA256 (rust/crates/darling_core-0.20.8.crate) = 9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f +SIZE (rust/crates/darling_core-0.20.8.crate) = 64442 +SHA256 (rust/crates/darling_macro-0.14.4.crate) = a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e +SIZE (rust/crates/darling_macro-0.14.4.crate) = 1896 +SHA256 (rust/crates/darling_macro-0.20.8.crate) = a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f +SIZE (rust/crates/darling_macro-0.20.8.crate) = 1856 +SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4 +SIZE (rust/crates/deranged-0.3.11.crate) = 18043 +SHA256 (rust/crates/derive-where-1.2.7.crate) = 62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25 +SIZE (rust/crates/derive-where-1.2.7.crate) = 46524 +SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066 +SIZE (rust/crates/digest-0.9.0.crate) = 13247 +SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 +SIZE (rust/crates/digest-0.10.7.crate) = 19557 +SHA256 (rust/crates/directories-4.0.1.crate) = f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210 +SIZE (rust/crates/directories-4.0.1.crate) = 16040 +SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6 +SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597 +SHA256 (rust/crates/displaydoc-0.2.4.crate) = 487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d +SIZE (rust/crates/displaydoc-0.2.4.crate) = 23200 +SHA256 (rust/crates/dunce-1.0.4.crate) = 56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b +SIZE (rust/crates/dunce-1.0.4.crate) = 8034 +SHA256 (rust/crates/dyn-clone-1.0.17.crate) = 0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125 +SIZE (rust/crates/dyn-clone-1.0.17.crate) = 11848 +SHA256 (rust/crates/either-1.10.0.crate) = 11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a +SIZE (rust/crates/either-1.10.0.crate) = 18334 +SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea +SIZE (rust/crates/env_filter-0.1.0.crate) = 11553 +SHA256 (rust/crates/env_logger-0.11.3.crate) = 38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9 +SIZE (rust/crates/env_logger-0.11.3.crate) = 29704 +SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 +SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 +SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c +SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182 +SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245 +SIZE (rust/crates/errno-0.3.8.crate) = 10645 +SHA256 (rust/crates/fastrand-2.0.2.crate) = 658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984 +SIZE (rust/crates/fastrand-2.0.2.crate) = 14674 +SHA256 (rust/crates/fern-0.6.2.crate) = d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee +SIZE (rust/crates/fern-0.6.2.crate) = 304626 +SHA256 (rust/crates/fiat-crypto-0.2.7.crate) = c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f +SIZE (rust/crates/fiat-crypto-0.2.7.crate) = 495388 +SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80 +SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954 +SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e +SIZE (rust/crates/flate2-1.0.28.crate) = 73690 +SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 +SIZE (rust/crates/fnv-1.0.7.crate) = 11266 +SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 +SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969 +SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c +SIZE (rust/crates/funty-2.0.0.crate) = 13160 +SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0 +SIZE (rust/crates/futures-0.3.30.crate) = 53828 +SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78 +SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736 +SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d +SIZE (rust/crates/futures-core-0.3.30.crate) = 14071 +SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d +SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744 +SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1 +SIZE (rust/crates/futures-io-0.3.30.crate) = 8910 +SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac +SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278 +SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5 +SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852 +SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004 +SIZE (rust/crates/futures-task-0.3.30.crate) = 11126 +SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48 +SIZE (rust/crates/futures-util-0.3.30.crate) = 159977 +SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a +SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 +SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5 +SIZE (rust/crates/getrandom-0.2.12.crate) = 36163 +SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1 +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/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888 +SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968 +SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604 +SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425 +SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 +SIZE (rust/crates/heck-0.4.1.crate) = 11567 +SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea +SIZE (rust/crates/heck-0.5.0.crate) = 11517 +SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 +SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165 +SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 +SIZE (rust/crates/hex-0.4.3.crate) = 13299 +SHA256 (rust/crates/hex-literal-0.4.1.crate) = 6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46 +SIZE (rust/crates/hex-literal-0.4.1.crate) = 8559 +SHA256 (rust/crates/hkdf-0.11.0.crate) = 01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b +SIZE (rust/crates/hkdf-0.11.0.crate) = 171707 +SHA256 (rust/crates/hkdf-0.12.4.crate) = 7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7 +SIZE (rust/crates/hkdf-0.12.4.crate) = 171163 +SHA256 (rust/crates/hmac-0.11.0.crate) = 2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b +SIZE (rust/crates/hmac-0.11.0.crate) = 11385 +SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e +SIZE (rust/crates/hmac-0.12.1.crate) = 42657 +SHA256 (rust/crates/home-0.5.9.crate) = e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5 +SIZE (rust/crates/home-0.5.9.crate) = 8760 +SHA256 (rust/crates/hound-3.5.1.crate) = 62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f +SIZE (rust/crates/hound-3.5.1.crate) = 39446 +SHA256 (rust/crates/http-0.2.12.crate) = 601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1 +SIZE (rust/crates/http-0.2.12.crate) = 101964 +SHA256 (rust/crates/http-body-0.4.6.crate) = 7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2 +SIZE (rust/crates/http-body-0.4.6.crate) = 10773 +SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904 +SIZE (rust/crates/httparse-1.8.0.crate) = 29954 +SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9 +SIZE (rust/crates/httpdate-1.0.3.crate) = 10639 +SHA256 (rust/crates/humansize-2.1.3.crate) = 6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7 +SIZE (rust/crates/humansize-2.1.3.crate) = 11953 +SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 +SIZE (rust/crates/humantime-2.1.0.crate) = 16749 +SHA256 (rust/crates/hyper-0.14.28.crate) = bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80 +SIZE (rust/crates/hyper-0.14.28.crate) = 197204 +SHA256 (rust/crates/hyper-timeout-0.4.1.crate) = bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1 +SIZE (rust/crates/hyper-timeout-0.4.1.crate) = 13805 +SHA256 (rust/crates/hyperlocal-0.8.0.crate) = 0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c +SIZE (rust/crates/hyperlocal-0.8.0.crate) = 11626 +SHA256 (rust/crates/iana-time-zone-0.1.60.crate) = e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141 +SIZE (rust/crates/iana-time-zone-0.1.60.crate) = 27074 +SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f +SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185 +SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39 +SIZE (rust/crates/ident_case-1.0.1.crate) = 3492 +SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 +SIZE (rust/crates/idna-0.5.0.crate) = 271940 +SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99 +SIZE (rust/crates/indexmap-1.9.3.crate) = 54653 +SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26 +SIZE (rust/crates/indexmap-2.2.6.crate) = 82420 +SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5 +SIZE (rust/crates/inout-0.1.3.crate) = 10743 +SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57 +SIZE (rust/crates/itertools-0.11.0.crate) = 125074 +SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569 +SIZE (rust/crates/itertools-0.12.1.crate) = 137761 +SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c +SIZE (rust/crates/itoa-1.0.10.crate) = 10534 +SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97 +SIZE (rust/crates/jni-0.21.1.crate) = 105028 +SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130 +SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232 +SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d +SIZE (rust/crates/js-sys-0.3.69.crate) = 81083 +SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 +SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd +SIZE (rust/crates/libc-0.2.153.crate) = 740614 +SHA256 (rust/crates/libloading-0.8.3.crate) = 0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19 +SIZE (rust/crates/libloading-0.8.3.crate) = 28480 +SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058 +SIZE (rust/crates/libm-0.2.8.crate) = 113450 +SHA256 (rust/crates/libredox-0.0.1.crate) = 85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8 +SIZE (rust/crates/libredox-0.0.1.crate) = 4212 +SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c +SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855 +SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c +SIZE (rust/crates/log-0.4.21.crate) = 43442 +SHA256 (rust/crates/matchit-0.7.3.crate) = 0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94 +SIZE (rust/crates/matchit-0.7.3.crate) = 30372 +SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149 +SIZE (rust/crates/memchr-2.7.1.crate) = 96307 +SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a +SIZE (rust/crates/mime-0.3.17.crate) = 15712 +SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef +SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399 +SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a +SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841 +SHA256 (rust/crates/miniz_oxide-0.7.2.crate) = 9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7 +SIZE (rust/crates/miniz_oxide-0.7.2.crate) = 55731 +SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c +SIZE (rust/crates/mio-0.8.11.crate) = 102983 +SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a +SIZE (rust/crates/multimap-0.8.3.crate) = 13518 +SHA256 (rust/crates/neon-1.0.0.crate) = 7d75440242411c87dc39847b0e33e961ec1f10326a9d8ecf9c1ea64a3b3c13dc +SIZE (rust/crates/neon-1.0.0.crate) = 86108 +SHA256 (rust/crates/neon-macros-1.0.0.crate) = c6813fde79b646e47e7ad75f480aa80ef76a5d9599e2717407961531169ee38b +SIZE (rust/crates/neon-macros-1.0.0.crate) = 5886 +SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a +SIZE (rust/crates/nom-7.1.3.crate) = 117570 +SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4 +SIZE (rust/crates/ntapi-0.4.1.crate) = 126552 +SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9 +SIZE (rust/crates/num-conv-0.1.0.crate) = 7444 +SHA256 (rust/crates/num-traits-0.2.18.crate) = da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a +SIZE (rust/crates/num-traits-0.2.18.crate) = 51930 +SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 +SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 +SHA256 (rust/crates/num_enum-0.6.1.crate) = 7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1 +SIZE (rust/crates/num_enum-0.6.1.crate) = 17911 +SHA256 (rust/crates/num_enum-0.7.2.crate) = 02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845 +SIZE (rust/crates/num_enum-0.7.2.crate) = 18571 +SHA256 (rust/crates/num_enum_derive-0.6.1.crate) = 96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6 +SIZE (rust/crates/num_enum_derive-0.6.1.crate) = 15403 +SHA256 (rust/crates/num_enum_derive-0.7.2.crate) = 681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b +SIZE (rust/crates/num_enum_derive-0.7.2.crate) = 17090 +SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441 +SIZE (rust/crates/object-0.32.2.crate) = 286994 +SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 +SIZE (rust/crates/once_cell-1.19.0.crate) = 33046 +SHA256 (rust/crates/opaque-debug-0.3.1.crate) = c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381 +SIZE (rust/crates/opaque-debug-0.3.1.crate) = 7066 +SHA256 (rust/crates/partial-default-0.1.0.crate) = 124dc3c21ffb6fb3a0562d129929a8a54998766ef7adc1ba09ddc467d092c14b +SIZE (rust/crates/partial-default-0.1.0.crate) = 15031 +SHA256 (rust/crates/partial-default-derive-0.1.0.crate) = 7459127d7a18cb202d418e4b7df1103ffd6d82a106e9b2091c250624c2ace70d +SIZE (rust/crates/partial-default-derive-0.1.0.crate) = 4842 +SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e +SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 +SHA256 (rust/crates/petgraph-0.6.4.crate) = e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9 +SIZE (rust/crates/petgraph-0.6.4.crate) = 185895 +SHA256 (rust/crates/pin-project-1.1.5.crate) = b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3 +SIZE (rust/crates/pin-project-1.1.5.crate) = 54214 +SHA256 (rust/crates/pin-project-internal-1.1.5.crate) = 2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965 +SIZE (rust/crates/pin-project-internal-1.1.5.crate) = 28280 +SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58 +SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141 +SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184 +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 +SIZE (rust/crates/plotly_derive-0.8.4.crate) = 4735 +SHA256 (rust/crates/plotly_kaleido-0.8.4.crate) = 40b8d0cd0d7884dbfe9d986d5c2e372dec74db6ffe825666f72fd91017ff685c +SIZE (rust/crates/plotly_kaleido-0.8.4.crate) = 4283 +SHA256 (rust/crates/polyval-0.6.2.crate) = 9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25 +SIZE (rust/crates/polyval-0.6.2.crate) = 18425 +SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391 +SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165 +SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de +SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242 +SHA256 (rust/crates/prettyplease-0.2.17.crate) = 8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7 +SIZE (rust/crates/prettyplease-0.2.17.crate) = 57713 +SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919 +SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678 +SHA256 (rust/crates/proc-macro-crate-3.1.0.crate) = 6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284 +SIZE (rust/crates/proc-macro-crate-3.1.0.crate) = 11084 +SHA256 (rust/crates/proc-macro2-1.0.79.crate) = e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e +SIZE (rust/crates/proc-macro2-1.0.79.crate) = 47200 +SHA256 (rust/crates/prost-0.12.3.crate) = 146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a +SIZE (rust/crates/prost-0.12.3.crate) = 29461 +SHA256 (rust/crates/prost-build-0.12.3.crate) = c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2 +SIZE (rust/crates/prost-build-0.12.3.crate) = 39018 +SHA256 (rust/crates/prost-derive-0.12.3.crate) = efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e +SIZE (rust/crates/prost-derive-0.12.3.crate) = 19603 +SHA256 (rust/crates/prost-types-0.12.3.crate) = 193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e +SIZE (rust/crates/prost-types-0.12.3.crate) = 42091 +SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef +SIZE (rust/crates/quote-1.0.35.crate) = 28136 +SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 +SIZE (rust/crates/radium-0.7.0.crate) = 10906 +SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 +SIZE (rust/crates/rand-0.8.5.crate) = 87113 +SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 +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/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 +SIZE (rust/crates/redox_users-0.4.4.crate) = 15438 +SHA256 (rust/crates/regex-1.10.4.crate) = c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c +SIZE (rust/crates/regex-1.10.4.crate) = 253191 +SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea +SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565 +SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f +SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228 +SHA256 (rust/crates/relative-path-1.9.2.crate) = e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc +SIZE (rust/crates/relative-path-1.9.2.crate) = 22420 +SHA256 (rust/crates/ring-0.17.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d +SIZE (rust/crates/ring-0.17.8.crate) = 4188554 +SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76 +SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970 +SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366 +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-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 +SIZE (rust/crates/rustls-webpki-0.102.2.crate) = 196881 +SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4 +SIZE (rust/crates/rustversion-1.0.14.crate) = 17261 +SHA256 (rust/crates/ryu-1.0.17.crate) = e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1 +SIZE (rust/crates/ryu-1.0.17.crate) = 47537 +SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 +SIZE (rust/crates/same-file-1.0.6.crate) = 10183 +SHA256 (rust/crates/semver-1.0.22.crate) = 92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca +SIZE (rust/crates/semver-1.0.22.crate) = 30446 +SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73 +SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519 +SHA256 (rust/crates/serde-1.0.197.crate) = 3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2 +SIZE (rust/crates/serde-1.0.197.crate) = 77087 +SHA256 (rust/crates/serde_derive-1.0.197.crate) = 7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b +SIZE (rust/crates/serde_derive-1.0.197.crate) = 55771 +SHA256 (rust/crates/serde_json-1.0.114.crate) = c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0 +SIZE (rust/crates/serde_json-1.0.114.crate) = 146986 +SHA256 (rust/crates/serde_repr-0.1.18.crate) = 0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb +SIZE (rust/crates/serde_repr-0.1.18.crate) = 9974 +SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd +SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822 +SHA256 (rust/crates/serde_with-2.3.3.crate) = 07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe +SIZE (rust/crates/serde_with-2.3.3.crate) = 123415 +SHA256 (rust/crates/serde_with-3.7.0.crate) = ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a +SIZE (rust/crates/serde_with-3.7.0.crate) = 140905 +SHA256 (rust/crates/serde_with_macros-2.3.3.crate) = 881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f +SIZE (rust/crates/serde_with_macros-2.3.3.crate) = 28198 +SHA256 (rust/crates/serde_with_macros-3.7.0.crate) = 6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655 +SIZE (rust/crates/serde_with_macros-3.7.0.crate) = 30834 +SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba +SIZE (rust/crates/sha1-0.10.6.crate) = 13517 +SHA256 (rust/crates/sha2-0.9.9.crate) = 4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800 +SIZE (rust/crates/sha2-0.9.9.crate) = 22247 +SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8 +SIZE (rust/crates/sha2-0.10.8.crate) = 26357 +SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1 +SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987 +SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67 +SIZE (rust/crates/slab-0.4.9.crate) = 17108 +SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 +SIZE (rust/crates/smallvec-1.13.2.crate) = 35216 +SHA256 (rust/crates/socket2-0.5.6.crate) = 05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871 +SIZE (rust/crates/socket2-0.5.6.crate) = 55270 +SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67 +SIZE (rust/crates/spin-0.9.8.crate) = 38958 +SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f +SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 +SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623 +SIZE (rust/crates/strsim-0.10.0.crate) = 11355 +SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01 +SIZE (rust/crates/strsim-0.11.0.crate) = 13710 +SHA256 (rust/crates/subtle-2.5.0.crate) = 81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc +SIZE (rust/crates/subtle-2.5.0.crate) = 13909 +SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 +SIZE (rust/crates/syn-1.0.109.crate) = 237611 +SHA256 (rust/crates/syn-2.0.55.crate) = 002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0 +SIZE (rust/crates/syn-2.0.55.crate) = 254901 +SHA256 (rust/crates/syn-mid-0.6.0.crate) = b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049 +SIZE (rust/crates/syn-mid-0.6.0.crate) = 12915 +SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160 +SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933 +SHA256 (rust/crates/sysinfo-0.29.11.crate) = cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666 +SIZE (rust/crates/sysinfo-0.29.11.crate) = 156557 +SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 +SIZE (rust/crates/tap-1.0.1.crate) = 11316 +SHA256 (rust/crates/tempfile-3.10.1.crate) = 85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1 +SIZE (rust/crates/tempfile-3.10.1.crate) = 33653 +SHA256 (rust/crates/thiserror-1.0.58.crate) = 03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297 +SIZE (rust/crates/thiserror-1.0.58.crate) = 21025 +SHA256 (rust/crates/thiserror-impl-1.0.58.crate) = c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7 +SIZE (rust/crates/thiserror-impl-1.0.58.crate) = 15645 +SHA256 (rust/crates/time-0.1.45.crate) = 1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a +SIZE (rust/crates/time-0.1.45.crate) = 28911 +SHA256 (rust/crates/time-0.3.34.crate) = c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749 +SIZE (rust/crates/time-0.3.34.crate) = 118430 +SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3 +SIZE (rust/crates/time-core-0.1.2.crate) = 7191 +SHA256 (rust/crates/time-macros-0.2.17.crate) = 7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774 +SIZE (rust/crates/time-macros-0.2.17.crate) = 24443 +SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50 +SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991 +SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 +SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 +SHA256 (rust/crates/tokio-1.36.0.crate) = 61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931 +SIZE (rust/crates/tokio-1.36.0.crate) = 757286 +SHA256 (rust/crates/tokio-io-timeout-1.2.0.crate) = 30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf +SIZE (rust/crates/tokio-io-timeout-1.2.0.crate) = 8993 +SHA256 (rust/crates/tokio-macros-2.2.0.crate) = 5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b +SIZE (rust/crates/tokio-macros-2.2.0.crate) = 11520 +SHA256 (rust/crates/tokio-stream-0.1.15.crate) = 267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af +SIZE (rust/crates/tokio-stream-0.1.15.crate) = 36284 +SHA256 (rust/crates/tokio-util-0.7.10.crate) = 5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15 +SIZE (rust/crates/tokio-util-0.7.10.crate) = 110508 +SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1 +SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910 +SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421 +SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324 +SHA256 (rust/crates/toml_edit-0.21.1.crate) = 6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1 +SIZE (rust/crates/toml_edit-0.21.1.crate) = 101661 +SHA256 (rust/crates/tonic-0.11.0.crate) = 76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13 +SIZE (rust/crates/tonic-0.11.0.crate) = 92841 +SHA256 (rust/crates/tonic-build-0.11.0.crate) = be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2 +SIZE (rust/crates/tonic-build-0.11.0.crate) = 17932 +SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c +SIZE (rust/crates/tower-0.4.13.crate) = 106906 +SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0 +SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023 +SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52 +SIZE (rust/crates/tower-service-0.3.2.crate) = 6847 +SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef +SIZE (rust/crates/tracing-0.1.40.crate) = 79459 +SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 +SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241 +SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 +SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 +SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b +SIZE (rust/crates/try-lock-0.2.5.crate) = 4314 +SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 +SIZE (rust/crates/typenum-1.17.0.crate) = 42849 +SHA256 (rust/crates/unicase-2.7.0.crate) = f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89 +SIZE (rust/crates/unicase-2.7.0.crate) = 23783 +SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 +SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811 +SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 +SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5 +SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649 +SHA256 (rust/crates/universal-hash-0.5.1.crate) = fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea +SIZE (rust/crates/universal-hash-0.5.1.crate) = 9146 +SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1 +SIZE (rust/crates/untrusted-0.9.0.crate) = 14447 +SHA256 (rust/crates/ureq-2.9.6.crate) = 11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35 +SIZE (rust/crates/ureq-2.9.6.crate) = 113677 +SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633 +SIZE (rust/crates/url-2.5.0.crate) = 78605 +SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a +SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435 +SHA256 (rust/crates/uuid-1.8.0.crate) = a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0 +SIZE (rust/crates/uuid-1.8.0.crate) = 44043 +SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f +SIZE (rust/crates/version_check-0.9.4.crate) = 14895 +SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b +SIZE (rust/crates/walkdir-2.5.0.crate) = 23951 +SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e +SIZE (rust/crates/want-0.3.1.crate) = 6398 +SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f +SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964 +SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 +SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 +SHA256 (rust/crates/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8 +SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da +SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726 +SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7 +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96 +SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263 +SHA256 (rust/crates/webpki-roots-0.26.1.crate) = b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009 +SIZE (rust/crates/webpki-roots-0.26.1.crate) = 249748 +SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7 +SIZE (rust/crates/which-4.4.2.crate) = 15953 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596 +SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9 +SIZE (rust/crates/windows-core-0.52.0.crate) = 42154 +SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0 +SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659 +SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 +SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884 +SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d +SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877 +SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071 +SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492 +SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c +SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 +SHA256 (rust/crates/windows-targets-0.52.4.crate) = 7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b +SIZE (rust/crates/windows-targets-0.52.4.crate) = 6310 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9 +SIZE (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = 433373 +SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43 +SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981 +SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc +SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 +SHA256 (rust/crates/windows_aarch64_msvc-0.52.4.crate) = da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675 +SIZE (rust/crates/windows_aarch64_msvc-0.52.4.crate) = 828055 +SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f +SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236 +SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e +SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 +SHA256 (rust/crates/windows_i686_gnu-0.52.4.crate) = b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3 +SIZE (rust/crates/windows_i686_gnu-0.52.4.crate) = 875736 +SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060 +SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951 +SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 +SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 +SHA256 (rust/crates/windows_i686_msvc-0.52.4.crate) = 1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02 +SIZE (rust/crates/windows_i686_msvc-0.52.4.crate) = 895530 +SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36 +SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373 +SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e +SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 +SHA256 (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03 +SIZE (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 831627 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3 +SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc +SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177 +SIZE (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 433358 +SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0 +SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936 +SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 +SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 +SHA256 (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8 +SIZE (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 828019 +SHA256 (rust/crates/winnow-0.5.40.crate) = f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876 +SIZE (rust/crates/winnow-0.5.40.crate) = 159316 +SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed +SIZE (rust/crates/wyz-0.5.1.crate) = 18790 +SHA256 (rust/crates/x25519-dalek-2.0.1.crate) = c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277 +SIZE (rust/crates/x25519-dalek-2.0.1.crate) = 87820 +SHA256 (rust/crates/zeroize-1.7.0.crate) = 525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d +SIZE (rust/crates/zeroize-1.7.0.crate) = 19039 +SHA256 (rust/crates/zeroize_derive-1.4.2.crate) = ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69 +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.39.3_GH0.tar.gz) = bd9c7a0325e4198e823a05f79bc681c73bb813ad78377fb342e959c776eea7ee +SIZE (signalapp-ringrtc-v2.39.3_GH0.tar.gz) = 811359 +SHA256 (signalapp-webrtc-6261d_GH0.tar.gz) = bdd63f731f9e9e6bbe31cc109cc0c74918410f2cb886878e2e5c4904d6f1f5d1 +SIZE (signalapp-webrtc-6261d_GH0.tar.gz) = 39777153 diff --git a/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm b/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm new file mode 100644 index 000000000000..492bd902dbb9 --- /dev/null +++ b/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm @@ -0,0 +1,11 @@ +--- src/webrtc/src/third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC ++++ src/webrtc/src/third_party/nasm/config/config-linux.h +@@ -336,7 +336,7 @@ + #define HAVE_MEMORY_H 1 + + /* Define to 1 if you have the `mempcpy' function. */ +-#define HAVE_MEMPCPY 1 ++/* #undef HAVE_MEMPCPY */ + + /* Define to 1 if you have a working `mmap' system call. */ + #define HAVE_MMAP 1 diff --git a/multimedia/ringrtc/files/patch-src_rust_build.rs b/multimedia/ringrtc/files/patch-src_rust_build.rs new file mode 100644 index 000000000000..bc67ceba6d2e --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_rust_build.rs @@ -0,0 +1,13 @@ +--- src/rust/build.rs.orig 2021-03-15 17:47:59 UTC ++++ src/rust/build.rs +@@ -21,7 +21,9 @@ fn main() { + println!("cargo:rustc-link-search=native=src/webrtc/src/out/Release/obj/",); + } + +- if cfg!(target_os = "macos") { ++ if cfg!(target_os = "freebsd") { ++ println!("cargo:rustc-link-lib=dylib=c++"); ++ } else if cfg!(target_os = "macos") { + println!("cargo:rustc-link-lib=dylib=c++"); + println!("cargo:rustc-link-lib=framework=Foundation"); + println!("cargo:rustc-link-lib=framework=CoreAudio"); diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn new file mode 100644 index 000000000000..3cd0b0a1eb19 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn @@ -0,0 +1,23 @@ +--- src/webrtc/src/BUILD.gn.orig 2021-03-15 15:09:17 UTC ++++ src/webrtc/src/BUILD.gn +@@ -188,6 +188,9 @@ config("common_inherited_config") { + if (is_linux || is_chromeos) { + defines += [ "WEBRTC_LINUX" ] + } ++ if (is_bsd) { ++ defines += [ "WEBRTC_BSD" ] ++ } + if (is_mac) { + defines += [ "WEBRTC_MAC" ] + } +@@ -431,10 +434,6 @@ config("common_config") { + "/U_UNICODE", + ] + } +-} +- +-config("common_objc") { +- frameworks = [ "Foundation.framework" ] + } + + if (!build_with_chromium) { diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn new file mode 100644 index 000000000000..2d1d7d5fec77 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn @@ -0,0 +1,22 @@ +--- src/webrtc/src/build/config/BUILD.gn.orig 2021-05-26 12:26:11 UTC ++++ src/webrtc/src/build/config/BUILD.gn +@@ -214,13 +214,17 @@ 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") { diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn new file mode 100644 index 000000000000..bd2e44be0118 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn @@ -0,0 +1,45 @@ +--- src/webrtc/src/build/config/BUILDCONFIG.gn.orig 2021-11-15 18:52:18 UTC ++++ src/webrtc/src/build/config/BUILDCONFIG.gn +@@ -139,7 +139,8 @@ declare_args() { + is_official_build = false + + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || current_os == "openbsd" || ++ current_os == "freebsd" || + (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 == "") { + host_toolchain = "//build/toolchain/aix:$host_cpu" + } else if (host_os == "zos") { + host_toolchain = "//build/toolchain/zos:$host_cpu" ++ } else if (host_os == "openbsd") { ++ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" ++ } else if (host_os == "freebsd") { ++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" + } else { + assert(false, "Unsupported host_os: $host_os") + } +@@ -271,6 +276,8 @@ if (target_os == "android") { + _default_toolchain = "//build/toolchain/aix:$target_cpu" + } else if (target_os == "zos") { + _default_toolchain = "//build/toolchain/zos:$target_cpu" ++} else if (target_os == "openbsd" || target_os == "freebsd") { ++ _default_toolchain = host_toolchain + } else { + assert(false, "Unsupported target_os: $target_os") + } +@@ -305,7 +312,11 @@ is_android = current_os == "android" + is_chromeos = current_os == "chromeos" + is_fuchsia = current_os == "fuchsia" + is_ios = current_os == "ios" +-is_linux = current_os == "linux" ++is_linux = current_os == "linux" || current_os == "openbsd" || ++ current_os == "freebsd" ++is_openbsd = current_os == "openbsd" ++is_freebsd = current_os == "freebsd" ++is_bsd = current_os == "openbsd" || current_os == "freebsd" + is_mac = current_os == "mac" + is_nacl = current_os == "nacl" + is_win = current_os == "win" || current_os == "winuwp" diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn new file mode 100644 index 000000000000..157729e9eb0a --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn @@ -0,0 +1,145 @@ +--- src/webrtc/src/build/config/compiler/BUILD.gn.orig 2022-02-16 12:34:12 UTC ++++ src/webrtc/src/build/config/compiler/BUILD.gn +@@ -204,7 +204,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 + } + + declare_args() { +@@ -268,13 +268,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") { +- if (!using_sanitizer && ++ if (!using_sanitizer && !is_bsd && + (is_linux || is_chromeos || is_android || is_fuchsia)) { + ldflags = [ + "-Wl,-z,defs", + "-Wl,--as-needed", + ] + } ++ if (current_cpu == "x86" && is_openbsd) { ++ ldflags = [ "-Wl,-z,notext" ] ++ } + } + + # compiler --------------------------------------------------------------------- +@@ -520,6 +523,10 @@ config("compiler") { + } + } + ++ if (is_openbsd) { ++ ldflags += [ "-Wl,-z,wxneeded" ] ++ } ++ + # Linux-specific compiler flags setup. + # ------------------------------------ + if (use_gold) { +@@ -595,7 +602,7 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl && current_os != "zos") { ++ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] + if (save_reproducers_on_lld_crash && use_lld) { + ldflags += [ +@@ -1174,7 +1181,7 @@ config("compiler_cpu_abi") { + ] + } + } else if (current_cpu == "arm") { +- if (is_clang && !is_android && !is_nacl && ++ if (is_clang && !is_android && !is_nacl && !is_bsd && + !(is_chromeos_lacros && is_chromeos_device)) { + cflags += [ "--target=arm-linux-gnueabihf" ] + ldflags += [ "--target=arm-linux-gnueabihf" ] +@@ -1189,7 +1196,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] + } + } else if (current_cpu == "arm64") { +- if (is_clang && !is_android && !is_nacl && !is_fuchsia && ++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd && + !(is_chromeos_lacros && is_chromeos_device)) { + cflags += [ "--target=aarch64-linux-gnu" ] + ldflags += [ "--target=aarch64-linux-gnu" ] +@@ -1524,7 +1531,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", +@@ -1576,7 +1583,7 @@ config("clang_revision") { + } + + config("clang_revision") { +- if (is_clang && clang_base_path == default_clang_base_path) { ++ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path) { + update_args = [ + "--print-revision", + "--verify-version=$clang_version", +@@ -1874,12 +1881,9 @@ config("default_warnings") { + + # TODO(crbug.com/1494809): Evaluate and possibly enable. + "-Wno-vla-extension", +- +- # TODO(https://crbug.com/1490607): 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") { + ] + + # 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") { + # There are some targeted places that AFDO regresses, so we provide a separate + # config to allow AFDO to be disabled per-target. + config("afdo") { +- if (is_clang) { ++ if (is_clang && !is_bsd) { + cflags = [] + if (clang_emit_debug_info_for_profiling) { + # Add the following flags to generate debug info for profiling. +@@ -2623,7 +2627,7 @@ config("afdo") { + cflags += [ "-Wno-backend-plugin" ] + inputs = [ _clang_sample_profile ] + } +- } else if (auto_profile_path != "" && is_a_target_toolchain) { ++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { + cflags = [ "-fauto-profile=${auto_profile_path}" ] + inputs = [ auto_profile_path ] + } +@@ -2787,7 +2791,8 @@ config("symbols") { + configs += [ "//build/config:compress_debug_sections" ] + } + +- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") { ++ 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. + # Make sure we don't use constructor homing on mac. diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni new file mode 100644 index 000000000000..42353cb83d4e --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/config/compiler/compiler.gni.orig 2021-11-15 18:52:18 UTC ++++ src/webrtc/src/build/config/compiler/compiler.gni +@@ -230,7 +230,7 @@ declare_args() { + + declare_args() { + # Whether to use the gold linker from binutils instead of lld or bfd. +- use_gold = !use_lld && !(is_castos && ++ use_gold = !is_bsd && !use_lld && !(is_castos && + (current_cpu == "arm" || current_cpu == "mipsel")) && + (((is_linux || is_chromeos_lacros) && + (current_cpu == "x64" || current_cpu == "x86" || diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni new file mode 100644 index 000000000000..fe60d15c1686 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/config/features.gni.orig 2020-09-19 19:50:44 UTC ++++ src/webrtc/src/build/config/features.gni +@@ -31,7 +31,7 @@ declare_args() { + proprietary_codecs = is_chrome_branded || is_castos || is_cast_android + + # libudev usage. This currently only affects the content layer. +- use_udev = (is_linux && !is_castos) || is_chromeos ++ use_udev = !is_bsd && ((is_linux && !is_castos) || is_chromeos) + + use_dbus = is_linux || is_chromeos + diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni new file mode 100644 index 000000000000..c0f46decc5a2 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni @@ -0,0 +1,9 @@ +--- src/webrtc/src/build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC ++++ src/webrtc/src/build/config/freetype/freetype.gni +@@ -10,5 +10,5 @@ declare_args() { + # than version 2.7.1 and have color bitmap support compiled in. WARNING: + # System FreeType configurations other than as described WILL INTRODUCE TEXT + # RENDERING AND SECURITY REGRESSIONS. +- use_system_freetype = false ++ use_system_freetype = true + } diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn new file mode 100644 index 000000000000..82d156e8558d --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/config/linux/BUILD.gn.orig 2021-10-13 07:49:03 UTC ++++ src/webrtc/src/build/config/linux/BUILD.gn +@@ -41,7 +41,7 @@ config("runtime_library") { + } + + if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && +- (!use_custom_libcxx || current_cpu == "mipsel")) { ++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { + libs = [ "atomic" ] + } + } diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py new file mode 100644 index 000000000000..7890572bd313 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py @@ -0,0 +1,11 @@ +--- 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 +@@ -108,7 +108,7 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])): + print("[[],[],[],[],[]]") + return 0 + diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni new file mode 100644 index 000000000000..49235361b682 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni @@ -0,0 +1,15 @@ +--- src/webrtc/src/build/config/sysroot.gni.orig 2020-05-13 18:39:36 UTC ++++ src/webrtc/src/build/config/sysroot.gni +@@ -19,10 +19,10 @@ declare_args() { + + # Controls default is_linux sysroot. If set to true, and sysroot + # is empty, default sysroot is calculated. +- use_sysroot = ++ use_sysroot = !is_bsd && ( + current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || + current_cpu == "arm64" || current_cpu == "mipsel" || +- current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android) ++ current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android)) + } + + if (sysroot == "") { diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py new file mode 100644 index 000000000000..9df4617d9ed2 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC ++++ src/webrtc/src/build/detect_host_arch.py +@@ -20,6 +20,8 @@ def HostArch(): + host_arch = 'ia32' + elif host_arch in ['x86_64', 'amd64']: + host_arch = 'x64' ++ elif host_arch.startswith('arm64'): ++ host_arch = 'arm64' + elif host_arch.startswith('arm'): + host_arch = 'arm' + elif host_arch.startswith('aarch64'): diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py new file mode 100644 index 000000000000..63992f0c889d --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/gn_run_binary.py.orig 2019-07-24 18:58:02 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. + args = [path] + sys.argv[2:] + +-ret = subprocess.call(args) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map new file mode 100644 index 000000000000..c3f97aeafa2c --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map @@ -0,0 +1,13 @@ +--- src/webrtc/src/build/linux/chrome.map.orig 2021-05-01 21:15:31 UTC ++++ src/webrtc/src/build/linux/chrome.map +@@ -20,6 +20,10 @@ global: + # Program entry point. + _start; + ++ # FreeBSD specific variables. ++ __progname; ++ environ; ++ + # Memory allocation symbols. We want chrome and any libraries to + # share the same heap, so it is correct to export these symbols. + aligned_alloc; diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn new file mode 100644 index 000000000000..b8a4d07953ef --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn @@ -0,0 +1,53 @@ +--- src/webrtc/src/build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC ++++ src/webrtc/src/build/linux/libpci/BUILD.gn +@@ -3,20 +3,36 @@ + # found in the LICENSE file. + + import("//tools/generate_library_loader/generate_library_loader.gni") ++import("//build/config/linux/pkg_config.gni") + +-# This generates a target named "libpci". +-generate_library_loader("libpci") { +- name = "LibPciLoader" +- output_h = "libpci.h" +- output_cc = "libpci_loader.cc" +- header = "<pci/pci.h>" ++declare_args() { ++ use_system_libpci = is_bsd ++} + +- functions = [ +- "pci_alloc", +- "pci_init", +- "pci_cleanup", +- "pci_scan_bus", +- "pci_fill_info", +- "pci_lookup_name", +- ] ++if (use_system_libpci) { ++ pkg_config("system_libpci") { ++ packages = [ "libpci" ] ++ } ++ ++ source_set("libpci") { ++ public_configs = [ ":system_libpci" ] ++ } ++ ++} else { ++ # This generates a target named "libpci". ++ generate_library_loader("libpci") { ++ name = "LibPciLoader" ++ output_h = "libpci.h" ++ output_cc = "libpci_loader.cc" ++ header = "<pci/pci.h>" ++ ++ functions = [ ++ "pci_alloc", ++ "pci_init", ++ "pci_cleanup", ++ "pci_scan_bus", ++ "pci_fill_info", ++ "pci_lookup_name", ++ ] ++ } + } diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn new file mode 100644 index 000000000000..81f57ef449f9 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn @@ -0,0 +1,27 @@ +--- src/webrtc/src/build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC ++++ src/webrtc/src/build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# 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. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py new file mode 100644 index 000000000000..64f971e383a2 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py @@ -0,0 +1,10 @@ +--- src/webrtc/src/build/linux/unbundle/replace_gn_files.py.orig 2021-11-15 18:52:18 UTC ++++ src/webrtc/src/build/linux/unbundle/replace_gn_files.py +@@ -56,6 +56,7 @@ REPLACEMENTS = { + 'libevent': 'third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libsecret' : 'third_party/libsecret/BUILD.gn', + 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn new file mode 100644 index 000000000000..c2f3f8e28d2d --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn @@ -0,0 +1,69 @@ +--- src/webrtc/src/build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC ++++ src/webrtc/src/build/toolchain/freebsd/BUILD.gn +@@ -0,0 +1,66 @@ ++# Copyright 2013 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. ++ ++import("//build/config/sysroot.gni") ++import("//build/toolchain/gcc_toolchain.gni") ++ ++clang_toolchain("clang_x86") { ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x86") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_x64") { ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x64") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_arm") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} ++ ++clang_toolchain("clang_arm64") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni new file mode 100644 index 000000000000..e3def33f6fcb --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni @@ -0,0 +1,44 @@ +--- src/webrtc/src/build/toolchain/gcc_toolchain.gni.orig 2022-02-16 12:34:12 UTC ++++ src/webrtc/src/build/toolchain/gcc_toolchain.gni +@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) { + "enable_resource_allowlist_generation=true does not work for target_os=$target_os") + } + ++declare_args() { ++ extra_cflags = "" ++ extra_cppflags = "" ++ extra_cxxflags = "" ++ extra_ldflags = "" ++} ++ + # This template defines a toolchain for something that works like gcc + # (including clang). + # +@@ -825,22 +832,12 @@ template("gcc_toolchain") { + # use_gold too. + template("clang_toolchain") { + gcc_toolchain(target_name) { +- _path = "$clang_base_path/bin" +- _is_path_absolute = get_path_info(_path, "abspath") == _path +- +- # Preserve absolute paths for tools like distcc. +- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { +- prefix = _path +- } else { +- prefix = rebase_path(_path, root_build_dir) +- } +- +- cc = "${prefix}/clang" +- cxx = "${prefix}/clang++" ++ cc = "cc" ++ cxx = "c++" + ld = cxx +- readelf = "${prefix}/llvm-readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${prefix}/llvm-nm" ++ readelf = "llvm-readelf" ++ ar = "llvm-ar" ++ nm = "llvm-nm" + + forward_variables_from(invoker, + [ diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py new file mode 100644 index 000000000000..adb6cc98db76 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py @@ -0,0 +1,17 @@ +--- src/webrtc/src/build/toolchain/get_concurrent_links.py.orig 2021-05-01 21:15:31 UTC ++++ src/webrtc/src/build/toolchain/get_concurrent_links.py +@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes(): + return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) + except Exception: + return 0 ++ elif sys.platform.startswith('freebsd'): ++ try: ++ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) ++ # With -fuse-lld it doesn't take a lot of ram, feel free to change that ++ # 1 * ... to needed amount ++ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB ++ except Exception: ++ return 1 + # TODO(scottmg): Implement this for other platforms. + return 0 + diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni new file mode 100644 index 000000000000..1936f91498d1 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni @@ -0,0 +1,11 @@ +--- src/webrtc/src/build/toolchain/toolchain.gni.orig 2023-12-10 09:44:57 UTC ++++ src/webrtc/src/build/toolchain/toolchain.gni +@@ -67,7 +67,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") { + host_shlib_extension = ".so" + } else { + assert(false, "Host platform not supported") diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn new file mode 100644 index 000000000000..b4be3b72062b --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn @@ -0,0 +1,10 @@ +--- src/webrtc/src/buildtools/third_party/libc++/BUILD.gn.orig 2021-09-19 10:01:13 UTC ++++ src/webrtc/src/buildtools/third_party/libc++/BUILD.gn +@@ -21,6 +21,7 @@ config("config") { + # upstream libc++ requires C++20 so we have to make an exception here. + # No other target should override the default -std= flag. + "-std:c++20", ++ "-I%%LOCALBASE%%/include", + ] + } else { + cflags += [ "-fPIC" ] diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc new file mode 100644 index 000000000000..d71efbe545a0 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc @@ -0,0 +1,10 @@ +--- src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc +@@ -13,6 +13,7 @@ + #include <string.h> + + #include <algorithm> ++#include <cstdlib> + #include <utility> + + #include "absl/algorithm/container.h" diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn new file mode 100644 index 000000000000..3938185b8a8a --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn @@ -0,0 +1,11 @@ +--- src/webrtc/src/modules/video_capture/BUILD.gn.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/modules/video_capture/BUILD.gn +@@ -69,7 +69,7 @@ if (!build_with_chromium || is_linux || is_chromeos) { + "video_capture_options.h", + ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "linux/device_info_linux.cc", + "linux/device_info_v4l2.cc", diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn new file mode 100644 index 000000000000..e807b8274b70 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn @@ -0,0 +1,18 @@ +Use VAR_ARRAYS on FreeBSD (same as audio/opus) + +--- src/webrtc/src/ringrtc/opus/BUILD.gn 2021-03-15 17:51:55 UTC ++++ src/webrtc/src/ringrtc/opus/BUILD.gn +@@ -37,10 +37,11 @@ config("opus_private_config") { + "OPUS_EXPORT=", + "ENABLE_HARDENING", + ++ "VAR_ARRAYS", + # Prefer alloca() over variable length arrays which are often inefficient; + # the opus code will automatically handle this correctly per-platform. +- "USE_ALLOCA", +- "HAVE_ALLOCA_H", ++# "USE_ALLOCA", ++# "HAVE_ALLOCA_H", + ] + + include_dirs = [ diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h new file mode 100644 index 000000000000..1bb643da9177 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h @@ -0,0 +1,11 @@ +--- src/webrtc/src/rtc_base/byte_order.h.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/byte_order.h +@@ -89,7 +89,7 @@ + #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN) + + #elif defined(WEBRTC_POSIX) +-#include <endian.h> ++#include <sys/endian.h> + #else + #error "Missing byte order functions for this arch." + #endif // defined(WEBRTC_MAC) diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h new file mode 100644 index 000000000000..f27dd1ac6f4f --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h @@ -0,0 +1,11 @@ +--- src/webrtc/src/rtc_base/ifaddrs_converter.h.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/ifaddrs_converter.h +@@ -14,6 +14,8 @@ + #if defined(WEBRTC_ANDROID) + #include "rtc_base/ifaddrs_android.h" + #else ++#include <sys/types.h> ++#include <sys/socket.h> + #include <ifaddrs.h> + #endif // WEBRTC_ANDROID + diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc new file mode 100644 index 000000000000..bba5d3e1eeaf --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc @@ -0,0 +1,12 @@ +--- src/webrtc/src/rtc_base/ip_address.cc.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/ip_address.cc +@@ -11,6 +11,9 @@ + #if defined(WEBRTC_POSIX) + #include <netinet/in.h> + #include <sys/socket.h> ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#endif + + #include "absl/strings/string_view.h" + #ifdef OPENBSD diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h new file mode 100644 index 000000000000..4b39705e5cc2 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h @@ -0,0 +1,13 @@ +--- src/webrtc/src/rtc_base/ip_address.h.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/ip_address.h +@@ -17,6 +17,10 @@ + #include <netinet/in.h> + #include <sys/socket.h> + #endif ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#include <sys/socket.h> ++#endif + #if defined(WEBRTC_WIN) + #include <winsock2.h> + #include <ws2tcpip.h> diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc new file mode 100644 index 000000000000..51cf980a4976 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc @@ -0,0 +1,15 @@ +--- src/webrtc/src/rtc_base/network.cc.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/network.cc +@@ -244,7 +244,12 @@ AdapterType GetAdapterTypeFromName(const char* network + } + #endif + ++#if defined(WEBRTC_BSD) ++ // Treat all other network interface names as ethernet on BSD ++ return ADAPTER_TYPE_ETHERNET; ++#else + return ADAPTER_TYPE_UNKNOWN; ++#endif + } + + NetworkManager::NetworkManager() {} diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h new file mode 100644 index 000000000000..0d80db98eb29 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h @@ -0,0 +1,13 @@ +--- src/webrtc/src/rtc_base/network.h.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/network.h +@@ -26,6 +26,10 @@ + #include "rtc_base/system/rtc_export.h" + #include "rtc_base/third_party/sigslot/sigslot.h" + ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#endif ++ + #if defined(WEBRTC_POSIX) + struct ifaddrs; + #endif // defined(WEBRTC_POSIX) diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc new file mode 100644 index 000000000000..496f00d8f61e --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc @@ -0,0 +1,47 @@ +--- src/webrtc/src/rtc_base/physical_socket_server.cc.orig 2021-01-28 23:16:17 UTC ++++ src/webrtc/src/rtc_base/physical_socket_server.cc +@@ -50,7 +50,7 @@ + #include "rtc_base/null_socket_server.h" + #include "rtc_base/time_utils.h" + +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + #include <linux/sockios.h> + #endif + +@@ -69,7 +69,7 @@ typedef void* SockOptArg; + + #endif // WEBRTC_POSIX + +-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) ++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__) + + int64_t GetSocketRecvTimestamp(int socket) { + struct timeval tv_ioctl; +@@ -291,7 +291,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) + return -1; + } + if (opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0; + #endif + } else if (opt == OPT_DSCP) { +@@ -309,7 +309,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { + if (TranslateOption(opt, &slevel, &sopt) == -1) + return -1; + if (opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT; + #endif + } else if (opt == OPT_DSCP) { +@@ -550,7 +550,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + *slevel = IPPROTO_IP; + *sopt = IP_DONTFRAGMENT; + break; +-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__) ++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__) + RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported."; + return -1; + #elif defined(WEBRTC_POSIX) diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h new file mode 100644 index 000000000000..3992028b009d --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h @@ -0,0 +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 +@@ -14,7 +14,7 @@ + #include "api/units/time_delta.h" + + #if defined(WEBRTC_POSIX) +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + // On Linux, use epoll. + #include <sys/epoll.h> + #define WEBRTC_USE_EPOLL 1 diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc new file mode 100644 index 000000000000..9afe13c478b9 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc @@ -0,0 +1,39 @@ +--- 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 +@@ -11,7 +11,11 @@ + #include "rtc_base/platform_thread_types.h" + + #if defined(WEBRTC_LINUX) ++#if !defined(__FreeBSD__) + #include <sys/prctl.h> ++#else ++#include <pthread_np.h> ++#endif + #include <sys/syscall.h> + #endif + +@@ -44,6 +48,8 @@ PlatformThreadId CurrentThreadId() { + return gettid(); + #elif defined(WEBRTC_FUCHSIA) + return zx_thread_self(); ++#elif defined(__FreeBSD__) ++ return pthread_getthreadid_np(); + #elif defined(WEBRTC_LINUX) + return syscall(__NR_gettid); + #elif defined(__EMSCRIPTEN__) +@@ -74,6 +80,7 @@ void SetCurrentThreadName(const char* name) { + } + + void SetCurrentThreadName(const char* name) { ++#if !defined(__FreeBSD__) + #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) { + zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME, + name, strlen(name)); + RTC_DCHECK_EQ(status, ZX_OK); ++#endif + #endif + } + diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h new file mode 100644 index 000000000000..b864485827e3 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h @@ -0,0 +1,19 @@ +--- 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 +@@ -178,6 +178,8 @@ class multi_threaded_local { + #endif // _SIGSLOT_HAS_WIN32_THREADS + + #ifdef _SIGSLOT_HAS_POSIX_THREADS ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wthread-safety-analysis" + // 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 { + private: + pthread_mutex_t m_mutex; + }; ++#pragma GCC diagnostic pop + #endif // _SIGSLOT_HAS_POSIX_THREADS + + template <class mt_policy> diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn new file mode 100644 index 000000000000..b34b0548b661 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn @@ -0,0 +1,15 @@ +--- 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-src_webrtc_src_testing_test.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni new file mode 100644 index 000000000000..133fddbcdd19 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni @@ -0,0 +1,11 @@ +--- src/webrtc/src/testing/test.gni.orig 2022-02-18 09:31:19 UTC ++++ src/webrtc/src/testing/test.gni +@@ -17,7 +17,7 @@ declare_args() { + # "location_tags.json", and so we don't want to try and upload the tags + # for their tests. + # And, some build configs may simply turn off generation altogether. +- tests_have_location_tags = generate_location_tags ++ tests_have_location_tags = false + } + + if (is_android) { diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn new file mode 100644 index 000000000000..2877c76d5fc1 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn @@ -0,0 +1,16 @@ +--- src/webrtc/src/third_party/nasm/BUILD.gn.orig 2023-02-01 18:45:20 UTC ++++ src/webrtc/src/third_party/nasm/BUILD.gn +@@ -63,6 +63,13 @@ config("nasm_config") { + + defines = [ "HAVE_CONFIG_H" ] + ++ _string_h_lines = ++ read_file("/usr/include/string.h", "list lines") ++ _mempcpy = filter_include(_string_h_lines, [ "*\*mempcpy*" ]) ++ if (_mempcpy != []) { ++ defines += [ "HAVE_MEMPCPY=1" ] ++ } ++ + if (is_clang) { + cflags = [ + # The inline functions in NASM's headers flag this. diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn new file mode 100644 index 000000000000..4c2a5a7a8e61 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn @@ -0,0 +1,16 @@ +--- src/webrtc/src/third_party/libevent/BUILD.gn.orig 2021-03-15 17:07:00 UTC ++++ src/webrtc/src/third_party/libevent/BUILD.gn +@@ -48,6 +48,13 @@ static_library("libevent") { + "mac/event-config.h", + ] + include_dirs += [ "mac" ] ++ } else if (is_bsd) { ++ sources += [ ++ "kqueue.c", ++ "freebsd/config.h", ++ "freebsd/event-config.h", ++ ] ++ include_dirs = [ "freebsd" ] + } else if (is_linux || is_chromeos) { + sources += [ + "epoll.c", diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h new file mode 100644 index 000000000000..30f2390890d4 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h @@ -0,0 +1,102 @@ +--- src/webrtc/src/third_party/nasm/config/config-linux.h 2021-03-15 17:51:55 UTC ++++ src/webrtc/src/third_party/nasm/config/config-linux.h +@@ -160,7 +160,7 @@ + + /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you + don't. */ +-#define HAVE_DECL_STRLCPY 0 ++#define HAVE_DECL_STRLCPY 1 + + /* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you + don't. */ +@@ -183,7 +183,7 @@ + #define HAVE_DECL_STRSEP 1 + + /* Define to 1 if you have the <endian.h> header file. */ +-#define HAVE_ENDIAN_H 1 ++/* #undef HAVE_ENDIAN_H */ + + /* Define to 1 if you have the `faccessat' function. */ + #define HAVE_FACCESSAT 1 +@@ -327,16 +327,16 @@ + #define HAVE_ISASCII 1 + + /* Define to 1 if you have the `iscntrl' function. */ +-/* #undef HAVE_ISCNTRL */ ++#define HAVE_ISCNTRL 1 + + /* Define to 1 if you have the <machine/endian.h> header file. */ +-/* #undef HAVE_MACHINE_ENDIAN_H */ ++#define HAVE_MACHINE_ENDIAN_H 1 + + /* Define to 1 if you have the <memory.h> header file. */ + #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 +@@ -357,7 +357,7 @@ + #define HAVE_STDARG_H 1 + + /* Define to 1 if stdbool.h conforms to C99. */ +-/* #undef HAVE_STDBOOL_H */ ++#define HAVE_STDBOOL_H 1 + + /* Define to 1 if your compiler supports C99 extern inline */ + #define HAVE_STDC_INLINE 1 +@@ -384,7 +384,7 @@ + #define HAVE_STRING_H 1 + + /* Define to 1 if you have the `strlcpy' function. */ +-/* #undef HAVE_STRLCPY */ ++#define HAVE_STRLCPY 1 + + /* Define to 1 if you have the `strncasecmp' function. */ + #define HAVE_STRNCASECMP 1 +@@ -411,7 +411,7 @@ + #define HAVE_SYSCONF 1 + + /* Define to 1 if you have the <sys/endian.h> header file. */ +-/* #undef HAVE_SYS_ENDIAN_H */ ++#define HAVE_SYS_ENDIAN_H 1 + + /* Define to 1 if you have the <sys/mman.h> header file. */ + #define HAVE_SYS_MMAN_H 1 +@@ -486,13 +486,13 @@ + /* #undef HAVE__STATI64 */ + + /* Define to 1 if you have the `__bswap_16' intrinsic function. */ +-#define HAVE___BSWAP_16 1 ++/* #undef HAVE___BSWAP_16 */ + + /* Define to 1 if you have the `__bswap_32' intrinsic function. */ +-#define HAVE___BSWAP_32 1 ++/* #undef HAVE___BSWAP_32 */ + + /* Define to 1 if you have the `__bswap_64' intrinsic function. */ +-#define HAVE___BSWAP_64 1 ++/* #undef HAVE___BSWAP_64 */ + + /* Define to 1 if you have the `__builtin_bswap16' intrinsic function. */ + #define HAVE___BUILTIN_BSWAP16 1 +@@ -620,7 +620,7 @@ + /* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +-#define restrict __restrict ++#define restrict __restrict__ + /* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the +@@ -637,7 +637,7 @@ + /* Define if your snprintf function is not named snprintf. */ + /* #undef snprintf */ + +-/* Define if your typeof operator is not named typeof. */ ++/* Define if your typeof operator is not named `typeof'. */ + #define typeof __typeof + + /* Define to the type of an unsigned integer type wide enough to hold a diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn new file mode 100644 index 000000000000..c218cd9ce6f3 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn @@ -0,0 +1,18 @@ +Use VAR_ARRAYS on FreeBSD (same as audio/opus) + +--- src/webrtc/src/third_party/opus/BUILD.gn 2021-03-15 17:51:55 UTC ++++ src/webrtc/src/third_party/opus/BUILD.gn +@@ -37,10 +37,11 @@ config("opus_private_config") { + "OPUS_EXPORT=", + "ENABLE_HARDENING", + ++ "VAR_ARRAYS", + # Prefer alloca() over variable length arrays which are often inefficient; + # the opus code will automatically handle this correctly per-platform. +- "USE_ALLOCA", +- "HAVE_ALLOCA_H", ++# "USE_ALLOCA", ++# "HAVE_ALLOCA_H", + ] + + include_dirs = [ diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c b/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c new file mode 100644 index 000000000000..a56242ca4220 --- /dev/null +++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c @@ -0,0 +1,29 @@ +- Implement runtime detection on FreeBSD + +--- 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) { + return flags; + } + +-#elif defined(__linux__) // end defined(VPX_USE_ANDROID_CPU_FEATURES) ++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(VPX_USE_ANDROID_CPU_FEATURES) + + #include <sys/auxv.h> ++ ++#if defined(__FreeBSD__) ++static unsigned long getauxval(unsigned long type) ++{ ++ /* Only AT_HWCAP* return unsigned long */ ++ if (type != AT_HWCAP && type != AT_HWCAP2) { ++ return 0; ++ } ++ ++ unsigned long ret = 0; ++ elf_aux_info(type, &ret, sizeof(ret)); ++ return ret; ++} ++#endif + + // Define hwcap values ourselves: building with an old auxv header where these + // hwcap values are not defined should not prevent features from being enabled. diff --git a/multimedia/ringrtc/pkg-descr b/multimedia/ringrtc/pkg-descr new file mode 100644 index 000000000000..b14d99297cff --- /dev/null +++ b/multimedia/ringrtc/pkg-descr @@ -0,0 +1,2 @@ +RingRTC is a middleware library providing Signal Messenger applications +with video and voice calling services built on top of WebRTC. diff --git a/multimedia/ringrtc/update.txt b/multimedia/ringrtc/update.txt new file mode 100644 index 000000000000..eed05b228665 --- /dev/null +++ b/multimedia/ringrtc/update.txt @@ -0,0 +1,5 @@ +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.39.3/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 new file mode 100644 index 000000000000..c8e59d32d1d4 --- /dev/null +++ b/multimedia/ringrtc/webrtc_fetch.sh @@ -0,0 +1,129 @@ +#!/bin/sh + +WEBRTC_REV=6261d +OPUS_BRANCH=6261 +# XXX also change fetch opus + +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/" +libjpeg_turbo_url="https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+archive/" +libsrtp_url="https://chromium.googlesource.com/chromium/deps/libsrtp.git/+archive/" +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/" +testing_url="https://chromium.googlesource.com/chromium/src/testing.git/+archive/" +third_party_url="https://chromium.googlesource.com/chromium/src/third_party.git/+archive/" + +fetch -q -o /tmp/DEPS https://raw.githubusercontent.com/signalapp/webrtc/${WEBRTC_REV}/DEPS + +base_hash=$(grep 'base@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "BASE_REV=\t${base_hash}\n" +printf "BASE_REV=\t${base_hash}\n" | portedit merge -i Makefile + +boringssl_hash=$(grep 'boringssl.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "BORINGSSL_REV=\t${boringssl_hash}\n" +printf "BORINGSSL_REV=\t${boringssl_hash}\n" | portedit merge -i Makefile + +build_hash=$(grep 'build@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "BUILD_REV=\t${build_hash}\n" +printf "BUILD_REV=\t${build_hash}\n" | portedit merge -i Makefile + +buildtools_hash=$(grep 'buildtools@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "BUILDTOOLS_REV=\t${buildtools_hash}\n" +printf "BUILDTOOLS_REV=\t${buildtools_hash}\n" | portedit merge -i Makefile + +catapult_hash=$(grep 'catapult.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "CATAPULT_REV=\t${catapult_hash}\n" +printf "CATAPULT_REV=\t${catapult_hash}\n" | portedit merge -i Makefile + +icu_hash=$(grep 'icu.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "ICU_REV=\t${icu_hash}\n" +printf "ICU_REV=\t${icu_hash}\n" | portedit merge -i Makefile + +libjpeg_turbo_hash=$(grep 'libjpeg_turbo.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "LIBJPEG_TURBO_REV=\t${libjpeg_turbo_hash}\n" +printf "LIBJPEG_TURBO_REV=\t${libjpeg_turbo_hash}\n" | portedit merge -i Makefile + +libsrtp_hash=$(grep 'libsrtp.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "LIBSRTP_REV=\t${libsrtp_hash}\n" +printf "LIBSRTP_REV=\t${libsrtp_hash}\n" | portedit merge -i Makefile + +libvpx_hash=$(grep 'libvpx.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "LIBVPX_REV=\t${libvpx_hash}\n" +printf "LIBVPX_REV=\t${libvpx_hash}\n" | portedit merge -i Makefile + +libyuv_hash=$(grep 'libyuv.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "LIBYUV_REV=\t${libyuv_hash}\n" +printf "LIBYUV_REV=\t${libyuv_hash}\n" | portedit merge -i Makefile + +nasm_hash=$(grep 'nasm.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "NASM_REV=\t${nasm_hash}\n" +printf "NASM_REV=\t${nasm_hash}\n" | portedit merge -i Makefile + +opus_hash=$(grep 'opus.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "OPUS_REV=\t${opus_hash}\n" +printf "OPUS_REV=\t${opus_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 + +third_party_hash=$(grep 'third_party@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##") +printf "THIRD_PARTY_REV=\t${third_party_hash}\n" +printf "THIRD_PARTY_REV=\t${third_party_hash}\n" | portedit merge -i Makefile + +mkdir dist_tmp +echo "fetch -o dist_tmp/base-${base_hash}.tar.gz ${base_url}${base_hash}.tar.gz" +echo "fetch -o dist_tmp/boringssl-${boringssl_hash}.tar.gz ${boringssl_url}${boringssl_hash}.tar.gz" +echo "fetch -o dist_tmp/build-${build_hash}.tar.gz ${build_url}${build_hash}.tar.gz" +echo "fetch -o dist_tmp/buildtools-${buildtools_hash}.tar.gz ${buildtools_url}${buildtools_hash}.tar.gz" +echo "fetch -o dist_tmp/catapult-${catapult_hash}.tar.gz ${catapult_url}${catapult_hash}.tar.gz" +echo "fetch -o dist_tmp/icu-${icu_hash}.tar.gz ${icu_url}${icu_hash}.tar.gz" +echo "fetch -o dist_tmp/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz ${libjpeg_turbo_url}${libjpeg_turbo_hash}.tar.gz" +echo "fetch -o dist_tmp/libsrtp-${libsrtp_hash}.tar.gz ${libsrtp_url}${libsrtp_hash}.tar.gz" +echo "fetch -o dist_tmp/libvpx-${libvpx_hash}.tar.gz ${libvpx_url}${libvpx_hash}.tar.gz" +echo "fetch -o dist_tmp/libyuv-${libyuv_hash}.tar.gz ${libyuv_url}${libyuv_hash}.tar.gz" +echo "fetch -o dist_tmp/nasm-${nasm_hash}.tar.gz ${nasm_url}${nasm_hash}.tar.gz" +echo "fetch -o dist_tmp/opus-${opus_hash}.tar.gz https://codeload.github.com/signalapp/opus/tar.gz/webrtc-${OPUS_BRANCH}?dummy=/" +echo "fetch -o dist_tmp/testing-${testing_hash}.tar.gz ${testing_url}${testing_hash}.tar.gz" +echo "fetch -o dist_tmp/third_party-${third_party_hash}.tar.gz ${third_party_url}${third_party_hash}.tar.gz" + +exit + +mkdir -p base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm opus testing third_party +tar xf dist_tmp/base-${base_hash}.tar.gz -C base +tar xf dist_tmp/boringssl-${boringssl_hash}.tar.gz -C boringssl +tar xf dist_tmp/build-${build_hash}.tar.gz -C build +tar xf dist_tmp/buildtools-${buildtools_hash}.tar.gz -C buildtools +tar xf dist_tmp/catapult-${catapult_hash}.tar.gz -C catapult +tar xf dist_tmp/icu-${icu_hash}.tar.gz -C icu +tar xf dist_tmp/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz -C libjpeg_turbo +tar xf dist_tmp/libsrtp-${libsrtp_hash}.tar.gz -C libsrtp +tar xf dist_tmp/libvpx-${libvpx_hash}.tar.gz -C libvpx +tar xf dist_tmp/libyuv-${libyuv_hash}.tar.gz -C libyuv +tar xf dist_tmp/nasm-${nasm_hash}.tar.gz -C nasm +tar xf dist_tmp/opus-${opus_hash}.tar.gz -C opus --strip-components 1 +tar xf dist_tmp/testing-${testing_hash}.tar.gz -C testing +tar xf dist_tmp/third_party-${third_party_hash}.tar.gz -C third_party + +mkdir dist_good +tar czf dist_good/base-${base_hash}.tar.gz base +tar czf dist_good/boringssl-${boringssl_hash}.tar.gz boringssl +tar czf dist_good/build-${build_hash}.tar.gz build +tar czf dist_good/buildtools-${buildtools_hash}.tar.gz buildtools +tar czf dist_good/catapult-${catapult_hash}.tar.gz catapult +tar czf dist_good/icu-${icu_hash}.tar.gz icu +tar czf dist_good/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz libjpeg_turbo +tar czf dist_good/libsrtp-${libsrtp_hash}.tar.gz libsrtp +tar czf dist_good/libvpx-${libvpx_hash}.tar.gz libvpx +tar czf dist_good/libyuv-${libyuv_hash}.tar.gz libyuv +tar czf dist_good/nasm-${nasm_hash}.tar.gz nasm +tar czf dist_good/opus-${opus_hash}.tar.gz opus +tar czf dist_good/testing-${testing_hash}.tar.gz testing +tar czf dist_good/third_party-${third_party_hash}.tar.gz third_party + +rm -rf base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm opus testing third_party |