m1gu3l pushed a commit to branch master
in repository guix.

commit 46ce24fb2d8c9f7dce16c4c08919f0fc108dbfae
Author: Miguel Ángel Arruga Vivas <[email protected]>
AuthorDate: Mon Nov 16 19:06:40 2020 +0100

    gnu: git: Add phase to restore hooks shebang.
    
    Fixes <https://bugs.gnu.org/25508>.
    
    * gnu/packages/version-control.scm (git)[arguments]: New phase
    restore-sample-hooks-shebang.
---
 gnu/packages/version-control.scm | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3e46a61..1842528 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -391,6 +391,16 @@ as well as the classic centralized workflow.")
               (install-file "contrib/subtree/git-subtree.1"
                             (string-append subtree "/share/man/man1"))
               #t)))
+         (add-after 'install 'restore-sample-hooks-shebang
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (dir (string-append out 
"/share/git-core/templates/hooks")))
+               (for-each (lambda (file)
+                           (format #t "restoring shebang on `~a'~%" file)
+                           (substitute* file
+                             (("^#!.*/bin/sh") "#!/bin/sh")))
+                         (find-files dir ".*"))
+               #t)))
         (add-after 'install 'split
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Split the binaries to the various outputs.

Reply via email to