diff options
Diffstat (limited to 'guix/ui.scm')
-rw-r--r-- | guix/ui.scm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index 7338b82401..9112d55daf 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -453,9 +453,23 @@ WIDTH columns." (fill-paragraph str width (string-length "description: "))))) + (define (dependencies->recutils packages) + (let ((list (string-join (map package-full-name + (sort packages package<?)) " "))) + (string->recutils + (fill-paragraph list width + (string-length "dependencies: "))))) + + (define (package<? p1 p2) + (string<? (package-full-name p1) (package-full-name p2))) + ;; Note: Don't i18n field names so that people can post-process it. (format port "name: ~a~%" (package-name p)) (format port "version: ~a~%" (package-version p)) + (format port "dependencies: ~a~%" + (match (package-direct-inputs p) + (((labels inputs . _) ...) + (dependencies->recutils (filter package? inputs))))) (format port "location: ~a~%" (or (and=> (package-location p) location->string) (_ "unknown"))) |