From 31c2fd1e01d5f95cd1fb873c44f5fa4ac1164e69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Mon, 17 Oct 2016 22:51:38 +0200
Subject: [PATCH] guix build: Factorize transformation option parsing.

* guix/scripts/build.scm (%transformation-options): Introduce 'parser'
procedure and use it.
---
 guix/scripts/build.scm | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 644993101e2..bd97d56dcec 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -219,16 +219,15 @@ (define %transformations
 
 (define %transformation-options
   ;; The command-line interface to the above transformations.
-  (list (option '("with-source") #t #f
-                (lambda (opt name arg result . rest)
-                  (apply values
-                         (cons (alist-cons 'with-source arg result)
-                               rest))))
-        (option '("with-input") #t #f
-                (lambda (opt name arg result . rest)
-                  (apply values
-                         (cons (alist-cons 'with-input arg result)
-                               rest))))))
+  (let ((parser (lambda (symbol)
+                  (lambda (opt name arg result . rest)
+                    (apply values
+                           (alist-cons symbol arg result)
+                           rest)))))
+    (list (option '("with-source") #t #f
+                  (parser 'with-source))
+          (option '("with-input") #t #f
+                  (parser 'with-input)))))
 
 (define (show-transformation-options-help)
   (display (_ "
-- 
GitLab