Age | Commit message (Expand) | Author |
2024-01-05 | ui: It’s 2024 now!...* guix/ui.scm (show-version-and-exit): Change year to 2024.
Change-Id: I00fc2754da2b93d8b595a35aacdff087124df706
| Ludovic Courtès |
2023-10-17 | ui: Handle EPIPE errors when displaying Guix version....Fixes <https://issues.guix.gnu.org/66254>.
Reported by Clément Lassieur <clement@lassieur.org>.
* guix/ui.scm (show-version-and-exit): Handle EPIPE errors when displaying
version.
| Simon Tournier |
2023-08-17 | ui: 'load*' accepts /dev/fd/N files pointing to a pipe....This allows users to write Bash commands like:
guix time-machine -C <(echo %default-channels) -- ...
or:
guix build -m <(echo '(specifications->manifest (list "guile"))')
Previously, on GNU/Linux, they would fail with:
error: failed to load '/dev/fd/63': No such file or directory
* guix/ui.scm (try-canonicalize-path): New procedure.
(load*): Use it.
* tests/guix-build.sh: Test 'guix build -m' with a /dev/fd/N file.
| Ludovic Courtès |
2023-06-14 | packages: 'package-transitive-supported-systems' detects cycles....With this change, commands such as 'guix build' or 'guix package' report
obvious package-level cycles upfront. Derivation-level cycles are not
detected.
* guix/packages.scm (&package-cyclic-dependency-error): New condition
type.
(package-transitive-supported-systems): Define 'visited', check it, and
parameterize it.
* guix/ui.scm (call-with-error-handling): Handle
'&package-cyclic-dependency-error'.
* tests/packages.scm ("package-transitive-supported-systems detects
cycles"): Add test.
| Ludovic Courtès |
2023-03-17 | ui: format 'display-hint' output when no arguments are passed....When display-hint is given format specifiers such as "~%" but no arguments,
it does not format the output, causing the specifiers to be visible in the
displayed text.
* guix/ui.scm (display-hint): Format output when no arguments are passed.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Antero Mejr |
2023-02-27 | ui: 'display-hint' quotes extra arguments for Texinfo....Fixes <https://issues.guix.gnu.org/61201>.
Previously, common practice was to splice arbitrary strings (user names,
file names, etc.) into Texinfo snippets passed to 'display-hint'. This
is unsafe in the general case because at signs and braces need to be
escaped to produced valid Texinfo. This commit addresses that.
* guix/ui.scm (texinfo-quote): New procedure.
(display-hint): When ARGUMENTS is non-empty, pass it to 'texinfo-quote'
and call 'format'.
(report-unbound-variable-error, check-module-matches-file)
(display-collision-resolution-hint, run-guix-command): Remove explicit
'format' call; pass 'format' arguments as extra arguments to 'display-hint'.
* gnu/services/monitoring.scm (zabbix-front-end-config): Likewise.
* guix/scripts.scm (warn-about-disk-space): Likewise.
* guix/scripts/build.scm (%standard-cross-build-options)
(%standard-native-build-options): Likewise.
* guix/scripts/describe.scm (display-checkout-info): Likewise.
* guix/scripts/environment.scm (suggest-command-name): Likewise.
* guix/scripts/home.scm (process-command): Likewise.
* guix/scripts/home/edit.scm (service-type-not-found): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (display-search-path-hint): Likewise.
* guix/scripts/pull.scm (build-and-install): Likewise.
* guix/scripts/shell.scm (auto-detect-manifest): Likewise.
* guix/scripts/system.scm (check-file-system-availability): Likewise.
(guix-system): Likewise.
* guix/scripts/system/edit.scm (service-type-not-found): Likewise.
* guix/status.scm (print-build-event): Likewise.
| Ludovic Courtès |
2023-01-25 | ui: Add "error-reporting wrapper" for 'mkdir'....* guix/ui.scm <top level>: Change 'mkdir' to use an error-reporting
wrapper.
| Ludovic Courtès |
2023-01-03 | ui: It's 2023 now!...* guix/ui.scm (show-version-and-exit): Change year to 2023.
| Ludovic Courtès |
2022-12-13 | ui: Take package upstream name into account when searching....* guix/ui.scm (%package-metrics): Add PACKAGE-UPSTREAM-NAME*.
* tests/ui.scm ("package-relevance and upstream name"): New test.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Lars-Dominik Braun |
2022-11-05 | guix: ui: Add default synopsis for “doc” output....* guix/ui.scm (package->recutils)[%default-output-synopses]: Add “doc”.
| Liliana Marie Prikler |
2022-11-05 | guix: ui: Improve missing output descriptions....The current reference to Intel's Appendix H appears too obscure and confusing.
* guix/ui.scm (package->recutils)[output->recutils]: Replace “see Appendix H”
with “[description missing]”.
| Liliana Marie Prikler |
2022-11-05 | guix: ui: Handle single outputs....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.
| Liliana Marie Prikler |
2022-08-16 | 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.
| Liliana Marie Prikler |
2022-06-16 | ui: Improve pager selection logic when less is not installed....* guix/ui.scm (find-available-pager): New procedure.
(call-with-paginated-output-port): Use it.
* guix/utils.scm (call-with-environment-variables): Allow clearing of
specified environment variables.
* tests/ui.scm (make-empty-file, assert-equals-find-available-pager):
New procedures.
("find-available-pager, GUIX_PAGER takes precedence")
("find-available-pager, PAGER takes precedence")
("find-available-pager, 'less' takes precedence")
("find-available-pager, 'more' takes precedence")
("find-available-pager, no pager"): New tests.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Taiju HIGASHI |
2022-04-19 | ui: Highlight package and service search results....* guix/ui.scm (package->recutils): Add #:highlighting parameter and use it.
(display-search-results): Add #:regexps parameter; call
'colorize-full-matches' and pass #:highlighting.
* guix/scripts/package.scm (process-query): Pass #:regexps to
'display-search-results'.
* guix/scripts/home.scm (search): Likewise.
* guix/scripts/system/search.scm (service-type->recutils): Add #:highlighting
parameter and use it.
| Ludovic Courtès |
2022-04-19 | ui: Highlight important bits in recutils output....* guix/scripts/system/search.scm (service-type->recutils): Highlight the
value of the 'name' field.
* guix/ui.scm (package->recutils): Likewise for 'name' and 'version'.
| Ludovic Courtès |
2022-04-08 | ui: Move 'location->hyperlink' to (guix diagnostics)....* guix/ui.scm (location->hyperlink): Move to...
* guix/diagnostics.scm: ... here.
* guix/scripts/system/search.scm: Adjust imports accordingly.
| Ludovic Courtès |
2022-04-08 | ui: Move hyperlink facilities to (guix colors)....* guix/ui.scm (supports-hyperlinks?, file-hyperlink, hyperlink): Move to...
* guix/colors.scm: ... here.
* guix/scripts/home.scm, guix/scripts/system.scm,
guix/scripts/system/search.scm: Adjust imports accordingly.
| Ludovic Courtès |
2022-03-18 | ui: 'show-what-to-build' highlights "would be downloaded" headings....* guix/ui.scm (show-what-to-build): Highlight "X MB would be downloaded".
| Ludovic Courtès |
2022-03-18 | ui: 'show-what-to-build' highlights "The following [...] will be built"....* guix/colors.scm (highlight/warn): New procedure.
* guix/ui.scm (show-what-to-build): Use 'highlight/warn' when displaying
what would/will be built.
| Ludovic Courtès |
2022-02-14 | ui: 'display-generation' uses color when talking to a pager....This makes sure that, say, 'guix pull -l' benefits from colors when its
output is piped to a pager, as long as the underlying terminal supports
it.
* guix/ui.scm (display-generation): Add second argument to 'highlight'.
| Ludovic Courtès |
2022-02-14 | ui: 'with-paginated-output-port' gives access to the wrapped port....* guix/ui.scm (pager-port-mapping): New variable.
(pager-wrapped-port): New procedure.
(call-with-paginated-output-port): Parameterize 'pager-port-mapping'.
| Ludovic Courtès |
2022-01-22 | guix: ui: Fix typo in docstring....* guix/ui.scm (colorize-store-file-name)[docstring]: Fix typo.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| jgart |
2022-01-11 | 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.
| Ludovic Courtès |
2022-01-01 | ui: It's 2022!...Happy new year!
* guix/ui.scm (show-version-and-exit): Change the year to 2022.
| Leo Famulari |
2021-11-07 | ui: 'load*' correctly reports 'read-error' in all cases....Previously, 'read-error' exceptions other than "missing closing paren"
would not be reported; instead, we'd directly call (exit 1) without
printing anything.
Fixes <https://issues.guix.gnu.org/51463>.
Reported by Alice BRENON <alice.brenon@ens-lyon.fr>.
* guix/ui.scm (report-load-error): Report the error without re-throwing
upon 'read-error'.
* tests/guix-build.sh: Add test.
| Ludovic Courtès |
2021-10-31 | ui: Use DISPLAY in SHOW-GUIX-HELP....* guix/ui.scm (show-guix-help): Use DISPLAY where FORMAT isn't needed.
| Tobias Geerinckx-Rice |
2021-10-31 | ui: Add top-level options to help text....This also makes automated ‘guix --h<Tab>’ completion possible.
* guix/ui.scm (show-guix-help): Document that an OPTION's an option,
and all valid options.
| Tobias Geerinckx-Rice |
2021-10-28 | ui: Gracefully handle invalid Texinfo markup in package blurbs....Previously 'guix search' & co. would crash when encountering invalid
Texinfo.
* guix/ui.scm (texi->plain-text*): New procedure.
(package-field-string, package->recutils): Use it.
| Ludovic Courtès |
2021-07-15 | ui: Improve output appearance when listing generations....* guix/ui.scm (display-profile-content-diff): Use pretty-print-table to format
output.
(display-profile-content): Likewise.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Steve Sprang |
2021-06-29 | ui: Have 'guix help' stat less....This reduces the number of syscalls for:
env -i $(type -P strace) -c $(type -P guix) help
from 4.3K to 2.2K, thereby reducing startup time.
Reported by Julien Lepiller.
* guix/ui.scm (run-guix-command): Move %FILE-PORT-NAME-CANONICALIZATION
to...
(run-guix): ... here.
| Ludovic Courtès |
2021-06-01 | ui, lint: Simplify exception handling in Guile 3 style....* guix/lint.scm (check-derivation)[try]: Remove "catch #t" wrapping.
* guix/ui.scm (call-with-error-handling): Remove "catch 'system-error"
and move 'system-error handling to the &exception-with-kind-and-args
clause.
| Ludovic Courtès |
2021-06-01 | maint: Require Guile 3.0....* configure.ac: Require Guile 3.0.
* doc/guix.texi (Requirements): Adjust accordingly.
* gnu/packages/package-management.scm (guile2.2-guix): Remove.
* guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'.
* guix/scripts/deploy.scm (deploy-machine*): Likewise.
* guix/store.scm (call-with-store): Likewise.
* guix/swh.scm (http-get*, http-post*): Likewise.
* guix/ui.scm (without-compiler-optimizations, guard*)
(call-with-error-handling): Likewise.
| Ludovic Courtès |
2021-05-17 | ui: 'load*' compiles with '-O1'....With this change, the wall-clock time of:
guix system build --no-grafts -d gnu/system/install.scm
goes from 5.0s to 2.3s on Guile 3.0.5.
* guix/ui.scm (without-compiler-optimizations): New macro.
(load*): Use it.
| Ludovic Courtès |
2021-05-17 | ui: Remove Guile 2.2.3 workaround....This became dead code with commit
4f621a2b003e85d480999e4d0630e9dc3de85bc3.
* guix/ui.scm (load*): Remove Guile 2.2.3 workaround.
| Ludovic Courtès |
2021-05-05 | ui: Suggest installing glibc-locales, not glibc-utf8-locales....Users (both old and new) struggling with locale warnings is a recurrent theme;
part of it may be due to the glibc-utf8-locales package being misleading, as
it only includes a subset of the UTF-8 locales. To prevent confusion, suggest
installing the glibc-locales package instead.
* guix/ui.scm (install-locale): Do not mention glibc-utf8-locales in the hint
message. Use glibc-locales instead of glibc-utf8-locales in the provided
example.
| Maxim Cournoyer |
2021-04-29 | diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6....* guix/diagnostics.scm (source-properties->location): Add clause for
vectors.
* guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6.
* tests/guix-package.sh: Relax regexp for the "unbound variable"
diagnostic check.
* tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6.
* tests/records.scm (location-alist): New procedure.
("define-record-type* & wrong field specifier")
("define-record-type* & wrong field specifier, identifier")
("define-record-type* & duplicate initializers"): Use it.
| Ludovic Courtès |
2021-02-24 | ui: Bug-report URL in '--help' can be translated....* guix/ui.scm (show-bug-report-information): Add "/en" to the help URL
and pass it to 'G_'.
| Ludovic Courtès |
2021-02-19 | ui: Fix typo in description....* guix/ui.scm (switch-to-generation*): Fix typo in description.
| Brice Waegeneire |
2021-02-03 | ui: Add hint for command typo....* guix/ui.scm (command-hint): New variable
(run-guix-command): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| zimoun |
2021-01-28 | ui: Look up extensions before built-in commands....* guix/ui.scm (run-guix-command): Modify order so that extensions are allowed
to override default commands.
Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
| zimoun |
2021-01-07 | ui: Fix order of match clauses....Fixes <https://bugs.gnu.org/45709>.
This is a follow-up to commit cf289d7cfa34315bf13b3114b9a5bf3d3c05ebea.
* guix/ui.scm (run-guix-command): Match for #false first.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| Simon Tournier |
2021-01-05 | Discover extensions via GUIX_EXTENSIONS_PATH....* guix/scripts.scm (%command-categories): Add extension category.
* guix/ui.scm (source-file-command): Also parse extensions files.
(command-files): Accept an optional directory argument.
(extension-directories): New procedure.
(commands): Use it.
(show-guix-help): Hide empty categories.
(run-guix-command): Try loading an extension if there is no matching Guix
command.
| Ricardo Wurmus |
2021-01-04 | ui: It's 2021 now!...* guix/ui.scm (show-version-and-exit): Change year to 2021.
| Ludovic Courtès |
2020-12-05 | ui: Handle multiword and empty $PAGER values....* guix/ui.scm (call-with-paginated-output-port): Empty PAGER values
disable paging. Non-empty ones are split into command arguments.
Reported by Daniel Brooks <db48x@db48x.net>.
| Tobias Geerinckx-Rice |
2020-11-26 | deploy: Let key-and-args exceptions through....Fixes <https://bugs.gnu.org/44825>.
Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>.
* guix/ui.scm (guard*): Export.
* guix/scripts/deploy.scm (deploy-machine*): Use 'guard*' instead of
'guard'. Add '&exception-with-kind-and-args' case.
| Ludovic Courtès |
2020-11-10 | ui: Use the right accessor when reporting '&gexp-input-error'....* guix/ui.scm (call-with-error-handling): In the 'gexp-input-error?'
case, use 'gexp-error-invalid-input' as the accessor.
| Ludovic Courtès |
2020-11-06 | ui: Add missing format argument in 'warn-about-load-error'....* guix/ui.scm (warn-about-load-error): Add missing argument to 'warning'.
| Ludovic Courtès |
2020-10-15 | ui: Only suggest modules that export the unbound variable identifier....Fixes <https://bugs.gnu.org/43498>.
Reported by Tobias Geerinckx-Rice <me@tobias.gr>.
* guix/ui.scm (known-variable-definition): Check for variables in the
public interface of HEAD, not in HEAD itself.
* tests/guix-build.sh: Add test.
| Ludovic Courtès |
2020-10-02 | ui: Use "guix install" in locale hint....* guix/ui.scm (install-locale): Change "guix package -i" to "guix install".
| Ludovic Courtès |