Author: Danny Milosavljevic Subject: Use mock livekit client on Linux to avoid libwebrtc dependency. Date: 2026-03-01 License: GPL3+ libwebrtc is not packaged in Guix and is difficult to build from source. Zed already has a mock_client fallback for FreeBSD and Windows-GNU which lack libwebrtc. Add target_os = "linux" to those cfg conditions so Linux also uses mock_client, and exclude the libwebrtc/livekit dependencies from Cargo.toml on Linux. This disables voice/video calls but allows the rest of Zed to build. --- a/crates/livekit_client/Cargo.toml 2026-03-01 21:21:38.647599342 +0000 +++ b/crates/livekit_client/Cargo.toml 2026-03-01 21:22:19.846482866 +0000 @@ -44,7 +44,7 @@ ui.workspace = true util.workspace = true -[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd")))'.dependencies] +[target.'cfg(not(any(all(target_os = "windows", target_env = "gnu"), target_os = "freebsd", target_os = "linux")))'.dependencies] libwebrtc = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks" } livekit = { rev = "5f04705ac3f356350ae31534ffbc476abc9ea83d", git = "https://github.com/zed-industries/livekit-rust-sdks", features = ["__rustls-tls"] } --- a/crates/livekit_client/src/lib.rs 2026-03-01 21:21:44.752291052 +0000 +++ b/crates/livekit_client/src/lib.rs 2026-03-01 21:22:37.234363786 +0000 @@ -15,7 +15,8 @@ test, feature = "test-support", all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" + target_os = "freebsd", + target_os = "linux" )) ))] mod livekit_client; @@ -25,7 +26,8 @@ test, feature = "test-support", all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" + target_os = "freebsd", + target_os = "linux" )) ))] pub use livekit_client::*; @@ -36,7 +38,8 @@ test, feature = "test-support", all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" + target_os = "freebsd", + target_os = "linux" ) ))] mod mock_client; @@ -46,7 +49,8 @@ test, feature = "test-support", all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" + target_os = "freebsd", + target_os = "linux" ) ))] pub mod test; @@ -56,7 +60,8 @@ test, feature = "test-support", all(target_os = "windows", target_env = "gnu"), - target_os = "freebsd" + target_os = "freebsd", + target_os = "linux" ) ))] pub use mock_client::*;