switch from ancient clap/structopt release to bpaf

Improves #70: this reduces binary size from 12.3 MiB to 11.9 MiB (3%) on
macOS/arm64.

The user experience is almost the same. (The help output's `Usage:`
lines lack the e.g. `moonfire-nvr run` prefix of argv[0] and subcommand,
which isn't ideal, but I guess it's pretty minor in the grand scheme of
things.)
This commit is contained in:
Scott Lamb
2023-02-11 11:38:12 -08:00
parent 23c1b9404b
commit e21f795e93
12 changed files with 229 additions and 217 deletions

View File

@@ -2,7 +2,7 @@
name = "moonfire-nvr"
version = "0.7.5"
authors = ["Scott Lamb <slamb@slamb.org>"]
edition = "2018"
edition = "2021"
resolver = "2"
license-file = "../LICENSE.txt"
rust-version = "1.64"
@@ -24,9 +24,9 @@ members = ["base", "db"]
base = { package = "moonfire-base", path = "base" }
base64 = "0.13.0"
blake3 = "1.0.0"
bpaf = { version = "0.7.8", features = ["autocomplete", "bright-color", "derive"] }
bytes = "1"
byteorder = "1.0"
clap = { version = "2.33.3", default-features = false, features = ["color", "wrap_help"] }
cursive = "0.20.0"
db = { package = "moonfire-db", path = "db" }
failure = "0.1.1"
@@ -53,7 +53,6 @@ rusqlite = "0.28.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
smallvec = { version = "1.7", features = ["union"] }
structopt = { version = "0.3.13", default-features = false }
sync_wrapper = "0.1.0"
time = "0.1"
tokio = { version = "1.24", features = ["macros", "rt-multi-thread", "signal", "sync", "time"] }