Add a `base32' macro, for convenience.
* guix/packages.scm (base32): New macro.
* distro/base.scm (libsigsegv, gawk, hello): Use it.
packages: Allow the `arguments' field to be a procedure.
* guix/packages.scm (package-derivation): When ARGS is a procedure, call
(ARGS SYSTEM).
* distro/base.scm (gawk)[arguments]: Turn into a procedure, to disable
tests on Cygwin.
gnu-build-system: Improve the `configure' and `check' phases.
* guix/build/gnu-build-system.scm (configure): Print the final list of
flags.
(check): Add `tests?' keyword parameter.
gnu-build-system: Print the `configure' flags.
* guix/build/gnu-build-system.scm (configure): Print CONFIGURE-FLAGS.
Make `define-record-type*' error messages more informative.
* guix/utils.scm (define-record-type*): In case of missing or extra
field initializers, raise a descriptive `syntax-error'.
distro: libsigsegv: Use multiple outputs.
* distro/base.scm (libsigsegv)[outputs]: New field
(gawk)[arguments]: Clear.
[inputs]: Add the "lib" output of LIBSIGSEGV.
guix-build: Display multiple outputs when needed.
* guix-build.in (guix-build): Display multiple outputs when there's more
than one.
derivation: Coalesce multiple occurrences of the same input.
* guix/derivations.scm (write-derivation)[coalesce-duplicate-inputs]:
New procedure.
Use it to process INPUTS.
* tests/derivations.scm ("user of multiple-output derivation"): New
test.
build: Don't auto-compile tests.
* Makefile.am (TESTS_ENVIRONMENT): Add `--no-auto-compile'.
gnu-build-system: Fix "libdir" and "includedir" for multiple-output drvs.
* guix/build/gnu-build-system.scm (configure): Change `--libdir' and
`--includedir' to LIBDIR + "/lib" and INCLUDEDIR + "/include",
respectively.
Upgrade Nix worker protocol.
We were already relying on the new version in `set-build-options', so
this patch fixes that.
* guix/store.scm (%protocol-version): Increase.
(open-connection)[reserve-space?]: New argument. Pass it to the
server when it's recent enough.
derivation: Move sorting code to `write-derivation'.
* guix/derivations.scm (write-derivation): Sorte OUTPUTS, INPUTS,
SOURCES, and ENV-VARS alphabetically.
(derivation-hash): Leave INPUTS, SOURCES, and OUTPUTS unsorted.
(derivation)[env-vars-with-empty-outputs]: Leave ENV-VARS unsorted.
build: Use `AM_GNU_GETTEXT_VERSION'.
* configure.ac: Add `AM_GNU_GETTEXT_VERSION'. Suggested by
Antono Vasiljev.
Fix `derivation-hash' for outputs not sorted alphabetically.
* guix/derivations.scm (derivation-hash): Reorder OUTPUTS.
* tests/derivations.scm ("multiple-output derivation, non-alphabetic
order"): New test.
Add `propagated-inputs' and `properties' to <package>.
* guix/packages.scm (<package>)[propagated-inputs, properties]: New
fields.
(package-derivation): Update `match' clause.
Update list of dependencies.
* README: Require libgcrypt or libchop.
build: Build (guix utils) first.
* Makefile.am (MODULES): Move `guix/utils.scm' first.
build: Capitalize the package name.
* configure.ac: Use "Guix", not "guix", as the package name.
Add `guix-build'.
* guix-build.in: New file.
* configure.ac: Emit `guix-build'. Add `commands-exec'.
* Makefile.am (bin_SCRIPTS): New variable.
* po/POTFILES.in: Add `guix-build.in'.
Add `derivation-prerequisites' and `derivation-prerequisites-to-build'.
* guix/derivations.scm (derivation-prerequisites,
derivation-prerequisites-to-build): New procedures.
* tests/derivations.scm ("build-expression->derivation and
derivation-prerequisites", "build-expression->derivation and
derivation-prerequisites-to-build"): New tests.