summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi13
-rw-r--r--gnu/services/mail.scm9
-rw-r--r--gnu/tests/mail.scm20
3 files changed, 23 insertions, 19 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index dabd71f18c..af15894d49 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -24709,9 +24709,10 @@ in the subsections below.
 
 @subsubheading Dovecot Service
 
-@deffn {Scheme Procedure} dovecot-service [#:config (dovecot-configuration)]
-Return a service that runs the Dovecot IMAP/POP3/LMTP mail server.
-@end deffn
+@defvar dovecot-service-type
+Type for the service that runs the Dovecot IMAP/POP3/LMTP mail server,
+whose value is a @code{<dovecot-configuration>} object.
+@end defvar
 
 By default, Dovecot does not need much configuration; the default
 configuration object created by @code{(dovecot-configuration)} will
@@ -24726,9 +24727,9 @@ For example, to specify that mail is located at @code{maildir~/.mail},
 one would instantiate the Dovecot service like this:
 
 @lisp
-(dovecot-service #:config
-                 (dovecot-configuration
-                  (mail-location "maildir:~/.mail")))
+(service dovecot-service-type
+         (dovecot-configuration
+           (mail-location "maildir:~/.mail")))
 @end lisp
 
 The available configuration parameters follow.  Each parameter
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 6f588679b1..bf4948dcfb 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages admin)
   #:use-module (gnu packages dav)
   #:use-module (gnu packages tls)
+  #:use-module (guix deprecation)
   #:use-module (guix modules)
   #:use-module (guix records)
   #:use-module (guix packages)
@@ -42,7 +43,7 @@
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
   #:use-module (srfi srfi-1)
-  #:export (dovecot-service
+  #:export (dovecot-service  ; deprecated
             dovecot-service-type
             dovecot-configuration
             opaque-dovecot-configuration
@@ -1601,9 +1602,11 @@ greyed out, instead of only later giving \"not selectable\" popup error.
                        (service-extension activation-service-type
                                           %dovecot-activation)))
                 (description "Run Dovecot, a mail server that can run POP3,
-IMAP, and LMTP.")))
+IMAP, and LMTP.")
+                (default-value (dovecot-configuration))))
 
-(define* (dovecot-service #:key (config (dovecot-configuration)))
+(define-deprecated (dovecot-service #:key (config (dovecot-configuration)))
+  dovecot-service-type
   "Return a service that runs @command{dovecot}, a mail server that can run
 POP3, IMAP, and LMTP.  @var{config} should be a configuration object created
 by @code{dovecot-configuration}.  @var{config} may also be created by
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index f13751b72f..dc1f18b3f1 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -293,16 +293,16 @@ acl_check_data:
 (define %dovecot-os
   (simple-operating-system
    (service dhcp-client-service-type)
-   (dovecot-service #:config
-                    (dovecot-configuration
-                     (disable-plaintext-auth? #f)
-                     (ssl? "no")
-                     (auth-mechanisms '("anonymous"))
-                     (auth-anonymous-username "alice")
-                     (mail-location
-                      (string-append "maildir:~/Maildir"
-                                     ":INBOX=~/Maildir/INBOX"
-                                     ":LAYOUT=fs"))))))
+   (service dovecot-service-type
+            (dovecot-configuration
+             (disable-plaintext-auth? #f)
+             (ssl? "no")
+             (auth-mechanisms '("anonymous"))
+             (auth-anonymous-username "alice")
+             (mail-location
+              (string-append "maildir:~/Maildir"
+                             ":INBOX=~/Maildir/INBOX"
+                             ":LAYOUT=fs"))))))
 
 (define (run-dovecot-test)
   "Return a test of an OS running Dovecot service."