d562e53b83
- Extracted audio capture and playback implementations, along with the WebRTC peer engine, from `pi-natives` into a new `pi-voice` library crate. - Updated `pi-natives` bindings to consume the extracted `pi_voice` audio streams and live peer core. - Added release validation gate jobs, parallelized Linux binary builds, and introduced a concurrent macOS release build job in the CI workflow. - Updated Bazel workspace configurations, Cargo manifests, and documentation to include the new `pi-voice` crate and its dependencies.
30 lines
971 B
Python
30 lines
971 B
Python
load("@crates//:defs.bzl", "aliases", "all_crate_deps")
|
|
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test")
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
exports_files(["Cargo.toml"])
|
|
|
|
# napi-free voice engine (miniaudio capture/playback + WebRTC/Opus live peer).
|
|
# Keeping the webrtc/opus/maudio graph behind this rlib means the pi_natives
|
|
# leaf — which recompiles on every release (version-sentinel edit in lib.rs) —
|
|
# no longer pays for the voice stack's monomorphization.
|
|
rust_library(
|
|
name = "pi-voice",
|
|
srcs = glob(["src/**/*.rs"]),
|
|
aliases = aliases(),
|
|
crate_name = "pi_voice",
|
|
edition = "2024",
|
|
proc_macro_deps = all_crate_deps(proc_macro = True),
|
|
version = "17.1.5",
|
|
deps = all_crate_deps(normal = True),
|
|
)
|
|
|
|
rust_test(
|
|
name = "pi-voice_test",
|
|
crate = ":pi-voice",
|
|
edition = "2024",
|
|
proc_macro_deps = all_crate_deps(proc_macro_dev = True),
|
|
deps = all_crate_deps(normal_dev = True),
|
|
)
|