~ruther/guix-local

ref: a1ff7e1d8dfb86ae1817d4e0db4ddeebd2083e83 guix-local/guix/scripts d---------
a1ff7e1d — Ludovic Courtès 8 years ago
scripts: Factorize option parsing sans 'GUIX_BUILD_OPTIONS'.

* guix/scripts.scm (parse-command-line): Add #:build-options? parameter
and honor it.
* guix/scripts/challenge.scm (guix-challenge): Use 'parse-command-line'
with #:build-options? #f instead of 'args-fold*'.
* guix/scripts/gc.scm (guix-gc): Likewise.
* guix/scripts/graph.scm (guix-graph): Likewise.
* guix/scripts/hash.scm (guix-hash): Likewise.
* guix/scripts/lint.scm (guix-lint): Likewise.
* guix/scripts/refresh.scm (guix-refresh): Likewise.
* guix/scripts/size.scm (guix-size): Likewise.
* guix/scripts/weather.scm (guix-weather): Likewise.
efff3dd4 — Ludovic Courtès 8 years ago
scripts: Use 'args-fold*' for command that do not honor build flags.

Fixes <https://bugs.gnu.org/28984>.
Reported by Eric Bavier.

* guix/scripts/challenge.scm (guix-challenge): Use 'args-fold*' instead
of 'parse-command-line'.
* guix/scripts/size.scm (guix-size): Likewise.
* guix/scripts/weather.scm (guix-weather): Likewise.
bf7dfb1f — Ludovic Courtès 8 years ago
challenge: Display an overall summary.

* guix/scripts/challenge.scm (summarize-report-list): New procedure.
(guix-challenge): Use it.
* doc/guix.texi (Invoking guix challenge): Adjust command output in
example.
d213cc8c — Ludovic Courtès 8 years ago
substitute: Don't send more than 1000 requests in a row.

Fixes <https://bugs.gnu.org/28731>.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.

* guix/scripts/substitute.scm (at-most): New procedure.
(http-multiple-get): Use it to send at most 1000 requests at once.
44c6a87f — Ludovic Courtès 8 years ago
guix package: '--list-available' does not show superseded packages.

* guix/scripts/package.scm (process-query) <'list-available>: Filter out
P if it matches 'package-superseded'.
8c348825 — Ludovic Courtès 8 years ago
Add (guix progress).

Among other things, this removes (guix utils), (guix ui), (guix config),
etc. from the closure of (guix build download), as was the case since
798648515b77507c242752457b4dc17c155bad6e.

* guix/utils.scm (<progress-reporter>, call-with-progress-reporter):
Move to...
* guix/progress.scm: ... here.  New file.
* Makefile.am (MODULES): Add it.
* guix/build/download.scm (current-terminal-columns)
(nearest-exact-integer, duration->seconds, seconds->string)
(byte-count->string, progress-bar, string-pad-middle)
(rate-limited, progress-reporter/file, dump-port*)
(time-monotonic): Move to progress.scm.
* guix/scripts/download.scm: Adjust accordingly.
* guix/scripts/substitute.scm: Likewise.
5efa0e4d — 宋文武 8 years ago
guix: substitute: Report the last progress in the child process.

Fixes <https://bugs.gnu.org/28756>.

* guix/utils.scm (filtered-port): Close the 'input' port for the current
process, and close it upon exit in the child process.
* guix/scripts/substitute.scm (progress-substitution): Display "\n\n" after
the reporter has finished.
61f28fe7 — Ludovic Courtès 8 years ago
lint: 'home-page' checker reports permanent redirects.

* guix/scripts/lint.scm (probe-uri): Add special case for HTTP 301.
(validate-uri): Likewise.
* tests/lint.scm ("home-page: 301, invalid")
("home-page: 301 -> 200", "home-page: 301 -> 404")
("source: 301 -> 200", "source: 301 -> 404"): New tests.
d8e89b1c — Ludovic Courtès 8 years ago
offload: Reduce the number of calls to 'machine-load'.

Previously we would call 'machine-load' once per machine, which was very
costly when there were many machines.  Now we arrange to call it only
once on average (when all the machines have the same 'speed' value).

* guix/scripts/offload.scm (random-seed, shuffle): New procedures.
(choose-build-machine)[machines+slots+loads]: Rename to...
[machines+slots]: ... this.  Remove load from the tuples therein.
[undecorate]: Adjust accordingly.
[machine-less-loaded-or-faster?]: Remove.
[machine-faster?]: New procedure.
Sort MACHINES+SLOTS according to 'machine-faster?'.  Call
'machine-load?' as the last thing.
abaee53c — 宋文武 8 years ago
substitute: Close the progress port after substitute finished.

Fixes <https://bugs.gnu.org/28756>.

* guix/scripts/substitute.scm (progress-substitution):
Call '(close-port progress)'.
735f6b63 — Ludovic Courtès 8 years ago
lint: Remove extra newline.

* guix/scripts/lint.scm (check-for-updates): Remove trailing "~%".
adf0c531 — Efraim Flashner 8 years ago
guix: lint: Add checker for new upstream versions.

* guix/scripts/lint.scm (check-for-updates): New procedure.
(%checkers): Add it.
* guix/scripts/refresh.scm (importer-modules, %updaters): Move
from here ...
* guix/upstream.scm: ... to here.
cca6941f — Oleg Pykhalov 8 years ago
pull: Add GUIX_PULL_URL environment variable.

* guix/scripts/pull.scm (%repository-url): Add GUIX_PULL_URL environment
  variable.
* doc/guix.texi (Invoking guix pull): Mention GUIX_PULL_URL.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
eca16a3d — Ludovic Courtès 8 years ago
guix package: '--upgrade' no longer reverses package order.

Reported by Oleg Pykhalov <go.wigust@gmail.com>
at <https://lists.gnu.org/archive/html/help-guix/2017-10/msg00000.html>.

* guix/scripts/package.scm (options->installable)[upgraded]: Use
'fold-right' instead of 'fold'.
6a317919 — Marius Bakke 8 years ago
Merge branch 'master' into staging
e5788ebb — Ludovic Courtès 8 years ago
publish: Cache uncompressed nars as well.

Fixes <https://bugs.gnu.org/28664>.
Reported by Maxim Cournoyer <maxim.cournoyer@gmail.com>.

* guix/scripts/publish.scm (bake-narinfo+nar): When COMPRESSION is
'none, write NAR instead of doing nothing.
(make-request-handler): Use 'render-nar/cached' for /nar URLs with no
compression.
* tests/publish.scm ("with cache", "with cache, uncompressed"): Adjust
expected result accordingly.
9d80d0e9 — Ludovic Courtès 8 years ago
guix system: Error out when passed a wrong file system UUID/label.

* guix/scripts/system.scm (check-file-system-availability): New
procedure.
(perform-action): Use it.
7716ccd5 — Marius Bakke 8 years ago
Merge branch 'master' into staging
07f80c27 — Ricardo Wurmus 8 years ago
guix: Revert accidentally committed changes.

This is a follow-up to commit fb1db385476bc4548d3eadea93b5dd6a346839f2.

* guix/scripts/build.scm (lazy-util): Remove procedure.
(options->things-to-build): Remove special case for files with ".json"
extension.
fb1db385 — Ricardo Wurmus 8 years ago
import: Add JSON importer.

* doc/guix.texi (Invoking guix import): Document it.
* guix/scripts/import/json.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/import.scm (importers): Add json importer.
Next