guix-devel/guix/scripts
Ludovic Courtès f9a8fce10f
status: Build upon multiplexed build output.
This allows for more accurate status tracking and parsing of extended
build traces.

* guix/status.scm (multiplexed-output-supported?): New procedure.
(print-build-event): Don't print \r when PRINT-LOG? is true.
Adjust 'build-log' handling for when 'multiplexed-output-supported?'
returns true.
(bytevector-index, split-lines): New procedures.
(build-event-output-port)[%build-output-pid, %build-output]
[%build-output-left]: New variables.
[process-line]: Handle "@ build-output" traces.
[process-build-output]: New procedure.
[write!]: Add case for when %BUILD-OUTPUT-PID is true.  Use
'bytevector-index' rather than 'string-index'.
(compute-status): Add #:derivation-path->output-path.  Use it.
* tests/status.scm ("compute-status, multiplexed build output"):
New test.
("build-output-port, UTF-8")
("current-build-output-port, UTF-8 + garbage"): Adjust to new
'build-log' output.
* guix/scripts/build.scm (set-build-options-from-command-line):
Pass #:multiplexed-build-output?.
(%default-options): Add 'multiplexed-build-output?'.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.
2018-10-15 23:06:55 +02:00
..
container
import import: pypi: Support recursive importing. 2018-08-30 15:22:22 +02:00
system guix system: search: Display all provision names as 'shepherdnames'. 2018-05-01 23:29:03 +02:00
archive.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
authenticate.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
build.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
challenge.scm scripts: Factorize option parsing sans 'GUIX_BUILD_OPTIONS'. 2017-10-28 09:45:53 +02:00
container.scm scripts: Add missing -V option to commands that document it. 2018-07-07 18:10:31 +02:00
copy.scm scripts: All commands enable build hooks by default. 2017-12-07 23:12:37 +01:00
describe.scm describe: Canonicalize the profile. 2018-10-14 23:48:49 +02:00
download.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
edit.scm
environment.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
gc.scm scripts: gc: Report size in MiBs instead of bytes. 2018-06-28 00:29:46 +02:00
graph.scm graph: Add '--system'. 2018-09-16 23:00:44 +02:00
hash.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
import.scm guix: Add opam importer. 2018-07-10 10:11:01 +02:00
lint.scm packages: Add 'package-patched-vulnerabilities'. 2018-06-09 12:02:28 +02:00
offload.scm offload: Fix error message in 'guix offload test'. 2018-06-15 10:04:59 +02:00
pack.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
package.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
perform-download.scm perform-download: Optionally report a "download-progress" trace. 2018-09-27 23:21:53 +02:00
publish.scm Switch to Guile-Gcrypt. 2018-09-04 17:25:11 +02:00
pull.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
refresh.scm gnupg: Use 'gpgv' and keybox files; adjust 'guix refresh' accordingly. 2018-09-16 23:00:44 +02:00
repl.scm Add (guix inferior) and (guix scripts repl). 2018-07-13 17:28:39 +02:00
size.scm store: Add 'query-path-info*'. 2018-07-03 00:39:10 +02:00
substitute.scm Add (guix status) and use it for pretty colored output. 2018-09-27 23:21:53 +02:00
system.scm status: Build upon multiplexed build output. 2018-10-15 23:06:55 +02:00
weather.scm weather: Fix pasto in --version output. 2018-07-07 18:10:31 +02:00