[package] name = "rustic-rs" version = "0.9.4" authors = ["the rustic-rs team"] categories = ["command-line-utilities"] documentation = "https://docs.rs/rustic-rs" edition = "2021" homepage = "https://rustic.cli.rs/" include = ["src/**/*", "LICENSE-*", "README.md", "config/**/*"] keywords = ["backup", "restic", "deduplication", "encryption", "cli"] license = "Apache-2.0 OR MIT" readme = "README.md" repository = "https://github.com/rustic-rs/rustic" resolver = "2" rust-version = "1.80.0" description = """ rustic - fast, encrypted, deduplicated backups powered by Rust """ [features] default = ["tui", "webdav"] release = ["default", "self-update"] # Allocators mimalloc = ["dep:mimalloc"] jemallocator = ["dep:jemallocator-global"] # Commands self-update = ["dep:self_update", "dep:semver"] tui = ["dep:ratatui", "dep:crossterm", "dep:tui-textarea"] webdav = ["dep:dav-server", "dep:warp", "dep:tokio", "rustic_core/webdav"] [[bin]] name = "rustic" path = "src/bin/rustic.rs" test = true bench = true doc = true harness = true edition = "2021" # required-features = [] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--document-private-items", "--generate-link-to-definition"] [dependencies] abscissa_core = { version = "0.8.1", default-features = false, features = ["application"] } rustic_backend = { version = "0.4.2", features = ["cli"] } rustic_core = { version = "0.5.4", features = ["cli"] } # allocators jemallocator-global = { version = "0.3.2", optional = true } mimalloc = { version = "0.1.43", default-features = false, optional = true } # webdav dav-server = { version = "0.7.0", default-features = false, features = ["warp-compat"], optional = true } tokio = { version = "1", optional = true } warp = { version = "0.3.7", optional = true } # tui crossterm = { version = "0.28", optional = true } ratatui = { version = "0.29.0", optional = true } tui-textarea = { version = "0.7.0", optional = true } # logging log = "0.4" # errors anyhow = "1" displaydoc = "0.2.5" thiserror = "1" # serialization serde = { version = "1", features = ["serde_derive"] } serde_json = "1" serde_with = { version = "3", features = ["base64"] } # other dependencies aho-corasick = "1" chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] } comfy-table = "7" rhai = { version = "1", features = ["sync", "serde", "no_optimize", "no_module", "no_custom_syntax", "only_i64"] } scopeguard = "1" semver = { version = "1", optional = true } simplelog = "0.12" # commands bytesize = "1" cached = "0.53.1" clap = { version = "4", features = ["derive", "env", "wrap_help"] } clap_complete = "4" conflate = "0.2" convert_case = "0.6.0" dateparser = "0.2.1" derive_more = { version = "1", features = ["debug"] } dialoguer = "0.11.0" directories = "5" gethostname = "0.5" globset = "0.4.15" human-panic = "2" humantime = "2" indicatif = "0.17" itertools = "0.13" open = "5.3.0" self_update = { version = "0.39.0", default-features = false, optional = true, features = ["rustls", "archive-tar", "compression-flate2"] } # FIXME: Downgraded to 0.39.0 due to https://github.com/jaemk/self_update/issues/136 tar = "0.4.42" toml = "0.8" [dev-dependencies] abscissa_core = { version = "0.8.1", default-features = false, features = ["testing"] } assert_cmd = "2.0.16" dircmp = "0.2" insta = { version = "1.40.0", features = ["ron"] } predicates = "3.1.2" pretty_assertions = "1.4" quickcheck = "1" quickcheck_macros = "1" rstest = "0.23" rustic_testing = "0.2.2" tempfile = "3.13" toml = "0.8" [target.'cfg(not(windows))'.dependencies] libc = "0.2.159" # cargo-binstall support # https://github.com/cargo-bins/cargo-binstall/blob/HEAD/SUPPORT.md [package.metadata.binstall] pkg-url = "{ repo }/releases/download/v{ version }/{ bin }-v{ version }-{ target }{ archive-suffix }" bin-dir = "{ bin }{ binary-ext }" pkg-fmt = "tgz" [package.metadata.binstall.signing] algorithm = "minisign" pubkey = "RWSWSCEJEEacVeCy0va71hlrVtiW8YzMzOyJeso0Bfy/ZXq5OryWi/8T" # see: https://nnethercote.github.io/perf-book/build-configuration.html [profile.dev] opt-level = 0 debug = true rpath = false lto = false debug-assertions = true codegen-units = 4 # compile dependencies with optimizations in dev mode # see: https://doc.rust-lang.org/stable/cargo/reference/profiles.html#overrides [profile.dev.package."*"] opt-level = 3 debug = true [profile.release] opt-level = 3 debug = false # true for profiling rpath = false lto = "fat" debug-assertions = false codegen-units = 1 strip = true panic = "abort" [profile.test] opt-level = 1 debug = true rpath = false lto = false debug-assertions = true codegen-units = 4 [profile.bench] opt-level = 3 debug = true # true for profiling rpath = false lto = true debug-assertions = false codegen-units = 1 # Allows quick RPM file generation, if "cargo-generate-rpm" is installed: # cargo build --release; cargo generate-rpm # will result in a file like target/generate-rpm/rustic-rs-0.6.1-1.x86_64.rpm [package.metadata.generate-rpm] assets = [ { source = "target/release/rustic", dest = "/usr/bin/rustic", mode = "0755", config = false, doc = false, user = "root", group = "root" }, ]