release.nix: Update to new bootstrap Guile tarball.
* release.nix (bootstrap_guile): Update URLs and SHA256.
(build)[preBuild]: Adjust tarball name.
tests: Adjust to not rely on /bin/sh.
* tests/derivations.scm (%bash): New variable.
Replace occurrences of "/bin/sh" by %BASH.
* tests/union.scm ("union-build"): Delete duplicates from
%BOOTSTRAP-INPUTS.
distro: sed: Patch references to /bin/sh in the test suite.
* distro/packages/base.scm (sed): Add `patch-test-suite' phase.
distro: glibc: Build the statically-linked Bash embedded in glibc.
* distro/packages/base.scm (glibc): Expect "static-bash" to be a
directory, not a single file. Call `remove-store-references' on the
"bash" binary that is copied. Add an `sh' -> `bash' symlink. Change
the "static-bash" input to (static-package bash-light).
(glibc-final): Rename to...
(glibc-final-with-bootstrap-bash): ... this. Change `name' to
"glibc-intermediate". Remove #:patch-shebangs? setting.
(cross-gcc-wrapper): New procedure, with code formerly in
GCC-BOOT0-WRAPPED.
(gcc-boot0-wrapped): Use it.
(static-bash-for-glibc): New variable.
(glibc-final): Inherit from GLIBC-FINAL-WITH-BOOTSTRAP-BASH, and use
STATIC-BASH-FOR-GLIBC as the "static-bash" input.
distro: glibc: Fix contradicting settings of `BASH_SHELL'.
* distro/packages/base.scm (glibc-final): Remove `ac_cv_path_BASH_SHELL'
setting.
(glibc): Set `BASH_SHELL' instead of `ac_cv_path_BASH_SHELL'.
utils: Use binary I/O primitives for `remove-store-references'.
* guix/build/utils.scm (fold-port-matches)[get-char]: New procedure.
(remove-store-references): Use `put-u8' and `put-bytevector'.
build-system/gnu: Add `static-package'.
* distro/packages/make-bootstrap.scm (static-package): Move to...
* guix/build-system/gnu.scm (static-package): ... here. New procedure.
distro: Move lightweight Bash to (distro packages bash).
* distro/packages/make-bootstrap.scm (%bash-static): Move BASH-LIGHT to...
* distro/packages/bash.scm (bash-light): ... here. New variable.
build-system/gnu: Add support for the "bin" output.
* guix/build/gnu-build-system.scm (configure): Add support for "bin"
output.
utils: Restore the mtime/atime of patched files.
* guix/build/utils.scm (set-file-time): New procedure.
(patch-shebang): New `keep-mtime?' parameter; call `set-file-time'
when it's true.
(patch-makefile-SHELL): Likewise.
distro: bzip2: Patch `SHELL' in `Makefile-libbz2_so'.
* distro/packages/compression.scm (bzip2): Call `patch-makefile-SHELL'
in BUILD-SHARED-LIB.
distro: libc: Update to 2.17.
* distro/packages/base.scm (glibc): Update to 2.17.
build-system/gnu: enable test-target during the check phase
* guix/build-system/gnu.scm: add variable test-target
distro: attr: Fix references to /bin/sh.
* distro/packages/attr.scm (attr): Add `patch-makefile-SHELL'. Patch
`test/run' in `check' phase.
build-system/gnu: Patch shebangs in all the source; patch SHELL in makefiles.
* guix/build/utils.scm (call-with-ascii-input-file): New procedure.
(patch-shebang): Use it.
(patch-makefile-SHELL): New procedure.
* guix/build/gnu-build-system.scm (patch-source-shebangs): Patch all the
files, not just executables; remove `po/Makefile.in.in' patching.
(patch-generated-files): Rename to...
(patch-generated-file-shebangs): ... this. Patch executables and
makefiles.
(%standard-phases): Adjust accordingly.
* distro/packages/autotools.scm (libtool): Remove call to `patch-shebang'.
* distro/packages/base.scm (gcc-4.7): Likewise.
(guile-final): Remove hack to skip `test-command-line-encoding2'.
* distro/packages/bash.scm (bash): Remove `pre-configure-phase'.
* distro/packages/readline.scm (readline): Likewise.
* distro/packages/ncurses.scm (ncurses): Remove `pre-install-phase'.
distro: coreutils: Update to 8.20.
* distro/packages/base.scm (coreutils): Update to 8.20.
distro: guile: Patch (ice-9 popen) to use the right shell.
* distro/packages/guile.scm (guile-2.0): Add `pre-configure'.
* distro/packages/base.scm (guile-final): Adjust to preserve the
`pre-configure' phase.
build-system/gnu: Patch shebangs after `configure'.
* guix/build/gnu-build-system.scm (patch-generated-files): New
procedure.
(%standard-phases): Add it after `configure'.
build-system/gnu: Report the execution time of each phase.
* guix/build/gnu-build-system.scm (gnu-build): Report the success or
failure of each phase and its execution time.
distro: m4: Patch references to /bin/sh.
* distro/packages/m4.scm (m4): Add `pre-check' phase.