unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] refresh: Add '--list-updaters' option.
@ 2015-10-22  8:17 Alex Kost
  2015-10-25 21:46 ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: Alex Kost @ 2015-10-22  8:17 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

I think this option may be useful.  Also it will be used (in the
upcoming patch) by emacs shell completions (as now --list-checkers is
used to complete "guix lint --checkers=").


[-- Attachment #2: 0001-refresh-Add-list-updaters-option.patch --]
[-- Type: text/x-patch, Size: 2881 bytes --]

From 6d82f6384902e7de837a4dbfc86c524dbfd9145a Mon Sep 17 00:00:00 2001
From: Alex Kost <alezost@gmail.com>
Date: Thu, 22 Oct 2015 10:51:17 +0300
Subject: [PATCH] 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.
---
 doc/guix.texi            |  4 ++++
 guix/scripts/refresh.scm | 14 ++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index 99c10d8..b94b780 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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.
+
 @item --list-dependent
 @itemx -l
 List top-level dependent packages that would need to be rebuilt as a
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 6f7ca4a..3e29c4e 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -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,14 @@ 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~%" (upstream-updater-name 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.
-- 
2.5.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-10-27 19:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-22  8:17 [PATCH] refresh: Add '--list-updaters' option Alex Kost
2015-10-25 21:46 ` Ludovic Courtès
2015-10-26 19:28   ` [PATCH] upstream: Add 'description' field to 'upstream-updater' Alex Kost
2015-10-27 17:26     ` Ludovic Courtès
2015-10-27 18:59       ` Alex Kost

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).