binstalk-downloader 0.13.5

The binstall toolkit for downloading and extracting file
Documentation
[package]
name = "binstalk-downloader"
description = "The binstall toolkit for downloading and extracting file"
repository = "https://github.com/cargo-bins/cargo-binstall"
documentation = "https://docs.rs/binstalk-downloader"
version = "0.13.5"
rust-version = "1.79.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "Apache-2.0 OR MIT"

[dependencies]
async-trait = "0.1.68"
async-compression = { version = "0.4.4", features = [
    "gzip",
    "zstd",
    "xz",
    "bzip2",
    "tokio",
] }
binstalk-types = { version = "0.9.2", path = "../binstalk-types" }
bytes = "1.4.0"
bzip2 = "0.4.4"
cfg-if = "1"
compact_str = "0.8.0"
flate2 = { version = "1.0.28", default-features = false }
futures-util = "0.3.30"
futures-io = "0.3.30"
httpdate = "1.0.2"
rc-zip-sync = { version = "4.2.3", features = [
    "deflate",
    "bzip2",
    "deflate64",
    "lzma",
    "zstd",
] }
reqwest = { version = "0.12.5", features = [
    "http2",
    "stream",
    "zstd",
    "gzip",
    "brotli",
    "deflate",
], default-features = false }
serde = { version = "1.0.163", features = ["derive"], optional = true }
serde_json = { version = "1.0.107", optional = true }
# Use a fork here since we need PAX support, but the upstream
# does not hav the PR merged yet.
#
#tar = "0.4.38"
tar = { package = "binstall-tar", version = "0.4.39" }
tempfile = "3.5.0"
thiserror = "2.0.1"
tokio = { version = "1.35.0", features = [
    "macros",
    "rt-multi-thread",
    "sync",
    "time",
    "fs",
], default-features = false }
tokio-tar = "0.3.0"
tokio-util = { version = "0.7.8", features = ["io"] }
tracing = "0.1.39"
hickory-resolver = { version = "0.25.0-alpha.3", optional = true, features = [
    "dnssec-ring",
] }
once_cell = { version = "1.18.0", optional = true }
url = "2.5.4"

xz2 = "0.1.7"

# zstd is also depended by zip.
# Since zip 0.6.3 depends on zstd 0.11, we can use 0.12.0 here
# because it uses the same zstd-sys version.
# Otherwise there will be a link conflict.
zstd = { version = "0.13.2", default-features = false }

[target."cfg(not(target_arch = \"wasm32\"))".dependencies.native-tls-crate]
optional = true
package = "native-tls"
# The version must be kept in sync of reqwest
version = "0.2.10"

[features]
default = ["static", "rustls"]

static = ["bzip2/static", "xz2/static", "native-tls-crate?/vendored"]
pkg-config = ["zstd/pkg-config"]

zlib-ng = ["flate2/zlib-ng"]

# Dummy feature, enabled if rustls or native-tls is enabled.
# Used to avoid compilation error when no feature is enabled.
__tls = []

rustls = [
    "__tls",

    "reqwest/rustls-tls",
    "reqwest/rustls-tls-webpki-roots",
    "reqwest/rustls-tls-native-roots",

    # Enable the following features only if hickory-resolver is enabled.
    "hickory-resolver?/dns-over-rustls",
    # hickory-resolver currently supports https with rustls
    "hickory-resolver?/dns-over-https-rustls",
    "hickory-resolver?/dns-over-quic",
    "hickory-resolver?/dns-over-h3",
]
native-tls = [
    "__tls",
    "native-tls-crate",
    "reqwest/native-tls",
    "hickory-resolver?/dns-over-native-tls",
]

# Enable hickory-resolver so that features on it will also be enabled.
hickory-dns = ["hickory-resolver", "default-net", "ipconfig", "once_cell"]

# Deprecated alias for hickory-dns, since trust-dns is renamed to hickory-dns
trust-dns = ["hickory-dns"]

# HTTP3 is temporarily disabled by reqwest.
#
# Experimental HTTP/3 client, this would require `--cfg reqwest_unstable`
# to be passed to `rustc`.
http3 = ["reqwest/http3"]

zstd-thin = ["zstd/thin"]

cross-lang-fat-lto = ["zstd/fat-lto"]

json = ["serde", "serde_json"]

[target."cfg(windows)".dependencies]
default-net = { version = "0.22.0", optional = true }
ipconfig = { version = "0.3.2", optional = true, default-features = false }

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]