180 lines
5.5 KiB
TOML
180 lines
5.5 KiB
TOML
[package]
|
|
name = "rustup"
|
|
version = "1.29.0"
|
|
edition = "2024"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "Manage multiple rust installations with ease"
|
|
homepage = "https://github.com/rust-lang/rustup"
|
|
keywords = ["rustup", "multirust", "install", "proxy"]
|
|
readme = "README.md"
|
|
repository = "https://github.com/rust-lang/rustup"
|
|
build = "build.rs"
|
|
|
|
[features]
|
|
curl-backend = ["dep:curl"]
|
|
default = ["curl-backend", "reqwest-native-tls", "reqwest-rustls-tls"]
|
|
|
|
vendored-openssl = ['openssl/vendored']
|
|
|
|
reqwest-native-tls = ["reqwest/native-tls", "dep:reqwest", "dep:env_proxy"]
|
|
reqwest-rustls-tls = [
|
|
"reqwest/rustls-no-provider",
|
|
"dep:env_proxy",
|
|
"dep:reqwest",
|
|
"dep:rustls",
|
|
"dep:rustls-platform-verifier",
|
|
]
|
|
|
|
# Include in the default set to disable self-update and uninstall.
|
|
no-self-update = []
|
|
|
|
# Include an Opentelemetry sink for tracing events
|
|
otel = [
|
|
"dep:opentelemetry-otlp",
|
|
"dep:tracing-opentelemetry",
|
|
"dep:opentelemetry",
|
|
"dep:opentelemetry_sdk",
|
|
]
|
|
|
|
# Exports code dependent on private interfaces for the integration test suite
|
|
test = ["dep:snapbox", "dep:walkdir", "clap-cargo/testing_colors"]
|
|
|
|
# Sorted by alphabetic order
|
|
[dependencies]
|
|
anstream = "1"
|
|
anstyle = "1.0.11"
|
|
anyhow = "1.0.69"
|
|
cfg-if = "1.0"
|
|
chrono = { version = "0.4", default-features = false, features = ["std"] }
|
|
clap = { version = "4", features = ["derive", "wrap_help", "string"] }
|
|
clap-cargo = "0.18.3"
|
|
clap_complete = "4"
|
|
console = "0.16"
|
|
curl = { version = "0.4.44", optional = true }
|
|
effective-limits = "0.5.5"
|
|
enum-map = "2.5.0"
|
|
env_proxy = { version = "0.4.1", optional = true }
|
|
flate2 = { version = "1.1.1", default-features = false, features = ["zlib-rs"] }
|
|
fs_at = "0.2.1"
|
|
futures-util = "0.3.31"
|
|
git-testament = "0.2"
|
|
home = "0.5.4"
|
|
indicatif = "0.18"
|
|
itertools = "0.14"
|
|
libc = "0.2"
|
|
opener = "0.8.0"
|
|
# `openssl` is used by `curl` or `reqwest` backend although it isn't imported by rustup: this
|
|
# allows controlling the vendoring status without exposing the presence of the download crate.
|
|
openssl = { version = "0.10", optional = true }
|
|
# HACK: Temporarily pinned due to ppc64 ELFv1/v2 ABI issue in 300.5.5, to be
|
|
# removed when <https://github.com/openssl/openssl/issues/29815> lands.
|
|
openssl-src = { version = "=300.5.4", optional = true }
|
|
opentelemetry = { version = "0.31", optional = true }
|
|
opentelemetry-otlp = { version = "0.31", features = ["grpc-tonic"], optional = true }
|
|
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio"], optional = true }
|
|
platforms = "3.4"
|
|
pulldown-cmark = { version = "0.13", default-features = false }
|
|
rand = "0.10"
|
|
rayon = "1.10.0"
|
|
regex = "1"
|
|
remove_dir_all = { version = "1.0.0", features = ["parallel"] }
|
|
reqwest = { version = "0.13", default-features = false, features = ["blocking", "gzip", "http2", "socks", "stream"], optional = true }
|
|
retry = { version = "2", default-features = false, features = ["random"] }
|
|
rs_tracing = { version = "1.1", features = ["rs_tracing"] }
|
|
rustls = { version = "0.23", optional = true, default-features = false, features = ["logging", "aws_lc_rs", "tls12"] }
|
|
rustls-platform-verifier = { version = "0.6", optional = true }
|
|
same-file = "1"
|
|
semver = "1.0"
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
sha2 = "0.10"
|
|
sharded-slab = "0.1.1"
|
|
strsim = "0.11"
|
|
tar = "0.4.26"
|
|
tempfile = "3.8"
|
|
thiserror = "2"
|
|
threadpool = "1"
|
|
tokio = { version = "1.26.0", default-features = false, features = ["macros", "rt-multi-thread", "sync"] }
|
|
tokio-retry = "0.3.0"
|
|
tokio-stream = "0.1.14"
|
|
toml = "1.0"
|
|
tracing = "0.1"
|
|
tracing-log = "0.2"
|
|
tracing-opentelemetry = { version = "0.32", optional = true }
|
|
# Newer versions render ANSI escape codes, causing CLI errors to be ugly
|
|
# See also https://github.com/tokio-rs/tracing/issues/3369
|
|
tracing-subscriber = { version = "=0.3.19", features = ["env-filter"] }
|
|
url = "2.4"
|
|
wait-timeout = "0.2"
|
|
xz2 = "0.1.3"
|
|
zstd = { version = "0.13", default-features = false }
|
|
|
|
# test only (depends on `test` feature)
|
|
snapbox = { version = "1", features = ["term-svg"], optional = true }
|
|
walkdir = { version = "2", optional = true }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
cc = "1"
|
|
scopeguard = "1"
|
|
windows-registry = "0.6"
|
|
windows-result = "0.4"
|
|
|
|
[target."cfg(windows)".dependencies.windows-sys]
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_Console",
|
|
"Win32_System_Diagnostics_ToolHelp",
|
|
"Win32_System_IO",
|
|
"Win32_System_Ioctl",
|
|
"Win32_System_JobObjects",
|
|
"Win32_System_Kernel",
|
|
"Win32_System_LibraryLoader",
|
|
"Win32_System_SystemInformation",
|
|
"Win32_System_SystemServices",
|
|
"Win32_System_Threading",
|
|
"Win32_System_WindowsProgramming",
|
|
"Win32_UI",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
]
|
|
version = "0.61"
|
|
|
|
[dev-dependencies]
|
|
enum-map = "2.5.0"
|
|
http-body-util = "0.1.0"
|
|
hyper = { version = "1.0", default-features = false, features = ["server", "http1"] }
|
|
hyper-util = { version = "0.1.1", features = ["tokio"] }
|
|
proptest = "1.1.0"
|
|
rustls-webpki = { version = "0.103.3" }
|
|
tokio-rustls = "0.26.4"
|
|
webpki-root-certs = "1"
|
|
|
|
[build-dependencies]
|
|
platforms = "3.4"
|
|
|
|
[lints.rust]
|
|
rust_2018_idioms = { level = "deny", priority = -1 }
|
|
unused_qualifications = "warn"
|
|
|
|
[lints.clippy]
|
|
# `dbg!()` and `todo!()` clearly shouldn't make it to production:
|
|
dbg_macro = "warn"
|
|
todo = "warn"
|
|
wildcard_imports = "warn"
|
|
|
|
[lib]
|
|
name = "rustup"
|
|
path = "src/lib.rs"
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
lto = true
|
|
|
|
# Reduce build time by setting proc-macro crates non optimized.
|
|
[profile.release.build-override]
|
|
opt-level = 0
|
|
|
|
[package.metadata.cargo-all-features]
|
|
# Building with no web backend will error.
|
|
always_include_features = ["reqwest-rustls-tls"]
|