From 54b41d2d7158f1696a663ac2ae46661e759a1648 Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Sat, 20 Apr 2019 11:59:35 -0500 Subject: [PATCH] gnu: Add pass-otp. * gnu/packages/password-utils.scm (pass-otp): New variable. Signed-off-by: Christopher Baines --- gnu/packages/password-utils.scm | 51 +++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 8c5f3dd9e8..b238d39a70 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -48,6 +48,7 @@ (define-module (gnu packages password-utils) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages aidc) + #:use-module (gnu packages authentication) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -74,6 +75,7 @@ (define-module (gnu packages password-utils) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages suckless) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages qt) #:use-module (gnu packages version-control) @@ -499,6 +501,55 @@ (define-public password-store through the pass command.") (license license:gpl2+))) +(define-public pass-otp + (package + (name "pass-otp") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/tadfisher/pass-otp/releases/" + "download/v" version "/pass-otp-" version ".tar.gz")) + (sha256 + (base32 + "0rrs3iazq80dn0wbl20xkh270428jd8l99m5gd7hl93s4r4sc82p")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (let* ((out (assoc-ref %outputs "out")) + (bashcomp (string-append out "/etc/bash_completion.d"))) + (list (string-append "PREFIX=" %output) + (string-append "BASHCOMPDIR=" bashcomp))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'patch-oath-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "otp.bash" + (("^OATH=.*$") + (string-append + "OATH=" + (assoc-ref inputs "oath-toolkit") + "/bin/oathtool\n"))) + #t))) + #:test-target "test")) + (inputs + `(("oath-toolkit" ,oath-toolkit))) + (native-inputs + `(("password-store" ,password-store) + ("expect" ,expect) + ("git" ,git) + ("gnupg" ,gnupg) + ("which" ,which))) + (home-page "https://github.com/tadfisher/pass-otp") + (synopsis "Pass extension for managing one-time-password (OTP) tokens") + (description + "Pass OTP is an extension for password-store that allows adding +one-time-password (OTP) secrets, generating OTP codes, and displaying secret +key URIs using the standard otpauth:// scheme.") + (license license:gpl3+))) + (define-public argon2 (package (name "argon2")