system: Always create /var/empty.
* guix/build/install.scm (directives): Add /var/empty.
system: Separate the activation script from the boot script.
* gnu/system.scm (operating-system-activation-script): New procedure,
containing most of the former 'operating-system-boot-script'.
(operating-system-boot-script): Call it, and 'primitive-load' its
result.
* guix/build/activation.scm (%booted-system): Remove.
(activate-current-system): Remove #:boot? parameter and related code.
gnu: Add lzop.
* gnu/packages/compression.scm (lzop): New variable.
vm: Disable QEMU networking in the disk image initrd.
* gnu/system/linux-initrd.scm (qemu-initrd): Add #:qemu-networking?
parameter and honor it.
* gnu/system/vm.scm (system-disk-image): Pass #:qemu-networking #f.
download: Enlarge your receive buffer.
* guix/build/download.scm (open-connection-for-uri): Remove call to
'setsockopt'.
* guix/http-client.scm (open-socket-for-uri)[rmem-max, buffer-size]: New
variables. Add call to 'setsockopt'.
guix system: Add 'disk-image' action.
* guix/scripts/system.scm (show-help): Add 'disk-image'.
(guix-system)[parse-options]: Support 'disk-image' action.
[option-arguments]: Likewise.
Handle the 'disk-image' action.
* doc/guix.texi (Invoking guix system): Document 'disk-image'.
vm: Add 'system-disk-image'.
* gnu/system/vm.scm (system-disk-image): New procedure.
Add (gnu) module.
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
accordingly.
vm: Use a para-virtualized disk when creating an image.
* guix/build/vm.scm (load-in-linux-vm): When MAKE-DISK-IMAGE?, use
'-drive ...,if=virtio' for better performance.
* gnu/system/vm.scm (qemu-image): Use /dev/vda instead of /dev/sda.
vm: Make the image format a parameter.
* guix/build/vm.scm (load-in-linux-vm): Add #:disk-image-format
parameter; add 'image-file' variable. Honor DISK-IMAGE-FORMAT.
* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
#:disk-image-format parameter, and honor it.
(qemu-image): Likewise.
linux-initrd: Build /dev/loop* nodes.
* guix/build/linux-initrd.scm (make-essential-device-nodes): Build
/dev/loop[0-7].
gnu: imagemagick: Upgrade to 6.8.9-0.
* gnu/packages/imagemagick.scm (imagemagick): Upgrade to 6.8.9-0.
gnu: perl-io-tty: Upgrade to 1.11.
* gnu/packages/perl.scm (perl-io-tty): Upgrade to 1.11.
guix: download: Update imagemagick mirrors.
* guix/download.scm (%mirrors)[imagemagick]: Update and add the legacy
subdirectory of the main site as a last resort.
build: Fix builds without --with-libgcrypt-prefix nor --with-libgcrypt-libdir.
Reported by Manolis Ragkousis <manolis837@gmail.com>.
Fixes a regression introduced in 14af289.
Before this commit, ./configure would leave LIBGCRYPT_PREFIX and
LIBGCRYPT_LIBDIR undefined, leading to LIBGCRYPT_LIBS="-L -lgcrypt" and
thus to a link failure.
* configure.ac: Make sure $LIBGCRYPT_PREFIX and $LIBGCRYPT_LIBDIR are
never empty.
vm: Modularize build-side code.
* guix/build/install.scm (install-grub): Call 'error' if 'system*'
returns non-zero.
* guix/build/vm.scm (initialize-partition-table): Make 'partition-size'
a positional parameter. Call 'error' when 'system*' returns
non-zero'.
(format-partition, initialize-root-partition): New procedures.
(initialize-hard-disk): Use them.
vm: Remove misleading comment.
* guix/build/vm.scm (load-in-linux-vm): Remove misleading comment.
gnu: Add wpa_supplicant.
* gnu/packages/admin.scm (wpa-supplicant): New variable.
store: Flush the output when the build process emits '\r'.
This allows progress reports emitted by 'substitute-binary' to be
correctly displayed.
* guix/store.scm (%newlines): New variable.
(process-stderr) <%stderr-next>: Flush (current-build-output-port)
when S contains one of %NEWLINES.
Augment (guix).
* guix.scm (%public-modules): Add 'monads' and 'gexp'.