gnu: bigloo: Update tarball's hash. * gnu/packages/scheme.scm (bigloo): Change hash. The tarball was recently modified in-place (!).
store: Don't expect build logs to be UTF-8-encoded. * guix/store.scm (read-latin1-string): New procedure. (process-stderr): Use it instead of `read-string'. Reported by Andreas Enge <andreas@enge.fr>.
gnu: vorbis-tools: Enable ogg123. * gnu/packages/oggvorbis.scm (vorbis-tools): Add inputs ao and curl.
gnu: Add libao. * gnu/packages/oggvorbis.scm (ao): New variable.
gnu: Add curl. * gnu/packages/curl.scm: New file. * Makefile.am (MODULES): Add it.
gnu: Add openssh. * gnu/packages/ssh.cm (openssh): New variable.
.dir-locals.el: Fill at 78 columns.
derivations: Memoize `read-derivation'. * guix/derivations.scm (read-derivation): Rename to... (%read-derivation): ... this. (read-derivation): New procedure. This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.
store: Slightly improve memoization hashing. * guix/store.scm (open-connection): Call `make-hash-table' with 100. (add-text-to-store): Move TEXT first in ARGS, for better `hash' results. (add-to-store): Likewise, move ST first.
store: Remove the `fixed?' parameter from `add-to-store'. * guix/store.scm (add-to-store): Remove the `fixed?' parameter from the public interface. * gnu/packages/bootstrap.scm, guix-download.in, guix/derivations.scm, guix/packages.scm, tests/derivations.scm: Update all callers accordingly.
store: Avoid use of `set!'. * guix/store.scm (operation): New macro. (define-operation): Define in terms of `operation'. (add-text-to-store): Define using `operation', and remove now unnecessary `set!'. (add-to-store): Likewise. (add-text-to-store/cached, add-to-store/cached): Remove.
store: Micro-optimize `write-string'. * guix/store.scm (write-string): Optimize to write the length, contents, and padding all at once. This yields a 2% improvement on the execution time of "guix-build gdb".
Gracefully handle failure to install the current locale. * guix/ui.scm (install-locale): New procedure. * guix-build.in, guix-download.in, guix-gc.in, guix-import.in, guix-package.in: Use it instead of (setlocale LC_ALL "").
store: Cache `add-text-to-store' results. * guix/store.scm (<nix-server>)[atts-cache]: New field. (add-text-to-store/cached): New procedure. Use it as a wrapper around `add-text-to-store'. When running "guix-build gdb", this reduces the number of RPCs from 3048 to 289, and execution time from 4.7s to 2.6s.
store: Make the `add-to-store' cache per-connection. * guix/store.scm (<nix-server>)[ats-cache]: New field. (open-connection): Update accordingly. (add-to-store/cached): Use (nix-server-add-to-store-cache SERVER) instead of a weak hash table.
gnu: Add libssh2. * gnu/packages/ssh.scm: New file. * Makefile.am (MODULES): Add it.
gnu: Add openldap. * gnu/packages/openldap.scm: New file. * Makefile.am (MODULE): Add it.
store: Make `add-to-store' memoizing. * guix/store.scm (add-to-store/cached): New variable. Use it as the new `add-to-store'. This reduces the number of RPCs when doing "guix-build gdb" from 5009 to 3053, and the execution time from 7s to 3.9s.
gnu: gdb: Update to 7.5.1. * gnu/packages/gdb.scm (gdb): Update to 7.5.1.
build: Require Automake 1.12 or later. * configure.ac: Require Automake 1.12 or later.