guix-commits
[Top][All Lists]
Advanced

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

01/02: ui: Refactor the package-strings helper in show-manifest-transact


From: guix-commits
Subject: 01/02: ui: Refactor the package-strings helper in show-manifest-transaction.
Date: Sat, 12 Sep 2020 02:12:03 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit 7d3eb5e6b7404d7a481a67cb2f97b68d347c047f
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Wed Sep 2 11:52:16 2020 -0400

    ui: Refactor the package-strings helper in show-manifest-transaction.
    
    * guix/ui.scm (show-manifest-transaction)[package-strings]: Add an
    OLD-VERSIONS keyword parameter.  Absorb the code path previously found in 
the
    upgrade-string.  Remove upgrade-string.
    (show-manifest-transaction): Adjust to the above changes.
---
 guix/ui.scm | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/guix/ui.scm b/guix/ui.scm
index 9006f82..9c641af 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1238,31 +1239,24 @@ 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 names versions outputs)
+  (define* (package-strings names versions outputs #:key old-versions)
     (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)))
-
-  (define (upgrade-string names old-version new-version outputs)
-    (tabulate (zip (map (lambda (name output)
-                          (if (string=? output "out")
-                              name
-                              (string-append name ":" output)))
-                        names outputs)
-                   (map (lambda (old new)
+                   (if old-versions
+                       (map (lambda (old new)
                           (if (string=? old new)
                               (G_ "(dependencies or package changed)")
                               (string-append old " " → " " new)))
-                        old-version new-version))
+                            old-versions versions)
+                       versions))
               #:initial-indent 3))
 
+  (define →                        ;an arrow that can be represented on stderr
+    (right-arrow (current-error-port)))
+
   (let-values (((remove install upgrade downgrade)
                 (manifest-transaction-effects manifest transaction)))
     (match remove
@@ -1285,8 +1279,8 @@ separator between subsequent columns."
       (((($ <manifest-entry> name old-version)
          . ($ <manifest-entry> _ new-version output item)) ..1)
        (let ((len       (length name))
-             (downgrade (upgrade-string name old-version new-version
-                                        output)))
+             (downgrade (package-strings name new-version output
+                                         #:old-versions old-version)))
          (if dry-run?
              (format (current-error-port)
                      (N_ "The following package would be 
downgraded:~%~{~a~%~}~%"
@@ -1303,9 +1297,8 @@ separator between subsequent columns."
       (((($ <manifest-entry> name old-version)
          . ($ <manifest-entry> _ new-version output item)) ..1)
        (let ((len     (length name))
-             (upgrade (upgrade-string name
-                                      old-version new-version
-                                      output)))
+             (upgrade (package-strings name new-version output
+                                       #:old-versions old-version)))
          (if dry-run?
              (format (current-error-port)
                      (N_ "The following package would be upgraded:~%~{~a~%~}~%"



reply via email to

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