Age | Commit message (Expand) | Author |
2018-06-29 | ui: Increase relevance score for exact matches....Previously "guix package -s python" would have 'python2-zope-interface' as
its first result (relevance: 10), followed by many other python-*
packages with the same score, while 'python' itself would come
later (relevance: 7).
This change makes 'python' the first result (relevance: 27).
Reported by Gábor Boskovits.
* guix/ui.scm (relevance)[score]: Use 'fold-matches' instead of
'match:count' to counter the number of maches. Give more weight to
exact matches.
| Ludovic Courtès |
2018-06-27 | ui: Hint at the installation of locale packages and 'GUIX_LOCPATH'....* guix/ui.scm (install-locale): Hide the "warning: failed to install
locale" on Guile 2.2. Add a hint about 'glibc-utf8-locales' and
'GUIX_LOCPATH'.
| Ludovic Courtès |
2018-06-14 | guix: ui: Allow translation of dates....* guix/ui.scm (display-generation): Allow translation of dates.
The format string will show dates as month day year, but some languages use a
different convention.
| Julien Lepiller |
2018-06-09 | ui: Avoid #:select'ing bindings introduced in the latest (guix build utils)....This should allow 'guix pull' to complete even when invoked from a Guix
that predates commit 5d669883ecc104403c5d3ba7d172e9c02234577c.
* guix/ui.scm: Use #:hide instead of #:select. This is a followup to
5d669883ecc104403c5d3ba7d172e9c02234577c.
| Ludovic Courtès |
2018-05-06 | Merge branch 'master' into core-updates | Marius Bakke |
2018-05-04 | guix build: Nicely report unbound variables with hints....* guix/ui.scm (print-unbound-variable-error): Add "error:" to the
message.
(report-unbound-variable-error): New procedure, with code formerly in
'report-load-error'.
(report-load-error): Use it.
(call-with-unbound-variable-handling): New procedure.
(with-unbound-variable-handling): New macro.
* guix/scripts/build.scm (options->derivations): Wrap body in
'with-unbound-variable-handling'.
* tests/guix-build.sh (GUIX_PACKAGE_PATH): Add test.
| Ludovic Courtès |
2018-05-04 | ui: Factorize 'last-frame-with-source'....* guix/ui.scm (last-frame-with-source): New procedure.
(load*)[frame-with-source]: Remove.
Use 'last-frame-with-source'.
| Ludovic Courtès |
2018-04-30 | Merge branch 'master' into core-updates | Mark H Weaver |
2018-04-27 | guix system: Report wrong file system 'device' fields....Previously, if you wrote (device "my-label") without (title 'label),
you'd get:
guix system: error: stat: No such file or directory: "my-label"
Now you get a proper error and a hint.
Reported by Pierre-Antoine Rouby.
* guix/scripts/system.scm (check-file-system-availability)[literal]: New
variable. Loop over LITERAL.
* gnu/system/file-systems.scm (%pseudo-file-system-types): New variable.
* guix/ui.scm (display-hint): Make public.
| Ludovic Courtès |
2018-03-16 | utils: invoke: Raise exceptions using SRFI-34 and SRFI-35....* guix/build/utils.scm (&invoke-error): New condition type.
(invoke-error?, invoke-error-program, invoke-error-arguments)
(invoke-error-exit-status, invoke-error-term-signal)
(invoke-error-stop-signal): New exported procedures.
(invoke): Raise exceptions using SRFI-34 and SRFI-35.
* guix/ui.scm (call-with-error-handling): Add a guard clause
for &invoke-error conditions.
| Mark H Weaver |
2018-03-07 | ui: 'display-hint' preserves Texinfo formatting....The previous method would mess up with @example formatting, for
instance.
* guix/ui.scm (display-hint): Parameterize '%text-width' instead of
using 'fill-paragraph'.
| Ludovic Courtès |
2018-03-07 | ui: Display fix hints in the case where we have location info....* guix/ui.scm (call-with-error-handling): Display fix-hints in the
error + message case.
| Ludovic Courtès |
2018-03-06 | ui: 'load*' no longer fails on Guile 2.2.3 upon EACCES or similar....Previously, if ~/.cache was not write-accessible, 'guix' would exit with
code 1 without printing any message. That was because the 'make-stack'
call would fail since the exception (a 'system-error) came from
'compile-file', which was called at a point where TAG wasn't installed
yet. Secondly, to mimick auto-compilation behavior, we just swallow
'system-error raised by 'compile-file'.
Reported by Clément Lassieur.
* guix/ui.scm (load*): Move 'compile-file' call in the dynamic extent of
TAG. Catch 'system-error around it and ignore it.
| Ludovic Courtès |
2018-03-05 | ui: Better workaround for lack of '%fresh-auto-compile' on 2.2.3....Fixes <https://bugs.gnu.org/29226> for the most part.
* guix/ui.scm (load*): Add call to 'compile-file' on 2.2.3.
| Ludovic Courtès |
2018-01-15 | ui: Disable '%fresh-auto-compile' only for Guile 2.2.3....Mitigates <https://bugs.gnu.org/29881>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
* guix/ui.scm (load*): Unset '%fresh-auto-compile' only on Guile 2.2.3.
| Ludovic Courtès |
2018-01-07 | ui: Display hints that come along with '&message' conditions....* guix/ui.scm (call-with-error-handling): Add case for message and
fix-hint?.
| Ludovic Courtès |
2018-01-01 | ui: It's 2018 now!...* guix/ui.scm (show-version-and-exit): Change year to 2018.
| Ludovic Courtès |
2017-12-18 | ui: Non-zero exit for compound '&message' and '&error-location' conditions....* guix/ui.scm (call-with-error-handling): When both 'message?' and
'error-location?' are true, add call to 'exit'.
| Ludovic Courtès |
2017-12-10 | ui: Display hints to resolve profile collisions....Fixes <https://bugs.gnu.org/29255>.
Reported by Ben Sturmfels <ben@sturm.com.au>.
* guix/ui.scm (display-collision-resolution-hint): New procedure.
(call-with-error-handling): Call it upon '&profile-collistion-error'.
| Ludovic Courtès |
2017-12-03 | ui: Tweak conflicting profile entry error message....* guix/ui.scm (call-with-error-handling): Use 'manifest-entry-output*'
when reporting conflicting profile entries.
| Ludovic Courtès |
2017-12-01 | Do not set '%fresh-auto-compile'....* guix/scripts/offload.scm (build-machines): Comment out
'(set! %fresh-auto-compile #t)' since with Guile 2.2.3 it could lead to
an actual rebuild of everything that gets loaded from there on. See
<https://bugs.gnu.org/29226>.
* guix/ui.scm (load*): Likewise.
| Ludovic Courtès |
2017-11-30 | ui: Present 'use-modules' hints with a question mark....Suggested by myglc2 <myglc2@gmail.com>.
* guix/ui.scm (report-load-error): Write "Did you forget" rather than
"Try adding."
| Ludovic Courtès |
2017-11-28 | ui: Avoid "pkg:out" syntax when reporting collisions....* guix/ui.scm (call-with-error-handling)[manifest-entry-output*]: New
procedure. Use it when reporting collisions.
| Ludovic Courtès |
2017-11-24 | ui: 'known-variable-definition' protects against module cycles....Fixes <https://bugs.gnu.org/29358>.
Reported by Marius Bakke <mbakke@fastmail.com>.
* guix/ui.scm (known-variable-definition): Add 'visited' set to guard
against cycles on 2.0.
| Ludovic Courtès |
2017-11-16 | ui: Add source file name to the package search metrics....* guix/ui.scm (%package-metrics): Include 'package-location'. Increase
score of the other fields.
| Ludovic Courtès |
2017-11-09 | ui: Add an 'unbound-variable' exception printer....* guix/ui.scm (print-unbound-variable-error): New variable.
Use it as the 'unbound-variable' printer.
| Ludovic Courtès |
2017-11-09 | ui: Provide hints for unbound-variable errors....* guix/ui.scm (known-variable-definition): New procedure.
(report-load-error): Handle 'unbound-variable'.
| Ludovic Courtès |
2017-11-09 | ui: Add 'display-hint'....* guix/ui.scm (known-variable-definition): New procedure.
(report-load-error): Use it.
| Ludovic Courtès |
2017-11-08 | ui: Define and honor '&error-location' and '&fix-hint' conditions....* guix/utils.scm (&error-location, &fix-hint): New condition types.
* guix/ui.scm (report-load-error): Handle them.
(call-with-error-handling): Honor '&error-location'.
| Ludovic Courtès |
2017-11-08 | ui: Introduce (guix i18n)....* guix/ui.scm (G_, N_, _P, %gettext-domain, %package-text-domain): Move
to...
* guix/i18n.scm: ... here. New file.
| Ludovic Courtès |
2017-10-10 | ui: Improve reporting of missing closing parentheses....Suggested by Ricardo Wurmus.
Works around <https://bugs.gnu.org/28295>.
* guix/ui.scm (report-load-error): Add case for 'read-error'.
* tests/guix-system.sh: Test missing-closing-paren errors.
| Ludovic Courtès |
2017-09-16 | guix system: Add 'search' command....* guix/scripts/system.scm (resolve-subcommand): New procedure.
(process-command): Handle 'search'.
(guix-system): Likewise.
(show-help): Augment.
* guix/scripts/system/search.scm: New file.
* po/guix/POTFILES.in: Add it.
* Makefile.am (MODULES): Add it.
* guix/ui.scm (%text-width): Export.
* doc/guix.texi (Invoking guix system): Document it.
(Service Types and Services): Mention 'guix system search'.
* tests/guix-system.sh: Test it.
| Ludovic Courtès |
2017-09-16 | ui: Generalize relevance computation....* guix/ui.scm (relevance, package-relevance): New procedures.
(%package-metrics): New variable.
* guix/scripts/package.scm (find-packages-by-description)[score]
[package-score]: Remove. Use 'package-relevance' instead.
| Ludovic Courtès |
2017-07-28 | utils: Factorize XDG directory handling....* guix/ui.scm (config-directory): Remove.
* guix/utils.scm (xdg-directory, config-directory): New procedures.
(cache-directory): Rewrite in terms of 'xdg-directory'.
* guix/scripts/substitute.scm (%narinfo-cache-directory): Pass #:ensure?
#f to 'cache-directory'.
| Ludovic Courtès |
2017-07-02 | ui: package->recutlis: Remove duplicated package names in dependencies....* guix/ui.scm (package->recutils): Add call to 'delete-duplicates' in
'dependencies->recutils'.
| 宋文武 |
2017-06-21 | profiles: Catch and report collisions in the profile....* guix/profiles.scm (&profile-collision-error): New error condition.
(manifest-transitive-entries, manifest-entry-lookup, lower-manifest-entry)
(check-for-collisions): New procedures.
(profile-derivation): Add call to 'check-for-collisions'.
* guix/ui.scm (call-with-error-handling): Handle '&profile-collision-error'.
* tests/profiles.scm ("collision", "collision of propagated inputs")
("no collision"): New tests.
| Ludovic Courtès |
2017-06-16 | store: Add an RPC counter....* guix/store.scm (%rpc-calls): New variable.
(show-rpc-profile, record-operation): New procedures.
(operation): Add call to 'record-operation'.
* guix/ui.scm (run-guix-command): Wrap COMMAND-MAIN in 'dynamic-wind'.
Run EXIT-HOOK.
| Ludovic Courtès |
2017-06-15 | ui: Remove the empty string from '%load-extensions'....* guix/ui.scm (run-guix): Set %LOAD-EXTENSIONS.
| Ludovic Courtès |
2017-06-13 | ui: 'package->recutils' takes #:extra-fields....* guix/ui.scm (package->recutils): Add #:extra-fields and honor it.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' warns when we don't have enough disk space....* guix/ui.scm (check-available-space): New procedure.
(show-what-to-build): Compute 'installed-size' and call
'check-available-space'.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' displays how much will be downloaded....* guix/ui.scm (show-what-to-build)[download-size]
[display-download-size?]: New variables.
Add cases for when DISPLAY-DOWNLOAD-SIZE? is true.
| Ludovic Courtès |
2017-06-02 | derivations: 'derivation-prerequisites-to-build' returns <substitutable>....* guix/derivations.scm (derivation-prerequisites-to-build): Rename
#:substitutable? to #:substitutable-info.
[derivation-substitutable?]: Rename to...
[derivation-substitutable-info]: ... this. Return a list of <substitutable>.
Second return value is now a list of <substitutable> instead of a list
of strings.
* guix/ui.scm (show-what-to-build)[substitutable?]: Rename to...
[substitutable-info]: ... this.
Adjust to new 'derivation-prerequisites-to-build' return value type.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): Adjust.
("derivation-prerequisites-to-build and substitutes, local build"):
Likewise.
| Ludovic Courtès |
2017-05-16 | ui: Disable Guile deprecation warnings by default....* guix/ui.scm (initialize-guix): Call (debug-disable 'warn-deprecated)
when "GUILE_WARN_DEPRECATED" is not set.
| Ludovic Courtès |
2017-05-13 | scripts: Do not create the config directory....This fixes runs of 'guix package' and 'guix system' tests in
environments where $HOME is read-only.
* guix/ui.scm (config-directory): Add #:ensure? parameter and honor it.
* guix/scripts.scm (warn-about-old-distro): Pass #:ensure? #f to
'config-directory'.
| Ludovic Courtès |
2017-05-10 | ui: 'string->duration' correctly handles hours....* guix/ui.scm (string->duration): Add missing '=>' for hours.
* tests/ui.scm ("duration, 2 hours"): New test.
| Ludovic Courtès |
2017-05-03 | ui: Rename '_' to 'G_'....This avoids collisions with '_' when the latter is used as a 'match'
pattern for instance. See
<https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>.
* guix/ui.scm: Rename '_' to 'G_'.
* po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly.
* build-aux/compile-all.scm (warnings): Remove 'format'.
* gnu/packages.scm,
gnu/services.scm,
gnu/services/shepherd.scm,
gnu/system.scm,
gnu/system/shadow.scm,
guix/gnupg.scm,
guix/http-client.scm,
guix/import/cpan.scm,
guix/import/elpa.scm,
guix/import/pypi.scm,
guix/nar.scm,
guix/scripts.scm,
guix/scripts/archive.scm,
guix/scripts/authenticate.scm,
guix/scripts/build.scm,
guix/scripts/challenge.scm,
guix/scripts/container.scm,
guix/scripts/container/exec.scm,
guix/scripts/copy.scm,
guix/scripts/download.scm,
guix/scripts/edit.scm,
guix/scripts/environment.scm,
guix/scripts/gc.scm,
guix/scripts/graph.scm,
guix/scripts/hash.scm,
guix/scripts/import.scm,
guix/scripts/import/cpan.scm,
guix/scripts/import/cran.scm,
guix/scripts/import/crate.scm,
guix/scripts/import/elpa.scm,
guix/scripts/import/gem.scm,
guix/scripts/import/gnu.scm,
guix/scripts/import/hackage.scm,
guix/scripts/import/nix.scm,
guix/scripts/import/pypi.scm,
guix/scripts/import/stackage.scm,
guix/scripts/lint.scm,
guix/scripts/offload.scm,
guix/scripts/pack.scm,
guix/scripts/package.scm,
guix/scripts/perform-download.scm,
guix/scripts/publish.scm,
guix/scripts/pull.scm,
guix/scripts/refresh.scm,
guix/scripts/size.scm,
guix/scripts/substitute.scm,
guix/scripts/system.scm,
guix/ssh.scm,
guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was
obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".
| Ludovic Courtès |
2017-04-16 | ui: Gracefully report '&message' conditions....* guix/ui.scm (report-load-error, warn-about-load-error)
(read/eval): Add special-case for SRFI-35 &message conditions.
| Ludovic Courtès |
2017-04-04 | gexp: 'lower-object' raises an exception when passed an invalid object....* guix/gexp.scm (&gexp-error, &gexp-input-error): New error conditions.
(lower-object): Raise &gexp-input-error when 'lookup-compiler' returns #f.
* tests/gexp.scm ("lower-object & gexp-input-error?"): New test.
* guix/ui.scm (call-with-error-handling): Add case for 'gexp-input-error?'.
| Ludovic Courtès |
2017-03-27 | ui: Support Texinfo markup in package synopses....* guix/ui.scm (package-field-string): New procedure.
(package-description-string): Use it.
(package-synopsis-string): New procedure.
(package->recutils): Use it.
* guix/scripts/lint.scm (check-synopsis-style)[check-texinfo-markup]:
New procedure. Use it in checks.
* tests/lint.scm: Test it.
* gnu/packages/perl.scm (perl-try-tiny)[synopsis]: Adjust for the
Texinfo markup.
| Alex Kost |
2017-03-08 | ui: Don't use '%default-port-encoding' to set the encoding of string ports....* guix/ui.scm (right-arrow): Call 'set-port-encoding!' to set PORT's
encoding; remove use of 'with-fluids'. This is for compatibility with
Guile 2.2 where the encoding of string ports is not influenced by
%DEFAULT-PORT-ENCODING.
* tests/ui.scm ("show-manifest-transaction"): Likewise.
| Ludovic Courtès |