* 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.
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/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.
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.
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.
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.
* 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.
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/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.
* gnu/packages/patches/unzip-increase-size-of-cfactorstr.patch: Delete
file. Replace with ...
* gnu/packages/patches/unzip-overflow-long-fsize.patch: ... this new file.
* gnu/packages/patches/unzip-attribs-overflow.patch,
gnu/packages/patches/unzip-fix-overflows-and-infloop.patch,
gnu/packages/patches/unzip-format-secure.patch: New files.
* gnu/packages/patches/unzip-CVE-2014-9636.patch: Replace contents with
fixed patch from Fedora.
* gnu-system.am (dist_patch_DATA): Adjust accordingly.
* gnu/packages/zip.scm (unzip)[source]: Adjust list of patches.
* gnu/packages/python.scm (python-h5py)
[inputs]: Remove python-cython and python-numpy.
[propagated-inputs]: New field.
[native-inputs]: Drop python-setuptools and add python-cython.
(python2-h5py): Replace "inputs" with "propagated-inputs".
* gnu/packages/patches/python-2.7-search-paths.patch,
gnu/packages/patches/python-3-search-paths.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/python.scm (python-2)[source]: Use first patch.
[arguments]: Remove now unneeded CPPFLAGS and LDFLAGS.
(python)[source]: Use second patch.
(python-minimal)[arguments]: Remove CPPFLAGS and LDFLAGS.
* gnu/packages/python.scm (python2-minimal, python-minimal): New
variables.
(wrap-python3): New procedure.
(python-wrapper): Use it.
(python-minimal-wrapper): New variable.
* gnu/packages/xml.scm (libxslt)[native-inputs]: Use
PYTHON-MINIMAL-WRAPPER instead of PYTHON-WRAPPER.
* gnu/packages/xorg.scm (xcb-proto, libxcb, xorg-server): Likewise.
If --with-frozenpaths is given, then configure will retain absolute paths
discovered for delegate programs, otherwise they are discarded.
* gnu/packages/imagemagick.scm (imagemagick)[arguments]: Add
'--with-frozenpaths' to #:configure-flags.
A client closing the connection while reading from a /nar URL would
leave an open file descriptor in the server. This patch fixes it.
* guix/scripts/publish.scm (swallow-EPIPE): New macro.
(http-write): Use it around 'write-file' call.