Add (guix status) and use it for pretty colored output.
authorLudovic Courtès <ludo@gnu.org>
Wed, 18 Jan 2017 22:21:29 +0000 (23:21 +0100)
committerLudovic Courtès <ludo@gnu.org>
Thu, 27 Sep 2018 21:21:53 +0000 (23:21 +0200)
commitdc0f74e5fc26977a3ee6c4f2aa74a141f4359982
tree849de710a97637d1e830a15f630840e3af425d01
parentfe65b559a671390ed5034d2d0b2c58c276e5abff
Add (guix status) and use it for pretty colored output.

* guix/progress.scm (progress-reporter/trace): New procedure.
(%progress-interval): New variable.
(progress-reporter/file): Use it.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:print-extended-build-trace?.
(%default-options): Add 'print-extended-build-trace?'.
(guix-build): Parameterize CURRENT-TERMINAL-COLUMNS.  Use
'build-status-updater'.
* guix/scripts/environment.scm (%default-options): Add
'print-extended-build-trace?'.
(guix-environment): Wrap body in 'with-status-report'.
* guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and
'print-extended-build-trace?'.
(guix-pack): Wrap body in 'with-status-report'.
* guix/scripts/package.scm (%default-options, guix-package): Likewise.
* guix/scripts/system.scm (%default-options, guix-system): Likewise.
* guix/scripts/pull.scm (%default-options, guix-pull): Likewise.
* guix/scripts/substitute.scm (progress-report-port): Don't call STOP
when TOTAL is zero.
(process-substitution): Add #:print-build-trace? and honor it.
(guix-substitute)[print-build-trace?]: New variable.
Pass #:print-build-trace? to 'process-substitution'.
* guix/status.scm: New file.
* guix/store.scm (set-build-options): Add #:print-extended-build-trace?;
pass it into PAIRS.
(%protocol-version): Bump.
(protocol-version, nix-server-version): New procedures.
(current-store-protocol-version): New variable.
(with-store, build-things): Parameterize it.
* guix/ui.scm (build-output-port): Remove.
(colorize-string): Export.
* po/guix/POTFILES.in: Add guix/status.scm.
* tests/status.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162.
* nix/libstore/build.cc (DerivationGoal::registerOutputs)
(SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before
throwing.
18 files changed:
.dir-locals.el
Makefile.am
guix/progress.scm
guix/scripts/build.scm
guix/scripts/environment.scm
guix/scripts/pack.scm
guix/scripts/package.scm
guix/scripts/perform-download.scm
guix/scripts/pull.scm
guix/scripts/substitute.scm
guix/scripts/system.scm
guix/status.scm [new file with mode: 0644]
guix/store.scm
guix/ui.scm
nix/libstore/build.cc
nix/libstore/worker-protocol.hh
po/guix/POTFILES.in
tests/status.scm [new file with mode: 0644]