With no release in over 5 years, update to the most recent commit to include
features like Wayland support. Rewrite the package definition to use the
makefile, patch paths, and generally improve the style.
* gnu/packages/password-utils.scm (rofi-pass): Update to 2.0.2-0.8aa6b92.
[origin]: Use git-fetch rather than just the individual script.
[build-system]: Switch to gnu-build-system.
[arguments]: Remove modules and builder. Disable tests. Add make-flags.
<phases>: Add fix-etc-path and wrap-path phases. Remove configure and build.
[propagated-inputs]: Remove all, adding ...
[inputs]: ... here. Add bash-minimal, pwgen, xclip, and xset.
Change-Id: Ia03ef46f3b567bc2eb6d1350db3612043f06d94b
---
gnu/packages/password-utils.scm | 90 ++++++++++++++++++++++-----------
1 file changed, 60 insertions(+), 30 deletions(-)
Toggle diff (115 lines)
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index eb64a7f306..96243a60ea 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -40,6 +40,7 @@
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Christian Miller <christian.miller@dadoes.de>
+;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -906,35 +907,64 @@ (define-public qtpass
(license license:gpl3+)))
(define-public rofi-pass
- (package
- (name "rofi-pass")
- (version "2.0.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://raw.githubusercontent.com/carnager/rofi-pass/"
- version "/rofi-pass"))
- (sha256
- (base32 "0msldkndqp40nx1s5s7ggcr97ir4nshpmnyzvj5hqw1l7m3gvw6j"))
- (file-name name)))
- (build-system trivial-build-system)
- (arguments
- `(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((source (string-append (assoc-ref %build-inputs "source")))
- (script "rofi-pass")
- (out (assoc-ref %outputs "out")))
- (copy-file source script)
- (chmod script #o555)
- (install-file script (string-append out "/bin"))))))
- (propagated-inputs
- (list password-store rofi xdotool))
- (home-page "https://github.com/carnager/rofi-pass")
- (synopsis "Rofi frontend for password-store")
- (description "Rofi-pass provides a way to manipulate information stored
+ ;; No release in over 5 years with recent commits adding features like
+ ;; Wayland support.
+ (let ((commit "8aa6b9293a8f0af267425326fa966966ca42085e")
+ (revision "0"))
+ (package
+ (name "rofi-pass")
+ (version (git-version "2.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/carnager/rofi-pass")
+ (commit commit)))
+ (sha256
+ (base32
+ "0axz4ijp6fay6f2yn1cg6223l89jkg8wnxslbk1g5jpli0njxw43"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ; no tests
+ #:make-flags #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-etc-path
+ (lambda _
+ (substitute* "Makefile"
+ (("\\$\\(DESTDIR\\)/etc")
+ (string-append #$output "/etc")))
+ (substitute* "rofi-pass"
+ (("/etc")
+ (string-append #$output "/etc")))))
+ (delete 'configure) ; no configure
+ (delete 'build) ; no build
+ (add-after 'install 'wrap-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((bin (string-append #$output "/bin")))
+ (for-each
+ (lambda (script)
+ (wrap-program (string-append bin "/" script)
+ (list "PATH" 'prefix
+ (map
+ (lambda (binary)
+ (dirname (search-input-file
+ inputs
+ (string-append "bin/" binary))))
+ '("pass" "pwgen" "rofi"
+ "xclip" "xdotool" "xset")))))
+ (list "addpass" "rofi-pass"))))))))
+ (inputs (list bash-minimal ;for wrap-program
+ password-store
+ pwgen
+ rofi
+ xclip
+ xdotool
+ xset))
+ (home-page "https://github.com/carnager/rofi-pass")
+ (synopsis "Rofi frontend for password-store")
+ (description "Rofi-pass provides a way to manipulate information stored
using password-store through rofi interface:
@enumerate
@item open URLs of entries with hotkey;
@@ -944,7 +974,7 @@ (define-public rofi-pass
@item auto-typing of more than one field, using the autotype entry;
@item bookmarks mode (open stored URLs in browser, default: Alt+x).
@end enumerate")
- (license license:gpl3)))
+ (license license:gpl3))))
(define-public tessen
(package