1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
[package]
name = "rustup"
version = "1.27.1"
edition = "2021"
description = "Manage multiple rust installations with ease"
homepage = "https://github.com/rust-lang/rustup"
keywords = ["rustup", "multirust", "install", "proxy"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/rust-lang/rustup"
build = "build.rs"
[features]
curl-backend = ["download/curl-backend"]
default = [
"curl-backend",
"reqwest-backend",
"reqwest-default-tls"
]
reqwest-backend = ["download/reqwest-backend"]
reqwest-default-tls = ["download/reqwest-default-tls"]
# Include in the default set to disable self-update and uninstall.
no-self-update = []
# Exports code dependent on private interfaces for the integration test suite
test = ["dep:walkdir"]
# Sorted by alphabetic order
[dependencies]
anyhow.workspace = true
cfg-if = "1.0"
chrono = { version = "0.4", default-features = false, features = ["std"] }
clap = { version = "4", features = ["wrap_help"] }
clap_complete = "4"
download = { path = "download", default-features = false }
effective-limits = "0.5.5"
enum-map = "2.5.0"
enum_dispatch.workspace = true
flate2 = "1"
fs_at.workspace = true
git-testament = "0.2"
home = "0.5.4"
itertools = ">= 0.12, < 0.15"
libc = "0.2"
once_cell.workspace = true
opener = "0.6"
# `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.
# HACK: We temporarily pin the OpenSSL version due to build issues encountered in
# https://github.com/rust-lang/rustup/pull/3668.
openssl = { version = "0.10", optional = true }
openssl-sys = { version = "0.9", optional = true }
pulldown-cmark = { version = "0.13", default-features = false }
rand = "0.8"
regex = "1"
remove_dir_all = { version = "0.8.1", features = ["parallel"] }
retry = { version = "2", default-features = false, features = ["random"] }
rs_tracing = { version = "1.1", features = ["rs_tracing"] }
same-file = "1"
scopeguard = "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.workspace = true
termcolor.workspace = true
thiserror.workspace = true
threadpool = "1"
tokio = { workspace = true, optional = true }
toml = "0.8"
tracing-subscriber = { workspace = true, optional = true, features = ["env-filter"] }
tracing = { workspace = true, optional = true }
url.workspace = true
wait-timeout = "0.2"
walkdir = { workspace = true, optional = true }
xz2 = "0.1.3"
zstd = "0.13"
[dev-dependencies]
enum-map = "2.5.0"
proptest.workspace = true
rustup-macros.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
trycmd = "0.14"
[build-dependencies]
once_cell.workspace = true
regex = "1"
[workspace]
members = ["download", "rustup-macros"]
[workspace.dependencies]
anyhow = "1.0.69"
enum_dispatch = "0.3.11"
fs_at = "0.1.6"
once_cell = "1.18.0"
proptest = "1.1.0"
rustup-macros = { path = "rustup-macros" }
tempfile = "3.8"
termcolor = "1.2"
thiserror = "1.0"
tokio = { version = "1.26.0", default-features = false, features = ["rt-multi-thread"] }
tracing = "0.1"
tracing-subscriber = "0.3.16"
url = "2.4"
walkdir = "2"
[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-backend", "reqwest-rustls-tls"]
|