~ruther/guix-local

6ffa706b6d80265b2fd244484b42492a71a2ef31 — Alex Kost 10 years ago 7e6b490
refresh: Add '--list-updaters' option.

* guix/scripts/refresh.scm (list-updaters-and-exit): New procedure.
  (%options, show-help): Add '--list-updaters' option.
* 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 +4 -0
@@ 4305,6 4305,10 @@ be used when passing @command{guix refresh} one or more package names:

@table @code

@item --list-updaters
@itemx -L
List available updaters and exit (see @option{--type} above.)

@item --list-dependent
@itemx -l
List top-level dependent packages that would need to be rebuilt as a

M guix/scripts/refresh.scm => guix/scripts/refresh.scm +16 -0
@@ 2,6 2,7 @@
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 69,6 70,9 @@
        (option '(#\t "type") #t #f
                (lambda (opt name arg result)
                  (alist-cons 'updater (string->symbol arg) result)))
        (option '(#\L "list-updaters") #f #f
                (lambda args
                   (list-updaters-and-exit)))
        (option '(#\l "list-dependent") #f #f
                (lambda (opt name arg result)
                  (alist-cons 'list-dependent? #t result)))


@@ 112,6 116,8 @@ specified with `--select'.\n"))
  (display (_ "
  -t, --type=UPDATER     restrict to updates from UPDATER--e.g., 'gnu'"))
  (display (_ "
  -L, --list-updaters    list available updaters and exit"))
  (display (_ "
  -l, --list-dependent   list top-level dependent packages that would need to
                         be rebuilt as a result of upgrading PACKAGE..."))
  (newline)


@@ 149,6 155,16 @@ specified with `--select'.\n"))
          (eq? name (upstream-updater-name updater)))
        %updaters))

(define (list-updaters-and-exit)
  "Display available updaters and exit."
  (format #t (_ "Available updaters:~%"))
  (for-each (lambda (updater)
              (format #t "- ~a: ~a~%"
                      (upstream-updater-name updater)
                      (_ (upstream-updater-description updater))))
            %updaters)
  (exit 0))

(define* (update-package store package updaters
                         #:key (key-download 'interactive))
  "Update the source file that defines PACKAGE with the new version.