GNU bug report logs -
#41183
[PATCH 0/1] guix package, show: Support multiple queries.
Previous Next
Reported by: zimoun <zimon.toutoune <at> gmail.com>
Date: Sun, 10 May 2020 23:39:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* guix/scripts/package.scm (process-query): Show multiple queries.
* guix/scripts/show.scm (guix-show): Reverse to display in order.
---
guix/scripts/package.scm | 33 +++++++++++++++++++++------------
guix/scripts/show.scm | 2 +-
2 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index dce9256bf5..a69efa365e 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2016 Chris Marusich <cmmarusich <at> gmail.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2020 Ricardo Wurmus <rekado <at> elephly.net>
+;;; Copyright © 2020 Simon Tournier <zimon.toutoune <at> gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -787,18 +788,26 @@ processed, #f otherwise."
(display-search-results matches (current-output-port)))
#t))
- (('show requested-name)
- (let-values (((name version)
- (package-name->name+version requested-name)))
- (match (remove package-superseded
- (find-packages-by-name name version))
- (()
- (leave (G_ "~a~@[@~a~]: package not found~%") name version))
- (packages
- (leave-on-EPIPE
- (for-each (cute package->recutils <> (current-output-port))
- packages))))
- #t))
+ (('show _)
+ (let ((requested-names
+ (filter-map (match-lambda
+ (('query 'show requested-name) requested-name)
+ (_ #f))
+ opts)))
+ (for-each
+ (lambda (requested-name)
+ (let-values (((name version)
+ (package-name->name+version requested-name)))
+ (match (remove package-superseded
+ (find-packages-by-name name version))
+ (()
+ (leave (G_ "~a~@[@~a~]: package not found~%") name version))
+ (packages
+ (leave-on-EPIPE
+ (for-each (cute package->recutils <> (current-output-port))
+ packages))))))
+ requested-names))
+ #t)
(('search-paths kind)
(let* ((manifests (map profile-manifest profiles))
diff --git a/guix/scripts/show.scm b/guix/scripts/show.scm
index ef64b5755b..a2b0030a63 100644
--- a/guix/scripts/show.scm
+++ b/guix/scripts/show.scm
@@ -73,4 +73,4 @@ This is an alias for 'guix package --show='.\n"))
(unless (assoc-ref opts 'query)
(leave (G_ "missing arguments: no package to show~%")))
- (guix-package* opts))
+ (guix-package* (reverse opts)))
--
2.26.1
This bug report was last modified 5 years and 12 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.