* 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.
* 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'.
* 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.
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".
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.
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'.
* 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.
* emacs/guix-pcomplete.el (guix-pcomplete-parse-linter-regexp): Improve
and rename to ...
(guix-pcomplete-parse-list-regexp): ...this. New variable.
(guix-pcomplete-lint-checkers): Use it.
(guix-pcomplete-graph-types): New function.
(guix-pcomplete-complete-command-arg): Complete package names for
'guix graph' command.
(guix-pcomplete-complete-option-arg): Complete '-t/--type' option.
* gnu/packages/emacs.scm: Use (gnu packages base) module. Remove
duplicated (gnu packages guile) and (gnu packages linux) modules.
(magit-svn): Update to 2.1.0.
[source]: Use 'url-fetch' method.
[inputs]: Remove. Move "emacs" to 'native-inputs', move "magit" to
'propagated-inputs'.
[native-inputs]: Add "tar" and "gzip".
[propagated-inputs]: Add "dash".
[arguments]: Adjust builder for the new inputs and unpacking the source.
This reinstates commit aa0f8409, which was inadvertently undone in commit
322eeb87.
Running 'guix archive --import' as root would have let corrupt or unauthentic
store items through.
Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
at <http://bugs.gnu.org/21354>.
* nix/nix-daemon/nix-daemon.cc (performOp) <wopImportPaths>: Pass true as the
first argument to 'importPaths'.
Reported by Eric Hanchrow <eric.hanchrow@gmail.com>
in <http://bugs.gnu.org/21354>.
* tests/syscalls.scm ("set-network-interface-address"): Skip when (getuid)
returns zero.
This disables compilation of this module on GNU/Hurd.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
* m4/guix.m4 (GUIX_CHECK_LIBC_MOUNT): New variable.
* configure.ac: Use it. Define 'BUILD_SYSCALLS_MODULE' conditional.
* Makefile.am (MODULES, EXTRA_DIST): Make 'guix/build/syscalls.scm'
conditional on BUILD_SYSCALLS_MODULE.
* guix/gexp.scm (lower-object): New procedure.
(lower-inputs, lower-references, gexp->sexp): Use it.
* tests/gexp.scm ("lower-object"): New test.
* doc/guix.texi (G-Expressions): Document it.
Prior to this commit the libpius modules would not be found and the default
GnuPG file name would be /usr/bin/gpg.
* gnu/packages/gnupg.scm (pius)[inputs]: Remove PYTHON-2.
[build-system]: Switch to PYTHON-BUILD-SYSTEM.
[arguments]: Add #:python. Change to add a single phase,
'set-gpg-file-name'.
Fixes <http://bugs.gnu.org/21280>.
Reported by Leo Famulari <leo@famulari.name>.
* tests/nar.scm (file-tree-equal?): Use #t as the initial result. Btrfs would
set nlink to 1 instead of 2 for an empty directory, thereby leading
'file-tree-equal?' to return #f.