[package] authors = ["Henrik Friedrichsen "] description = "ncurses Spotify client written in Rust using librespot, inspired by ncmpc and the likes." edition = "2021" exclude = ["images/**"] keywords = ["spotify", "ncurses", "librespot", "terminal"] license = "BSD-2-Clause" name = "ncspot" readme = "README.md" repository = "https://github.com/hrkfdn/ncspot" version = "0.12.0" [badges] maintenance = {status = "actively-developed"} [workspace] members = [ ".", "xtask" ] [dependencies] chrono = "0.4" clap = "4.1.7" clipboard = {version = "0.5", optional = true} crossbeam-channel = "0.5" dbus = {version = "0.9.6", optional = true} dbus-tree = {version = "0.9.2", optional = true} fern = "0.6" futures = "0.3" ioctl-rs = {version = "0.2", optional = true} lazy_static = "1.3.0" libc = "0.2.131" librespot-core = "0.4.2" librespot-playback = "0.4.2" librespot-protocol = "0.4.2" log = "0.4.16" pancurses = {version = "0.17.0", optional = true} parse_duration = "2.1.1" platform-dirs = "0.3.0" rand = "0.8" regex = "1" reqwest = {version = "0.11", features = ["blocking", "json"]} serde = "1.0" serde_cbor = "0.11.2" serde_json = "1.0" strum = "0.24.1" strum_macros = "0.24.3" tokio = {version = "1", features = ["rt-multi-thread", "sync", "time", "net"]} tokio-util = {version = "0.7.4", features = ["codec"]} tokio-stream = {version = "0.1.11", features = ["sync"]} toml = "0.7" unicode-width = "0.1.9" url = "2.2" cursive_buffered_backend = "0.6.1" [target.'cfg(target_os = "linux")'.dependencies] wl-clipboard-rs = {version = "0.7", optional = true} [target.'cfg(unix)'.dependencies] signal-hook = "0.3.0" [dependencies.rspotify] default-features = false features = ["client-ureq", "ureq-rustls-tls"] version = "0.11.5" [dependencies.cursive] default-features = false version = "0.20.0" [dependencies.notify-rust] default-features = false version = "4" # Use dbus, which we already depend on, instead of zbus. features = ["d"] optional = true [features] alsa_backend = ["librespot-playback/alsa-backend"] cover = ["ioctl-rs"] # Support displaying the album cover default = ["share_clipboard", "pulseaudio_backend", "mpris", "notify", "termion_backend"] mpris = ["dbus", "dbus-tree"] # Allow ncspot to be controlled via MPRIS API notify = ["notify-rust"] # Show what's playing via a notification pancurses_backend = ["cursive/pancurses-backend", "pancurses/win32"] portaudio_backend = ["librespot-playback/portaudio-backend"] pulseaudio_backend = ["librespot-playback/pulseaudio-backend"] rodio_backend = ["librespot-playback/rodio-backend"] share_clipboard = ["clipboard", "wl-clipboard-rs"] # Share a link to the system clipboard share_selection = ["clipboard", "wl-clipboard-rs"] # Use the primary selection for sharing - linux and bsd only termion_backend = ["cursive/termion-backend"] [package.metadata.deb] assets = [ ["target/release/ncspot", "usr/bin/", "755"], ["misc/ncspot.desktop", "usr/share/applications/", "644"], ["images/logo.svg", "usr/share/icons/hicolor/scalable/apps/ncspot.svg", "644"], ["README.md", "usr/share/doc/ncspot/README.md", "644"], ] depends = "$auto" extended-description = """\ ncurses Spotify client written in Rust using librespot. \ It is heavily inspired by ncurses MPD clients, such as ncmpc.""" license-file = ["LICENSE"] priority = "optional" section = "sound"