gnu: ffmpeg: Update to 3.4.1. * gnu/packages/video.scm (ffmpeg): Update to 3.4.1.
gnu: Add cli-visualizer. * gnu/packages/audio.scm (cli-visualizer): New variable.
services: web: Switch nginx related functions to use match-record. As this is less prone to mistakes than match. * gnu/services/web.scm (default-nginx-config, nginx-activation, nginx-shepherd-service): Switch from using match-lambda to match-record.
services: web: Add support for configuring the nginx server names hash. The nginx service can fail to start if the server names hash bucket size is too small, which can happen on some systems, and when using QEMU, depending on the CPU. * gnu/services/web.scm (<nginx-configuration>): Add server-names-hash-bucket-size and server-names-hash-bucket-max-size. (default-nginx-config): Add support for the new hash bucket size parameters. (nginx-service, nginx-activation): Pass the new hash bucket size parameters through to the default-nginx-config procedure. * doc/guix.texi (Web Services): Document the new hash bucket size parameters.
services: web: Remove default certificate and key files for nginx. If nginx is configured with a ssl-certificate file, and ssl-certificate-key, it will fail to start unless these exist. To avoid this happening, change the default to #f. * gnu/services/web.scm (<nginx-server-configuration>) [ssl-certificate,ssl-certificate-key]: Set the defaults to #f. * gnu/tests/web.scm (%nginx-servers): Remove redundant nginx-server-configuration fields. * doc/guix.texi (Web Services): Update examples and documentation.
web: Don't error about missing ssl related files. Erroring here prevents doing things like building a system using nginx on a different machine from where it's intended to be deployed, or creating containers and VMs that use the ssl-certificate parts of the nginx configuration, without also getting these files to exist. * gnu/services/web.scm (emit-nginx-server-config): Don't error on missing ssl related files.
gnu: cargo: Add file-name field to input sources. * gnu/packages/rust.scm (cargo)[inputs]: Add 'file-name' field to all source inputs.
gnu: rust: Add support for all platforms. * gnu/packages/rust.scm (%rust-bootstrap-binaries): Add entries for all platforms supported by Guix. (rustc-bootstrap, cargo-bootstrap)[supported-systems]: Remove field.
gnu: %rust-bootstrap-binaries: Add missing catch-all entry. * gnu/packages/rust.scm (%rust-bootstrap-binaries): Add missing catch-all entry to prevent various errors in Guix.
gnu: Switch to using the version-major procedure. * gnu/packages/audio.scm (ardour)[arguments]: Switch to using version-major. (hmmer)[source]: Switch to using version-major. (pidgin)[native-search-paths]: Switch to using version-major. (r-minimal)[source]: Switch to using version-major.
guix: utils: Add version-major. * guix/utils.scm (version-major): New procedure.
gnu: Add afew. * gnu/packages/mail.scm (afew): New variable.
gnu: Add emacs-diff-hl. * gnu/packages/emacs.scm (emacs-diff-hl): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: skalibs: Fix non-reproducibility issue. * gnu/packages/skarnet.scm (skalibs)[arguments]: In 'reproducible' phase, insert a 'sort' call in "Makefile". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-string-inflection. * gnu/packages/emacs.scm (emacs-string-inflection): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-grep-a-lot. * gnu/packages/emacs.scm (emacs-grep-a-lot): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-csv-mode. * gnu/packages/emacs.scm (emacs-csv-mode): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add emacs-ws-butler. * gnu/packages/emacs.scm (emacs-ws-butler): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add i3lock-fancy. * gnu/packages/wm.scm (i3lock-fancy): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Add i3lock-color. * gnu/packages/wm.scm (i3lock-color): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>