Subject: [bug#60516] [PATCH] services: git-daemon: Deprecate 'git-daemon-service' procedure.

From: [email-masked]
Date: Tue, 3 Jan 2023 14:07:49 +0000

From: Bruno Victal <[email-masked]>

* gnu/services/version-control.scm
(git-daemon-service): Define with 'define-deprecated'
* doc/guix.texi (Version Control Services): Replace with
'git-daemon-service-type'
---
 doc/guix.texi                    | 25 +++++++++++--------------
 gnu/services/version-control.scm |  4 +++-
 2 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 5c85680831..552a403bcb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -34838,27 +34838,24 @@ How often to run the node cleaning job.  The default is once per day, at
 
 The @code{(gnu services version-control)} module provides a service to
 allow remote access to local Git repositories.  There are three options:
-the @code{git-daemon-service}, which provides access to repositories via
+the @code{git-daemon-service-type}, which provides access to repositories via
 the @code{git://} unsecured TCP-based protocol, extending the
 @code{nginx} web server to proxy some requests to
 @code{git-http-backend}, or providing a web interface with
 @code{cgit-service-type}.
 
-@deffn {Scheme Procedure} git-daemon-service [#:config (git-daemon-configuration)]
-
-Return a service that runs @command{git daemon}, a simple TCP server to
+@defvar git-daemon-service-type
+Type for a service that runs @command{git daemon}, a simple TCP server to
 expose repositories over the Git protocol for anonymous access.
 
-The optional @var{config} argument should be a
-@code{<git-daemon-configuration>} object, by default it allows read-only
-access to exported@footnote{By creating the magic file
-@file{git-daemon-export-ok} in the repository directory.} repositories under
-@file{/srv/git}.
-
-@end deffn
+The value for this service type is a @code{<git-daemon-configuration>}
+record, by default it allows read-only access to exported@footnote{By
+creating the magic file @file{git-daemon-export-ok} in the repository
+directory.} repositories under @file{/srv/git}.
+@end defvar
 
 @deftp {Data Type} git-daemon-configuration
-Data type representing the configuration for @code{git-daemon-service}.
+Data type representing the configuration for @code{git-daemon-service-type}.
 
 @table @asis
 @item @code{package} (default: @code{git})
@@ -34895,8 +34892,8 @@ Whether to listen on an alternative port, which defaults to 9418.
 If not empty, only allow access to this list of directories.
 
 @item @code{extra-options} (default: @code{'()})
-Extra options will be passed to @command{git daemon}, please run
-@command{man git-daemon} for more information.
+Extra options that will be passed to @command{git daemon}.@footnote{Run
+@command{man git-daemon} for more information.}
 
 @end table
 @end deftp
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 86d40bdbe3..14ff0a59a6 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -29,6 +29,7 @@ (define-module (gnu services version-control)
   #:use-module (gnu system shadow)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages admin)
+  #:use-module (guix deprecation)
   #:use-module (guix records)
   #:use-module (guix gexp)
   #:use-module (guix store)
@@ -178,7 +179,8 @@ (define git-daemon-service-type
 protocol.")
    (default-value (git-daemon-configuration))))
 
-(define* (git-daemon-service #:key (config (git-daemon-configuration)))
+(define-deprecated (git-daemon-service #:key (config (git-daemon-configuration)))
+  git-daemon-service-type
   "Return a service that runs @command{git daemon}, a simple TCP server to
 expose repositories over the Git protocol for anonymous access.

base-commit: 473692b812b4ab4267d9bddad0fb27787d2112ff
-- 
2.38.1