Files
voicebox/tauri/src-tauri/Cargo.toml
T
James PineandClaude Opus 4.7 27798dd46f chore(deps): pin rdev to jamiepine/rdev fork
Upstream Narsil/rdev has shipped no release since 2023-06 (crates.io
still serves 0.5.3), so the Sonoma main-thread fix we depend on — PR
#147, applied at hotkey_monitor.rs:184 — is only reachable via a git
pin. A pin to a third-party repo breaks the build whenever the remote
force-pushes, renames, or is taken down, and Cargo does not durably
cache git-dep archives the way it does crates.io tarballs.

Forking to jamiepine/rdev at the same SHA removes that failure mode
without changing crate behavior and gives us a place to cherry-pick
future OS-compatibility fixes on our own timeline. The SHA was verified
to exist on the fork before re-pinning.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
2026-04-23 19:18:41 -07:00

72 lines
2.5 KiB
TOML

[package]
name = "voicebox"
version = "0.5.0"
description = "A production-quality desktop app for Qwen3-TTS voice cloning and generation"
authors = ["you"]
license = ""
repository = ""
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[build-dependencies]
tauri-build = { version = "2.0", features = [] }
[dependencies]
tauri = { version = "2.0", features = ["macos-private-api"] }
tauri-plugin-dialog = "2.0"
tauri-plugin-fs = "2.0"
tauri-plugin-shell = "2.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
reqwest = { version = "0.12", features = ["blocking", "json", "stream"] }
hound = "3.5"
base64 = "0.22"
cpal = "0.15"
symphonia = { version = "0.5", features = ["all"] }
scopeguard = "1.2.0"
[target.'cfg(target_os = "macos")'.dependencies]
screencapturekit = { version = "1", features = ["async"] }
coreaudio-sys = "0.2"
objc = "0.2"
core-foundation-sys = "0.8"
[target.'cfg(target_os = "windows")'.dependencies]
wasapi = "0.22"
windows = { version = "0.62", features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_Accessibility",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_System_Com",
"Win32_System_DataExchange",
"Win32_System_Memory",
"Win32_System_Threading",
] }
[target.'cfg(target_os = "linux")'.dependencies]
webkit2gtk = "2.0"
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
tauri-plugin-updater = "2.0"
tauri-plugin-process = "2.0"
# Pinned to our fork of upstream main past PR #147 — the released 0.5.3
# crate crashes on macOS 14+ when listen() runs on a background thread
# because rdev's convert() calls TSMGetInputSourceProperty off the main
# queue. The main branch adds `set_is_main_thread(false)` to skip that
# path (used at hotkey_monitor.rs:184).
#
# We pin to jamiepine/rdev instead of Narsil/rdev for supply-chain
# durability: upstream has shipped no release since 2023-06 (crates.io
# still lists 0.5.3), so an eventual 0.5.4 carrying this fix is unlikely,
# and a git pin to a third-party repo breaks if the remote force-pushes,
# renames, or disappears. The fork mirrors the pinned SHA and gives us a
# place to cherry-pick future OS-compatibility fixes on our own timeline.
rdev = { git = "https://github.com/jamiepine/rdev", rev = "c14f2dc5c8100a96c5d7e3013de59d6aa0b9eae2" }
[features]
# This feature is used for production builds or when `devPath` points to the filesystem
custom-protocol = ["tauri/custom-protocol"]