Subject: [PATCH 00/27] gnu: Add dua-cli.

From: antlers <[email-masked]>
Date: Sat, 18 Jun 2022 12:56:29 -0700

Hi! I imported dua-cli via `guix import` for personal use, and thought
I'd try to upstream the involved packages. I'm awfully new to Guix, so
just let me know if I'm, uh, doing this right! I also (practically)
haven't used Rust, so, I might not be the best person to be doing this,
and have some light notes.

- Is a lot of small commits the way to go?
- Didn't update rust-tui or rust-crossterm to their latest versions,
  think I've got enough here as it is.
- rust-clap fails a lint because of a TLS error / re-direct that I'm
  not sure I can do anything about.
- Wasn't sure when it was approriate to preserve the #:skip-build flag
  inserted by `guix import`, so I'll likely need to tweak those.
- Some packages (namely rust-clap-3, which came out of Beta) have pretty
  sweeping dependency changes, including losing their
  #:cargo-development-inputs; I went with what `guix import` gave me,
  figuring that the packages build and dua-cli works just fine that way,
  but might be missing a broader context.
- Chose to make a new package vs. updating in-place based on existing
  precedent for each package, which usually meant a new package for
  every minor release (with patch point releases updated in-place), but
  some packages seem to accept minor point releases in-place, while
  still others have a seperate package for every patch. Just hoping I
  made sensible choices.
- As an aside, I did update each superseded package to inherit from it's
  successor, but didn't DRY the arguments and inputs in all applicable
  cases. `rust-windows-*` in particular could probably be cut down to a
  list of version numbers and a constructor, a la make-linux-libre? But
  ah well, it works as-is.