diff options
author | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2022-06-26 14:37:56 +0200 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2022-08-16 21:25:25 +0200 |
commit | 37cd5536797450e18ffd5a54595a3453a8a8154f (patch) | |
tree | 4cf8dea726ce8d1d975c4dcf3e80753047aae84c | |
parent | 0193f9dd0304b90b4dfaebc0eb775187258e6fab (diff) |
ui: Describe package outputs.
* guix/ui.scm (package->recutils): Output outputs with their descriptions,
one per line.
* po/packages/Makevars (XGETTEXT_OPTIONS): Add ‘output-synopsis’ as keyword.
-rw-r--r-- | guix/ui.scm | 27 | ||||
-rw-r--r-- | po/packages/Makevars | 3 |
2 files changed, 28 insertions, 2 deletions
diff --git a/guix/ui.scm b/guix/ui.scm index a7acd41440..dad2b853ac 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info> +;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1511,6 +1512,29 @@ that may return a colorized version of its argument." (sort packages package<?))) " "))) (split-lines list (string-length "dependencies: ")))) + (define (output->recutils package output) + (string-append + "+ " output ": " + (or + (any + (match-lambda + (('output-synopsis key synopsis) + (and (string=? key output) (P_ synopsis))) + (_ #f)) + (package-properties package)) + (assoc-ref `(("bin" . ,(G_ "executable programs and scripts")) + ("debug" . ,(G_ "debug information")) + ("lib" . ,(G_ "shared libraries")) + ("static" . ,(G_ "static libraries")) + ("out" . ,(G_ "everything else"))) + output) + (G_ "see Appendix H")))) + + (define (package-outputs/out-last package) + ((compose append partition) + (negate (cut string=? "out" <>)) + (package-outputs package))) + (define (package<? p1 p2) (string<? (package-full-name p1) (package-full-name p2))) @@ -1522,7 +1546,8 @@ that may return a colorized version of its argument." ;; Note: Don't i18n field names so that people can post-process it. (format port "name: ~a~%" (highlight (package-name p) port*)) (format port "version: ~a~%" (highlight (package-version p) port*)) - (format port "outputs: ~a~%" (string-join (package-outputs p))) + (format port "outputs:~%~{~a~%~}" + (map (cut output->recutils p <>) (package-outputs/out-last p))) (format port "systems: ~a~%" (split-lines (string-join (package-transitive-supported-systems p)) (string-length "systems: "))) diff --git a/po/packages/Makevars b/po/packages/Makevars index 4cdb98d8fe..65912786d8 100644 --- a/po/packages/Makevars +++ b/po/packages/Makevars @@ -10,7 +10,8 @@ top_builddir = ../.. # synopses and descriptions. XGETTEXT_OPTIONS = \ --language=Scheme --from-code=UTF-8 \ - --keyword=synopsis --keyword=description + --keyword=synopsis --keyword=description \ + --keyword=output-synopsis:2 COPYRIGHT_HOLDER = the authors of Guix (msgids) |