vm: Fix recently-introduced regression in 'operating-system-services' use. * gnu/system/vm.scm (operating-system-build-gid): Adjust to new return type of 'operating-system-services' introduced in 217a5b8.
services: Add 'file-system-service'. * gnu/services/base.scm (file-system-service): New procedure. (user-processes-service): Add 'requirements' parameter. * gnu/services/dmd.scm (dmd-configuration-file): Use (guix build linux-initrd). * guix/build/linux-initrd.scm (guix): Export 'check-file-system'. * gnu/system.scm (file-union): New procedure. (essential-services): Use it. Add that to the returned list.
services: Use (guix build syscalls) instead of util-linux. * gnu/services/dmd.scm (dmd-configuration-file): Add derivations for the (guix build syscalls) module, and add that to the load path of dmd.conf. * gnu/services/base.scm (root-file-system-service): Rewrite using the 'sync' and 'mount' procedures.
system: Automatically add essential services. * gnu/services/base.scm (%base-services): Remove calls to 'host-name-service', 'user-processes-service', and 'root-file-system-service'. * gnu/system.scm (<operating-system>)[operating-system-services]: Rename to... [operating-system-user-services]: ... this. (essential-services, operating-system-services): New procedures. (operating-system-accounts, operating-system-etc-directory, operating-system-boot-script, operating-system-derivation): Adjust to new 'operating-system-services' return type.
gnu: fftw: Factor out OpenMPI dependency. * gnu/packages/algebra.scm (fftw)[inputs,arguments]: Remove OpenMPI. (fftw-openmpi): New variable.
gnu: Add hwloc. * gnu/packages/mpi.scm (hwloc): New variable. (openmpi): Add TODO comment.
gnu: Add pciutils. * gnu/packages/pciutils.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: Add numactl. * gnu/packages/linux.scm (numactl): New variable.
gnu: openmpi: Fix typo in download uri * gnu/packages/mpi.scm (openmpi)[origin]: Fix typo.
gnu: fftw: Add dependency on openmpi. * gnu/packages/algebra.scm (fftw)[inputs,arguments]: Add OpenMPI.
gnu: fftw: Upgrade to 3.3.4 * gnu/packages/algebra.scm (fftw): Upgrade to 3.3.4.
services: Add service to cleanly unmount the root file system. * gnu/services/base.scm (root-file-system-service, user-processes-service): New procedures. (mingetty-service, nscd-service, syslog-service, guix-service): Add requirement on 'user-processes'. (%base-services): Add (user-processes-service) and (root-file-system-service). * gnu/services/xorg.scm (slim-service): Add requirement on 'user-processes'.
gnu: openmpi: Avoid "open source" verbiage * gnu/packages/mpi.scm (openmpi)[synopsis,description]: Remove mention of "open source".
gnu: Add petsc-openmpi. * gnu/packages/maths.scm (petsc-openmpi): New variable. (petsc-complex-openmpi): New variable.
gnu: petsc: Clean some more leaked chroot references * gnu/packages/maths.scm (petsc)[arguments]: Scrub some config-generated header files before build. Only remove files if they exist.
gnu: Add OpenMPI * gnu/packages/mpi.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
gnu: Make $XDG_DATA_DIRS a search path variable for GLib. * gnu/packages/glib.scm (glib): Add 'native-search-paths' and 'search-paths' fields. * gnu/packages/gnome.scm (libpeas): Remove 'arguments' field. (librsvg)[arguments]: Remove #:modules and #:imported-modules. Remove settings of INTROSPECTION_SCANNER_ARGS and INTROSPECTION_COMPILER_ARGS in makefiles. * gnu/packages/gtk.scm (gtk+): Likewise.
gnu: gobject-introspection is usually meant to be a native input. * gnu/packages/gtk.scm (atk, pango, gdk-pixbuf, gtk+): Move gobject-introspection to 'native-inputs' since it's only used at build time. * gnu/packages/gnome.scm (libpeas): Move pkg-config, gobject-introspection, and intltool to 'native-inputs'.
gnu: Add librsvg. * gnu/packages/gnome.scm (librsvg): New variable.
linux-initrd: Delete files from the initrd ramfs when switching roots. * guix/build/linux-initrd.scm (switch-root): Delete file from the old root. Chdir to / after 'chroot' call. Re-open file descriptors 0, 1, and 2. (boot-system): Move 'loading' message after the 'switch-root' call. * gnu/system.scm (operating-system-boot-script): Add loop that closes file descriptor before calling 'execl'.