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+.
gnu: services: Add nginx-service.
* gnu/services/web.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* guix.texi ("Web Services"): New section.
import: Add Ruby gem importer.
* gnu/scripts/import.scm (importers): Add "gem".
* gnu/import/gem.scm: New file.
* gnu/scripts/import/gem.scm: New file.
* Makefile.am (MODULES): Add them.
* guix.texi ("invoking guix import"): Document it.
import: pypi: Move generally useful procedures to utils module.
* guix/import/pypi.scm (make-pypi-sexp): Factorize license to symbol
conversion code.
(string->license, snake-case, guix-hash-url): Move from here...
* guix/import/utils.scm: ... to here.
(license->symbol): New procedure.
gnu: Add ruby-arel.
* gnu/packages/ruby.scm (ruby-arel): New variable.
gnu: Add conky.
* gnu/packages/conky.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
gnu: lua: Add patch to generate pkg-config file.
* gnu/packages/patches/lua-pkgconfig.patch: New file.
* gnu/packages/lua.scm (lua)[source]: Add patch.
* gnu-system.am (dist_patch_DATA): Register patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>