[package] name = "librespot-core" version = "0.6.0-dev" rust-version.workspace = true authors = ["Paul Lietar "] build = "build.rs" description = "The core functionality provided by librespot" license = "MIT" repository = "https://github.com/librespot-org/librespot" edition = "2021" [dependencies.librespot-oauth] path = "../oauth" version = "0.6.0-dev" [dependencies.librespot-protocol] path = "../protocol" version = "0.6.0-dev" [dependencies] aes = "0.8" base64 = "0.22" byteorder = "1.4" bytes = "1" form_urlencoded = "1.0" futures-core = "0.3" futures-util = { version = "0.3", features = ["alloc", "bilock", "sink", "unstable"] } governor = { version = "0.6", default-features = false, features = ["std", "jitter"] } hmac = "0.12" httparse = "1.7" http = "1.0" hyper = { version = "1.3", features = ["http1", "http2"] } hyper-util = { version = "0.1", features = ["client"] } http-body-util = "0.1.1" log = "0.4" nonzero_ext = "0.3" num-bigint = { version = "0.4", features = ["rand"] } num-derive = "0.4" num-integer = "0.1" num-traits = "0.2" once_cell = "1" parking_lot = { version = "0.12", features = ["deadlock_detection"] } pbkdf2 = { version = "0.12", default-features = false, features = ["hmac"] } pin-project-lite = "0.2" priority-queue = "2.0" protobuf = "3.5" quick-xml = { version = "0.36.1", features = ["serialize"] } rand = "0.8" rsa = "0.9.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" sha1 = { version = "0.10", features = ["oid"] } shannon = "0.2" sysinfo = { version = "0.31.3", default-features = false, features = ["system"] } thiserror = "1.0" time = { version = "0.3", features = ["formatting", "parsing"] } tokio = { version = "1", features = ["io-util", "macros", "net", "parking_lot", "rt", "sync", "time"] } tokio-stream = "0.1" tokio-util = { version = "0.7", features = ["codec"] } url = "2" uuid = { version = "1", default-features = false, features = ["fast-rng", "v4"] } data-encoding = "2.5" # Eventually, this should use rustls-platform-verifier to unify the platform-specific dependencies # but currently, hyper-proxy2 and tokio-tungstenite do not support it. [target.'cfg(any(target_os = "windows", target_os = "macos", target_os = "linux"))'.dependencies] hyper-proxy2 = { version = "0.1", default-features = false, features = ["rustls"] } hyper-rustls = { version = "0.27.2", default-features = false, features = ["aws-lc-rs", "http1", "logging", "tls12", "native-tokio", "http2"] } tokio-tungstenite = { version = "0.24", default-features = false, features = ["rustls-tls-native-roots"] } [target.'cfg(not(any(target_os = "windows", target_os = "macos", target_os = "linux")))'.dependencies] hyper-proxy2 = { version = "0.1", default-features = false, features = ["rustls-webpki"] } hyper-rustls = { version = "0.27.2", default-features = false, features = ["aws-lc-rs", "http1", "logging", "tls12", "webpki-tokio", "http2"] } tokio-tungstenite = { version = "0.24", default-features = false, features = ["rustls-tls-webpki-roots"] } [build-dependencies] rand = "0.8" vergen-gitcl = { version = "1.0.0", default-features = false, features = ["build"] } [dev-dependencies] tokio = { version = "1", features = ["macros", "parking_lot"] }