pull: Move build code to (guix build pull).
* guix/build/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/pull.scm (unpack): Use it.
pull: Compile guix/ files before gnu/ files.
* guix/scripts/pull.scm (unpack)[builder]: Build files under guix/
before files under gnu/.
pull: Compile files in parallel.
* guix/scripts/pull.scm (unpack)[builder](compile-file*): Remove.
(call-with-process, p-for-each): New procedures. Use them to compile
files in parallel.
pull: Limit memory usage when compiling.
Reported by Arne Babenhauserheide <arne.babenhauserheide@kit.edu>.
* guix/scripts/pull.scm (unpack)[builder](compile-file*): Change to run
'compile-file' in a child process. This limits memory usage; before
that memory usage was proportional to the number of files to compile.
derivations: Use more keyword parameters for 'build-expression->derivation'.
* guix/derivations.scm (build-expression->derivation): Turn 'system' and
'inputs' into keyword parameters.
Adjust callers accordingly.
* gnu/system/linux.scm, gnu/system/vm.scm, guix/build-system/cmake.scm,
guix/build-system/gnu.scm, guix/build-system/perl.scm,
guix/build-system/python.scm, guix/build-system/trivial.scm,
guix/download.scm, guix/packages.scm, guix/profiles.scm,
guix/scripts/pull.scm, tests/derivations.scm, tests/guix-build.sh,
tests/monads.scm, tests/store.scm, tests/union.scm: Adjust users of
'build-expression->derivation' and 'derivation-expression'
accordingly.
* doc/guix.texi (Derivations): Adjust 'build-expression->derivation'
documentation accordingly.
(The Store Monad): Likewise for 'derivation-expression'.
Merge branch 'master' into core-updates
pull: Compile modules correctly regardless of the compilation order.
* guix/scripts/pull.scm (unpack)[builder]: Work around
<http://bugs.gnu.org/15602>.
pull: Simplify the builder.
* guix/scripts/pull.scm (unpack)[builder]: Use 'copy-recursively' and
'copy-file' instead of 'file-system-fold'.
pull: Add '--url' option.
* guix/scripts/pull.scm (%default-options): Add 'tarball-url' pair.
(%options, show-help): Add '--url'.
(guix-pull): Honor it.
Merge branch 'core-updates'
Merge branch 'master' into core-updates
utils: 'find-files' returns a sorted list.
* guix/build/utils.scm (find-files): Sort the result lexicographically.
* guix/scripts/pull.scm (unpack): Don't sort the result of 'find-files'.
Merge branch 'master' into core-updates
pull: Compile files in the lexicographic order.
* guix/scripts/pull.scm (unpack): Print the name of the file being
compiled. Sort the names of files to compile.
ui: Add `args-fold*' and use it.
* guix/ui.scm (args-fold*): New procedure.
* guix/scripts/build.scm, guix/scripts/download.scm,
guix/scripts/gc.scm, guix/scripts/hash.scm, guix/scripts/import.scm,
guix/scripts/package.scm, guix/scripts/pull.scm,
guix/scripts/refresh.scm: Use `args-fold*' instead of `args-fold'.
pull: Use `download-to-store'.
* guix/scripts/pull.scm (download-and-store): Remove.
(unpack): Use `download-to-store' instead.
pull: Switch to the cgit URL.
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
that the Hydra one is not currently available.
pull: Switch to the cgit URL.
* guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given
that the Hydra one is not currently available.
Merge branch 'master' into core-updates
Conflicts:
Makefile.am
gnu/packages/base.scm