services: 'mingetty-service' no longer takes monadic values.
* gnu/services/base.scm (mingetty-service): Change default value of
#:motd from a monadic value to a <plain-file>. Assume MOTD to be a
file-like object. Assume LOGIN-PROGRAM is a gexp or #f.
(%base-services): Use 'plain-file' instead of 'text-file' for motd.
* gnu/system/linux.scm (unix-pam-service): Update docstring to mention
that MOTD is a file-like object.
* doc/guix.texi (Base Services): Adjust 'mingetty-service' documentation
accordingly.
* gnu/system/install.scm (installation-services): Adjust accordingly.
(log-to-info): Use 'program-file' instead of 'gexp->script'.
gexp: Add 'mixed-text-file'.
* guix/gexp.scm (mixed-text-file): New procedure.
* tests/gexp.scm ("mixed-text-file"): New test.
* doc/guix.texi (G-Expressions): Document it.
gexp: Add 'program-file'.
* guix/gexp.scm (<program-file>): New record type.
(program-file, program-file-compiler): New procedures.
* tests/gexp.scm ("program-file"): New test.
* doc/guix.texi (G-Expressions): Document it.
gexp: Add 'computed-file'.
* guix/gexp.scm (<computed-file>): New record type.
(computed-file, computed-file-compiler): New procedures.
* tests/gexp.scm ("lower-object, computed-file"): New test.
* doc/guix.texi (G-Expressions): Document 'computed-file'.
build: container: Fix call-with-clean-exit.
Before, call-with-clean-exit would *always* return an exit code of 1.
* gnu/build/linux-container.scm (call-with-clean-exit): Exit with status
code of 0 if thunk does not throw an exception.
* tests/containers.scm: Add test.
gnu: Add python-bandit.
* gnu/packages/openstack.scm (python-bandit, python2-bandit): New variables.
gnu: Update python-fixtures
* gnu/packages/python.scm (python-fixtures): Update.
* gnu/packages/python.scm (python-fixtures-0.3.16,
python2-fixtures-0.3.16, python-pbr-0.11,
python2-pbr-0.11): New variables.
* gnu/packages/python.scm (python-testrepository): Use python-fxitures-0.3.16
instead of python-fixtures in the inputs.
gnu: Add python-pip.
* gnu/packages/python.scm (python-pip, python2-pip): New variables.
build: Fix libgcrypt detection on FHS systems.
Reported by Christopher Allan Webber <cwebber@dustycloud.org>.
* m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): Add "grep -e -L" to the pipeline
to account for cases where the output of "libgcrypt-config --libs"
lacks a -L flag.
* configure.ac: When 'GUIX_LIBGCRYPT_LIBDIR' returns the empty string,
set LIBGCRYPT_LIBDIR to "no".
* config-daemon.ac: Add missing space.
scripts: environment: Use system* instead of system.
This allows for direct program invokation without needing a shell to act
as a command interpreter.
* guix/scripts/environment.scm (%default-shell): New variable.
(show-help): Adjust description. Remove '--exec' reference.
(%default-options): Use '%default-shell'.
(%options): Adjust '--exec' to run command via the default shell.
(parse-args): New procedure.
(guix-environment): Use 'parse-args'. Use 'system*' instead of
'system'.
* tests/guix-environment.sh: Add test for '--' command invokation.
* doc/guix.texi ("Invoking guix environment"): Use new syntax. Remove
'--exec' documentation.
utils: Add split procedure.
* guix/utils.scm (split): New procedure.
* tests/utils.scm: Add tests.
emacs: Add 'guix-devel-lint-package'
Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-devel.el (guix-devel-setup-repl): Add a workaround for
'guix-warning-port'.
(guix-devel-lint-package): New command.
(guix-devel-keys-map): Add key binding for it.
* doc/emacs.texi (Emacs Development): Document it.
lint: Export 'run-checkers'.
* guix/scripts/lint.scm (run-checkers): Export. Make 'checkers'
argument optional.
emacs: Add 'guix-devel-with-definition'.
* emacs/guix-devel.el (guix-devel-with-definition): New macro.
(guix-devel-build-package-definition): Use it.
(guix-devel-emacs-font-lock-keywords): New variable.
emacs: Fix 'guix-devel-setup-repl'.
Setting up guix ports needs to be done in Geiser REPL synchronously,
otherwise this operation may not be finished before the further
evaluating of guile code.
* emacs/guix-guile.el (guix-guile-prompt?): New function.
* emacs/guix-geiser.el (guix-geiser-eval-in-repl-synchronously): New
function.
* emacs/guix-devel.el (guix-devel-setup-repl): Use it.
emacs: Fix 'guix-build-log-phase-toggle-all'.
* emacs/guix-build-log.el (guix-build-log-phase-toggle-all): Handle the
case when there are no characters before the first phase:
'guix-build-log-next-phase' moves to the second phase in such a case,
and the toggling is not done properly, so use 're-search-forward'
instead.
emacs: devel: Fix 'modify-phases' highlighting.
* emacs/guix-devel.el (guix-devel-modify-phases-font-lock-pre): Handle
the case when 'modify-phases' is commented.
emacs: devel: Highlight gexp symbols.
Suggested by Ludovic Courtès <ludo@gnu.org>.
* emacs/guix-devel.el (guix-devel-gexp-symbol): New face.
(guix-devel-font-lock-keywords): Adjust to handle gexp symbols.
gnu: libunwind: Add fix for CVE-2015-3239.
* gnu/packages/patches/libunwind-CVE-2015-3239.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/libunwind.scm (libunwind)[source]: Add patch.