guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

137/137: gnu: rbw: Install scripts.


From: guix-commits
Subject: 137/137: gnu: rbw: Install scripts.
Date: Thu, 21 Dec 2023 04:26:49 -0500 (EST)

efraim pushed a commit to branch rust-team
in repository guix.

commit 2f9f39f44108884669e7201c8fbf7f7d39e65ff2
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Thu Dec 21 10:30:50 2023 +0200

    gnu: rbw: Install scripts.
    
    * gnu/packages/rust-apps.scm (rbw)[outputs]: Add scripts output.
    [arguments]: Add a phase to install the scripts and wrap them.
    [inputs]: Add coreutils-minimal, findutils, grep, perl, sed.
    
    Change-Id: I99c6ddc67c50498cb3a2700cdfb4e3651ac17739
---
 gnu/packages/rust-apps.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 0be3b2b08d..4454178624 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -1999,6 +1999,7 @@ runs a command whenever it detects modifications.")
   (package
     (name "rbw")
     (version "1.8.3")
+    (outputs '("out" "scripts"))
     (source
      (origin
        (method url-fetch)
@@ -2083,11 +2084,32 @@ runs a command whenever it detects modifications.")
                (mkdir-p (string-append share "/elvish/lib"))
                (with-output-to-file
                  (string-append share "/elvish/lib/rbw")
-                 (lambda _ (invoke rbw "gen-completions" "elvish")))))))))
+                 (lambda _ (invoke rbw "gen-completions" "elvish"))))))
+         (add-after 'install 'install-scripts
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (scripts (assoc-ref outputs "scripts")))
+               (for-each (lambda (file)
+                           (install-file file (string-append scripts "/bin")))
+                         (find-files "bin"))
+               (for-each (lambda (file)
+                           (wrap-script file
+                             ;; TODO: Do we want to wrap these with more 
programs?
+                             ;; pass git fzf libsecret xclip rofi
+                             `("PATH" prefix
+                                (,(string-append out "/bin")
+                                 ,(dirname (search-input-file inputs 
"/bin/grep"))
+                                 ,(dirname (search-input-file inputs 
"/bin/sed"))
+                                 ,(dirname (search-input-file inputs 
"/bin/perl"))
+                                 ,(dirname (search-input-file inputs 
"/bin/xargs"))
+                                 ,(dirname (search-input-file inputs 
"/bin/sort"))))))
+                         (find-files (string-append scripts "/bin")))))))))
     (native-inputs
      (cons* perl (if (%current-target-system)
                    (list this-package)
                    '())))
+    (inputs
+     (list coreutils-minimal findutils grep perl sed))
     (home-page "https://git.tozt.net/rbw";)
     (synopsis "Unofficial Bitwarden CLI")
     (description "This package is an unofficial command line client for



reply via email to

[Prev in Thread] Current Thread [Next in Thread]