aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-12-21 10:07:13 +0200
committerEfraim Flashner <efraim@flashner.co.il>2024-02-20 13:56:34 +0200
commit1b0adb6ae99e0c466fdccad84023a5943f5435ec (patch)
tree7255005cf5990f1da2db9e32b43070c218a93160 /gnu/packages
parentd61f7b860dcefb5c27f0a14de0c4054a69377f18 (diff)
downloadguix-1b0adb6ae99e0c466fdccad84023a5943f5435ec.tar
guix-1b0adb6ae99e0c466fdccad84023a5943f5435ec.tar.gz
gnu: rbw: Install shell completions.
* gnu/packages/rust-apps.scm (rbw)[arguments]: Add a phase to generate and install the shell completions. [native-inputs]: When cross-compiling add a copy of the package. Change-Id: Ibf8a1cc17470ecce479b8043678aedcf5556778e
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/rust-apps.scm31
1 files changed, 29 insertions, 2 deletions
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 9b4e3fbeed..0be3b2b08d 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -2058,9 +2058,36 @@ runs a command whenever it detects modifications.")
("rust-totp-lite" ,rust-totp-lite-2)
("rust-url" ,rust-url-2)
("rust-uuid" ,rust-uuid-1)
- ("rust-zeroize" ,rust-zeroize-1))))
+ ("rust-zeroize" ,rust-zeroize-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-completions
+ (lambda* (#:key native-inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (rbw (if ,(%current-target-system)
+ (search-input-file native-inputs "/bin/rbw")
+ (string-append out "/bin/rbw"))))
+ (mkdir-p (string-append share "/bash-completion/completions"))
+ (with-output-to-file
+ (string-append share "/bash-completion/completions/rbw")
+ (lambda _ (invoke rbw "gen-completions" "bash")))
+ (mkdir-p (string-append share "/fish/vendor_completions.d"))
+ (with-output-to-file
+ (string-append share "/fish/vendor_completions.d/rbw.fish")
+ (lambda _ (invoke rbw "gen-completions" "fish")))
+ (mkdir-p (string-append share "/zsh/site-functions"))
+ (with-output-to-file
+ (string-append share "/zsh/site-functions/_rbw")
+ (lambda _ (invoke rbw "gen-completions" "zsh")))
+ (mkdir-p (string-append share "/elvish/lib"))
+ (with-output-to-file
+ (string-append share "/elvish/lib/rbw")
+ (lambda _ (invoke rbw "gen-completions" "elvish")))))))))
(native-inputs
- (list perl))
+ (cons* perl (if (%current-target-system)
+ (list this-package)
+ '())))
(home-page "https://git.tozt.net/rbw")
(synopsis "Unofficial Bitwarden CLI")
(description "This package is an unofficial command line client for