(define-module (nitrocli-nk3) #:use-module (gnu packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages curl) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages dns) #:use-module (gnu packages flex) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages man) #:use-module (gnu packages networking) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages popt) #:use-module (gnu packages readline) #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages tex) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages swig) #:use-module (gnu packages suckless) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml)) (define-public rust-libudev-sys-custom (package (name "rust-libudev-sys-custom") (version "0.1.4") (source (origin (method url-fetch) (uri (crate-uri "libudev-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "09236fdzlx9l0dlrsc6xx21v5x8flpfm3d5rjq9jr5ivlas6k11w")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-libc-0.2" ,rust-libc-0.2)))) (inputs (list eudev pkg-config)) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public rust-udev-custom (package (name "rust-udev-custom") (version "0.7.0") (source (origin (method url-fetch) (uri (crate-uri "udev" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "06hr927z0fdn7ay0p817b9x19i5fagmpmvz95yhl4d1pf3bbpgaf")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-io-lifetimes" ,rust-io-lifetimes-1) ("rust-mio" ,rust-mio-0.8) ("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-libudev-sys-custom" ,rust-libudev-sys-custom) ("rust-libc-0.2" ,rust-libc-0.2)))) (inputs (list pkg-config eudev)) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public rust-hidapi-custom (package (name "rust-hidapi-custom") (version "1.4.1") (source (origin (method url-fetch) (uri (crate-uri "hidapi" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "08kqkz9vcayylfsp0w63svaz0vff3p6vyrhpp3g9h6b98drp3c9q")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-cc" ,rust-cc-1) ("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-nix" ,rust-nix-0.26) ("rust-udev-custom" ,rust-udev-custom) ("rust-libc-0.2" ,rust-libc-0.2)))) (inputs (list hidapi gnupg eudev pkg-config libusb)) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public rust-ctaphid-types-custom (package (name "rust-ctaphid-types-custom") (version "0.2.0") (source (origin (method url-fetch) (uri (crate-uri "ctaphid-types" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0l4k4gry2aik77ra55kys3n52s0avds6gapcklmm6d2idpccs527")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-quickcheck" ,rust-quickcheck-1)))) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public rust-ctaphid-custom (package (name "rust-ctaphid-custom") (version "0.3.1") (source (origin (method url-fetch) (uri (crate-uri "ctaphid" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "04gyyxgplp3wwlr6g6m34lqpbp1x5dalp1bha794hzklw51jfqma")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-hidapi-custom" ,rust-hidapi-custom) ("rust-log" ,rust-log-0.4) ("rust-rand-core" ,rust-rand-core-0.6) ("rust-ctaphid-types-custom" ,rust-ctaphid-types-custom) ("rust-hex" ,rust-hex-0.4) ("rust-env-logger" ,rust-env-logger-0.9) ("rust-tap" ,rust-tap-1) ("rust-serde-cbor" ,rust-serde-cbor-0.11) ("rust-once-cell" ,rust-once-cell-1) ("rust-libc-0.2" ,rust-libc-0.2)))) (inputs (list eudev pkg-config)) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public rust-nitrokey3-custom (package (name "rust-nitrokey3-custom") (version "0.3.0") (source (origin (method url-fetch) (uri (crate-uri "nitrokey3" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0g75qfwvbfl4dg3zq2pdf06n5lwhmvqnl64jmisqvynqncksh4w0")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Tests want font files. #:cargo-inputs (("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-hidapi-custom" ,rust-hidapi-custom) ("rust-ctaphid-custom" ,rust-ctaphid-custom) ("rust-log" ,rust-log-0.4) ("rust-tap" ,rust-tap-1)))) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public nitrocli-nk3 (package (name "nitrocli-nk3") (version "main") (source (origin (method git-fetch) (uri (git-reference (url "https://git.sr.ht/~ireas/nitrocli-nk3") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0pipwxf166lkc3kjrnl6qfmjavwbhx4l7l9qk86l6g51l8qzq15d")))) (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-nitrokey3-custom" ,rust-nitrokey3-custom) ("rust-progressing" ,rust-progressing-3) ("rust-serde" ,rust-serde-1) ("rust-structopt" ,rust-structopt-0.3) ("rust-termion" ,rust-termion-1) ("rust-hex" ,rust-hex-0.4) ("rust-hidapi-custom" ,rust-hidapi-custom) ("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 (list hidapi gnupg pkg-config)) (home-page "https://github.com/d-e-s-o/nitrocli") (synopsis "Command line tool for Nitrokey devices") (description "nitrocli-nk3 is a program that provides a command line interface for interaction with Nitrokey 3") (license license:gpl3+))) (define-public nitrocli-custom (package (name "nitrocli-custom") (version "devel") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/d-e-s-o/nitrocli") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0xy169qf5vckvzx48lmkcpd83pw5crnvfl8a7p5wp2cbkrl60pnc")))) (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-4) ("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) ("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 (list hidapi 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+)))