From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fhMol-0001mm-W7 for guix-patches@gnu.org; Sun, 22 Jul 2018 18:27:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fhMoh-0004mM-2n for guix-patches@gnu.org; Sun, 22 Jul 2018 18:27:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:47752) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fhMog-0004mD-UG for guix-patches@gnu.org; Sun, 22 Jul 2018 18:27:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fhMog-0003TS-AG for guix-patches@gnu.org; Sun, 22 Jul 2018 18:27:02 -0400 Subject: [bug#30809] [PATCH 1/2] gnu: Modify the gitolite package to support the Guix service. Resent-Message-ID: References: <87woyfzmir.fsf@cbaines.net> <20180714062855.18705-1-mail@cbaines.net> From: =?UTF-8?Q?Cl=C3=A9ment?= Lassieur In-reply-to: <20180714062855.18705-1-mail@cbaines.net> Date: Mon, 23 Jul 2018 00:26:06 +0200 Message-ID: <87wotmq54x.fsf@lassieur.org> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Christopher Baines Cc: 30809@debbugs.gnu.org Hi Christopher! Christopher Baines writes: > Previously the gitolite package worked, but there were problems using it for > the service where you might have a minimal PATH. This commit patches the > source and scripts where possible to use store paths, and also wraps the > gitolite script to handle the harder dependencies. > > * gnu/packages/version-control.scm (gitolite)[arguments]: Add more patching to > the patch-scripts phase, and add two new phases (patch-source and > wrap-scripts). > [inputs]: Add coreutils, findutils and inetutils. > --- > gnu/packages/version-control.scm | 53 ++++++++++++++++++++++++++++++-- > 1 file changed, 51 insertions(+), 2 deletions(-) [...] > (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) > + > + #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!