unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#48671] [PATCH] Add nitrocli
@ 2021-05-26  3:57 Antero Mejr
  2021-05-27  6:59 ` Xinglu Chen
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Antero Mejr @ 2021-05-26  3:57 UTC (permalink / raw)
  To: 48671; +Cc: Antero Mejr

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=true, Size: 13744 bytes --]

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

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





^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2021-06-05 20:39 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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

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