guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: services: getmail: Use 'match-record'.


From: guix-commits
Subject: 03/03: services: getmail: Use 'match-record'.
Date: Thu, 17 Nov 2022 17:20:31 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 83c9e00ffbd41776c003f6992e9d613a5434fff9
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Nov 17 23:03:50 2022 +0100

    services: getmail: Use 'match-record'.
    
    Fixes a regression introduced in
    44554e7133aa60e1b453436be1e80394189cabd9 whereby the wrong record fields
    would be accessed, leading to a <location> record being spliced in the
    result.
    
    * gnu/services/getmail.scm (serialize-getmail-configuration-file): Use
    'match-record' instead of 'match'.
    (getmail-shepherd-services): Likewise.
---
 gnu/services/getmail.scm | 64 +++++++++++++++++++++++-------------------------
 1 file changed, 31 insertions(+), 33 deletions(-)

diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm
index 0a1c34cfd3..fb82d054ca 100644
--- a/gnu/services/getmail.scm
+++ b/gnu/services/getmail.scm
@@ -216,16 +216,15 @@ lines.")
    "Extra options to include."))
 
 (define (serialize-getmail-configuration-file field-name val)
-  (match val
-    (($ <getmail-configuration-file> location
-                                     retriever destination options)
-     #~(string-append
-        "[retriever]\n"
-        #$(serialize-getmail-retriever-configuration #f retriever)
-        "\n[destination]\n"
-        #$(serialize-getmail-destination-configuration #f destination)
-        "\n[options]\n"
-        #$(serialize-getmail-options-configuration #f options)))))
+  (match-record val <getmail-configuration-file>
+    (retriever destination options)
+    #~(string-append
+       "[retriever]\n"
+       #$(serialize-getmail-retriever-configuration #f retriever)
+       "\n[destination]\n"
+       #$(serialize-getmail-destination-configuration #f destination)
+       "\n[options]\n"
+       #$(serialize-getmail-options-configuration #f options))))
 
 (define-configuration getmail-configuration-file
   (retriever
@@ -339,29 +338,28 @@ notifications.  This depends on the server supporting the 
IDLE extension.")
 
 (define (getmail-shepherd-services configs)
   "Return a list of <shepherd-service> for CONFIGS."
-  (map (match-lambda
-         (($ <getmail-configuration> location name package
-                                     user group directory rcfile idle
-                                     environment-variables)
-          (shepherd-service
-           (documentation "Run getmail.")
-           (provision (list (symbol-append 'getmail- name)))
-           (requirement '(networking))
-           (start #~(make-forkexec-constructor
-                     `(#$(file-append package "/bin/getmail")
-                       ,(string-append "--getmaildir=" #$directory)
-                       #$@(map (lambda (idle)
-                                 (string-append "--idle=" idle))
-                               idle)
-                       ,(string-append "--rcfile=" #$rcfile))
-                     #:user #$user
-                     #:group #$group
-                     #:environment-variables
-                     (list #$@environment-variables)
-                     #:log-file
-                     #$(string-append "/var/log/getmail-"
-                                      (symbol->string name))))
-           (stop #~(make-kill-destructor)))))
+  (map (lambda (config)
+         (match-record config <getmail-configuration>
+           (name package user group directory rcfile idle 
environment-variables)
+           (shepherd-service
+            (documentation "Run getmail.")
+            (provision (list (symbol-append 'getmail- name)))
+            (requirement '(networking))
+            (start #~(make-forkexec-constructor
+                      `(#$(file-append package "/bin/getmail")
+                        ,(string-append "--getmaildir=" #$directory)
+                        #$@(map (lambda (idle)
+                                  (string-append "--idle=" idle))
+                                idle)
+                        ,(string-append "--rcfile=" #$rcfile))
+                      #:user #$user
+                      #:group #$group
+                      #:environment-variables
+                      (list #$@environment-variables)
+                      #:log-file
+                      #$(string-append "/var/log/getmail-"
+                                       (symbol->string name))))
+            (stop #~(make-kill-destructor)))))
        configs))
 
 (define getmail-service-type



reply via email to

[Prev in Thread] Current Thread [Next in Thread]