build-system/gnu: Add a `patch-shebangs' phase.
* guix/build/gnu-build-system.scm (patch-shebangs): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): New `patch-shebangs?' keyword
parameter. Pass it to the builder's `gnu-build'.
utils: Add `patch-shebang'.
* guix/build/utils.scm (search-path-as-string->list): New procedure.
(dump-port, patch-shebang): New procedures.
release.nix: Add dependency on GNU libgcrypt.
* release.nix (build)[configureFlags]: Add `--with-libgcrypt-prefix'.
build: Add `--with-libgcrypt-prefix'; capture the path to libgcrypt.
* configure.ac: Add `--with-libgcrypt-prefix'. Substitute `LIBGCRYPT'.
* Makefile.am (.scm.go): Pass $(LIBGCRYPT).
* guix/utils.scm (%libgcrypt): New variable.
(sha256): Use it.
packages: Add all non-derivation paths to the store.
* guix/packages.scm (package-derivation): Add all non-derivation paths
to the store.
packages: Allow store paths as inputs.
* guix/packages.scm (package-derivation): Allow non-derivation store
paths as inputs.
release.nix: Build out of chroot.
* release.nix: Add `preConfigure' and `__noChroot' attributes.
build: Pass the right flags for "make distcheck".
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable.
* configure.ac: Define and substitute `NIX_PREFIX'.
build: Add `test.drv' to the distribution.
* Makefile.am (EXTRA_DIST): Add `tests/test.drv'.
build: Pass $(NIX_INSTANTIATE) to the build and test environments.
* Makefile.am (.scm.go): Define $NIX_INSTANTIATE.
(TESTS_ENVIRONMENT): Likewise, and define $NIX_HASH.
* guix/utils.scm (nixpkgs-derivation): Use $NIX_INSTANTIATE when
defined.
* tests/utils.scm (%nix-hash): New variable.
("sha256 & bytevector->nix-base32-string"): Use it.
build: Add SRFI-64 to the distribution.
* Makefile.am (MODULES): Add `srfi/srfi-64.scm' and
`srfi/srfi-64.upstream.scm'.
build: Add release.nix.
* release.nix: New file.
* Makefile.am (EXTRA_DIST): Add it.
distro: Add GNU MPC.
* distro/base.scm (mpc): New variable.
distro: Add GNU MPFR.
* distro/base.scm (mpfr): New variable.
distro: Add GNU recutils.
* distro/base.scm (recutils): New variable.
distro: Add libffi.
* distro/base.scm (libffi): New variable.
(guile-2.0): Use it.
distro: Add GNU Ncurses.
* distro/base.scm (ncurses): New variable.
(readline): Use it.
distro: Add GNU Readline.
* distro/base.scm (readline): New variable.
(guile-1.8, guile-2.0): Use it.
* distro/readline-link-ncurses.patch: New file.
* Makefile.am (nobase_dist_guilemodule_DATA): Add it.
guix-build: Default the number of build cores to (current-processor-count).
* guix-build.in (guix-build): Use (current-processor-count) build cores
by default.
Add `nixpkgs-derivation*'; use it in the distro.
* guix/utils.scm (nixpkgs-derivation*): New macro.
* distro/base.scm: Use it instead of `nixpkgs-derivation'.