open-standards/jouledesk/jouledesk-rs/vendor/libwebrtc/Cargo.toml
Transaction Science c8db7f4efa jouledesk-livekit: prove the room binding live — real LiveKit run
Drives all four seams over a real WebRTC room against a live livekit-server:
join under a minted token, gate each turn OUTSIDE the model (served vs refused
for unheld-capability / over-ceiling), meter the model calls, seal one
efficiency/1 that verifies under the steward key. examples/live_room.rs is the
runnable proof (data-plane turns → gate/meter/seal, receipt verified).

Clears two upstream blockers so `--features livekit` builds + runs on macOS:
- vendor/libwebrtc: libwebrtc 0.3.38 omits user_data that webrtc-sys 0.3.36
  requires (broken upstream release pair); patched additively + [patch.crates-io].
- build.rs: emit -ObjC so libwebrtc's ObjC categories force-load, else
  PeerConnectionFactory init crashes on an unrecognized selector.

Default build + tests are unaffected (the feature stays off by default).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-06 04:13:40 -04:00

110 lines
2.6 KiB
TOML

# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.
[package]
edition = "2021"
name = "libwebrtc"
version = "0.3.38"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Livekit safe bindings to libwebrtc"
homepage = "https://livekit.io"
readme = false
license = "Apache-2.0"
repository = "https://github.com/livekit/rust-sdks"
[features]
default = []
glib-main-loop = ["dep:glib"]
[lib]
name = "libwebrtc"
path = "src/lib.rs"
[dependencies.log]
version = "0.4"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2"
[dev-dependencies.env_logger]
version = "0.11"
[target.'cfg(any(target_os = "linux", target_os = "freebsd"))'.dependencies.glib]
version = "0.21.3"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.cxx]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.lazy_static]
version = "1.4"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.livekit-runtime]
version = "0.4.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.parking_lot]
version = "0.12"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rtrb]
version = "0.3.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1"
features = [
"sync",
"macros",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.webrtc-sys]
version = "0.3.35"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
"MessageEvent",
"RtcPeerConnection",
"RtcSignalingState",
"RtcSdpType",
"RtcSessionDescriptionInit",
"RtcPeerConnectionIceEvent",
"RtcIceCandidate",
"RtcDataChannel",
"RtcDataChannelEvent",
"RtcDataChannelState",
"EventTarget",
"WebGlRenderingContext",
"WebGlTexture",
]
[target.'cfg(target_os = "android")'.dependencies.jni]
version = "0.21"