~ruther/guix-local

31c2fd1e01d5f95cd1fb873c44f5fa4ac1164e69 — Ludovic Courtès 9 years ago 5cf01aa
guix build: Factorize transformation option parsing.

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

M guix/scripts/build.scm
M guix/scripts/build.scm => guix/scripts/build.scm +9 -10
@@ 219,16 219,15 @@ called \"guile\" must be replaced with a dependency on a version 2.1 of

(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 (_ "