From 7c5d4031c9572e51f64ba82cc909aa2ffdeda47e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 19 Nov 2023 10:02:16 +0200 Subject: 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 --- gnu/packages/haskell-apps.scm | 23 ++++++++++++++++++++--- 1 file 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 @@ (define-public git-annex ;; 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")) -- cgit v1.2.3