mirror of
https://github.com/jamiepine/voicebox.git
synced 2026-09-16 05:10:42 -07:00
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]>
72 lines
2.5 KiB
TOML
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"]
|