librespot/Cargo.toml

107 lines
2.9 KiB
TOML
Raw Permalink Normal View History

2015-04-25 20:32:07 +00:00
[package]
name = "librespot"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
Discovery: Refactor and add Avahi DBus backend (#1347) * discovery: use opaque error type for DnsSdError This helps to decouple discovery and core by not leaking implementation details of the zeroconf backend into Error conversion impls in core. * discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError previously, libmdns errors would use a generic conversion from std::io::Error to core::Error * discovery: use an opaque type for the handle to the DNS-SD service * discovery: make features additive i.e. add with-libmdns instead of using not(with-dns-sd). The logic is such that enabling with-dns-sd in addition to the default with-libmdns will still end up using dns-sd, as before. If only with-libmdns is enabled, that will be the default. If none of the features is enabled, attempting to build a `Discovery` will yield an error. * discovery: add --zeroconf-backend CLI flag * discovery: Add minimal Avahi zeroconf backend * bump MSRV to 1.75 required by zbus >= 4 * discovery: ensure that server and dns-sd backend shutdown gracefully Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed the corresponding tasks would continue to be polled until they actually completed their shutdown. Since dns_sd::Service is not Send and non-async, and because libmdns is non-async, put them on their own threads. * discovery: use a shared channel for server and zeroconf status messages * discovery: add Avahi reconnection logic This deals gracefully with the case where the Avahi daemon is restarted or not running initially. * discovery: allow running when compiled without zeroconf backend... ...but exit with an error if there's no way to authenticate * better error messages for invalid options with no short flag
2024-10-26 14:45:02 +00:00
rust-version = "1.75"
authors = ["Librespot Org"]
license = "MIT"
2019-11-06 16:25:10 +00:00
description = "An open source client library for Spotify, with support for Spotify Connect"
keywords = ["spotify"]
repository = "https://github.com/librespot-org/librespot"
readme = "README.md"
2022-08-02 19:42:38 +00:00
edition = "2021"
2015-04-25 20:32:07 +00:00
2017-08-03 18:58:44 +00:00
[workspace]
[lib]
name = "librespot"
path = "src/lib.rs"
2021-02-21 10:08:34 +00:00
[[bin]]
name = "librespot"
path = "src/main.rs"
doc = false
2017-08-03 19:37:04 +00:00
[dependencies.librespot-audio]
path = "audio"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-01-22 23:02:49 +00:00
2021-02-19 23:17:18 +00:00
[dependencies.librespot-connect]
path = "connect"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-01-22 23:02:49 +00:00
2017-08-03 18:58:44 +00:00
[dependencies.librespot-core]
path = "core"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-01-22 23:02:49 +00:00
2021-02-28 23:10:13 +00:00
[dependencies.librespot-discovery]
path = "discovery"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
Discovery: Refactor and add Avahi DBus backend (#1347) * discovery: use opaque error type for DnsSdError This helps to decouple discovery and core by not leaking implementation details of the zeroconf backend into Error conversion impls in core. * discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError previously, libmdns errors would use a generic conversion from std::io::Error to core::Error * discovery: use an opaque type for the handle to the DNS-SD service * discovery: make features additive i.e. add with-libmdns instead of using not(with-dns-sd). The logic is such that enabling with-dns-sd in addition to the default with-libmdns will still end up using dns-sd, as before. If only with-libmdns is enabled, that will be the default. If none of the features is enabled, attempting to build a `Discovery` will yield an error. * discovery: add --zeroconf-backend CLI flag * discovery: Add minimal Avahi zeroconf backend * bump MSRV to 1.75 required by zbus >= 4 * discovery: ensure that server and dns-sd backend shutdown gracefully Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed the corresponding tasks would continue to be polled until they actually completed their shutdown. Since dns_sd::Service is not Send and non-async, and because libmdns is non-async, put them on their own threads. * discovery: use a shared channel for server and zeroconf status messages * discovery: add Avahi reconnection logic This deals gracefully with the case where the Avahi daemon is restarted or not running initially. * discovery: allow running when compiled without zeroconf backend... ...but exit with an error if there's no way to authenticate * better error messages for invalid options with no short flag
2024-10-26 14:45:02 +00:00
default-features = false
2021-02-28 23:10:13 +00:00
2017-08-03 19:10:48 +00:00
[dependencies.librespot-metadata]
path = "metadata"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-01-22 23:02:49 +00:00
[dependencies.librespot-playback]
path = "playback"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-01-22 23:02:49 +00:00
2017-08-03 19:10:48 +00:00
[dependencies.librespot-protocol]
path = "protocol"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2017-08-03 18:58:44 +00:00
[dependencies.librespot-oauth]
path = "oauth"
2024-10-30 20:11:33 +00:00
version = "0.6.0"
2021-02-21 10:08:34 +00:00
[dependencies]
data-encoding = "2.5"
env_logger = { version = "0.11.2", default-features = false, features = ["color", "humantime", "auto-color"] }
2024-08-24 16:31:34 +00:00
futures-util = { version = "0.3", default-features = false }
getopts = "0.2"
2021-02-21 10:08:34 +00:00
log = "0.4"
sha1 = "0.10"
sysinfo = { version = "0.31.3", default-features = false, features = ["system"] }
thiserror = "1.0"
Discovery: Refactor and add Avahi DBus backend (#1347) * discovery: use opaque error type for DnsSdError This helps to decouple discovery and core by not leaking implementation details of the zeroconf backend into Error conversion impls in core. * discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError previously, libmdns errors would use a generic conversion from std::io::Error to core::Error * discovery: use an opaque type for the handle to the DNS-SD service * discovery: make features additive i.e. add with-libmdns instead of using not(with-dns-sd). The logic is such that enabling with-dns-sd in addition to the default with-libmdns will still end up using dns-sd, as before. If only with-libmdns is enabled, that will be the default. If none of the features is enabled, attempting to build a `Discovery` will yield an error. * discovery: add --zeroconf-backend CLI flag * discovery: Add minimal Avahi zeroconf backend * bump MSRV to 1.75 required by zbus >= 4 * discovery: ensure that server and dns-sd backend shutdown gracefully Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed the corresponding tasks would continue to be polled until they actually completed their shutdown. Since dns_sd::Service is not Send and non-async, and because libmdns is non-async, put them on their own threads. * discovery: use a shared channel for server and zeroconf status messages * discovery: add Avahi reconnection logic This deals gracefully with the case where the Avahi daemon is restarted or not running initially. * discovery: allow running when compiled without zeroconf backend... ...but exit with an error if there's no way to authenticate * better error messages for invalid options with no short flag
2024-10-26 14:45:02 +00:00
tokio = { version = "1.40", features = ["rt", "macros", "signal", "sync", "parking_lot", "process"] }
2021-05-09 07:53:20 +00:00
url = "2.2"
2021-02-21 10:08:34 +00:00
2016-01-02 01:12:07 +00:00
[features]
2018-02-09 01:14:11 +00:00
alsa-backend = ["librespot-playback/alsa-backend"]
portaudio-backend = ["librespot-playback/portaudio-backend"]
pulseaudio-backend = ["librespot-playback/pulseaudio-backend"]
jackaudio-backend = ["librespot-playback/jackaudio-backend"]
2019-03-20 13:24:03 +00:00
rodio-backend = ["librespot-playback/rodio-backend"]
rodiojack-backend = ["librespot-playback/rodiojack-backend"]
2018-12-28 02:46:27 +00:00
sdl-backend = ["librespot-playback/sdl-backend"]
gstreamer-backend = ["librespot-playback/gstreamer-backend"]
Discovery: Refactor and add Avahi DBus backend (#1347) * discovery: use opaque error type for DnsSdError This helps to decouple discovery and core by not leaking implementation details of the zeroconf backend into Error conversion impls in core. * discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError previously, libmdns errors would use a generic conversion from std::io::Error to core::Error * discovery: use an opaque type for the handle to the DNS-SD service * discovery: make features additive i.e. add with-libmdns instead of using not(with-dns-sd). The logic is such that enabling with-dns-sd in addition to the default with-libmdns will still end up using dns-sd, as before. If only with-libmdns is enabled, that will be the default. If none of the features is enabled, attempting to build a `Discovery` will yield an error. * discovery: add --zeroconf-backend CLI flag * discovery: Add minimal Avahi zeroconf backend * bump MSRV to 1.75 required by zbus >= 4 * discovery: ensure that server and dns-sd backend shutdown gracefully Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed the corresponding tasks would continue to be polled until they actually completed their shutdown. Since dns_sd::Service is not Send and non-async, and because libmdns is non-async, put them on their own threads. * discovery: use a shared channel for server and zeroconf status messages * discovery: add Avahi reconnection logic This deals gracefully with the case where the Avahi daemon is restarted or not running initially. * discovery: allow running when compiled without zeroconf backend... ...but exit with an error if there's no way to authenticate * better error messages for invalid options with no short flag
2024-10-26 14:45:02 +00:00
with-avahi = ["librespot-discovery/with-avahi"]
with-dns-sd = ["librespot-discovery/with-dns-sd"]
with-libmdns = ["librespot-discovery/with-libmdns"]
2018-01-31 11:00:53 +00:00
2022-01-25 19:46:10 +00:00
passthrough-decoder = ["librespot-playback/passthrough-decoder"]
2018-01-31 11:00:53 +00:00
Discovery: Refactor and add Avahi DBus backend (#1347) * discovery: use opaque error type for DnsSdError This helps to decouple discovery and core by not leaking implementation details of the zeroconf backend into Error conversion impls in core. * discovery: map all MDNS/DNS-SD errors to DiscoveryError::DnsSdError previously, libmdns errors would use a generic conversion from std::io::Error to core::Error * discovery: use an opaque type for the handle to the DNS-SD service * discovery: make features additive i.e. add with-libmdns instead of using not(with-dns-sd). The logic is such that enabling with-dns-sd in addition to the default with-libmdns will still end up using dns-sd, as before. If only with-libmdns is enabled, that will be the default. If none of the features is enabled, attempting to build a `Discovery` will yield an error. * discovery: add --zeroconf-backend CLI flag * discovery: Add minimal Avahi zeroconf backend * bump MSRV to 1.75 required by zbus >= 4 * discovery: ensure that server and dns-sd backend shutdown gracefully Previously, on drop the the shutdown_tx/close_tx, it wasn't guaranteed the corresponding tasks would continue to be polled until they actually completed their shutdown. Since dns_sd::Service is not Send and non-async, and because libmdns is non-async, put them on their own threads. * discovery: use a shared channel for server and zeroconf status messages * discovery: add Avahi reconnection logic This deals gracefully with the case where the Avahi daemon is restarted or not running initially. * discovery: allow running when compiled without zeroconf backend... ...but exit with an error if there's no way to authenticate * better error messages for invalid options with no short flag
2024-10-26 14:45:02 +00:00
default = ["rodio-backend", "with-libmdns"]
[package.metadata.deb]
2018-01-31 11:00:53 +00:00
maintainer = "librespot-org"
copyright = "2018 Paul Liétar"
license-file = ["LICENSE", "4"]
depends = "$auto"
extended-description = """\
librespot is an open source client library for Spotify. It enables applications \
to use Spotify's service, without using the official but closed-source \
libspotify. Additionally, it will provide extra features which are not \
available in the official library."""
section = "sound"
priority = "optional"
assets = [
["target/release/librespot", "usr/bin/", "755"],
["contrib/librespot.service", "lib/systemd/system/", "644"],
["contrib/librespot.user.service", "lib/systemd/user/", "644"]
]
[workspace.package]
rust-version = "1.74"