Subject: [PATCH 2/2] gnu: gitolite: Fix shebangs in hooks.

From: [email-masked]
Date: Sat, 4 Mar 2017 14:09:32 +0000

From: ng0 <[email-masked]>

Fixes <https://bugs.gnu.org/25957>.

* gnu/packages/version-control.scm (gitolite)[arguments]: Add 'fix-hooks-shebangs'
phase to fix references to '/usr/bin/perl'.
---
 gnu/packages/version-control.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 1076c1890..ccda00173 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -616,6 +616,17 @@ also walk each side of a merge and test those changes individually.")
                         (substitute* (find-files "." ".*")
                           ((" perl -")
                            (string-append " " perl " -"))))))
+                  (add-before 'install 'fix-hooks-shebangs
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (let ((perl (string-append (assoc-ref inputs "perl")
+                                                 "/bin/perl")))
+                        ;; The files in 'lib/Gitolite/Hooks' keep references to
+                        ;; '/usr/bin/perl', without this fix it is impossible to
+                        ;; to run gitolite in production.
+                        (substitute* (find-files "src/lib/Gitolite/Hooks" ".*")
+                          (("/usr/bin/perl")
+                           perl))
+                        #t)))
                   (replace 'install
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let* ((output (assoc-ref outputs "out"))
-- 
2.12.0