From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id mE5gJ85Dr2Ca3gAAgWs5BA (envelope-from ) for ; Thu, 27 May 2021 09:01:34 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id 2IoLI85Dr2AoEwAAbx9fmQ (envelope-from ) for ; Thu, 27 May 2021 07:01:34 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E63DC1D266 for ; Thu, 27 May 2021 09:01:33 +0200 (CEST) Received: from localhost ([::1]:36428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmA1L-0001rq-Ud for larch@yhetil.org; Thu, 27 May 2021 03:01:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43926) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmA0v-0001pH-Qm for guix-patches@gnu.org; Thu, 27 May 2021 03:01:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38953) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lmA0s-0003no-5l for guix-patches@gnu.org; Thu, 27 May 2021 03:01:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lmA0s-00042O-4p for guix-patches@gnu.org; Thu, 27 May 2021 03:01:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#48671] [PATCH] Add nitrocli Resent-From: Xinglu Chen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 27 May 2021 07:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48671 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Antero Mejr , 48671@debbugs.gnu.org Cc: Antero Mejr Received: via spool by 48671-submit@debbugs.gnu.org id=B48671.162209881415416 (code B ref 48671); Thu, 27 May 2021 07:01:02 +0000 Received: (at 48671) by debbugs.gnu.org; 27 May 2021 07:00:14 +0000 Received: from localhost ([127.0.0.1]:50495 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmA05-00040a-NF for submit@debbugs.gnu.org; Thu, 27 May 2021 03:00:14 -0400 Received: from h87-96-130-155.cust.a3fiber.se ([87.96.130.155]:47022 helo=mail.yoctocell.xyz) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmA03-0003zE-4r for 48671@debbugs.gnu.org; Thu, 27 May 2021 03:00:12 -0400 From: Xinglu Chen DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yoctocell.xyz; s=mail; t=1622098798; bh=tob84C01ouZiOLSHPaGNBoMozDwJXhDXch+l7JBbUQk=; h=From:To:Cc:Subject:In-Reply-To:References:Date; b=Cf5Stx+gizn8di+6ZVP9GG/jUZ3OgdZBSFwfBJ++a5X7SzuCh7fnofTwI2LcgJqUt 6ZG9JXRkcI+/pftQEQkYTczyx/3V34EaneHQUBwXSdQmnQZQSybKdydnx/VSF0AxJw cuLyaQdeduy0G3jbRk4J51NelKfYzRt6zQ9uSAnc= In-Reply-To: <20210526035755.79632-1-antero@kodmin.com> References: <20210526035755.79632-1-antero@kodmin.com> Date: Thu, 27 May 2021 08:59:57 +0200 Message-ID: <8735u83bma.fsf@yoctocell.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1622098894; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=O6DJ6dSffR9cNAT3ho9LKC28uUUVQ/7OPUNoQa4SS5s=; b=C5LnzOwh9usIf5ERywlIjDhjvj1jQ8vQGHnVhwjvLfPrMddmCFIXepmnfb9Y6hty12uZ4A MJSugX++dTocuNT34oSAqzZLLNdiqIDITeRBMxNThnoz/u2LTN3Si548KkGEuF5snNkgRF e91rDGMAupk8FpRI1597Vj74A9jNosV1lmWLJfNoOobmtYlG7hoF1FSqnG6kbRZeE234Ov nZLjjM7FfmPXMUJS9ML0GoXgzptjtA93tEXvZBN7v2dEtv12mEM4YQgbqC5sEHq2E/C5HE VKU2ixmXQNv29oP/u80OjqZIbtm3eSVJgmZSF1ONXAz+PtWGIZc37JazmLM+CA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1622098894; a=rsa-sha256; cv=none; b=d1G8Q4vbssrYK8lLWuKoF3V6HyHF7ZxD3WIuigzd0PfRo3ADfuRP8KilbEKuybIqifOzFw BBseqkX/+/swuJCT7/1zimN3NboByM3ylDoNKgYUHmtdYWRn8BZOaqJ+Yuh4Sx6+pUYLpP QooRFIT6RjXeuWT7gLXzdhtajve+I9air97gjLUIHpzUZMu5/Wnd1mQOdvrc0OrOmOaKZk Qkg0W/iD30zXG1QMEqZZInp6hVAZd9WDsG2HPaegCEh3wUxjuofQpFxGSP1fidzOD9xbYM RNzBI0XFMEzSYv3C0Bb69m70FCRafVR32ZK0hpSSjby3764mzoT1cce/SdO+0w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=yoctocell.xyz header.s=mail header.b=Cf5Stx+g; dmarc=fail reason="SPF not aligned (relaxed)" header.from=yoctocell.xyz (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -3.43 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=yoctocell.xyz header.s=mail header.b=Cf5Stx+g; dmarc=fail reason="SPF not aligned (relaxed)" header.from=yoctocell.xyz (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: E63DC1D266 X-Spam-Score: -3.43 X-Migadu-Scanner: scn0.migadu.com X-TUID: S3GKY12ygFcN --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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 =E2=80=98guile etc/committers.scm=E2=80=99 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 =E2=80=9816.4.4 Synopses and Descriptions=E2=80=99 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 =E2=80=98A=E2=80=99 or =E2=80=98The= =E2=80=99. > + (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)))) >=20=20 > +(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 c= rate") > + (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 =E2=80=98guix lint=E2=80=99 before submitting patches, most of t= hese mistakes should have been caught by it. Could you send an updated patch set? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----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----- --=-=-=--