doc: Update for UEFI systems. * doc/guix.texi (USB Stick Installation): Mention UEFI. (Preparing for Installation): Add notes about EFI System Partition, and mounting partitions before init. (Proceeding with the Installation): Mention the GRUB-EFI package. (Using the Configuration System): Lightweight desktop is now a UEFI system. (GRUB Configuration): Expand on package field. Add indexes. * gnu/system/examples/lightweight-desktop.tmpl: Adjust to native EFI configuration.
vm: Add UEFI loader to disk images. * gnu/build/vm.scm (install-efi): New procedure. (initialize-hard-disk): Generate EFI blob when ESP is present. * gnu/system/vm.scm (qemu-image): Append 40MiB EFI System Partition.
vm: Support creating FAT partitions. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): New procedures. (format-partition): Use them. Error for unknown file systems. * gnu/system/vm.scm (qemu-image): Include DOSFSTOOLS. * gnu/system/linux-initrd.scm (base-initrd): Always add nls_is8859-1.ko.
vm: Support arbitrary partition flags. * gnu/build/vm.scm (<partition>): Change BOOTABLE? to FLAGS. (initialize-partition-table): Pass each flag to parted. (initialize-hard-disk): Locate boot partition. * gnu/system/vm.scm (qemu-image): Adjust partition flags.
gnu: guile-ssh: Fix potential double-free/use-after-free issue. Fixes <http://bugs.gnu.org/26976>. Reported by Mark H Weaver <mhw@netris.org>. * gnu/packages/patches/guile-ssh-double-free.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/ssh.scm (guile-ssh)[source](patches): Add it.
modules: Add more source-less modules. * guix/modules.scm (%source-less-modules): New variable. (source-module-dependencies): Use it.
publish: Fix narinfo rendering for already-compressed items. Fixes <http://bugs.gnu.org/26975>. Reported by Mark H Weaver <mhw@netris.org>. * guix/scripts/publish.scm (bake-narinfo+nar): Pass #f as the 2nd argument to 'stat' and properly handle #f. * tests/publish.scm (wait-for-file): New procedure. ("with cache"): Remove 'wait-for-file' procedure. ("with cache, uncompressed"): New test.
gnu: btrfs-progs: Update to 4.11. * gnu/packages/linux.scm (btrfs-progs): Update to 4.11.
gnu: mcelog: Update to 150. * gnu/packages/linux.scm (mcelog): Update to 150.
gnu: nano: Update to 2.8.3. * gnu/packages/nano.scm (nano): Update to 2.8.3.
lint: inputs-should-be-native: Add "cmake". Suggested by Nicolas Goaziou <mail@nicolasgoaziou.fr>. * guix/scripts/lint.scm (check-inputs-should-be-native)[input-names]: Add "cmake".
gnu: Add gemma. * gnu/packages/bioinformatics.scm (gemma): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-helm-projectile. * gnu/packages/emacs.scm (emacs-helm-projectile): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-helm-swoop. * gnu/packages/emacs.scm (emacs-helm-swoop): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: emacs-helm: Update to 2.7.0. * gnu/packages/emacs.scm (emacs-helm): Update to 2.7.0. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: emacs-async: Update to 1.9.2. * gnu/packages/emacs.scm (emacs-async): Update to 1.9.2. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
bootloader: extlinux: Remove syslinux-bootloader. * gnu/bootloader/extlinux.scm (export): Remove syslinux-bootloader that was forgotten in 8ad37ad7b.
bootloader: extlinux: Remove undefined symbols from export list. * gnu/bootloader/extlinux.scm (export): Remove syslinux-bootloader, extlinux-configuration, syslinux-configuration.
union: Gracefully handle dangling symlinks in the input. Fixes <http://bugs.gnu.org/26949>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. * guix/build/union.scm (file-is-directory?): Return #f when FILE does not exist or is a dangling symlink. (file=?): Pass #f as a second argument to 'stat'; return #f when both ST1 or ST2 is #f. * tests/profiles.scm (test-equalm): New macro. ("union vs. dangling symlink"): New test.
services: user-homes: Do not create home directories marked as no-create. Fixes a bug whereby GuixSD would create the /nonexistent directory, from user 'nobody', even though it has 'create-home-directory?' set to #f. * gnu/build/activation.scm (activate-users+groups): Add comment for \#:create-home?. (activate-user-home)[ensure-user-home]: Skip when CREATE-HOME? is #f or SYSTEM? is #t. * gnu/tests/base.scm (run-basic-test)["no extra home directories"]: New tests.