[package] name = "topgrade" description = "Upgrade all the things" categories = ["os"] keywords = ["upgrade", "update"] license = "GPL-3.0-or-later" repository = "https://github.com/topgrade-rs/topgrade" rust-version = "1.84.1" version = "16.4.2" authors = ["Roey Darwish Dror ", "Thomas Schönauer "] exclude = ["doc/screenshot.gif", "BREAKINGCHANGES_dev.md"] edition = "2021" readme = "README.md" [dependencies] home = "=0.5.11" etcetera = "=0.10.0" serde = { version = "~1.0", features = ["derive"] } toml = { version = "=0.9.8", features = ["preserve_order"] } which_crate = { version = "~8.0", package = "which" } shellexpand = "~3.1" clap = { version = "~4.5", features = ["cargo", "derive"] } clap_complete = "~4.5" clap_mangen = "~0.2" walkdir = "~2.5" console = "~0.16" chrono = "~0.4" glob = "~0.3" strum = { version = "~0.27", features = ["derive"] } thiserror = "~2.0" tempfile = "~3.23" tokio = { version = "~1.48", features = ["process", "rt-multi-thread"] } futures = "~0.3" regex = "~1.12" semver = "~1.0" shell-words = "~1.1" color-eyre = "~0.6" tracing = { version = "~0.1", features = ["attributes", "log"] } tracing-subscriber = { version = "~0.3.20", features = ["env-filter", "time"] } merge = "~0.1" regex-split = "~0.1" notify-rust = "~4.11" wildmatch = "2.3.0" rust-i18n = "3.0.1" sys-locale = "0.3.1" jetbrains-toolbox-updater = "5.0.0" indexmap = { version = "2.9.0", features = ["serde"] } serde_json = "1.0.145" # Temporary transitive dependency pins ignore = "=0.4.23" globset = "=0.4.16" base64ct = "<1.8.0" [patch.crates-io] mac-notification-sys = { git = "https://github.com/h4llow3En/mac-notification-sys" } [package.metadata.generate-rpm] assets = [{ source = "target/release/topgrade", dest = "/usr/bin/topgrade" }] [package.metadata.generate-rpm.requires] git = "*" [package.metadata.deb] name = "topgrade" maintainer = "Chris Gelatt " copyright = "2024, Topgrade Team" license-file = ["LICENSE", "0"] depends = "$auto" extended-description = "Keeping your system up to date usually involves invoking multiple package managers. This results in big, non-portable shell one-liners saved in your shell. To remedy this, Topgrade detects which tools you use and runs the appropriate commands to update them." section = "utils" priority = "optional" default-features = true assets = [ ["target/release/topgrade", "usr/bin/", "755"], ["README.md", "usr/share/doc/topgrade/README.md", "644"], # The man page and shell completions are automatically generated by topgrade's build process in CI, # so these files aren't actually committed. ["deployment/deb/topgrade.1", "usr/share/man/man1/topgrade.1", "644"], ["deployment/deb/topgrade.bash", "usr/share/bash-completion/completions/topgrade", "644"], ["deployment/deb/topgrade.fish", "usr/share/fish/vendor_completions.d/topgrade.fish", "644"], ["deployment/deb/_topgrade", "usr/share/zsh/vendor-completions/", "644"], ] [target.'cfg(unix)'.dependencies] nix = { version = "~0.30", features = ["hostname", "signal", "user"] } rust-ini = "~0.21" self_update_crate = { version = "~0.42", default-features = false, optional = true, package = "self_update", features = ["archive-tar", "compression-flate2", "rustls"] } [target.'cfg(windows)'.dependencies] is_elevated = "~0.1" parselnk = "~0.1" self_update_crate = { version = "~0.42", default-features = false, optional = true, package = "self_update", features = ["archive-zip", "compression-zip-deflate", "rustls"] } windows = { version = "~0.62", features = ["Win32_System_Console"] } windows-registry = "~0.6" [profile.release] lto = true [features] default = [] self-update = ["self_update_crate"]