aboutsummaryrefslogtreecommitdiff
path: root/gnu/services.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-04-20 11:47:50 +0100
committerChristopher Baines <mail@cbaines.net>2024-04-20 11:47:50 +0100
commitda77ea23daa0bfa4a73290dff99b22d6825ff80b (patch)
tree748d24e62b93c8ab8f999d6415d9f65c3d317da2 /gnu/services.scm
parent4eeb6922449285f9bce615f6e4ffe4375fa0233f (diff)
parent949f97f7f98ac74306b9de79c93790337d804e32 (diff)
downloadguix-da77ea23daa0bfa4a73290dff99b22d6825ff80b.tar
guix-da77ea23daa0bfa4a73290dff99b22d6825ff80b.tar.gz
Merge commit '949f97f7f9' into core-update-new-2chris-core-updates-no-duplicates-attempt
Change-Id: Ibbd851541da42cc052ba58195fee033daadd57e5 Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/dictionaries.scm gnu/packages/display-managers.scm gnu/packages/engineering.scm gnu/packages/geo.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/gnome-xyz.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/llvm.scm gnu/packages/mail.scm gnu/packages/patches/eudev-rules-directory.patch gnu/packages/plotutils.scm gnu/packages/sdl.scm gnu/packages/syndication.scm
Diffstat (limited to 'gnu/services.scm')
-rw-r--r--gnu/services.scm19
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 59481af10f..88593e8091 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
@@ -91,6 +91,8 @@
for-home
for-home?
+ validate-service-list
+
service-error?
missing-value-service-error?
missing-value-service-error-type
@@ -1271,4 +1273,19 @@ Home service rather than a System service."
(syntax-parameterize ((for-home? (identifier-syntax #t)))
exp ...))
+(define-with-syntax-properties (validate-service-list (value properties))
+ (%validate-service-list value properties))
+
+(define (%validate-service-list value properties)
+ (match value
+ (((? service?) ...) value)
+ (_
+ (raise
+ (make-compound-condition
+ (condition
+ (&error-location
+ (location (source-properties->location properties))))
+ (formatted-message
+ (G_ "'services' field must contain a list of services")))))))
+
;;; services.scm ends here.