summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-01-11 17:32:45 +0100
committerLudovic Courtès <ludo@gnu.org>2022-01-11 20:35:00 +0100
commit54237556bab42ad0d451af1f466b011ba201385a (patch)
tree9a7934b5aec05467dd7fca21b71e5e32425dfec6
parent0552dcb294bbfed76d7a495f5e368c53f20b852a (diff)
ui: 'package->recutils' can split the "system:" line.
Previously, long system lines would not be split, which would confuse 'less', possibly leading it to hide the first line of the package recutils record (the "name:" line). * guix/ui.scm (package->recutils)[split-lines]: New procedure. [dependencies->recutils]: Use it. Use it for the "systems:" value.
-rw-r--r--guix/ui.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/guix/ui.scm b/guix/ui.scm
index 251a3a4ab9..fc6f44e9ea 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
@@ -1514,13 +1514,15 @@ HYPERLINKS? is true, emit hyperlink escape sequences when appropriate."
;; the initial "+ " prefix.
(if (> width 2) (- width 2) width))
+ (define (split-lines str indent)
+ (string->recutils
+ (fill-paragraph str width* indent)))
+
(define (dependencies->recutils packages)
(let ((list (string-join (delete-duplicates
(map package-full-name
(sort packages package<?))) " ")))
- (string->recutils
- (fill-paragraph list width*
- (string-length "dependencies: ")))))
+ (split-lines list (string-length "dependencies: "))))
(define (package<? p1 p2)
(string<? (package-full-name p1) (package-full-name p2)))
@@ -1530,7 +1532,8 @@ HYPERLINKS? is true, emit hyperlink escape sequences when appropriate."
(format port "version: ~a~%" (package-version p))
(format port "outputs: ~a~%" (string-join (package-outputs p)))
(format port "systems: ~a~%"
- (string-join (package-transitive-supported-systems p)))
+ (split-lines (string-join (package-transitive-supported-systems p))
+ (string-length "systems: ")))
(format port "dependencies: ~a~%"
(match (package-direct-inputs p)
(((labels inputs . _) ...)