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.
distro: libtool: Run test suite in parallel; patch references to /bin/sh. * distro/packages/autotools.scm (libtool): Add `pre-check' phase.
distro: bash, readline: Patch so that `make' uses the right shell. * distro/packages/readline.scm (readline): Add `pre-configure-phase' to patch `MAKE_SHELL' in `configure. Move `post-install-phase' body to a variable. * distro/packages/bash.scm (bash): Likewise.
distro: gawk: Use the right shell instead of /bin/sh. * distro/packages/gawk.scm (gawk): Patch shell file name in io.c.
distro: Update `guile-final' to not fail during `patch-source-shebangs' phase. * distro/packages/base.scm (guile-final): Add workaround on top of GUILE-2.0/FIXED to avoid `patch-source-shebangs' failure on one of the source files.
distro: ncurses: Patch references to /bin/sh. * distro/packages/ncurses.scm (ncurses): Add `patch-makefile-phase' and `pre-install-phase'.
utils: Add a `progress' parameter to `dump-port'. * guix/build/utils.scm (dump-port): Add a `progress' keyword parameter. Call it after each transfer.
distro: Update bootstrap binaries. Use bootstrap binaries that were generated with the `make-bootstrap' changes introduced in previous commit. * Makefile.am (nodist_bootstrap_x86_64_linux_DATA, nodist_bootstrap_i686_linux_DATA): Change Guile tarball name. (distro/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz, distro/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz): New targets. (distro/packages/bootstrap/x86_64-linux/guile-bootstrap-2.0.6.tar.xz, distro/packages/bootstrap/i686-linux/guile-bootstrap-2.0.6.tar.xz): Remove. * build-aux/download.scm (file-name->uri): Use "20121219" directory. * distro/packages/bootstrap.scm (%bootstrap-guile): Update file name. (%bootstrap-coreutils&co, %bootstrap-binutils, %bootstrap-glibc, %bootstrap-gcc): Update directory name and hashes.
distro: make-bootstrap: Have libc's functions search for `sh' in $PATH. * distro/packages/make-bootstrap.scm (%glibc-with-relocatable-system, %standard-inputs-with-relocatable-glibc): New variables. (%static-inputs)[gawk]: Apply `gawk-shell.patch'. [finalize]: New procedure. Build all the packages against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC. (%glibc-stripped): Inherit from %GLIBC-WITH-RELOCATABLE-SYSTEM. (%gcc-static, %guile-static): Build against %STANDARD-INPUTS-WITH-RELOCATABLE-GLIBC. * distro/packages/patches/gawk-shell.patch, distro/packages/patches/glibc-bootstrap-system.patch: New files. * Makefile.am (dist_patch_DATA): Add them.