unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Xinglu Chen <public@yoctocell.xyz>
To: Antero Mejr <antero@kodmin.com>, 48671@debbugs.gnu.org
Cc: Antero Mejr <antero@kodmin.com>
Subject: [bug#48671] [PATCH] Add nitrocli
Date: Thu, 27 May 2021 09:11:03 +0200	[thread overview]
Message-ID: <871r9s3b3s.fsf@yoctocell.xyz> (raw)
In-Reply-To: <20210526035755.79632-1-antero@kodmin.com>

On Tue, May 25 2021, Antero Mejr wrote:

> ---
> 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.

>  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).

> +(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.

> +(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.

> +(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.

> +(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.

> +(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.

> +(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.

> +    (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.

> +(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’.

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

Full sentence.

> +    (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.

> +(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.

> +(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?





  parent reply	other threads:[~2021-05-27  7:12 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-26  3:57 [bug#48671] [PATCH] Add nitrocli Antero Mejr
2021-05-27  6:59 ` Xinglu Chen
2021-05-27  7:11 ` Xinglu Chen [this message]
2021-05-30 21:42 ` [bug#48671] [PATCH 01/11] gnu: " Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 02/11] gnu: Add rust-structopt-derive-0.4.14 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 03/11] gnu: Add rust-structopt-0.3.21 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 04/11] gnu: Add rust-progressing-3 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 05/11] gnu: Add rust-nitrokey-0.9 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 06/11] gnu: Add rust-merge-0.1 Antero Mejr
2021-05-31 20:51     ` Xinglu Chen
2021-05-30 21:42   ` [bug#48671] [PATCH 07/11] gnu: Add rust-envy-0.4 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 08/11] gnu: Add rust-base32-0.4 Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 09/11] gnu: Add nitrocli Antero Mejr
2021-05-31 20:53     ` Xinglu Chen
2021-05-30 21:42   ` [bug#48671] [PATCH 10/11] " Antero Mejr
2021-05-30 21:42   ` [bug#48671] [PATCH 11/11] " Antero Mejr
2021-05-31 21:05   ` [bug#48671] [PATCH 01/11] " Xinglu Chen
2021-05-31 23:55 ` [bug#48671] [PATCH 1/9] " Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 2/9] gnu: Add rust-structopt-derive-0.4.14 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 3/9] gnu: Add rust-structopt-0.3.21 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 4/9] gnu: Add rust-progressing-3 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 5/9] gnu: Add rust-nitrokey-0.9 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 6/9] gnu: Add rust-merge-0.1 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 7/9] gnu: Add rust-merge-derive-0.1 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 8/9] gnu: Add rust-envy-0.4 Antero Mejr
2021-05-31 23:55   ` [bug#48671] [PATCH 9/9] gnu: Add rust-base32-0.4 Antero Mejr
2021-06-01 21:48   ` [bug#48671] [PATCH 1/9] gnu: Add nitrocli Xinglu Chen
2021-06-05 20:38   ` bug#48671: " Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871r9s3b3s.fsf@yoctocell.xyz \
    --to=public@yoctocell.xyz \
    --cc=48671@debbugs.gnu.org \
    --cc=antero@kodmin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).