From eef9e0ee8fc7201020a3ef31c28a07023e23dc0c Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Wed, 1 May 2024 20:28:52 +0000 Subject: gnu: rofi-pass: Update to 2.0.2-0.8aa6b92. 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. : Add fix-etc-path and wrap-path phases. Remove configure and build. [propagated-inputs]: Move to ... [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(-) (limited to 'gnu/packages') diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 12688c9a63..d77aa1c8b0 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2022 Nicolas Graves ;;; Copyright © 2022 Petr Hodina ;;; Copyright © 2023 Christian Miller +;;; Copyright © 2024 John Kehayias ;;; ;;; 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 -- cgit v1.2.3