aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/haskell-apps.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-11-19 10:02:16 +0200
committerEfraim Flashner <efraim@flashner.co.il>2023-11-19 10:02:16 +0200
commit7c5d4031c9572e51f64ba82cc909aa2ffdeda47e (patch)
tree3f78aeaad38467e663fd7cfbbcc76194777f633a /gnu/packages/haskell-apps.scm
parentd87ce1a336c24bdd7e1692d989a1d419e7410d23 (diff)
downloadguix-7c5d4031c9572e51f64ba82cc909aa2ffdeda47e.tar
guix-7c5d4031c9572e51f64ba82cc909aa2ffdeda47e.tar.gz
gnu: git-annex: Add shell completions.
* gnu/packages/haskell-apps.scm (git-annex)[arguments]: Rename 'install-manpages to 'install-more and install the shell completions. Change-Id: I3c5707037ba9b3c3903dd37c334c1eb6dca929e2
Diffstat (limited to 'gnu/packages/haskell-apps.scm')
-rw-r--r--gnu/packages/haskell-apps.scm23
1 files changed, 20 insertions, 3 deletions
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index e265dc0e7b..ad8c2a0757 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -368,10 +368,27 @@ to @code{cabal repl}).")
;; Undo `patch-shell-for-tests'.
(copy-file "/tmp/Shell.hs" "Utility/Shell.hs")
(apply (assoc-ref %standard-phases 'build) args)))
- (add-after 'install 'install-manpages
+ (add-after 'install 'install-more
(lambda* (#:key outputs #:allow-other-keys)
- (setenv "PREFIX" (assoc-ref outputs "out"))
- (invoke "make" "install-mans")))
+ (let* ((out (assoc-ref outputs "out"))
+ (bash (string-append out "/etc/bash_completions.d"))
+ (fish (string-append out "/share/fish/vendor_completions.d"))
+ (zsh (string-append out "/share/zsh/site-functions")))
+ (setenv "PREFIX" out)
+ (invoke "make" "install-mans")
+ (mkdir-p bash)
+ (copy-file "bash-completion.bash"
+ (string-append bash "/git-annex"))
+ (mkdir-p fish)
+ (with-output-to-file (string-append fish "/git-annex.fish")
+ (lambda _
+ (invoke (string-append out "/bin/git-annex")
+ "--fish-completion-script" "git-annex")))
+ (mkdir-p zsh)
+ (with-output-to-file (string-append zsh "/_git-annex")
+ (lambda _
+ (invoke (string-append out "/bin/git-annex")
+ "--zsh-completion-script" "git-annex"))))))
(add-after 'install 'install-symlinks
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))