[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: scripts: Use 'args-fold*' for command that do not honor build fla
From: |
Ludovic Courtès |
Subject: |
01/01: scripts: Use 'args-fold*' for command that do not honor build flags. |
Date: |
Fri, 27 Oct 2017 16:12:45 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit efff3dd4c984f0c2e6f8cb63cf109a6c7b89dea0
Author: Ludovic Courtès <address@hidden>
Date: Fri Oct 27 13:11:26 2017 -0700
scripts: Use 'args-fold*' for command that do not honor build flags.
Fixes <https://bugs.gnu.org/28984>.
Reported by Eric Bavier.
* guix/scripts/challenge.scm (guix-challenge): Use 'args-fold*' instead
of 'parse-command-line'.
* guix/scripts/size.scm (guix-size): Likewise.
* guix/scripts/weather.scm (guix-weather): Likewise.
---
guix/scripts/challenge.scm | 7 ++++++-
guix/scripts/size.scm | 7 ++++++-
guix/scripts/weather.scm | 8 ++++++--
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/guix/scripts/challenge.scm b/guix/scripts/challenge.scm
index e82d535..5c59fbe 100644
--- a/guix/scripts/challenge.scm
+++ b/guix/scripts/challenge.scm
@@ -278,7 +278,12 @@ Challenge the substitutes for PACKAGE... provided by one
or more servers.\n"))
(define (guix-challenge . args)
(with-error-handling
- (let* ((opts (parse-command-line args %options (list
%default-options)))
+ (let* ((opts (args-fold* args %options
+ (lambda (opt name arg . rest)
+ (leave (G_ "~A: unrecognized option~%")
name))
+ (lambda (arg result)
+ (alist-cons 'argument arg result))
+ %default-options))
(files (filter-map (match-lambda
(('argument . file) file)
(_ #f))
diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index eade184..dee3604 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -291,7 +291,12 @@ Report the size of PACKAGE and its dependencies.\n"))
(define (guix-size . args)
(with-error-handling
- (let* ((opts (parse-command-line args %options (list
%default-options)))
+ (let* ((opts (args-fold* args %options
+ (lambda (opt name arg . rest)
+ (leave (G_ "~A: unrecognized option~%")
name))
+ (lambda (arg result)
+ (alist-cons 'argument arg result))
+ %default-options))
(files (filter-map (match-lambda
(('argument . file) file)
(_ #f))
diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index 4c4dfac..7f42f94 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -204,8 +204,12 @@ Report the availability of substitutes.\n"))
(define (guix-weather . args)
(with-error-handling
- (let* ((opts (parse-command-line args %options
- (list %default-options)))
+ (let* ((opts (args-fold* args %options
+ (lambda (opt name arg . rest)
+ (leave (G_ "~A: unrecognized option~%")
name))
+ (lambda (arg result)
+ (alist-cons 'argument arg result))
+ %default-options))
(urls (assoc-ref opts 'substitute-urls))
(systems (match (filter-map (match-lambda
(('system . system) system)