Subject: [bug#57794] [PATCH 1/1] gnu: Add cpass.

From: "(" <[email-masked]>
Date: Wed, 14 Sep 2022 07:48:32 +0100

* gnu/packages/password-utils.scm (cpass): New variable.
---
 gnu/packages/password-utils.scm | 38 +++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 003e346305..bcc1d9421d 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -36,6 +36,7 @@
 ;;; Copyright © 2021 David Dashyan <[email-masked]>
 ;;; Copyright © 2022 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2022 Maxime Devos <[email-masked]>
+;;; Copyright © 2022 ( <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -58,6 +59,7 @@ (define-module (gnu packages password-utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system go)
+  #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module (guix gexp)
@@ -109,8 +111,7 @@ (define-module (gnu packages password-utils)
   #:use-module (gnu packages wxwidgets)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages xml)
-  #:use-module (guix build-system python))
+  #:use-module (gnu packages xml))
 
 (define-public pwgen
   (package
@@ -1315,3 +1316,36 @@ (define-public pass-tomb
 therefore you don't need to manage more key or secret.  Moreover, you can ask
 pass-tomb to automatically close your store after a given time.")
     (license license:gpl3+)))
+
+(define-public cpass
+  (package
+    (name "cpass")
+    (version "0.9.4")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "cpass" version))
+              (sha256
+               (base32
+                "1zp3a8mgqxn916fzj1v2yhgnl7v6s0vnd0qcghqs3qq648qmlwr5"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'patch-pass-refs
+                 (lambda* (#:key inputs #:allow-other-keys)
+                   (substitute* "cpass.py"
+                     (("'pass'")
+                      (string-append "'"
+                                     (search-input-file inputs
+                                                        "bin/pass")
+                                     "'"))
+                     (("\\.password_store")
+                      ".password-store")))))))
+    (inputs (list password-store))
+    (propagated-inputs (list python-urwid))
+    (home-page "https://github.com/OliverLew/cpass")
+    (synopsis "Textual interface for @command{pass}")
+    (description
+     "@command{cpass} is a terminal user interface for @command{pass}.
+It supports both vim-like keybindings and the mouse.")
+    (license license:expat)))
-- 
2.37.3