summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-03-24 14:38:28 +0100
committerLudovic Courtès <ludo@gnu.org>2020-03-24 15:44:45 +0100
commit8465f1f680ee67c2cca265d1c5871b46284f55f9 (patch)
tree1c599b1389e1eaca51ebe5d84e1f8070801050e0
parent3e5ab0a7a9399bb098b9ced46bf3cbf4085c6bab (diff)
ui: 'show-manifest-transaction' tabulates package lists for install/remove.
It also removes the store file name from the output. * guix/ui.scm (show-manifest-transaction)[package-strings]: Rewrite to use 'tabulate'. Remove 'item' parameter and adjust callers.
-rw-r--r--guix/ui.scm21
1 files changed, 10 insertions, 11 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 2dd9ba9673..1e24fe5dca 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1144,15 +1144,14 @@ separator between subsequent columns."
(define* (show-manifest-transaction store manifest transaction
#:key dry-run?)
"Display what will/would be installed/removed from MANIFEST by TRANSACTION."
- (define (package-strings name version output item)
- (map (lambda (name version output item)
- (format #f " ~a~:[:~a~;~*~]\t~a\t~a"
- name
- (equal? output "out") output version
- (if (package? item)
- (package-output store item output)
- item)))
- name version output item))
+ (define (package-strings names versions outputs)
+ (tabulate (zip (map (lambda (name output)
+ (if (string=? output "out")
+ name
+ (string-append name ":" output)))
+ names outputs)
+ versions)
+ #:initial-indent 3))
(define → ;an arrow that can be represented on stderr
(right-arrow (current-error-port)))
@@ -1175,7 +1174,7 @@ separator between subsequent columns."
(match remove
((($ <manifest-entry> name version output item) ..1)
(let ((len (length name))
- (remove (package-strings name version output item)))
+ (remove (package-strings name version output)))
(if dry-run?
(format (current-error-port)
(N_ "The following package would be removed:~%~{~a~%~}~%"
@@ -1228,7 +1227,7 @@ separator between subsequent columns."
(match install
((($ <manifest-entry> name version output item _) ..1)
(let ((len (length name))
- (install (package-strings name version output item)))
+ (install (package-strings name version output)))
(if dry-run?
(format (current-error-port)
(N_ "The following package would be installed:~%~{~a~%~}~%"