[PATCH] Add nitrocli

  • Done
  • quality assurance status badge
Details
4 participants
  • Antero Mejr
  • Ludovic Courtès
  • Nicolas Goaziou
  • Xinglu Chen
Owner
unassigned
Submitted by
Antero Mejr
Severity
normal
Merged with
A
A
Antero Mejr wrote on 26 May 2021 05:57
(address . guix-patches@gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210526035755.79632-1-antero@kodmin.com
---
Tested using a Purism Key. Has new package definitions for some updated crate dependencies like rust-structopt-0.3.21, I can update the main definition if that is preferred.

gnu/packages/crates-io.scm | 247 ++++++++++++++++++++++++++++++++
gnu/packages/security-token.scm | 46 ++++++
2 files changed, 293 insertions(+)

Toggle diff (384 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 318b2c695b..5440c5cd79 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3702,6 +3703,24 @@ trace (backtrace) at runtime in a Rust program.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-base32-0.4
+ (package
+ (name "rust-base32")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "base32" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/andreasots/base32")
+ (synopsis "Base32 encoder/decoder for Rust")
+ (description "Base32 encoder/decoder for Rust")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-base58-0.1
(package
(name "rust-base58")
@@ -13308,6 +13327,29 @@ variables.")
"Environment variables utility functions.")
(license license:asl2.0)))
+(define-public rust-envy-0.4
+ (package
+ (name "rust-envy")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "envy" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1))))
+ (home-page "https://github.com/softprops/envy")
+ (synopsis "deserialize env vars into typesafe structs")
+ (description
+ "deserialize env vars into typesafe structs")
+ (license license:expat)))
+
(define-public rust-erased-serde-0.3
(package
(name "rust-erased-serde")
@@ -23390,6 +23432,47 @@ for Rust structs.")
(sha256
(base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))))
+(define-public rust-merge-0.1
+ (package
+ (name "rust-merge")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-merge-derive" ,rust-merge-derive-0.1)
+ ("rust-num-traits" ,rust-num-traits-0.2))))
+ (home-page "https://git.sr.ht/~ireas/merge-rs")
+ (synopsis "Merge multiple values into one")
+ (description "Merge multiple values into one")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-merge-derive-0.1
+ (package
+ (name "rust-merge-derive")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "01wxhi7mqmp34l540wcfb24hb13vcbps4wlynas66bnsfra0g790"))))
+ (build-system cargo-build-system)
+ (home-page
+ "https://git.sr.ht/~ireas/merge-rs/tree/master/merge_derive")
+ (synopsis "Derive macro for merge crate")
+ (description "This crate provides a derive macro for the
+merge::Merge crate. See the merge crate for more information.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-merlin-2
(package
(name "rust-merlin")
@@ -25107,6 +25190,94 @@ selectors. You can use the jQuery-like syntax to query and manipulate an HTML
document quickly.")
(license (list license:expat license:asl2.0))))
+(define-public rust-nitrokey-0.9
+ (package
+ (name "rust-nitrokey")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-lazy_static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
+ ("rust-rand_core" ,rust-rand-core-0.5))))
+ (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
+ (synopsis "Rust bindings to libnitrokey")
+ (description
+ "Bindings to libnitrokey for communication with Nitrokey devices")
+ (license license:expat)))
+
+(define-public rust-nitrokey-sys-3
+ (package
+ (name "rust-nitrokey-sys")
+ (version "3.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08c3lnb8iqx000jd5rzvrdvv4ihjyw3x3s8q11dw56is0nmjyvws"))))
+ (build-system cargo-build-system)
+ (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
+ (synopsis "Low-level Rust bindings for libnitrokey")
+ (description
+ "Low-level bindings to libnitrokey for communication with
+Nitrokey devices")
+ (license license:lgpl3)))
+
+(define-public rust-nitrokey-test-0.5
+ (package
+ (name "rust-nitrokey-test")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("quote" ,rust-quote-1)
+ ("syn" ,rust-syn-1))))
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "Supporting test infrastructure for the nitrokey crate")
+ (description
+ "Supporting test infrastructure for the nitrokey crate and others
+using it.")
+ (license license:gpl3+)))
+
+(define-public rust-nitrokey-test-state-0.1
+ (package
+ (name "rust-nitrokey-test-state")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test-state" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "State required and used by the nitrokey-test crate")
+ (description "State required and used by the nitrokey-test crate.")
+ (license license:gpl3+)))
+
(define-public rust-nix-0.20
(package
(name "rust-nix")
@@ -30203,6 +30374,28 @@ macro use case.")
@code{proc_macro_derive} pretend to be @code{proc_macro}.")
(license (list license:expat license:asl2.0))))
+(define-public rust-progressing-3
+ (package
+ (name "rust-progressing")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "progressing" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("log" ,rust-log-0.4))))
+ (home-page "https://github.com/dominicparga/progressing")
+ (synopsis "A counting progress-bar for Rust")
+ (description
+ "A lightweight, text-based, counting progress-bar for Rust")
+ (license license:asl2.0)))
+
(define-public rust-progrs-0.1
(package
(name "rust-progrs")
@@ -40394,6 +40587,32 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-0.3.21
+ (package
+ (name "rust-structopt")
+ (version "0.3.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-structopt-derive" ,rust-structopt-derive-0.4.14)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-clap" ,rust-clap-2))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct")
+ (description
+ "Parse command line argument by defining a struct.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-structopt-0.2
(package
(name "rust-structopt")
@@ -40446,6 +40665,34 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct, derive crate.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-derive-0.4.14
+ (package
+ (name "rust-structopt-derive")
+ (version "0.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt-derive" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-heck" ,rust-heck-0.3)
+ ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-quote" ,rust-quote-1))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct, derive crate")
+ (description
+ "Parse command line argument by defining a struct, derive crate.")
+ (license license:asl2.0)))
+
(define-public rust-structopt-derive-0.2
(package
(name "rust-structopt-derive")
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index dfa43bb2bf..3a297cda2b 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
@@ -39,6 +41,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
@@ -674,3 +677,46 @@ that after installing this package, you might still need to add appropriate
udev rules to your system configuration to be able to configure the YubiKey as
an unprivileged user.")
(license license:bsd-2)))
+
+(define-public nitrocli
+ (package
+ (name "nitrocli")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrocli" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djspfvcqjipg17v8hkph8xrhkdg1xqjhq5jk1sr8vr750yavidy"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
+ #:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-base32" ,rust-base32-0.4)
+ ("rust-directories" ,rust-directories-3)
+ ("rust-envy" ,rust-envy-0.4)
+ ("rust-libc-0.2" ,rust-libc-0.2)
+ ("rust-merge" ,rust-merge-0.1)
+ ("rust-nitrokey" ,rust-nitrokey-0.9)
+ ("rust-progressing" ,rust-progressing-3)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-structopt" ,rust-structopt-0.3.21)
+ ("rust-termion" ,rust-termion-1)
+ ("rust-toml" ,rust-toml-0.5))
+ #:cargo-development-inputs
+ (("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
+ ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (inputs
+ `(("hidapi" ,hidapi)
+ ("gnupg" ,gnupg)))
+ (home-page "https://github.com/d-e-s-o/nitrocli")
+ (synopsis "Command line tool for Nitrokey devices")
+ (description
+ "nitrocli is a program that provides a command line interface
+for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
+devices.")
+ (license license:gpl3+)))
--
2.31.1
X
X
Xinglu Chen wrote on 27 May 2021 08:59
(name . Antero Mejr)(address . antero@kodmin.com)
8735u83bma.fsf@yoctocell.xyz
On Tue, May 25 2021, Antero Mejr wrote:

Toggle quote (5 lines)
> ---
> Tested using a Purism Key. Has new package definitions for some
> updated crate dependencies like rust-structopt-0.3.21, I can update
> the main definition if that is preferred.

I am not familiar with the Rust ecosystem in Guix, but I will leave some
more general comments.

Toggle quote (4 lines)
> gnu/packages/crates-io.scm | 247 ++++++++++++++++++++++++++++++++
> gnu/packages/security-token.scm | 46 ++++++
> 2 files changed, 293 insertions(+)

This patch should be split into multiple patches where each patch adds a
single package. You can run ‘guile etc/committers.scm’ to automatically
generate commit messages for unstaged changes (you should probably
double check just in case).

Toggle quote (17 lines)
> +(define-public rust-base32-0.4
> + (package
> + (name "rust-base32")
> + (version "0.4.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "base32" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
> + (build-system cargo-build-system)
> + (home-page "https://github.com/andreasots/base32")
> + (synopsis "Base32 encoder/decoder for Rust")
> + (description "Base32 encoder/decoder for Rust")

The description should consist of one or more full sentences, see the
‘16.4.4 Synopses and Descriptions’ in the manual.

Toggle quote (22 lines)
> +(define-public rust-envy-0.4
> + (package
> + (name "rust-envy")
> + (version "0.4.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "envy" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-serde" ,rust-serde-1))))
> + (home-page "https://github.com/softprops/envy")
> + (synopsis "deserialize env vars into typesafe structs")
> + (description
> + "deserialize env vars into typesafe structs")

Write a full sentence, and capitalize.

Toggle quote (21 lines)
> +(define-public rust-merge-0.1
> + (package
> + (name "rust-merge")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "merge" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-merge-derive" ,rust-merge-derive-0.1)
> + ("rust-num-traits" ,rust-num-traits-0.2))))
> + (home-page "https://git.sr.ht/~ireas/merge-rs")
> + (synopsis "Merge multiple values into one")
> + (description "Merge multiple values into one")

Likewise.

Toggle quote (24 lines)
> +(define-public rust-nitrokey-0.9
> + (package
> + (name "rust-nitrokey")
> + (version "0.9.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-lazy_static" ,rust-lazy-static-1)
> + ("rust-libc" ,rust-libc-0.2)
> + ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
> + ("rust-rand_core" ,rust-rand-core-0.5))))
> + (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
> + (synopsis "Rust bindings to libnitrokey")
> + (description
> + "Bindings to libnitrokey for communication with Nitrokey devices")

Likewise.

Toggle quote (19 lines)
> +(define-public rust-nitrokey-sys-3
> + (package
> + (name "rust-nitrokey-sys")
> + (version "3.6.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-sys" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "08c3lnb8iqx000jd5rzvrdvv4ihjyw3x3s8q11dw56is0nmjyvws"))))
> + (build-system cargo-build-system)
> + (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
> + (synopsis "Low-level Rust bindings for libnitrokey")
> + (description
> + "Low-level bindings to libnitrokey for communication with
> +Nitrokey devices")

Likewise.

Toggle quote (24 lines)
> +(define-public rust-nitrokey-test-0.5
> + (package
> + (name "rust-nitrokey-test")
> + (version "0.5.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-test" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-proc-macro2" ,rust-proc-macro2-1)
> + ("quote" ,rust-quote-1)
> + ("syn" ,rust-syn-1))))
> + (home-page "https://github.com/d-e-s-o/nitrokey-test")
> + (synopsis "Supporting test infrastructure for the nitrokey crate")
> + (description
> + "Supporting test infrastructure for the nitrokey crate and others
> +using it.")

Likewise.

Toggle quote (19 lines)
> + (license license:gpl3+)))
> +
> +(define-public rust-nitrokey-test-state-0.1
> + (package
> + (name "rust-nitrokey-test-state")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-test-state" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
> + (build-system cargo-build-system)
> + (home-page "https://github.com/d-e-s-o/nitrokey-test")
> + (synopsis "State required and used by the nitrokey-test crate")
> + (description "State required and used by the nitrokey-test crate.")

Likewise.

Toggle quote (19 lines)
> +(define-public rust-progressing-3
> + (package
> + (name "rust-progressing")
> + (version "3.0.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "progressing" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("log" ,rust-log-0.4))))
> + (home-page "https://github.com/dominicparga/progressing")
> + (synopsis "A counting progress-bar for Rust")

The synopsis should start with the word ‘A’ or ‘The’.

Toggle quote (3 lines)
> + (description
> + "A lightweight, text-based, counting progress-bar for Rust")

Full sentence.

Toggle quote (34 lines)
> + (license license:asl2.0)))
> +
> (define-public rust-progrs-0.1
> (package
> (name "rust-progrs")
> @@ -40394,6 +40587,32 @@ and Jaro-Winkler.")
> "Parse command line argument by defining a struct.")
> (license (list license:asl2.0 license:expat))))
>
> +(define-public rust-structopt-0.3.21
> + (package
> + (name "rust-structopt")
> + (version "0.3.21")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "structopt" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:skip-build? #t
> + #:cargo-inputs
> + (("rust-structopt-derive" ,rust-structopt-derive-0.4.14)
> + ("rust-lazy-static" ,rust-lazy-static-1)
> + ("rust-clap" ,rust-clap-2))))
> + (home-page "https://github.com/TeXitoi/structopt")
> + (synopsis "Parse command line argument by defining a struct")
> + (description
> + "Parse command line argument by defining a struct.")

Full sentence.

Toggle quote (27 lines)
> +(define-public rust-structopt-derive-0.4.14
> + (package
> + (name "rust-structopt-derive")
> + (version "0.4.14")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "structopt-derive" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:skip-build? #t
> + #:cargo-inputs
> + (("rust-heck" ,rust-heck-0.3)
> + ("rust-proc-macro-error" ,rust-proc-macro-error-1)
> + ("rust-proc-macro2" ,rust-proc-macro2-1)
> + ("rust-syn" ,rust-syn-1)
> + ("rust-quote" ,rust-quote-1))))
> + (home-page "https://github.com/TeXitoi/structopt")
> + (synopsis "Parse command line argument by defining a struct, derive crate")
> + (description
> + "Parse command line argument by defining a struct, derive crate.")

Full sentence.

Toggle quote (43 lines)
> +(define-public nitrocli
> + (package
> + (name "nitrocli")
> + (version "0.4.1")
> + (source (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrocli" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1djspfvcqjipg17v8hkph8xrhkdg1xqjhq5jk1sr8vr750yavidy"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
> + #:cargo-inputs
> + (("rust-anyhow" ,rust-anyhow-1)
> + ("rust-base32" ,rust-base32-0.4)
> + ("rust-directories" ,rust-directories-3)
> + ("rust-envy" ,rust-envy-0.4)
> + ("rust-libc-0.2" ,rust-libc-0.2)
> + ("rust-merge" ,rust-merge-0.1)
> + ("rust-nitrokey" ,rust-nitrokey-0.9)
> + ("rust-progressing" ,rust-progressing-3)
> + ("rust-serde" ,rust-serde-1)
> + ("rust-structopt" ,rust-structopt-0.3.21)
> + ("rust-termion" ,rust-termion-1)
> + ("rust-toml" ,rust-toml-0.5))
> + #:cargo-development-inputs
> + (("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
> + ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
> + ("rust-regex" ,rust-regex-1)
> + ("rust-tempfile" ,rust-tempfile-3))))
> + (inputs
> + `(("hidapi" ,hidapi)
> + ("gnupg" ,gnupg)))
> + (home-page "https://github.com/d-e-s-o/nitrocli")
> + (synopsis "Command line tool for Nitrokey devices")
> + (description
> + "nitrocli is a program that provides a command line interface
> +for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
> +devices.")
> + (license license:gpl3+)))

Please run ‘guix lint’ before submitting patches, most of these mistakes
should have been caught by it.

Could you send an updated patch set?
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmCvQ20VHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5TLcP/2pBa5AbKskPfKVmEy+VmdXR6aeW
Y7GMtDjUW+xWNp8hTmXzZ5bSF+6nGIep9ygwfQAvKZqAuGyZy86bpVx53xWcYsXZ
+wEzDYCbD6b1+4FK9AMN4nakynC9FPTRxA2QL8P/GIqruZLNer2X2g45PpA1sLjz
qTr3M3+mFUru5gXwrUkD6Blxl1/ZZxRK28KXjtMOT7d09Z7GEz92ANsrcvWSgmWD
C4iAWHF9w5SICF/m5H5FE66Os5EM0yh2xk/8jtq19H4aVCrecH1qP+5ZhDpUGVr9
MPY0TuENtz9kFLRyH3juJqSKPohvStJwFxsrI8U/d/dDEXrHciT0ZCSN6HvoRQFY
rGsnX7BN9Kj3fFOIp99L0kKxrPfYC1F0k/Xb1WpdndHxZ9cKXLVvxxCwD4mV3n64
n5C9oecrkaltoowVRDX7NyV7wwobiPsmaC+CNobbZHzH2AFH9tMp4GEZsi5MyqCM
fu8QGfh2Bu/Ut1nkAFgaI99T4lLiopxP1hT9iT9hQQYT3/dkuGabYLEf/iRO0FMV
72fQzw0j6xpPPGWOKu4nLMOXcKHND6zdC0erjfICCAriTwsAnIEVLs+Z498mtg9n
/Yf3Kq4PX4IdZP5Q1cA3YNlAyu57S20mn3pn8/lhRyZWDcUqQkDLUlVWZXsEEHRL
EeUVqWwTxWLyTeFA
=azay
-----END PGP SIGNATURE-----

X
X
Xinglu Chen wrote on 27 May 2021 09:11
(name . Antero Mejr)(address . antero@kodmin.com)
871r9s3b3s.fsf@yoctocell.xyz
On Tue, May 25 2021, Antero Mejr wrote:

Toggle quote (5 lines)
> ---
> Tested using a Purism Key. Has new package definitions for some
> updated crate dependencies like rust-structopt-0.3.21, I can update
> the main definition if that is preferred.

I am not familiar with the Rust ecosystem in Guix, but I will leave some
more general comments.

Toggle quote (4 lines)
> gnu/packages/crates-io.scm | 247 ++++++++++++++++++++++++++++++++
> gnu/packages/security-token.scm | 46 ++++++
> 2 files changed, 293 insertions(+)

This patch should be split into multiple patches where each patch adds a
single package. You can run ‘guile etc/committers.scm’ to automatically
generate commit messages for unstaged changes (you should probably
double check just in case).

Toggle quote (17 lines)
> +(define-public rust-base32-0.4
> + (package
> + (name "rust-base32")
> + (version "0.4.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "base32" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
> + (build-system cargo-build-system)
> + (home-page "https://github.com/andreasots/base32")
> + (synopsis "Base32 encoder/decoder for Rust")
> + (description "Base32 encoder/decoder for Rust")

The description should consist of one or more full sentences, see the
‘16.4.4 Synopses and Descriptions’ in the manual.

Toggle quote (22 lines)
> +(define-public rust-envy-0.4
> + (package
> + (name "rust-envy")
> + (version "0.4.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "envy" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-serde" ,rust-serde-1))))
> + (home-page "https://github.com/softprops/envy")
> + (synopsis "deserialize env vars into typesafe structs")
> + (description
> + "deserialize env vars into typesafe structs")

Write a full sentence, and capitalize.

Toggle quote (21 lines)
> +(define-public rust-merge-0.1
> + (package
> + (name "rust-merge")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "merge" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-merge-derive" ,rust-merge-derive-0.1)
> + ("rust-num-traits" ,rust-num-traits-0.2))))
> + (home-page "https://git.sr.ht/~ireas/merge-rs")
> + (synopsis "Merge multiple values into one")
> + (description "Merge multiple values into one")

Likewise.

Toggle quote (24 lines)
> +(define-public rust-nitrokey-0.9
> + (package
> + (name "rust-nitrokey")
> + (version "0.9.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-lazy_static" ,rust-lazy-static-1)
> + ("rust-libc" ,rust-libc-0.2)
> + ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
> + ("rust-rand_core" ,rust-rand-core-0.5))))
> + (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
> + (synopsis "Rust bindings to libnitrokey")
> + (description
> + "Bindings to libnitrokey for communication with Nitrokey devices")

Likewise.

Toggle quote (19 lines)
> +(define-public rust-nitrokey-sys-3
> + (package
> + (name "rust-nitrokey-sys")
> + (version "3.6.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-sys" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "08c3lnb8iqx000jd5rzvrdvv4ihjyw3x3s8q11dw56is0nmjyvws"))))
> + (build-system cargo-build-system)
> + (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
> + (synopsis "Low-level Rust bindings for libnitrokey")
> + (description
> + "Low-level bindings to libnitrokey for communication with
> +Nitrokey devices")

Likewise.

Toggle quote (24 lines)
> +(define-public rust-nitrokey-test-0.5
> + (package
> + (name "rust-nitrokey-test")
> + (version "0.5.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-test" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-proc-macro2" ,rust-proc-macro2-1)
> + ("quote" ,rust-quote-1)
> + ("syn" ,rust-syn-1))))
> + (home-page "https://github.com/d-e-s-o/nitrokey-test")
> + (synopsis "Supporting test infrastructure for the nitrokey crate")
> + (description
> + "Supporting test infrastructure for the nitrokey crate and others
> +using it.")

Likewise.

Toggle quote (19 lines)
> + (license license:gpl3+)))
> +
> +(define-public rust-nitrokey-test-state-0.1
> + (package
> + (name "rust-nitrokey-test-state")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrokey-test-state" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
> + (build-system cargo-build-system)
> + (home-page "https://github.com/d-e-s-o/nitrokey-test")
> + (synopsis "State required and used by the nitrokey-test crate")
> + (description "State required and used by the nitrokey-test crate.")

Likewise.

Toggle quote (19 lines)
> +(define-public rust-progressing-3
> + (package
> + (name "rust-progressing")
> + (version "3.0.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "progressing" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("log" ,rust-log-0.4))))
> + (home-page "https://github.com/dominicparga/progressing")
> + (synopsis "A counting progress-bar for Rust")

The synopsis should start with the word ‘A’ or ‘The’.

Toggle quote (3 lines)
> + (description
> + "A lightweight, text-based, counting progress-bar for Rust")

Full sentence.

Toggle quote (34 lines)
> + (license license:asl2.0)))
> +
> (define-public rust-progrs-0.1
> (package
> (name "rust-progrs")
> @@ -40394,6 +40587,32 @@ and Jaro-Winkler.")
> "Parse command line argument by defining a struct.")
> (license (list license:asl2.0 license:expat))))
>
> +(define-public rust-structopt-0.3.21
> + (package
> + (name "rust-structopt")
> + (version "0.3.21")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "structopt" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:skip-build? #t
> + #:cargo-inputs
> + (("rust-structopt-derive" ,rust-structopt-derive-0.4.14)
> + ("rust-lazy-static" ,rust-lazy-static-1)
> + ("rust-clap" ,rust-clap-2))))
> + (home-page "https://github.com/TeXitoi/structopt")
> + (synopsis "Parse command line argument by defining a struct")
> + (description
> + "Parse command line argument by defining a struct.")

Full sentence.

Toggle quote (27 lines)
> +(define-public rust-structopt-derive-0.4.14
> + (package
> + (name "rust-structopt-derive")
> + (version "0.4.14")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "structopt-derive" version))
> + (file-name
> + (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:skip-build? #t
> + #:cargo-inputs
> + (("rust-heck" ,rust-heck-0.3)
> + ("rust-proc-macro-error" ,rust-proc-macro-error-1)
> + ("rust-proc-macro2" ,rust-proc-macro2-1)
> + ("rust-syn" ,rust-syn-1)
> + ("rust-quote" ,rust-quote-1))))
> + (home-page "https://github.com/TeXitoi/structopt")
> + (synopsis "Parse command line argument by defining a struct, derive crate")
> + (description
> + "Parse command line argument by defining a struct, derive crate.")

Full sentence.

Toggle quote (43 lines)
> +(define-public nitrocli
> + (package
> + (name "nitrocli")
> + (version "0.4.1")
> + (source (origin
> + (method url-fetch)
> + (uri (crate-uri "nitrocli" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1djspfvcqjipg17v8hkph8xrhkdg1xqjhq5jk1sr8vr750yavidy"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
> + #:cargo-inputs
> + (("rust-anyhow" ,rust-anyhow-1)
> + ("rust-base32" ,rust-base32-0.4)
> + ("rust-directories" ,rust-directories-3)
> + ("rust-envy" ,rust-envy-0.4)
> + ("rust-libc-0.2" ,rust-libc-0.2)
> + ("rust-merge" ,rust-merge-0.1)
> + ("rust-nitrokey" ,rust-nitrokey-0.9)
> + ("rust-progressing" ,rust-progressing-3)
> + ("rust-serde" ,rust-serde-1)
> + ("rust-structopt" ,rust-structopt-0.3.21)
> + ("rust-termion" ,rust-termion-1)
> + ("rust-toml" ,rust-toml-0.5))
> + #:cargo-development-inputs
> + (("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
> + ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
> + ("rust-regex" ,rust-regex-1)
> + ("rust-tempfile" ,rust-tempfile-3))))
> + (inputs
> + `(("hidapi" ,hidapi)
> + ("gnupg" ,gnupg)))
> + (home-page "https://github.com/d-e-s-o/nitrocli")
> + (synopsis "Command line tool for Nitrokey devices")
> + (description
> + "nitrocli is a program that provides a command line interface
> +for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
> +devices.")
> + (license license:gpl3+)))

Please run ‘guix lint’ before submitting patches, most of these mistakes
should have been caught by it.

Could you send an updated patch set?
L
L
Ludovic Courtès wrote on 28 May 2021 11:20
control message for bug #48671
(address . control@debbugs.gnu.org)
87lf7zjjth.fsf@gnu.org
merge 48671 48673
quit
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 01/11] gnu: Add nitrocli.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-1-antero@kodmin.com
* gnu/packages/security-token.scm (nitrocli): New variable.
---
Thanks for the feedback Xinglu, I updated the package descriptions and linted.
Resubmitting the patches as separate commits.

gnu/packages/security-token.scm | 43 +++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index dfa43bb2bf..fcb1123f2b 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -674,3 +674,46 @@ that after installing this package, you might still need to add appropriate
udev rules to your system configuration to be able to configure the YubiKey as
an unprivileged user.")
(license license:bsd-2)))
+
+(define-public nitrocli
+ (package
+ (name "nitrocli")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrocli" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djspfvcqjipg17v8hkph8xrhkdg1xqjhq5jk1sr8vr750yavidy"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
+ #:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-base32" ,rust-base32-0.4)
+ ("rust-directories" ,rust-directories-3)
+ ("rust-envy" ,rust-envy-0.4)
+ ("rust-libc-0.2" ,rust-libc-0.2)
+ ("rust-merge" ,rust-merge-0.1)
+ ("rust-nitrokey" ,rust-nitrokey-0.9)
+ ("rust-progressing" ,rust-progressing-3)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-structopt" ,rust-structopt-0.3.21)
+ ("rust-termion" ,rust-termion-1)
+ ("rust-toml" ,rust-toml-0.5))
+ #:cargo-development-inputs
+ (("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
+ ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (inputs
+ `(("hidapi" ,hidapi)
+ ("gnupg" ,gnupg)))
+ (home-page "https://github.com/d-e-s-o/nitrocli")
+ (synopsis "Command line tool for Nitrokey devices")
+ (description
+ "nitrocli is a program that provides a command line interface
+for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
+devices.")
+ (license license:gpl3+)))
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 02/11] gnu: Add rust-structopt-derive-0.4.14.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-2-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-structopt-derive-0.4.14): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 318b2c695b..64fa6ef2f5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40446,6 +40446,34 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct, derive crate.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-derive-0.4.14
+ (package
+ (name "rust-structopt-derive")
+ (version "0.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt-derive" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-heck" ,rust-heck-0.3)
+ ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-quote" ,rust-quote-1))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct, derive crate")
+ (description
+ "This package provides the derive Rust crate for the structopt crate.")
+ (license license:asl2.0)))
+
(define-public rust-structopt-derive-0.2
(package
(name "rust-structopt-derive")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 03/11] gnu: Add rust-structopt-0.3.21.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-3-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-structopt-0.3.21): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 64fa6ef2f5..dd9800b733 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40394,6 +40394,33 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-0.3.21
+ (package
+ (name "rust-structopt")
+ (version "0.3.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-structopt-derive" ,rust-structopt-derive-0.4.14)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-clap" ,rust-clap-2))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct")
+ (description
+ "This package parses command lines arguments by defining a Rust
+struct.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-structopt-0.2
(package
(name "rust-structopt")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 04/11] gnu: Add rust-progressing-3.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-4-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-progressing-3): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd9800b733..e20feb78f2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -30203,6 +30203,29 @@ macro use case.")
@code{proc_macro_derive} pretend to be @code{proc_macro}.")
(license (list license:expat license:asl2.0))))
+(define-public rust-progressing-3
+ (package
+ (name "rust-progressing")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "progressing" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("log" ,rust-log-0.4))))
+ (home-page "https://github.com/dominicparga/progressing")
+ (synopsis "Counting progress-bar for Rust")
+ (description
+ "This package provides a set of text-based, counting
+progress-bars for Rust.")
+ (license license:asl2.0)))
+
(define-public rust-progrs-0.1
(package
(name "rust-progrs")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 05/11] gnu: Add rust-nitrokey-0.9.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-5-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-nitrokey-0.9): New variable.
---
gnu/packages/crates-io.scm | 90 ++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)

Toggle diff (103 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e20feb78f2..e41920652e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25107,6 +25107,96 @@ selectors. You can use the jQuery-like syntax to query and manipulate an HTML
document quickly.")
(license (list license:expat license:asl2.0))))
+(define-public rust-nitrokey-0.9
+ (package
+ (name "rust-nitrokey")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-lazy_static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
+ ("rust-rand_core" ,rust-rand-core-0.5))))
+ (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
+ (synopsis "Rust bindings to libnitrokey")
+ (description
+ "This package provides bindings to libnitrokey for communication
+with Nitrokey devices.")
+ (license license:expat)))
+
+(define-public rust-nitrokey-sys-3
+ (package
+ (name "rust-nitrokey-sys")
+ (version "3.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08c3lnb8iqx000jd5rzvrdvv4ihjyw3x3s8q11dw56is0nmjyvws"))))
+ (build-system cargo-build-system)
+ (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
+ (synopsis "Low-level Rust bindings for libnitrokey")
+ (description
+ "This package provides low-level bindings to libnitrokey for
+communication with Nitrokey devices.")
+ (license license:lgpl3)))
+
+(define-public rust-nitrokey-test-0.5
+ (package
+ (name "rust-nitrokey-test")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("quote" ,rust-quote-1)
+ ("syn" ,rust-syn-1))))
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "Supporting test infrastructure for the nitrokey crate")
+ (description
+ "This package provides supporting test infrastructure for the
+nitrokey crate and others using it.")
+ (license license:gpl3+)))
+
+(define-public rust-nitrokey-test-state-0.1
+ (package
+ (name "rust-nitrokey-test-state")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test-state" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "State required and used by the nitrokey-test crate")
+ (description "This package provides state required and used by the
+nitrokey-test crate.")
+ (license license:gpl3+)))
+
(define-public rust-nix-0.20
(package
(name "rust-nix")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 06/11] gnu: Add rust-merge-0.1.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-6-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-merge-0.1): New variable.
---
gnu/packages/crates-io.scm | 42 ++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e41920652e..7250853f81 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23390,6 +23390,48 @@ for Rust structs.")
(sha256
(base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))))
+(define-public rust-merge-0.1
+ (package
+ (name "rust-merge")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-merge-derive" ,rust-merge-derive-0.1)
+ ("rust-num-traits" ,rust-num-traits-0.2))))
+ (home-page "https://git.sr.ht/~ireas/merge-rs")
+ (synopsis "Rust trait for objects that can be merged")
+ (description "This package provides a merge trait that can be used
+to merge two objects of the same type into one.")
+ (license (list license:asl2.0 license:expat))))
+
+(define-public rust-merge-derive-0.1
+ (package
+ (name "rust-merge-derive")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "01wxhi7mqmp34l540wcfb24hb13vcbps4wlynas66bnsfra0g790"))))
+ (build-system cargo-build-system)
+ (home-page
+ "https://git.sr.ht/~ireas/merge-rs/tree/master/merge_derive")
+ (synopsis "Derive macro for the merge crate")
+ (description "This crate provides a derive macro for the
+merge::Merge crate. See the merge crate for more information.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-merlin-2
(package
(name "rust-merlin")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 07/11] gnu: Add rust-envy-0.4.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-7-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-envy-0.4): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 7250853f81..fb8948715d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13308,6 +13308,30 @@ variables.")
"Environment variables utility functions.")
(license license:asl2.0)))
+(define-public rust-envy-0.4
+ (package
+ (name "rust-envy")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "envy" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1))))
+ (home-page "https://github.com/softprops/envy")
+ (synopsis "Deserialize environment variables into Rust structs")
+ (description
+ "This package provides access to typesafe config structs
+deserialized from environment variables.")
+ (license license:expat)))
+
(define-public rust-erased-serde-0.3
(package
(name "rust-erased-serde")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 08/11] gnu: Add rust-base32-0.4.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-8-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-base32-0.4): New variable.
---
gnu/packages/crates-io.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

Toggle diff (32 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index fb8948715d..a8cf25ba85 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3702,6 +3702,25 @@ trace (backtrace) at runtime in a Rust program.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-base32-0.4
+ (package
+ (name "rust-base32")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "base32" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/andreasots/base32")
+ (synopsis "Base32 encoder/decoder for Rust")
+ (description "This library lets you encode and decode in either
+RFC4648 Base32 or in Crockford Base32.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-base58-0.1
(package
(name "rust-base58")
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 09/11] gnu: Add nitrocli.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-9-antero@kodmin.com
* gnu/packages/security-token.scm: New use-module.
---
gnu/packages/security-token.scm | 2 ++
1 file changed, 2 insertions(+)

Toggle diff (22 lines)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index fcb1123f2b..001c94d02d 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -32,6 +32,7 @@
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
@@ -39,6 +40,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 10/11] gnu: Add nitrocli.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-10-antero@kodmin.com
* gnu/packages/crates-io.scm: Add maintainer.
---
gnu/packages/crates-io.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a8cf25ba85..84f1bf784b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
--
2.31.1
A
A
Antero Mejr wrote on 30 May 2021 23:42
[PATCH 11/11] gnu: Add nitrocli.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210530214212.11807-11-antero@kodmin.com
* gnu/packages/security-token.scm: Add maintainer.
---
gnu/packages/security-token.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 001c94d02d..8f16984341 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
--
2.31.1
X
X
Xinglu Chen wrote on 31 May 2021 22:51
Re: [bug#48671] [PATCH 06/11] gnu: Add rust-merge-0.1.
(name . Antero Mejr)(address . antero@kodmin.com)
877dje39v2.fsf@yoctocell.xyz
On Sun, May 30 2021, Antero Mejr wrote:

Toggle quote (5 lines)
> * gnu/packages/crates-io.scm (rust-merge-0.1): New variable.
> ---
> gnu/packages/crates-io.scm | 42 ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)

The second package should be in a separate patch.

Toggle quote (27 lines)
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index e41920652e..7250853f81 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -23390,6 +23390,48 @@ for Rust structs.")
> (sha256
> (base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))))
>
> +(define-public rust-merge-0.1
> + (package
> + (name "rust-merge")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "merge" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
> + (build-system cargo-build-system)
> + (arguments
> + `(#:cargo-inputs
> + (("rust-merge-derive" ,rust-merge-derive-0.1)
> + ("rust-num-traits" ,rust-num-traits-0.2))))
> + (home-page "https://git.sr.ht/~ireas/merge-rs")

It also has a page on sr.ht, which contains links to the mailing list.


Toggle quote (20 lines)
> + (synopsis "Rust trait for objects that can be merged")
> + (description "This package provides a merge trait that can be used
> +to merge two objects of the same type into one.")
> + (license (list license:asl2.0 license:expat))))
> +
> +(define-public rust-merge-derive-0.1
> + (package
> + (name "rust-merge-derive")
> + (version "0.1.0")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (crate-uri "merge_derive" version))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32 "01wxhi7mqmp34l540wcfb24hb13vcbps4wlynas66bnsfra0g790"))))
> + (build-system cargo-build-system)
> + (home-page
> + "https://git.sr.ht/~ireas/merge-rs/tree/master/merge_derive")

Same as above.

Toggle quote (4 lines)
> + (synopsis "Derive macro for the merge crate")
> + (description "This crate provides a derive macro for the
> +merge::Merge crate. See the merge crate for more information.")

The last sentence doesn’t seem very helpful, it should be dropped.
Also, ‘merge::Merge’ should probably be formatted as
@code{merge::Merge}.
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmC1TFEVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5NgcP/0kX05ZoFAp3+kqA+iBdvD2E3KOI
6RQh0mCP6NiZfuM56BJURSvG1pWOZZN/1BnrJP0/tyHW+1QtYp2IA74H6jvHGwb9
eMe5zYdaIvaEFbsOZHJoomBBK+NqydKaeZOZwd0o0JLy3XUud2VytBooQcsWNkTT
x8Cb3v4o09N/+mnvGVOOI6U6qY12ATu+96qqmDZZz2u6DMBbaYJnoBq6cMC48Xig
VHYXmSXOC8FgxrL7fDAusCZIDxxajSq3R+LzuJ0E0HeqBuoQZkQr5kpYkgFVCQN2
b1FJVAPs8UEwbApkcoqv4FUhV/4+Oma2YwdF4InYDAVJyb4WUTrM7tNpqsr1jsWt
kksHH4gw4ulotZ2kswYiySUEjRIr8oUWtwvZoxitOW2F8BK0J08XPxUqkvOfP7/S
I3Chbt8cCXhLONE7Jma1e2fXRVfUmt/NQcy+OF3a8M/A8Mrf4U88QJAelR06vN/1
jwXxiEYQalnkuRRctsy6jDb9N87OmbVhAaU0gsXL3AFlMLcpvGbqPgd4S75Vx9y/
ViasQArF4bbMEMQM6jXghRJGlxWXGzaPCGErk+nng+i222DWPKEh2jDY3HjbM5kU
h8IGYGUmkXfq8uDut04mqhqDeI+tgMkhpH/0GOQMvHOtY1qLI1ZSGTXknsyCl7Qw
qBK67IIIZo8ghwbe
=DGHJ
-----END PGP SIGNATURE-----

X
X
Xinglu Chen wrote on 31 May 2021 22:53
Re: [bug#48671] [PATCH 09/11] gnu: Add nitrocli.
(name . Antero Mejr)(address . antero@kodmin.com)
87zgwa1v70.fsf@yoctocell.xyz
On Sun, May 30 2021, Antero Mejr wrote:

Toggle quote (2 lines)
> * gnu/packages/security-token.scm: New use-module.

Patches 09/11 to 11/11 should be squashed/fixed-up into the appropriate
commits.
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmC1TNMVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x53KoP/08NIyUhAylLb72BjvpXOukuYwgo
XbcXQPheZ+BSmfXSxf1mTvveyrfQFZ8fzM6oIKmc9gZfEW6RRY3y0T4YNS+Q8gJd
tWtsbJQUtwIh5Vx99HMIzbRMyyLrGVlidznLqGHuDd99BKrBrXWaYeq3k+Z9SgKY
o8IqqGwlwo62M+beiRI8Hs+XilA4jTxzKDCOpDq74obuRRih21F7xps/sR7ZlZ5D
URxzy4NotqSyVE1VjkiPwLxwq/btRocK9K7oaaN+fJHoEKaF3w3o4LKc2SF9WfKx
DTglefYDRlsG3UrasIde+lBVX4VNT/WoMaqqr6nFu+qOc/hlCkxKhfQmcKEWhd37
JzFZsxWdVoPc/Q0UsZSrZTlRgUU9R+YTYx5r6nEuVxKSfuKIJN3gEKW2YQEagOu/
h6pB6mW5cSJ40+ulA2fzfhgH0bU3o4AXWfTMyEy+j+IRo9dQwXthhsw6puY/KDDZ
r/DK94nlb8xMWkexhJcy90mP53oq6EEcr1l6VL9FoE13us53cC74GG5H/a3XCbP+
29HRfMnv7ekyas4YtTLzw9rDSeHkgumAqg5VxRMnBwRqltTb9z7DC/5+jLUnl/BO
rNA8nun02y02IZgLlY8f9axdqcchP4HCS+5i1rj/TTWJU0l/4KyDvtpC5CQiRFoq
PodYLkCZYmGpvu1V
=gcmw
-----END PGP SIGNATURE-----

X
X
Xinglu Chen wrote on 31 May 2021 23:05
Re: [bug#48671] [PATCH 01/11] gnu: Add nitrocli.
(name . Antero Mejr)(address . antero@kodmin.com)
87wnre1unv.fsf@yoctocell.xyz
On Sun, May 30 2021, Antero Mejr wrote:

Toggle quote (8 lines)
> * gnu/packages/security-token.scm (nitrocli): New variable.
> ---
> Thanks for the feedback Xinglu, I updated the package descriptions and linted.
> Resubmitting the patches as separate commits.
>
> gnu/packages/security-token.scm | 43 +++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)

The package builds fine on my end, the patches I haven’t commented on
look good.

Could you send a updated (hopefully final) series? :)
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmC1T4QVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5TRwQAJpk0k0XneWV2G6AcwmCPiFz5LHk
LskWK7+9x0EX7ne4WmFMhD/7rba+uLTwzuU+sP2y/eyUTtNYlI9gAAyAB65jAh6a
4Z7YCHXabNnXWTEPHRrQ1VAvV5MJhaS55ek3s6wMiqrRLW07557ifYtx5zq2XgP9
srxmnG/4lK6TI7Gx3xp1vi6VpoDcBb07lJWZgvtEn9UsaNIgF9vu+FGZ201LxBoY
CKdiJOKlV86UGNmOiJJlqrFtWUoKLVqX+3UON3y5szQSwltdQ9ZPGbOGpI7GE2IL
Aas4TmnPmpcEWZ0q7bfH/LfU/cL4vzTxPsGP57N8IEqeMtCNQfQ42W9uDgOwfzZP
KZ7JTi7vBU7/SAFaUCxJAZ8ySYw2RzheDHUSHzPNcPZluehAZpzs4vt/f2b+Vc4g
T/Xw9r2ZXPDO6TedHA4WHxqbT+vwXQSF1jggT9M6N0iMP8mE+jit2buWvucQfmn6
m1Gg7tt9Z1eDTQ53KQSz52h4qkIsIlLGZ2nBdQ2ga3SwRQxB1bPSF5OAfBTH/dQp
k1UggNfVxcuwfiUcOBb0/U6ElytpGUVCQjZMgXdzWuh9+GBYgEMQYDdJ6q0nfmLw
QiU5apVYJXqNsyZk/WB7bgy3f1rR1REvV0KjTr1KD4GvSlwma0fNF7ofccSRaeEL
lHeO5y9xz1CilIXZ
=Vsdd
-----END PGP SIGNATURE-----

A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 1/9] gnu: Add nitrocli.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-1-antero@kodmin.com
* gnu/packages/security-token.scm (nitrocli): New variable.
---
Updated patch set with the requested changes.

gnu/packages/security-token.scm | 46 +++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index dfa43bb2bf..8f16984341 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -9,6 +9,7 @@
;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +33,7 @@
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
@@ -39,6 +41,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages check)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages dns)
@@ -674,3 +677,46 @@ that after installing this package, you might still need to add appropriate
udev rules to your system configuration to be able to configure the YubiKey as
an unprivileged user.")
(license license:bsd-2)))
+
+(define-public nitrocli
+ (package
+ (name "nitrocli")
+ (version "0.4.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrocli" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1djspfvcqjipg17v8hkph8xrhkdg1xqjhq5jk1sr8vr750yavidy"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ;; 2/164 tests fail, nitrocli-ext tests failing
+ #:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-base32" ,rust-base32-0.4)
+ ("rust-directories" ,rust-directories-3)
+ ("rust-envy" ,rust-envy-0.4)
+ ("rust-libc-0.2" ,rust-libc-0.2)
+ ("rust-merge" ,rust-merge-0.1)
+ ("rust-nitrokey" ,rust-nitrokey-0.9)
+ ("rust-progressing" ,rust-progressing-3)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-structopt" ,rust-structopt-0.3.21)
+ ("rust-termion" ,rust-termion-1)
+ ("rust-toml" ,rust-toml-0.5))
+ #:cargo-development-inputs
+ (("rust-nitrokey-test" ,rust-nitrokey-test-0.5)
+ ("rust-nitrokey-test-state" ,rust-nitrokey-test-state-0.1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (inputs
+ `(("hidapi" ,hidapi)
+ ("gnupg" ,gnupg)))
+ (home-page "https://github.com/d-e-s-o/nitrocli")
+ (synopsis "Command line tool for Nitrokey devices")
+ (description
+ "nitrocli is a program that provides a command line interface
+for interaction with Nitrokey Pro, Nitrokey Storage, and Librem Key
+devices.")
+ (license license:gpl3+)))
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 2/9] gnu: Add rust-structopt-derive-0.4.14.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-2-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-structopt-derive-0.4.14): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 318b2c695b..64fa6ef2f5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40446,6 +40446,34 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct, derive crate.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-derive-0.4.14
+ (package
+ (name "rust-structopt-derive")
+ (version "0.4.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt-derive" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "143gjwvz3s86hwp070km83y25n8kqp5f01kb1dr19f4ilkywvaav"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-heck" ,rust-heck-0.3)
+ ("rust-proc-macro-error" ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-quote" ,rust-quote-1))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct, derive crate")
+ (description
+ "This package provides the derive Rust crate for the structopt crate.")
+ (license license:asl2.0)))
+
(define-public rust-structopt-derive-0.2
(package
(name "rust-structopt-derive")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 3/9] gnu: Add rust-structopt-0.3.21.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-3-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-structopt-0.3.21): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 64fa6ef2f5..dd9800b733 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -40394,6 +40394,33 @@ and Jaro-Winkler.")
"Parse command line argument by defining a struct.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-structopt-0.3.21
+ (package
+ (name "rust-structopt")
+ (version "0.3.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "structopt" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "136j0lvjmpv5syi751vxg8vb30gfyv4k81x8d18kxrj6xvbsqxsj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-structopt-derive" ,rust-structopt-derive-0.4.14)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-clap" ,rust-clap-2))))
+ (home-page "https://github.com/TeXitoi/structopt")
+ (synopsis "Parse command line argument by defining a struct")
+ (description
+ "This package parses command lines arguments by defining a Rust
+struct.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-structopt-0.2
(package
(name "rust-structopt")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 5/9] gnu: Add rust-nitrokey-0.9.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-5-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-nitrokey-0.9): New variable.
---
gnu/packages/crates-io.scm | 90 ++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)

Toggle diff (103 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e20feb78f2..e41920652e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -25107,6 +25107,96 @@ selectors. You can use the jQuery-like syntax to query and manipulate an HTML
document quickly.")
(license (list license:expat license:asl2.0))))
+(define-public rust-nitrokey-0.9
+ (package
+ (name "rust-nitrokey")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0c8mj52ckvy1311vwxs6jpw16b2bihp5cc811isb96j9slcjvsyx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-lazy_static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-nitrokey-sys" ,rust-nitrokey-sys-3)
+ ("rust-rand_core" ,rust-rand-core-0.5))))
+ (home-page "https://git.sr.ht/~ireas/nitrokey-rs")
+ (synopsis "Rust bindings to libnitrokey")
+ (description
+ "This package provides bindings to libnitrokey for communication
+with Nitrokey devices.")
+ (license license:expat)))
+
+(define-public rust-nitrokey-sys-3
+ (package
+ (name "rust-nitrokey-sys")
+ (version "3.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08c3lnb8iqx000jd5rzvrdvv4ihjyw3x3s8q11dw56is0nmjyvws"))))
+ (build-system cargo-build-system)
+ (home-page "https://git.sr.ht/~ireas/nitrokey-sys-rs")
+ (synopsis "Low-level Rust bindings for libnitrokey")
+ (description
+ "This package provides low-level bindings to libnitrokey for
+communication with Nitrokey devices.")
+ (license license:lgpl3)))
+
+(define-public rust-nitrokey-test-0.5
+ (package
+ (name "rust-nitrokey-test")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "197j9r2s4ydzbqfydza6v31mgcsgd29jpidz4psqawjdm49f8lg6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("quote" ,rust-quote-1)
+ ("syn" ,rust-syn-1))))
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "Supporting test infrastructure for the nitrokey crate")
+ (description
+ "This package provides supporting test infrastructure for the
+nitrokey crate and others using it.")
+ (license license:gpl3+)))
+
+(define-public rust-nitrokey-test-state-0.1
+ (package
+ (name "rust-nitrokey-test-state")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "nitrokey-test-state" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00w817kl8q3sna924pzl72ybqljny14rdv1ixlj288fmsqp776x5"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/d-e-s-o/nitrokey-test")
+ (synopsis "State required and used by the nitrokey-test crate")
+ (description "This package provides state required and used by the
+nitrokey-test crate.")
+ (license license:gpl3+)))
+
(define-public rust-nix-0.20
(package
(name "rust-nix")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 7/9] gnu: Add rust-merge-derive-0.1.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-7-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-merge-derive-0.1): New variable.
---
gnu/packages/crates-io.scm | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)

Toggle diff (31 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f29c1f2a0c..afdf39fc40 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23413,6 +23413,24 @@ for Rust structs.")
to merge two objects of the same type into one.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-merge-derive-0.1
+ (package
+ (name "rust-merge-derive")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "01wxhi7mqmp34l540wcfb24hb13vcbps4wlynas66bnsfra0g790"))))
+ (build-system cargo-build-system)
+ (home-page "https://sr.ht/~ireas/merge-rs")
+ (synopsis "Derive macro for the merge crate")
+ (description "This crate provides a derive macro for the
+@code{merge::Merge} crate.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-merlin-2
(package
(name "rust-merlin")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 6/9] gnu: Add rust-merge-0.1.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-6-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-merge-0.1): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e41920652e..f29c1f2a0c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23390,6 +23390,29 @@ for Rust structs.")
(sha256
(base32 "13ir50j549gdz94pds1i7ljnk14d66q5x91s11hncm1pih7jif8c"))))))
+(define-public rust-merge-0.1
+ (package
+ (name "rust-merge")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "merge" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sck0vhi9lk8a6mgky0rgn842fj7yspywidwbd963nmimf9yzfqh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-merge-derive" ,rust-merge-derive-0.1)
+ ("rust-num-traits" ,rust-num-traits-0.2))))
+ (home-page "https://sr.ht/~ireas/merge-rs")
+ (synopsis "Rust trait for objects that can be merged")
+ (description "This package provides a merge trait that can be used
+to merge two objects of the same type into one.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-merlin-2
(package
(name "rust-merlin")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 8/9] gnu: Add rust-envy-0.4.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-8-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-envy-0.4): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index afdf39fc40..49aa008fba 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13308,6 +13308,30 @@ variables.")
"Environment variables utility functions.")
(license license:asl2.0)))
+(define-public rust-envy-0.4
+ (package
+ (name "rust-envy")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "envy" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rar459p7pl19v6pbx98q3hi2hxfl8q1ndxxw5d4zd9cgway0irz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1))))
+ (home-page "https://github.com/softprops/envy")
+ (synopsis "Deserialize environment variables into Rust structs")
+ (description
+ "This package provides access to typesafe config structs
+deserialized from environment variables.")
+ (license license:expat)))
+
(define-public rust-erased-serde-0.3
(package
(name "rust-erased-serde")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 4/9] gnu: Add rust-progressing-3.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-4-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-progressing-3): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd9800b733..e20feb78f2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -30203,6 +30203,29 @@ macro use case.")
@code{proc_macro_derive} pretend to be @code{proc_macro}.")
(license (list license:expat license:asl2.0))))
+(define-public rust-progressing-3
+ (package
+ (name "rust-progressing")
+ (version "3.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "progressing" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06sb1cxpkc8lx56s76c95cfljs0513nsnn35wd6w79sblwcxpdwp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("log" ,rust-log-0.4))))
+ (home-page "https://github.com/dominicparga/progressing")
+ (synopsis "Counting progress-bar for Rust")
+ (description
+ "This package provides a set of text-based, counting
+progress-bars for Rust.")
+ (license license:asl2.0)))
+
(define-public rust-progrs-0.1
(package
(name "rust-progrs")
--
2.31.1
A
A
Antero Mejr wrote on 1 Jun 2021 01:55
[PATCH 9/9] gnu: Add rust-base32-0.4.
(address . 48671@debbugs.gnu.org)(name . Antero Mejr)(address . antero@kodmin.com)
20210531235542.43130-9-antero@kodmin.com
* gnu/packages/crates-io.scm (rust-base32-0.4): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 49aa008fba..56af2bf129 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3702,6 +3703,25 @@ trace (backtrace) at runtime in a Rust program.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-base32-0.4
+ (package
+ (name "rust-base32")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "base32" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ykwx8jhksqxghfgyw2pzikzjf4n9wqm1x2ww5wqyn68ssf6dki3"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/andreasots/base32")
+ (synopsis "Base32 encoder/decoder for Rust")
+ (description "This library lets you encode and decode in either
+RFC4648 Base32 or in Crockford Base32.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-base58-0.1
(package
(name "rust-base58")
--
2.31.1
X
X
Xinglu Chen wrote on 1 Jun 2021 23:48
Re: [bug#48671] [PATCH 1/9] gnu: Add nitrocli.
(name . Antero Mejr)(address . antero@kodmin.com)
87a6o9xnmw.fsf@yoctocell.xyz
On Mon, May 31 2021, Antero Mejr wrote:

Toggle quote (4 lines)
> * gnu/packages/security-token.scm (nitrocli): New variable.
> ---
> Updated patch set with the requested changes.

Thank you for the work!

The changes look good to me, I don’t have commit access though.
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEAVhh4yyK5+SEykIzrPUJmaL7XHkFAmC2qxcVHHB1YmxpY0B5
b2N0b2NlbGwueHl6AAoJEKz1CZmi+1x5RDcP+wWSr9hy7oz/29aE/oPE2b2WgwK4
pSoaYEzukhiWW5PylSQT6FWzCWtOl6l32BIjg3tviBKbByC2PozXnhjdzpaxxU/X
IyG7n5/strKXAfBuauWWaMa/Y7VgwCot0AgbkMEjDYdVBWLfFCGaq/K3HSHLZXvs
g/J1nCMDEPrAwz40JcNGlJ/im2OpOELQqiYSel3guLE89ySdaZOfOlvID8yRZqOo
l7JKPscfb7hlxuyvMO+8XlXQc9XSncCuqzcIwUtuCAIYZ8iD9L/uJ+kUjtbxDVlE
QeF47t1Aq9DYXs0dSgSYzbVTwBkSQ2QpJliozMlSQYDfZXn+ECuIhbRXFFJhVQTh
DZH8YFh+zkPTGu/VzF89yIDZo0Uf5goIfaDA3qgDd7GhuUr0T2T7W8hSSYimpZC1
rIQFr+sZW3iFv8gYHDSwvATgy2zARyxjJIJuEcfhaGdAj2WRHyfAmbWMNSCiOvCt
l7vi3gm0E1tW8Dv3Iq+hSF/6VVPCFZk94H5vMbl8IA6mHWaX5ly3PYsjr3rxFftX
kCUrQYmLdfCocdSiBbS454aW9Sg/1+G4gI+NfJJrVnNbt6EJii3QbYACc7jlpfsx
D1cw14TMyWJYd0eyGzyQUl2MNi808FX7MWLfskFdCo9qpW2FXqvHBkrF6dZTjdhW
IpLxq3qEmUt8+l/s
=RIVJ
-----END PGP SIGNATURE-----

N
N
Nicolas Goaziou wrote on 5 Jun 2021 22:38
(name . Antero Mejr)(address . antero@kodmin.com)(address . 48671-done@debbugs.gnu.org)
87r1hgavyp.fsf@nicolasgoaziou.fr
Hello,

Antero Mejr <antero@kodmin.com> writes:

Toggle quote (2 lines)
> * gnu/packages/security-token.scm (nitrocli): New variable.

Thank you! I applied the whole set.

Toggle quote (2 lines)
> + ("rust-structopt" ,rust-structopt-0.3.21)

We don't provide Rust package variants to patch level. I changed the
patch introducing rust-structopt-0.3.21 into an update of existing
rust-structopt-0.3. Likewise for rust-structcopt-derive.

Thanks to Xinglu Chen for the review, too.

Regards,
--
Nicolas Goaziou
Closed
?