Files
oh-my-pi/crates/pi-voice/BUILD.bazel
T
can1357 d562e53b83 refactor: extracted audio and voice engine into a standalone library crate
- 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.
2026-07-30 05:12:40 +02:00

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