Subject: [bug#30809] [PATCH 1/2] gnu: Modify the gitolite package to support the Guix service.

From: Christopher Baines <[email-masked]>
Date: Mon, 23 Jul 2018 23:10:26 +0100

Clément Lassieur <[email-masked]> writes:

>>                    (replace 'install
>>                      (lambda* (#:key outputs #:allow-other-keys)
>>                        (let* ((output (assoc-ref outputs "out"))
>> @@ -1045,9 +1075,28 @@ also walk each side of a merge and test those changes individually.")
>>                                      (symlink (string-append sharedir "/" script)
>>                                               (string-append bindir "/" script)))
>>                                    '("gitolite" "gitolite-shell"))
>> -                        #t))))))
>> +                        #t)))
>> +                  (add-after 'install 'wrap-scripts
>> +                    (lambda* (#:key inputs outputs #:allow-other-keys)
>> +                      (wrap-program (string-append (assoc-ref outputs "out")
>> +                                                   "/bin/gitolite")
>> +                        `("PATH" ":" prefix
>> +                          (,(string-append (assoc-ref outputs "out")
>> +                                           "/bin")
>> +                           ,(string-append (assoc-ref inputs "coreutils")
>> +                                           "/bin")
>> +                           ;; find is used in quite a few places
>> +                           ,(string-append (assoc-ref inputs "findutils")
>> +                                           "/bin")
>> +                           ,(string-append (assoc-ref inputs "git")
>> +                                           "/bin"))))
>
> Here you can avoid some repetitions like this:
>
> (let ((out (assoc-ref outputs "out"))
>       (coreutils (assoc-ref inputs "coreutils"))
>       (findutils (assoc-ref inputs "findutils"))
>       (git (assoc-ref inputs "git")))
>   (wrap-program (string-append out "/bin/gitolite")
>     `("PATH" ":" prefix
>       ,(map (lambda (dir)
>               (string-append dir "/bin"))
>             (list out coreutils findutils git))))
>   #t)

Thanks, I've used this in the updated patch now.

>> +
>> +                      #t)))))
>>      (inputs
>> -     `(("perl" ,perl)))
>> +     `(("perl" ,perl)
>> +       ("coreutils" ,coreutils)
>> +       ("findutils" ,findutils)
>> +       ("inetutils" ,inetutils)))
>>      ;; git and openssh are propagated because trying to patch the source via
>>      ;; regexp matching is too brittle and prone to false positives.
>>      (propagated-inputs
>
> Otherwise, LGTM, thank you!

Great :) I've made quite a few changes in the most recent update, so if
you have some time to look at those, that would be useful. The system
test is more rigorous now, pushing to the repository to test the hooks,
and I've rewritten most of the activation code.