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'.
gexp: Add #:script-name parameter to 'gexp->derivation'. * guix/gexp.scm (gexp->derivation): Add #:script-name parameter. * doc/guix.texi (G-Expressions): Document it.
monads: Inline the procedure returned by liftN. * guix/monads.scm (define-lift): Turn into a macro that open-codes the result of its lift.
gnu: shadow: Update to 4.2.1. * gnu/packages/admin.scm (shadow): Update to 4.2.1. [source]: Use the release tarball.
gnu: Add abduco. * gnu/packages/abduco.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add cabal-install. * gnu/packages/haskell.scm (cabal-install): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: conky: Fix license. * gnu/packages/conky.scm (conky)[license]: Set to LICENSE:GPL3+.