guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/03: refresh: Allow users to refer to specific package versions.


From: Ludovic Courtès
Subject: 03/03: refresh: Allow users to refer to specific package versions.
Date: Thu, 16 Apr 2015 21:15:16 +0000

civodul pushed a commit to branch core-updates
in repository guix.

commit 4b9b3cbbc45afa3e374889847d4ab8673b8b2db2
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 16 23:13:28 2015 +0200

    refresh: Allow users to refer to specific package versions.
    
    * guix/scripts/refresh.scm (guix-refresh): Use 'specification->package'
      instead of 'find-packages-by-name'.  This allows users to specify
      things like "qt-4.8.6".
    * doc/guix.texi (Invoking guix refresh): Add an example.
---
 doc/guix.texi            |    2 +-
 guix/scripts/refresh.scm |   17 +++++++----------
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 97fa3b6..6b6604a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3285,7 +3285,7 @@ In addition, @command{guix refresh} can be passed one or 
more package
 names, as in this example:
 
 @example
-guix refresh -u emacs idutils
+guix refresh -u emacs idutils gcc-4.8.4
 @end example
 
 @noindent
diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm
index 0488649..28519d7 100644
--- a/guix/scripts/refresh.scm
+++ b/guix/scripts/refresh.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <address@hidden>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2013 Nikita Karetnikov <address@hidden>
 ;;; Copyright © 2014 Eric Bavier <address@hidden>
 ;;;
@@ -207,16 +207,13 @@ update would trigger a complete rebuild."
          (list-dependent? (assoc-ref opts 'list-dependent?))
          (key-download    (assoc-ref opts 'key-download))
          (packages
-          (match (concatenate
-                  (filter-map (match-lambda
-                               (('argument . value)
-                                (let ((p (find-packages-by-name value)))
-                                  (when (null? p)
-                                    (leave (_ "~a: no package by that name~%")
-                                           value))
-                                  p))
+          (match (filter-map (match-lambda
+                               (('argument . spec)
+                                ;; Take either the specified version or the
+                                ;; latest one.
+                                (specification->package spec))
                                (_ #f))
-                              opts))
+                             opts)
                  (()                          ; default to all packages
                   (let ((select? (match (assoc-ref opts 'select)
                                         ('core core-package?)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]