services: mail: Deprecate 'dovecot-service' procedure.

* doc/guix.texi (Mail Services): Replace 'dovecot-service' with 'dovecot-service-type'.
* gnu/services/mail.scm (dovecot-service-type): Set default value.
(dovecot-service): Deprecate procedure.
* gnu/tests/mail.scm (%dovecot-os): Use dovecot-service-type.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Bruno Victal 2023-02-25 18:58:08 +00:00 committed by Ludovic Courtès
parent be1435d668
commit c6cbce9ad8
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 23 additions and 19 deletions

View file

@ -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

View file

@ -35,6 +35,7 @@ (define-module (gnu services mail)
#: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 @@ (define-module (gnu services mail)
#: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 @@ (define dovecot-service-type
(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

View file

@ -293,16 +293,16 @@ (define %test-exim
(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."