* gnu/packages/mit-krb5.scm (mit-krb5)[source]: Use version-major+minor.
[arguments]: Use modify-phases. Split and rewrite 'unpack' phase into
'unpack', 'apply-patches', and 'enter-source-directory' phases. Add a
'pre-check' phase instead of replacing the 'check' phase. Combine
substitutions on the same file. In the 'unpack' phase, find
native-inputs with names starting with "patch/" and apply them all.
Print a message for each patch applied. Do not rely on the result of
'chdir', which is unspecified. Determine the names of the inner tar
file and the directory in a more robust way. Add (ice-9 ftw),
(ice-9 match) and (srfi srfi-1) to #:modules.
* gnu/packages/package-management.scm (nix): Move perl-www-curl,
perl-dbi and perl-dbd-sqlite from 'propagated-inputs' to 'inputs'.
[arguments]: Add #:configure-flags.
* guix/scripts/lint.scm (probe-uri): Add #:timeout parameter. Pass it
to 'open-connection-for-uri' and 'ftp-open'.
(validate-uri): Pass #:timeout 3 to 'probe-uri'.
* guix/build/download.scm (open-socket-for-uri): Always pass
AI_ADDRCONFIG to 'getaddrinfo' as recommended in the fine Guile
manual.
* guix/ftp-client.scm (ftp-open): Ditto.
* guix/build/download.scm (ensure-uri): New procedure.
(current-http-proxy): New variable.
(open-socket-for-uri): Copy from Guile commit aaea5b2, but add #:timeout
parameter and use 'connect*' instead of 'connect'.
(open-connection-for-uri): Add #:timeout parameter and pass it to
'open-socket-for-uri'.
* guix/ftp-client.scm (catch-EINPROGRESS): New macro.
(connect*): New procedure.
(ftp-open): Add #:timeout parameter. Use 'connect*' instead of
'connect' and pass it TIMEOUT.
* emacs/guix-command.el (guix-command-improve-environment-argument): Use
"E" for '--expose' and "S" for '--share' to distinguish them from
'--expression' and '--system' accordingly. Make '--ad-hoc' an option
taking packages instead of a simple switch.
(guix-command-rest-argument): Complete shell command instead of
packages for '--' argument.
(guix-command-additional-arguments): Add fake 'packages' argument.
New variable.
(guix-command-additional-arguments): Use it.
(guix-command-post-process-environment-packages,
guix-command-post-process-environment-ad-hoc): New functions.
(guix-command-post-processors): Add "environment" command with the new
argument processors.
* emacs/guix-command.el (guix-command-improve-action-argument): Use "C"
key for 'container' action to distinguish it from 'challenge'.
(guix-command-rest-argument): Add positional arguments.
* gnu/packages/admin.scm (sudo)[arguments]: Add CPPFLAGS to
#:configure-flags. In 'pre-configure' phase, modify
'sudo_usage.h.in'. Add pattern to remove '-o 0 -g 0' installation
flag in 'Makefile.in', and remove pattern for '-O 0 -G 0'. Remove
modifications of 'configure'.
Fixes <http://bugs.gnu.org/21817>.
Reported by Petter Berntsen <petter@mykolab.ch>.
* guix/scripts/gc.scm (guix-gc)[assert-no-extra-arguments]: New
procedure.
Use it for actions 'collect-garbage', 'optimize', and 'verify'.
* tests/guix-gc.sh: Add tests.
Partly fixes <http://bugs.gnu.org/20255>.
* guix/scripts/package.scm (search-path-environment-variables): Change
'profile' to 'profiles'; expect it to be a list.
(display-search-paths): Likewise.
(%default-options): Remove 'profile' entry.
(%options) <--profile>: Keep previous values associated with 'profile'
in RESULT.
(guix-package)[process-actions, process-query]: Handle the possible
lack of 'profile' pair in OPTS.