Message ID | 27e3e24474785ec4cf75607b4cdec9631a081bcd.camel@gmail.com |
---|---|
State | New |
Headers | show |
Series | Improve output descriptions | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git-branch | success | View Git branch |
cbaines/applying patch | success | |
cbaines/issue | success | View issue |
Hi, On Wed, 02 Nov 2022 at 21:01, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote: > The current code says "out" contains "everything else", even if there's no > other output to contain anything. > > * guix/ui.scm (package->recutils)[default-output-synopses]: New variable. > [output->recutils]: Take default synopses as argument. > ["outputs"]: Distinguish single and multiple outputs. > --- > guix/ui.scm | 29 ++++++++++++++++++++--------- > 1 file changed, 20 insertions(+), 9 deletions(-) LGTM. > + (define %default-output-synopses [...] > + ("out" . ,(G_ "everything else")))) > + > + (define* (output->recutils package output #:optional > + (default-synopses %default-output-synopses)) [...] > + (assoc-ref default-synopses output) Out of curiosity… > + (match (package-outputs/out-last p) > + (("out") ; one output has everything > + (format port "outputs:~%~a~%" > + (output->recutils p "out" > + (cons `("out" . ,(G_ "everything")) > + %default-output-synopses)))) …is this ’cons’ instead of deletion because of performance? Cheers, simon
Am Donnerstag, dem 03.11.2022 um 10:01 +0100 schrieb zimoun: > Hi, > > On Wed, 02 Nov 2022 at 21:01, Liliana Marie Prikler > <liliana.prikler@gmail.com> wrote: > > > The current code says "out" contains "everything else", even if > > there's no > > other output to contain anything. > > > > * guix/ui.scm (package->recutils)[default-output-synopses]: New > > variable. > > [output->recutils]: Take default synopses as argument. > > ["outputs"]: Distinguish single and multiple outputs. > > --- > > guix/ui.scm | 29 ++++++++++++++++++++--------- > > 1 file changed, 20 insertions(+), 9 deletions(-) > > LGTM. > > > > + (define %default-output-synopses > > [...] > > > + ("out" . ,(G_ "everything else")))) > > + > > + (define* (output->recutils package output #:optional > > + (default-synopses %default-output- > > synopses)) > > [...] > > > + (assoc-ref default-synopses output) > > Out of curiosity… > > > + (match (package-outputs/out-last p) > > + (("out") ; one output has > > everything > > + (format port "outputs:~%~a~%" > > + (output->recutils p "out" > > + (cons `("out" . ,(G_ "everything")) > > + %default-output-synopses)))) > > …is this ’cons’ instead of deletion because of performance? It makes no functional difference and we only want non-destructive changes. That being said, perhaps alist-cons should have been used instead. Cheers
diff --git a/guix/ui.scm b/guix/ui.scm index dad2b853ac..60b09bf6e4 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1512,7 +1512,15 @@ (define (dependencies->recutils packages) (sort packages package<?))) " "))) (split-lines list (string-length "dependencies: ")))) - (define (output->recutils package output) + (define %default-output-synopses + `(("bin" . ,(G_ "executable programs and scripts")) + ("debug" . ,(G_ "debug information")) + ("lib" . ,(G_ "shared libraries")) + ("static" . ,(G_ "static libraries")) + ("out" . ,(G_ "everything else")))) + + (define* (output->recutils package output #:optional + (default-synopses %default-output-synopses)) (string-append "+ " output ": " (or @@ -1522,12 +1530,7 @@ (define (output->recutils package output) (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) + (assoc-ref default-synopses output) (G_ "see Appendix H")))) (define (package-outputs/out-last package) @@ -1546,8 +1549,16 @@ (define highlighting* ;; 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~%~}" - (map (cut output->recutils p <>) (package-outputs/out-last p))) + (match (package-outputs/out-last p) + (("out") ; one output has everything + (format port "outputs:~%~a~%" + (output->recutils p "out" + (cons `("out" . ,(G_ "everything")) + %default-output-synopses)))) + (outputs ; multiple outputs + (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: ")))