store: Use the daemon's substitute URLs by default.
Partly fixes <http://bugs.gnu.org/20217>.
* guix/store.scm (set-build-options): Change #:substitute-urls to
default to #f. Send the 'substitute-urls' pair only if
SUBSTITUTE-URLS is true.
* guix/scripts/build.scm (set-build-options-from-command-line): Do not
default to %DEFAULT-SUBSTITUTE-URLS for #:substitute-urls.
* guix/scripts/size.scm (%default-options): Remove 'substitute-urls'.
scripts: build: Add --file option.
* guix/scripts/build.scm (show-help): Add help text for --file option.
(%options): Add --file option.
(options/resolve-packages): Handle 'file' options.
* tests/guix-build.sh: Add tests.
* doc/guix.texi ("invoking guix build"): Add doc.
gnu: python-debian: Avoid @itemize in description.
* gnu/packages/python.scm (python-debian): Use @enumerate instead of
@itemize.
substitute: Honor all the specified server URLs.
* guix/scripts/substitute.scm (lookup-narinfos/diverse): New procedure.
(lookup-narinfo): Use it.
(process-query): Change #:cache-url to #:cache-urls.
[valid?]: Remove 'narinfo?' check, which is no longer necessary.
Use 'lookup-narinfos/diverse' instead of 'lookup-narinfos'.
(process-substitution): Change #:cache-url to #:cache-urls.
(%cache-url): Rename to...
(%cache-urls): ... this. Turn into a list.
(guix-substitute): Remove 'getaddrinfo' test with early exit. Adjust
calls to 'process-query' and 'process-substitution'.
* tests/substitute.scm: Change '%cache-url' to '%cache-urls'.
substitute: 'lookup-narinfos' returns exactly a list of narinfos.
* guix/scripts/substitute.scm (lookup-narinfos): Filter out #f values
from CACHED, such that the end result is exactly a list of narinfos,
not interspersed with #f.
* guix/scripts/challenge.scm (discrepancies): Assume REMOTE is a list of
narinfos.
substitute: 'http-multiple-get' follows 'fold' style.
* guix/scripts/substitute.scm (http-multiple-get): Add 'seed'
parameter. Call PROC in 'fold' style.
(fetch-narinfos)[handle-narinfo-response]: Adjust accordingly.
Update 'http-multiple-get' call accordingly.
gnu: grub: Install documentation.
* gnu/packages/grub.scm (grub)[native-inputs]: Add help2man and texinfo.
gnu: grub: Use modify-phases and other minor cleanups.
* gnu/packages/grub.scm (grub)[arguments]: Use modify-phases. Return #t from
'patch-stuff' phase. Add 'patch-stuff' phase after 'unpack' instead of
before 'patch-source-shebangs'.
[inputs]: Add comment noting that 'fuse' would be a desirable input.
doc: Add texinfo to the requirements when building from git.
* doc/contributing.texi (Building from Git): Add GNU Texinfo to the list of
additional requirements.
gnu: linux-libre: On MIPS, the linux image name is vmlinuz, not bzImage.
* gnu/packages/linux.scm (linux-libre)[install-phase]: Add vmlinuz to the list
of file names to be copied.
gnu: linux-libre: Add case for ARCH=mips.
* gnu/packages/linux.scm (linux-libre)[build-phase]: When setting ARCH, add a
case for MIPS.
gnu: linux-libre: Add 'supported-systems' field: Intel only for now.
* gnu/packages/linux.scm (linux-libre)[supported-systems]: New field.
gnu: linux-libre: Update to 4.2.5.
* gnu/packages/linux.scm (linux-libre): Update to 4.2.5.
linux-initrd: Use pata_acpi, pata_atiixp, and isci modules only on Intel.
* gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Include
"pata_acpi", "pata_atiixp", and "isci" on Intel systems only.
system: grub: Adjust eye-candy to work on non-Intel systems.
* gnu/system/grub.scm (eye-candy): Accept additional 'system' argument. Add
local 'setup-gfxterm-body' variable. Replace the 'load_video' grub function
with 'setup_gfxterm', which includes everything in the 'if loadfont' form on
Intel systems, but is empty on non-Intel.
(grub-configuration-file): Pass 'system' to 'eye-candy.
system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.
* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name'
internal procedure. Use it from 'entry->gexp'.
gnu: Add Diffoscope.
* gnu/packages/package-management.scm (diffoscope): New variable.
gnu: Add python-chardet.
* gnu/packages/python.scm (python-chardet, python2-chardet): New
variables.
gnu: Add python-debian.
* gnu/packages/python.scm (python-debian, python2-debian): New
variables.
refresh: Add '--list-updaters' option.
* guix/scripts/refresh.scm (list-updaters-and-exit): New procedure.
(%options, show-help): Add '--list-updaters' option.
* doc/guix.texi (Invoking guix refresh): Document it.