packages: Add 'armhf-linux' to '%hydra-supported-systems'. * guix/packages.scm (%hydra-supported-systems): Do not remove 'armhf-linux' from it. It is now equal to '%supported-systems'.
gexp: Remove duplicate 'mkdir-p' definition. * guix/gexp.scm (%mkdir-p-definition): Remove. (%utils-module): New variable. (imported-files, compiled-modules): Have gexp load %UTILS-MODULE instead of using %MKDIR-P-DEFINITION.
gnu: coreutils: Add dependency on libcap. * gnu/packages/base.scm (coreutils)[inputs]: Add LIBCAP.
gnu: libcap: Update to 2.24. * gnu/packages/linux.scm (libcap): Update to 2.24. Fetch the source from mirror://kernel.org.
gnu: glibc: Upgrade to 2.22. * gnu/packages/base.scm (glibc): Upgrade to 2.22. (coreutils-light): New variable. * gnu/packages/commencement.scm (locale-proof-package): New procedure. (%boot5-inputs): Add LD-WRAPPER, BINUTILS-FINAL, BASH-FINAL, GNU-MAKE, DIFFUTILS, FINDUTILS, COREUTILS-LIGHT (pass through 'new-libc-package'), and %BOOTSTRAP-COREUTILS&CO (passed through 'locale-proof-package'.)
utils: Move 'package-name->name+version' to (guix build utils). * guix/utils.scm (package-name->name+version): Move to... * guix/build/utils.scm (package-name->name+version): ... here. New procedure. * guix/build/emacs-build-system.scm (package-name->name+version): Remove.
utils: Add 'strip-store-file-name'. * guix/build/utils.scm (strip-store-file-name): New procedure. * guix/build/emacs-build-system.scm (store-directory->name-version): Remove. Update callers to use 'strip-store-file-name'. * gnu/packages/gcc.scm (make-libstdc++-doc)[arguments]: Use 'strip-store-file-name' instead of 'string-drop'.
gnu: glibc: _PATH_BSHELL refers to our static bash. * gnu/packages/base.scm (glibc)[arguments]: Change _PATH_BSHELL in paths.h to refer to STATIC-BASH.
gnu: glibc: Use 'modify-phases'. * gnu/packages/base.scm (glibc)[arguments]: Use 'modify-phases' instead of 'alist-cons-before'.
build-system/gnu: Use monotic time to measure elapsed time. * guix/build/gnu-build-system.scm (gnu-build)[elapsed-time]: New procedure. Use it, and use (current-time time-monotonic) instead of (gettimeofday). Show one digit after the comma for the elapsed time.
gnu: ncurses: Really install headers to OUT/include. * gnu/packages/ncurses.scm (ncurses)[arguments]: Pass --enable-overwrite.
gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases. * gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools, plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'. * gnu/packages/check.scm (catch-framework): Likewise. * gnu/packages/code.scm (global): Likewise. * gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools): Likewise. * gnu/packages/engineering.scm (fastcap, fasthenry): Likewise. * gnu/packages/gnuzilla.scm (nss): Likewise. * gnu/packages/guile.scm (guile-minikanren): Likewise. * gnu/packages/java.scm (swt): Likewise. * gnu/packages/make-bootstrap.scm (%static-binaries): Likewise. * gnu/packages/maths.scm (lpsolve): Likewise. * gnu/packages/mp3.scm (mpc123): Likewise. * gnu/packages/ninja.scm (ninja): Likewise. * gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise. * gnu/packages/screen.scm (dtach): Likewise. * gnu/packages/synergy.scm (synergy): Likewise. * gnu/packages/textutils.scm (utf8proc): Likewise. * gnu/packages/version-control.scm (git-test-sequence): Likewise. * gnu/packages/wicd.scm (wicd): Likewise.
utils: Add 'install-file'. * guix/build/utils.scm (install-file): New procedure.
gnu: glibc: Do not copy static Bash binary to bin/. This avoids problems when installing 'glibc' in a profile, where glibc's limited 'bash' would take precedence over the valid 'bash'. * gnu/packages/base.scm (glibc)[arguments]: Do not copy STATIC-BASH to OUT/bin. Instead, simply refer to it directly. [inputs]: Use STATIC-BASH instead of BASH-LIGHT. * gnu/packages/commencement.scm (static-bash-for-glibc): Likewise. (glibc-final)[arguments]: Add STATIC-BASH-FOR-GLIBC to #:allowed-references. (gcc-final)[arguments]: Likewise. [native-inputs]: Add "static-bash".
gnu: ncurses: Remove obsolete hack. * gnu/packages/ncurses.scm (ncurses)[arguments]: Remove obsolete Solaris hack.
gnu: ncurses: Rework trick to avoid reference to the bootstrap bash. This removes reliance on the availability of 'bin/sh' in glibc. * gnu/packages/ncurses.scm (ncurses): Remove 'configure-phase'. Add 'remove-shebang-phase'. [arguments]: Remove distinction between cross builds and native builds. Use 'modify-phases'. Add 'remove-unneeded-shebang' phase.
gnu: ncurses: Upgrade to 6.0. * gnu/packages/ncurses.scm (ncurses): Upgrade to 6.0. Change library names to '.so.6'.
gnu: binutils: Upgrade to 2.25.1. * gnu/packages/base.scm (binutils): Upgrade to 2.25.1.
gnu: Add 'bash-static'. * gnu/packages/bash.scm (static-bash): New variable.
download: Keep only 2 store items for all the downloads. This significantly reduces churn in the store. It also reduces run time of 'guix build inkscape -Sd' by ~10%. * guix/download.scm (url-fetch)[mirror-file]: New variable. [builder]: Get URL from the "guix download url" env. var. Get the mirrors from MIRROR-FILE. Pass #:script-name and #:env-vars to 'gexp->derivation'.