build: Remove '..' from srcdir/builddir in 'pre-inst-env'.
* pre-inst-env.in (abs_top_srcdir, abs_top_builddir): New variables.
Use them instead of @abs_top_srcdir@ and @abs_top_builddir@.
This fixes the "package-field-location, relative file name" test in
'make distcheck'.
doc: Slightly improve the "System Configuration" node.
* doc/guix.texi (System Configuration): Add paragraph on upgrades and
rollback, moved from "Using the Configuration System".
(Using the Configuration System): Change variable name to
'komputilo'. Add xref to "Package Modules".
gnu: gdb: Upgrade to 7.6.2.
* gnu/packages/gdb.scm (gdb): Update to 7.6.2.
gnu: vm: Increase size of VM image.
* gnu/system/vm.scm (system-qemu-image): Add 'disk-image-size'
parameter; increase it.
store: Optimize 'store-path-package-name' and 'store-path-hash-part'.
* guix/store.scm (store-regexp*): New procedure.
(store-path-package-name, store-path-hash-part): Use it.
store: Add tests for 'store-path-package-name'.
* tests/store.scm ("store-path-package-name", "store-path-package-name
#f"): New tests.
NEWS: Small changes.
NEWS: Typos and very minor changes.
gnu: Honor the operating system's locale and timezone.
* gnu/system.scm (etc-directory): Add 'locale' and 'timezone'
parameters. Set 'LC_ALL', 'TZ', and 'TZDIR' in /etc/profile.
(operating-system-derivation): Adjust call accordingly.
* gnu/system/vm.scm (%demo-operating-system): Change locale to
'en_US.UTF-8'. Add TZDATA to 'packages'.
hydra: Add zlib, gzip, and xz to the core package set.
* build-aux/hydra/gnu-system.scm (%core-packages): Add zlib, gzip, and xz.
gnu: compression: Fix cross-compilation of zlib.
* gnu/packages/compression.scm : Zlib uses a non-standard
way of configuring for cross-compilation. Thanks to Ludovic
for showing me the correct way to fix this.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
doc: First stab at documenting whole-system configuration.
* doc/guix.texi (Features): Add xref to "Using the Configuration
System".
(System Configuration, Using the Configuration System, Defining
Services): New nodes.
gnu: Allow a plain list of packages in 'operating-system'.
* gnu/system.scm (union): Allow (PACKAGE OUTPUT), (PACKAGE), and
PACKAGE.
(<operating-system>)[packages]: Make the default a list of package?
objects.
* gnu/system/vm.scm (%demo-operating-system): Likewise. Add a few
packages.
gnu: Add 'inputs' field to <user-account>; make 'shell' a monadic value.
* gnu/system/shadow.scm (<user-account>)[inputs]: New field.
(passwd-file): Bind the 'shell' field of each account.
* gnu/system/vm.scm (%demo-operating-system): Remove 'shell' field.
* gnu/system/dmd.scm (guix-build-accounts): Store a monadic value in
'shell'. Add 'inputs' field.
* gnu/system.scm (operating-system-derivation): Remove 'shell' field for
'root' account. Add all the 'user-account-inputs' to EXTRAS.
gnu: dmd: Avoid "already exists" error on startup.
* gnu/system/dmd.scm (dmd-configuration-file)[config]: Remove
"/var/nix/gcroots/etc-directory" before trying to recreate it.
gnu: Add (gnu system).
* gnu/system/vm.scm (lower-inputs): Move to monads.scm.
(qemu-image): Don't add GRUB-CONFIGURATION to the INPUTS-TO-COPY.
(union, file-union, etc-directory): Move to gnu/system.scm.
(%demo-operating-system): New variable.
(system-qemu-image): Add 'os' parameter. Rewrite in terms of
'operating-system-derivation'.
* guix/monads.scm (lower-inputs): New procedure.
* gnu/system/grub.scm (grub-configuration-file): Change 'entries' to be
a plain list instead of a list of monadic values.
* gnu/system.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
monads: Fix 'anym'.
* guix/monads.scm (anym): Fix successful case.
* tests/monads.scm ("anym"): New test.
gnu: perl-xml-dom: Propagate inputs.
* gnu/packages/xml.scm (perl-xml-dom): Drop inputs that are obtained through
propagation, propagate the other inputs.