emacs: Add support for switching generations.
* emacs/guix-base.el (guix-switch-to-generation): New procedure.
* emacs/guix-info.el (guix-generation-info-insert-current): Insert button for
switching to generation.
* emacs/guix-list.el (guix-generation-list-switch): New procedure.
* doc/emacs.texi (emacs List buffer, emacs Info buffer): Document switching
generations.
emacs: Add 'current' generation parameter.
* emacs/guix-main.scm (generation-param-alist): Add 'current' parameter.
* emacs/guix-base.el (guix-param-titles): Add title for 'current' parameter.
* emacs/guix-info.el: Display 'current' parameter.
(guix-generation-info-current, guix-generation-info-not-current): New faces.
(guix-generation-info-insert-current): New procedure.
* emacs/guix-list.el: Display 'current' column.
(guix-generation-list-get-current): New procedure.
gnu: icu4c: Reinstate RUNPATH on shared libraries.
Fixes <http://bugs.gnu.org/18695>.
Reported by Mark H Weaver <mhw@netris.org>.
* gnu/packages/icu4c.scm (icu4c)[arguments]: In 'add-lib-to-runpath',
reinstate RUNPATH on files under lib/. Fixes a regression introduced
in commit 7239828.
gnu: guile-ssh: Update to 0.7.1.
* gnu/packages/ssh.scm (guile-ssh)[source]: Update to 0.7.1.
[arguments]: Remove ssh/Makefile.am fiddling from 'autoreconf' phase.
Remove #:parallel-build? argument.
[inputs]: Add LIBGCRYPT-1.5.
gnu: libssh: Add libgcrypt bug-fix patch.
Suggested by Artyom Poptsov <poptsov.artyom@gmail.com>.
* gnu/packages/ssh.scm (libssh)[source]: Add 'patches'.
gnu: guix: Update development snapshot.
* gnu/packages/package-management.scm (guix-0.7): Make public.
(guix-devel)[source]: Update to commit 14e84b2.
[propagated-inputs]: New field.
(guix): Alias for GUIX-DEVEL.
derivations: Add #:guile parameter to 'graft-derivation'.
* guix/derivations.scm (graft-derivation): Add #:guile parameter; pass
it to 'build-expression->derivation'.
list-packages: Handle 'origin' patches.
* build-aux/list-packages.scm (package->sxml)[patches]: Handle the case
where PATCH is an 'origin'.
gnu: Add unixodbc
* gnu/packages/databases.scm (unixodbc): New variable.
gnu: magit: Update to 1.2.1.
* gnu/packages/emacs.scm (magit): Update to 1.2.1.
emacs: Allow list functions to deal with nil values.
* emacs/guix-list.el (guix-list-get-tabulated-entry): Call functions returning
column value even for nil values.
(guix-list-get-one-line): Adjust for accepting nil argument.
guix package: Add '--switch-generation' option.
* guix/scripts/package.scm (switch-to-generation): New procedure.
(switch-to-previous-generation): Use it.
(guix-package): Adjust for '--switch-generation' option.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it.
profiles: Add 'relative-generation'.
* guix/profiles.scm: (relative-generation): New procedure.
(previous-generation-number): Use it.
profiles: Add condition types for profiles and generations.
Suggested by Ludovic Courtès.
* guix/profiles.scm (&profile-error, &profile-not-found-error,
&missing-generation-error): New condition types.
* guix/ui.scm (call-with-error-handling): Handle new types.
* guix/scripts/package.scm (roll-back, guix-package): Raise
'&profile-not-found-error' where needed.
gnu: libarchive: Apply fixes including for CVE-2013-0211.
* gnu/packages/patches/libarchive-CVE-2013-0211.patch,
gnu/packages/patches/libarchive-fix-lzo-test-case.patch,
gnu/packages/patches/libarchive-mtree-filename-length-fix.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (libarchive)[source]: Add patches.
gnu: Add transfig.
* gnu/packages/xfig.scm (transfig): New variable.
gnu: Add xfig.
* gnu/packages/xfig.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: libjpeg: Upgrade to version 9a.
* gnu/packages/image.scm (libjpeg): Upgrade to version 9a.
gnu: Add imake.
* gnu/packages/xorg.scm (imake): New variable.