Subject: [PATCH 23/27] services: vpn: Deprecate 'openvpn-client-service' & 'openvpn-server-service' procedures.

From: Bruno Victal <[email-masked]>
Date: Sat, 25 Feb 2023 18:58:09 +0000

* doc/guix.texi (VPN Services): Replace 'openvpn-client-service' & 'openvpn-server-service' procedures
with their service-type counterparts.
* gnu/services/vpn.scm (openvpn-client-service, openvpn-server-service): Deprecate procedure.
(openvpn-server-service-type, openvpn-client-service-type): Set default value.
---
 doc/guix.texi        | 22 ++++++++++++----------
 gnu/services/vpn.scm | 19 +++++++++++++------
 2 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 282c6ce276..880972d112 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31851,20 +31851,22 @@ VPN Services
 
 It provides a @emph{client} service for your machine to connect to a
 VPN, and a @emph{server} service for your machine to host a VPN@.
+Both @code{openvpn-client-service-type} and
+@code{openvpn-server-service-type} can be run simultaneously.
 
-@deffn {Scheme Procedure} openvpn-client-service @
-       [#:config (openvpn-client-configuration)]
+@defvar openvpn-client-service-type
+Type of the service that runs @command{openvpn}, a VPN daemon, as a client.
 
-Return a service that runs @command{openvpn}, a VPN daemon, as a client.
-@end deffn
-
-@deffn {Scheme Procedure} openvpn-server-service @
-       [#:config (openvpn-server-configuration)]
+The value for this service is a @code{<openvpn-client-configuration>}
+object.
+@end defvar
 
-Return a service that runs @command{openvpn}, a VPN daemon, as a server.
+@defvar openvpn-server-service-type
+Type of the service that runs @command{openvpn}, a VPN daemon, as a server.
 
-Both can be run simultaneously.
-@end deffn
+The value for this service is a @code{<openvpn-server-configuration>}
+object.
+@end defvar
 
 @c %automatically generated documentation
 
diff --git a/gnu/services/vpn.scm b/gnu/services/vpn.scm
index 4103f89ecf..a884d71eb2 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -39,11 +39,12 @@ (define-module (gnu services vpn)
   #:use-module (guix records)
   #:use-module (guix gexp)
   #:use-module (guix i18n)
+  #:use-module (guix deprecation)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
-  #:export (openvpn-client-service
-            openvpn-server-service
+  #:export (openvpn-client-service  ; deprecated
+            openvpn-server-service  ; deprecated
             openvpn-client-service-type
             openvpn-server-service-type
             openvpn-client-configuration
@@ -531,7 +532,8 @@ (define openvpn-server-service-type
                        (service-extension activation-service-type
                                           (const %openvpn-activation))))
                 (description "Run the OpenVPN server, which allows you to
-@emph{host} a @acronym{VPN, virtual private network}.")))
+@emph{host} a @acronym{VPN, virtual private network}.")
+                (default-value (openvpn-server-configuration))))
 
 (define openvpn-client-service-type
   (service-type (name 'openvpn-client)
@@ -544,12 +546,17 @@ (define openvpn-client-service-type
                                           (const %openvpn-activation))))
                 (description
                  "Run the OpenVPN client service, which allows you to connect
-to an existing @acronym{VPN, virtual private network}.")))
+to an existing @acronym{VPN, virtual private network}.")
+                (default-value (openvpn-client-configuration))))
 
-(define* (openvpn-client-service #:key (config (openvpn-client-configuration)))
+(define-deprecated
+  (openvpn-client-service #:key (config (openvpn-client-configuration)))
+  openvpn-client-service-type
   (service openvpn-client-service-type config))
 
-(define* (openvpn-server-service #:key (config (openvpn-server-configuration)))
+(define-deprecated
+  (openvpn-server-service #:key (config (openvpn-server-configuration)))
+  openvpn-server-service-type
   (service openvpn-server-service-type config))
 
 (define (generate-openvpn-server-documentation)
-- 
2.39.1