doc: No longer mention Wicd in OS examples. * gnu/system/examples/desktop.tmpl, gnu/system/examples/lightweight-desktop.tmpl: Mention NetworkManager instead of Wicd.
services: Missing services are automatically instantiated. This simplifies OS configuration: users no longer need to be aware of what a given service depends on. See the discussion at <https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>. * gnu/services.scm (missing-target-error): New procedure. (service-back-edges): Use it. (instantiate-missing-services): New procedure. * gnu/system.scm (operating-system-services): Call 'instantiate-missing-services'. * tests/services.scm ("instantiate-missing-services") ("instantiate-missing-services, no default value"): New tests. * gnu/services/version-control.scm (cgit-service-type)[extensions]: Add FCGIWRAP-SERVICE-TYPE. * gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE and FCGIWRAP-SERVICE-TYPE instances. * doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example. (Miscellaneous Services): Remove 'nginx-service-type' and 'fcgiwrap-service-type' in Cgit example.
tests: Cgit test waits for /var/run/shepherd/socket. Previously tests sometimes start before the shepherd was listening, leading to test failures. * gnu/tests/version-control.scm (run-cgit-test)[test]: Add "shepherd socket ready" test. Rename to two "service running" tests for clarity.
services: shepherd: Make 'shepherd-configuration-file' non-monadic. Suggested by atw on #guix. * gnu/services/shepherd.scm (shepherd-service-file): Use 'scheme-file' instead of 'gexp->file'. (shepherd-configuration-file): Likewise, and adjust to non-monadic style. (shepherd-boot-gexp): Adjust accordingly. * guix/scripts/system.scm (upgrade-shepherd-services): Use 'lower-object' in addition to 'shepherd-service-file'.
gnu: Add mkbootimg. * gnu/packages/android.scm (mkbootimg): New variable.
gnu: Add abootimg. * gnu/packages/android.scm (abootimg): New variable.
system: Add Nintendo NES Classic Edition installer. * gnu/bootloader/u-boot.scm (u-boot-nintendo-nes-classic-edition-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-nintendo-nes-classic-edition): New exported variable. * gnu/system/install.scm (nintendo-nes-classic-edition-installation-os): New exported variable.
system: make-u-boot-package: Replace underscores by dashes in package name. * gnu/packages/bootloaders.scm (make-u-boot-package): Replace underscores by dashes in package name.
system: Factor out embedded-installation-os. * gnu/system/install.scm (embedded-installation-os): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it.
system: Factor out agetty-default-service. * gnu/system/install.scm (agetty-default-service): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it.
system: Add A20 OLinuXino MICRO installer. * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-micro-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-micro): New exported variable. * gnu/system/install.scm (a20-olinuxino-micro-installation-os): New exported variable.
system: Add A20 OLinuXino LIME2 installer. * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime2-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime2): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime2-emmc-installation-os): New exported variable.
gnu: wxsvg: Update to 1.5.12. * gnu/packages/wxwidgets.scm (wxsvg): Update to 1.5.12.
gnu: video, xml: Fix typo. * gnu/packages/video.scm (libva)[synopsis]: Fix ‘libary’ typo. [description]: Use @dfn. * gnu/packages/xml.scm (libebml): Likewise.
gnu: godot: Fix building on aarch64-linux. * gnu/packages/game-development.scm (godot)[arguments]: Add a flag when building for aarch64-linux to build without threads.
gnu: cross-base: Apply gcc 6 patch to gcc >= 6. * gnu/packages/cross-base.scm (cross-gcc): Apply gcc 6 patch to gcc >= 6.
gnu: u-boot: Update to 2018.01. * gnu/packages/bootloaders.scm (define-module): Import (gnu packages gcc). (u-boot): Update to 2018.01. [native-inputs]: Add swig. Remove dtc. (make-u-boot-package): Use gcc-7.
system: Add Banana Pi M2 Ultra installer. * gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): New exported variable. (install-allwinner-u-boot): New variable. (u-boot-allwinner-bootloader): New variable. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): New exported variable. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): New exported variable.
gnu: graphicsmagick: Update to 1.3.28 [‘security fixes’]. * gnu/packages/imagemagick.scm (graphicsmagick): Update to 1.3.28.
gnu: deutex: Update to 5.1.1. * gnu/packages/games.scm (deutex): Update to 5.1.1.