>From 4a5132f171dfe6bac99661e75e7c5e53c4f74116 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 27 Oct 2015 21:13:05 +0300 Subject: [PATCH] refresh: Support comma separated updater types. * guix/scripts/refresh.scm (%options): Handle comma separated types for '--type' option. (guix-refresh): Adjust accordingly. (show-help): Likewise. * doc/guix.texi (Invoking guix refresh): Document it. --- doc/guix.texi | 6 +++--- guix/scripts/refresh.scm | 14 ++++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1bb7125..6fede5d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4263,8 +4263,8 @@ inconvenient. @item address@hidden @itemx -t @var{updater} -Select only packages handled by @var{updater}. Currently, @var{updater} -may be one of: +Select only packages handled by @var{updater} (may be a comma separated +list of updaters). Currently, @var{updater} may be one of: @table @code @item gnu @@ -4279,7 +4279,7 @@ For instance, the following commands only checks for updates of Emacs packages hosted at @code{elpa.gnu.org} and updates of CRAN packages: @example -$ guix refresh -t elpa -t cran +$ guix refresh --type=elpa,cran gnu/packages/statistics.scm:819:13: r-testthat would be upgraded from 0.10.0 to 0.11.0 gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11.88.9 @end example diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index a66b3f9..b2c9db0 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -69,7 +69,8 @@ arg))))) (option '(#\t "type") #t #f (lambda (opt name arg result) - (alist-cons 'updater (string->symbol arg) result))) + (let ((names (map string->symbol (string-split arg #\,)))) + (alist-cons 'updaters names result)))) (option '(#\L "list-updaters") #f #f (lambda args (list-updaters-and-exit))) @@ -114,7 +115,8 @@ specified with `--select'.\n")) -s, --select=SUBSET select all the packages in SUBSET, one of `core' or `non-core'")) (display (_ " - -t, --type=UPDATER restrict to updates from UPDATER--e.g., 'gnu'")) + -t, --type=UPDATER,... restrict to updates from the specified updaters + (e.g., 'gnu')")) (display (_ " -L, --list-updaters list available updaters and exit")) (display (_ " @@ -209,15 +211,15 @@ downloaded and authenticated; not updating~%") (define (options->updaters opts) ;; Return the list of updaters to use. (match (filter-map (match-lambda - (('updater . name) - (lookup-updater name)) + (('updaters . names) + (map lookup-updater names)) (_ #f)) opts) (() ;; Use the default updaters. %updaters) - (lst - lst))) + (lists + (apply append lists)))) (define (keep-newest package lst) ;; If a newer version of PACKAGE is already in LST, return LST; otherwise -- 2.5.0