Files
songbird/Cargo.toml
Kyle Simpson aaab97511d Library: Add compatibility for legacy Tokio 0.2 (#40)
Adds support to the library for tokio 0.2 backward-compatibility. This should hopefully benefit, and prevent lavalink-rs from being blocked on this feature.

These can be reached using, e.g., `gateway-tokio-02`, `driver-tokio-02`, `serenity-rustls-tokio-02`, and `serenity-native-tokio-02` features.

Naturally, this requires some jiggering about with features and the underlying CI, which has been taken care of. Twilight can't be handled in this way, as their last tokio 0.2 version uses the deprecated Discord Gateway v6.
2021-02-04 02:34:07 +00:00

235 lines
5.0 KiB
TOML

[package]
authors = ["Kyle Simpson <kyleandrew.simpson@gmail.com>"]
description = "An async Rust library for the Discord voice API."
documentation = "https://docs.rs/songbird"
edition = "2018"
homepage = "https://github.com/serenity-rs/songbird"
include = ["src/**/*.rs", "Cargo.toml", "build.rs"]
keywords = ["discord", "api", "rtp", "audio"]
license = "ISC"
name = "songbird"
readme = "README.md"
repository = "https://github.com/serenity-rs/songbird.git"
version = "0.1.2"
[dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tracing = "0.1"
tracing-futures = "0.2"
[dependencies.async-trait]
optional = true
version = "0.1"
[dependencies.async-tungstenite]
default-features = false
features = ["tokio-runtime"]
optional = true
version = "0.11"
[dependencies.async-tungstenite-compat]
package = "async-tungstenite"
default-features = false
features = ["tokio-runtime"]
optional = true
version = "0.9"
[dependencies.audiopus]
optional = true
version = "0.2"
[dependencies.byteorder]
optional = true
version = "1"
[dependencies.dashmap]
optional = true
version = "4"
[dependencies.discortp]
features = ["discord-full"]
optional = true
version = "0.2"
[dependencies.flume]
optional = true
version = "0.10"
[dependencies.futures]
version = "0.3"
[dependencies.parking_lot]
optional = true
version = "0.11"
[dependencies.rand]
optional = true
version = "0.8"
[dependencies.serenity]
optional = true
version = "^0.10.2"
default-features = false
features = ["voice", "gateway"]
[dependencies.serenity-voice-model]
optional = true
version = "0.1"
[dependencies.spin_sleep]
optional = true
version = "1"
[dependencies.streamcatcher]
optional = true
version = "0.1"
[dependencies.tokio]
optional = true
version = "1.0"
default-features = false
[dependencies.tokio-compat]
optional = true
package = "tokio"
version = "0.2"
default-features = false
[dependencies.twilight-gateway]
optional = true
version = "0.3"
default-features = false
[dependencies.twilight-model]
optional = true
version = "0.3"
default-features = false
[dependencies.typemap_rev]
optional = true
version = "0.1"
[dependencies.url]
optional = true
version = "2"
[dependencies.uuid]
optional = true
version = "0.8"
features = ["v4"]
[dependencies.xsalsa20poly1305]
optional = true
version = "0.6"
[dev-dependencies]
criterion = "0.3"
utils = { path = "utils" }
[features]
# Core features
default = [
"serenity-rustls",
"driver",
"gateway",
]
gateway = [
"gateway-core",
"tokio/sync",
]
gateway-core = [
"dashmap",
"flume",
"parking_lot",
]
driver = [
"async-tungstenite",
"driver-core",
"tokio/fs",
"tokio/io-util",
"tokio/macros",
"tokio/net",
"tokio/process",
"tokio/rt",
"tokio/sync",
"tokio/time",
]
driver-core = [
"async-trait",
"audiopus",
"byteorder",
"discortp",
"flume",
"parking_lot",
"rand",
"serenity-voice-model",
"spin_sleep",
"streamcatcher",
"typemap_rev",
"url",
"uuid",
"xsalsa20poly1305",
]
rustls = ["async-tungstenite/tokio-rustls", "rustls-marker"]
native = ["async-tungstenite/tokio-native-tls", "native-marker"]
serenity-rustls = ["serenity/rustls_backend", "rustls", "gateway", "serenity-deps"]
serenity-native = ["serenity/native_tls_backend", "native", "gateway", "serenity-deps"]
twilight-rustls = ["twilight", "twilight-gateway/rustls", "rustls", "gateway"]
twilight-native = ["twilight", "twilight-gateway/native", "native", "gateway"]
twilight = ["twilight-model"]
simd-zlib = ["twilight-gateway/simd-zlib"]
stock-zlib = ["twilight-gateway/stock-zlib"]
serenity-deps = ["async-trait"]
rustls-marker = []
native-marker = []
# Tokio 0.2 Compatibility features
# These should probably be dropped around the same time as serenity drop them.
rustls-tokio-02 = ["async-tungstenite-compat/tokio-rustls", "rustls-marker", "tokio-02-marker"]
native-tokio-02 = ["async-tungstenite-compat/tokio-native-tls", "native-marker", "tokio-02-marker"]
serenity-rustls-tokio-02 = ["serenity/rustls_tokio_0_2_backend", "rustls-tokio-02", "gateway-tokio-02", "serenity-deps"]
serenity-native-tokio-02 = ["serenity/native_tls_tokio_0_2_backend", "native-tokio-02", "gateway-tokio-02", "serenity-deps"]
gateway-tokio-02 = [
"gateway-core",
"tokio-02-marker",
"tokio-compat/sync",
]
driver-tokio-02 = [
"async-tungstenite-compat",
"driver-core",
"tokio-02-marker",
"tokio-compat/fs",
"tokio-compat/io-util",
"tokio-compat/macros",
"tokio-compat/net",
"tokio-compat/process",
"tokio-compat/rt-core",
"tokio-compat/sync",
"tokio-compat/time",
]
tokio-02-marker = []
# Behaviour altering features.
youtube-dlc = []
builtin-queue = []
# Used for docgen/testing/benchmarking.
full-doc = ["default", "twilight-rustls", "builtin-queue", "stock-zlib"]
internals = []
[[bench]]
name = "base-mixing"
path = "benches/base-mixing.rs"
harness = false
[[bench]]
name = "mixing-task"
path = "benches/mixing-task.rs"
required-features = ["internals"]
harness = false
[package.metadata.docs.rs]
features = ["full-doc"]