Files
riptune/Cargo.toml
T

64 lines
2.1 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/riptune-core",
"crates/riptune-cache",
"crates/riptune-mpris",
"crates/riptune-niri",
"crates/riptune-tui",
"crates/riptune-types",
]
[workspace.package]
version = "0.1.0"
edition = "2021"
license = "GPL-3.0"
repository = "https://github.com/Quinta0/riptune"
authors = ["Quintavalle Pietro"]
[workspace.dependencies]
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
anyhow = "1"
thiserror = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
[package]
name = "riptune"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "A niri-native TUI music client for Subsonic servers. Rip and tune."
[[bin]]
name = "riptune"
path = "src/main.rs"
[dependencies]
riptune-core = { path = "crates/riptune-core" }
riptune-cache = { path = "crates/riptune-cache" }
riptune-mpris = { path = "crates/riptune-mpris" }
riptune-niri = { path = "crates/riptune-niri" }
riptune-tui = { path = "crates/riptune-tui" }
riptune-types = { path = "crates/riptune-types" }
tokio = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
serde = { workspace = true }
toml = "0.8"
clap = { version = "4", features = ["derive"] }
# Pinned exactly: rodio 0.21 reworked the OutputStream/Sink API around a new
# Mixer type (Sink::try_new -> Sink::connect_new, etc). Pinning avoids that
# rewrite landing under us; bump deliberately and update audio.rs to match.
rodio = { version = "=0.20.1", features = ["symphonia-all"] }
# "blocking" is additive on top of the workspace-defined reqwest (which has
# default-features = false + rustls-tls). Used only by the audio thread's
# synchronous fetch -- see the comment in src/audio.rs for why blocking is
# actually the right call there, not a shortcut.
reqwest = { workspace = true, features = ["blocking"] }