lint: Report lonely parentheses.
* guix/scripts/lint.scm (%hanging-paren-rx): New variable.
(report-lone-parentheses): New procedure.
(%formatting-reporters): Use it.
* tests/lint.scm ("formatting: lonely parentheses"): New test.
gnu: Add ifstatus.
* gnu/packages/networking.scm (ifstatus): New variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
store: Add 'set-build-options*'.
Suggested by: Ludovic Courtès <ludo@gnu.org>.
* guix/store.scm (set-build-options*): New procedure.
ui: Add 'show-derivation-outputs'.
* guix/scripts/build.scm (guix-build): Extract code from here and move to...
* guix/ui.scm (show-derivation-outputs): ... here. New procedure.
Add (guix scripts).
* guix/ui.scm: Add missing copyright lines.
(args-fold*, environment-build-options, %default-argument-handler,
parse-command-line): Move to ...
* guix/scripts.scm: ...here. New file.
* guix/scripts/archive.scm: Use it.
* guix/scripts/build.scm: Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/edit.scm: Likewise.
* guix/scripts/environment.scm: Likewise.
* guix/scripts/gc.scm: Likewise.
* guix/scripts/graph.scm: Likewise.
* guix/scripts/hash.scm: Likewise.
* guix/scripts/import/cpan.scm: Likewise.
* guix/scripts/import/cran.scm: Likewise.
* guix/scripts/import/elpa.scm: Likewise.
* guix/scripts/import/gem.scm: Likewise.
* guix/scripts/import/gnu.scm: Likewise.
* guix/scripts/import/hackage.scm: Likewise.
* guix/scripts/import/nix.scm: Likewise.
* guix/scripts/import/pypi.scm: Likewise.
* guix/scripts/lint.scm: Likewise.
* guix/scripts/package.scm: Likewise.
* guix/scripts/publish.scm: Likewise.
* guix/scripts/pull.scm: Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/size.scm: Likewise.
* guix/scripts/system.scm: Likewise.
* tests/ui.scm (with-environment-variable, "parse-command-line",
"parse-command-line and --no options"): Move to ...
* tests/scripts.scm: ...here. New file.
* Makefile.am (MODULES): Add guix/scripts.scm.
(SCM_TESTS): Add tests/scripts.scm.
* po/guix/POTFILES.in: Add guix/scripts.scm.
emacs: Replace 'guix-any' with 'cl-some'.
* emacs/guix-utils.el (guix-any): Remove.
* emacs/guix-command.el (guix-command-improve-argument): Use 'cl-some'
instead of 'guix-any'.
emacs: Add commands to show/hide build log phases.
Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-build-log.el (guix-build-log-phase-end-regexp): New
variable.
(guix-build-log-phase-start, guix-build-log-phase-end,
guix-build-log-phase-hide, guix-build-log-phase-show,
guix-build-log-phase-hidden-p, guix-build-log-phase-toggle-function,
guix-build-log-phase-toggle, guix-build-log-phase-toggle-all): New functions.
(guix-build-log-mode-map): Add 'TAB'/'S-TAB' key bindings.
* doc/emacs.texi (Emacs Build Log): Document them.
gnu: Add scmutils.
* gnu/packages/scheme.scm (scmutils): New variable.
gnu: Add ruby-bio-logger.
* gnu/packages/ruby.scm (ruby-bio-logger): New variable.
download: Only show hours in the elapsed time if necessary.
* guix/build/download.scm
(seconds->string): Conditionally include hours in timestamp.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: guile: Add guile-next
* gnu/packages/guile.scm (guile-next): New variable.
* gnu/packages/guile.scm (guile-for-guile-emacs):
Adjust to inherit from guile-next rather than guile-2.0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-typo.
* gnu/packages/emacs.scm (typo): New variable.
gnu: Add emacs-butler.
* gnu/packages/emacs.scm (butler): New variable.
gnu: Add emacs-deferred.
* gnu/packages/emacs.scm (emacs-deferred): New variable.
gnu: Add ruby-cucumber-core.
* gnu/packages/ruby.scm (ruby-cucumber-core): New variable.
substitute: Improve readability of download progress report.
* guix/build/download.scm
(string-pad-middle, store-url-abbreviation, store-path-abbreviation):
New procedures.
(progress-proc): Add #:abbreviation parameter and use it. Generate a
better indeterminate progress string.
* guix/scripts/substitute.scm (assert-valid-narinfo): Add newlines to output.
(process-substitution): Use byte-count->string and store-path-abbreviation.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add mafft.
* gnu/packages/bioinformatics.scm (mafft): New variable.
gnu: Add keepassx.
* gnu/packages/password-utils.scm (keepassx): New variable.
gnu: Add python-requests-mock.
* gnu/packages/openstack.scm (python-requests-mock,
python2-requests-mock): New variables.
gnu: Add python-webob.
* gnu/packages/python.scm (python-webob, python2-webob): New variables.