gnu: magit: Update to 2.3.0.
* gnu/packages/emacs.scm (magit): Update to 2.3.0.
services: Add 'modify-services'.
* gnu/services.scm (%modify-service, modify-services): New macros.
* gnu/services/base.scm (mingetty-service-type, guix-service-type):
Export.
* emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'.
Ditto in 'guix-devel-scheme-indent' call.
* doc/guix.texi (Using the Configuration System): Give an example of
'modify-services'.
(Service Reference): Document it.
services: 'guix-configuration' has a 'substitute-urls' field.
* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New
field.
(guix-dmd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
refresh: Support comma-separated updater types.
* guix/scripts/refresh.scm (%options): Handle comma-separated types for
'--type' option.
(guix-refresh): Adjust accordingly.
(show-help): Likewise.
* doc/guix.texi (Invoking guix refresh): Document it.
gnu: pbtranscript-tofu: Update to 2.2.3.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu): Update to 2.2.3.
[source]: Remove bundled Cython sources in a snippet. Replace
".tar.gz" extension in file-name field with "-checkout".
[arguments]: Replace "enter-directory-and-clean-up" phase with
"enter-directory" phase, and add "patch-setuppy" phase.
[inputs]: Add python2-h5py. Move python2-cython ...
[native-inputs]: ... to this field.
gnu: pari-gp: Add X11 input.
* gnu/packages/algebra.scm (pari-gp)[inputs]: Add libx11, which enables
plotting functions.
tests: Print the mounts visible in the container.
* tests/guix-environment-container.sh: Print the content of
$tmpdir/mounts.
ui: Add 'make-regexp*'.
Fixes <http://bugs.gnu.org/21773>.
Reported by Jan Synáček <jan.synacek@gmail.com>.
* guix/ui.scm (make-regexp*): New procedure.
* guix/scripts/package.scm (options->installable, guix-package): Use it
when processing user-provided regexps.
container: Remove unnecessary CLONE_CHILD_* flags.
* gnu/build/linux-container.scm (namespaces->bit-mask): Remove
CLONE_CHILD_CLEARTID and CLONE_CHILD_SETTID, which are unneeded.
Discussed at <http://bugs.gnu.org/21694>.
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.