gnu: vm: Make a union of the visible packages; add /etc/profile.
* gnu/system/vm.scm (qemu-image): Add Guix as an input when
INITIALIZE-STORE?.
(union): New procedure.
(system-qemu-image): Use it. Build /etc/profile. Pass PROFILE among
#:inputs-to-copy instead of listing all the individual profiles.
Remove explicit 'build-derivations' call.
gnu: vm: Support derivation objects as inputs.
* gnu/system/vm.scm (expression->derivation-in-linux-vm)[input-alist]:
Add case for derivation? objects.
Same for #:inputs values.
(qemu-image)[input->name+derivation]: Likewise.
guix package: Show which generation is the current one.
* guix/scripts/package.scm (guix-package)[process-query]: Show that a
generation is the current one if the profile points to it.
* tests/guix-package.sh: Test it.
tests: Use 'test -z' to check that a string equals zero.
guix package: Do not list the zeroth generation.
* guix/scripts/package.scm (guix-package)[process-query]: Change
'list-generation' to not list the zeroth generation.
* tests/guix-package.sh: Test it.
* doc/guix.texi (Invoking guix package): Document it, and use the
right term when talking about generations.
guix package: Exit with 1 when a generation cannot be listed.
* guix/scripts/package.scm (guix-package)[process-query]: Exit with 1
when a generation does not exist or the profile points to the zeroth
generation.
* tests/guix-package.sh: Test the former case.
gnu: libksba: Update to 1.3.0.
* gnu/packages/gnupg.scm (libksba): Update to 1.3.0.
gnu: libgcrypt: Update to 1.5.3
* gnu/packages/gnupg.scm (libgcrypt): Update to 1.5.3.
gnu: gnupg: Update to 2.0.21.
* gnu/packages/gnupg.scm (gnupg): Update to 2.0.21.
gnu: pspp: Update to 0.8.1.
* gnu/packages/maths.scm (pspp): Update to 0.8.1.
gnu: fontconfig: Add and register gs-fonts.
* gnu/packages/fontutils.scm (fontconfig): Add gs-fonts as an input and
register it in the configuration file; so any porgram using fontconfig
should at least have the gs-fonts at its disposal.
gnu: guix: Rework 0.4 hack to gracefully handle lack of tarball.
* gnu/packages/package-management.scm (guix-0.4): Fall back to the
source of GIUX when the tarball doesn't exist.
gnu: vm: Add a service for the Guix daemon.
* gnu/system/dmd.scm (guix-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.
gnu: vm: Initialize the image's store.
* gnu/system/vm.scm (qemu-image): Add 'initialize-store?' keyword
parameter. Use 'guix-register' when INITIALIZE-STORE? is true.
(system-qemu-image): Pass #:initialize-store? #t.
gnu: guix: Set $localstatedir; add gzip as input.
* gnu/packages/package-management.scm (guix): Add "--localstatedir=/var".
Add GZIP as an explicit input, to avoid referring to the final gzip.
guix-register: Allow the initial directory creation to proceed.
This fixes a bug whereby 'guix-register' would bail out when trying to
create NIX_STORE_DIR/.links when NIX_STORE_DIR is read-only.
* nix/guix-register/guix-register.cc (parse_opt): Initialize
'settings.nixStore' to PREFIX + NIX_STORE_DIR.
(main): Change 'settings.nixStore' once the 'LocalStore' has been
instantiated.
gnu: racket: Add dependency on GTK+.
* gnu/packages/scheme.scm (racket): Add dependency on GTK+ and
gdk-pixbuf.
gnu: xorg: Fix xorg-server.
* gnu/packages/xorg.scm (xkbcomp-intermediate): New variable, serves as
input to xkeyboard-config.
* gnu/packages/xorg.scm (xkeyboard-config): Add input xkbcomp-intermediate.
* gnu/packages/xorg.scm (xkbcomp): Add input xkeyboard-config.
* gnu/packages/xorg.scm (xorg-server): Adapt xkb paths and replace references
to /bin/sh (with Ludovic Courtès <ludo@gnu.org>).
guix-register: Expect closures to refer to the original store.
* nix/guix-register/guix-register.cc (prefix): New variable.
(parse_opt): Use it.
(register_validity): Change 'info.path' to the final store name.
Hash the final under its real path.
* tests/guix-register.sh: Adjust the contents of $closure accordingly.
Rename 'NIX_LOCALSTATE_DIR' to 'NIX_STATE_DIR'. Don't try to call
'valid-path?'. Add test using 'sqlite3'.