guix-package: Allow `--roll-back' to skip missing generations. * guix-package.in (profile-numbers): New procedure. (latest-profile-number): Use it. (previous-profile-number): New procedure. (roll-back): Use it lieu of `1-'. Check whether PREVIOUS-NUMBER is zero, and raise an error when it is. * tests/guix-package.sh: Test whether we can roll back over a "hole".
guix-package: Add `--roll-back'. Based on a patch by Nikita Karetnikov <nikita@karetnikov.org>. * guix-package.in (profile-regexp): New procedure. (latest-profile-number): Remove `%profile-rx', and use `profile-regexp' instead. (profile-number, roll-back): New procedure. (show-help): Add `--roll-back'. (%options): Likewise. (guix-package)[process-actions]: First check whether `roll-back?' is among OPTS, and call `roll-back' if it is, followed by a recursive call to `process-actions'. Emit the "nothing to be done" message only when INSTALL or REMOVE is non-empty. * tests/guix-package.sh (readlink_base): New function. Add tests for `--roll-back'. * doc/guix.texi (Invoking guix-package): Document `--roll-back'.
distro: gnutls: Update to 3.1.6. * distro/packages/gnutls.scm (gnutls): Update to 3.1.6.
packages: Change `base32' to allow non-literal strings. * guix/packages.scm (base32): Allow arguments that are not literal strings.
distro: nettle: Update to 2.6. * distro/packages/nettle.scm (nettle): Update to 2.6.
distro: gdb: Add dependency on Expat and Python. * distro/packages/gdb.scm (gdb): Add Expat and Python as inputs.
distro: Add Expat. * distro/packages/xml.scm: New file. * Makefile.am (MODULES): Add it.
doc: Start documenting derivations. * doc/guix.texi (Defining Packages): Add cross-reference to "Derivations". (The Store): Add `build-derivations'. (Derivations): Populate.
doc: Fix typos, and improve daemon documentation. * doc/guix.texi: Fix typos. (Invoking guix-daemon): Add details about `--disable-log-compression' and `--disable-store-optimization'. Reported by Nikita Karetnikov <nikita@karetnikov.org>.
doc: Remove @documentlanguage. * doc/guix.texi: Remove @documentlanguage, which confuses TeX.
distro: Add icu4c (International Components for Unicode). * distro/packages/icu4c.scm: New file. * Makefile.am (MODULES): Add it.
distro: Add Python 2.7.3. * distro/packages/python.scm: New file. * Makefile.am (MODULES): Add it.
doc: Start documenting (guix store). * doc/guix.texi (The Store): Populate. (Introduction): Add cross-reference. Change "package store" to "the store".
distro: recutils: Add 3 optional dependencies. * distro/packages/recutils.scm (recutils): Add Emacs, Check, and bc as dependencies.
distro: check: Fix source URL. * distro/packages/check.scm (check): Fix source URI.
distro: Add patches forgotten in previous commits. * distro/packages/patches/bigloo-gc-shebangs.patch, distro/packages/patches/emacs-configure-sh.patch, distro/packages/patches/procps-make-3.82.patch: New files. * Makefile.am (dist_patch_DATA): Add them.
distro: Add GNU bc. * distro/packages/algebra.scm (bc): New variable.
guix-package: Connect to the daemon only after arguments have been processed. * guix-package.in (%store): Change to a SRFI-39 parameter. Update all users. (guix-package): Parametrize %STORE to an open connection after `parse-options' has been called.
distro: Add Cyrus SASL. * distro/packages/cyrus-sasl.scm: New file. * Makefile.am (MODULES): Add it.
Test commit. * Makefile.am: alphabetical ordering