all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: John Kehayias via Guix-patches via <guix-patches@gnu.org>
To: 70703@debbugs.gnu.org
Cc: John Kehayias <john.kehayias@protonmail.com>
Subject: [bug#70703] [PATCH 1/2] gnu: rofi-pass: Update to 2.0.2-0.8aa6b92.
Date: Wed, 01 May 2024 20:28:52 +0000	[thread overview]
Message-ID: <aa94bdf9811c4bfbdbf0c0cf812bdd9f842528a0.1714594998.git.john.kehayias@protonmail.com> (raw)
In-Reply-To: <cover.1714594998.git.john.kehayias@protonmail.com>

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(-)

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
--
2.41.0






  reply	other threads:[~2024-05-01 20:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 20:26 [bug#70703] [PATCH 0/2] Update rofi-pass; add rofi-pass-wayland John Kehayias via Guix-patches via
2024-05-01 20:28 ` John Kehayias via Guix-patches via [this message]
2024-05-01 20:29 ` [bug#70703] [PATCH 2/2] gnu: Add rofi-pass-wayland John Kehayias via Guix-patches via
2024-06-26 19:24 ` bug#70703: [PATCH 0/2] Update rofi-pass; add rofi-pass-wayland John Kehayias via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aa94bdf9811c4bfbdbf0c0cf812bdd9f842528a0.1714594998.git.john.kehayias@protonmail.com \
    --to=guix-patches@gnu.org \
    --cc=70703@debbugs.gnu.org \
    --cc=john.kehayias@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.