weather: Accept package specs on the command line.
Previously, non-option arguments would be ignored. Now it puts them to good use. * guix/scripts/weather.scm (guix-weather)[package-list]: New procedure. Use it. * doc/guix.texi (Invoking guix weather): Adjust accordingly.
This commit is contained in:
parent
4e941436c7
commit
b1903b99e0
|
@ -10089,8 +10089,17 @@ challenge}, it ignores signatures on those substitutes, which is
|
|||
innocuous since the command only gathers statistics and cannot install
|
||||
those substitutes.
|
||||
|
||||
Among other things, it is possible to query specific system types and
|
||||
specific package sets. The available options are listed below.
|
||||
The general syntax is:
|
||||
|
||||
@example
|
||||
guix weather @var{options}@dots{} [@var{packages}@dots{}]
|
||||
@end example
|
||||
|
||||
When @var{packages} is omitted, @command{guix weather} checks the availability
|
||||
of substitutes for @emph{all} the packages, or for those specified with
|
||||
@option{--manifest}; otherwise it only considers the specified packages. It
|
||||
is also possible to query specific system types with @option{--system}. The
|
||||
available options are listed below.
|
||||
|
||||
@table @code
|
||||
@item --substitute-urls=@var{urls}
|
||||
|
|
|
@ -252,7 +252,7 @@ are queued~%")
|
|||
;;;
|
||||
|
||||
(define (show-help)
|
||||
(display (G_ "Usage: guix weather [OPTIONS]
|
||||
(display (G_ "Usage: guix weather [OPTIONS] [PACKAGES ...]
|
||||
Report the availability of substitutes.\n"))
|
||||
(display (G_ "
|
||||
--substitute-urls=URLS
|
||||
|
@ -469,6 +469,20 @@ 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))
|
||||
(all-packages)
|
||||
(append base
|
||||
(if file (load-manifest file) '())))))
|
||||
|
||||
(with-error-handling
|
||||
(parameterize ((current-terminal-columns (terminal-columns)))
|
||||
(let* ((opts (parse-command-line args %options
|
||||
|
@ -481,10 +495,7 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
|
|||
opts)
|
||||
(() (list (%current-system)))
|
||||
(systems systems)))
|
||||
(packages (let ((file (assoc-ref opts 'manifest)))
|
||||
(if file
|
||||
(load-manifest file)
|
||||
(all-packages))))
|
||||
(packages (package-list opts))
|
||||
(items (with-store store
|
||||
(parameterize ((%graft? #f))
|
||||
(concatenate
|
||||
|
|
Loading…
Reference in New Issue