diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2023-11-19 10:02:16 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2023-11-19 10:02:16 +0200 |
commit | 7c5d4031c9572e51f64ba82cc909aa2ffdeda47e (patch) | |
tree | 3f78aeaad38467e663fd7cfbbcc76194777f633a | |
parent | d87ce1a336c24bdd7e1692d989a1d419e7410d23 (diff) | |
download | 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
-rw-r--r-- | gnu/packages/haskell-apps.scm | 23 |
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")) |