[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?)