diff options
author | David Thompson <dthompson2@worcester.edu> | 2022-10-06 08:45:48 -0400 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2022-10-24 16:37:22 -0400 |
commit | 966118da711506b04c11fbfcac9483d59ed2d912 (patch) | |
tree | a21c7f104f6c5b50609fb4949b9fede0d61da33f | |
parent | 8663be6da7f13a8eeea71dc1f493f7adc5b7672a (diff) | |
download | guix-966118da711506b04c11fbfcac9483d59ed2d912.tar.gz |
gnu: version-control: Add make-gitolite procedure.
* gnu/packages/version-control.scm (make-gitolite): New procedure. (gitolite): Use make-gitolite. * doc/guix.texi (Gitolite service): Document how to use make-gitolite.
-rw-r--r-- | doc/guix.texi | 16 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 16 |
2 files changed, 27 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 5c41f21d45..2f7ab61aec 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -35618,7 +35618,21 @@ Data type representing the configuration for @code{gitolite-service-type}. @table @asis @item @code{package} (default: @var{gitolite}) -Gitolite package to use. +Gitolite package to use. There are optional Gitolite dependencies that +are not included in the default package, such as Redis and git-annex. +These features can be made available by using the @code{make-gitolite} +procedure in the @code{(gnu packages version-control}) module to produce +a variant of Gitolite with the desired additional dependencies. + +The following code returns a package in which the Redis and git-annex +programs can be invoked by Gitolite's scripts: + +@example +(use-modules (gnu packages databases) + (gnu packages haskell-apps) + (gnu packages version-control)) +(make-gitolite (list redis git-annex)) +@end example @item @code{user} (default: @var{git}) User to use for Gitolite. This will be user that you use when accessing diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d8d4a77341..2238554706 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -46,6 +46,7 @@ ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2022 Dhruvin Gandhi <contact@dhruvin.dev> +;;; Copyright © 2015, 2022 David Thompson <davet@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,7 +140,8 @@ #:use-module (gnu packages tls) #:use-module (gnu packages) #:use-module (ice-9 match) - #:use-module (srfi srfi-1)) + #:use-module (srfi srfi-1) + #:export (make-gitolite)) (define-public breezy (package @@ -1484,7 +1486,9 @@ linear. It will test every change between two points in the DAG. It will also walk each side of a merge and test those changes individually.") (license (license:x11-style "file://LICENSE"))))) -(define-public gitolite +(define* (make-gitolite #:optional (extra-inputs '())) + "Make a gitolite package object with EXTRA-INPUTS added to the binary +wrappers, to be used for optional gitolite extensions." (package (name "gitolite") (version "3.6.12") @@ -1576,10 +1580,12 @@ also walk each side of a merge and test those changes individually.") (list #$output #$coreutils #$findutils - #$git))))) + #$git + #$@extra-inputs))))) '("/bin/gitolite" "/bin/gitolite-shell"))))))) (inputs - (list bash-minimal coreutils findutils git inetutils openssh perl)) + (append (list bash-minimal coreutils findutils git inetutils openssh perl) + extra-inputs)) (home-page "https://gitolite.com") (synopsis "Git access control layer") (description @@ -1587,6 +1593,8 @@ also walk each side of a merge and test those changes individually.") control to Git repositories.") (license license:gpl2))) +(define-public gitolite (make-gitolite)) + (define-public gitile (package (name "gitile") |