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
|
innocuous since the command only gathers statistics and cannot install
|
||||||
those substitutes.
|
those substitutes.
|
||||||
|
|
||||||
Among other things, it is possible to query specific system types and
|
The general syntax is:
|
||||||
specific package sets. The available options are listed below.
|
|
||||||
|
@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
|
@table @code
|
||||||
@item --substitute-urls=@var{urls}
|
@item --substitute-urls=@var{urls}
|
||||||
|
|
|
@ -252,7 +252,7 @@ are queued~%")
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define (show-help)
|
(define (show-help)
|
||||||
(display (G_ "Usage: guix weather [OPTIONS]
|
(display (G_ "Usage: guix weather [OPTIONS] [PACKAGES ...]
|
||||||
Report the availability of substitutes.\n"))
|
Report the availability of substitutes.\n"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
--substitute-urls=URLS
|
--substitute-urls=URLS
|
||||||
|
@ -469,6 +469,20 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define (guix-weather . args)
|
(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
|
(with-error-handling
|
||||||
(parameterize ((current-terminal-columns (terminal-columns)))
|
(parameterize ((current-terminal-columns (terminal-columns)))
|
||||||
(let* ((opts (parse-command-line args %options
|
(let* ((opts (parse-command-line args %options
|
||||||
|
@ -481,10 +495,7 @@ SERVER. Display information for packages with at least THRESHOLD dependents."
|
||||||
opts)
|
opts)
|
||||||
(() (list (%current-system)))
|
(() (list (%current-system)))
|
||||||
(systems systems)))
|
(systems systems)))
|
||||||
(packages (let ((file (assoc-ref opts 'manifest)))
|
(packages (package-list opts))
|
||||||
(if file
|
|
||||||
(load-manifest file)
|
|
||||||
(all-packages))))
|
|
||||||
(items (with-store store
|
(items (with-store store
|
||||||
(parameterize ((%graft? #f))
|
(parameterize ((%graft? #f))
|
||||||
(concatenate
|
(concatenate
|
||||||
|
|
Loading…
Reference in New Issue