Subject: bug#66171: closed (Re: [bug#66171] [PATCH v3] gnu: git: Install zsh completions and git-prompt.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 10 Oct 2023 03:34:02 +0000

Your bug report

#66171: [PATCH] gnu: git: Install shell completions.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
66171: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66171
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#66171] [PATCH v3] gnu: git: Install zsh completions and git-prompt.
From: Maxim Cournoyer <[email-masked]>
To: Liliana Marie Prikler <[email-masked]>
Cc: Efraim Flashner <[email-masked]>, [email-masked], Simon Tournier <[email-masked]>
Date: Mon, 09 Oct 2023 23:33:15 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Liliana Marie Prikler <[email-masked]> writes:

> * gnu/packages/version-control.scm (git)[#:phases]<install-shell-completion>:
> Also install git-prompt and zsh _git site function.

Applied to core-updates, after resolving the conflict.

-- 
Thanks,
Maxim

Subject: [PATCH] gnu: git: Install shell completions.
From: Liliana Marie Prikler <[email-masked]>
To: [email-masked]
Date: Sat, 23 Sep 2023 21:43:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/version-control.scm (git)[outputs]: Add “completion”.
[#:phases]: Add ‘install-completion’.
---
 gnu/packages/version-control.scm | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9716a6f27a..54b2ed74fb 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -303,6 +303,7 @@ (define-public git
                "credential-netrc"       ; git-credential-netrc
                "credential-libsecret"   ; git-credential-libsecret
                "subtree"                ; git-subtree
+               "completion"             ; git-completion and git-prompt
                "gui"))                  ; gitk, git gui
     (arguments
      `(#:make-flags `("V=1"             ;more verbose compilation
@@ -482,6 +483,20 @@ (define-public git
                              (string-append subtree "/bin"))
                (install-file "contrib/subtree/git-subtree.1"
                              (string-append subtree "/share/man/man1")))))
+         (add-after 'install 'install-completion
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((completion (assoc-ref outputs "completion")))
+               (define (install-as file storename)
+                 (let ((storename (string-append completion storename)))
+                   (mkdir-p (dirname storename))
+                   (copy-file file storename)))
+               (with-directory-excursion "contrib/completion"
+                 (for-each (cut apply install-as <>)
+                           `(("git-prompt.sh" "/bin/git-prompt")
+                             ("git-completion.bash"
+                              "/share/bash-completion/completions/_git")
+                             ("git-completion.zsh"
+                              "/share/zsh/site-functions/_git")))))))
          (add-after 'install 'restore-sample-hooks-shebang
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))

base-commit: 4f35ff1275e05be31f5d41464ccf147e9dbfd016
prerequisite-patch-id: ee5d7299c5790d77e0d409f34165063fcff10a8b
-- 
2.41.0