gnu: ocaml: Install man pages in share/man.
* gnu/packages/ocaml.scm (ocaml): Pass -mandir to configure.
gnu: pth: Install man pages in share/man.
* gnu/packages/pth.scm (pth): Add --mandir to configure flags.
gnu: expect: Install man pages in share/man.
* gnu/packages/tcl.scm (expect): Add --mandir configure flag.
Use 'let' to simplify configure flags generation.
gnu: zip: Improve build process and install man pages in share/man.
* gnu/packages/zip.scm (zip): Eliminate custom configure phase which copied
and patched the Makefile. Instead add "-f" and "prefix" to make-flags, as
well as "MANDIR". Remove "generic_gcc" from the make-flags, so that it will
not be passed during other phases involving 'make'. Instead replace the
'build' phase with one that specifies the "generic_gcc" target.
gnu: lua: Install man pages in share/man.
* gnu/packages/lua.scm (lua): Use 'system*' instead of 'system'.
Add INSTALL_MAN argument to 'make'.
gnu: indent: Install docs in share/doc.
* gnu/packages/indent.scm (indent): Add a phase to fix the docdir
setting in doc/Makefile.in.
guix package: 'search-path-environment-variables' traverses module tree once.
* guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]:
Use 'find-best-packages-by-name' instead of 'find-packages-by-name'.
On a profile with 140 packages, this reduces execution time of this
procedure from 5.8 seconds to 2.9 seconds (50% improvement.)
guix package: Register non-default profiles as GC roots.
* guix/scripts/package.scm (maybe-register-gc-root): New procedure.
* tests/guix-package.sh (profile): Grep the output of "guix gc
--list-live" in a couple of places.
gnu: net-tools: Install man pages and locales in share, not usr/share.
* gnu/packages/linux.scm (net-tools): Add 'INSTALLNLSDIR' and 'mandir'
variables to make flags.
gnu: libssh: Upgrade to 0.6.3.
* gnu/packages/ssh.scm (libssh): Upgrade to 0.6.3.
gnu: pulseaudio: Increase timeouts for tests.
* gnu/packages/pulseaudio.scm: Set the 'CK_DEFAULT_TIMEOUT' environment
variable to 120 in the 'pre-check' phase. Suggested by Ludovic Courtès.
gnu: file: Upgrade to 5.18.
* gnu/packages/file.scm (file): Upgrade to 5.18.
gnu: guile-json: Install under .../site/2.0.
* gnu/packages/guile.scm (guile-json)[source]: Add 'snippet'.
pki: Keep ACL in native sexp format to speed up 'authorized-key?'.
* guix/pki.scm (acl-entry-sexp, acl-sexp): Remove.
(public-keys->acl, current-acl): Return a native sexp.
(acl->public-keys, authorized-key?): Expect ACL to be a native sexp.
* guix/scripts/archive.scm (authorize-key): Convert ACL to
canonical-sexp when writing it.
substitute-binary: Avoid consing 'regexp-exec' arguments.
* guix/scripts/substitute-binary.scm (regexp-exec): Change formals
to (rx str . rest).
substitute-binary: Avoid reloading the ACL repeatedly.
* guix/scripts/substitute-binary.scm (guix-substitute-binary) <--query>:
Cache the result of (current-acl); pass it to 'valid-narinfo?' calls.
This saves 12% wall-clock time for "guix build emacs -n".
gnu: Add Bogofilter.
* gnu/packages/mail.scm (bogofilter): New variable.
gnu: Add guile-json.
* gnu/packages/guile.scm (guile-json): New variable.
Use 'signature-case' in (guix nar) and 'substitute-binary'.
* guix/nar.scm (restore-file-set)[assert-valid-signature]: Rewrite in
terms of 'signature-case'.
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
Call 'leave' instead of 'raise' when SIGNATURE is invalid.
(&nar-signature-error, &nar-invalid-hash-error): Remove.
(assert-valid-signature): Add 'narinfo' parameter; remove 'port'.
Rewrite in terms of 'signature-case' and 'leave'. Mention NARINFO's
URI in error messages. Adjust caller.
(narinfo-sha256): New procedure.
(assert-valid-narinfo): Use it.
(valid-narinfo?): Rewrite using 'narinfo-sha256' and
'signature-case'.
* tests/substitute-binary.scm (assert-valid-signature,
test-error-condition): Remove.
("corrupt signature data", "unauthorized public key", "invalid
signature"): Remove.
pki: Add 'signature-case' macro.
* guix/pki.scm (%signature-status): New procedure.
(signature-case): New macro.
* tests/pki.scm (%secret-key, %alternate-secret-key): New variables.
("signature-case valid-signature", "signature-case invalid-signature",
"signature-case hash-mismatch", "signature-case unauthorized-key",
"signature-case corrupt-signature"): New tests.