aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-12 18:30:05 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-12 18:32:16 +0100
commit2843fed0e973145f01fb2004c99aca8e8837b332 (patch)
tree557ce76dee262145406599d58148b03763f54bcc
parent71bb485541328cdce214ada44be998570571bf36 (diff)
downloadgnu-guix-2843fed0e973145f01fb2004c99aca8e8837b332.tar
gnu-guix-2843fed0e973145f01fb2004c99aca8e8837b332.tar.gz
weather: Allow for multiple '--manifest' options.
* guix/scripts/weather.scm (guix-weather)[package-list]: Account for all the 'manifest entries in OPTS. * doc/guix.texi (Invoking guix weather): Document it.
-rw-r--r--doc/guix.texi3
-rw-r--r--guix/scripts/weather.scm22
2 files changed, 15 insertions, 10 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index ca21857a31..9a5b5f7fbe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10830,6 +10830,9 @@ specified in @var{file}. @var{file} must contain a @dfn{manifest}, as
with the @code{-m} option of @command{guix package} (@pxref{Invoking
guix package}).
+This option can be repeated several times, in which case the manifests
+are concatenated.
+
@item --coverage[=@var{count}]
@itemx -c [@var{count}]
Report on substitute coverage for packages: list packages with at least
diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm
index 60915d3451..733986be0c 100644
--- a/guix/scripts/weather.scm
+++ b/guix/scripts/weather.scm
@@ -499,17 +499,19 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
(define (guix-weather . args)
(define (package-list opts)
;; Return the package list specified by OPTS.
- (let ((file (assoc-ref opts 'manifest))
- (base (filter-map (match-lambda
- (('argument . spec)
- (specification->package spec))
- (_
- #f))
- opts)))
- (if (and (not file) (null? base))
+ (let ((files (filter-map (match-lambda
+ (('manifest . file) file)
+ (_ #f))
+ opts))
+ (base (filter-map (match-lambda
+ (('argument . spec)
+ (specification->package spec))
+ (_
+ #f))
+ opts)))
+ (if (and (null? files) (null? base))
(all-packages)
- (append base
- (if file (load-manifest file) '())))))
+ (append base (append-map load-manifest files)))))
(with-error-handling
(parameterize ((current-terminal-columns (terminal-columns))