mirror of
https://github.com/librespot-org/librespot.git
synced 2025-10-03 01:39:28 +02:00

Add separate features for native system roots and Mozilla webpki roots. Update documentation and build configs to reflect new options.
126 lines
3.3 KiB
TOML
126 lines
3.3 KiB
TOML
[package]
|
|
name = "librespot-core"
|
|
version.workspace = true
|
|
rust-version.workspace = true
|
|
authors = ["Paul Lietar <paul@lietar.net>"]
|
|
license.workspace = true
|
|
description = "The core functionality provided by librespot"
|
|
repository.workspace = true
|
|
edition.workspace = true
|
|
build = "build.rs"
|
|
|
|
[features]
|
|
# Refer to the workspace Cargo.toml for the list of features
|
|
default = ["native-tls"]
|
|
|
|
# TLS backends (mutually exclusive - see oauth/src/lib.rs for compile-time checks)
|
|
# Note: Validation is in oauth since it's compiled first in the dependency tree.
|
|
native-tls = [
|
|
"dep:hyper-tls",
|
|
"hyper-proxy2/tls",
|
|
"librespot-oauth/native-tls",
|
|
"tokio-tungstenite/native-tls",
|
|
]
|
|
rustls-tls-native-roots = [
|
|
"__rustls",
|
|
"hyper-proxy2/rustls",
|
|
"hyper-rustls/native-tokio",
|
|
"librespot-oauth/rustls-tls-native-roots",
|
|
"tokio-tungstenite/rustls-tls-native-roots",
|
|
]
|
|
rustls-tls-webpki-roots = [
|
|
"__rustls",
|
|
"hyper-proxy2/rustls-webpki",
|
|
"hyper-rustls/webpki-tokio",
|
|
"librespot-oauth/rustls-tls-webpki-roots",
|
|
"tokio-tungstenite/rustls-tls-webpki-roots",
|
|
]
|
|
|
|
# Internal features - these are not meant to be used by end users
|
|
__rustls = []
|
|
|
|
[dependencies]
|
|
librespot-oauth.workspace = true
|
|
librespot-protocol.workspace = true
|
|
|
|
aes = "0.8"
|
|
base64 = "0.22"
|
|
byteorder = "1.5"
|
|
bytes = "1"
|
|
data-encoding = "2.9"
|
|
flate2 = "1.1"
|
|
form_urlencoded = "1.2"
|
|
futures-core = "0.3"
|
|
futures-util = { version = "0.3", features = [
|
|
"alloc",
|
|
"bilock",
|
|
"sink",
|
|
"unstable",
|
|
] }
|
|
governor = { version = "0.10", default-features = false, features = [
|
|
"std",
|
|
"jitter",
|
|
] }
|
|
hmac = "0.12"
|
|
httparse = "1.10"
|
|
http = "1.3"
|
|
http-body-util = "0.1"
|
|
hyper = { version = "1.6", features = ["http1", "http2"] }
|
|
hyper-proxy2 = { version = "0.1", default-features = false }
|
|
hyper-rustls = { version = "0.27", default-features = false, features = [
|
|
"http1",
|
|
"http2",
|
|
"ring",
|
|
], optional = true }
|
|
hyper-tls = { version = "0.6", optional = true }
|
|
hyper-util = { version = "0.1", default-features = false, features = [
|
|
"client",
|
|
"http1",
|
|
"http2",
|
|
] }
|
|
log = "0.4"
|
|
nonzero_ext = "0.3"
|
|
num-bigint = "0.4"
|
|
num-derive = "0.4"
|
|
num-integer = "0.1"
|
|
num-traits = "0.2"
|
|
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.5"
|
|
protobuf = "3.7"
|
|
protobuf-json-mapping = "3.7"
|
|
quick-xml = { version = "0.38", features = ["serialize"] }
|
|
rand = "0.9"
|
|
rsa = "0.9"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha1 = { version = "0.10", features = ["oid"] }
|
|
shannon = "0.2"
|
|
sysinfo = { version = "0.36", default-features = false, features = ["system"] }
|
|
thiserror = "2"
|
|
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-tungstenite = { version = "0.27", default-features = false }
|
|
tokio-util = { version = "0.7", features = ["codec"] }
|
|
url = "2"
|
|
uuid = { version = "1", default-features = false, features = ["v4"] }
|
|
|
|
[build-dependencies]
|
|
rand = "0.9"
|
|
rand_distr = "0.5"
|
|
vergen-gitcl = { version = "1.0", default-features = false, features = [
|
|
"build",
|
|
] }
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["macros", "parking_lot"] }
|