~ruther/guix-local

2d7fc7daf14e6e965a4d33baa7b9d52873f37691 — Ludovic Courtès 10 years ago 160b0ef
refresh: Add '--expression'.

* guix/scripts/refresh.scm (%options, show-help): Add --expression.
(guix-refresh): Honor it.
* doc/guix.texi (Invoking guix refresh): Document it.
2 files changed, 20 insertions(+), 0 deletions(-)

M doc/guix.texi
M guix/scripts/refresh.scm
M doc/guix.texi => doc/guix.texi +13 -0
@@ 4277,6 4277,19 @@ The following options are supported:

@table @code

@item --expression=@var{expr}
@itemx -e @var{expr}
Consider the package @var{expr} evaluates to.

This is useful to precisely refer to a package, as in this example:

@example
guix refresh -l -e '(@@@@ (gnu packages commencement) glibc-final)'
@end example

This command lists the dependents of the ``final'' libc (essentially all
the packages.)

@item --update
@itemx -u
Update distribution source files (package recipes) in place.  This is

M guix/scripts/refresh.scm => guix/scripts/refresh.scm +7 -0
@@ 80,6 80,9 @@
        (option '(#\L "list-updaters") #f #f
                (lambda args
                  (list-updaters-and-exit)))
        (option '(#\e "expression") #t #f
                (lambda (opt name arg result)
                  (alist-cons 'expression arg result)))
        (option '(#\l "list-dependent") #f #f
                (lambda (opt name arg result)
                  (alist-cons 'list-dependent? #t result)))


@@ 116,6 119,8 @@ When PACKAGE... is given, update only the specified packages.  Otherwise
update all the packages of the distribution, or the subset thereof
specified with `--select'.\n"))
  (display (_ "
  -e, --expression=EXPR  consider the package EXPR evaluates to"))
  (display (_ "
  -u, --update           update source files in place"))
  (display (_ "
  -s, --select=SUBSET    select all the packages in SUBSET, one of


@@ 348,6 353,8 @@ update would trigger a complete rebuild."
                                ;; Take either the specified version or the
                                ;; latest one.
                                (specification->package spec))
                               (('expression . exp)
                                (read/eval-package-expression exp))
                               (_ #f))
                             opts)
            (()                                   ; default to all packages