services: audio: Remove redundant list-of-string? predicate.

Use list-of-strings? predicate defined in (gnu services configuration).

* gnu/services/audio.scm (list-of-string?): Remove predicate.
(mpd-serialize-list-of-string): Rename procedure to ...
(mpd-serialize-list-of-strings): ... this.
(mpd-configuration)[environment-variables]: Switch to list-of-strings.
[endpoints]: Switch to maybe-list-of-strings.
(mympd-ip-acl)[allow, deny]: Switch to list-of-strings.
(mympd-serialize-configuration): Rename serialize-list-of-string to
serialize-list-of-strings.
* doc/guix.texi (Audio Services): Update it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Bruno Victal 2023-03-23 15:02:13 +00:00 committed by Maxim Cournoyer
parent 0185b2f9b2
commit 206446b484
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
2 changed files with 15 additions and 18 deletions

View File

@ -33501,7 +33501,7 @@ The group to run mpd as.
This is a list of symbols naming Shepherd services that this service
will depend on.
@item @code{environment-variables} (default: @code{()}) (type: list-of-string)
@item @code{environment-variables} (default: @code{()}) (type: list-of-strings)
A list of strings specifying environment variables.
@item @code{log-file} (default: @code{"/var/log/mpd/log"}) (type: maybe-string)
@ -33532,7 +33532,7 @@ The location of the sticker database.
@item @code{default-port} (default: @code{6600}) (type: maybe-integer)
The default port to run mpd on.
@item @code{endpoints} (type: maybe-list-of-string)
@item @code{endpoints} (type: maybe-list-of-strings)
The addresses that mpd will bind to. A port different from @var{default-port}
may be specified, e.g. @code{localhost:6602} and IPv6 addresses must be
enclosed in square brackets when a different port is used.
@ -33808,10 +33808,10 @@ Whether to preserve caches between service restarts.
Available @code{mympd-ip-acl} fields are:
@table @asis
@item @code{allow} (default: @code{()}) (type: list-of-string)
@item @code{allow} (default: @code{()}) (type: list-of-strings)
Allowed IP addresses.
@item @code{deny} (default: @code{()}) (type: list-of-string)
@item @code{deny} (default: @code{()}) (type: list-of-strings)
Disallowed IP addresses.
@end table

View File

@ -2,7 +2,7 @@
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 20222023 Bruno Victal <mirai@makinata.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -137,9 +137,6 @@
str)
#\-) "_")))
(define list-of-string?
(list-of string?))
(define list-of-symbol?
(list-of symbol?))
@ -159,11 +156,11 @@
(define mpd-serialize-string mpd-serialize-field)
(define mpd-serialize-boolean mpd-serialize-field)
(define (mpd-serialize-list-of-string field-name value)
(define (mpd-serialize-list-of-strings field-name value)
#~(string-append #$@(map (cut mpd-serialize-string field-name <>) value)))
(define-maybe string (prefix mpd-))
(define-maybe list-of-string (prefix mpd-))
(define-maybe list-of-strings (prefix mpd-))
(define-maybe boolean (prefix mpd-))
;;; TODO: Procedures for deprecated fields, to be removed.
@ -349,7 +346,7 @@ will depend on."
empty-serializer)
(environment-variables
(list-of-string '())
(list-of-strings '())
"A list of strings specifying environment variables."
empty-serializer)
@ -400,7 +397,7 @@ Available values: @code{notice}, @code{info}, @code{verbose},
"The default port to run mpd on.")
(endpoints
maybe-list-of-string
maybe-list-of-strings
"The addresses that mpd will bind to. A port different from
@var{default-port} may be specified, e.g. @code{localhost:6602} and
IPv6 addresses must be enclosed in square brackets when a different
@ -409,7 +406,7 @@ To use a Unix domain socket, an absolute path or a path starting with @code{~}
can be specified here."
(lambda (_ endpoints)
(if (maybe-value-set? endpoints)
(mpd-serialize-list-of-string "bind_to_address" endpoints)
(mpd-serialize-list-of-strings "bind_to_address" endpoints)
"")))
(address ; TODO: deprecated, remove later
@ -581,11 +578,11 @@ appended to the configuration.")
(define-configuration/no-serialization mympd-ip-acl
(allow
(list-of-string '())
(list-of-strings '())
"Allowed IP addresses.")
(deny
(list-of-string '())
(list-of-strings '())
"Disallowed IP addresses."))
(define-maybe/no-serialization integer)
@ -707,12 +704,12 @@ prompting a pin from the user.")
((? string? val) val)))
(define (ip-acl-serialize-configuration config)
(define (serialize-list-of-string prefix lst)
(define (serialize-list-of-strings prefix lst)
(map (cut format #f "~a~a" prefix <>) lst))
(string-join
(append
(serialize-list-of-string "+" (mympd-ip-acl-allow config))
(serialize-list-of-string "-" (mympd-ip-acl-deny config))) ","))
(serialize-list-of-strings "+" (mympd-ip-acl-allow config))
(serialize-list-of-strings "-" (mympd-ip-acl-deny config))) ","))
;; myMPD configuration fields are serialized as individual files under
;; <work-directory>/config/.