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.
This commit is contained in:
Ludovic Courtès 2020-03-24 14:38:28 +01:00
parent 3e5ab0a7a9
commit 8465f1f680
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1144,15 +1144,14 @@ (define (string-pad-right* str len)
(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 @@ (define (upgrade-string names old-version new-version outputs)
(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 @@ (define (upgrade-string names old-version new-version outputs)
(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~%~}~%"