syscalls: Add 'network-interface-flags'.
* guix/build/syscalls.scm (SIOCGIFFLAGS, IFF_UP, IFF_BROADCAST,
IFF_LOOPBACK, IF_NAMESIZE): New variables.
(network-interface-flags, loopback-network-interface?): New
procedures.
* tests/syscalls.scm ("network-interface-flags",
"loopback-network-interface?"): New tests.
syscalls: Add 'network-interfaces'.
* guix/build/syscalls.scm (SIOCGIFCONF, ifconf-struct,
ifreq-struct-size): New variables.
(%ioctl, bytevector->string-list, network-interfaces): New
procedures.
* tests/syscalls.scm ("network-interfaces"): New test.
services: static-networking-service: Wait for udev, except for loopback.
Reported by DusXMT on #guix.
* gnu/services/networking.scm (static-networking-service): Add
'requirement' field. Change 'documentation' to be a string literal.
pull: Create ~/.config/guix if needed instead of bailing out gracelessly.
Previously 'guix pull' would just fail with "No such file or directory"
if ~/.config didn't already exist.
* guix/ui.scm (config-directory): Use 'mkdir-p' instead of 'mkdir'.
Change the 'catch' handler to expect errors different from EEXIST.
doc: Mention audio, video, and cdrom groups more prominently.
* doc/guix.texi (User Accounts): Add the "audio", "video", and "cdrom"
groups in the example.
gnu: Add flint.
* gnu/packages/algebra.scm (flint): New variable.
gnu: Adjust synopses as recommended by 'guix lint'.
Remove leading articles and trailing periods in package synopses.
gnu: Synchronize GNU package descriptions with upstream.
These are mostly two-space-after-end-of-sentence-period changes
resulting from commit 3a09e1d2.
sync-descriptions: Improve output of proposed descriptions.
* build-aux/sync-descriptions.scm (escape-quotes): New procedure.
Use it. Add quotes around the proposed description.
nls: Update 'sr' translation.
system: Use eudev instead of udev by default.
* gnu/system.scm (%base-packages): Change 'udev' to 'eudev'.
* gnu/services/base.scm (udev-service): Change #:udev to default to
'eudev'.
services: udev: Allow the use of eudev.
* gnu/services/base.scm (udev-service): Adjust 'start' method to support
eudev in addition to udev.
system: Add Diffutils to '%base-packages'.
* gnu/system.scm (%base-packages): Add DIFFUTILS.
system: Add FUSE and ALSA udev rules by default.
* gnu/services/base.scm (%base-services): Pass FUSE and ALSA-UTILS to
'udev-service'.
gnu: eudev: Honor $EUDEV_RULES_DIRECTORY.
* gnu/packages/patches/eudev-rules-directory.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (eudev): Use it.
gnu: eudev: Build with libkmod support.
* gnu/packages/linux.scm (eudev)[arguments]: New field.
gnu: fuse: Install udev rules in lib/udev/rules.d.
* gnu/packages/linux.scm (fuse): Change UDEV_RULES_PATH suffix to
/lib/udev/rules.d.
gnu: Add eudev.
* gnu/packages/linux.scm (eudev): New variable.
gnu: util-linux: Don't install 'logger'.
* gnu/packages/linux.scm (util-linux)[source]: Add 'snippet'.