Subject: [bug#77186] [PATCH v2 01/14] services: gitolite-rc-file-compiler: Switch to match-record.

From: Tomas Volf <[email-masked]>
Date: Tue, 1 Apr 2025 00:10:07 +0200

* gnu/services/version-control.scm (gitolite-rc-file-compiler): Use
match-record instead of match with $.

Change-Id: Ia2f4985e921aee5f8859d1858f7c186b707d7a36
---
 gnu/services/version-control.scm | 55 ++++++++++++++++----------------
 1 file changed, 28 insertions(+), 27 deletions(-)

diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index 06b6ff224d..f5558e9197 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2017 Clément Lassieur <[email-masked]>
 ;;; Copyright © 2018 Christopher Baines <[email-masked]>
 ;;; Copyright © 2021 Julien Lepiller <[email-masked]>
+;;; Copyright © 2025 Tomas Volf <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -267,33 +268,33 @@ (define-record-type* <gitolite-rc-file>
 
 (define-gexp-compiler (gitolite-rc-file-compiler
                        (file <gitolite-rc-file>) system target)
-  (match file
-    (($ <gitolite-rc-file> umask local-code unsafe-pattern git-config-keys roles enable)
-     (apply text-file* "gitolite.rc"
-      `("%RC = (\n"
-        "    UMASK => " ,(format #f "~4,'0o" umask) ",\n"
-        "    GIT_CONFIG_KEYS => '" ,git-config-keys "',\n"
-        ,(if local-code
-             (simple-format #f "    LOCAL_CODE => \"~A\",\n" local-code)
-             "")
-        "    ROLES => {\n"
-        ,@(map (match-lambda
-                 ((role . value)
-                  (simple-format #f "        ~A => ~A,\n" role value)))
-               roles)
-        "    },\n"
-        "\n"
-        "    ENABLE => [\n"
-        ,@(map (lambda (value)
-                 (simple-format #f "        '~A',\n" value))
-               enable)
-        "    ],\n"
-        ");\n"
-        "\n"
-        ,(if unsafe-pattern
-             (string-append "$UNSAFE_PATT = qr(" unsafe-pattern ");")
-             "")
-        "1;\n")))))
+  (match-record file <gitolite-rc-file>
+                (umask local-code unsafe-pattern git-config-keys roles enable)
+    (apply text-file* "gitolite.rc"
+           `("%RC = (\n"
+             "    UMASK => " ,(format #f "~4,'0o" umask) ",\n"
+             "    GIT_CONFIG_KEYS => '" ,git-config-keys "',\n"
+             ,(if local-code
+                  (simple-format #f "    LOCAL_CODE => \"~A\",\n" local-code)
+                  "")
+             "    ROLES => {\n"
+             ,@(map (match-lambda
+                      ((role . value)
+                       (simple-format #f "        ~A => ~A,\n" role value)))
+                    roles)
+             "    },\n"
+             "\n"
+             "    ENABLE => [\n"
+             ,@(map (lambda (value)
+                      (simple-format #f "        '~A',\n" value))
+                    enable)
+             "    ],\n"
+             ");\n"
+             "\n"
+             ,(if unsafe-pattern
+                  (string-append "$UNSAFE_PATT = qr(" unsafe-pattern ");")
+                  "")
+             "1;\n"))))
 
 (define-record-type* <gitolite-configuration>
   gitolite-configuration make-gitolite-configuration
-- 
2.49.0