summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2017-07-10 14:37:53 -0400
committerLeo Famulari <leo@famulari.name>2017-07-10 14:37:53 -0400
commitc8eb2b8c60d954b4522555a5c75b7bb4be5a1a4d (patch)
tree3a2e569e333ccd9265237868d3f46b2d1e04e3a9
parentad22c7185395a52bd90ea5890a2ac79f44d00352 (diff)
parent61adfb00b11cc16a70e60f19fd8e0a838a3ef608 (diff)
downloadguix-c8eb2b8c60d954b4522555a5c75b7bb4be5a1a4d.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--Makefile.am4
-rw-r--r--build-aux/hydra/gnu-system.scm9
-rw-r--r--doc/guix.texi58
-rw-r--r--gnu/bootloader/grub.scm35
-rw-r--r--gnu/build/file-systems.scm3
-rw-r--r--gnu/build/svg.scm4
-rw-r--r--gnu/build/vm.scm30
-rw-r--r--gnu/local.mk16
-rw-r--r--gnu/packages/admin.scm31
-rw-r--r--gnu/packages/algebra.scm4
-rw-r--r--gnu/packages/audio.scm8
-rw-r--r--gnu/packages/aux-files/linux-libre/4.12-i686.conf (renamed from gnu/packages/aux-files/linux-libre/4.11-i686.conf)209
-rw-r--r--gnu/packages/aux-files/linux-libre/4.12-x86_64.conf (renamed from gnu/packages/aux-files/linux-libre/4.11-x86_64.conf)210
-rw-r--r--gnu/packages/bash.scm4
-rw-r--r--gnu/packages/bioinformatics.scm105
-rw-r--r--gnu/packages/commencement.scm1
-rw-r--r--gnu/packages/compression.scm12
-rw-r--r--gnu/packages/databases.scm8
-rw-r--r--gnu/packages/dav.scm6
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/docbook.scm34
-rw-r--r--gnu/packages/education.scm4
-rw-r--r--gnu/packages/emacs.scm172
-rw-r--r--gnu/packages/firmware.scm14
-rw-r--r--gnu/packages/fonts.scm13
-rw-r--r--gnu/packages/freeipmi.scm10
-rw-r--r--gnu/packages/games.scm9
-rw-r--r--gnu/packages/gcc.scm8
-rw-r--r--gnu/packages/gettext.scm4
-rw-r--r--gnu/packages/gnome.scm9
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gtk.scm105
-rw-r--r--gnu/packages/guile.scm18
-rw-r--r--gnu/packages/ibus.scm4
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/image.scm39
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/java.scm102
-rw-r--r--gnu/packages/julia.scm3
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linux.scm43
-rw-r--r--gnu/packages/mail.scm8
-rw-r--r--gnu/packages/make-bootstrap.scm1
-rw-r--r--gnu/packages/maths.scm106
-rw-r--r--gnu/packages/messaging.scm59
-rw-r--r--gnu/packages/mpi.scm36
-rw-r--r--gnu/packages/music.scm26
-rw-r--r--gnu/packages/ncurses.scm3
-rw-r--r--gnu/packages/openldap.scm4
-rw-r--r--gnu/packages/parallel.scm2
-rw-r--r--gnu/packages/patches/blast+-fix-makefile.patch15
-rw-r--r--gnu/packages/patches/dblatex-remove-multirow.patch30
-rw-r--r--gnu/packages/patches/gajim-CVE-2016-10376.patch57
-rw-r--r--gnu/packages/patches/gcr-disable-failing-tests.patch126
-rw-r--r--gnu/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch31
-rw-r--r--gnu/packages/patches/gemma-intel-compat.patch44
-rw-r--r--gnu/packages/patches/guile-rsvg-pkgconfig.patch2
-rw-r--r--gnu/packages/patches/libtiff-CVE-2016-10688.patch92
-rw-r--r--gnu/packages/patches/libtiff-CVE-2017-9936.patch47
-rw-r--r--gnu/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch57
-rw-r--r--gnu/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch43
-rw-r--r--gnu/packages/patches/ncurses-CVE-2017-10684-10685.patch200
-rw-r--r--gnu/packages/patches/python-pyopenssl-17.1.0-test-overflow.patch36
-rw-r--r--gnu/packages/patches/python-pyopenssl-skip-network-test.patch43
-rw-r--r--gnu/packages/patches/xorg-server-CVE-2017-10971.patch153
-rw-r--r--gnu/packages/patches/xorg-server-CVE-2017-10972.patch35
-rw-r--r--gnu/packages/plotutils.scm4
-rw-r--r--gnu/packages/python.scm125
-rw-r--r--gnu/packages/qemu.scm4
-rw-r--r--gnu/packages/qt.scm116
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/serialization.scm23
-rw-r--r--gnu/packages/skribilo.scm2
-rw-r--r--gnu/packages/ssh.scm33
-rw-r--r--gnu/packages/tex.scm922
-rw-r--r--gnu/packages/tmux.scm4
-rw-r--r--gnu/packages/tor.scm4
-rw-r--r--gnu/packages/version-control.scm68
-rw-r--r--gnu/packages/video.scm133
-rw-r--r--gnu/packages/vpn.scm4
-rw-r--r--gnu/packages/web.scm21
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/wine.scm21
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xfce.scm3
-rw-r--r--gnu/packages/xml.scm22
-rw-r--r--gnu/packages/xorg.scm9
-rw-r--r--gnu/services/sysctl.scm77
-rw-r--r--gnu/system/install.scm11
-rw-r--r--gnu/system/linux-initrd.scm111
-rw-r--r--gnu/system/vm.scm94
-rw-r--r--guix/build-system/texlive.scm2
-rw-r--r--guix/build/syscalls.scm78
-rw-r--r--guix/build/texlive-build-system.scm51
-rw-r--r--guix/discovery.scm14
-rw-r--r--guix/git.scm13
-rw-r--r--guix/packages.scm5
-rw-r--r--guix/profiles.scm12
-rw-r--r--guix/scripts/copy.scm5
-rw-r--r--guix/scripts/system.scm23
-rw-r--r--guix/store.scm9
-rw-r--r--guix/ui.scm5
-rw-r--r--nix/nix-daemon/nix-daemon.cc6
-rw-r--r--tests/discovery.scm14
105 files changed, 3889 insertions, 799 deletions
diff --git a/Makefile.am b/Makefile.am
index f6059d94bf..4d1512f8ce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -226,8 +226,8 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
 # Auxiliary files for packages.
 AUX_FILES =						\
   gnu/packages/aux-files/emacs/guix-emacs.el		\
-  gnu/packages/aux-files/linux-libre/4.11-i686.conf	\
-  gnu/packages/aux-files/linux-libre/4.11-x86_64.conf	\
+  gnu/packages/aux-files/linux-libre/4.12-i686.conf	\
+  gnu/packages/aux-files/linux-libre/4.12-x86_64.conf	\
   gnu/packages/aux-files/linux-libre/4.9-i686.conf	\
   gnu/packages/aux-files/linux-libre/4.9-x86_64.conf	\
   gnu/packages/aux-files/linux-libre/4.4-i686.conf	\
diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm
index eeb7183a4f..73bd566f7c 100644
--- a/build-aux/hydra/gnu-system.scm
+++ b/build-aux/hydra/gnu-system.scm
@@ -162,7 +162,14 @@ system.")
                        (set-guile-for-build (default-guile))
                        (system-disk-image installation-os
                                           #:disk-image-size
-                                          (* 1024 MiB))))))
+                                          (* 1024 MiB)))))
+            (->job 'iso9660-image
+                   (run-with-store store
+                     (mbegin %store-monad
+                       (set-guile-for-build (default-guile))
+                       (system-disk-image installation-os
+                                          #:file-system-type
+                                          "iso9660")))))
       '()))
 
 (define (system-test-jobs store system)
diff --git a/doc/guix.texi b/doc/guix.texi
index d61a5b7514..6cf20aa09f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -943,10 +943,13 @@ A number of optional fields may be specified:
 @item @code{port} (default: @code{22})
 Port number of SSH server on the machine.
 
-@item @code{private-key} (default: @file{~/.ssh/id_rsa})
+@item @code{private-key} (default: @file{~root/.ssh/id_rsa})
 The SSH private key file to use when connecting to the machine, in
 OpenSSH format.
 
+Note that the default value is the private key @emph{of the root
+account}.  Make sure it exists if you use the default.
+
 @item @code{compression} (default: @code{"zlib@@openssh.com,zlib"})
 @itemx @code{compression-level} (default: @code{3})
 The SSH-level compression methods and compression level requested.
@@ -1445,6 +1448,14 @@ xset +fp ~/.guix-profile/share/fonts/truetype
 After that, you can run @code{xlsfonts} (from @code{xlsfonts} package)
 to make sure your TrueType fonts are listed there.
 
+@cindex @code{fc-cache}
+@cindex font cache
+After installing fonts you may have to refresh the font cache to use
+them in applications.  The same applies when applications installed via
+Guix do not seem to find fonts.  To force rebuilding of the font cache
+run @code{fc-cache -f}.  The @code{fc-cache} command is provided by the
+@code{fontconfig} package.
+
 @subsection X.509 Certificates
 
 @cindex @code{nss-certs}
@@ -15276,6 +15287,35 @@ Package object of thermald.
 @node Miscellaneous Services
 @subsubsection Miscellaneous Services
 
+@cindex sysctl
+@subsubheading System Control Service
+
+The @code{(gnu services sysctl)} provides a service to configure kernel
+parameters at boot.
+
+@defvr {Scheme Variable} sysctl-service-type
+The service type for @command{sysctl}, which modifies kernel parameters
+under @file{/proc/sys/}.  To enable IPv4 forwarding, it can be
+instantiated as:
+
+@example
+(service sysctl-service-type
+         (sysctl-configuration
+           (settings '(("net.ipv4.ip_forward" . "1")))))
+@end example
+@end defvr
+
+@deftp {Data Type} sysctl-configuration
+The data type representing the configuration of @command{sysctl}.
+
+@table @asis
+@item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"})
+The @command{sysctl} executable to use.
+
+@item @code{settings} (default: @code{'()})
+An association list specifies kernel parameters and their values.
+@end table
+@end deftp
 
 @cindex lirc
 @subsubheading Lirc Service
@@ -16190,6 +16230,9 @@ in @var{file} that stands alone.  By default, @command{guix system}
 estimates the size of the image needed to store the system, but you can
 use the @option{--image-size} option to specify a value.
 
+You can specify the root file system type by using the
+@option{--file-system-type} option.  It defaults to @code{ext4}.
+
 When using @code{vm-image}, the returned image is in qcow2 format, which
 the QEMU emulator can efficiently use. @xref{Running GuixSD in a VM},
 for more information on how to run the image in a virtual machine.
@@ -16245,6 +16288,19 @@ This works as per @command{guix build} (@pxref{Invoking guix build}).
 Return the derivation file name of the given operating system without
 building anything.
 
+@item --file-system-type=@var{type}
+@itemx -t @var{type}
+For the @code{disk-image} action, create a file system of the given
+@var{type} on the image.
+
+When this option is omitted, @command{guix system} uses @code{ext4}.
+
+@cindex ISO-9660 format
+@cindex CD image format
+@cindex DVD image format
+@code{--file-system-type=iso9660} produces an ISO-9660 image, suitable
+for burning on CDs and DVDs.
+
 @item --image-size=@var{size}
 For the @code{vm-image} and @code{disk-image} actions, create an image
 of the given @var{size}.  @var{size} may be a number of bytes, or it may
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index f1cc3324db..880491c983 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -34,6 +34,7 @@
   #:autoload   (gnu packages bootloaders) (grub)
   #:autoload   (gnu packages compression) (gzip)
   #:autoload   (gnu packages gtk) (guile-cairo guile-rsvg)
+  #:autoload   (gnu packages guile) (guile-2.2)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
@@ -118,21 +119,25 @@ otherwise."
 
 (define* (svg->png svg #:key width height)
   "Build a PNG of HEIGHT x WIDTH from SVG."
-  (gexp->derivation "grub-image.png"
-                    (with-imported-modules '((gnu build svg))
-                      #~(begin
-                          ;; We need these two libraries.
-                          (add-to-load-path (string-append #+guile-rsvg
-                                                           "/share/guile/site/"
-                                                           (effective-version)))
-                          (add-to-load-path (string-append #+guile-cairo
-                                                           "/share/guile/site/"
-                                                           (effective-version)))
-
-                          (use-modules (gnu build svg))
-                          (svg->png #+svg #$output
-                                    #:width #$width
-                                    #:height #$height)))))
+  ;; Note: Guile-RSVG & co. are now built for Guile 2.2, so we use 2.2 here.
+  ;; TODO: Remove #:guile-for-build when 2.2 has become the default.
+  (mlet %store-monad ((guile (package->derivation guile-2.2 #:graft? #f)))
+    (gexp->derivation "grub-image.png"
+                      (with-imported-modules '((gnu build svg))
+                        #~(begin
+                            ;; We need these two libraries.
+                            (add-to-load-path (string-append #+guile-rsvg
+                                                             "/share/guile/site/"
+                                                             (effective-version)))
+                            (add-to-load-path (string-append #+guile-cairo
+                                                             "/share/guile/site/"
+                                                             (effective-version)))
+
+                            (use-modules (gnu build svg))
+                            (svg->png #+svg #$output
+                                      #:width #$width
+                                      #:height #$height)))
+                      #:guile-for-build guile)))
 
 (define* (grub-background-image config #:key (width 1024) (height 768))
   "Return the GRUB background image defined in CONFIG with a ratio of
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index f9cc4088bb..b6930497d6 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -48,6 +48,7 @@
             string->ext3-uuid
             string->ext4-uuid
             string->btrfs-uuid
+            iso9660-uuid->string
 
             bind-mount
 
@@ -319,7 +320,7 @@ SBLOCK as a bytevector.  If that's not set, returns the creation time."
          (second (sub-bytevector uuid 12 2))
          (hundredths (sub-bytevector uuid 14 2))
          (parts (list year month day hour minute second hundredths)))
-    (string-append (string-join (map digits->string parts)))))
+    (string-append (string-join (map digits->string parts) "-"))))
 
 (define (iso9660-superblock-volume-name sblock)
   "Return the volume name of SBLOCK as a string.  The volume name is an ASCII
diff --git a/gnu/build/svg.scm b/gnu/build/svg.scm
index f7e92a1a19..b5474ec4a0 100644
--- a/gnu/build/svg.scm
+++ b/gnu/build/svg.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -50,7 +50,7 @@ dimensions of IN-SVG."
   (define svg
     (rsvg-handle-new-from-file in-svg))
 
-  (let-values (((origin-width origin-height)
+  (let-values (((origin-width origin-height em ex)
                 (rsvg-handle-get-dimensions svg)))
     (let* ((surf (cairo-image-surface-create 'argb32
                                              origin-width origin-height))
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 8f7fc3c9c4..2d41c5756b 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -26,6 +26,7 @@
   #:use-module (guix build syscalls)
   #:use-module (gnu build linux-boot)
   #:use-module (gnu build install)
+  #:use-module (gnu build file-systems)
   #:use-module (guix records)
   #:use-module ((guix combinators) #:select (fold2))
   #:use-module (ice-9 format)
@@ -50,7 +51,8 @@
             estimated-partition-size
             root-partition-initializer
             initialize-partition-table
-            initialize-hard-disk))
+            initialize-hard-disk
+            make-iso9660-image))
 
 ;;; Commentary:
 ;;;
@@ -351,6 +353,30 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
                             (string-append "boot/grub/grub.cfg=" config-file)))
       (error "failed to create GRUB EFI image"))))
 
+(define* (make-iso9660-image grub config-file os-drv target
+                             #:key (volume-id "GuixSD") (volume-uuid #f))
+  "Given a GRUB package, creates an iso image as TARGET, using CONFIG-FILE as
+Grub configuration and OS-DRV as the stuff in it."
+  (let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue")))
+    (mkdir-p "/tmp/root/var/run")
+    (mkdir-p "/tmp/root/run")
+    (unless (zero? (apply system*
+                          `(,grub-mkrescue "-o" ,target
+                            ,(string-append "boot/grub/grub.cfg=" config-file)
+                            ,(string-append "gnu/store=" os-drv "/..")
+                            "var=/tmp/root/var"
+                            "run=/tmp/root/run"
+                            "--"
+                            "-volid" ,(string-upcase volume-id)
+                            ,@(if volume-uuid
+                                  `("-volume_date" "uuid"
+                                    ,(string-filter (lambda (value)
+                                                      (not (char=? #\- value)))
+                                                    (iso9660-uuid->string
+                                                     volume-uuid)))
+                                  `()))))
+      (error "failed to create ISO9660 image"))))
+
 (define* (initialize-hard-disk device
                                #:key
                                bootloader-package
@@ -405,7 +431,7 @@ passing it a directory name where it is mounted."
           (lambda (port)
             (format port
                     "insmod part_msdos~@
-                    search --set=root --label gnu-disk-image~@
+                    search --set=root --label GuixSD~@
                     configfile /boot/grub/grub.cfg~%")))
 
         (display "creating EFI firmware image...")
diff --git a/gnu/local.mk b/gnu/local.mk
index 0880de0382..9e1e14fdf9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -444,6 +444,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/services/sddm.scm				\
   %D%/services/spice.scm				\
   %D%/services/ssh.scm				\
+  %D%/services/sysctl.scm			\
   %D%/services/version-control.scm              \
   %D%/services/vpn.scm				\
   %D%/services/web.scm				\
@@ -520,6 +521,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/bigloo-gc-shebangs.patch			\
   %D%/packages/patches/binutils-ld-new-dtags.patch		\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
+  %D%/packages/patches/blast+-fix-makefile.patch		\
   %D%/packages/patches/byobu-writable-status.patch		\
   %D%/packages/patches/cairo-CVE-2016-9082.patch			\
   %D%/packages/patches/calibre-drop-unrar.patch			\
@@ -555,6 +557,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/clucene-contribs-lib.patch               \
   %D%/packages/patches/cursynth-wave-rand.patch			\
   %D%/packages/patches/cyrus-sasl-CVE-2013-4122.patch		\
+  %D%/packages/patches/dblatex-remove-multirow.patch		\
   %D%/packages/patches/dbus-helper-search-path.patch		\
   %D%/packages/patches/dfu-programmer-fix-libusb.patch		\
   %D%/packages/patches/diffutils-gets-undeclared.patch		\
@@ -593,7 +596,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/freeimage-CVE-2016-5684.patch		\
   %D%/packages/patches/freeimage-fix-build-with-gcc-5.patch	\
   %D%/packages/patches/fuse-overlapping-headers.patch				\
-  %D%/packages/patches/gajim-CVE-2016-10376.patch		\
   %D%/packages/patches/gawk-shell.patch				\
   %D%/packages/patches/gcc-arm-bug-71399.patch			\
   %D%/packages/patches/gcc-arm-link-spec-fix.patch		\
@@ -608,12 +610,15 @@ dist_patch_DATA =						\
   %D%/packages/patches/gcc-5-source-date-epoch-2.patch		\
   %D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch	\
   %D%/packages/patches/gcc-6-cross-environment-variables.patch	\
+  %D%/packages/patches/gcr-disable-failing-tests.patch		\
+  %D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch	\
   %D%/packages/patches/gdk-pixbuf-list-dir.patch		\
   %D%/packages/patches/gd-fix-gd2-read-test.patch		\
   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
   %D%/packages/patches/gd-freetype-test-failure.patch		\
   %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch		\
   %D%/packages/patches/gegl-CVE-2012-4433.patch			\
+  %D%/packages/patches/gemma-intel-compat.patch			\
   %D%/packages/patches/geoclue-config.patch			\
   %D%/packages/patches/gettext-multi-core.patch          	\
   %D%/packages/patches/gettext-gnulib-multi-core.patch          \
@@ -755,7 +760,11 @@ dist_patch_DATA =						\
   %D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch	\
   %D%/packages/patches/libtar-CVE-2013-4420.patch 		\
   %D%/packages/patches/libtheora-config-guess.patch		\
+  %D%/packages/patches/libtiff-CVE-2016-10688.patch		\
+  %D%/packages/patches/libtiff-CVE-2017-9936.patch		\
   %D%/packages/patches/libtiff-tiffgetfield-bugs.patch		\
+  %D%/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch	\
+  %D%/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch	\
   %D%/packages/patches/libtirpc-CVE-2017-8779.patch		\
   %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch	\
   %D%/packages/patches/libtool-skip-tests2.patch		\
@@ -818,6 +827,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mupen64plus-ui-console-notice.patch	\
   %D%/packages/patches/musl-CVE-2016-8859.patch			\
   %D%/packages/patches/mutt-store-references.patch		\
+  %D%/packages/patches/ncurses-CVE-2017-10684-10685.patch	\
   %D%/packages/patches/net-tools-bitrot.patch			\
   %D%/packages/patches/netcdf-date-time.patch			\
   %D%/packages/patches/netcdf-tst_h_par.patch			\
@@ -928,10 +938,10 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-paste-remove-timing-test.patch	\
   %D%/packages/patches/python-pillow-freetype-2.7-test-failure.patch	\
   %D%/packages/patches/python-pygit2-disable-network-tests.patch	\
-  %D%/packages/patches/python-pyopenssl-skip-network-test.patch	\
   %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch	\
   %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
   %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
+  %D%/packages/patches/python-pyopenssl-17.1.0-test-overflow.patch	\
   %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
   %D%/packages/patches/qemu-CVE-2017-7493.patch			\
   %D%/packages/patches/qemu-CVE-2017-8112.patch			\
@@ -1059,6 +1069,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/xinetd-fix-fd-leak.patch			\
   %D%/packages/patches/xinetd-CVE-2013-4342.patch		\
   %D%/packages/patches/xmodmap-asprintf.patch 			\
+  %D%/packages/patches/xorg-server-CVE-2017-10971.patch		\
+  %D%/packages/patches/xorg-server-CVE-2017-10972.patch 	\
   %D%/packages/patches/libyaml-CVE-2014-9130.patch 		\
   %D%/packages/patches/zathura-plugindir-environment-variable.patch	\
   %D%/packages/patches/zziplib-CVE-2017-5974.patch		\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index b1f0e6093e..5fa9d5b06c 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -163,8 +163,14 @@ and provides a \"top-like\" mode (monitoring).")
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
-    (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+
+       ;; This is the Guile we use as a cross-compiler...
+       ("guile" ,guile-2.2)))
+    (inputs
+     ;; ... and this is the one that appears in shebangs when cross-compiling.
+     `(("guile" ,guile-2.2)))
     (synopsis "System service manager")
     (description
      "The GNU Shepherd is a daemon-managing daemon, meaning that it supervises
@@ -276,7 +282,8 @@ re-executing them as necessary.")
     (synopsis "Basic networking utilities")
     (description
      "Inetutils is a collection of common network programs, such as an ftp
-client and server, a telnet client and server, and an rsh client and server.")
+client and server, a telnet client and server, an rsh client and server, and
+hostname.")
     (license license:gpl3+)))
 
 (define-public shadow
@@ -317,11 +324,11 @@ client and server, a telnet client and server, and an rsh client and server.")
                (for-each delete-file (find-files man "^groups\\."))
                #t))))))
 
-    (inputs (if (string-suffix? "-linux"
-                                (or (%current-target-system)
-                                    (%current-system)))
-                `(("linux-pam" ,linux-pam))
-                '()))
+    (inputs  (if (string-contains (or (%current-target-system)
+                                      (%current-system))
+                                  "-linux")
+                 `(("linux-pam" ,linux-pam))
+                 '()))
     (home-page "http://pkg-shadow.alioth.debian.org/")
     (synopsis "Authentication-related tools such as passwd, su, and login")
     (description
@@ -483,7 +490,7 @@ connection alive.")
          (bind-minor-version "9")
          (bind-patch-version "10")
          (bind-release-type "-P")         ; for patch release, use "-P"
-         (bind-release-version "1")      ; for patch release, e.g. "6"
+         (bind-release-version "2")      ; for patch release, e.g. "6"
          (bind-version (string-append bind-major-version
                                       "."
                                       bind-minor-version
@@ -599,7 +606,7 @@ connection alive.")
                                         "/bind-" bind-version ".tar.gz"))
                     (sha256
                      (base32
-                      "1ibbparr9k52rbs0qf0ar8jwvhhx6lja7ylxzpf32swklmhz629c"))))
+                      "19yl7axphmpm4n2ggb7j5irw4c655yifa1bnlckg6qiyv8dr8n7b"))))
 
                 ;; When cross-compiling, we need the cross Coreutils and sed.
                 ;; Otherwise just use those from %FINAL-INPUTS.
@@ -2168,7 +2175,7 @@ you are running, what theme or icon set you are using, etc.")
 (define-public nnn
   (package
     (name "nnn")
-    (version "1.1")
+    (version "1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/jarun/nnn/"
@@ -2176,7 +2183,7 @@ you are running, what theme or icon set you are using, etc.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1hww4385f81lyy30fx2rb4wchfi79dpgl7yylnfxvf27a4h2mkhm"))))
+                "08l0wcwwsl5kix9kg3h51s2afzg97y1rjjfi0ijs294kz57g1cfq"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("readline" ,readline)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 52a4028f46..c57c703700 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -143,7 +143,7 @@ solve the shortest vector problem.")
               (base32
                 "0zi08qz9nk17wwdna4xb2vp3i3mh5sgv1y8wqbf0j2sfryxlr8ls"))))
    (build-system gnu-build-system)
-   (native-inputs `(("texlive" ,texlive-minimal)))
+   (native-inputs `(("texlive" ,texlive-tiny)))
    (inputs `(("gmp" ,gmp)
              ("libx11" ,libx11)
              ("perl" ,perl)
@@ -256,7 +256,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
        ("perl" ,perl)
        ("pari-gp" ,pari-gp)
        ("tcsh" ,tcsh)
-       ("texlive" ,texlive-minimal)))
+       ("texlive" ,texlive-tiny)))
     (native-inputs `(("readline" ,readline)))
     (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
     (synopsis "Computer algebra system")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 3e4b998b1b..8a04cfe1b3 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1136,7 +1136,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
 (define-public guitarix
   (package
     (name "guitarix")
-    (version "0.35.3")
+    (version "0.35.4")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1144,7 +1144,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
                    version ".tar.xz"))
              (sha256
               (base32
-               "0pvw4ijkq6lcn45vrif9b4mqmgzi0qg1dp5b33kb5zan6n1aci4j"))))
+               "1vip4d5hc20vjkh8c9bwn92gyqcc6a1ml6hs39djp59mmybr13dp"))))
     (build-system waf-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
@@ -1196,9 +1196,7 @@ auto-wah.")
     (arguments
      (substitute-keyword-arguments (package-arguments guitarix)
        ((#:configure-flags flags)
-        `(cons "--lv2-only" ,flags))))
-    (inputs
-     (alist-delete "webkitgtk/gtk+-2" (package-inputs guitarix)))))
+        `(cons "--lv2-only" ,flags))))))
 
 (define-public rakarrack
   (package
diff --git a/gnu/packages/aux-files/linux-libre/4.11-i686.conf b/gnu/packages/aux-files/linux-libre/4.12-i686.conf
index 93c1f1747b..384764f841 100644
--- a/gnu/packages/aux-files/linux-libre/4.11-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.12-i686.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.11.0-gnu Kernel Configuration
+# Linux/x86 4.12.0-gnu Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -130,8 +130,10 @@ CONFIG_TASK_IO_ACCOUNTING=y
 CONFIG_TREE_RCU=y
 # CONFIG_RCU_EXPERT is not set
 CONFIG_SRCU=y
+CONFIG_TREE_SRCU=y
 # CONFIG_TASKS_RCU is not set
 CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
 # CONFIG_TREE_RCU_TRACE is not set
 CONFIG_BUILD_BIN2C=y
 # CONFIG_IKCONFIG is not set
@@ -182,7 +184,6 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
-CONFIG_INITRAMFS_COMPRESSION=".gz"
 CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
@@ -241,6 +242,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
 # CONFIG_SYSTEM_DATA_VERIFICATION is not set
 CONFIG_PROFILING=y
 CONFIG_TRACEPOINTS=y
+CONFIG_CRASH_CORE=y
 CONFIG_KEXEC_CORE=y
 CONFIG_OPROFILE=m
 # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
@@ -345,6 +347,7 @@ CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_ZONED=y
 CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
 CONFIG_BLK_CMDLINE_PARSER=y
 CONFIG_BLK_WBT=y
 # CONFIG_BLK_WBT_SQ is not set
@@ -391,6 +394,9 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
 CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+# CONFIG_BFQ_GROUP_IOSCHED is not set
 CONFIG_PREEMPT_NOTIFIERS=y
 CONFIG_PADATA=y
 CONFIG_ASN1=y
@@ -438,8 +444,11 @@ CONFIG_PARAVIRT=y
 CONFIG_PARAVIRT_SPINLOCKS=y
 # CONFIG_QUEUED_LOCK_STAT is not set
 CONFIG_XEN=y
+CONFIG_XEN_PV=y
+CONFIG_XEN_PV_SMP=y
 CONFIG_XEN_DOM0=y
 CONFIG_XEN_PVHVM=y
+CONFIG_XEN_PVHVM_SMP=y
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
 CONFIG_XEN_PVH=y
@@ -508,11 +517,11 @@ CONFIG_X86_LOCAL_APIC=y
 CONFIG_X86_IO_APIC=y
 CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
 CONFIG_X86_MCE=y
+# CONFIG_X86_MCELOG_LEGACY is not set
 CONFIG_X86_MCE_INTEL=y
 CONFIG_X86_MCE_AMD=y
 # CONFIG_X86_ANCIENT_MCE is not set
 CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
 CONFIG_X86_THERMAL_VECTOR=y
 
 #
@@ -706,7 +715,6 @@ CONFIG_ACPI_HED=y
 CONFIG_ACPI_BGRT=y
 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
 CONFIG_ACPI_NFIT=m
-# CONFIG_ACPI_NFIT_DEBUG is not set
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_ACPI_APEI=y
@@ -847,6 +855,16 @@ CONFIG_HOTPLUG_PCI_SHPC=m
 #
 # PCI host controller drivers
 #
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+
+#
+# PCI switch controller drivers
+#
+CONFIG_PCI_SW_SWITCHTEC=m
 # CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_ISA=y
@@ -1431,11 +1449,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
 CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
-CONFIG_NET_DSA_TAG_BRCM=y
 CONFIG_NET_DSA_TAG_DSA=y
 CONFIG_NET_DSA_TAG_EDSA=y
 CONFIG_NET_DSA_TAG_TRAILER=y
 CONFIG_NET_DSA_TAG_QCA=y
+CONFIG_NET_DSA_TAG_MTK=y
+CONFIG_NET_DSA_TAG_LAN9303=y
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q_GVRP=y
 CONFIG_VLAN_8021Q_MVRP=y
@@ -1507,6 +1526,7 @@ CONFIG_NET_SCH_HHF=m
 CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
+# CONFIG_NET_SCH_DEFAULT is not set
 
 #
 # Classification
@@ -1633,6 +1653,7 @@ CONFIG_CAN_GW=m
 # CAN Device Drivers
 #
 CONFIG_CAN_VCAN=m
+CONFIG_CAN_VXCAN=m
 CONFIG_CAN_SLCAN=m
 CONFIG_CAN_DEV=m
 CONFIG_CAN_CALC_BITTIMING=y
@@ -1647,6 +1668,7 @@ CONFIG_CAN_CC770_ISA=m
 CONFIG_CAN_CC770_PLATFORM=m
 CONFIG_CAN_IFI_CANFD=m
 CONFIG_CAN_M_CAN=m
+CONFIG_CAN_PEAK_PCIEFD=m
 CONFIG_CAN_SJA1000=m
 CONFIG_CAN_SJA1000_ISA=m
 CONFIG_CAN_SJA1000_PLATFORM=m
@@ -1664,6 +1686,7 @@ CONFIG_CAN_SOFTING_CS=m
 #
 # CAN SPI interfaces
 #
+CONFIG_CAN_HI311X=m
 CONFIG_CAN_MCP251X=m
 
 #
@@ -1675,6 +1698,7 @@ CONFIG_CAN_GS_USB=m
 CONFIG_CAN_KVASER_USB=m
 CONFIG_CAN_PEAK_USB=m
 CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_MCBA_USB=m
 # CONFIG_CAN_DEBUG_DEVICES is not set
 CONFIG_IRDA=m
 
@@ -1761,7 +1785,9 @@ CONFIG_BT_HCIBTUSB_BCM=y
 CONFIG_BT_HCIBTUSB_RTL=y
 CONFIG_BT_HCIBTSDIO=m
 CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_SERDEV=y
 CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_NOKIA=m
 CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIUART_ATH3K=y
 CONFIG_BT_HCIUART_LL=y
@@ -1833,6 +1859,7 @@ CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
 CONFIG_NET_9P=m
 CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_XEN=m
 CONFIG_NET_9P_RDMA=m
 # CONFIG_NET_9P_DEBUG is not set
 CONFIG_CAIF=m
@@ -1853,7 +1880,6 @@ CONFIG_NFC_SHDLC=y
 #
 # Near Field Communication (NFC) devices
 #
-CONFIG_NFC_WILINK=m
 CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
@@ -2042,10 +2068,8 @@ CONFIG_MTD_NAND_ECC_BCH=y
 CONFIG_MTD_SM_COMMON=m
 CONFIG_MTD_NAND_DENALI=m
 CONFIG_MTD_NAND_DENALI_PCI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
 CONFIG_MTD_NAND_GPIO=m
 # CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
-CONFIG_MTD_NAND_IDS=m
 CONFIG_MTD_NAND_RICOH=m
 CONFIG_MTD_NAND_DISKONCHIP=m
 # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
@@ -2148,7 +2172,6 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_OSD=m
 CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
@@ -2162,7 +2185,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=y
 # CONFIG_VIRTIO_BLK_SCSI is not set
-# CONFIG_BLK_DEV_HD is not set
 CONFIG_BLK_DEV_RBD=m
 CONFIG_BLK_DEV_RSXX=m
 CONFIG_NVME_CORE=m
@@ -2209,10 +2231,7 @@ CONFIG_PCH_PHUB=m
 CONFIG_USB_SWITCH_FSA9480=m
 CONFIG_LATTICE_ECP3_CONFIG=m
 CONFIG_SRAM=y
-CONFIG_PANEL=m
-CONFIG_PANEL_PARPORT=0
-CONFIG_PANEL_PROFILE=5
-# CONFIG_PANEL_CHANGE_MESSAGE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
 CONFIG_C2PORT=m
 CONFIG_C2PORT_DURAMAR_2150=m
 
@@ -2581,7 +2600,6 @@ CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_THIN_PROVISIONING=m
 CONFIG_DM_CACHE=m
 CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_CACHE_CLEANER=m
 CONFIG_DM_ERA=m
 CONFIG_DM_MIRROR=m
 CONFIG_DM_LOG_USERSPACE=m
@@ -2597,6 +2615,7 @@ CONFIG_DM_VERITY=m
 # CONFIG_DM_VERITY_FEC is not set
 CONFIG_DM_SWITCH=m
 CONFIG_DM_LOG_WRITES=m
+CONFIG_DM_INTEGRITY=m
 CONFIG_TARGET_CORE=m
 CONFIG_TCM_IBLOCK=m
 CONFIG_TCM_FILEIO=m
@@ -2663,6 +2682,7 @@ CONFIG_VETH=m
 CONFIG_VIRTIO_NET=y
 CONFIG_NLMON=m
 CONFIG_NET_VRF=m
+CONFIG_VSOCKMON=m
 CONFIG_SUNGEM_PHY=m
 CONFIG_ARCNET=m
 CONFIG_ARCNET_1201=m
@@ -2720,7 +2740,6 @@ CONFIG_CAIF_VIRTIO=m
 # Distributed Switch Architecture drivers
 #
 CONFIG_NET_DSA_MV88E6060=m
-CONFIG_NET_DSA_BCM_SF2=m
 CONFIG_B53=m
 CONFIG_B53_SPI_DRIVER=m
 CONFIG_B53_MDIO_DRIVER=m
@@ -2729,6 +2748,11 @@ CONFIG_B53_SRAB_DRIVER=m
 CONFIG_NET_DSA_MV88E6XXX=m
 CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
 CONFIG_NET_DSA_QCA8K=m
+# CONFIG_NET_DSA_LOOP is not set
+CONFIG_NET_DSA_MT7530=m
+CONFIG_NET_DSA_SMSC_LAN9303=m
+CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
+CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
 CONFIG_ETHERNET=y
 CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
@@ -2781,6 +2805,7 @@ CONFIG_BCMGENET=m
 CONFIG_BNX2=m
 CONFIG_CNIC=m
 CONFIG_TIGON3=m
+CONFIG_TIGON3_HWMON=y
 CONFIG_BNX2X=m
 CONFIG_BNX2X_SRIOV=y
 CONFIG_BNXT=m
@@ -2849,7 +2874,6 @@ CONFIG_IXGBE_DCB=y
 CONFIG_IXGBEVF=m
 CONFIG_I40E=m
 CONFIG_I40E_DCB=y
-CONFIG_I40E_FCOE=y
 CONFIG_I40EVF=m
 CONFIG_FM10K=m
 CONFIG_NET_VENDOR_I825XX=y
@@ -2870,6 +2894,7 @@ CONFIG_MLX4_DEBUG=y
 CONFIG_MLX5_CORE=m
 CONFIG_MLX5_CORE_EN=y
 CONFIG_MLX5_CORE_EN_DCB=y
+# CONFIG_MLX5_CORE_IPOIB is not set
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_CORE_THERMAL=y
@@ -2994,24 +3019,23 @@ CONFIG_WIZNET_BUS_ANY=y
 # CONFIG_WIZNET_W5100_SPI is not set
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_DWC_XLGMAC=m
+CONFIG_DWC_XLGMAC_PCI=m
 CONFIG_FDDI=y
 CONFIG_DEFXX=m
 # CONFIG_DEFXX_MMIO is not set
 CONFIG_SKFP=m
 # CONFIG_HIPPI is not set
 CONFIG_NET_SB1000=m
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BITBANG=m
+CONFIG_MDIO_GPIO=m
 CONFIG_PHYLIB=y
 CONFIG_SWPHY=y
 # CONFIG_LED_TRIGGER_PHY is not set
 
 #
-# MDIO bus device drivers
-#
-CONFIG_MDIO_BCM_UNIMAC=m
-CONFIG_MDIO_BITBANG=m
-CONFIG_MDIO_GPIO=m
-
-#
 # MII PHY device drivers
 #
 CONFIG_AMD_PHY=m
@@ -3400,6 +3424,8 @@ CONFIG_IEEE802154_MRF24J40=m
 CONFIG_IEEE802154_CC2520=m
 CONFIG_IEEE802154_ATUSB=m
 CONFIG_IEEE802154_ADF7242=m
+CONFIG_IEEE802154_CA8210=m
+# CONFIG_IEEE802154_CA8210_DEBUGFS is not set
 CONFIG_XEN_NETDEV_FRONTEND=y
 CONFIG_XEN_NETDEV_BACKEND=m
 CONFIG_VMXNET3=m
@@ -3547,6 +3573,7 @@ CONFIG_ISDN_HDLC=m
 CONFIG_NVM=y
 # CONFIG_NVM_DEBUG is not set
 CONFIG_NVM_RRPC=m
+CONFIG_NVM_PBLK=m
 
 #
 # Input device support
@@ -3606,6 +3633,7 @@ CONFIG_MOUSE_PS2_ALPS=y
 CONFIG_MOUSE_PS2_BYD=y
 CONFIG_MOUSE_PS2_LOGIPS2PP=y
 CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
 CONFIG_MOUSE_PS2_CYPRESS=y
 CONFIG_MOUSE_PS2_LIFEBOOK=y
 CONFIG_MOUSE_PS2_TRACKPOINT=y
@@ -3614,6 +3642,7 @@ CONFIG_MOUSE_PS2_SENTELIC=y
 CONFIG_MOUSE_PS2_TOUCHKIT=y
 CONFIG_MOUSE_PS2_FOCALTECH=y
 CONFIG_MOUSE_PS2_VMMOUSE=y
+CONFIG_MOUSE_PS2_SMBUS=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_APPLETOUCH=m
 CONFIG_MOUSE_BCM5974=m
@@ -3659,6 +3688,8 @@ CONFIG_JOYSTICK_XPAD=m
 CONFIG_JOYSTICK_XPAD_FF=y
 CONFIG_JOYSTICK_XPAD_LEDS=y
 CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_JOYSTICK_PSXPAD_SPI=m
+# CONFIG_JOYSTICK_PSXPAD_SPI_FF is not set
 CONFIG_INPUT_TABLET=y
 CONFIG_TABLET_USB_ACECAD=m
 CONFIG_TABLET_USB_AIPTEK=m
@@ -3748,6 +3779,7 @@ CONFIG_TOUCHSCREEN_TSC200X_CORE=m
 CONFIG_TOUCHSCREEN_TSC2004=m
 CONFIG_TOUCHSCREEN_TSC2005=m
 CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_TSC2007_IIO is not set
 CONFIG_TOUCHSCREEN_PCAP=m
 CONFIG_TOUCHSCREEN_RM_TS=m
 CONFIG_TOUCHSCREEN_SILEAD=m
@@ -3926,6 +3958,7 @@ CONFIG_SERIAL_KGDB_NMI=y
 CONFIG_SERIAL_MAX3100=m
 CONFIG_SERIAL_MAX310X=y
 CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_UARTLITE_NR_UARTS=1
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_CONSOLE_POLL=y
@@ -4034,6 +4067,7 @@ CONFIG_I2C_MUX=m
 # Multiplexer I2C Chip support
 #
 CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_LTC4306=m
 CONFIG_I2C_MUX_PCA9541=m
 CONFIG_I2C_MUX_PCA954x=m
 CONFIG_I2C_MUX_PINCTRL=m
@@ -4235,11 +4269,7 @@ CONFIG_GPIO_VX855=m
 #
 # Port-mapped I/O GPIO drivers
 #
-CONFIG_GPIO_104_DIO_48E=m
-CONFIG_GPIO_104_IDIO_16=m
-CONFIG_GPIO_104_IDI_48=m
 CONFIG_GPIO_F7188X=m
-CONFIG_GPIO_GPIO_MM=m
 CONFIG_GPIO_IT87=m
 CONFIG_GPIO_SCH=m
 CONFIG_GPIO_SCH311X=m
@@ -4339,6 +4369,7 @@ CONFIG_W1_SLAVE_DS2423=m
 CONFIG_W1_SLAVE_DS2431=m
 CONFIG_W1_SLAVE_DS2433=m
 # CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2438=m
 CONFIG_W1_SLAVE_DS2760=m
 CONFIG_W1_SLAVE_DS2780=m
 CONFIG_W1_SLAVE_DS2781=m
@@ -4369,6 +4400,9 @@ CONFIG_BATTERY_DA9030=m
 CONFIG_BATTERY_DA9052=m
 CONFIG_CHARGER_DA9150=m
 CONFIG_BATTERY_DA9150=m
+CONFIG_CHARGER_AXP20X=m
+CONFIG_BATTERY_AXP20X=m
+CONFIG_AXP20X_POWER=m
 CONFIG_AXP288_CHARGER=m
 CONFIG_AXP288_FUEL_GAUGE=m
 CONFIG_BATTERY_MAX17040=m
@@ -4399,7 +4433,6 @@ CONFIG_CHARGER_TPS65217=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
-CONFIG_AXP20X_POWER=m
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -4431,6 +4464,7 @@ CONFIG_SENSORS_K10TEMP=m
 CONFIG_SENSORS_FAM15H_POWER=m
 CONFIG_SENSORS_APPLESMC=m
 CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ASPEED=m
 CONFIG_SENSORS_ATXP1=m
 CONFIG_SENSORS_DS620=m
 CONFIG_SENSORS_DS1621=m
@@ -4553,7 +4587,6 @@ CONFIG_SENSORS_TMP103=m
 CONFIG_SENSORS_TMP108=m
 CONFIG_SENSORS_TMP401=m
 CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_TWL4030_MADC=m
 CONFIG_SENSORS_VIA_CPUTEMP=m
 CONFIG_SENSORS_VIA686A=m
 CONFIG_SENSORS_VT1211=m
@@ -4578,6 +4611,7 @@ CONFIG_SENSORS_XGENE=m
 CONFIG_SENSORS_ACPI_POWER=m
 CONFIG_SENSORS_ATK0110=m
 CONFIG_THERMAL=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
 CONFIG_THERMAL_HWMON=y
 CONFIG_THERMAL_WRITABLE_TRIPS=y
 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
@@ -4763,6 +4797,7 @@ CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m
 CONFIG_LPC_ICH=m
 CONFIG_LPC_SCH=m
 CONFIG_INTEL_SOC_PMIC=y
+CONFIG_INTEL_SOC_PMIC_BXTWC=m
 CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
@@ -4806,6 +4841,7 @@ CONFIG_MFD_SYSCON=y
 CONFIG_MFD_TI_AM335X_TSCADC=m
 CONFIG_MFD_LP3943=m
 CONFIG_MFD_LP8788=y
+CONFIG_MFD_TI_LMU=m
 CONFIG_MFD_PALMAS=y
 CONFIG_TPS6105X=m
 CONFIG_TPS65010=m
@@ -4856,7 +4892,8 @@ CONFIG_REGULATOR_AD5398=m
 CONFIG_REGULATOR_ANATOP=m
 CONFIG_REGULATOR_AAT2870=m
 CONFIG_REGULATOR_AB3100=m
-CONFIG_REGULATOR_ARIZONA=m
+CONFIG_REGULATOR_ARIZONA_LDO1=m
+CONFIG_REGULATOR_ARIZONA_MICSUPP=m
 CONFIG_REGULATOR_AS3711=m
 CONFIG_REGULATOR_AXP20X=m
 CONFIG_REGULATOR_BCM590XX=m
@@ -4871,6 +4908,7 @@ CONFIG_REGULATOR_FAN53555=m
 CONFIG_REGULATOR_GPIO=m
 CONFIG_REGULATOR_ISL9305=m
 CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_LM363X=m
 CONFIG_REGULATOR_LP3971=m
 CONFIG_REGULATOR_LP3972=m
 CONFIG_REGULATOR_LP872X=m
@@ -4916,6 +4954,7 @@ CONFIG_REGULATOR_TPS65023=m
 CONFIG_REGULATOR_TPS6507X=m
 CONFIG_REGULATOR_TPS65086=m
 CONFIG_REGULATOR_TPS65090=m
+CONFIG_REGULATOR_TPS65132=m
 CONFIG_REGULATOR_TPS65217=m
 CONFIG_REGULATOR_TPS6524X=m
 CONFIG_REGULATOR_TPS6586X=m
@@ -4927,6 +4966,7 @@ CONFIG_REGULATOR_WM831X=m
 CONFIG_REGULATOR_WM8350=m
 CONFIG_REGULATOR_WM8400=m
 CONFIG_REGULATOR_WM8994=m
+CONFIG_CEC_CORE=m
 CONFIG_MEDIA_SUPPORT=m
 
 #
@@ -4939,8 +4979,7 @@ CONFIG_MEDIA_RADIO_SUPPORT=y
 CONFIG_MEDIA_SDR_SUPPORT=y
 CONFIG_MEDIA_RC_SUPPORT=y
 CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_MEDIA_CEC_DEBUG is not set
-CONFIG_MEDIA_CEC_EDID=y
+# CONFIG_MEDIA_CEC_RC is not set
 CONFIG_MEDIA_CONTROLLER=y
 # CONFIG_MEDIA_CONTROLLER_DVB is not set
 CONFIG_VIDEO_DEV=m
@@ -5006,6 +5045,7 @@ CONFIG_RC_LOOPBACK=m
 CONFIG_IR_GPIO_CIR=m
 CONFIG_IR_SERIAL=m
 CONFIG_IR_SERIAL_TRANSMITTER=y
+CONFIG_IR_SIR=m
 CONFIG_MEDIA_USB_SUPPORT=y
 
 #
@@ -5174,6 +5214,7 @@ CONFIG_USB_MSI2500=m
 # USB HDMI CEC adapters
 #
 CONFIG_USB_PULSE8_CEC=m
+CONFIG_USB_RAINSHADOW_CEC=m
 CONFIG_MEDIA_PCI_SUPPORT=y
 
 #
@@ -5264,11 +5305,13 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
 CONFIG_V4L_TEST_DRIVERS=y
+# CONFIG_VIDEO_VIMC is not set
 CONFIG_VIDEO_VIVID=m
 CONFIG_VIDEO_VIVID_CEC=y
 CONFIG_VIDEO_VIVID_MAX_DEVS=64
 CONFIG_VIDEO_VIM2M=m
 CONFIG_DVB_PLATFORM_DRIVERS=y
+CONFIG_CEC_PLATFORM_DRIVERS=y
 
 #
 # Supported MMC/SDIO adapters
@@ -5403,6 +5446,7 @@ CONFIG_VIDEO_ADV7511=m
 #
 # Camera sensor devices
 #
+CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
 CONFIG_VIDEO_MT9M111=m
@@ -5441,7 +5485,6 @@ CONFIG_SOC_CAMERA_MT9M111=m
 CONFIG_SOC_CAMERA_MT9T031=m
 CONFIG_SOC_CAMERA_MT9T112=m
 CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_OV2640=m
 CONFIG_SOC_CAMERA_OV5642=m
 CONFIG_SOC_CAMERA_OV6650=m
 CONFIG_SOC_CAMERA_OV772X=m
@@ -5662,6 +5705,7 @@ CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_KMS_HELPER=m
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VM=y
@@ -5700,6 +5744,9 @@ CONFIG_DRM_I915_USERPTR=y
 # CONFIG_DRM_I915_WERROR is not set
 # CONFIG_DRM_I915_DEBUG is not set
 # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
+# CONFIG_DRM_I915_SELFTEST is not set
+# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
+# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
 CONFIG_DRM_VGEM=m
 CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_VMWGFX_FBCON=y
@@ -5895,6 +5942,7 @@ CONFIG_BACKLIGHT_AS3711=m
 CONFIG_BACKLIGHT_GPIO=m
 CONFIG_BACKLIGHT_LV5207LP=m
 CONFIG_BACKLIGHT_BD6107=m
+CONFIG_BACKLIGHT_ARCXCNN=m
 CONFIG_VGASTATE=m
 CONFIG_HDMI=y
 
@@ -6137,6 +6185,8 @@ CONFIG_SND_FIREWORKS=m
 CONFIG_SND_BEBOB=m
 CONFIG_SND_FIREWIRE_DIGI00X=m
 CONFIG_SND_FIREWIRE_TASCAM=m
+CONFIG_SND_FIREWIRE_MOTU=m
+CONFIG_SND_FIREFACE=m
 CONFIG_SND_PCMCIA=y
 CONFIG_SND_VXPOCKET=m
 CONFIG_SND_PDAUDIOCF=m
@@ -6148,7 +6198,7 @@ CONFIG_SND_SOC_TOPOLOGY=y
 CONFIG_SND_SOC_AMD_ACP=m
 CONFIG_SND_ATMEL_SOC=m
 CONFIG_SND_DESIGNWARE_I2S=m
-CONFIG_SND_DESIGNWARE_PCM=m
+# CONFIG_SND_DESIGNWARE_PCM is not set
 
 #
 # SoC Audio for Freescale CPUs
@@ -6163,6 +6213,7 @@ CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_ESAI=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
+CONFIG_SND_I2S_HI6210_I2S=m
 # CONFIG_SND_SOC_IMG is not set
 CONFIG_SND_MFLD_MACHINE=m
 CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
@@ -6184,18 +6235,26 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m
 CONFIG_SND_SOC_INTEL_SKYLAKE=m
 CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
+CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
 # CODEC drivers
 #
 CONFIG_SND_SOC_AC97_CODEC=m
+CONFIG_SND_SOC_ADAU_UTILS=m
 CONFIG_SND_SOC_ADAU1701=m
+CONFIG_SND_SOC_ADAU17X1=m
+CONFIG_SND_SOC_ADAU1761=m
+CONFIG_SND_SOC_ADAU1761_I2C=m
+CONFIG_SND_SOC_ADAU1761_SPI=m
 CONFIG_SND_SOC_ADAU7002=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4554=m
@@ -6207,6 +6266,7 @@ CONFIG_SND_SOC_BT_SCO=m
 CONFIG_SND_SOC_CS35L32=m
 CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
+CONFIG_SND_SOC_CS35L35=m
 CONFIG_SND_SOC_CS42L42=m
 CONFIG_SND_SOC_CS42L51=m
 CONFIG_SND_SOC_CS42L51_I2C=m
@@ -6222,9 +6282,12 @@ CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS4349=m
 CONFIG_SND_SOC_CS53L30=m
+CONFIG_SND_SOC_DA7213=m
 CONFIG_SND_SOC_DA7219=m
+CONFIG_SND_SOC_DIO2125=m
 CONFIG_SND_SOC_DMIC=m
 CONFIG_SND_SOC_HDMI_CODEC=m
+CONFIG_SND_SOC_ES7134=m
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_ES8328_I2C=m
 CONFIG_SND_SOC_ES8328_SPI=m
@@ -6234,6 +6297,7 @@ CONFIG_SND_SOC_INNO_RK3036=m
 CONFIG_SND_SOC_MAX98090=m
 CONFIG_SND_SOC_MAX98357A=m
 CONFIG_SND_SOC_MAX98504=m
+CONFIG_SND_SOC_MAX98927=m
 CONFIG_SND_SOC_MAX9860=m
 CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
 CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
@@ -6263,6 +6327,7 @@ CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SI476X=m
 CONFIG_SND_SOC_SIGMADSP=m
 CONFIG_SND_SOC_SIGMADSP_I2C=m
+CONFIG_SND_SOC_SIGMADSP_REGMAP=m
 CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
 CONFIG_SND_SOC_SN95031=m
 CONFIG_SND_SOC_SPDIF=m
@@ -6307,13 +6372,13 @@ CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_NAU8540=m
 CONFIG_SND_SOC_NAU8810=m
+CONFIG_SND_SOC_NAU8824=m
 CONFIG_SND_SOC_NAU8825=m
 CONFIG_SND_SOC_TPA6130A2=m
 CONFIG_SND_SIMPLE_CARD_UTILS=m
 CONFIG_SND_SIMPLE_CARD=m
 CONFIG_SND_X86=y
 CONFIG_HDMI_LPE_AUDIO=m
-# CONFIG_SOUND_PRIME is not set
 CONFIG_AC97_BUS=m
 
 #
@@ -6329,6 +6394,7 @@ CONFIG_HID_GENERIC=m
 # Special HID drivers
 #
 CONFIG_HID_A4TECH=m
+CONFIG_HID_ACCUTOUCH=m
 CONFIG_HID_ACRUX=m
 CONFIG_HID_ACRUX_FF=y
 CONFIG_HID_APPLE=m
@@ -6378,6 +6444,7 @@ CONFIG_HID_MAYFLASH=m
 CONFIG_HID_MICROSOFT=m
 CONFIG_HID_MONTEREY=m
 CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTI=m
 CONFIG_HID_NTRIG=m
 CONFIG_HID_ORTEK=m
 CONFIG_HID_PANTHERLORD=m
@@ -6444,6 +6511,7 @@ CONFIG_USB_SUPPORT=y
 CONFIG_USB_COMMON=y
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB=y
+CONFIG_USB_PCI=y
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 
 #
@@ -6717,6 +6785,7 @@ CONFIG_USB_R8A66597=m
 CONFIG_USB_PXA27X=m
 CONFIG_USB_MV_UDC=m
 CONFIG_USB_MV_U3D=m
+CONFIG_USB_SNP_CORE=m
 # CONFIG_USB_M66592 is not set
 CONFIG_USB_BDC_UDC=m
 
@@ -6799,6 +6868,11 @@ CONFIG_USB_G_DBGP=m
 # CONFIG_USB_G_DBGP_PRINTK is not set
 CONFIG_USB_G_DBGP_SERIAL=y
 CONFIG_USB_G_WEBCAM=m
+
+#
+# USB Power Delivery and Type-C drivers
+#
+CONFIG_TYPEC=m
 CONFIG_USB_LED_TRIG=y
 CONFIG_USB_ULPI_BUS=m
 CONFIG_UWB=m
@@ -6833,6 +6907,7 @@ CONFIG_MMC_REALTEK_PCI=m
 CONFIG_MMC_REALTEK_USB=m
 CONFIG_MMC_TOSHIBA_PCI=m
 CONFIG_MMC_MTK=m
+CONFIG_MMC_SDHCI_XENON=m
 CONFIG_MEMSTICK=m
 # CONFIG_MEMSTICK_DEBUG is not set
 
@@ -6863,6 +6938,7 @@ CONFIG_LEDS_88PM860X=m
 CONFIG_LEDS_LM3530=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_NET48XX=m
 CONFIG_LEDS_WRAP=m
 CONFIG_LEDS_PCA9532=m
@@ -6891,7 +6967,6 @@ CONFIG_LEDS_BD2802=m
 CONFIG_LEDS_INTEL_SS4200=m
 CONFIG_LEDS_LT3593=m
 CONFIG_LEDS_ADP5520=m
-CONFIG_LEDS_DELL_NETBOOKS=m
 CONFIG_LEDS_MC13783=m
 CONFIG_LEDS_TCA6507=m
 CONFIG_LEDS_TLC591XX=m
@@ -6963,7 +7038,7 @@ CONFIG_EDAC=y
 # CONFIG_EDAC_LEGACY_SYSFS is not set
 # CONFIG_EDAC_DEBUG is not set
 CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_GHES=y
 CONFIG_EDAC_AMD64=m
 # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
 CONFIG_EDAC_AMD76X=m
@@ -7149,12 +7224,18 @@ CONFIG_ASYNC_TX_DMA=y
 CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 CONFIG_AUXDISPLAY=y
+CONFIG_CHARLCD=m
+CONFIG_HD44780=m
 CONFIG_KS0108=m
 CONFIG_KS0108_PORT=0x378
 CONFIG_KS0108_DELAY=2
 CONFIG_CFAG12864B=m
 CONFIG_CFAG12864B_RATE=20
 CONFIG_IMG_ASCII_LCD=m
+CONFIG_PANEL=m
+CONFIG_PANEL_PARPORT=0
+CONFIG_PANEL_PROFILE=5
+# CONFIG_PANEL_CHANGE_MESSAGE is not set
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
 CONFIG_UIO_PDRV_GENIRQ=m
@@ -7195,6 +7276,7 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
 # Microsoft Hyper-V guest support
 #
 CONFIG_HYPERV=m
+# CONFIG_HYPERV_TSCPAGE is not set
 CONFIG_HYPERV_UTILS=m
 CONFIG_HYPERV_BALLOON=m
 
@@ -7372,6 +7454,7 @@ CONFIG_RTLLIB_CRYPTO_CCMP=m
 CONFIG_RTLLIB_CRYPTO_TKIP=m
 CONFIG_RTLLIB_CRYPTO_WEP=m
 CONFIG_RTL8192E=m
+CONFIG_RTL8723BS=m
 CONFIG_R8712U=m
 CONFIG_R8188EU=m
 CONFIG_88EU_AP_MODE=y
@@ -7482,11 +7565,10 @@ CONFIG_SPEAKUP_SYNTH_SPKOUT=m
 CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
 CONFIG_STAGING_MEDIA=y
+# CONFIG_INTEL_ATOMISP is not set
 CONFIG_I2C_BCM2048=m
 CONFIG_DVB_CXD2099=m
 CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
 
 #
@@ -7501,6 +7583,7 @@ CONFIG_MTD_SPINAND_ONDIEECC=y
 CONFIG_LNET=m
 CONFIG_LNET_MAX_PAYLOAD=1048576
 # CONFIG_LNET_SELFTEST is not set
+CONFIG_LNET_XPRT_IB=m
 # CONFIG_LUSTRE_FS is not set
 CONFIG_DGNC=m
 CONFIG_GS_FPGABOOT=m
@@ -7522,6 +7605,7 @@ CONFIG_FB_TFT_PCD8544=m
 CONFIG_FB_TFT_RA8875=m
 CONFIG_FB_TFT_S6D02A1=m
 CONFIG_FB_TFT_S6D1121=m
+CONFIG_FB_TFT_SH1106=m
 CONFIG_FB_TFT_SSD1289=m
 CONFIG_FB_TFT_SSD1305=m
 CONFIG_FB_TFT_SSD1306=m
@@ -7553,6 +7637,13 @@ CONFIG_HDM_I2C=m
 CONFIG_HDM_USB=m
 CONFIG_KS7010=m
 # CONFIG_GREYBUS is not set
+
+#
+# USB Power Delivery and Type-C drivers
+#
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_TCPCI=m
+CONFIG_TYPEC_FUSB302=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACER_WMI=m
 CONFIG_ACERHDF=m
@@ -7562,6 +7653,7 @@ CONFIG_DELL_SMBIOS=m
 CONFIG_DELL_LAPTOP=m
 CONFIG_DELL_WMI=m
 CONFIG_DELL_WMI_AIO=m
+CONFIG_DELL_WMI_LED=m
 CONFIG_DELL_SMO8800=m
 CONFIG_DELL_RBTN=m
 CONFIG_FUJITSU_LAPTOP=m
@@ -7601,6 +7693,7 @@ CONFIG_TOSHIBA_BT_RFKILL=m
 CONFIG_TOSHIBA_HAPS=m
 CONFIG_TOSHIBA_WMI=m
 CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_CHT_INT33FE=m
 CONFIG_INTEL_HID_EVENT=m
 CONFIG_INTEL_VBTN=m
 CONFIG_INTEL_SCU_IPC=y
@@ -7701,6 +7794,10 @@ CONFIG_REMOTEPROC=m
 #
 # Broadcom SoC drivers
 #
+
+#
+# i.MX SoC drivers
+#
 # CONFIG_SUNXI_SRAM is not set
 CONFIG_SOC_TI=y
 # CONFIG_SOC_ZTE is not set
@@ -7801,6 +7898,7 @@ CONFIG_AD7793=m
 CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
+CONFIG_AXP20X_ADC=m
 CONFIG_AXP288_ADC=m
 CONFIG_CC10001_ADC=m
 CONFIG_DA9150_GPADC=m
@@ -7809,17 +7907,20 @@ CONFIG_HX711=m
 CONFIG_INA2XX_ADC=m
 CONFIG_LP8788_ADC=m
 CONFIG_LTC2485=m
+CONFIG_LTC2497=m
 CONFIG_MAX1027=m
 CONFIG_MAX11100=m
+CONFIG_MAX1118=m
 CONFIG_MAX1363=m
+CONFIG_MAX9611=m
 CONFIG_MCP320X=m
 CONFIG_MCP3422=m
 CONFIG_MEN_Z188_ADC=m
 CONFIG_NAU7802=m
 CONFIG_PALMAS_GPADC=m
+CONFIG_QCOM_VADC_COMMON=m
 CONFIG_QCOM_SPMI_IADC=m
 CONFIG_QCOM_SPMI_VADC=m
-CONFIG_STX104=m
 CONFIG_TI_ADC081C=m
 CONFIG_TI_ADC0832=m
 CONFIG_TI_ADC12138=m
@@ -7866,7 +7967,6 @@ CONFIG_IIO_ST_SENSORS_CORE=m
 #
 # Counters
 #
-CONFIG_104_QUAD_8=m
 
 #
 # Digital to analog converters
@@ -7882,6 +7982,7 @@ CONFIG_AD5592R=m
 CONFIG_AD5593R=m
 CONFIG_AD5504=m
 CONFIG_AD5624R_SPI=m
+CONFIG_LTC2632=m
 CONFIG_AD5686=m
 CONFIG_AD5755=m
 CONFIG_AD5761=m
@@ -7945,6 +8046,7 @@ CONFIG_ITG3200=m
 CONFIG_AFE4403=m
 CONFIG_AFE4404=m
 CONFIG_MAX30100=m
+CONFIG_MAX30102=m
 
 #
 # Humidity sensors
@@ -7952,6 +8054,7 @@ CONFIG_MAX30100=m
 CONFIG_AM2315=m
 CONFIG_DHT11=m
 CONFIG_HDC100X=m
+CONFIG_HID_SENSOR_HUMIDITY=m
 CONFIG_HTS221=m
 CONFIG_HTS221_I2C=m
 CONFIG_HTS221_SPI=m
@@ -7991,6 +8094,7 @@ CONFIG_CM32181=m
 CONFIG_CM3232=m
 CONFIG_CM3323=m
 CONFIG_CM36651=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
 CONFIG_GP2AP020A00F=m
 CONFIG_SENSORS_ISL29018=m
 CONFIG_ISL29125=m
@@ -8013,6 +8117,7 @@ CONFIG_TSL4531=m
 CONFIG_US5182D=m
 CONFIG_VCNL4000=m
 CONFIG_VEML6070=m
+CONFIG_VL6180=m
 
 #
 # Magnetometer sensors
@@ -8097,6 +8202,7 @@ CONFIG_AS3935=m
 # Proximity and distance sensors
 #
 CONFIG_LIDAR_LITE_V2=m
+CONFIG_SRF04=m
 CONFIG_SX9500=m
 CONFIG_SRF08=m
 
@@ -8104,6 +8210,7 @@ CONFIG_SRF08=m
 # Temperature sensors
 #
 CONFIG_MAXIM_THERMOCOUPLE=m
+CONFIG_HID_SENSOR_TEMP=m
 CONFIG_MLX90614=m
 CONFIG_TMP006=m
 CONFIG_TMP007=m
@@ -8151,6 +8258,7 @@ CONFIG_SERIAL_IPOCTAL=m
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_RESET_ATH79 is not set
 # CONFIG_RESET_BERLIN is not set
+# CONFIG_RESET_IMX7 is not set
 # CONFIG_RESET_LPC18XX is not set
 # CONFIG_RESET_MESON is not set
 # CONFIG_RESET_PISTACHIO is not set
@@ -8203,8 +8311,8 @@ CONFIG_ND_BLK=m
 CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=m
 CONFIG_BTT=y
+CONFIG_DAX=y
 CONFIG_DEV_DAX=m
-CONFIG_NR_DEV_DAX=32768
 CONFIG_NVMEM=m
 CONFIG_STM=m
 CONFIG_STM_DUMMY=m
@@ -8223,6 +8331,8 @@ CONFIG_INTEL_TH_PTI=m
 # FPGA Configuration Support
 #
 CONFIG_FPGA=m
+CONFIG_FPGA_MGR_XILINX_SPI=m
+CONFIG_ALTERA_PR_IP_CORE=m
 
 #
 # FSI support
@@ -8439,6 +8549,7 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UBIFS_ATIME_SUPPORT=y
 CONFIG_UBIFS_FS_ENCRYPTION=y
+CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_CRAMFS=m
 CONFIG_SQUASHFS=m
 # CONFIG_SQUASHFS_FILE_CACHE is not set
@@ -8492,7 +8603,6 @@ CONFIG_NFS_V4_1=y
 CONFIG_NFS_V4_2=y
 CONFIG_PNFS_FILE_LAYOUT=m
 CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
 CONFIG_PNFS_FLEXFILE_LAYOUT=m
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
 CONFIG_NFS_V4_1_MIGRATION=y
@@ -8747,6 +8857,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_FENTRY=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_TRACER_MAX_TRACE=y
 CONFIG_TRACE_CLOCK=y
@@ -8837,10 +8948,12 @@ CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
 CONFIG_EARLY_PRINTK_EFI=y
+# CONFIG_EARLY_PRINTK_USB_XDBC is not set
 # CONFIG_X86_PTDUMP_CORE is not set
 # CONFIG_X86_PTDUMP is not set
 # CONFIG_EFI_PGT_DUMP is not set
@@ -8878,6 +8991,7 @@ CONFIG_ENCRYPTED_KEYS=y
 CONFIG_KEY_DH_OPERATIONS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
+CONFIG_SECURITY_WRITABLE_HOOKS=y
 CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_SECURITY_NETWORK_XFRM=y
@@ -8885,7 +8999,6 @@ CONFIG_SECURITY_PATH=y
 CONFIG_INTEL_TXT=y
 CONFIG_LSM_MMAP_MIN_ADDR=0
 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
-CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY=y
 # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
 # CONFIG_STATIC_USERMODEHELPER is not set
@@ -8971,10 +9084,10 @@ CONFIG_CRYPTO_RNG_DEFAULT=m
 CONFIG_CRYPTO_AKCIPHER2=y
 CONFIG_CRYPTO_AKCIPHER=y
 CONFIG_CRYPTO_KPP2=y
-CONFIG_CRYPTO_KPP=m
+CONFIG_CRYPTO_KPP=y
 CONFIG_CRYPTO_ACOMP2=y
 CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_DH=m
+CONFIG_CRYPTO_DH=y
 CONFIG_CRYPTO_ECDH=m
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
@@ -9131,6 +9244,7 @@ CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
 # CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -9148,7 +9262,6 @@ CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
 CONFIG_KVM_AMD=m
 # CONFIG_KVM_MMU_AUDIT is not set
-CONFIG_KVM_DEVICE_ASSIGNMENT=y
 CONFIG_VHOST_NET=m
 CONFIG_VHOST_SCSI=m
 CONFIG_VHOST_VSOCK=m
diff --git a/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.12-x86_64.conf
index ea6e5cc899..2613eb6222 100644
--- a/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.12-x86_64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.11.0-gnu Kernel Configuration
+# Linux/x86 4.12.0-gnu Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -135,8 +135,10 @@ CONFIG_TASK_IO_ACCOUNTING=y
 CONFIG_TREE_RCU=y
 # CONFIG_RCU_EXPERT is not set
 CONFIG_SRCU=y
+CONFIG_TREE_SRCU=y
 # CONFIG_TASKS_RCU is not set
 CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
 # CONFIG_TREE_RCU_TRACE is not set
 CONFIG_BUILD_BIN2C=y
 # CONFIG_IKCONFIG is not set
@@ -191,7 +193,6 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
-CONFIG_INITRAMFS_COMPRESSION=".gz"
 CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
@@ -250,6 +251,7 @@ CONFIG_SLUB_CPU_PARTIAL=y
 # CONFIG_SYSTEM_DATA_VERIFICATION is not set
 CONFIG_PROFILING=y
 CONFIG_TRACEPOINTS=y
+CONFIG_CRASH_CORE=y
 CONFIG_KEXEC_CORE=y
 CONFIG_OPROFILE=m
 # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
@@ -321,6 +323,7 @@ CONFIG_HAVE_EXIT_THREAD=y
 CONFIG_ARCH_MMAP_RND_BITS=28
 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
+CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
 CONFIG_HAVE_COPY_THREAD_TLS=y
 CONFIG_HAVE_STACK_VALIDATION=y
 # CONFIG_HAVE_ARCH_HASH is not set
@@ -362,6 +365,7 @@ CONFIG_BLK_DEV_BSGLIB=y
 CONFIG_BLK_DEV_INTEGRITY=y
 CONFIG_BLK_DEV_ZONED=y
 CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
 CONFIG_BLK_CMDLINE_PARSER=y
 CONFIG_BLK_WBT=y
 # CONFIG_BLK_WBT_SQ is not set
@@ -409,6 +413,9 @@ CONFIG_DEFAULT_DEADLINE=y
 # CONFIG_DEFAULT_NOOP is not set
 CONFIG_DEFAULT_IOSCHED="deadline"
 CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+# CONFIG_BFQ_GROUP_IOSCHED is not set
 CONFIG_PREEMPT_NOTIFIERS=y
 CONFIG_PADATA=y
 CONFIG_ASN1=y
@@ -456,8 +463,11 @@ CONFIG_PARAVIRT=y
 CONFIG_PARAVIRT_SPINLOCKS=y
 # CONFIG_QUEUED_LOCK_STAT is not set
 CONFIG_XEN=y
+CONFIG_XEN_PV=y
+CONFIG_XEN_PV_SMP=y
 CONFIG_XEN_DOM0=y
 CONFIG_XEN_PVHVM=y
+CONFIG_XEN_PVHVM_SMP=y
 CONFIG_XEN_512GB=y
 CONFIG_XEN_SAVE_RESTORE=y
 # CONFIG_XEN_DEBUG_FS is not set
@@ -503,10 +513,10 @@ CONFIG_X86_LOCAL_APIC=y
 CONFIG_X86_IO_APIC=y
 CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
 CONFIG_X86_MCE=y
+# CONFIG_X86_MCELOG_LEGACY is not set
 CONFIG_X86_MCE_INTEL=y
 CONFIG_X86_MCE_AMD=y
 CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MCE_INJECT=m
 CONFIG_X86_THERMAL_VECTOR=y
 
 #
@@ -721,7 +731,6 @@ CONFIG_ACPI_HED=y
 CONFIG_ACPI_BGRT=y
 # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
 CONFIG_ACPI_NFIT=m
-# CONFIG_ACPI_NFIT_DEBUG is not set
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_ACPI_APEI=y
@@ -837,6 +846,16 @@ CONFIG_HOTPLUG_PCI_SHPC=m
 # PCI host controller drivers
 #
 # CONFIG_VMD is not set
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+
+#
+# PCI switch controller drivers
+#
+CONFIG_PCI_SW_SWITCHTEC=m
 # CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
@@ -895,7 +914,6 @@ CONFIG_COMPAT_32=y
 CONFIG_COMPAT=y
 CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
 CONFIG_SYSVIPC_COMPAT=y
-CONFIG_KEYS_COMPAT=y
 CONFIG_X86_DEV_DMA_OPS=y
 CONFIG_NET=y
 CONFIG_COMPAT_NETLINK_MESSAGES=y
@@ -1415,11 +1433,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y
 CONFIG_BRIDGE_VLAN_FILTERING=y
 CONFIG_HAVE_NET_DSA=y
 CONFIG_NET_DSA=m
-CONFIG_NET_DSA_TAG_BRCM=y
 CONFIG_NET_DSA_TAG_DSA=y
 CONFIG_NET_DSA_TAG_EDSA=y
 CONFIG_NET_DSA_TAG_TRAILER=y
 CONFIG_NET_DSA_TAG_QCA=y
+CONFIG_NET_DSA_TAG_MTK=y
+CONFIG_NET_DSA_TAG_LAN9303=y
 CONFIG_VLAN_8021Q=m
 CONFIG_VLAN_8021Q_GVRP=y
 CONFIG_VLAN_8021Q_MVRP=y
@@ -1487,6 +1506,7 @@ CONFIG_NET_SCH_HHF=m
 CONFIG_NET_SCH_PIE=m
 CONFIG_NET_SCH_INGRESS=m
 CONFIG_NET_SCH_PLUG=m
+# CONFIG_NET_SCH_DEFAULT is not set
 
 #
 # Classification
@@ -1610,6 +1630,7 @@ CONFIG_CAN_GW=m
 # CAN Device Drivers
 #
 CONFIG_CAN_VCAN=m
+CONFIG_CAN_VXCAN=m
 CONFIG_CAN_SLCAN=m
 CONFIG_CAN_DEV=m
 CONFIG_CAN_CALC_BITTIMING=y
@@ -1623,6 +1644,7 @@ CONFIG_CAN_CC770_ISA=m
 CONFIG_CAN_CC770_PLATFORM=m
 CONFIG_CAN_IFI_CANFD=m
 CONFIG_CAN_M_CAN=m
+CONFIG_CAN_PEAK_PCIEFD=m
 CONFIG_CAN_SJA1000=m
 CONFIG_CAN_SJA1000_ISA=m
 CONFIG_CAN_SJA1000_PLATFORM=m
@@ -1639,6 +1661,7 @@ CONFIG_CAN_SOFTING_CS=m
 #
 # CAN SPI interfaces
 #
+CONFIG_CAN_HI311X=m
 CONFIG_CAN_MCP251X=m
 
 #
@@ -1650,6 +1673,7 @@ CONFIG_CAN_GS_USB=m
 CONFIG_CAN_KVASER_USB=m
 CONFIG_CAN_PEAK_USB=m
 CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_MCBA_USB=m
 # CONFIG_CAN_DEBUG_DEVICES is not set
 CONFIG_IRDA=m
 
@@ -1735,7 +1759,9 @@ CONFIG_BT_HCIBTUSB_BCM=y
 CONFIG_BT_HCIBTUSB_RTL=y
 CONFIG_BT_HCIBTSDIO=m
 CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_SERDEV=y
 CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_NOKIA=m
 CONFIG_BT_HCIUART_BCSP=y
 CONFIG_BT_HCIUART_ATH3K=y
 CONFIG_BT_HCIUART_LL=y
@@ -1807,6 +1833,7 @@ CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
 CONFIG_NET_9P=m
 CONFIG_NET_9P_VIRTIO=m
+CONFIG_NET_9P_XEN=m
 CONFIG_NET_9P_RDMA=m
 # CONFIG_NET_9P_DEBUG is not set
 CONFIG_CAIF=m
@@ -1827,7 +1854,6 @@ CONFIG_NFC_SHDLC=y
 #
 # Near Field Communication (NFC) devices
 #
-CONFIG_NFC_WILINK=m
 CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
@@ -2016,10 +2042,8 @@ CONFIG_MTD_NAND_ECC_BCH=y
 CONFIG_MTD_SM_COMMON=m
 CONFIG_MTD_NAND_DENALI=m
 CONFIG_MTD_NAND_DENALI_PCI=m
-CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
 CONFIG_MTD_NAND_GPIO=m
 # CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
-CONFIG_MTD_NAND_IDS=m
 CONFIG_MTD_NAND_RICOH=m
 CONFIG_MTD_NAND_DISKONCHIP=m
 # CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
@@ -2118,7 +2142,6 @@ CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
 CONFIG_BLK_DEV_SKD=m
-CONFIG_BLK_DEV_OSD=m
 CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
 CONFIG_BLK_DEV_RAM_COUNT=16
@@ -2132,7 +2155,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=y
 # CONFIG_VIRTIO_BLK_SCSI is not set
-# CONFIG_BLK_DEV_HD is not set
 CONFIG_BLK_DEV_RBD=m
 CONFIG_BLK_DEV_RSXX=m
 CONFIG_NVME_CORE=m
@@ -2176,10 +2198,7 @@ CONFIG_VMWARE_BALLOON=m
 CONFIG_USB_SWITCH_FSA9480=m
 CONFIG_LATTICE_ECP3_CONFIG=m
 CONFIG_SRAM=y
-CONFIG_PANEL=m
-CONFIG_PANEL_PARPORT=0
-CONFIG_PANEL_PROFILE=5
-# CONFIG_PANEL_CHANGE_MESSAGE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
 CONFIG_C2PORT=m
 CONFIG_C2PORT_DURAMAR_2150=m
 
@@ -2540,7 +2559,6 @@ CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_THIN_PROVISIONING=m
 CONFIG_DM_CACHE=m
 CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_CACHE_CLEANER=m
 CONFIG_DM_ERA=m
 CONFIG_DM_MIRROR=m
 CONFIG_DM_LOG_USERSPACE=m
@@ -2556,6 +2574,7 @@ CONFIG_DM_VERITY=m
 # CONFIG_DM_VERITY_FEC is not set
 CONFIG_DM_SWITCH=m
 CONFIG_DM_LOG_WRITES=m
+CONFIG_DM_INTEGRITY=m
 CONFIG_TARGET_CORE=m
 CONFIG_TCM_IBLOCK=m
 CONFIG_TCM_FILEIO=m
@@ -2622,6 +2641,7 @@ CONFIG_VETH=m
 CONFIG_VIRTIO_NET=y
 CONFIG_NLMON=m
 CONFIG_NET_VRF=m
+CONFIG_VSOCKMON=m
 CONFIG_SUNGEM_PHY=m
 CONFIG_ARCNET=m
 CONFIG_ARCNET_1201=m
@@ -2678,7 +2698,6 @@ CONFIG_CAIF_VIRTIO=m
 # Distributed Switch Architecture drivers
 #
 CONFIG_NET_DSA_MV88E6060=m
-CONFIG_NET_DSA_BCM_SF2=m
 CONFIG_B53=m
 CONFIG_B53_SPI_DRIVER=m
 CONFIG_B53_MDIO_DRIVER=m
@@ -2687,6 +2706,11 @@ CONFIG_B53_SRAB_DRIVER=m
 CONFIG_NET_DSA_MV88E6XXX=m
 CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
 CONFIG_NET_DSA_QCA8K=m
+# CONFIG_NET_DSA_LOOP is not set
+CONFIG_NET_DSA_MT7530=m
+CONFIG_NET_DSA_SMSC_LAN9303=m
+CONFIG_NET_DSA_SMSC_LAN9303_I2C=m
+CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m
 CONFIG_ETHERNET=y
 CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
@@ -2736,6 +2760,7 @@ CONFIG_BCMGENET=m
 CONFIG_BNX2=m
 CONFIG_CNIC=m
 CONFIG_TIGON3=m
+CONFIG_TIGON3_HWMON=y
 CONFIG_BNX2X=m
 CONFIG_BNX2X_SRIOV=y
 CONFIG_BNXT=m
@@ -2809,7 +2834,6 @@ CONFIG_IXGBE_DCB=y
 CONFIG_IXGBEVF=m
 CONFIG_I40E=m
 CONFIG_I40E_DCB=y
-CONFIG_I40E_FCOE=y
 CONFIG_I40EVF=m
 CONFIG_FM10K=m
 CONFIG_NET_VENDOR_I825XX=y
@@ -2829,6 +2853,7 @@ CONFIG_MLX4_DEBUG=y
 CONFIG_MLX5_CORE=m
 CONFIG_MLX5_CORE_EN=y
 CONFIG_MLX5_CORE_EN_DCB=y
+# CONFIG_MLX5_CORE_IPOIB is not set
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_CORE_THERMAL=y
@@ -2950,25 +2975,23 @@ CONFIG_WIZNET_BUS_ANY=y
 # CONFIG_WIZNET_W5100_SPI is not set
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
+CONFIG_NET_VENDOR_SYNOPSYS=y
+CONFIG_DWC_XLGMAC=m
+CONFIG_DWC_XLGMAC_PCI=m
 CONFIG_FDDI=y
 CONFIG_DEFXX=m
 # CONFIG_DEFXX_MMIO is not set
 CONFIG_SKFP=m
 # CONFIG_HIPPI is not set
 CONFIG_NET_SB1000=m
-CONFIG_PHYLIB=y
-CONFIG_SWPHY=y
-# CONFIG_LED_TRIGGER_PHY is not set
-
-#
-# MDIO bus device drivers
-#
-CONFIG_MDIO_BCM_UNIMAC=m
+CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_BITBANG=m
 CONFIG_MDIO_CAVIUM=m
 CONFIG_MDIO_GPIO=m
-CONFIG_MDIO_OCTEON=m
 CONFIG_MDIO_THUNDER=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
 
 #
 # MII PHY device drivers
@@ -3353,6 +3376,8 @@ CONFIG_IEEE802154_MRF24J40=m
 CONFIG_IEEE802154_CC2520=m
 CONFIG_IEEE802154_ATUSB=m
 CONFIG_IEEE802154_ADF7242=m
+CONFIG_IEEE802154_CA8210=m
+# CONFIG_IEEE802154_CA8210_DEBUGFS is not set
 CONFIG_XEN_NETDEV_FRONTEND=y
 CONFIG_XEN_NETDEV_BACKEND=m
 CONFIG_VMXNET3=m
@@ -3488,6 +3513,7 @@ CONFIG_ISDN_HDLC=m
 CONFIG_NVM=y
 # CONFIG_NVM_DEBUG is not set
 CONFIG_NVM_RRPC=m
+CONFIG_NVM_PBLK=m
 
 #
 # Input device support
@@ -3547,6 +3573,7 @@ CONFIG_MOUSE_PS2_ALPS=y
 CONFIG_MOUSE_PS2_BYD=y
 CONFIG_MOUSE_PS2_LOGIPS2PP=y
 CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
 CONFIG_MOUSE_PS2_CYPRESS=y
 CONFIG_MOUSE_PS2_LIFEBOOK=y
 CONFIG_MOUSE_PS2_TRACKPOINT=y
@@ -3555,6 +3582,7 @@ CONFIG_MOUSE_PS2_SENTELIC=y
 CONFIG_MOUSE_PS2_TOUCHKIT=y
 CONFIG_MOUSE_PS2_FOCALTECH=y
 CONFIG_MOUSE_PS2_VMMOUSE=y
+CONFIG_MOUSE_PS2_SMBUS=y
 CONFIG_MOUSE_SERIAL=m
 CONFIG_MOUSE_APPLETOUCH=m
 CONFIG_MOUSE_BCM5974=m
@@ -3597,6 +3625,8 @@ CONFIG_JOYSTICK_XPAD=m
 CONFIG_JOYSTICK_XPAD_FF=y
 CONFIG_JOYSTICK_XPAD_LEDS=y
 CONFIG_JOYSTICK_WALKERA0701=m
+CONFIG_JOYSTICK_PSXPAD_SPI=m
+# CONFIG_JOYSTICK_PSXPAD_SPI_FF is not set
 CONFIG_INPUT_TABLET=y
 CONFIG_TABLET_USB_ACECAD=m
 CONFIG_TABLET_USB_AIPTEK=m
@@ -3685,6 +3715,7 @@ CONFIG_TOUCHSCREEN_TSC200X_CORE=m
 CONFIG_TOUCHSCREEN_TSC2004=m
 CONFIG_TOUCHSCREEN_TSC2005=m
 CONFIG_TOUCHSCREEN_TSC2007=m
+# CONFIG_TOUCHSCREEN_TSC2007_IIO is not set
 CONFIG_TOUCHSCREEN_PCAP=m
 CONFIG_TOUCHSCREEN_RM_TS=m
 CONFIG_TOUCHSCREEN_SILEAD=m
@@ -3857,6 +3888,7 @@ CONFIG_SERIAL_KGDB_NMI=y
 CONFIG_SERIAL_MAX3100=m
 CONFIG_SERIAL_MAX310X=y
 CONFIG_SERIAL_UARTLITE=m
+CONFIG_SERIAL_UARTLITE_NR_UARTS=1
 CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_CONSOLE_POLL=y
@@ -3957,6 +3989,7 @@ CONFIG_I2C_MUX=m
 # Multiplexer I2C Chip support
 #
 CONFIG_I2C_MUX_GPIO=m
+CONFIG_I2C_MUX_LTC4306=m
 CONFIG_I2C_MUX_PCA9541=m
 CONFIG_I2C_MUX_PCA954x=m
 CONFIG_I2C_MUX_PINCTRL=m
@@ -4246,6 +4279,7 @@ CONFIG_W1_SLAVE_DS2423=m
 CONFIG_W1_SLAVE_DS2431=m
 CONFIG_W1_SLAVE_DS2433=m
 # CONFIG_W1_SLAVE_DS2433_CRC is not set
+CONFIG_W1_SLAVE_DS2438=m
 CONFIG_W1_SLAVE_DS2760=m
 CONFIG_W1_SLAVE_DS2780=m
 CONFIG_W1_SLAVE_DS2781=m
@@ -4276,6 +4310,9 @@ CONFIG_BATTERY_DA9030=m
 CONFIG_BATTERY_DA9052=m
 CONFIG_CHARGER_DA9150=m
 CONFIG_BATTERY_DA9150=m
+CONFIG_CHARGER_AXP20X=m
+CONFIG_BATTERY_AXP20X=m
+CONFIG_AXP20X_POWER=m
 CONFIG_AXP288_CHARGER=m
 CONFIG_AXP288_FUEL_GAUGE=m
 CONFIG_BATTERY_MAX17040=m
@@ -4306,7 +4343,6 @@ CONFIG_CHARGER_TPS65217=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
-CONFIG_AXP20X_POWER=m
 CONFIG_HWMON=y
 CONFIG_HWMON_VID=m
 # CONFIG_HWMON_DEBUG_CHIP is not set
@@ -4338,6 +4374,7 @@ CONFIG_SENSORS_K10TEMP=m
 CONFIG_SENSORS_FAM15H_POWER=m
 CONFIG_SENSORS_APPLESMC=m
 CONFIG_SENSORS_ASB100=m
+CONFIG_SENSORS_ASPEED=m
 CONFIG_SENSORS_ATXP1=m
 CONFIG_SENSORS_DS620=m
 CONFIG_SENSORS_DS1621=m
@@ -4460,7 +4497,6 @@ CONFIG_SENSORS_TMP103=m
 CONFIG_SENSORS_TMP108=m
 CONFIG_SENSORS_TMP401=m
 CONFIG_SENSORS_TMP421=m
-CONFIG_SENSORS_TWL4030_MADC=m
 CONFIG_SENSORS_VIA_CPUTEMP=m
 CONFIG_SENSORS_VIA686A=m
 CONFIG_SENSORS_VT1211=m
@@ -4485,6 +4521,7 @@ CONFIG_SENSORS_XGENE=m
 CONFIG_SENSORS_ACPI_POWER=m
 CONFIG_SENSORS_ATK0110=m
 CONFIG_THERMAL=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
 CONFIG_THERMAL_HWMON=y
 CONFIG_THERMAL_WRITABLE_TRIPS=y
 CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
@@ -4656,6 +4693,7 @@ CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m
 CONFIG_LPC_ICH=m
 CONFIG_LPC_SCH=m
 CONFIG_INTEL_SOC_PMIC=y
+CONFIG_INTEL_SOC_PMIC_BXTWC=m
 CONFIG_MFD_INTEL_LPSS=m
 CONFIG_MFD_INTEL_LPSS_ACPI=m
 CONFIG_MFD_INTEL_LPSS_PCI=m
@@ -4698,6 +4736,7 @@ CONFIG_MFD_SYSCON=y
 CONFIG_MFD_TI_AM335X_TSCADC=m
 CONFIG_MFD_LP3943=m
 CONFIG_MFD_LP8788=y
+CONFIG_MFD_TI_LMU=m
 CONFIG_MFD_PALMAS=y
 CONFIG_TPS6105X=m
 CONFIG_TPS65010=m
@@ -4747,7 +4786,8 @@ CONFIG_REGULATOR_AD5398=m
 CONFIG_REGULATOR_ANATOP=m
 CONFIG_REGULATOR_AAT2870=m
 CONFIG_REGULATOR_AB3100=m
-CONFIG_REGULATOR_ARIZONA=m
+CONFIG_REGULATOR_ARIZONA_LDO1=m
+CONFIG_REGULATOR_ARIZONA_MICSUPP=m
 CONFIG_REGULATOR_AS3711=m
 CONFIG_REGULATOR_AXP20X=m
 CONFIG_REGULATOR_BCM590XX=m
@@ -4762,6 +4802,7 @@ CONFIG_REGULATOR_FAN53555=m
 CONFIG_REGULATOR_GPIO=m
 CONFIG_REGULATOR_ISL9305=m
 CONFIG_REGULATOR_ISL6271A=m
+CONFIG_REGULATOR_LM363X=m
 CONFIG_REGULATOR_LP3971=m
 CONFIG_REGULATOR_LP3972=m
 CONFIG_REGULATOR_LP872X=m
@@ -4807,6 +4848,7 @@ CONFIG_REGULATOR_TPS65023=m
 CONFIG_REGULATOR_TPS6507X=m
 CONFIG_REGULATOR_TPS65086=m
 CONFIG_REGULATOR_TPS65090=m
+CONFIG_REGULATOR_TPS65132=m
 CONFIG_REGULATOR_TPS65217=m
 CONFIG_REGULATOR_TPS6524X=m
 CONFIG_REGULATOR_TPS6586X=m
@@ -4818,6 +4860,7 @@ CONFIG_REGULATOR_WM831X=m
 CONFIG_REGULATOR_WM8350=m
 CONFIG_REGULATOR_WM8400=m
 CONFIG_REGULATOR_WM8994=m
+CONFIG_CEC_CORE=m
 CONFIG_MEDIA_SUPPORT=m
 
 #
@@ -4830,8 +4873,7 @@ CONFIG_MEDIA_RADIO_SUPPORT=y
 CONFIG_MEDIA_SDR_SUPPORT=y
 CONFIG_MEDIA_RC_SUPPORT=y
 CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_MEDIA_CEC_DEBUG is not set
-CONFIG_MEDIA_CEC_EDID=y
+# CONFIG_MEDIA_CEC_RC is not set
 CONFIG_MEDIA_CONTROLLER=y
 # CONFIG_MEDIA_CONTROLLER_DVB is not set
 CONFIG_VIDEO_DEV=m
@@ -4897,6 +4939,7 @@ CONFIG_RC_LOOPBACK=m
 CONFIG_IR_GPIO_CIR=m
 CONFIG_IR_SERIAL=m
 CONFIG_IR_SERIAL_TRANSMITTER=y
+CONFIG_IR_SIR=m
 CONFIG_MEDIA_USB_SUPPORT=y
 
 #
@@ -5065,6 +5108,7 @@ CONFIG_USB_MSI2500=m
 # USB HDMI CEC adapters
 #
 CONFIG_USB_PULSE8_CEC=m
+CONFIG_USB_RAINSHADOW_CEC=m
 CONFIG_MEDIA_PCI_SUPPORT=y
 
 #
@@ -5155,11 +5199,13 @@ CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
 CONFIG_V4L_TEST_DRIVERS=y
+# CONFIG_VIDEO_VIMC is not set
 CONFIG_VIDEO_VIVID=m
 CONFIG_VIDEO_VIVID_CEC=y
 CONFIG_VIDEO_VIVID_MAX_DEVS=64
 CONFIG_VIDEO_VIM2M=m
 CONFIG_DVB_PLATFORM_DRIVERS=y
+CONFIG_CEC_PLATFORM_DRIVERS=y
 
 #
 # Supported MMC/SDIO adapters
@@ -5279,6 +5325,7 @@ CONFIG_VIDEO_ADV7511=m
 #
 # Camera sensor devices
 #
+CONFIG_VIDEO_OV2640=m
 CONFIG_VIDEO_OV7640=m
 CONFIG_VIDEO_OV7670=m
 CONFIG_VIDEO_MT9M111=m
@@ -5317,7 +5364,6 @@ CONFIG_SOC_CAMERA_MT9M111=m
 CONFIG_SOC_CAMERA_MT9T031=m
 CONFIG_SOC_CAMERA_MT9T112=m
 CONFIG_SOC_CAMERA_MT9V022=m
-CONFIG_SOC_CAMERA_OV2640=m
 CONFIG_SOC_CAMERA_OV5642=m
 CONFIG_SOC_CAMERA_OV6650=m
 CONFIG_SOC_CAMERA_OV772X=m
@@ -5532,6 +5578,7 @@ CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_KMS_HELPER=m
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
 CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_TTM=m
 CONFIG_DRM_VM=y
@@ -5571,6 +5618,9 @@ CONFIG_DRM_I915_USERPTR=y
 # CONFIG_DRM_I915_WERROR is not set
 # CONFIG_DRM_I915_DEBUG is not set
 # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
+# CONFIG_DRM_I915_SELFTEST is not set
+# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
+# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
 CONFIG_DRM_VGEM=m
 CONFIG_DRM_VMWGFX=m
 CONFIG_DRM_VMWGFX_FBCON=y
@@ -5760,6 +5810,7 @@ CONFIG_BACKLIGHT_AS3711=m
 CONFIG_BACKLIGHT_GPIO=m
 CONFIG_BACKLIGHT_LV5207LP=m
 CONFIG_BACKLIGHT_BD6107=m
+CONFIG_BACKLIGHT_ARCXCNN=m
 CONFIG_VGASTATE=m
 CONFIG_HDMI=y
 
@@ -5946,6 +5997,8 @@ CONFIG_SND_FIREWORKS=m
 CONFIG_SND_BEBOB=m
 CONFIG_SND_FIREWIRE_DIGI00X=m
 CONFIG_SND_FIREWIRE_TASCAM=m
+CONFIG_SND_FIREWIRE_MOTU=m
+CONFIG_SND_FIREFACE=m
 CONFIG_SND_PCMCIA=y
 CONFIG_SND_VXPOCKET=m
 CONFIG_SND_PDAUDIOCF=m
@@ -5957,7 +6010,7 @@ CONFIG_SND_SOC_TOPOLOGY=y
 CONFIG_SND_SOC_AMD_ACP=m
 CONFIG_SND_ATMEL_SOC=m
 CONFIG_SND_DESIGNWARE_I2S=m
-CONFIG_SND_DESIGNWARE_PCM=m
+# CONFIG_SND_DESIGNWARE_PCM is not set
 
 #
 # SoC Audio for Freescale CPUs
@@ -5972,6 +6025,7 @@ CONFIG_SND_SOC_FSL_SSI=m
 CONFIG_SND_SOC_FSL_SPDIF=m
 CONFIG_SND_SOC_FSL_ESAI=m
 CONFIG_SND_SOC_IMX_AUDMUX=m
+CONFIG_SND_I2S_HI6210_I2S=m
 # CONFIG_SND_SOC_IMG is not set
 CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m
 CONFIG_SND_SST_IPC=m
@@ -5991,18 +6045,26 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m
+CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m
 CONFIG_SND_SOC_INTEL_SKYLAKE=m
 CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m
 CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
+CONFIG_ZX_TDM=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
 #
 # CODEC drivers
 #
 CONFIG_SND_SOC_AC97_CODEC=m
+CONFIG_SND_SOC_ADAU_UTILS=m
 CONFIG_SND_SOC_ADAU1701=m
+CONFIG_SND_SOC_ADAU17X1=m
+CONFIG_SND_SOC_ADAU1761=m
+CONFIG_SND_SOC_ADAU1761_I2C=m
+CONFIG_SND_SOC_ADAU1761_SPI=m
 CONFIG_SND_SOC_ADAU7002=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4554=m
@@ -6014,6 +6076,7 @@ CONFIG_SND_SOC_BT_SCO=m
 CONFIG_SND_SOC_CS35L32=m
 CONFIG_SND_SOC_CS35L33=m
 CONFIG_SND_SOC_CS35L34=m
+CONFIG_SND_SOC_CS35L35=m
 CONFIG_SND_SOC_CS42L42=m
 CONFIG_SND_SOC_CS42L51=m
 CONFIG_SND_SOC_CS42L51_I2C=m
@@ -6029,9 +6092,12 @@ CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS4349=m
 CONFIG_SND_SOC_CS53L30=m
+CONFIG_SND_SOC_DA7213=m
 CONFIG_SND_SOC_DA7219=m
+CONFIG_SND_SOC_DIO2125=m
 CONFIG_SND_SOC_DMIC=m
 CONFIG_SND_SOC_HDMI_CODEC=m
+CONFIG_SND_SOC_ES7134=m
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_ES8328_I2C=m
 CONFIG_SND_SOC_ES8328_SPI=m
@@ -6041,6 +6107,7 @@ CONFIG_SND_SOC_INNO_RK3036=m
 CONFIG_SND_SOC_MAX98090=m
 CONFIG_SND_SOC_MAX98357A=m
 CONFIG_SND_SOC_MAX98504=m
+CONFIG_SND_SOC_MAX98927=m
 CONFIG_SND_SOC_MAX9860=m
 CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
 CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
@@ -6070,6 +6137,7 @@ CONFIG_SND_SOC_SGTL5000=m
 CONFIG_SND_SOC_SI476X=m
 CONFIG_SND_SOC_SIGMADSP=m
 CONFIG_SND_SOC_SIGMADSP_I2C=m
+CONFIG_SND_SOC_SIGMADSP_REGMAP=m
 CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
 CONFIG_SND_SOC_SPDIF=m
 CONFIG_SND_SOC_SSM2602=m
@@ -6113,13 +6181,13 @@ CONFIG_SND_SOC_WM8978=m
 CONFIG_SND_SOC_WM8985=m
 CONFIG_SND_SOC_NAU8540=m
 CONFIG_SND_SOC_NAU8810=m
+CONFIG_SND_SOC_NAU8824=m
 CONFIG_SND_SOC_NAU8825=m
 CONFIG_SND_SOC_TPA6130A2=m
 CONFIG_SND_SIMPLE_CARD_UTILS=m
 CONFIG_SND_SIMPLE_CARD=m
 CONFIG_SND_X86=y
 CONFIG_HDMI_LPE_AUDIO=m
-# CONFIG_SOUND_PRIME is not set
 CONFIG_AC97_BUS=m
 
 #
@@ -6135,6 +6203,7 @@ CONFIG_HID_GENERIC=m
 # Special HID drivers
 #
 CONFIG_HID_A4TECH=m
+CONFIG_HID_ACCUTOUCH=m
 CONFIG_HID_ACRUX=m
 CONFIG_HID_ACRUX_FF=y
 CONFIG_HID_APPLE=m
@@ -6184,6 +6253,7 @@ CONFIG_HID_MAYFLASH=m
 CONFIG_HID_MICROSOFT=m
 CONFIG_HID_MONTEREY=m
 CONFIG_HID_MULTITOUCH=m
+CONFIG_HID_NTI=m
 CONFIG_HID_NTRIG=m
 CONFIG_HID_ORTEK=m
 CONFIG_HID_PANTHERLORD=m
@@ -6255,6 +6325,7 @@ CONFIG_USB_SUPPORT=y
 CONFIG_USB_COMMON=y
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB=y
+CONFIG_USB_PCI=y
 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
 
 #
@@ -6528,6 +6599,7 @@ CONFIG_USB_R8A66597=m
 CONFIG_USB_PXA27X=m
 CONFIG_USB_MV_UDC=m
 CONFIG_USB_MV_U3D=m
+CONFIG_USB_SNP_CORE=m
 # CONFIG_USB_M66592 is not set
 CONFIG_USB_BDC_UDC=m
 
@@ -6610,6 +6682,11 @@ CONFIG_USB_G_DBGP=m
 # CONFIG_USB_G_DBGP_PRINTK is not set
 CONFIG_USB_G_DBGP_SERIAL=y
 CONFIG_USB_G_WEBCAM=m
+
+#
+# USB Power Delivery and Type-C drivers
+#
+CONFIG_TYPEC=m
 CONFIG_USB_LED_TRIG=y
 CONFIG_USB_ULPI_BUS=m
 CONFIG_UWB=m
@@ -6645,6 +6722,7 @@ CONFIG_MMC_REALTEK_PCI=m
 CONFIG_MMC_REALTEK_USB=m
 CONFIG_MMC_TOSHIBA_PCI=m
 CONFIG_MMC_MTK=m
+CONFIG_MMC_SDHCI_XENON=m
 CONFIG_MEMSTICK=m
 # CONFIG_MEMSTICK_DEBUG is not set
 
@@ -6675,6 +6753,7 @@ CONFIG_LEDS_88PM860X=m
 CONFIG_LEDS_LM3530=m
 CONFIG_LEDS_LM3533=m
 CONFIG_LEDS_LM3642=m
+CONFIG_LEDS_MT6323=m
 CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=m
@@ -6701,7 +6780,6 @@ CONFIG_LEDS_BD2802=m
 CONFIG_LEDS_INTEL_SS4200=m
 CONFIG_LEDS_LT3593=m
 CONFIG_LEDS_ADP5520=m
-CONFIG_LEDS_DELL_NETBOOKS=m
 CONFIG_LEDS_MC13783=m
 CONFIG_LEDS_TCA6507=m
 CONFIG_LEDS_TLC591XX=m
@@ -6767,6 +6845,7 @@ CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
+CONFIG_INFINIBAND_OPA_VNIC=m
 CONFIG_INFINIBAND_RDMAVT=m
 CONFIG_RDMA_RXE=m
 CONFIG_INFINIBAND_HFI1=m
@@ -6781,7 +6860,7 @@ CONFIG_EDAC=y
 # CONFIG_EDAC_LEGACY_SYSFS is not set
 # CONFIG_EDAC_DEBUG is not set
 CONFIG_EDAC_DECODE_MCE=m
-CONFIG_EDAC_MM_EDAC=m
+CONFIG_EDAC_GHES=y
 CONFIG_EDAC_AMD64=m
 # CONFIG_EDAC_AMD64_ERROR_INJECTION is not set
 CONFIG_EDAC_E752X=m
@@ -6965,12 +7044,18 @@ CONFIG_SYNC_FILE=y
 # CONFIG_SW_SYNC is not set
 CONFIG_DCA=m
 CONFIG_AUXDISPLAY=y
+CONFIG_CHARLCD=m
+CONFIG_HD44780=m
 CONFIG_KS0108=m
 CONFIG_KS0108_PORT=0x378
 CONFIG_KS0108_DELAY=2
 CONFIG_CFAG12864B=m
 CONFIG_CFAG12864B_RATE=20
 CONFIG_IMG_ASCII_LCD=m
+CONFIG_PANEL=m
+CONFIG_PANEL_PARPORT=0
+CONFIG_PANEL_PROFILE=5
+# CONFIG_PANEL_CHANGE_MESSAGE is not set
 CONFIG_UIO=m
 CONFIG_UIO_CIF=m
 CONFIG_UIO_PDRV_GENIRQ=m
@@ -7011,6 +7096,7 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
 # Microsoft Hyper-V guest support
 #
 CONFIG_HYPERV=m
+CONFIG_HYPERV_TSCPAGE=y
 CONFIG_HYPERV_UTILS=m
 CONFIG_HYPERV_BALLOON=m
 
@@ -7189,6 +7275,7 @@ CONFIG_RTLLIB_CRYPTO_CCMP=m
 CONFIG_RTLLIB_CRYPTO_TKIP=m
 CONFIG_RTLLIB_CRYPTO_WEP=m
 CONFIG_RTL8192E=m
+CONFIG_RTL8723BS=m
 CONFIG_R8712U=m
 CONFIG_R8188EU=m
 CONFIG_88EU_AP_MODE=y
@@ -7295,11 +7382,10 @@ CONFIG_SPEAKUP_SYNTH_SPKOUT=m
 CONFIG_SPEAKUP_SYNTH_TXPRT=m
 CONFIG_SPEAKUP_SYNTH_DUMMY=m
 CONFIG_STAGING_MEDIA=y
+# CONFIG_INTEL_ATOMISP is not set
 CONFIG_I2C_BCM2048=m
 CONFIG_DVB_CXD2099=m
 CONFIG_LIRC_STAGING=y
-CONFIG_LIRC_SASEM=m
-CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
 
 #
@@ -7314,6 +7400,7 @@ CONFIG_MTD_SPINAND_ONDIEECC=y
 CONFIG_LNET=m
 CONFIG_LNET_MAX_PAYLOAD=1048576
 # CONFIG_LNET_SELFTEST is not set
+CONFIG_LNET_XPRT_IB=m
 # CONFIG_LUSTRE_FS is not set
 CONFIG_DGNC=m
 CONFIG_GS_FPGABOOT=m
@@ -7341,6 +7428,7 @@ CONFIG_FB_TFT_PCD8544=m
 CONFIG_FB_TFT_RA8875=m
 CONFIG_FB_TFT_S6D02A1=m
 CONFIG_FB_TFT_S6D1121=m
+CONFIG_FB_TFT_SH1106=m
 CONFIG_FB_TFT_SSD1289=m
 CONFIG_FB_TFT_SSD1305=m
 CONFIG_FB_TFT_SSD1306=m
@@ -7372,6 +7460,13 @@ CONFIG_HDM_I2C=m
 CONFIG_HDM_USB=m
 CONFIG_KS7010=m
 # CONFIG_GREYBUS is not set
+
+#
+# USB Power Delivery and Type-C drivers
+#
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_TCPCI=m
+CONFIG_TYPEC_FUSB302=m
 CONFIG_X86_PLATFORM_DEVICES=y
 CONFIG_ACER_WMI=m
 CONFIG_ACERHDF=m
@@ -7381,6 +7476,7 @@ CONFIG_DELL_SMBIOS=m
 CONFIG_DELL_LAPTOP=m
 CONFIG_DELL_WMI=m
 CONFIG_DELL_WMI_AIO=m
+CONFIG_DELL_WMI_LED=m
 CONFIG_DELL_SMO8800=m
 CONFIG_DELL_RBTN=m
 CONFIG_FUJITSU_LAPTOP=m
@@ -7419,6 +7515,7 @@ CONFIG_TOSHIBA_BT_RFKILL=m
 CONFIG_TOSHIBA_HAPS=m
 CONFIG_TOSHIBA_WMI=m
 CONFIG_ACPI_CMPC=m
+CONFIG_INTEL_CHT_INT33FE=m
 CONFIG_INTEL_HID_EVENT=m
 CONFIG_INTEL_VBTN=m
 CONFIG_INTEL_IPS=m
@@ -7519,6 +7616,10 @@ CONFIG_REMOTEPROC=m
 #
 # Broadcom SoC drivers
 #
+
+#
+# i.MX SoC drivers
+#
 # CONFIG_SUNXI_SRAM is not set
 CONFIG_SOC_TI=y
 # CONFIG_SOC_ZTE is not set
@@ -7619,6 +7720,7 @@ CONFIG_AD7793=m
 CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
+CONFIG_AXP20X_ADC=m
 CONFIG_AXP288_ADC=m
 CONFIG_CC10001_ADC=m
 CONFIG_DA9150_GPADC=m
@@ -7627,14 +7729,18 @@ CONFIG_HX711=m
 CONFIG_INA2XX_ADC=m
 CONFIG_LP8788_ADC=m
 CONFIG_LTC2485=m
+CONFIG_LTC2497=m
 CONFIG_MAX1027=m
 CONFIG_MAX11100=m
+CONFIG_MAX1118=m
 CONFIG_MAX1363=m
+CONFIG_MAX9611=m
 CONFIG_MCP320X=m
 CONFIG_MCP3422=m
 CONFIG_MEN_Z188_ADC=m
 CONFIG_NAU7802=m
 CONFIG_PALMAS_GPADC=m
+CONFIG_QCOM_VADC_COMMON=m
 CONFIG_QCOM_SPMI_IADC=m
 CONFIG_QCOM_SPMI_VADC=m
 CONFIG_TI_ADC081C=m
@@ -7698,6 +7804,7 @@ CONFIG_AD5592R=m
 CONFIG_AD5593R=m
 CONFIG_AD5504=m
 CONFIG_AD5624R_SPI=m
+CONFIG_LTC2632=m
 CONFIG_AD5686=m
 CONFIG_AD5755=m
 CONFIG_AD5761=m
@@ -7760,6 +7867,7 @@ CONFIG_ITG3200=m
 CONFIG_AFE4403=m
 CONFIG_AFE4404=m
 CONFIG_MAX30100=m
+CONFIG_MAX30102=m
 
 #
 # Humidity sensors
@@ -7767,6 +7875,7 @@ CONFIG_MAX30100=m
 CONFIG_AM2315=m
 CONFIG_DHT11=m
 CONFIG_HDC100X=m
+CONFIG_HID_SENSOR_HUMIDITY=m
 CONFIG_HTS221=m
 CONFIG_HTS221_I2C=m
 CONFIG_HTS221_SPI=m
@@ -7806,6 +7915,7 @@ CONFIG_CM32181=m
 CONFIG_CM3232=m
 CONFIG_CM3323=m
 CONFIG_CM36651=m
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
 CONFIG_GP2AP020A00F=m
 CONFIG_SENSORS_ISL29018=m
 CONFIG_ISL29125=m
@@ -7828,6 +7938,7 @@ CONFIG_TSL4531=m
 CONFIG_US5182D=m
 CONFIG_VCNL4000=m
 CONFIG_VEML6070=m
+CONFIG_VL6180=m
 
 #
 # Magnetometer sensors
@@ -7912,6 +8023,7 @@ CONFIG_AS3935=m
 # Proximity and distance sensors
 #
 CONFIG_LIDAR_LITE_V2=m
+CONFIG_SRF04=m
 CONFIG_SX9500=m
 CONFIG_SRF08=m
 
@@ -7919,6 +8031,7 @@ CONFIG_SRF08=m
 # Temperature sensors
 #
 CONFIG_MAXIM_THERMOCOUPLE=m
+CONFIG_HID_SENSOR_TEMP=m
 CONFIG_MLX90614=m
 CONFIG_TMP006=m
 CONFIG_TMP007=m
@@ -7968,6 +8081,7 @@ CONFIG_SERIAL_IPOCTAL=m
 CONFIG_RESET_CONTROLLER=y
 # CONFIG_RESET_ATH79 is not set
 # CONFIG_RESET_BERLIN is not set
+# CONFIG_RESET_IMX7 is not set
 # CONFIG_RESET_LPC18XX is not set
 # CONFIG_RESET_MESON is not set
 # CONFIG_RESET_PISTACHIO is not set
@@ -8008,6 +8122,7 @@ CONFIG_MCB_LPC=m
 #
 CONFIG_RAS=y
 # CONFIG_MCE_AMD_INJ is not set
+# CONFIG_RAS_CEC is not set
 CONFIG_THUNDERBOLT=m
 
 #
@@ -8023,9 +8138,9 @@ CONFIG_BTT=y
 CONFIG_ND_PFN=m
 CONFIG_NVDIMM_PFN=y
 CONFIG_NVDIMM_DAX=y
+CONFIG_DAX=y
 CONFIG_DEV_DAX=m
 CONFIG_DEV_DAX_PMEM=m
-CONFIG_NR_DEV_DAX=32768
 CONFIG_NVMEM=m
 CONFIG_STM=m
 CONFIG_STM_DUMMY=m
@@ -8044,6 +8159,8 @@ CONFIG_INTEL_TH_PTI=m
 # FPGA Configuration Support
 #
 CONFIG_FPGA=m
+CONFIG_FPGA_MGR_XILINX_SPI=m
+CONFIG_ALTERA_PR_IP_CORE=m
 
 #
 # FSI support
@@ -8263,6 +8380,7 @@ CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
 CONFIG_UBIFS_ATIME_SUPPORT=y
 CONFIG_UBIFS_FS_ENCRYPTION=y
+CONFIG_UBIFS_FS_SECURITY=y
 CONFIG_CRAMFS=m
 CONFIG_SQUASHFS=m
 # CONFIG_SQUASHFS_FILE_CACHE is not set
@@ -8316,7 +8434,6 @@ CONFIG_NFS_V4_1=y
 CONFIG_NFS_V4_2=y
 CONFIG_PNFS_FILE_LAYOUT=m
 CONFIG_PNFS_BLOCK=m
-CONFIG_PNFS_OBJLAYOUT=m
 CONFIG_PNFS_FLEXFILE_LAYOUT=m
 CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
 CONFIG_NFS_V4_1_MIGRATION=y
@@ -8666,10 +8783,12 @@ CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
 CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
 CONFIG_STRICT_DEVMEM=y
 CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_EARLY_PRINTK_USB=y
 # CONFIG_X86_VERBOSE_BOOTUP is not set
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
 CONFIG_EARLY_PRINTK_EFI=y
+# CONFIG_EARLY_PRINTK_USB_XDBC is not set
 # CONFIG_X86_PTDUMP_CORE is not set
 # CONFIG_X86_PTDUMP is not set
 # CONFIG_EFI_PGT_DUMP is not set
@@ -8701,6 +8820,7 @@ CONFIG_PUNIT_ATOM_DEBUG=m
 # Security options
 #
 CONFIG_KEYS=y
+CONFIG_KEYS_COMPAT=y
 CONFIG_PERSISTENT_KEYRINGS=y
 CONFIG_BIG_KEYS=y
 CONFIG_TRUSTED_KEYS=y
@@ -8708,6 +8828,7 @@ CONFIG_ENCRYPTED_KEYS=y
 CONFIG_KEY_DH_OPERATIONS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
+CONFIG_SECURITY_WRITABLE_HOOKS=y
 CONFIG_SECURITYFS=y
 CONFIG_SECURITY_NETWORK=y
 CONFIG_SECURITY_NETWORK_XFRM=y
@@ -8715,7 +8836,6 @@ CONFIG_SECURITY_PATH=y
 CONFIG_INTEL_TXT=y
 CONFIG_LSM_MMAP_MIN_ADDR=0
 CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
-CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y
 CONFIG_HARDENED_USERCOPY=y
 # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set
 # CONFIG_STATIC_USERMODEHELPER is not set
@@ -8801,10 +8921,10 @@ CONFIG_CRYPTO_RNG_DEFAULT=m
 CONFIG_CRYPTO_AKCIPHER2=y
 CONFIG_CRYPTO_AKCIPHER=y
 CONFIG_CRYPTO_KPP2=y
-CONFIG_CRYPTO_KPP=m
+CONFIG_CRYPTO_KPP=y
 CONFIG_CRYPTO_ACOMP2=y
 CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_DH=m
+CONFIG_CRYPTO_DH=y
 CONFIG_CRYPTO_ECDH=m
 CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_MANAGER2=y
@@ -8981,6 +9101,7 @@ CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
 # CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -8999,7 +9120,6 @@ CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
 CONFIG_KVM_AMD=m
 # CONFIG_KVM_MMU_AUDIT is not set
-CONFIG_KVM_DEVICE_ASSIGNMENT=y
 CONFIG_VHOST_NET=m
 CONFIG_VHOST_SCSI=m
 CONFIG_VHOST_VSOCK=m
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index b1966e5675..0d0982d438 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -263,7 +263,7 @@ without modification.")
 (define-public bash-completion
   (package
     (name "bash-completion")
-    (version "2.5")
+    (version "2.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -271,7 +271,7 @@ without modification.")
                     version "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1kwmii1z1ljx5i4z702ynsr8jgrq64bj9w9hl3n2aa2kcl659fdh"))
+                "1vx5bjasi0y3iwhgy2v72bdrsprkw8zjc9s8qd1l8rxil0nnbyv1"))
               (patches
                (search-patches "bash-completion-directories.patch"))))
     (build-system gnu-build-system)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3db67f5427..82cd1e420d 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Raoul Bonnal <ilpuccio.febo@gmail.com>
 ;;;
@@ -99,7 +99,7 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-26))
+  #:use-module (ice-9 match))
 
 (define-public r-ape
   (package
@@ -956,7 +956,7 @@ package provides command line tools using the Bio++ library.")
 (define-public blast+
   (package
     (name "blast+")
-    (version "2.4.0")
+    (version "2.6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -964,13 +964,15 @@ package provides command line tools using the Bio++ library.")
                     version "/ncbi-blast-" version "+-src.tar.gz"))
               (sha256
                (base32
-                "14n9jik6vhiwjd3m7bach4xj1pzfn0szbsbyfxybd9l9cc43b6mb"))
+                "15n937pw5aqmyfjb6l387d18grqbb96l63d5xj4l7yyh0zbf2405"))
+              (patches (search-patches "blast+-fix-makefile.patch"))
               (modules '((guix build utils)))
               (snippet
                '(begin
-                  ;; Remove bundled bzip2 and zlib
+                  ;; Remove bundled bzip2, zlib and pcre.
                   (delete-file-recursively "c++/src/util/compress/bzip2")
                   (delete-file-recursively "c++/src/util/compress/zlib")
+                  (delete-file-recursively "c++/src/util/regexp")
                   (substitute* "c++/src/util/compress/Makefile.in"
                     (("bzip2 zlib api") "api"))
                   ;; Remove useless msbuild directory
@@ -979,9 +981,8 @@ package provides command line tools using the Bio++ library.")
                   #t))))
     (build-system gnu-build-system)
     (arguments
-     `(;; There are three(!) tests for this massive library, and all fail with
+     `(;; There are two(!) tests for this massive library, and both fail with
        ;; "unparsable timing stats".
-       ;; ERR [127] --  [util/regexp] test_pcre.sh     (unparsable timing stats)
        ;; ERR [127] --  [serial/datatool] datatool.sh     (unparsable timing stats)
        ;; ERR [127] --  [serial/datatool] datatool_xml.sh     (unparsable timing stats)
        #:tests? #f
@@ -1014,6 +1015,7 @@ package provides command line tools using the Bio++ library.")
             ;; Rewrite hardcoded paths to various tools
             (substitute* (append '("src/build-system/configure.ac"
                                    "src/build-system/configure"
+                                   "src/build-system/helpers/run_with_lock.c"
                                    "scripts/common/impl/if_diff.sh"
                                    "scripts/common/impl/run_with_lock.sh"
                                    "src/build-system/Makefile.configurables.real"
@@ -1062,17 +1064,22 @@ package provides command line tools using the Bio++ library.")
                                              (assoc-ref inputs "bzip2"))
                               (string-append "--with-z="
                                              (assoc-ref inputs "zlib"))
+                              (string-append "--with-pcre="
+                                             (assoc-ref inputs "pcre"))
                               ;; Each library is built twice by default, once
                               ;; with "-static" in its name, and again
                               ;; without.
                               "--without-static"
                               "--with-dll"))))))))
-    (outputs '("out"       ;  19 MB
-               "lib"       ; 203 MB
-               "include")) ;  32 MB
+    (outputs '("out"       ;  21 MB
+               "lib"       ; 226 MB
+               "include")) ;  33 MB
     (inputs
      `(("bzip2" ,bzip2)
-       ("zlib" ,zlib)))
+       ("zlib" ,zlib)
+       ("pcre" ,pcre)
+       ("perl" ,perl)
+       ("python" ,python-wrapper)))
     (native-inputs
      `(("cpio" ,cpio)))
     (home-page "http://blast.ncbi.nlm.nih.gov")
@@ -1309,14 +1316,14 @@ splice junctions between exons.")
 (define-public bwa
   (package
     (name "bwa")
-    (version "0.7.12")
+    (version "0.7.15")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/bio-bwa/bwa-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "1330dpqncv0px3pbhjzz1gwgg39kkcv2r9qp2xs0sixf8z8wl7bh"))))
+                "0585ikg0gv0mpyw9iq0bq9n0hr95867bbv8jbzs9pk4slkpsymig"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;no "check" target
@@ -1562,15 +1569,16 @@ high-throughput sequencing data – with an emphasis on simplicity.")
 (define-public cd-hit
   (package
     (name "cd-hit")
-    (version "4.6.6")
+    (version "4.6.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/weizhongli/cdhit"
                                   "/releases/download/V" version
-                                  "/cd-hit-v" version "-2016-0711.tar.gz"))
+                                  "/cd-hit-v" version
+                                  "-2017-0621-source.tar.gz"))
               (sha256
                (base32
-                "1w8hd4fszgg29nqiz569fldwy012la77nljcmlhglgicws56z54p"))))
+                "1386dg2npx8p62wmv08mjzsd2z3waknb9j1gg3gkvblcy57hymnn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; there are no tests
@@ -1590,7 +1598,7 @@ high-throughput sequencing data – with an emphasis on simplicity.")
                (("__DATE__") "\"0\"")
                (("\", %s, \" __TIME__ \"\\\\n\", date") ""))
              #t))
-         ;; The "install" target does not create the target directory
+         ;; The "install" target does not create the target directory.
          (add-before 'install 'create-target-dir
            (lambda* (#:key outputs #:allow-other-keys)
              (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
@@ -2050,11 +2058,29 @@ trees (phylogenies) and characters.")
       (native-inputs `(("python2-nose" ,python2-nose)
                        ,@(package-native-inputs base))))))
 
+(define-public python-py2bit
+  (package
+    (name "python-py2bit")
+    (version "0.2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "py2bit" version))
+       (sha256
+        (base32
+         "1cdf4qlmgwsh1f4k0wdv2sr8x9qn4366p0k3614vbd0fpqiarxrl"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/dpryan79/py2bit")
+    (synopsis "Access 2bit files using lib2bit")
+    (description
+     "This package provides Python bindings for lib2bit to access 2bit files
+with Python.")
+    (license license:expat)))
 
 (define-public deeptools
   (package
     (name "deeptools")
-    (version "2.1.1")
+    (version "2.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/fidelram/deepTools/"
@@ -2062,22 +2088,20 @@ trees (phylogenies) and characters.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1nmfin0zjdby3vay3r4flvz94dr6qjhj41ax4yz3vx13j6wz8izd"))))
+                "1q8i12l2gvk4n2s8lhyzwhh9g4qbc8lrk5l7maz00yvd5g6z5540"))))
     (build-system python-build-system)
-    (arguments
-     `(#:python ,python-2))
     (inputs
-     `(("python-scipy" ,python2-scipy)
-       ("python-numpy" ,python2-numpy)
-       ("python-numpydoc" ,python2-numpydoc)
-       ("python-matplotlib" ,python2-matplotlib)
-       ("python-bx-python" ,python2-bx-python)
-       ("python-pysam" ,python2-pysam)
-       ("python-pybigwig" ,python2-pybigwig)))
+     `(("python-scipy" ,python-scipy)
+       ("python-numpy" ,python-numpy)
+       ("python-numpydoc" ,python-numpydoc)
+       ("python-matplotlib" ,python-matplotlib)
+       ("python-pysam" ,python-pysam)
+       ("python-py2bit" ,python-py2bit)
+       ("python-pybigwig" ,python-pybigwig)))
     (native-inputs
-     `(("python-mock" ,python2-mock)   ;for tests
-       ("python-nose" ,python2-nose)   ;for tests
-       ("python-pytz" ,python2-pytz))) ;for tests
+     `(("python-mock" ,python-mock)   ;for tests
+       ("python-nose" ,python-nose)   ;for tests
+       ("python-pytz" ,python-pytz))) ;for tests
     (home-page "https://github.com/fidelram/deepTools")
     (synopsis "Tools for normalizing and visualizing deep-sequencing data")
     (description
@@ -2094,7 +2118,7 @@ identify enrichments with functional annotations of the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.9.8")
+    (version "0.9.9")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2103,7 +2127,7 @@ identify enrichments with functional annotations of the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "04f501vj3i95i2b4n60831k00ljalifrq33419bbz0y3sjlmcnj3"))))
+                "04i03046g3l2vk9722z47r1p7j415g97vvz6d76ywmbawyiihcb1"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
@@ -2711,7 +2735,8 @@ comment or quality sections.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "055ynn16gd12pf78n4vr2a9jlwsbwzajpdnf2y2yilg1krfff222"))))
+                "055ynn16gd12pf78n4vr2a9jlwsbwzajpdnf2y2yilg1krfff222"))
+              (patches (search-patches "gemma-intel-compat.patch"))))
     (inputs
      `(("gsl" ,gsl)
        ("lapack" ,lapack)
@@ -2719,11 +2744,13 @@ comment or quality sections.")
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
-       '(,@(if (any (cute string-prefix? <> (or (%current-system)
-                                                (%current-target-system)))
-                    '("x86_64" "mips64el" "aarch64"))
-             '("FORCE_DYNAMIC=1") ; use shared libs
-             '("FORCE_DYNAMIC=1" "FORCE_32BIT=1")))
+       '(,@(match (%current-system)
+         ("x86_64-linux"
+          '("FORCE_DYNAMIC=1"))
+         ("i686-linux"
+          '("FORCE_DYNAMIC=1" "FORCE_32BIT=1"))
+         (_
+          '("FORCE_DYNAMIC=1" "NO_INTEL_COMPAT=1"))))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index a15484643b..2b67881ede 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -294,7 +294,6 @@
   (let ((perl (package
                 (inherit perl)
                 (name "perl-boot0")
-                (replacement #f)
                 (arguments
                  ;; At the very least, this must not depend on GCC & co.
                  (let ((args `(#:disallowed-references
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index a4d922b743..6ed4519344 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1177,16 +1177,16 @@ or junctions, and always follows hard links.")
        ("unshield-avigomanager11b22.zip"
         ,(origin
            (method url-fetch)
-           (uri (string-append "https://www.dropbox.com/s/8r4b6752swe3nhu/\"
-unshield-avigomanager11b22.zip?dl=1"))
+           (uri (string-append "https://www.dropbox.com/s/8r4b6752swe3nhu/"
+                               "unshield-avigomanager11b22.zip?dl=1"))
            (sha256
             (base32 "0fwq7lih04if68wpwpsk5wjqyvh32db76a41sq6gbx4dn1lc3ddn"))
            (file-name "unshield-avigomanager11b22.zip")))
        ("unshield-the-feeble-files-spanish.zip"
         ,(origin
            (method url-fetch)
-           (uri (string-append "https://www.dropbox.com/s/1ng0z9kfxc7eb1e/\"
-unshield-the-feeble-files-spanish.zip?dl=1"))
+           (uri (string-append "https://www.dropbox.com/s/1ng0z9kfxc7eb1e/"
+                               "unshield-the-feeble-files-spanish.zip?dl=1"))
            (sha256
             (base32 "1k5cw6vnpja8yjlnhx5124xrw9i8s1l539hfdqqrqz3l5gn0bnyd"))
            (file-name "unshield-the-feeble-files-spanish.zip")))))
@@ -1251,7 +1251,7 @@ RAR archives.")
 (define-public zstd
   (package
     (name "zstd")
-    (version "1.2.0")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/facebook/zstd/archive/v"
@@ -1259,7 +1259,7 @@ RAR archives.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1yyb8z03z9rw74k1d9dygcqxhx76717xq29agz57d0k3lf9lazja"))
+                "0j5kf0phx4w4b5x7aqwc10lxi9ix7rxhxk0df37cpdrqni1sdnqg"))
               (modules '((guix build utils)))
               (snippet
                ;; Remove non-free source files.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index dcaba0a866..4aafba02f1 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -373,7 +373,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.24")
+    (version "10.1.25")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.org/f/"
@@ -381,7 +381,7 @@ Language.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "07jm9m7d5x4zdpasdjs98m36dkjl7ypc9jz4xmnczj0ybfp9kpxk"))))
+                "1mm0n8sl6grajk5rbrx55333laz5dg2abyl8mlsn7h8vdymfq1bj"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -1007,7 +1007,7 @@ columns, primary keys, unique constraints and relationships.")
 (define-public perl-dbd-mysql
   (package
     (name "perl-dbd-mysql")
-    (version "4.041")
+    (version "4.043")
     (source
      (origin
        (method url-fetch)
@@ -1015,7 +1015,7 @@ columns, primary keys, unique constraints and relationships.")
                            "DBD-mysql-" version ".tar.gz"))
        (sha256
         (base32
-         "0h4h6zwzj8fwh9ljb8svnsa0a3ch4p10hp59kpdibdb4qh8xwxs7"))))
+         "16bg7l28n65ngi1abjxvwk906a80i2vd5vzjn812dx8phdg8d7v2"))))
     (build-system perl-build-system)
     ;; Tests require running MySQL server
     (arguments `(#:tests? #f))
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 0bed55edd8..60a628c119 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -55,13 +55,13 @@ clients.")
 (define-public vdirsyncer
   (package
     (name "vdirsyncer")
-    (version "0.15.0")
+    (version "0.16.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri name version))
              (sha256
               (base32
-               "08aa5yxcj7ziz2r0hz4p554q8hgpfl2bh8r6r85f4g24mg6arxsj"))))
+               "0n59mhcrm24bncnphigqqnifivxgsg87pidz6gshijkkjdwzmnyg"))))
     (build-system python-build-system)
     (arguments
       `(#:phases (modify-phases %standard-phases
@@ -104,4 +104,4 @@ synchronize a CalDAV or CardDAV server with a local folder or file.  The
 local data can then be accessed via a variety of programs, none of which
 have to know or worry about syncing to a server.")
     (home-page "https://github.com/untitaker/vdirsyncer")
-    (license expat)))
+    (license bsd-3)))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 514acee271..e9fb7cc496 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -99,7 +99,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 (define-public isc-bind
   (package
     (name "bind")
-    (version "9.11.1-P1")
+    (version "9.11.1-P2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -107,7 +107,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0f56bhkxx7bga3f1a4whlm8fh5q8lz7ah97fdayp310vsn43w6vb"))))
+                "19gyh7yij6cpvk5b199ghhns5wmsz67d2rpgvl91dbkm2m1wclxz"))))
     (build-system gnu-build-system)
     (outputs `("out" "utils"))
     (inputs
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index 7a309b0bc9..189ece01ab 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -180,11 +180,41 @@ by no means limited to these applications.)  This package provides XML DTDs.")
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0pdizc5rjywwzxa1qqhdmba5zr35pbmdwbysalsid7xw87w3kq06"))))
+                "0pdizc5rjywwzxa1qqhdmba5zr35pbmdwbysalsid7xw87w3kq06"))
+              (patches (search-patches "dblatex-remove-multirow.patch"))))
     (build-system python-build-system)
     ;; TODO: Add xfig/transfig for fig2dev utility
     (inputs
-     `(("texlive" ,texlive)
+     `(("texlive" ,(texlive-union (list texlive-latex-amsfonts
+                                        texlive-latex-anysize
+                                        texlive-latex-appendix
+                                        texlive-latex-changebar
+                                        texlive-latex-colortbl
+                                        texlive-latex-eepic
+                                        texlive-latex-eso-pic
+                                        texlive-latex-fancybox
+                                        texlive-latex-fancyhdr
+                                        texlive-latex-fancyvrb
+                                        texlive-latex-float
+                                        texlive-latex-footmisc
+                                        texlive-latex-hyperref
+                                        texlive-latex-jknapltx
+                                        texlive-latex-listings
+                                        texlive-latex-multirow
+                                        texlive-latex-oberdiek
+                                        texlive-latex-overpic
+                                        texlive-latex-pdfpages
+                                        texlive-latex-subfigure
+                                        texlive-latex-titlesec
+                                        texlive-latex-url
+                                        texlive-latex-wasysym
+
+                                        texlive-fonts-amsfonts
+                                        texlive-fonts-ec
+                                        texlive-fonts-rsfs
+                                        texlive-fonts-stmaryrd
+
+                                        texlive-generic-ifxetex)))
        ("imagemagick" ,imagemagick)     ;for convert
        ("inkscape" ,inkscape)           ;for svg conversion
        ("docbook" ,docbook-xml)
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index b600c2ee39..e8fb1e64d6 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -48,14 +48,14 @@
 (define-public gcompris
   (package
     (name "gcompris")
-    (version "15.10")
+    (version "17.05")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://gcompris.net/download/gtk/src/gcompris-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "0f7wa27vvpn9ansp2aald1pajqlx5d51mvj07ba503yvl7i77fka"))))
+                "18y483alb4r4vfmh80nnl0pah5gv0b8frcm6l1drb9njn5xlcpgc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index cfebe772f2..75122af8b3 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
-;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -171,6 +171,7 @@
        ("libtiff" ,libtiff)
        ("giflib" ,giflib)
        ("libjpeg" ,libjpeg-8)
+       ("imagemagick" ,imagemagick)
        ("acl" ,acl)
 
        ;; When looking for libpng `configure' links with `-lpng -lz', so we
@@ -1393,7 +1394,7 @@ type, for example: packages, buffers, files, etc.")
 (define-public emacs-guix
   (package
     (name "emacs-guix")
-    (version "0.3.1")
+    (version "0.3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/alezost/guix.el"
@@ -1401,7 +1402,7 @@ type, for example: packages, buffers, files, etc.")
                                   "/emacs-guix-" version ".tar.gz"))
               (sha256
                (base32
-                "0s7s90rfba8ccbilbvmbcwn4qp4m0jv9y58xq8avm39cygmjgyxz"))))
+                "0bffxlaq4w9yijl9prnfm26fisr2rd1whjg1yzvri1zl6zh9s0lk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
@@ -1419,6 +1420,13 @@ type, for example: packages, buffers, files, etc.")
                                                   "2."
                                                   (basename file)))
                                                #:directories? #t)))
+               (string-append "--with-guix-site-ccache-dir="
+                              (car (find-files (string-append guix "/lib/guile")
+                                               (lambda (file stat)
+                                                 (string-prefix?
+                                                  "2." (basename file)))
+                                               #:directories? #t))
+                              "/site-ccache")
                (string-append "--with-geiser-lispdir=" geiser site-lisp)
                (string-append "--with-dash-lispdir="
                               dash site-lisp "/guix.d/dash-"
@@ -3018,6 +3026,27 @@ complement basic functions provided by @code{subr.el}.  All provided functions
 work on lists, strings and vectors.")
     (license license:gpl3+)))
 
+(define-public emacs-sparql-mode
+  (package
+    (name "emacs-sparql-mode")
+    (version "2.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/ljos/sparql-mode/archive/"
+                                  "v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1s93mkllxnhy7fw616cnnc2danacdlarys0g3cn89drh0llh53cv"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/ljos/sparql-mode")
+    (synopsis "SPARQL mode for Emacs")
+    (description "This package provides a major mode for Emacs that provides
+syntax highlighting for SPARQL.  It also provides a way to execute queries
+against a SPARQL HTTP endpoint, such as is provided by Fuseki.  It is also
+possible to query other endpoints like DBPedia.")
+    (license license:gpl3+)))
+
 (define-public emacs-better-defaults
   (package
     (name "emacs-better-defaults")
@@ -4635,6 +4664,95 @@ It should enable you to implement low-level X11 applications.")
 built on top of XELB.")
     (license license:gpl3+)))
 
+(define-public emacs-switch-window
+  (package
+    (name "emacs-switch-window")
+    (version "1.5.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/dimitri/switch-window/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "07f99apxscwvsp2bjxsbi462c433kcglrjh6xl0gyafs1nvvvnd8"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/dimitri/switch-window")
+    (synopsis "Emacs window switch tool")
+    (description "Switch-window is an emacs window switch tool, which
+offer a visual way to choose a window to switch to, delete, split or
+other operations.")
+    (license license:wtfpl2)))
+
+(define-public emacs-exwm-x
+  (package
+    (name "emacs-exwm-x")
+    (version "1.7.2")
+    (synopsis "Derivative window manager based on EXWM")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/tumashu/exwm-x/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1ny13i82fb72917jgl0ndwjg1x6l9f8gfhcx7cwlwhh5saq23mvy"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-exwm" ,emacs-exwm)
+       ("emacs-switch-window" ,emacs-switch-window)
+       ("emacs-ivy" ,emacs-ivy)
+       ("emacs-use-package" ,emacs-use-package)))
+    (inputs
+     `(("xhost" ,xhost)
+       ("dbus" ,dbus)))
+    ;; Need emacs instead of emacs-minimal,
+    ;; for emacs's bin path will be inserted into bin/exwm-x file.
+    (arguments
+     `(#:emacs ,emacs
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'install-xsession
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (xsessions (string-append out "/share/xsessions"))
+                    (bin (string-append out "/bin"))
+                    (exwm-executable (string-append bin "/exwm-x")))
+               ;; Add a .desktop file to xsessions
+               (mkdir-p xsessions)
+               (mkdir-p bin)
+               (with-output-to-file
+                   (string-append xsessions "/exwm-x.desktop")
+                 (lambda _
+                   (format #t "[Desktop Entry]~@
+                     Name=~a~@
+                     Comment=~a~@
+                     Exec=~a~@
+                     TryExec=~@*~a~@
+                     Type=Application~%" ,name ,synopsis exwm-executable)))
+               ;; Add a shell wrapper to bin
+               ;; Set DISPLAY variable to work around
+               ;; https://github.com/ch11ng/exwm/issues/213
+               (with-output-to-file exwm-executable
+                 (lambda _
+                   (format #t "#!~a ~@
+                     export DISPLAY=:0 ~@
+                     ~a +SI:localuser:$USER ~@
+                     exec ~a --exit-with-session ~a \"$@\" --eval '~s' ~%"
+                           (string-append (assoc-ref inputs "bash") "/bin/sh")
+                           (string-append (assoc-ref inputs "xhost") "/bin/xhost")
+                           (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch")
+                           (string-append (assoc-ref inputs "emacs") "/bin/emacs")
+                           '(require 'exwmx-loader))))
+               (chmod exwm-executable #o555)
+               #t))))))
+    (home-page "https://github.com/tumashu/exwm-x")
+    (description "EXWM-X is a derivative window manager based on EXWM, with focus
+on mouse-control.")
+    (license license:gpl3+)))
+
 (define-public emacs-gnuplot
   (package
     (name "emacs-gnuplot")
@@ -5005,3 +5123,51 @@ for the default of 1 second, the minibuffer will expand with all of the
 available key bindings that follow C-x (or as many as space allows given your
 settings).")
     (license license:gpl3+)))
+
+(define-public emacs-org-edit-latex
+  (package
+    (name "emacs-org-edit-latex")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/et2010/org-edit-latex/archive/v"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1y4h6wrs8286h9pbsv4d8fr67a885vz8b2k80qgv5qddipi2i78p"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-auctex" ,emacs-auctex)
+       ;; The version of org in Emacs 25.2 is not sufficient, because the
+       ;; `org-latex-make-preamble' function is required.
+       ("emacs-org" ,emacs-org)))
+    (home-page "https://github.com/et2010/org-edit-latex")
+    (synopsis "Edit a latex fragment just like editing a src block")
+    (description "@code{emacs-org-edit-latex} is an extension for org-mode.
+It lets you edit a latex fragment in a dedicated buffer just like editing a
+src block.")
+    (license license:gpl3+)))
+
+(define-public emacs-emamux
+  (package
+    (name "emacs-emamux")
+    (version "0.14")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/syohex/emacs-emamux/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0wlqg4icy037bj70b0qmhvwvmiwhagpnx6pnxhq6gzy1hvwlilkx"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/syohex/emacs-emamux")
+    (synopsis "Manipulate Tmux from Emacs")
+    (description
+     "@code{emacs-emamux} lets Emacs interact with the @code{tmux} terminal
+multiplexer.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 1da248001e..8d0b824784 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -277,13 +277,13 @@ use of coreboot.")
                 "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc\n"))
              (zero? (system* "build"))))
          ,@(if (string=? "x86_64-linux" (%current-system))
-             '(add-after 'build 'build-x64
-               (lambda _
-                 (substitute* "Conf/target.txt"
-                   (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
-                   (("^ACTIVE_PLATFORM[ ]*=.*$")
-                    "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
-                 (zero? (system* "build"))))
+             '((add-after 'build 'build-x64
+                (lambda _
+                  (substitute* "Conf/target.txt"
+                    (("^TARGET_ARCH[ ]*=.*$") "TARGET_ARCH = X64\n")
+                    (("^ACTIVE_PLATFORM[ ]*=.*$")
+                     "ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc\n"))
+                  (zero? (system* "build")))))
              '())
          (delete 'build)
          (replace 'install
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 297094ce06..ceadbe1c39 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2016 Jookia <166291@gmail.com>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Toni Reina <areina@riseup.net>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -594,7 +594,7 @@ languages, plus Greek and Cyrillic.")
 (define-public font-gnu-unifont
   (package
     (name "font-gnu-unifont")
-    (version "9.0.06")
+    (version "10.0.04")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -602,7 +602,7 @@ languages, plus Greek and Cyrillic.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0ybyraxi8pngibazfq4zlsqmg8kn5xlhvaiwnxb11znhfi61vi87"))))
+                "150p79rq4rzb4pbg2dwcz93k1chzzvm0l0nwh60spw19nfyrxj0p"))))
     (build-system gnu-build-system)
     (outputs '("out" ; TrueType version
                "pcf" ; PCF (bitmap) version
@@ -647,19 +647,20 @@ languages, plus Greek and Cyrillic.")
 Unicode's Basic Multilingual Plane.  The package also includes
 utilities to ease adding new glyphs to the font.")
     (home-page "http://unifoundry.com/unifont.html")
+    (properties '((upstream-name . "unifont")))
     (license license:gpl2+)))
 
 (define-public font-google-noto
   (package
     (name "font-google-noto")
-    (version "20150929")
+    (version "20170403")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://noto-website-2.storage.googleapis.com/"
+              (uri (string-append "https://noto-website.storage.googleapis.com/"
                                   "pkgs/Noto-hinted.zip"))
               (sha256
                (base32
-                "13jhpqzhsqhyby8n0ksqg155a3jyaif3nzj9anzbq8s2gn1xjyd9"))))
+                "1p92a6dvs7wqwjfpp1ahr9z1wz35am0l8r78521383spd77bmrfm"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index fc11bbd2b9..1ad7d6393a 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,24 +22,22 @@
   #:use-module (guix licenses)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages readline)
   #:use-module (gnu packages gnupg))
 
 (define-public freeipmi
   (package
     (name "freeipmi")
-    (version "1.5.5")
+    (version "1.5.6")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0lzzvhzbdl1cxin4xz3lirqxsjwmjr5ac0qr4g21cqsv2j6vj85f"))))
+               "0p3cl32wwxhyc5vkd9spmmckb78797snkmplgh0ybc7zap2bs6ib"))))
     (build-system gnu-build-system)
     (inputs
-     `(("readline" ,readline)
-       ("libgcrypt" ,libgcrypt)))
+     `(("libgcrypt" ,libgcrypt)))
     (home-page "https://www.gnu.org/software/freeipmi/")
     (synopsis "Platform management, including sensor and power monitoring")
     (description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 603687d08f..a7f697ece4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -3849,7 +3849,7 @@ emerges from a sewer hole and pulls her below ground.")
 (define-public cdogs-sdl
   (package
     (name "cdogs-sdl")
-    (version "0.6.4")
+    (version "0.6.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/cxong/cdogs-sdl/"
@@ -3857,7 +3857,7 @@ emerges from a sewer hole and pulls her below ground.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "08c3y8ijimx6mp0gm90abz4lsnbflqka519q2v0id0096vsc2pxn"))))
+                "17llrpdrrwi8h37vjpkxk2asj7h8qdfp2zy28wiwb7cjzribmz3k"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
@@ -3865,10 +3865,11 @@ emerges from a sewer hole and pulls her below ground.")
                             (assoc-ref %outputs "out")
                             "/share/cdogs-sdl/"))))
     (inputs
-     `(("sdl2" ,sdl2)
+     `(("mesa" ,mesa)
+       ("sdl2" ,sdl2)
        ("sdl2-image" ,sdl2-image)
        ("sdl2-mixer" ,sdl2-mixer)))
-    (home-page "http://cxong.github.io/cdogs-sdl/")
+    (home-page "https://cxong.github.io/cdogs-sdl/")
     (synopsis "Classic overhead run-and-gun game")
     (description "C-Dogs SDL is a classic overhead run-and-gun game,
 supporting up to 4 players in co-op and deathmatch modes.  Customize your
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 088857c042..6b1bc762ba 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -390,14 +390,14 @@ Go.  It also includes runtime support libraries for these languages.")
 (define-public gcc-6
   (package
     (inherit gcc-5)
-    (version "6.3.0")
+    (version "6.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/gcc/gcc-"
-                                  version "/gcc-" version ".tar.bz2"))
+                                  version "/gcc-" version ".tar.xz"))
               (sha256
                (base32
-                "17xjz30jb65hcf714vn9gcxvrrji8j20xm7n33qg1ywhyzryfsph"))
+                "1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5"))
               (patches (search-patches "gcc-strmov-store-file-names.patch"
                                        "gcc-5.0-libvtv-runpath.patch"))))))
 (define-public gcc-7
diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 2a749e3a6d..44535859cb 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@@ -181,7 +181,7 @@ translated messages from the catalogs.  Nearly all GNU packages use Gettext.")
        ("perl-module-build" ,perl-module-build)
        ("docbook-xsl" ,docbook-xsl)
        ("docbook-xml" ,docbook-xml) ;for tests
-       ("texlive" ,texlive-minimal) ;for tests
+       ("texlive" ,texlive-tiny) ;for tests
        ("libxml2" ,libxml2)
        ("xsltproc" ,libxslt)))
     (home-page "http://po4a.alioth.debian.org/")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8d88829ec7..1e2e9ad711 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -470,12 +470,13 @@ and keep up to date translations of documentation.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))))
+               "0ydk9dzxx6snxza7j5ps8x932hbr3x1b8hhcaqjq4w4admi2qmwh"))
+             (patches
+              (search-patches "gcr-disable-failing-tests.patch"
+                              "gcr-fix-collection-tests-to-work-with-gpg-21.patch"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f ;25 of 598 tests fail because /var/lib/dbus/machine-id does
-                   ;not exist
-       #:phases (modify-phases %standard-phases
+     '(#:phases (modify-phases %standard-phases
                   (add-before
                    'check 'pre-check
                    (lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 566d6e1bd3..0276d7d0f1 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -180,14 +180,14 @@ specifications are building blocks of S/MIME and TLS.")
 (define-public npth
   (package
     (name "npth")
-    (version "1.4")
+    (version "1.5")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://gnupg/npth/npth-" version ".tar.bz2"))
       (sha256
        (base32
-        "1wpijvxg5svj893q9vp5r83d9ipwhpbyphb55m89l5m36qc185c9"))))
+        "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9"))))
     (build-system gnu-build-system)
     (home-page "https://www.gnupg.org")
     (synopsis "Non-preemptive thread library")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 1d9ee15246..b2aa6ecff5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
-;;; Coypright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Coypright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
@@ -795,7 +795,7 @@ application suites.")
     (inputs
      `(("guile-lib" ,guile-lib)
        ("expat" ,expat)
-       ("guile" ,guile-2.0)))
+       ("guile" ,guile-2.2)))
     (propagated-inputs
      ;; The .pc file refers to 'cairo'.
      `(("cairo" ,cairo)))
@@ -813,43 +813,49 @@ exceptions, macros, and a dynamic programming environment.")
     (license license:lgpl3+)))
 
 (define-public guile-rsvg
-  (package
-    (name "guile-rsvg")
-    (version "2.18.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "http://wingolog.org/pub/guile-rsvg/"
-                                  name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "136f236iw3yrrz6pkkp1ma9c5mrs5icqha6pnawinqpk892r3jh7"))
-              (patches (search-patches "guile-rsvg-pkgconfig.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               '(substitute* (find-files "." "Makefile\\.am")
-                  (("/share/guile/site")
-                   "/share/guile/site/2.0")))))
-    (build-system gnu-build-system)
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-before 'configure 'bootstrap
-                              (lambda _
-                                (zero? (system* "autoreconf" "-vfi")))))))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("autoconf" ,autoconf)
-                     ("automake" ,automake)
-                     ("libtool" ,libtool)
-                     ("texinfo" ,texinfo)))
-    (inputs `(("guile" ,guile-2.0)
-              ("librsvg" ,librsvg)
-              ("guile-lib" ,guile-lib)))          ;for (unit-test)
-    (propagated-inputs `(("guile-cairo" ,guile-cairo)))
-    (synopsis "Render SVG images using Cairo from Guile")
-    (description
-     "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG
+  ;; Use a recent snapshot that supports Guile 2.2 and beyond.
+  (let ((commit "05c6a2fd67e4fea1a7c3ff776729dc931bae6678")
+        (revision "0"))
+    (package
+      (name "guile-rsvg")
+      (version (string-append "2.18.1-" revision "."
+                              (string-take commit 7)))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://gitlab.com/wingo/guile-rsvg/"
+                                    "repository/archive.tar.gz?ref="
+                                    commit))
+                (sha256
+                 (base32
+                  "0vdzjx8l5nc4y2xjqs0g1rqn1zrwfsm30brh5gz00r1x41a2pvv2"))
+                (patches (search-patches "guile-rsvg-pkgconfig.patch"))
+                (modules '((guix build utils)))
+                (snippet
+                 '(substitute* (find-files "." "Makefile\\.am")
+                    (("/share/guile/site")
+                     "/share/guile/site/@GUILE_EFFECTIVE_VERSION@")))
+                (file-name (string-append name "-" version ".tar.gz"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (add-before 'configure 'bootstrap
+                      (lambda _
+                        (zero? (system* "autoreconf" "-vfi")))))))
+      (native-inputs `(("pkg-config" ,pkg-config)
+                       ("autoconf" ,autoconf)
+                       ("automake" ,automake)
+                       ("libtool" ,libtool)
+                       ("texinfo" ,texinfo)))
+      (inputs `(("guile" ,guile-2.2)
+                ("librsvg" ,librsvg)
+                ("guile-lib" ,guile-lib)))        ;for (unit-test)
+      (propagated-inputs `(("guile-cairo" ,guile-cairo)))
+      (synopsis "Render SVG images using Cairo from Guile")
+      (description
+       "Guile-RSVG wraps the RSVG library for Guile, allowing you to render SVG
 images onto Cairo surfaces.")
-    (home-page "http://wingolog.org/projects/guile-rsvg/")
-    (license license:lgpl2.1+)))
+      (home-page "http://wingolog.org/projects/guile-rsvg/")
+      (license license:lgpl2.1+))))
 
 (define-public guile-present
   (package
@@ -883,7 +889,7 @@ images onto Cairo surfaces.")
                                        out "/share/guile/site/2.0 ")))))
                  %standard-phases)))
     (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.0)))
+    (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs
      ;; These are used by the (present …) modules.
      `(("guile-lib" ,guile-lib)
@@ -902,7 +908,7 @@ documents.")
 (define-public guile-gnome
    (package
     (name "guile-gnome")
-    (version "2.16.4")
+    (version "2.16.5")
     (source (origin
               (method url-fetch)
               (uri
@@ -911,7 +917,7 @@ documents.")
                               version ".tar.gz"))
              (sha256
               (base32
-               "1hqnqbb2lmr3hgbcv9kds1himn3av6h0lkk0zll8agcrsn7d9axd"))))
+               "1gnf3j96nip5kl99a268i0dy1hj7s1cfs66sps3zwysnkd7qr399"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -930,7 +936,7 @@ documents.")
        ("pango" ,pango)
        ("libffi" ,libffi)
        ("glib" ,glib)))
-    (inputs `(("guile" ,guile-2.0)))
+    (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs
      `(("guile-cairo" ,guile-cairo)
        ("g-wrap" ,g-wrap)
@@ -943,7 +949,7 @@ documents.")
                        (let ((out (assoc-ref outputs "out")))
                          (substitute* (find-files "." "^Makefile.in$")
                            (("guilesite :=.*guile/site" all)
-                            (string-append all "/2.0")))
+                            (string-append all "/@GUILE_EFFECTIVE_VERSION@")))
                          #t))))))
     (outputs '("out" "debug"))
     (synopsis "Guile interface for GTK+ programming for GNOME")
@@ -951,7 +957,9 @@ documents.")
      "Includes guile-clutter, guile-gnome-gstreamer,
 guile-gnome-platform (GNOME developer libraries), and guile-gtksourceview.")
     (home-page "https://www.gnu.org/software/guile-gnome/")
-    (license license:gpl2+)))
+    (license license:gpl2+)
+    (properties '((upstream-name . "guile-gnome-platform")
+                  (ftp-directory . "/gnu/guile-gnome/guile-gnome-platform")))))
 
 ;;;
 ;;; C++ bindings.
@@ -1277,8 +1285,13 @@ information.")
      `(#:parallel-tests? #f
        #:phases
        (modify-phases %standard-phases
-         (add-before
-             'configure 'fix-docbook
+         (add-before 'build 'set-HOME
+           (lambda _
+             ;; FIXME: dblatex with texlive-union does not find the built
+             ;; metafonts, so it tries to generate them in HOME.
+             (setenv "HOME" "/tmp")
+             #t))
+         (add-before 'configure 'fix-docbook
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "configure"
                ;; The configure check is overzealous about making sure that
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1fb759fc20..f86d7ead80 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -220,7 +220,6 @@ without requiring the source code to be rewritten.")
   (package (inherit guile-2.0)
     (name "guile")
     (version "2.2.2")
-    (replacement #f)
     (source (origin
               (method url-fetch)
 
@@ -400,7 +399,7 @@ program can be installed in one go.")
     (version "0.2.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
+              (uri (string-append "mirror://gnu/artanis/artanis-"
                                   version ".tar.gz"))
               (sha256
                (base32
@@ -634,7 +633,7 @@ format is also supported.")
        ("gettext" ,gettext-minimal)
        ("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.0) ("which" ,which)))
-    (propagated-inputs `(("guile-lib" ,guile-lib)))
+    (propagated-inputs `(("guile-lib" ,guile2.0-lib)))
     (home-page "https://github.com/artyom-poptsov/guile-ics")
     (synopsis "Guile parser library for the iCalendar format")
     (description
@@ -647,14 +646,14 @@ The library is shipped with documentation in Info format and usage examples.")
 (define-public guile-lib
   (package
     (name "guile-lib")
-    (version "0.2.5")
+    (version "0.2.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/guile-lib/guile-lib-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1qbk485djgxqrbfjvk4b7w7y4x9xygf2qb8dqnl7885kajasx8qg"))))
+                "19q420i3is3d4jmkdqs5y7ir7ipp4s795saflqgwf6617cx2zpj4"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags
@@ -671,7 +670,7 @@ The library is shipped with documentation in Info format and usage examples.")
 $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
              #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.0)))
+    (inputs `(("guile" ,guile-2.2)))
     (home-page "http://www.nongnu.org/guile-lib/")
     (synopsis "Collection of useful Guile Scheme modules")
     (description
@@ -685,8 +684,11 @@ for Guile\".")
     ;; details.
     (license license:gpl3+)))
 
+(define-public guile2.0-lib
+  (package-for-guile-2.0 guile-lib))
+
 (define-public guile2.2-lib
-  (package-for-guile-2.2 guile-lib))
+  (deprecated-package "guile2.2-lib" guile-lib))
 
 (define-public guile-json
   (package
@@ -1794,7 +1796,7 @@ is not available for Guile 2.0.")
     (package
       (name "guile-git")
       (version (string-append "0.0-" revision "." (string-take commit 7)))
-      (home-page "https://gitlab.com/amirouche/guile-git")
+      (home-page "https://gitlab.com/guile-git/guile-git.git")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference (url home-page) (commit commit)))
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 04be3b0c3b..2200b6663d 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -42,7 +42,7 @@
 (define-public ibus
   (package
    (name "ibus")
-   (version "1.5.15")
+   (version "1.5.16")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/ibus/ibus/"
@@ -50,7 +50,7 @@
                                  version "/ibus-" version ".tar.gz"))
              (sha256
               (base32
-               "11g3jf6dgvmszvpgpva0y587kr0sffl79xmymvghrb1sdynvmxs1"))))
+               "07py16jb81kd7vkqhcia9cb2avsbg5jswp2kzf0k4bprwkxppd9n"))))
    (build-system glib-or-gtk-build-system)
    (arguments
     `(#:tests? #f  ; tests fail because there's no connection to dbus
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index da7b780162..6d85fce40b 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -250,7 +250,7 @@ your images.  Among its features are:
 (define-public catimg
   (package
     (name "catimg")
-    (version "2.2.2")
+    (version "2.3.2")
     (source
      (origin
        (method url-fetch)
@@ -259,7 +259,7 @@ your images.  Among its features are:
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1abkhrhw4r221lwn2vb8in3vmp6gxn3qlv34cqndr55v5gdpb9qz"))))
+         "0n78sl8mxyky9zcih2znzcnb9dbfmvmrdwzj73jcxfh531cgcpi9"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 149b45de56..1b230b5700 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -95,7 +95,6 @@ library.  It supports almost all PNG features and is extensible.")
 (define-public libpng-apng
   (package
     (inherit libpng)
-    (replacement #f) ;libpng's replacement doesn't apply here
     (name "libpng-apng")
     (version (package-version libpng))
     (arguments
@@ -336,14 +335,20 @@ extracting icontainer icon files.")
   (package
    (name "libtiff")
    (version "4.0.8")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "ftp://download.osgeo.org/libtiff/tiff-"
-                                version ".tar.gz"))
-            (patches (search-patches "libtiff-tiffgetfield-bugs.patch"))
-            (sha256
-             (base32
-              "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr"))))
+   (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "ftp://download.osgeo.org/libtiff/tiff-"
+                           version ".tar.gz"))
+       (patches
+         (search-patches "libtiff-tiffgetfield-bugs.patch"
+                         "libtiff-CVE-2016-10688.patch"
+                         "libtiff-CVE-2017-9936.patch"
+                         "libtiff-tiffycbcrtorgb-integer-overflow.patch"
+                         "libtiff-tiffycbcrtorgbinit-integer-overflow.patch"))
+       (sha256
+        (base32
+         "0419mh6kkhz5fkyl77gv0in8x4d2jpdpfs147y8mj86rrjlabmsr"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                           ;1.3 MiB of HTML documentation
@@ -1053,29 +1058,19 @@ PNG, and performs PNG integrity checks and corrections.")
 (define-public libjpeg-turbo
   (package
     (name "libjpeg-turbo")
-    (version "1.5.1")
+    (version "1.5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/" name "/" version "/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0v365hm6z6lddcqagjj15wflk66rqyw75m73cqzl65rh4lyrshj1"))))
+                "0a5m0psfp5952y5vrcs0nbdz1y9wqzg2ms0xwrx752034wxr964h"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("nasm" ,nasm)))
     (arguments
-     '(#:test-target "test"
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'set-env-on-MIPS
-           ;; This is borrowed from Debian's patchset for libjpeg
-           ;; https://sources.debian.net/data/main/libj/libjpeg-turbo/1:1.5.1-2/debian/patches/0001-Declare-env-on-MIPS-on-first-use-Courtesy-of-Aurelie.patch
-           (lambda _
-             (substitute* "simd/jsimd_mips.c"
-               (("env = getenv\\(\"JSIMD_FORCEDSPR2")
-                "char *env = getenv(\"JSIMD_FORCEDSPR2"))
-             #t)))))
+     '(#:test-target "test"))
     (home-page "http://www.libjpeg-turbo.org/")
     (synopsis "SIMD-accelerated JPEG image handling library")
     (description "libjpeg-turbo is a JPEG image codec that accelerates baseline
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 896e993a9a..011665d387 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -102,7 +102,7 @@ irssi, but graphical.")
 (define-public irssi
   (package
     (name "irssi")
-    (version "1.0.3")
+    (version "1.0.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/irssi/irssi/"
@@ -110,7 +110,7 @@ irssi, but graphical.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "10gmmxk5jgyigarks177nyvzb0lsfxcm00015p2cirybgllj10l3"))))
+               "1jl6p431rv4iixk48wn607m4s0mcy3wgasfwrhz22y71mzdhfp5q"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e074dab46d..f231380506 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1868,6 +1868,41 @@ designs.")
                      license:asl2.0
                      license:cpl1.0)))))
 
+(define-public java-classpathx-servletapi
+  (package
+    (name "java-classpathx-servletapi")
+    (version "3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/classpathx/servletapi/"
+                                  "servletapi-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0y9489pk4as9q6x300sk3ycc0psqfxcd4b0xvbmf3rhgli8q1kx3"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f ; there is no test target
+       #:build-target "compile"
+       ;; NOTE: This package does not build with Java 8 because of a type
+       ;; mismatch in
+       ;; "source/javax/servlet/jsp/el/ImplicitObjectELResolver.java".  It
+       ;; defines the return value of ScopeMap's "remove" method to be of type
+       ;; "Object", whereas Map's "remove" method returns boolean.
+       #:make-flags
+       (list "-Dbuild.compiler=javac1.7"
+             (string-append "-Ddist=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* `("ant" "dist" ,@make-flags))))))))
+    (home-page "https://www.gnu.org/software/classpathx/")
+    (synopsis "Java servlet API implementation")
+    (description "This is the GNU servlet API distribution, part of the
+ClasspathX project.  It provides implementations of version 3.0 of the servlet
+API and version 2.1 of the Java ServerPages API.")
+    (license license:gpl3+)))
+
 (define-public java-swt
   (package
     (name "java-swt")
@@ -4086,6 +4121,73 @@ for your architecture which is provided by the jsvc package.
 This is a part of the Apache Commons Project.")
     (license license:asl2.0)))
 
+(define-public java-javaewah
+  (package
+    (name "java-javaewah")
+    (version "1.1.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/lemire/javaewah/"
+                                  "archive/JavaEWAH-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1n7j1r1h24wlhwv9zdcj6yqjrhma2ixwyzm15l5vrv6yqjs6753b"))))
+    (build-system ant-build-system)
+    (arguments `(#:jar-name "javaewah.jar"))
+    (inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "https://github.com/lemire/javaewah")
+    (synopsis "Compressed alternative to the Java @code{BitSet} class")
+    (description "This is a word-aligned compressed variant of the Java
+@code{Bitset} class.  It provides both a 64-bit and a 32-bit RLE-like
+compression scheme.  It can be used to implement bitmap indexes.
+
+The goal of word-aligned compression is not to achieve the best compression,
+but rather to improve query processing time. Hence, JavaEWAH tries to save CPU
+cycles, maybe at the expense of storage.  However, the EWAH scheme is always
+more efficient storage-wise than an uncompressed bitmap (as implemented in the
+@code{BitSet} class by Sun).")
+    ;; GPL2.0 derivates are explicitly allowed.
+    (license license:asl2.0)))
+
+(define-public java-slf4j-api
+  (package
+    (name "java-slf4j-api")
+    (version "1.7.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.slf4j.org/dist/slf4j-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "13j51sgzmhhdrfa74gkal5zpip7r1440dh7zsi2c8bpb2zs1v8kb"))
+              (modules '((guix build utils)))
+              ;; Delete bundled jars.
+              (snippet
+               '(begin
+                  (for-each delete-file (find-files "." "\\.jar$"))
+                  #t))))
+    (build-system ant-build-system)
+    (arguments
+     ;; FIXME: org.slf4j.NoBindingTest fails with the ominous "This code
+     ;; should have never made it into slf4j-api.jar".
+     `(#:tests? #f
+       #:jar-name "slf4j-api.jar"
+       #:source-dir "slf4j-api/src/main"
+       #:test-dir "slf4j-api/src/test"))
+    (inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)))
+    (home-page "https://www.slf4j.org/")
+    (synopsis "Simple logging facade for Java")
+    (description "The Simple Logging Facade for Java (SLF4J) serves as a
+simple facade or abstraction for various logging
+frameworks (e.g. @code{java.util.logging}, @code{logback}, @code{log4j})
+allowing the end user to plug in the desired logging framework at deployment
+time.")
+    (license license:expat)))
+
 (define-public antlr2
   (package
     (name "antlr2")
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 4a0e13afa3..f6df2817d3 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -254,6 +254,7 @@
                     (%current-system))
            ("x86_64-linux" "MARCH=x86-64")
            ("i686-linux" "MARCH=pentium4")
+           ("aarch64-linux" "MARCH=armv8-a")
            ;; Prevent errors when querying this package on unsupported
            ;; platforms, e.g. when running "guix package --search="
            (_ "MARCH=UNSUPPORTED"))
@@ -365,7 +366,7 @@
              "13zfannnr6sa6s27ggvcvzmh133ndi38pfyxsssvjmw2s8ac9pv8"))))))
     ;; Julia is not officially released for ARM and MIPS.
     ;; See https://github.com/JuliaLang/julia/issues/10639
-    (supported-systems '("i686-linux" "x86_64-linux"))
+    (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
     (home-page "http://julialang.org/")
     (synopsis "High-performance dynamic language for technical computing")
     (description
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index bdbf3f850c..b49e360205 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -777,7 +777,7 @@ and to return information on pronunciations, meanings and synonyms.")
 (define-public libreoffice
   (package
     (name "libreoffice")
-    (version "5.3.1.2")
+    (version "5.3.2.2")
     (source
      (origin
       (method url-fetch)
@@ -786,7 +786,7 @@ and to return information on pronunciations, meanings and synonyms.")
           "http://download.documentfoundation.org/libreoffice/src/"
           (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
       (sha256 (base32
-               "1zsl0z0i8pw532x2lmwd64ms6igibkkjhwf01zmm2kpnr9ycsijp"))))
+               "1bcy1wx2cixawpd6cpivakwcwv8ryyy25kdw0fbci319p5gaj4c8"))))
     (build-system gnu-build-system)
     (native-inputs
      `(;; autoreconf is run by the LibreOffice build system, since after
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 100440a72c..d0dcb259b9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -365,8 +365,8 @@ It has been modified to remove all non-free binary blobs.")
 
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 
-(define %linux-libre-version "4.11.8")
-(define %linux-libre-hash "1z35h6xr8gdzq31xv3dpdz6ddz4q3183fwvkmx8qd7h9bhy13aw6")
+(define %linux-libre-version "4.12")
+(define %linux-libre-hash "153ibjdgys7friij4hnkvmp9ycvx50zgpyl9mwbr4prr409q3ndf")
 
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
@@ -375,14 +375,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.35"
-                    "0fs90jgb01jybkclngg5asvbs1y70f2abs395qcb3lxpx7zxhy1h"
+  (make-linux-libre "4.9.36"
+                    "1z58f15my3a8c3j8hfc6p9ydmwgq1399kp1zsbrfd89rxz3m4v6r"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.75"
-                    "1h687flrdzlcd1ms5n2khm0mxybr8bj2jfnnm7qvy6ha2vsngb5b"
+  (make-linux-libre "4.4.76"
+                    "1qzgjqj7zv8hk162viyjy4cn24snwy159j8vir6d5jsrkvwq5wrk"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -556,7 +556,12 @@ providing the system administrator with some help in common tasks.")
                                    (find-files "lib" "\\.a$")))
                        #t))))))
     (inputs `(("zlib" ,zlib)
-              ("ncurses" ,ncurses)))
+              ("ncurses" ,ncurses)
+
+              ;; XXX: This is so that the 'pre-check' phase can find it.
+              ,@(if (%current-target-system)
+                    `(("net-base" ,net-base))
+                    '())))
     (native-inputs
      `(("perl" ,perl)
        ("net-base" ,net-base)))                   ;for tests
@@ -846,14 +851,14 @@ images more compressible.")
 (define-public strace
   (package
     (name "strace")
-    (version "4.17")
+    (version "4.18")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/strace/strace/" version
                                  "/strace-" version ".tar.xz"))
              (sha256
               (base32
-               "06bl4dld5fk4a3iiq4pyrkm6sh63599ah8dmds0glg5vbw45pww1"))))
+               "026agy9nq238nx3ynhmi8h3vx96yra4xacfsm2ybs9k23ry8ibc9"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -1117,7 +1122,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
 (define-public iproute
   (package
     (name "iproute2")
-    (version "4.11.0")
+    (version "4.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1125,7 +1130,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "09l0phf09mw17bn3xlzfr80sbhw14mq8xv28iz5x15m6pll10rvj"))))
+                "0zdxdsxyaazl85xhwskvsmpyzwf5qp21cvjsi1lw3xnrc914q2if"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                                ; no test suite
@@ -1272,10 +1277,10 @@ messages and are accompanied by a set of manpages.")
     (synopsis "Tools for controlling the network subsystem in Linux")
     (description
      "This package includes the important tools for controlling the network
-subsystem of the Linux kernel.  This includes arp, hostname, ifconfig,
-netstat, rarp and route.  Additionally, this package contains utilities
-relating to particular network hardware types (plipconfig, slattach) and
-advanced aspects of IP configuration (iptunnel, ipmaddr).")
+subsystem of the Linux kernel.  This includes arp, ifconfig, netstat, rarp and
+route.  Additionally, this package contains utilities relating to particular
+network hardware types (plipconfig, slattach) and advanced aspects of IP
+configuration (iptunnel, ipmaddr).")
     (license license:gpl2+)))
 
 (define-public libcap
@@ -2999,7 +3004,7 @@ and copy/paste text in the console and in xterm.")
 (define-public btrfs-progs
   (package
     (name "btrfs-progs")
-    (version "4.11")
+    (version "4.11.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -3007,7 +3012,7 @@ and copy/paste text in the console and in xterm.")
                                   "btrfs-progs-v" version ".tar.xz"))
               (sha256
                (base32
-                "03mzv89f08gdsqv4ima793g44kdavcfyjialf5dr0zd2ab66hyp1"))))
+                "0vcp9a0a35chhjhq291kvirqhd4i9w5f4zql4y5n81kbwcrxil6h"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "static"))      ; static versions of binaries in "out" (~16MiB!)
@@ -3204,7 +3209,7 @@ The package provides additional NTFS tools.")
 (define-public rdma-core
   (package
     (name "rdma-core")
-    (version "13")
+    (version "14")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/linux-rdma/rdma-core"
@@ -3212,7 +3217,7 @@ The package provides additional NTFS tools.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "15qdfqkia22vab1dh41s88vgi70yifi40ar5s4x7a456rpbhy8z5"))))
+                "0w03zd49k96bmly44qc8l0s9l671sd26k4wrilsp13xaspy048kd"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 7ab9829196..51802229b0 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.infotropique.org>
+;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
@@ -2228,8 +2228,8 @@ operators and scripters.")
        ;; There are two versions: the plain continuation of Alpine without extra
        ;; patches and the version which adds extra fixes. Every distro uses
        ;; the patched version, and so do we to not break expectations.
-       ;; http://patches.freeiz.com/alpine/readme/README.patches
-       (uri (string-append "http://patches.freeiz.com/alpine/patches/alpine-"
+       ;; http://alpine.freeiz.com/alpine/readme/README.patches
+       (uri (string-append "http://alpine.freeiz.com/alpine/patches/alpine-"
                            version "/alpine-" version ".tar.xz"))
        (sha256
         (base32
@@ -2271,7 +2271,7 @@ operators and scripters.")
        ("aspell" ,aspell)
        ("tcl" ,tcl)
        ("linux-pam" ,linux-pam)))
-    (home-page "http://patches.freeiz.com/alpine/")
+    (home-page "http://alpine.freeiz.com/alpine/")
     (synopsis "Alternatively Licensed Program for Internet News and Email")
     (description
      "Alpine is a text-based mail and news client.  Alpine includes several
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 9efe338a19..844b110eb1 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -509,7 +509,6 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                     (patches patches)))
          (guile (package (inherit guile-2.0)
                   (name (string-append (package-name guile-2.0) "-static"))
-                  (replacement #f)
                   (source source)
                   (synopsis "Statically-linked and relocatable Guile")
 
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 20eef00123..352ce636e6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@@ -48,6 +48,7 @@
   #:use-module (guix build-system ocaml)
   #:use-module (guix build-system r)
   #:use-module (gnu packages algebra)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
@@ -515,8 +516,9 @@ singular value problems.")
               ("pango" ,pango)
               ("gd" ,gd)
               ("lua" ,lua)))
-    (native-inputs `(("pkg-config" ,pkg-config)
-                     ("texlive" ,texlive-minimal)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("texlive" ,texlive-tiny)))
     (home-page "http://www.gnuplot.info")
     (synopsis "Command-line driven graphing utility")
     (description "Gnuplot is a portable command-line driven graphing
@@ -797,8 +799,12 @@ HDF5 file is encoded according to the HDF File Format Specification.")
     (arguments `(#:tests? #f)) ; Tests require googletest *sources*
     (inputs `(("lapack" ,lapack)
               ("fftw" ,fftw)))
-    (native-inputs `(("texlive-minimal" ,texlive-minimal)
-                     ("doxygen" ,doxygen)))
+    ;; FIXME: Even though the fonts are available dvips complains:
+    ;; "Font cmmi10 not found; characters will be left blank."
+    (native-inputs
+     `(("texlive" ,texlive-tiny)
+       ("ghostscript" ,ghostscript)
+       ("doxygen" ,doxygen)))
     (home-page "http://itpp.sourceforge.net")
     (synopsis "C++ library of maths, signal processing and communication classes")
     (description "IT++ is a C++ library of mathematical, signal processing and
@@ -2069,7 +2075,8 @@ to BMP, JPEG or PNG image formats.")
        (patches (search-patches "maxima-defsystem-mkdir.patch"))))
     (build-system gnu-build-system)
     (inputs
-     `(("gcl" ,gcl)
+     `(("gcc" ,gcc)
+       ("gcl" ,gcl)
        ("gnuplot" ,gnuplot)                       ;for plots
        ("tk" ,tk)))                               ;Tcl/Tk is used by 'xmaxima'
     (native-inputs
@@ -2091,36 +2098,44 @@ to BMP, JPEG or PNG image formats.")
        ;; '/tmp/nix-build-maxima-*', which won't exist at run time.
        ;; Work around that.
        #:make-flags (list "TMPDIR=/tmp")
-       #:phases (alist-cons-before
-                 'check 'pre-check
-                 (lambda _
-                   (chmod "src/maxima" #o555))
-                 ;; Make sure the doc and emacs files are found in the
-                 ;; standard location.  Also configure maxima to find gnuplot
-                 ;; without having it on the PATH.
-                 (alist-cons-after
-                  'install 'post-install
-                  (lambda* (#:key outputs inputs #:allow-other-keys)
-                    (let* ((gnuplot (assoc-ref inputs "gnuplot"))
-                          (out (assoc-ref outputs "out"))
-                          (datadir (string-append out "/share/maxima/" ,version)))
-                      (with-directory-excursion out
-                        (mkdir-p "share/emacs")
-                        (mkdir-p "share/doc")
-                        (symlink
-                         (string-append datadir "/emacs/")
-                         (string-append out "/share/emacs/site-lisp"))
-                        (symlink
-                         (string-append datadir "/doc/")
-                         (string-append out "/share/doc/maxima"))
-                        (with-atomic-file-replacement
-                         (string-append datadir "/share/maxima-init.lisp")
-                         (lambda (in out)
-                           (format out "~a ~s~a~%"
-                                   "(setf $gnuplot_command "
-                                   (string-append gnuplot "/bin/gnuplot") ")")
-                           (dump-port in out))))))
-                  %standard-phases))))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'set-gcc-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "lisp-utils/defsystem.lisp"
+               (("\\(defparameter \\*c-compiler\\* \"gcc\"\\)")
+                (string-append "(defparameter *c-compiler* \""
+                               (assoc-ref inputs "gcc") "/bin/gcc\")")))
+             #t))
+         (add-before 'check 'pre-check
+           (lambda _
+             (chmod "src/maxima" #o555)
+             #t))
+         ;; Make sure the doc and emacs files are found in the
+         ;; standard location.  Also configure maxima to find gnuplot
+         ;; without having it on the PATH.
+         (add-after 'install 'post-install
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((gnuplot (assoc-ref inputs "gnuplot"))
+                    (out (assoc-ref outputs "out"))
+                    (datadir (string-append out "/share/maxima/" ,version)))
+               (with-directory-excursion out
+                 (mkdir-p "share/emacs")
+                 (mkdir-p "share/doc")
+                 (symlink
+                  (string-append datadir "/emacs/")
+                  (string-append out "/share/emacs/site-lisp"))
+                 (symlink
+                  (string-append datadir "/doc/")
+                  (string-append out "/share/doc/maxima"))
+                 (with-atomic-file-replacement
+                  (string-append datadir "/share/maxima-init.lisp")
+                  (lambda (in out)
+                    (format out "~a ~s~a~%"
+                            "(setf $gnuplot_command "
+                            (string-append gnuplot "/bin/gnuplot") ")")
+                    (dump-port in out)))))
+             #t)))))
     (home-page "http://maxima.sourceforge.net")
     (synopsis "Numeric and symbolic expression manipulation")
     (description "Maxima is a system for the manipulation of symbolic and
@@ -2137,18 +2152,21 @@ point numbers.")
 (define-public wxmaxima
   (package
     (name "wxmaxima")
-    ;; Versions 16.12.0 to 16.12.2 have a bug which causes output lines to
-    ;; overlap. See <https://debbugs.gnu.org/25793>
-    (version "16.04.2")
+    (version "17.05.0")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "mirror://sourceforge/wxmaxima/wxMaxima/"
-                           version "/" name "-" version ".tar.gz"))
+       (uri (string-append "https://github.com/andrejv/" name "/archive"
+                           "/Version-" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1fpqzk1921isiqrpgpf433ldq41924qs9sy99fl1zn5661b2l73n"))))
+         "1bsyd7r12xm2crpizb9iyyki3j0mbazzzwbsh871m06dv2wk97gq"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gettext" ,gettext-minimal)))
     (inputs
      `(("wxwidgets" ,wxwidgets)
        ("maxima" ,maxima)
@@ -2158,6 +2176,10 @@ point numbers.")
        ("shared-mime-info" ,shared-mime-info)))
     (arguments
      `(#:phases (modify-phases %standard-phases
+                  (add-before
+                   'configure 'autoconf
+                   (lambda _
+                     (zero? (system* "./bootstrap"))))
                   (add-after
                    'install 'wrap-program
                    (lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 425a7c4c23..827e9edee9 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -54,6 +55,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages libcanberra)
@@ -74,6 +76,7 @@
   #:use-module (gnu packages check)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages qt)
@@ -484,17 +487,15 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
 (define-public gajim
   (package
     (name "gajim")
-    (version "0.16.7")
+    (version "0.16.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gajim.org/downloads/"
                                   (version-major+minor version)
                                   "/gajim-" version ".tar.bz2"))
-              (patches
-               (search-patches "gajim-CVE-2016-10376.patch"))
               (sha256
                (base32
-                "13sxz0hpvyj2yvcbsfqq9yn0hp1d1zsxsj40r0v16jlibha5da9n"))))
+                "0ckakdjg30fsyjsgyy2573x9nmjivdg76y049l86wns5axw8im26"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1394,4 +1395,54 @@ RFC standards as well as non-standard but popular features.  It can be used for
 building the IRC clients and bots.")
     (license license:lgpl3+)))
 
+(define-public toxic
+  (package
+    (name "toxic")
+    (version "0.8.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/JFreegman/toxic/archive/v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0166lqb47f4kj34mhi57aqmnk9mh4hsicmbdsj6ag54sy1zicy20"))
+              (file-name (git-file-name name version))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags
+       (list
+        "CC=gcc"
+        (string-append "PREFIX="
+                       (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'enable-python-scripting
+           (lambda _
+             (setenv "ENABLE_PYTHON" "1")
+             #t)))))
+    (inputs
+     `(("c-toxcore" ,c-toxcore)
+       ("curl" ,curl)
+       ("freealut" ,freealut)
+       ("gdk-pixbuf" ,gdk-pixbuf) ; for libnotify.pc
+       ("libconfig" ,libconfig)
+       ("libnotify" ,libnotify)
+       ("libpng" ,libpng)
+       ("libvpx" ,libvpx)
+       ("libx11" ,libx11)
+       ("ncurses" ,ncurses)
+       ("openal" ,openal)
+       ("python" ,python)
+       ("qrencode" ,qrencode)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/JFreegman/toxic")
+    (synopsis "Tox chat client using ncurses")
+    (description "Toxic is a console-based instant messaging client, using
+c-toxcore and ncurses.  It provides audio calls, sound and desktop
+notifications, and Python scripting support.")
+    (license license:gpl3+)))
+
 ;;; messaging.scm ends here
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 3de49ddeeb..3b1ba003c6 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -51,6 +51,9 @@
                (base32
                 "0acph1mf7588hfx8ds26ncr6nw5fd9x92adm11fwin7f93i10sdb"))))
     (build-system gnu-build-system)
+    (outputs '("out"           ;'lstopo' & co., depends on Cairo, libx11, etc.
+               "lib"           ;small closure
+               "debug"))
     (inputs
      `(("libx11" ,libx11)
        ("cairo" ,cairo)
@@ -67,18 +70,27 @@
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (arguments
-     `(#:phases
+     `(#:configure-flags '("--localstatedir=/var")
+       #:phases
        (modify-phases %standard-phases
-         (add-after
-          'install 'refine-libnuma
-          ;; Give -L arguments for libraries to avoid propagation
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out  (assoc-ref outputs "out"))
-                  (numa (assoc-ref inputs "numactl")))
-              (substitute* (map (lambda (f) (string-append out "/" f))
-                                '("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
-                (("-lnuma" lib)
-                 (string-append "-L" numa "/lib " lib)))))))))
+         (add-after 'install 'refine-libnuma
+           ;; Give -L arguments for libraries to avoid propagation
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out  (assoc-ref outputs "lib"))
+                   (numa (assoc-ref inputs "numactl")))
+               (substitute* (map (lambda (f) (string-append out "/" f))
+                                 '("lib/pkgconfig/hwloc.pc" "lib/libhwloc.la"))
+                 (("-lnuma" lib)
+                  (string-append "-L" numa "/lib " lib))))))
+         (add-after 'install 'avoid-circular-references
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((lib (assoc-ref outputs "lib")))
+               ;; Suppress the 'prefix=' and 'exec_prefix=' lines so that the
+               ;; "lib" output doesn't refer to "out".
+               (substitute* (string-append lib "/lib/pkgconfig/hwloc.pc")
+                 (("^.*prefix=.*$")
+                  ""))
+               #t))))))
     (home-page "https://www.open-mpi.org/projects/hwloc/")
     (synopsis "Abstraction of hardware architectures")
     (description
@@ -110,7 +122,7 @@ bind processes, and much more.")
         "0k95ri9f8kzx5vhzrdbzn59rn2324fs4a96w5v8jy20j8dkbp13l"))))
     (build-system gnu-build-system)
     (inputs
-     `(("hwloc" ,hwloc)
+     `(("hwloc" ,hwloc "lib")
        ("gfortran" ,gfortran)
        ("valgrind" ,valgrind)))
     (native-inputs
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b62d953067..947773289c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -630,7 +630,7 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
 (define-public lilypond
   (package
     (name "lilypond")
-    (version "2.19.58")
+    (version "2.19.63")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -639,7 +639,7 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
                     name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0wjapb3if6qqdmr57z20hidx7czhl023cjimr01i8yf7k41fakh7"))))
+                "0hwv7m1lzyhjiyxqhqfdrrrpx475jhiwckrnxbjbv3ynhyzkngw0"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; out-test/collated-files.html fails
@@ -652,6 +652,15 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
                             "/share/fonts/opentype/"))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'use-texlive-union
+           (lambda _
+             ;; FIXME: fonts are not found and have to be generated in HOME.
+             (setenv "HOME" "/tmp")
+             ;; The test for the "lh" package fails, even though it is among
+             ;; the inputs.
+             (substitute* "configure"
+               (("TEX_FIKPARM=.*") "TEX_FIKPARM=found\n"))
+             #t))
          (add-after 'unpack 'fix-path-references
           (lambda _
             (substitute* "scm/backend-library.scm"
@@ -693,7 +702,10 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
        ("gettext" ,gettext-minimal)
        ("imagemagick" ,imagemagick)
        ("netpbm" ,netpbm) ;for pngtopnm
-       ("texlive" ,texlive) ;metafont and metapost
+       ("texlive" ,(texlive-union (list texlive-metapost
+                                        texlive-generic-epsf
+                                        texlive-latex-lh
+                                        texlive-latex-cyrillic)))
        ("texinfo" ,texinfo)
        ("texi2html" ,texi2html)
        ("rsync" ,rsync)
@@ -1887,14 +1899,14 @@ computer's keyboard.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.8.2")
+    (version "0.8.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "0sp7r9n926ggdn285l4xzvw558jz1440n7kn2f1qs6w6h6l0f1q3"))))
+                "0ggqp2pz6r0pvapbbil51fh5185rn0i9kgzm9ff8r8y1135zllk8"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f)) ; no "check" target
     (inputs
@@ -2206,13 +2218,13 @@ websites such as Libre.fm.")
 (define-public beets
   (package
     (name "beets")
-    (version "1.4.3")
+    (version "1.4.5")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "beets" version))
               (sha256
                (base32
-                "0r743a2pv1iyw50jsdl01v2ml3pdkhdp920a5d1wsacak48vwgxr"))))
+                "1z02j871gc8l9mnd344qy9z8akigikgmc22r15ns6driqb2qishv"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 44a79e7186..d8b72a12c0 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -42,6 +42,7 @@
               (method url-fetch)
               (uri (string-append "mirror://gnu/ncurses/ncurses-"
                                   version ".tar.gz"))
+              (patches (search-patches "ncurses-CVE-2017-10684-10685.patch"))
               (sha256
                (base32
                 "0q3jck7lna77z5r42f13c4xglc7azd19pxfrjrpgp2yf615w4lgm"))))
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index f3963c6e20..08307e37b9 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -93,14 +93,14 @@
 (define-public nss-pam-ldapd
   (package
     (name "nss-pam-ldapd")
-    (version "0.9.7")
+    (version "0.9.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/"
                                   "nss-pam-ldapd-" version ".tar.gz"))
               (sha256
                (base32
-                "1sw36w6zkzvabvjckqick032j5p5xi0qi3sgnh0znzxz31jqvf0d"))))
+                "0gs5ycbfpry6mn5srai54rqwyjj960yc1g5ppv3shg80ybkn4wzg"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index c1f962a4b6..37126040af 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -113,7 +113,7 @@ and they are executed on lists of files, hosts, users or other items.")
    ;; in particular mysql and gtk+.
    (inputs `(("expect" ,expect)
              ("freeipmi" ,freeipmi)
-             ("hwloc" ,hwloc)
+             ("hwloc" ,hwloc "lib")
              ("json-c" ,json-c)
              ("linux-pam" , linux-pam)
              ("munge" ,munge)
diff --git a/gnu/packages/patches/blast+-fix-makefile.patch b/gnu/packages/patches/blast+-fix-makefile.patch
new file mode 100644
index 0000000000..bfa46a7e51
--- /dev/null
+++ b/gnu/packages/patches/blast+-fix-makefile.patch
@@ -0,0 +1,15 @@
+Without this patch, the 'make install' attempts to 'install' a directory, which causes an error.
+
+diff --git a/c++/src/build-system/Makefile.in.top b/c++/src/build-system/Makefile.in.top
+index 1abe44f..d6000b3 100644
+--- a/c++/src/build-system/Makefile.in.top
++++ b/c++/src/build-system/Makefile.in.top
+@@ -51,7 +51,7 @@ install-toolkit:
+ 	    done
+ 	cd $(includedir0) && find * -name CVS -prune -o -print |\
+             cpio -pd $(pincludedir)
+-	$(INSTALL) -m 644 $(incdir)/* $(pincludedir)
++	cp -R $(incdir)/* $(pincludedir)
+ ## set up appropriate build and status directories somewhere under $(libdir)?
+ 
+ install-gbench:
diff --git a/gnu/packages/patches/dblatex-remove-multirow.patch b/gnu/packages/patches/dblatex-remove-multirow.patch
new file mode 100644
index 0000000000..62d1c64e08
--- /dev/null
+++ b/gnu/packages/patches/dblatex-remove-multirow.patch
@@ -0,0 +1,30 @@
+This patch is needed to fix dblatex with newer versions of TeX Live.
+It was taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=840189
+
+--- a/latex/style/dbk_table.sty	Sun Oct 02 23:21:03 2016 +0200
++++ b/latex/style/dbk_table.sty	Mon Oct 10 21:31:00 2016 +0200
+@@ -9,7 +9,6 @@
+ \usepackage{longtable}
+ \usepackage{lscape}
+ \usepackage{colortbl}
+-\usepackage{multirow}
+ \usepackage{calc}
+ \usepackage{hhline}
+
+@@ -21,16 +20,6 @@
+   \expandafter[\expandafter3\expandafter]\expandafter{%
+   \multicolumn{#1}{#2}{#3}}
+
+-% Make \@xmultirow long
+-\expandafter\long\expandafter\def%
+-\expandafter\@xmultirow%
+-\expandafter#\expandafter1%
+-\expandafter[\expandafter#\expandafter2\expandafter]%
+-\expandafter#\expandafter3%
+-\expandafter[\expandafter#\expandafter4\expandafter]%
+-\expandafter#\expandafter5%
+-\expandafter{\@xmultirow{#1}[#2]{#3}[#4]{#5}}
+-
+ % For the newtbl code
+ \newdimen\newtblstarfactor%
+ \newdimen\newtblsparewidth%
diff --git a/gnu/packages/patches/gajim-CVE-2016-10376.patch b/gnu/packages/patches/gajim-CVE-2016-10376.patch
deleted file mode 100644
index 591dd1af21..0000000000
--- a/gnu/packages/patches/gajim-CVE-2016-10376.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-Fix CVE-2016-10376.
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10376
-http://seclists.org/oss-sec/2017/q2/341
-https://dev.gajim.org/gajim/gajim/issues/8378
-
-Patch copied from upstream source repository:
-
-https://dev.gajim.org/gajim/gajim/commit/cb65cfc5aed9efe05208ebbb7fb2d41fcf7253cc
-
-(adapted for context in config.py)
-
-From cb65cfc5aed9efe05208ebbb7fb2d41fcf7253cc Mon Sep 17 00:00:00 2001
-From: Philipp Hörist <forenjunkie@chello.at>
-Date: Fri, 26 May 2017 23:10:05 +0200
-Subject: [PATCH] Add config option to activate XEP-0146 commands
-
-Some of the Commands have security implications, thats why we disable them per default
-Fixes #8378
----
- src/common/commands.py | 7 ++++---
- src/common/config.py   | 1 +
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/common/commands.py b/src/common/commands.py
-index 19d8c13..0eeb57c 100644
---- a/src/common/commands.py
-+++ b/src/common/commands.py
-@@ -345,9 +345,10 @@ class ConnectionCommands:
-     def __init__(self):
-         # a list of all commands exposed: node -> command class
-         self.__commands = {}
--        for cmdobj in (ChangeStatusCommand, ForwardMessagesCommand,
--        LeaveGroupchatsCommand, FwdMsgThenDisconnectCommand):
--            self.__commands[cmdobj.commandnode] = cmdobj
-+        if gajim.config.get('remote_commands'):
-+            for cmdobj in (ChangeStatusCommand, ForwardMessagesCommand,
-+            LeaveGroupchatsCommand, FwdMsgThenDisconnectCommand):
-+                self.__commands[cmdobj.commandnode] = cmdobj
- 
-         # a list of sessions; keys are tuples (jid, sessionid, node)
-         self.__sessions = {}
-diff --git a/src/common/config.py b/src/common/config.py
-index cde1f81..fe25455 100644
---- a/src/common/config.py
-+++ b/src/common/config.py
-@@ -314,6 +314,7 @@ class Config:
-             'ignore_incoming_attention': [opt_bool, False, _('If True, Gajim will ignore incoming attention requestd ("wizz").')],
-             'remember_opened_chat_controls': [ opt_bool, True, _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.')],
-             'positive_184_ack': [ opt_bool, False, _('If enabled, Gajim will show an icon to show that sent message has been received by your contact')],
-+            'remote_commands': [opt_bool, False, _('If True, Gajim will execute XEP-0146 Commands.')],
-     }, {})
- 
-     __options_per_key = {
---
-libgit2 0.24.0
-
diff --git a/gnu/packages/patches/gcr-disable-failing-tests.patch b/gnu/packages/patches/gcr-disable-failing-tests.patch
new file mode 100644
index 0000000000..862c51faf0
--- /dev/null
+++ b/gnu/packages/patches/gcr-disable-failing-tests.patch
@@ -0,0 +1,126 @@
+This patch removes a group of tests that fail because /var/lib/dbus/machine-id
+is not present in the build environment.
+
+--- gcr-3.20.0.old/Makefile.in	2017-07-03 18:05:10.742595317 -0400
++++ gcr-3.20.0/Makefile.in	2017-07-03 18:08:26.379565428 -0400
+@@ -482,8 +482,7 @@
+ 	test-openssh$(EXEEXT) test-secure-memory$(EXEEXT) \
+ 	test-trust$(EXEEXT) test-parser$(EXEEXT) test-record$(EXEEXT) \
+ 	test-memory-icon$(EXEEXT) test-gnupg-key$(EXEEXT) \
+-	test-gnupg-collection$(EXEEXT) test-gnupg-process$(EXEEXT) \
+-	test-system-prompt$(EXEEXT)
++	test-gnupg-collection$(EXEEXT) test-gnupg-process$(EXEEXT)
+ @WITH_GTK_TRUE@am__EXEEXT_4 = frob-certificate$(EXEEXT) \
+ @WITH_GTK_TRUE@	frob-combo-selector$(EXEEXT) \
+ @WITH_GTK_TRUE@	frob-gnupg-selector$(EXEEXT) \
+@@ -882,14 +881,6 @@
+ am_test_symkey_OBJECTS = egg/test-symkey.$(OBJEXT)
+ test_symkey_OBJECTS = $(am_test_symkey_OBJECTS)
+ test_symkey_DEPENDENCIES = $(am__DEPENDENCIES_4)
+-am_test_system_prompt_OBJECTS =  \
+-	gcr/test_system_prompt-test-system-prompt.$(OBJEXT)
+-test_system_prompt_OBJECTS = $(am_test_system_prompt_OBJECTS)
+-test_system_prompt_DEPENDENCIES = $(am__DEPENDENCIES_3)
+-test_system_prompt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+-	$(test_system_prompt_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+-	$(LDFLAGS) -o $@
+ am_test_trust_OBJECTS = gcr/test_trust-test-trust.$(OBJEXT)
+ test_trust_OBJECTS = $(am_test_trust_OBJECTS)
+ test_trust_DEPENDENCIES = $(am__DEPENDENCIES_3)
+@@ -974,8 +965,7 @@
+ 	$(test_secret_exchange_SOURCES) $(test_secure_memory_SOURCES) \
+ 	$(test_simple_certificate_SOURCES) \
+ 	$(test_subject_public_key_SOURCES) $(test_symkey_SOURCES) \
+-	$(test_system_prompt_SOURCES) $(test_trust_SOURCES) \
+-	$(test_util_SOURCES)
++	$(test_trust_SOURCES) $(test_util_SOURCES)
+ DIST_SOURCES = $(libegg_asn1x_la_SOURCES) $(libegg_hex_la_SOURCES) \
+ 	$(libegg_secmem_la_SOURCES) $(libegg_test_la_SOURCES) \
+ 	$(libegg_la_SOURCES) $(libgck_@GCK_MAJOR@_la_SOURCES) \
+@@ -1016,8 +1006,7 @@
+ 	$(test_secret_exchange_SOURCES) $(test_secure_memory_SOURCES) \
+ 	$(test_simple_certificate_SOURCES) \
+ 	$(test_subject_public_key_SOURCES) $(test_symkey_SOURCES) \
+-	$(test_system_prompt_SOURCES) $(test_trust_SOURCES) \
+-	$(test_util_SOURCES)
++	$(test_trust_SOURCES) $(test_util_SOURCES)
+ RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ 	ctags-recursive dvi-recursive html-recursive info-recursive \
+ 	install-data-recursive install-dvi-recursive \
+@@ -2117,8 +2106,7 @@
+ 	test-memory-icon \
+ 	test-gnupg-key \
+ 	test-gnupg-collection \
+-	test-gnupg-process \
+-	test-system-prompt
++	test-gnupg-process
+ 
+ test_certificate_SOURCES = gcr/test-certificate.c
+ test_certificate_CFLAGS = $(gcr_CFLAGS)
+@@ -2171,9 +2159,6 @@
+ test_subject_public_key_SOURCES = gcr/test-subject-public-key.c
+ test_subject_public_key_CFLAGS = $(gcr_CFLAGS)
+ test_subject_public_key_LDADD = $(gcr_LIBS)
+-test_system_prompt_SOURCES = gcr/test-system-prompt.c
+-test_system_prompt_CFLAGS = $(gcr_CFLAGS)
+-test_system_prompt_LDADD = $(gcr_LIBS)
+ test_trust_SOURCES = gcr/test-trust.c
+ test_trust_CFLAGS = $(gcr_CFLAGS)
+ test_trust_LDADD = $(gcr_LIBS)
+@@ -3283,12 +3268,6 @@
+ test-symkey$(EXEEXT): $(test_symkey_OBJECTS) $(test_symkey_DEPENDENCIES) $(EXTRA_test_symkey_DEPENDENCIES) 
+ 	@rm -f test-symkey$(EXEEXT)
+ 	$(AM_V_CCLD)$(LINK) $(test_symkey_OBJECTS) $(test_symkey_LDADD) $(LIBS)
+-gcr/test_system_prompt-test-system-prompt.$(OBJEXT):  \
+-	gcr/$(am__dirstamp) gcr/$(DEPDIR)/$(am__dirstamp)
+-
+-test-system-prompt$(EXEEXT): $(test_system_prompt_OBJECTS) $(test_system_prompt_DEPENDENCIES) $(EXTRA_test_system_prompt_DEPENDENCIES) 
+-	@rm -f test-system-prompt$(EXEEXT)
+-	$(AM_V_CCLD)$(test_system_prompt_LINK) $(test_system_prompt_OBJECTS) $(test_system_prompt_LDADD) $(LIBS)
+ gcr/test_trust-test-trust.$(OBJEXT): gcr/$(am__dirstamp) \
+ 	gcr/$(DEPDIR)/$(am__dirstamp)
+ 
+@@ -3446,7 +3425,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_secure_memory-test-secure-memory.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_simple_certificate-test-simple-certificate.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_subject_public_key-test-subject-public-key.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_trust-test-trust.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@gcr/$(DEPDIR)/test_util-test-util.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@ui/$(DEPDIR)/frob_certificate-frob-certificate.Po@am__quote@
+@@ -4968,20 +4946,6 @@
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_subject_public_key_CFLAGS) $(CFLAGS) -c -o gcr/test_subject_public_key-test-subject-public-key.obj `if test -f 'gcr/test-subject-public-key.c'; then $(CYGPATH_W) 'gcr/test-subject-public-key.c'; else $(CYGPATH_W) '$(srcdir)/gcr/test-subject-public-key.c'; fi`
+ 
+-gcr/test_system_prompt-test-system-prompt.o: gcr/test-system-prompt.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_system_prompt_CFLAGS) $(CFLAGS) -MT gcr/test_system_prompt-test-system-prompt.o -MD -MP -MF gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Tpo -c -o gcr/test_system_prompt-test-system-prompt.o `test -f 'gcr/test-system-prompt.c' || echo '$(srcdir)/'`gcr/test-system-prompt.c
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Tpo gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gcr/test-system-prompt.c' object='gcr/test_system_prompt-test-system-prompt.o' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_system_prompt_CFLAGS) $(CFLAGS) -c -o gcr/test_system_prompt-test-system-prompt.o `test -f 'gcr/test-system-prompt.c' || echo '$(srcdir)/'`gcr/test-system-prompt.c
+-
+-gcr/test_system_prompt-test-system-prompt.obj: gcr/test-system-prompt.c
+-@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_system_prompt_CFLAGS) $(CFLAGS) -MT gcr/test_system_prompt-test-system-prompt.obj -MD -MP -MF gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Tpo -c -o gcr/test_system_prompt-test-system-prompt.obj `if test -f 'gcr/test-system-prompt.c'; then $(CYGPATH_W) 'gcr/test-system-prompt.c'; else $(CYGPATH_W) '$(srcdir)/gcr/test-system-prompt.c'; fi`
+-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Tpo gcr/$(DEPDIR)/test_system_prompt-test-system-prompt.Po
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gcr/test-system-prompt.c' object='gcr/test_system_prompt-test-system-prompt.obj' libtool=no @AMDEPBACKSLASH@
+-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_system_prompt_CFLAGS) $(CFLAGS) -c -o gcr/test_system_prompt-test-system-prompt.obj `if test -f 'gcr/test-system-prompt.c'; then $(CYGPATH_W) 'gcr/test-system-prompt.c'; else $(CYGPATH_W) '$(srcdir)/gcr/test-system-prompt.c'; fi`
+-
+ gcr/test_trust-test-trust.o: gcr/test-trust.c
+ @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_trust_CFLAGS) $(CFLAGS) -MT gcr/test_trust-test-trust.o -MD -MP -MF gcr/$(DEPDIR)/test_trust-test-trust.Tpo -c -o gcr/test_trust-test-trust.o `test -f 'gcr/test-trust.c' || echo '$(srcdir)/'`gcr/test-trust.c
+ @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) gcr/$(DEPDIR)/test_trust-test-trust.Tpo gcr/$(DEPDIR)/test_trust-test-trust.Po
+@@ -5808,13 +5772,6 @@
+ 	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ 	--log-file $$b.log --trs-file $$b.trs \
+ 	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+-	"$$tst" $(AM_TESTS_FD_REDIRECT)
+-test-system-prompt.log: test-system-prompt$(EXEEXT)
+-	@p='test-system-prompt$(EXEEXT)'; \
+-	b='test-system-prompt'; \
+-	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+-	--log-file $$b.log --trs-file $$b.trs \
+-	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ 	"$$tst" $(AM_TESTS_FD_REDIRECT)
+ .test.log:
+ 	@p='$<'; \
diff --git a/gnu/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch b/gnu/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch
new file mode 100644
index 0000000000..86a8ed1691
--- /dev/null
+++ b/gnu/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch
@@ -0,0 +1,31 @@
+This patch comes from Debian.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=771052
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835737
+
+--- gcr-3.20.0.old/gcr/test-gnupg-collection.c	2017-06-29 14:26:33.810838197 -0400
++++ gcr-3.20.0/gcr/test-gnupg-collection.c	2017-06-30 17:25:09.149383067 -0400
+@@ -115,6 +115,14 @@
+
+	g_object_unref (test->collection);
+
++	/* remove potential gpg 2.1 extras, ignore any errors. */
++	cmd = g_strdup_printf ("rm -rf %s/*.d", test->directory);
++	system(cmd);
++	g_free(cmd);
++	cmd = g_strdup_printf ("rm -f %s/.gpg-v21-migrated", test->directory);
++	system(cmd);
++	g_free(cmd);
++
+	cmd = g_strdup_printf ("rm -f %s/*", test->directory);
+	g_spawn_check_exit_status (system (cmd), &error);
+	g_assert_no_error (error);
+@@ -202,7 +210,7 @@
+	GcrGnupgKey *key;
+
+	_gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
+-	egg_test_wait_until (500);
++	egg_test_wait_until (2500);
+	g_assert (test->result);
+	_gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
+	g_assert_no_error (error);
diff --git a/gnu/packages/patches/gemma-intel-compat.patch b/gnu/packages/patches/gemma-intel-compat.patch
new file mode 100644
index 0000000000..f12ec56d9b
--- /dev/null
+++ b/gnu/packages/patches/gemma-intel-compat.patch
@@ -0,0 +1,44 @@
+From da1ed24209121f7b0f03f360b1029d7125a38e70 Mon Sep 17 00:00:00 2001
+From: Efraim Flashner <efraim@flashner.co.il>
+Date: Tue, 4 Jul 2017 12:44:53 +0300
+Subject: [PATCH] Add NO_INTEL_COMPAT flag to Makefile.
+
+see also: https://github.com/xiangzhou/GEMMA/pull/47
+
+---
+ Makefile | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 5bb8748..712b1ad 100644
+--- a/Makefile
++++ b/Makefile
+@@ -11,6 +11,7 @@
+ SYS = LNX
+ # Leave blank after "=" to disable; put "= 1" to enable
+ WITH_LAPACK = 1
++NO_INTEL_COMPAT = 
+ FORCE_32BIT = 
+ FORCE_DYNAMIC = 
+ DIST_NAME = gemma-0.96
+@@ -64,10 +65,13 @@ endif
+   HDR += $(SRC_DIR)/lapack.h
+ endif
+ 
+-ifdef FORCE_32BIT
+-  CPPFLAGS += -m32
+-else
+-  CPPFLAGS += -m64
++ifdef NO_INTEL_COMPAT
++  else
++  ifdef FORCE_32BIT
++    CPPFLAGS += -m32
++  else
++    CPPFLAGS += -m64
++  endif
+ endif
+ 
+ ifdef FORCE_DYNAMIC
+-- 
+2.13.2
+
diff --git a/gnu/packages/patches/guile-rsvg-pkgconfig.patch b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
index 2272b4e1cd..51483a3472 100644
--- a/gnu/packages/patches/guile-rsvg-pkgconfig.patch
+++ b/gnu/packages/patches/guile-rsvg-pkgconfig.patch
@@ -9,7 +9,7 @@ and LDFLAGS for Guile would not be captured.
  
 +dnl The above macro fails to set the 'GUILE_CFLAGS' and 'GUILE_LIBS'
 +dnl substitution variables, hence this line.
-+PKG_CHECK_MODULES(GUILE, guile-2.0)
++PKG_CHECK_MODULES(GUILE, guile-$GUILE_EFFECTIVE_VERSION)
 +
  PKG_CHECK_MODULES(GUILE_CAIRO, guile-cairo >= 1.4.0)
  AC_SUBST(GUILE_CAIRO_LIBS)
diff --git a/gnu/packages/patches/libtiff-CVE-2016-10688.patch b/gnu/packages/patches/libtiff-CVE-2016-10688.patch
new file mode 100644
index 0000000000..1630274c61
--- /dev/null
+++ b/gnu/packages/patches/libtiff-CVE-2016-10688.patch
@@ -0,0 +1,92 @@
+Fix CVE-2017-10688:
+
+http://bugzilla.maptools.org/show_bug.cgi?id=2712
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10688
+https://security-tracker.debian.org/tracker/CVE-2017-10688
+
+Patch lifted from upstream source repository (the changes to 'ChangeLog'
+don't apply to the libtiff 4.0.8 release tarball).
+
+3rd party Git reference:
+
+https://github.com/vadz/libtiff/commit/6173a57d39e04d68b139f8c1aa499a24dbe74ba1
+
+2017-06-30  Even Rouault <even.rouault at spatialys.com>
+
+        * libtiff/tif_dirwrite.c: in TIFFWriteDirectoryTagCheckedXXXX()
+        functions associated with LONG8/SLONG8 data type, replace assertion
+that
+        the file is BigTIFF, by a non-fatal error.
+        Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2712
+        Reported by team OWL337
+
+
+
+/cvs/maptools/cvsroot/libtiff/ChangeLog,v  <--  ChangeLog
+new revision: 1.1259; previous revision: 1.1258
+/cvs/maptools/cvsroot/libtiff/libtiff/tif_dirwrite.c,v  <-- 
+libtiff/tif_dirwrite.c
+new revision: 1.86; previous revision: 1.85
+
+Index: libtiff/libtiff/tif_dirwrite.c
+===================================================================
+RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_dirwrite.c,v
+retrieving revision 1.85
+retrieving revision 1.86
+diff -u -r1.85 -r1.86
+--- libtiff/libtiff/tif_dirwrite.c	11 Jan 2017 16:09:02 -0000	1.85
++++ libtiff/libtiff/tif_dirwrite.c	30 Jun 2017 17:29:44 -0000	1.86
+@@ -1,4 +1,4 @@
+-/* $Id: tif_dirwrite.c,v 1.85 2017-01-11 16:09:02 erouault Exp $ */
++/* $Id: tif_dirwrite.c,v 1.86 2017-06-30 17:29:44 erouault Exp $ */
+ 
+ /*
+  * Copyright (c) 1988-1997 Sam Leffler
+@@ -2111,7 +2111,10 @@
+ {
+ 	uint64 m;
+ 	assert(sizeof(uint64)==8);
+-	assert(tif->tif_flags&TIFF_BIGTIFF);
++	if( !(tif->tif_flags&TIFF_BIGTIFF) ) {
++		TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF");
++		return(0);
++	}
+ 	m=value;
+ 	if (tif->tif_flags&TIFF_SWAB)
+ 		TIFFSwabLong8(&m);
+@@ -2124,7 +2127,10 @@
+ {
+ 	assert(count<0x20000000);
+ 	assert(sizeof(uint64)==8);
+-	assert(tif->tif_flags&TIFF_BIGTIFF);
++	if( !(tif->tif_flags&TIFF_BIGTIFF) ) {
++		TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","LONG8 not allowed for ClassicTIFF");
++		return(0);
++	}
+ 	if (tif->tif_flags&TIFF_SWAB)
+ 		TIFFSwabArrayOfLong8(value,count);
+ 	return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_LONG8,count,count*8,value));
+@@ -2136,7 +2142,10 @@
+ {
+ 	int64 m;
+ 	assert(sizeof(int64)==8);
+-	assert(tif->tif_flags&TIFF_BIGTIFF);
++	if( !(tif->tif_flags&TIFF_BIGTIFF) ) {
++		TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF");
++		return(0);
++	}
+ 	m=value;
+ 	if (tif->tif_flags&TIFF_SWAB)
+ 		TIFFSwabLong8((uint64*)(&m));
+@@ -2149,7 +2158,10 @@
+ {
+ 	assert(count<0x20000000);
+ 	assert(sizeof(int64)==8);
+-	assert(tif->tif_flags&TIFF_BIGTIFF);
++	if( !(tif->tif_flags&TIFF_BIGTIFF) ) {
++		TIFFErrorExt(tif->tif_clientdata,"TIFFWriteDirectoryTagCheckedLong8","SLONG8 not allowed for ClassicTIFF");
++		return(0);
++	}
+ 	if (tif->tif_flags&TIFF_SWAB)
+ 		TIFFSwabArrayOfLong8((uint64*)value,count);
+ 	return(TIFFWriteDirectoryTagData(tif,ndir,dir,tag,TIFF_SLONG8,count,count*8,value));
diff --git a/gnu/packages/patches/libtiff-CVE-2017-9936.patch b/gnu/packages/patches/libtiff-CVE-2017-9936.patch
new file mode 100644
index 0000000000..fbdbcd0f0b
--- /dev/null
+++ b/gnu/packages/patches/libtiff-CVE-2017-9936.patch
@@ -0,0 +1,47 @@
+Fix CVE-2017-9936:
+
+http://bugzilla.maptools.org/show_bug.cgi?id=2706
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9936
+https://security-tracker.debian.org/tracker/CVE-2017-9936
+
+Patch lifted from upstream source repository (the changes to 'ChangeLog'
+don't apply to the libtiff 4.0.8 release tarball).
+
+3rd party Git reference:
+
+https://github.com/vadz/libtiff/commit/fe8d7165956b88df4837034a9161dc5fd20cf67a
+
+2017-06-26  Even Rouault <even.rouault at spatialys.com>
+
+        * libtiff/tif_jbig.c: fix memory leak in error code path of
+JBIGDecode()
+        Fixes http://bugzilla.maptools.org/show_bug.cgi?id=2706
+        Reported by team OWL337
+
+/cvs/maptools/cvsroot/libtiff/ChangeLog,v  <--  ChangeLog
+new revision: 1.1254; previous revision: 1.1253
+/cvs/maptools/cvsroot/libtiff/libtiff/tif_jbig.c,v  <--  libtiff/tif_jbig.c
+new revision: 1.16; previous revision: 1.15
+
+Index: libtiff/libtiff/tif_jbig.c
+===================================================================
+RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_jbig.c,v
+retrieving revision 1.15
+retrieving revision 1.16
+diff -u -r1.15 -r1.16
+--- libtiff/libtiff/tif_jbig.c	10 Mar 2010 18:56:48 -0000	1.15
++++ libtiff/libtiff/tif_jbig.c	26 Jun 2017 15:20:00 -0000	1.16
+@@ -1,4 +1,4 @@
+-/* $Id: tif_jbig.c,v 1.15 2010-03-10 18:56:48 bfriesen Exp $ */
++/* $Id: tif_jbig.c,v 1.16 2017-06-26 15:20:00 erouault Exp $ */
+ 
+ /*
+  * Copyright (c) 1988-1997 Sam Leffler
+@@ -94,6 +94,7 @@
+ 			     jbg_strerror(decodeStatus)
+ #endif
+ 			     );
++		jbg_dec_free(&decoder);
+ 		return 0;
+ 	}
+ 
diff --git a/gnu/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch b/gnu/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch
new file mode 100644
index 0000000000..060740d953
--- /dev/null
+++ b/gnu/packages/patches/libtiff-tiffycbcrtorgb-integer-overflow.patch
@@ -0,0 +1,57 @@
+Fix an integer overflow TIFFYCbCrtoRGB():
+
+https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1844
+
+3rd party Git reference:
+
+https://github.com/vadz/libtiff/commit/02669064e927074819ce1ed39aba0fccaa167717
+
+2017-05-29  Even Rouault <even.rouault at spatialys.com>
+
+        * libtiff/tif_color.c: TIFFYCbCrToRGBInit(): stricter clamping to avoid
+        int32 overflow in TIFFYCbCrtoRGB().
+        Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1844
+        Credit to OSS Fuzz
+
+
+/cvs/maptools/cvsroot/libtiff/ChangeLog,v  <--  ChangeLog
+new revision: 1.1241; previous revision: 1.1240
+/cvs/maptools/cvsroot/libtiff/libtiff/tif_color.c,v  <--  libtiff/tif_color.c
+new revision: 1.24; previous revision: 1.23
+
+Index: libtiff/libtiff/tif_color.c
+===================================================================
+RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_color.c,v
+retrieving revision 1.23
+retrieving revision 1.24
+diff -u -r1.23 -r1.24
+--- libtiff/libtiff/tif_color.c	13 May 2017 18:17:34 -0000	1.23
++++ libtiff/libtiff/tif_color.c	29 May 2017 10:12:54 -0000	1.24
+@@ -1,4 +1,4 @@
+-/* $Id: tif_color.c,v 1.23 2017-05-13 18:17:34 erouault Exp $ */
++/* $Id: tif_color.c,v 1.24 2017-05-29 10:12:54 erouault Exp $ */
+ 
+ /*
+  * Copyright (c) 1988-1997 Sam Leffler
+@@ -275,10 +275,10 @@
+       for (i = 0, x = -128; i < 256; i++, x++) {
+ 	    int32 Cr = (int32)CLAMPw(Code2V(x, refBlackWhite[4] - 128.0F,
+ 			    refBlackWhite[5] - 128.0F, 127),
+-                            -128.0F * 64, 128.0F * 64);
++                            -128.0F * 32, 128.0F * 32);
+ 	    int32 Cb = (int32)CLAMPw(Code2V(x, refBlackWhite[2] - 128.0F,
+ 			    refBlackWhite[3] - 128.0F, 127),
+-                            -128.0F * 64, 128.0F * 64);
++                            -128.0F * 32, 128.0F * 32);
+ 
+ 	    ycbcr->Cr_r_tab[i] = (int32)((D1*Cr + ONE_HALF)>>SHIFT);
+ 	    ycbcr->Cb_b_tab[i] = (int32)((D3*Cb + ONE_HALF)>>SHIFT);
+@@ -286,7 +286,7 @@
+ 	    ycbcr->Cb_g_tab[i] = D4*Cb + ONE_HALF;
+ 	    ycbcr->Y_tab[i] =
+ 		    (int32)CLAMPw(Code2V(x + 128, refBlackWhite[0], refBlackWhite[1], 255),
+-                                  -128.0F * 64, 128.0F * 64);
++                                  -128.0F * 32, 128.0F * 32);
+       }
+     }
+ 
diff --git a/gnu/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch b/gnu/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch
new file mode 100644
index 0000000000..a990641a49
--- /dev/null
+++ b/gnu/packages/patches/libtiff-tiffycbcrtorgbinit-integer-overflow.patch
@@ -0,0 +1,43 @@
+Fix an integer overflow in initYCbCrConversion():
+
+https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907
+
+3rd party Git reference
+
+https://github.com/vadz/libtiff/commit/468988860e0dae62ebbf991627c74bcbb4bd256f
+
+        * libtiff/tif_getimage.c: initYCbCrConversion(): stricter validation for
+        refBlackWhite coefficients values. To avoid invalid float->int32 conversion
+        (when refBlackWhite[0] == 2147483648.f)
+        Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1907
+        Credit to OSS Fuzz
+
+
+/cvs/maptools/cvsroot/libtiff/ChangeLog,v  <--  ChangeLog
+new revision: 1.1243; previous revision: 1.1242
+/cvs/maptools/cvsroot/libtiff/libtiff/tif_getimage.c,v  <--  libtiff/tif_getimage.c
+new revision: 1.107; previous revision: 1.106
+
+Index: libtiff/libtiff/tif_getimage.c
+===================================================================
+RCS file: /cvs/maptools/cvsroot/libtiff/libtiff/tif_getimage.c,v
+retrieving revision 1.106
+retrieving revision 1.107
+diff -u -r1.106 -r1.107
+--- libtiff/libtiff/tif_getimage.c	20 May 2017 11:29:02 -0000	1.106
++++ libtiff/libtiff/tif_getimage.c	29 May 2017 11:29:06 -0000	1.107
+@@ -1,4 +1,4 @@
+-/* $Id: tif_getimage.c,v 1.106 2017-05-20 11:29:02 erouault Exp $ */
++/* $Id: tif_getimage.c,v 1.107 2017-05-29 11:29:06 erouault Exp $ */
+ 
+ /*
+  * Copyright (c) 1991-1997 Sam Leffler
+@@ -2241,7 +2241,7 @@
+ 
+ static int isInRefBlackWhiteRange(float f)
+ {
+-    return f >= (float)(-0x7FFFFFFF + 128) && f <= (float)0x7FFFFFFF;
++    return f > (float)(-0x7FFFFFFF + 128) && f < (float)0x7FFFFFFF;
+ }
+ 
+ static int
diff --git a/gnu/packages/patches/ncurses-CVE-2017-10684-10685.patch b/gnu/packages/patches/ncurses-CVE-2017-10684-10685.patch
new file mode 100644
index 0000000000..1f1b26801d
--- /dev/null
+++ b/gnu/packages/patches/ncurses-CVE-2017-10684-10685.patch
@@ -0,0 +1,200 @@
+Fix CVE-2017-10684 and CVE-2017-10685:
+
+http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10684
+http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-10685
+
+Bug reports included proof of concept reproducer inputs:
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1464684
+https://bugzilla.redhat.com/show_bug.cgi?id=1464685
+https://bugzilla.redhat.com/show_bug.cgi?id=1464686
+https://bugzilla.redhat.com/show_bug.cgi?id=1464687
+https://bugzilla.redhat.com/show_bug.cgi?id=1464688
+https://bugzilla.redhat.com/show_bug.cgi?id=1464691
+https://bugzilla.redhat.com/show_bug.cgi?id=1464692
+
+Patches copied from ncurses patch release 20170701:
+
+ftp://invisible-island.net/ncurses/6.0/ncurses-6.0-20170701.patch.gz
+
+Excerpt from patch release announcement:
+
+ + add/improve checks in tic's parser to address invalid input
+   (Redhat #1464684, #1464685, #1464686, #1464691).
+   + alloc_entry.c, add a check for a null-pointer.
+   + parse_entry.c, add several checks for valid pointers as well as
+     one check to ensure that a single character on a line is not
+     treated as the 2-character termcap short-name.
+ + the fixes for Redhat #1464685 obscured a problem subsequently
+   reported in Redhat #1464687; the given test-case was no longer
+   reproducible.  Testing without the fixes for the earlier reports
+   showed a problem with buffer overflow in dump_entry.c, which is
+   addressed by reducing the use of a fixed-size buffer.
+
+https://lists.gnu.org/archive/html/bug-ncurses/2017-07/msg00001.html
+
+--- ncurses-6.0-20170624+/ncurses/tinfo/alloc_entry.c	2017-04-09 23:33:51.000000000 +0000
++++ ncurses-6.0-20170701/ncurses/tinfo/alloc_entry.c	2017-06-27 23:48:55.000000000 +0000
+@@ -96,7 +96,11 @@
+ {
+     char *result = 0;
+     size_t old_next_free = next_free;
+-    size_t len = strlen(string) + 1;
++    size_t len;
++
++    if (string == 0)
++	return _nc_save_str("");
++    len = strlen(string) + 1;
+ 
+     if (len == 1 && next_free != 0) {
+ 	/*
+--- ncurses-6.0-20170624+/ncurses/tinfo/parse_entry.c	2017-06-24 22:59:46.000000000 +0000
++++ ncurses-6.0-20170701/ncurses/tinfo/parse_entry.c	2017-06-28 00:53:12.000000000 +0000
+@@ -236,13 +236,14 @@
+      * implemented it.  Note that the resulting terminal type was never the
+      * 2-character name, but was instead the first alias after that.
+      */
++#define ok_TC2(s) (isgraph(UChar(s)) && (s) != '|')
+     ptr = _nc_curr_token.tk_name;
+     if (_nc_syntax == SYN_TERMCAP
+ #if NCURSES_XNAMES
+ 	&& !_nc_user_definable
+ #endif
+ 	) {
+-	if (ptr[2] == '|') {
++	if (ok_TC2(ptr[0]) && ok_TC2(ptr[1]) && (ptr[2] == '|')) {
+ 	    ptr += 3;
+ 	    _nc_curr_token.tk_name[2] = '\0';
+ 	}
+@@ -284,9 +285,11 @@
+ 	if (is_use || is_tc) {
+ 	    entryp->uses[entryp->nuses].name = _nc_save_str(_nc_curr_token.tk_valstring);
+ 	    entryp->uses[entryp->nuses].line = _nc_curr_line;
+-	    entryp->nuses++;
+-	    if (entryp->nuses > 1 && is_tc) {
+-		BAD_TC_USAGE
++	    if (VALID_STRING(entryp->uses[entryp->nuses].name)) {
++		entryp->nuses++;
++		if (entryp->nuses > 1 && is_tc) {
++		    BAD_TC_USAGE
++		}
+ 	    }
+ 	} else {
+ 	    /* normal token lookup */
+@@ -588,7 +591,7 @@
+ static void
+ append_acs(string_desc * dst, int code, char *src)
+ {
+-    if (src != 0 && strlen(src) == 1) {
++    if (VALID_STRING(src) && strlen(src) == 1) {
+ 	append_acs0(dst, code, *src);
+     }
+ }
+@@ -849,15 +852,14 @@
+ 	    }
+ 
+ 	    if (tp->Strings[to_ptr->nte_index]) {
++		const char *s = tp->Strings[from_ptr->nte_index];
++		const char *t = tp->Strings[to_ptr->nte_index];
+ 		/* There's no point in warning about it if it's the same
+ 		 * string; that's just an inefficiency.
+ 		 */
+-		if (strcmp(
+-			      tp->Strings[from_ptr->nte_index],
+-			      tp->Strings[to_ptr->nte_index]) != 0)
++		if (VALID_STRING(s) && VALID_STRING(t) && strcmp(s, t) != 0)
+ 		    _nc_warning("%s (%s) already has an explicit value %s, ignoring ko",
+-				ap->to, ap->from,
+-				_nc_visbuf(tp->Strings[to_ptr->nte_index]));
++				ap->to, ap->from, t);
+ 		continue;
+ 	    }
+ 
+--- ncurses-6.0-20170624+/progs/dump_entry.c	2017-06-23 22:47:43.000000000 +0000
++++ ncurses-6.0-20170701/progs/dump_entry.c	2017-07-01 11:27:29.000000000 +0000
+@@ -841,9 +841,10 @@
+     PredIdx num_strings = 0;
+     bool outcount = 0;
+ 
+-#define WRAP_CONCAT	\
+-	wrap_concat(buffer); \
+-	outcount = TRUE
++#define WRAP_CONCAT1(s)		wrap_concat(s); outcount = TRUE
++#define WRAP_CONCAT2(a,b)	wrap_concat(a); WRAP_CONCAT1(b)
++#define WRAP_CONCAT3(a,b,c)	wrap_concat(a); WRAP_CONCAT2(b,c)
++#define WRAP_CONCAT		WRAP_CONCAT1(buffer)
+ 
+     len = 12;			/* terminfo file-header */
+ 
+@@ -1007,9 +1008,9 @@
+ 		    set_attributes = save_sgr;
+ 
+ 		    trimmed_sgr0 = _nc_trim_sgr0(tterm);
+-		    if (strcmp(capability, trimmed_sgr0))
++		    if (strcmp(capability, trimmed_sgr0)) {
+ 			capability = trimmed_sgr0;
+-		    else {
++		    } else {
+ 			if (trimmed_sgr0 != exit_attribute_mode)
+ 			    free(trimmed_sgr0);
+ 		    }
+@@ -1046,13 +1047,21 @@
+ 			_nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
+ 				    "%s=!!! %s WILL NOT CONVERT !!!",
+ 				    name, srccap);
++			WRAP_CONCAT;
+ 		    } else if (suppress_untranslatable) {
+ 			continue;
+ 		    } else {
+ 			char *s = srccap, *d = buffer;
+-			_nc_SPRINTF(d, _nc_SLIMIT(sizeof(buffer)) "..%s=", name);
+-			d += strlen(d);
++			WRAP_CONCAT3("..", name, "=");
+ 			while ((*d = *s++) != 0) {
++			    if ((d - buffer - 1) >= (int) sizeof(buffer)) {
++				fprintf(stderr,
++					"%s: value for %s is too long\n",
++					_nc_progname,
++					name);
++				*d = '\0';
++				break;
++			    }
+ 			    if (*d == ':') {
+ 				*d++ = '\\';
+ 				*d = ':';
+@@ -1061,13 +1070,12 @@
+ 			    }
+ 			    d++;
+ 			}
++			WRAP_CONCAT;
+ 		    }
+ 		} else {
+-		    _nc_SPRINTF(buffer, _nc_SLIMIT(sizeof(buffer))
+-				"%s=%s", name, cv);
++		    WRAP_CONCAT3(name, "=", cv);
+ 		}
+ 		len += (int) strlen(capability) + 1;
+-		WRAP_CONCAT;
+ 	    } else {
+ 		char *src = _nc_tic_expand(capability,
+ 					   outform == F_TERMINFO, numbers);
+@@ -1083,8 +1091,7 @@
+ 		    strcpy_DYN(&tmpbuf, src);
+ 		}
+ 		len += (int) strlen(capability) + 1;
+-		wrap_concat(tmpbuf.text);
+-		outcount = TRUE;
++		WRAP_CONCAT1(tmpbuf.text);
+ 	    }
+ 	}
+ 	/* e.g., trimmed_sgr0 */
+@@ -1526,7 +1533,8 @@
+ 		}
+ 		if (len > critlen) {
+ 		    (void) fprintf(stderr,
+-				   "warning: %s entry is %d bytes long\n",
++				   "%s: %s entry is %d bytes long\n",
++				   _nc_progname,
+ 				   _nc_first_name(tterm->term_names),
+ 				   len);
+ 		    SHOW_WHY("# WARNING: this entry, %d bytes long, may core-dump %s libraries!\n",
diff --git a/gnu/packages/patches/python-pyopenssl-17.1.0-test-overflow.patch b/gnu/packages/patches/python-pyopenssl-17.1.0-test-overflow.patch
new file mode 100644
index 0000000000..06b2f4fe03
--- /dev/null
+++ b/gnu/packages/patches/python-pyopenssl-17.1.0-test-overflow.patch
@@ -0,0 +1,36 @@
+Resolves a test failure on 32-bit platforms.
+
+https://github.com/pyca/pyopenssl/issues/657
+
+Patch copied from upstream source repository:
+
+https://github.com/pyca/pyopenssl/commit/ecc0325479c0d5c5f2ca88b4550e87cdb59d6c95
+
+From ecc0325479c0d5c5f2ca88b4550e87cdb59d6c95 Mon Sep 17 00:00:00 2001
+From: Alex Gaynor <alex.gaynor@gmail.com>
+Date: Thu, 6 Jul 2017 22:14:44 -0400
+Subject: [PATCH] Fixed #657 -- handle OverflowErrors on large allocation
+ requests
+
+---
+ tests/test_rand.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_rand.py b/tests/test_rand.py
+index bdd3af08..6adf72a1 100644
+--- a/tests/test_rand.py
++++ b/tests/test_rand.py
+@@ -32,10 +32,10 @@ def test_bytes_wrong_args(self, args):
+ 
+     def test_insufficient_memory(self):
+         """
+-        `OpenSSL.rand.bytes` raises `MemoryError` if more bytes are requested
+-        than will fit in memory.
++        `OpenSSL.rand.bytes` raises `MemoryError` or `OverflowError` if more
++        bytes are requested than will fit in memory.
+         """
+-        with pytest.raises(MemoryError):
++        with pytest.raises((MemoryError, OverflowError)):
+             rand.bytes(sys.maxsize)
+ 
+     def test_bytes(self):
diff --git a/gnu/packages/patches/python-pyopenssl-skip-network-test.patch b/gnu/packages/patches/python-pyopenssl-skip-network-test.patch
deleted file mode 100644
index 1ac7324c8b..0000000000
--- a/gnu/packages/patches/python-pyopenssl-skip-network-test.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-This test tries connecting to an external server which is not supported
-in the build environment. See discussion at:
-
-https://lists.gnu.org/archive/html/guix-devel/2016-12/msg00650.html
-
-diff --git a/tests/test_ssl.py b/tests/test_ssl.py
-index ee849fd..60048b8 100644
---- a/tests/test_ssl.py
-+++ b/tests/test_ssl.py
-@@ -1113,33 +1113,6 @@ class TestContext(object):
-         reason="set_default_verify_paths appears not to work on Windows.  "
-         "See LP#404343 and LP#404344."
-     )
--    def test_set_default_verify_paths(self):
--        """
--        `Context.set_default_verify_paths` causes the platform-specific CA
--        certificate locations to be used for verification purposes.
--        """
--        # Testing this requires a server with a certificate signed by one
--        # of the CAs in the platform CA location.  Getting one of those
--        # costs money.  Fortunately (or unfortunately, depending on your
--        # perspective), it's easy to think of a public server on the
--        # internet which has such a certificate.  Connecting to the network
--        # in a unit test is bad, but it's the only way I can think of to
--        # really test this. -exarkun
--
--        # Arg, verisign.com doesn't speak anything newer than TLS 1.0
--        context = Context(SSLv23_METHOD)
--        context.set_default_verify_paths()
--        context.set_verify(
--            VERIFY_PEER,
--            lambda conn, cert, errno, depth, preverify_ok: preverify_ok)
--
--        client = socket()
--        client.connect(("encrypted.google.com", 443))
--        clientSSL = Connection(context, client)
--        clientSSL.set_connect_state()
--        clientSSL.do_handshake()
--        clientSSL.send(b"GET / HTTP/1.0\r\n\r\n")
--        assert clientSSL.recv(1024)
- 
-     def test_add_extra_chain_cert_invalid_cert(self):
-         """
diff --git a/gnu/packages/patches/xorg-server-CVE-2017-10971.patch b/gnu/packages/patches/xorg-server-CVE-2017-10971.patch
new file mode 100644
index 0000000000..2696033e58
--- /dev/null
+++ b/gnu/packages/patches/xorg-server-CVE-2017-10971.patch
@@ -0,0 +1,153 @@
+From 215f894965df5fb0bb45b107d84524e700d2073c Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:40 +0300
+Subject: dix: Disallow GenericEvent in SendEvent request.
+
+The SendEvent request holds xEvent which is exactly 32 bytes long, no more,
+no less. Both ProcSendEvent and SProcSendEvent verify that the received data
+exactly match the request size. However nothing stops the client from passing
+in event with xEvent::type = GenericEvent and any value of
+xGenericEvent::length.
+
+In the case of ProcSendEvent, the event will be eventually passed to
+WriteEventsToClient which will see that it is Generic event and copy the
+arbitrary length from the receive buffer (and possibly past it) and send it to
+the other client. This allows clients to copy unitialized heap memory out of X
+server or to crash it.
+
+In case of SProcSendEvent, it will attempt to swap the incoming event by
+calling a swapping function from the EventSwapVector array. The swapped event
+is written to target buffer, which in this case is local xEvent variable. The
+xEvent variable is 32 bytes long, but the swapping functions for GenericEvents
+expect that the target buffer has size matching the size of the source
+GenericEvent. This allows clients to cause stack buffer overflows.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/dix/events.c b/dix/events.c
+index 3e3a01e..d3a33ea 100644
+--- a/dix/events.c
++++ b/dix/events.c
+@@ -5366,6 +5366,12 @@ ProcSendEvent(ClientPtr client)
+         client->errorValue = stuff->event.u.u.type;
+         return BadValue;
+     }
++    /* Generic events can have variable size, but SendEvent request holds
++       exactly 32B of event data. */
++    if (stuff->event.u.u.type == GenericEvent) {
++        client->errorValue = stuff->event.u.u.type;
++        return BadValue;
++    }
+     if (stuff->event.u.u.type == ClientMessage &&
+         stuff->event.u.u.detail != 8 &&
+         stuff->event.u.u.detail != 16 && stuff->event.u.u.detail != 32) {
+diff --git a/dix/swapreq.c b/dix/swapreq.c
+index 719e9b8..6785059 100644
+--- a/dix/swapreq.c
++++ b/dix/swapreq.c
+@@ -292,6 +292,13 @@ SProcSendEvent(ClientPtr client)
+     swapl(&stuff->destination);
+     swapl(&stuff->eventMask);
+ 
++    /* Generic events can have variable size, but SendEvent request holds
++       exactly 32B of event data. */
++    if (stuff->event.u.u.type == GenericEvent) {
++        client->errorValue = stuff->event.u.u.type;
++        return BadValue;
++    }
++
+     /* Swap event */
+     proc = EventSwapVector[stuff->event.u.u.type & 0177];
+     if (!proc || proc == NotImplemented)        /* no swapping proc; invalid event type? */
+-- 
+cgit v0.10.2
+
+From 8caed4df36b1f802b4992edcfd282cbeeec35d9d Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:41 +0300
+Subject: Xi: Verify all events in ProcXSendExtensionEvent.
+
+The requirement is that events have type in range
+EXTENSION_EVENT_BASE..lastEvent, but it was tested
+only for first event of all.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 1cf118a..5e63bfc 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -117,7 +117,7 @@ SProcXSendExtensionEvent(ClientPtr client)
+ int
+ ProcXSendExtensionEvent(ClientPtr client)
+ {
+-    int ret;
++    int ret, i;
+     DeviceIntPtr dev;
+     xEvent *first;
+     XEventClass *list;
+@@ -141,10 +141,12 @@ ProcXSendExtensionEvent(ClientPtr client)
+     /* The client's event type must be one defined by an extension. */
+ 
+     first = ((xEvent *) &stuff[1]);
+-    if (!((EXTENSION_EVENT_BASE <= first->u.u.type) &&
+-          (first->u.u.type < lastEvent))) {
+-        client->errorValue = first->u.u.type;
+-        return BadValue;
++    for (i = 0; i < stuff->num_events; i++) {
++        if (!((EXTENSION_EVENT_BASE <= first[i].u.u.type) &&
++            (first[i].u.u.type < lastEvent))) {
++            client->errorValue = first[i].u.u.type;
++            return BadValue;
++        }
+     }
+ 
+     list = (XEventClass *) (first + stuff->num_events);
+-- 
+cgit v0.10.2
+
+From ba336b24052122b136486961c82deac76bbde455 Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:42 +0300
+Subject: Xi: Do not try to swap GenericEvent.
+
+The SProcXSendExtensionEvent must not attempt to swap GenericEvent because
+it is assuming that the event has fixed size and gives the swapping function
+xEvent-sized buffer.
+
+A GenericEvent would be later rejected by ProcXSendExtensionEvent anyway.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 5e63bfc..5c2e0fc 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -95,9 +95,17 @@ SProcXSendExtensionEvent(ClientPtr client)
+ 
+     eventP = (xEvent *) &stuff[1];
+     for (i = 0; i < stuff->num_events; i++, eventP++) {
++        if (eventP->u.u.type == GenericEvent) {
++            client->errorValue = eventP->u.u.type;
++            return BadValue;
++        }
++
+         proc = EventSwapVector[eventP->u.u.type & 0177];
+-        if (proc == NotImplemented)     /* no swapping proc; invalid event type? */
++        /* no swapping proc; invalid event type? */
++        if (proc == NotImplemented) {
++            client->errorValue = eventP->u.u.type;
+             return BadValue;
++        }
+         (*proc) (eventP, &eventT);
+         *eventP = eventT;
+     }
+-- 
+cgit v0.10.2
+
diff --git a/gnu/packages/patches/xorg-server-CVE-2017-10972.patch b/gnu/packages/patches/xorg-server-CVE-2017-10972.patch
new file mode 100644
index 0000000000..f24e9c0ae6
--- /dev/null
+++ b/gnu/packages/patches/xorg-server-CVE-2017-10972.patch
@@ -0,0 +1,35 @@
+From 05442de962d3dc624f79fc1a00eca3ffc5489ced Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Wed, 24 May 2017 15:54:39 +0300
+Subject: Xi: Zero target buffer in SProcXSendExtensionEvent.
+
+Make sure that the xEvent eventT is initialized with zeros, the same way as
+in SProcSendEvent.
+
+Some event swapping functions do not overwrite all 32 bytes of xEvent
+structure, for example XSecurityAuthorizationRevoked. Two cooperating
+clients, one swapped and the other not, can send
+XSecurityAuthorizationRevoked event to each other to retrieve old stack data
+from X server. This can be potentialy misused to go around ASLR or
+stack-protector.
+
+Signed-off-by: Michal Srb <msrb@suse.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/Xi/sendexev.c b/Xi/sendexev.c
+index 11d8202..1cf118a 100644
+--- a/Xi/sendexev.c
++++ b/Xi/sendexev.c
+@@ -78,7 +78,7 @@ SProcXSendExtensionEvent(ClientPtr client)
+ {
+     CARD32 *p;
+     int i;
+-    xEvent eventT;
++    xEvent eventT = { .u.u.type = 0 };
+     xEvent *eventP;
+     EventSwapPtr proc;
+ 
+-- 
+cgit v0.10.2
+
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index f94d56992e..482ae1b862 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
@@ -100,7 +100,7 @@ scientific data.")
                      "godir = $(moddir)\n"))))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("guile" ,guile-2.0)))
+    (inputs `(("guile" ,guile-2.2)))
     (propagated-inputs `(("guile-cairo" ,guile-cairo)))
     (home-page "http://wingolog.org/software/guile-charting/")
     (synopsis "Create charts and graphs in Guile")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 34cab7a041..ba9153b68b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1196,14 +1196,14 @@ datetime module, available in Python 2.3+.")
 (define-public python-parsedatetime
   (package
     (name "python-parsedatetime")
-    (version "2.3")
+    (version "2.4")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "parsedatetime" version))
       (sha256
        (base32
-        "1vkrmd398s11h1zn3zaqqsiqhj9lwy1ikcg6irx2lrgjzjg3rjll"))))
+        "0jxqkjks7z9dn222cqgvskp4wr6d92aglinxq7pd2w4mzdc7r09x"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-nose" ,python-nose)
@@ -4767,13 +4767,13 @@ a front-end for C compilers or analysis tools.")
 (define-public python-cffi
   (package
     (name "python-cffi")
-    (version "1.4.2")
+    (version "1.10.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "cffi" version))
       (sha256
-       (base32 "161rj52rzi3880lij17d6i9kvgkiwjilrqjs8405k8sf6ryif7cg"))))
+       (base32 "1mffyilq4qycm8gs4wkgb18rnqil8a9blqq77chdlshzxc8jkc5k"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (inputs
@@ -4785,19 +4785,42 @@ a front-end for C compilers or analysis tools.")
        ("python-sphinx" ,python-sphinx)
        ("python-pytest" ,python-pytest)))
     (arguments
-     `(#:phases
-       (alist-cons-after
-        'install 'install-doc
-        (lambda* (#:key outputs #:allow-other-keys)
-          (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
-                 (doc (string-append data "/doc/" ,name "-" ,version))
-                 (html (string-append doc "/html")))
-            (with-directory-excursion "doc"
-              (system* "make" "html")
-              (mkdir-p html)
-              (copy-recursively "build/html" html))
-            (copy-file "LICENSE" (string-append doc "/LICENSE"))))
-        %standard-phases)))
+     `(#:modules ((ice-9 ftw)
+                  (srfi srfi-26)
+                  (guix build utils)
+                  (guix build python-build-system))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             (setenv "PYTHONPATH"
+                     (string-append
+                      (getenv "PYTHONPATH")
+                      ":" (getcwd) "/build/"
+                      (car (scandir "build" (cut string-prefix? "lib." <>)))))
+
+             ;; XXX The "normal" approach of setting CC and friends does
+             ;; not work here.  Is this the correct way of doing things?
+             (substitute* "testing/embedding/test_basic.py"
+               (("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
+                (string-append "c = distutils.ccompiler.new_compiler();"
+                               "c.set_executables(compiler='gcc',"
+                               "compiler_so='gcc',linker_exe='gcc',"
+                               "linker_so='gcc -shared')")))
+             (substitute* "testing/cffi0/test_ownlib.py"
+               (("'cc testownlib") "'gcc testownlib"))
+             (zero? (system* "py.test" "-v" "c/" "testing/"))))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
+                    (doc (string-append data "/doc/" ,name "-" ,version))
+                    (html (string-append doc "/html")))
+               (with-directory-excursion "doc"
+                 (system* "make" "html")
+                 (mkdir-p html)
+                 (copy-recursively "build/html" html))
+               (copy-file "LICENSE" (string-append doc "/LICENSE"))
+               #t))))))
     (home-page "http://cffi.readthedocs.org")
     (synopsis "Foreign function interface for Python")
     (description
@@ -7369,14 +7392,14 @@ responses, rather than doing any computation.")
 (define-public python-cryptography-vectors
   (package
     (name "python-cryptography-vectors")
-    (version "1.8.2")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cryptography_vectors" version))
        (sha256
         (base32
-         "0hzvq0bfy21bc35p8z7zdxpv3hbvi7adg4axc1b5yd3hk16a1nh0"))))
+         "1wvq1p1viam1diz9x6d61x1bsy6cninv7cjgd35x9ffig9r6gxxv"))))
     (build-system python-build-system)
     (home-page "https://github.com/pyca/cryptography")
     (synopsis "Test vectors for the cryptography package")
@@ -7391,14 +7414,14 @@ responses, rather than doing any computation.")
 (define-public python-cryptography
   (package
     (name "python-cryptography")
-    (version "1.8.2")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cryptography" version))
        (sha256
         (base32
-         "1nmy4fw3zy7rlvarkhn33g9905rwpy9z7k5kv8j80f0s6ynfp24f"))))
+         "10j8r1s29f4h59kp3mla14g588rm7qpn90nrczijk03i49q3662m"))))
     (build-system python-build-system)
     (inputs
      `(("openssl" ,openssl)))
@@ -7407,12 +7430,6 @@ responses, rather than doing any computation.")
        ("python-cffi" ,python-cffi)
        ("python-six" ,python-six)
        ("python-idna" ,python-idna)
-       ;; Packaging is used to check the version of python-cffi in
-       ;; 'src/cryptography/hazmat/primitives/ciphers/base.py'. We should be
-       ;; able to remove this dependency in the next release of cryptography:
-       ;; python-cryptography:
-       ;; https://github.com/pyca/cryptography/commit/0417d00d9ff1e19bc3ab67d39bdd18e1674768c1
-       ("python-packaging" ,python-packaging)
        ("python-iso8601" ,python-iso8601)))
     (native-inputs
      `(("python-cryptography-vectors" ,python-cryptography-vectors)
@@ -7446,16 +7463,16 @@ message digests and key derivation functions.")
 (define-public python-pyopenssl
   (package
     (name "python-pyopenssl")
-    (version "17.0.0")
+    (version "17.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pyOpenSSL" version))
+       (patches
+        (search-patches "python-pyopenssl-17.1.0-test-overflow.patch"))
        (sha256
         (base32
-         "1pdg1gpmkzj8yasg6cmkhcivxcdp4c12nif88y4qvsxq5ffzxas8"))
-       (patches
-        (search-patches "python-pyopenssl-skip-network-test.patch"))))
+         "0qwmqhfsq84ydir9dz273ypmlcvs7v71m1jns0sd4k0h6lfsa82s"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
@@ -7464,14 +7481,23 @@ message digests and key derivation functions.")
          (add-after 'install 'check
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
-             (zero? (system* "py.test" "-v")))))))
+             (zero? (system* "py.test" "-v" "-k"
+                             (string-append
+                              ;; This test tries to look up certificates from
+                              ;; the compiled-in default path in OpenSSL, which
+                              ;; does not exist in the build environment.
+                              "not test_fallback_default_verify_paths "
+                              ;; This test attempts to make a connection to
+                              ;; an external web service.
+                              "and not test_set_default_verify_paths"))))))))
     (propagated-inputs
      `(("python-cryptography" ,python-cryptography)
        ("python-six" ,python-six)))
     (inputs
      `(("openssl" ,openssl)))
     (native-inputs
-     `(("python-pytest" ,python-pytest-3.0)))
+     `(("python-pretend" ,python-pretend)
+       ("python-pytest" ,python-pytest-3.0)))
     (home-page "https://github.com/pyca/pyopenssl")
     (synopsis "Python wrapper module around the OpenSSL library")
     (description
@@ -8958,13 +8984,13 @@ processes across test runs.")
 (define-public python-icalendar
   (package
     (name "python-icalendar")
-    (version "3.11.4")
+    (version "3.11.5")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "icalendar" version))
              (sha256
               (base32
-               "0ix3xxykz8hs8mx4f2063djawmd888y3vsl75fbvbfqvg67v35jn"))))
+               "0y6f2js983ag0d138xx4pzyc71gf44hyqmjsdvw6pq2xrkpj8jzk"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-dateutil" ,python-dateutil)
@@ -10218,13 +10244,13 @@ introspection of @code{zope.interface} instances in code.")
 (define-public python-vobject
   (package
     (name "python-vobject")
-    (version "0.9.4.1")
+    (version "0.9.5")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "vobject" version))
               (sha256
                (base32
-                "0741h2cf743sbk89dpfm1yca26l4s159nzvy6vv8xg72nd7pvsps"))))
+                "0hqjgf3ay1m5w1c0k00g5yfpdz1zni5qnr5rh9b8fg9hjvhwlmhg"))))
     (build-system python-build-system)
     (arguments
      '(;; The test suite relies on some non-portable Windows interfaces.
@@ -13840,7 +13866,7 @@ users' sessions over extended periods of time.")
 (define-public python-astroid
   (package
     (name "python-astroid")
-    (version "1.4.9")
+    (version "1.5.3")
     (source
      (origin
        (method url-fetch)
@@ -13849,7 +13875,7 @@ users' sessions over extended periods of time.")
              version ".tar.gz"))
        (sha256
         (base32
-         "0j0wgy54d13a470vm4b9rdjk99n1hmdxpf34x9k3pbmi9w9b566z"))))
+         "0isn5p7f9n48hmksgbrj7dkm9dyglnayzn5jngk37qywg8a74ngn"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-lazy-object-proxy" ,python-lazy-object-proxy)
@@ -13874,10 +13900,19 @@ down the AST and building an extended ast.  The new node classes have
 additional methods and attributes for different usages.  They include some
 support for static inference and local name scopes.  Furthermore, astroid
 builds partial trees by inspecting living objects.")
-   (license license:lgpl2.1+)))
+    (license license:lgpl2.1+)
+    (properties `((python2-variant . ,(delay python2-astroid))))))
 
 (define-public python2-astroid
-  (package-with-python2 python-astroid))
+  (let ((base (package-with-python2
+               (strip-python2-variant python-astroid))))
+    (package (inherit base)
+             (propagated-inputs
+              `(("python2-backports-functools-lru-cache"
+                 ,python2-backports-functools-lru-cache)
+                ("python2-enum34" ,python2-enum34)
+                ("python2-singledispatch" ,python2-singledispatch)
+                ,@(package-propagated-inputs base))))))
 
 (define-public python-isort
   (package
@@ -13990,7 +14025,7 @@ statements in the module it tests.")
 (define-public python-pylint
   (package
     (name "python-pylint")
-    (version "1.6.5")
+    (version "1.7.2")
     (source
      (origin
        (method url-fetch)
@@ -13999,10 +14034,12 @@ statements in the module it tests.")
              version ".tar.gz"))
        (sha256
         (base32
-         "08pmgflmq2zrzrn9nkfadzwa5vybz46wvwxhrsd2mjlcgsh4rzbm"))))
+         "0mzn1czhf1mgr2wiqfihb274sja02h899b85kywdpivppa9nwrmp"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python-tox" ,python-tox)))
+     `(("python-pytest" ,python-pytest)
+       ("python-pytest-runner" ,python-pytest-runner)
+       ("python-tox" ,python-tox)))
     (propagated-inputs
      `(("python-astroid" ,python-astroid)
        ("python-isort" ,python-isort)
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index f898c420a9..0bd314c660 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -269,14 +269,14 @@ all common programming languages.  Vala bindings are also provided.")
 (define-public libvirt
   (package
     (name "libvirt")
-    (version "3.4.0")
+    (version "3.5.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://libvirt.org/sources/libvirt-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "13945hrijybfh634c4x9cbkfazvpzajgv55ll2nx412r4bv6l622"))))
+                "05mm4xdw6g960rwvc9189nhxpm1vrilnmpl4h4m1lha11pivlqr9"))))
     (build-system gnu-build-system)
     (arguments
      `(;; FAIL: virshtest
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 06102a0873..65067efe75 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -349,7 +349,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtbase
   (package
     (name "qtbase")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -358,7 +358,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0v19spxa4sfq0a35nab9n8n2s3jd0443px0k45zhhg103apv4zi6"))
+               "1ikm896jzyfyjv2qv8n3fd81sxb4y24zkygx36865ygzyvlj36mw"))
              (modules '((guix build utils)))
              (snippet
                ;; corelib uses bundled harfbuzz, md4, md5, sha3
@@ -532,7 +532,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtsvg
   (package (inherit qtbase)
     (name "qtsvg")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -541,7 +541,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0zpy53vb0ckaj71ffl450qv9kipl8gwwcbbras8kbg6bpl8srl8g"))))
+               "1rg2q4snh2g4n93zmk995swwkl0ab1jr9ka9xpj56ddifkw99wlr"))))
     (propagated-inputs `())
     (native-inputs `(("perl" ,perl)))
     (inputs
@@ -575,7 +575,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtimageformats
   (package (inherit qtsvg)
     (name "qtimageformats")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -584,7 +584,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "10alm3kz3md835hf5hx7322bak9pp9igi2knvymxsjqr8x87jq94"))
+               "0iwa3dys5rv706cpxwhmgircv783pmlyl1yrsc5i0rha643y7zkr"))
              (modules '((guix build utils)))
              (snippet
               '(delete-file-recursively "src/3rdparty"))))
@@ -601,7 +601,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtx11extras
   (package (inherit qtsvg)
     (name "qtx11extras")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -610,7 +610,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0smzs29zqi77s1038ddkj3wzcchajqrjymwa5jgva7n2dn2x40wy"))))
+               "00fn3bps48gjyw0pdqvvl9scknxdpmacby6hvdrdccc3jll0wgd6"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -622,7 +622,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtxmlpatterns
   (package (inherit qtsvg)
     (name "qtxmlpatterns")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -631,7 +631,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1f2mly7ddw4hpr3x0lpdahcikivwhiwa3238yrg4gz2c3lxj5y21"))))
+               "094wwap2fsl23cys6rxh2ciw0gxbbiqbshnn4qs1n6xdjrj6i15m"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -647,7 +647,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtdeclarative
   (package (inherit qtsvg)
     (name "qtdeclarative")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -656,7 +656,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1g9yz7q2laqs80m4i6zngxrq3pd7z5khr2f48glma8cmiw4p56rw"))))
+               "1zwlxrgraxhlsdkwsai3pjbz7f3a6rsnsg2mjrpay6cz3af6rznj"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -673,7 +673,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtconnectivity
   (package (inherit qtsvg)
     (name "qtconnectivity")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -682,7 +682,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0k52acsywr849nw86dfjqcv1lqgnq01akqrm0qjs7ysm1ayg8mcp"))))
+               "1mbzmqix0388iq20a1ljd1pgdq259rm1xzp9kx8gigqpamqqnqs0"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -705,7 +705,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtwebsockets
   (package (inherit qtsvg)
     (name "qtwebsockets")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -714,7 +714,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1ml60p50hr3f68l0fiyqg2pf6n37flzxafzasis42jm4m757m5v2"))))
+               "0r1lya2jj3wfci82zfn0vk6vr8sk9k7xiphnkb0panhb8di769q1"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -726,7 +726,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtsensors
   (package (inherit qtsvg)
     (name "qtsensors")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -735,7 +735,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0jdaw0i6rirs66x4cjh8l24fsyp020x1mv1psyf3ffbkdq1pngjx"))))
+               "1772x7r6y9xv2sv0w2dfz2yhagsq5bpa9kdpzg0qikccmabr7was"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -753,7 +753,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtmultimedia
   (package (inherit qtsvg)
     (name "qtmultimedia")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -762,7 +762,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1vk0vlp9wapj1pip5v0v0sxynlig38m3a1qbjhid3rm27f971cqb"))
+               "1r76zvbv6wwb7lgw9jwlx382iyw34i1amxaypb5bg3j1niqvx3z4"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -788,7 +788,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtwayland
   (package (inherit qtsvg)
     (name "qtwayland")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -797,7 +797,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0zlxlxrc15x69jwhcc6h0xi4mfchbb3pf27y3zy22yi3ynv2p04v"))
+               "1yizvbmh26mx1ffq0qaci02g2wihy68ld0y7r3z8nx3v5acb236g"))
              (modules '((guix build utils)))
              (snippet
                ;; The examples try to build and cause the build to fail
@@ -823,7 +823,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtserialport
   (package (inherit qtsvg)
     (name "qtserialport")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -832,7 +832,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0zwxfbyn5rg6vyrgpi5c3n852vd32m37ghzyj4l50ljndlz2w0l0"))))
+               "0sbsc7n701kxl16r247a907zg2afmbx1xlml5jkc6a9956zqbzp1"))))
     (native-inputs `(("perl" ,perl)))
     (inputs
      `(("qtbase" ,qtbase)
@@ -841,7 +841,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtserialbus
   (package (inherit qtsvg)
     (name "qtserialbus")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -850,7 +850,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zw32ha5hz7zsdp8m2dk58kivxd66vkzijbnhi8jvzjp4nf0pm1f"))))
+               "1hzk377c3zl4dm5hxwvpxg2w096m160448y9df6v6l8xpzpzxafa"))))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtserialport" ,qtserialport)))))
@@ -858,7 +858,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtwebchannel
   (package (inherit qtsvg)
     (name "qtwebchannel")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -867,7 +867,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1fg1g2h9s9v6lg10ix59pzws35fyh3hh5x2005pyp84xdg47mvqj"))))
+               "003h09mla82f2znb8jjigx13ivc68ikgv7w04594yy7qdmd5yhl0"))))
     (native-inputs
      `(("perl" ,perl)
        ("qtdeclarative" ,qtdeclarative)
@@ -877,7 +877,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtlocation
   (package (inherit qtsvg)
     (name "qtlocation")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -886,7 +886,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1xia1y1pjill9m880rgmsl2zshcg1nvwkyfdb2lz8g8x9fj0pvp3"))))
+               "058mgvlaml9rkfhkpr1n3avhi12zlva131sqhbwj4lwwyqfkri2b"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -904,7 +904,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qttools
   (package (inherit qtsvg)
     (name "qttools")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -913,7 +913,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1vl5lapnbaam51pfw89pshh6rxqwfrbpj0j8gdhzdngr6n79dzk4"))))
+               "1s50kh3sg5wc5gqhwwznnibh7jcnfginnmkv66w62mm74k7mdsy4"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -927,7 +927,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtscript
   (package (inherit qtsvg)
     (name "qtscript")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -936,7 +936,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0r697ap324l8lnbqbhrrqzsl9k4nmk6lcijxlaqn3ksxgfzbcciw"))
+               "13qq2mjfhqdcvkmzrgxg1gr5kww1ygbwb7r71xxl6rjzbn30hshp"))
              (patches (search-patches "qtscript-disable-tests.patch"))))
     (native-inputs
      `(("perl" ,perl)
@@ -947,7 +947,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtquickcontrols
   (package (inherit qtsvg)
     (name "qtquickcontrols")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -956,7 +956,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zjl2wp5407y8iabwi30j4jpxh2j4y0ijb5jvvpdq583nbzgyg8p"))))
+               "0bpc465q822phw3dcbddn70wj1fjlc2hxskkp1z9gl7r23hx03jj"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -967,7 +967,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtquickcontrols2
   (package (inherit qtsvg)
     (name "qtquickcontrols2")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -976,7 +976,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "170xgk4jw1b1rpq8838dc5sb0dyv1jap3yfgg5hymrjzrk0nzaq9"))))
+               "1zq86kqz85wm3n84jcxkxw5x1mrhkqzldkigf8xm3l8j24rf0fr0"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -987,7 +987,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtgraphicaleffects
   (package (inherit qtsvg)
     (name "qtgraphicaleffects")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -996,7 +996,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1cz4ykwlm1c0hbv4d8y07bwyz87nkz5l9ss3f65vadm8zcabqw55"))))
+               "1zsr3a5dsmpvrb5h4m4h42wqmkvkks3d8mmyrx4k0mfr6s7c71jz"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1030,7 +1030,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtgamepad
   (package (inherit qtsvg)
     (name "qtgamepad")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1039,7 +1039,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0lpj2qspidx6s2568m5v40j2zdnrl8zwjdp40zg4y2q6hy2gg597"))))
+               "055w4649zi93q1sl32ngqwgnl2vxw1idnm040s9gjgjb67gi81zi"))))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)))
@@ -1054,7 +1054,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtscxml
   (package (inherit qtsvg)
     (name "qtscxml")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1063,7 +1063,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0f2jnhl30ij6y4wzlvgjsqgpaywq4g0wc4yjw8s888vcfl062nb4"))
+               "1m3b6wg5hqasdfc5igpj9bq3czql5kkvvn3rx1ig508kdlh5i5s0"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -1078,7 +1078,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtpurchasing
   (package (inherit qtsvg)
     (name "qtpurchasing")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1087,7 +1087,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0xcka24qjdydqhf7fhn2i2ycn3zsi4vzqv9s77wzmaksrazwb13q"))))
+               "0b1hlaq6rb7d6b6h8kqd26klcpzf9vcdjrv610kdj0drb00jg3ss"))))
     (inputs
      `(("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))))
@@ -1095,7 +1095,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtcanvas3d
   (package (inherit qtsvg)
     (name "qtcanvas3d")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1104,7 +1104,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1jrv79rhpqyp4ip5fnf40plqcq9byl1fy8287ghq4jfhpm9bq5yq"))
+               "10fy8wqfw2yhha6lyky5g1a72137aj8pji7mk0wjnggh629z12sb"))
              (modules '((guix build utils)))
              (snippet
               '(delete-file-recursively "examples/canvas3d/3rdparty"))))
@@ -1129,7 +1129,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtcharts
   (package (inherit qtsvg)
     (name "qtcharts")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1138,7 +1138,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "17m86csjymvcnprk8m4y6hx1qhlk9811rhqwwkqdymyyswx6xs3l"))))
+               "180df5v7i1ki8hc3lgi6jcfdyz7f19pb73dvfkw402wa2gfcna3k"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1149,7 +1149,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtdatavis3d
   (package (inherit qtsvg)
     (name "qtdatavis3d")
-    (version "5.9.0")
+    (version "5.9.1")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1158,7 +1158,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1wvilla48jlw6zv2hc32ra0bs8p13s68sqbgr91bzbn7h7qaysv9"))))
+               "14d1q07winh6n1bkc616dapwfnsfkcjyg5zngdqjdj9mza8ang13"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1461,19 +1461,17 @@ different kinds of sliders, and much more.")
 (define-public qtwebkit
   (package
     (name "qtwebkit")
-    (version "5.9.0")
+    (version "5.9.1")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append "http://download.qt.io/community_releases/"
-                            (version-major+minor version)
-                            "/" version "-final/qtwebkit-opensource-src-"
+        (uri (string-append "https://download.qt.io/official_releases/qt/"
+                            (version-major+minor version) "/" version
+                            "/submodules/" name "-opensource-src-"
                             version ".tar.xz"))
-        ;; Note: since Qt 5.6, Qt no longer officially supports qtwebkit:
-        ;; <http://lists.qt-project.org/pipermail/development/2016-May/025923.html>.
         (sha256
          (base32
-          "012fd8khiasfn8wx5ci310y94ap3y90a011f66cajm80fhxikbcd"))))
+          "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("perl" ,perl)
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index 18b7a7ed79..275912b9d0 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -28,7 +28,7 @@
 (define-public re2
    (package
      (name "re2")
-     (version "2017-06-01")
+     (version "2017-07-01")
      (source (origin
                (method url-fetch)
                (uri
@@ -38,7 +38,7 @@
                (file-name (string-append name "-" version ".tar.gz"))
                (sha256
                 (base32
-                 "0bjhmmcx17mc8gfbf3cc4bwjcyf415mas3026v3c35g5fsaxyq5v"))))
+                 "07jbhcfpa4z8ra08q0i7j9p9sq6yy1wdx09laysz9jysgkc6mw76"))))
      (build-system gnu-build-system)
      (arguments
       `(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 7680f4eae0..7eba684440 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -106,7 +106,6 @@ a focus on simplicity and productivity.")
   (package
     (inherit ruby)
     (version "2.3.4")
-    (replacement #f)
     (source
      (origin
        (method url-fetch)
@@ -124,7 +123,6 @@ a focus on simplicity and productivity.")
 
 (define-public ruby-2.2
   (package (inherit ruby)
-    (replacement #f)
     (version "2.2.7")
     (source
      (origin
@@ -138,7 +136,6 @@ a focus on simplicity and productivity.")
 
 (define-public ruby-2.1
   (package (inherit ruby)
-    (replacement #f)
     (version "2.1.10")
     (source
      (origin
@@ -172,7 +169,6 @@ a focus on simplicity and productivity.")
 
 (define-public ruby-1.8
   (package (inherit ruby)
-    (replacement #f)
     (version "1.8.7-p374")
     (source
      (origin
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 6a3d8f900d..6b7461e62b 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
+;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -328,3 +329,25 @@ RPC system.  Think JSON, except binary.  Or think Protocol Buffers, except faste
 convert JSON documents to BSON and the opposite.  BSON stands for Binary JSON,
 it is comparable to protobuf.")
     (license license:asl2.0)))
+
+(define-public nlohmann-json-cpp
+  (package
+    (name "nlohmann-json-cpp")
+    (version "2.1.1")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "https://github.com/nlohmann/json/"
+                          "archive/v" version ".tar.gz"))
+      (file-name (string-append name "-" version ".tar.gz"))
+      (sha256
+       (base32
+        "0lrh6cjd643c7kmvmwafbgq7dqj3b778483gjhjbvp6rc6z5xf2r"))))
+    (build-system cmake-build-system)
+    (home-page "https://nlohmann.github.io/json/")
+    (synopsis "JSON library for C++")
+    (description
+     "JSON library for C++ trying to accomplish “Intuitive syntax”,
+“Trivial integration”, and “Serious testing”.
+However, “Memory efficiency” and “Speed” have not been primary goals.")
+    (license license:expat)))
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index 78b4806c8c..458d91e569 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -74,7 +74,7 @@
     ;; The 'skribilo' command needs them, and for people using Skribilo as a
     ;; library, these inputs are needed as well.
     (propagated-inputs `(("guile-reader" ,guile2.0-reader)
-                         ("guile-lib" ,guile-lib)))
+                         ("guile-lib" ,guile2.0-lib)))
 
     (home-page "http://www.nongnu.org/skribilo/")
     (synopsis "Document production tool written in Guile Scheme")
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index d03686c11c..c11976a125 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,12 +30,14 @@
   #:use-module (gnu packages base)
   #:autoload   (gnu packages boost) (boost)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages elf)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages logging)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages ncurses)
@@ -42,6 +45,7 @@
   #:use-module (gnu packages kerberos)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages popt)
   #:autoload   (gnu packages protobuf) (protobuf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages texinfo)
@@ -381,6 +385,35 @@ keystrokes.  Mosh is a replacement for SSH.  It's more robust and responsive,
 especially over Wi-Fi, cellular, and long-distance links.")
     (license license:gpl3+)))
 
+(define-public et
+  (package
+    (name "et")
+    (version "3.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/MisterTea/EternalTCP/archive/et-v"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1n2w2kqbshdmbb0gz4yizyw9gqfls6qm2dnwx1d9c2hz7hmi7521"))))
+    (build-system cmake-build-system)
+    (arguments `(#:tests? #f))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs `(("glog" ,glog)
+              ("gflags" ,gflags)
+              ("libsodium" ,libsodium)
+              ("protobuf" ,protobuf)))
+    (synopsis "Remote shell that automatically reconnects")
+    (description
+     "Eternal Terminal (ET) is a remote shell that automatically reconnects
+without interrupting the session.  Unlike SSH sessions, ET sessions will
+survive even after the network outages or IP changes.  ET uses a custom
+protocol over TCP, not the SSH protocol.")
+    (home-page "https://mistertea.github.io/EternalTCP/")
+    (license license:asl2.0)))
+
 (define-public dropbear
   (package
     (name "dropbear")
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index f4b6596e9d..3b9fb275fc 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -634,6 +634,114 @@ class), line and circle fonts (for use in the picture environment) and LaTeX
 symbol fonts.")
     (license license:lppl1.2+)))
 
+(define-public texlive-fonts-amsfonts
+  (package
+    (name "texlive-fonts-amsfonts")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/fonts/source/public/amsfonts"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "07h20rvpbdb4k72hzmjkyb29426zr9wxsfp6yd4ajbbpd3vx8grb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((mf (assoc-ref inputs "texlive-metafont-base"))
+                   (cwd (getcwd)))
+               ;; Tell mf where to find mf.base
+               (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
+               ;; Tell mf where to look for source files
+               (setenv "MFINPUTS"
+                       (string-append cwd ":"
+                                      cwd "/cmextra:"
+                                      cwd "/cyrillic:"
+                                      cwd "/dummy:"
+                                      cwd "/symbols:"
+                                      mf "/share/texmf-dist/metafont/base:"
+                                      (assoc-ref inputs "texlive-fonts-cm")
+                                      "/share/texmf-dist/fonts/source/public/cm")))
+             (mkdir "build")
+             (every (lambda (font)
+                      (format #t "building font ~a\n" (basename font ".mf"))
+                      (with-directory-excursion (dirname font)
+                        (zero? (system* "mf" "-progname=mf"
+                                        "-output-directory=../build"
+                                        (string-append "\\"
+                                                       "mode:=ljfour; "
+                                                       "mag:=1; "
+                                                       "nonstopmode; "
+                                                       "input "
+                                                       (getcwd) "/"
+                                                       (basename font ".mf"))))))
+                    (find-files "." "[0-9]+\\.mf$"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (tfm (string-append
+                          out "/share/texmf-dist/fonts/tfm/public/amsfonts"))
+                    (mf  (string-append
+                          out "/share/texmf-dist/fonts/source/public/amsfonts")))
+               (for-each (cut install-file <> tfm)
+                         (find-files "build" "\\.*"))
+               (for-each (cut install-file <> mf)
+                         (find-files "." "\\.mf"))
+               #t))))))
+    (native-inputs
+     `(("texlive-fonts-cm" ,texlive-fonts-cm)
+       ("texlive-metafont-base" ,texlive-metafont-base)
+       ("texlive-bin" ,texlive-bin)))
+    (home-page "http://www.ctan.org/pkg/amsfonts")
+    (synopsis "TeX fonts from the American Mathematical Society")
+    (description
+     "This package provides an extended set of fonts for use in mathematics,
+including: extra mathematical symbols; blackboard bold letters (uppercase
+only); fraktur letters; subscript sizes of bold math italic and bold Greek
+letters; subscript sizes of large symbols such as sum and product; added sizes
+of the Computer Modern small caps font; cyrillic fonts (from the University of
+Washington); Euler mathematical fonts.  All fonts are provided as Adobe Type 1
+files, and all except the Euler fonts are provided as Metafont source.  The
+distribution also includes the canonical Type 1 versions of the Computer
+Modern family of fonts.  The Euler fonts are supported by separate packages;
+details can be found in the documentation.")
+    (license license:silofl1.1)))
+
+(define-public texlive-latex-amsfonts
+  (package
+    (name "texlive-latex-amsfonts")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "amsfonts"))
+              (sha256
+               (base32
+                "0slzfv5h2m03b2xvm2sasznz4azh6rgi069z161dja3l8rln79hm"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/amsfonts"))
+    (native-inputs
+     `(("texlive-fonts-cm" ,texlive-fonts-cm)
+       ("texlive-metafont-base" ,texlive-metafont-base)))
+    (home-page "http://www.ctan.org/pkg/amsfonts")
+    (synopsis "TeX fonts from the American Mathematical Society")
+    (description
+     "This package provides basic LaTeX support for the symbol fonts provides
+by the amsfonts package.  It provides @code{amsfonts.sty}, with names of
+individual symbols defined in @code{amssymb.sty}.")
+    (license license:silofl1.1)))
+
 ;; This provides etex.src which is needed to build various formats, including
 ;; luatex.fmt and pdflatex.fmt
 (define-public texlive-tex-plain
@@ -743,25 +851,28 @@ book).")
                     ;; leading asterisk).  We should not use luatex here,
                     ;; because that would make the generated format files
                     ;; incompatible with any other TeX engine.
-
-                    ;; FIXME: XeTeX fails to build because neither
-                    ;; \XeTeXuseglyphmetrics nor \XeTeXdashbreakstate are
-                    ;; defined.
                     (every
                      (lambda (format)
                        (zero? (system* "latex" "-ini" "-interaction=batchmode"
                                        "-output-directory=web2c"
                                        "-translate-file=cp227.tcx"
                                        (string-append "*" format ".ini"))))
-                     '("latex" ;"xetex"
+                     '("latex"
                        "pdflatex"
                        "pdfetex"))
                     (every
                      (lambda (format)
+                       (zero? (system* format "-ini" "-interaction=batchmode"
+                                       "-output-directory=web2c"
+                                       (string-append "*" format ".ini"))))
+                     '("xetex"
+                       "xelatex"))
+                    (every
+                     (lambda (format)
                        (zero? (system* "luatex" "-ini" "-interaction=batchmode"
                                        "-output-directory=web2c"
                                        (string-append format ".ini"))))
-                     '("dviluatex" "dvilualatex" "luatex" "lualatex" "xelatex")))))
+                     '("dviluatex" "dvilualatex" "luatex" "lualatex")))))
            (replace 'install
              (lambda* (#:key outputs #:allow-other-keys)
                (let* ((out (assoc-ref outputs "out"))
@@ -860,9 +971,45 @@ overwrite existing files and letting you use @code{filecontents} /
     (description
      "This is a simple package which provides an @code{\\ifxetex} conditional,
 so that other code can determine that it is running under XeTeX.  The package
-requires the etexe-TeX extensions to the TeX primitive set.")
+requires the e-TeX extensions to the TeX primitive set.")
     (license license:lppl1.3c+)))
 
+(define-public texlive-generic-epsf
+  (package
+    (name "texlive-generic-epsf")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/generic/epsf"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "14w3j81ympyvg8hkk9i1xgr8a0gfnfsb2ki8qqsk5pa051za1xcy"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/generic/epfs")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/epsf")
+    (synopsis "Simple macros for EPS inclusion")
+    (description
+     "This package provides the original (and now obsolescent) graphics
+inclusion macros for use with dvips, still widely used by Plain TeX users (in
+particular).  For LaTeX users, the package is nowadays (rather strongly)
+deprecated in favour of the more sophisticated standard LaTeX latex-graphics
+bundle of packages.  (The latex-graphics bundle is also available to Plain TeX
+users, via its Plain TeX version.)")
+    (license license:public-domain)))
+
 (define-public texlive-latex-fancyvrb
   (package
     (name "texlive-latex-fancyvrb")
@@ -1019,13 +1166,14 @@ nameref packages, which make use of the facilities of hyperref.")
     (build-system texlive-build-system)
     (arguments
      '(#:tex-directory "latex/oberdiek"
+       #:build-targets '("oberdiek.ins")
        #:phases
        (modify-phases %standard-phases
-         ;; "ifpdf.ins" is not generated, so we cannot process it.
+         ;; "ifpdf.ins" is not generated, so we need to process the dtx file.
          (add-after 'unpack 'do-not-process-ifpdf.ins
            (lambda _
              (substitute* "oberdiek.ins"
-               (("\\\\batchinput\\{ifpdf.ins\\}") ""))
+               (("ifpdf.ins") "ifpdf.dtx"))
              #t)))))
     (home-page "http://www.ctan.org/pkg/oberdiek")
     (synopsis "Bundle of packages submitted by Heiko Oberdiek")
@@ -1579,6 +1727,762 @@ other programs in the distribution offer online interactive use (with
 hypertext linkages in some cases).")
     (license license:gpl3+)))
 
+(define-public texlive-latex-anysize
+  (package
+    (name "texlive-latex-anysize")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/anysize"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "19khwqjlvznc955sijhww3c4zbb0053rvzwv9nz738qknq7y18vb"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/anysize")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/anysize")
+    (synopsis "Simple package to set up document margins")
+    (description
+     "This is a simple package to set up document margins.  This package is
+considered obsolete; alternatives are the @code{typearea} package from the
+@code{koma-script} bundle, or the @code{geometry} package.")
+    (license license:public-domain)))
+
+(define-public texlive-latex-appendix
+  (package
+    (name "texlive-latex-appendix")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "appendix"))
+              (sha256
+               (base32
+                "0rxfpr8vq3brwx5rc7qn91ixlp9zva4zrms8a579fqa1g5yva7vg"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/appendix"))
+    (home-page "http://www.ctan.org/pkg/appendix")
+    (synopsis "Extra control of appendices")
+    (description
+     "The appendix package provides various ways of formatting the titles of
+appendices.  Also (sub)appendices environments are provided that can be used,
+for example, for per chapter/section appendices.  An @code{appendices}
+environment is provided which can be used instead of the @code{\\appendix}
+command.")
+    (license license:lppl)))
+
+(define-public texlive-latex-changebar
+  (package
+    (name "texlive-latex-changebar")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "changebar"))
+              (sha256
+               (base32
+                "1ik4m8pzfsn1grlda6fniqqfwmgj7rfxwg63jdw0p0qv002vc7ik"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/changebar"))
+    (home-page "http://www.ctan.org/pkg/changebar")
+    (synopsis "Generate changebars in LaTeX documents")
+    (description
+     "Identify areas of text to be marked with changebars with the
+@code{\\cbstart} and @code{\\cbend} commands; the bars may be coloured.  The
+package uses 'drivers' to place the bars; the available drivers can work with
+@code{dvitoln03}, @code{dvitops}, @code{dvips}, the emTeX and TeXtures DVI
+drivers, and VTeX and pdfTeX.")
+    (license license:lppl)))
+
+(define-public texlive-latex-colortbl
+  (package
+    (name "texlive-latex-colortbl")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "colortbl"))
+              (sha256
+               (base32
+                "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/colortbl"))
+    (home-page "http://www.ctan.org/pkg/colortbl")
+    (synopsis "Add colour to LaTeX tables")
+    (description
+     "This package allows rows, columns, and even individual cells in LaTeX
+tables to be coloured.")
+    (license license:lppl)))
+
+(define-public texlive-latex-fancybox
+  (package
+    (name "texlive-latex-fancybox")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/fancybox"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "0smmnaad2q8qwicay1frri990lv65l0k8cwzsvdsyp3jk8kp042w"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/fancybox")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/fancybox")
+    (synopsis "Variants of \\fbox and other games with boxes")
+    (description
+     "This package provides variants of @code{\\fbox}: @code{\\shadowbox},
+@code{\\doublebox}, @code{\\ovalbox}, @code{\\Ovalbox}, with helpful tools for
+using box macros and flexible verbatim macros.  You can box mathematics,
+floats, center, flushleft, and flushright, lists, and pages.")
+    (license license:lppl1.2+)))
+
+(define-public texlive-latex-fancyhdr
+  (package
+    (name "texlive-latex-fancyhdr")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/fancyhdr"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "04h430agf8aj7ziwyb46xpk95c605rjk1wzhr63m6ylipihidlgw"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/fancyhdr")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/fancyhdr")
+    (synopsis "Extensive control of page headers and footers in LaTeX2e")
+    (description
+     "The package provides extensive facilities, both for constructing headers
+and footers, and for controlling their use (for example, at times when LaTeX
+would automatically change the heading style in use).")
+    (license license:lppl)))
+
+(define-public texlive-latex-fancyvrb
+  (package
+    (name "texlive-latex-fancyvrb")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "fancyvrb"))
+              (sha256
+               (base32
+                "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:build-targets '("fancyvrb.ins") ; fvrb-ex.ins cannot be built
+       #:tex-directory "latex/fancyvrb"))
+    (home-page "http://www.ctan.org/pkg/fancyvrb")
+    (synopsis "Sophisticated verbatim text")
+    (description
+     "This package provides tools for flexible handling of verbatim text
+including: verbatim commands in footnotes; a variety of verbatim environments
+with many parameters; ability to define new customized verbatim environments;
+save and restore verbatim text and environments; write and read files in
+verbatim mode; build \"example\" environments (showing both result and
+verbatim source).")
+    (license license:lppl1.0+)))
+
+(define-public texlive-latex-float
+  (package
+    (name "texlive-latex-float")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "float"))
+              (sha256
+               (base32
+                "0nbl7wylkv22fcdv4p8byhhj575fli6jnqjpkhrkbv8dzwah84nq"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/float"))
+    (home-page "http://www.ctan.org/pkg/float")
+    (synopsis "Improved interface for floating objects")
+    (description
+     "This package improves the interface for defining floating objects such
+as figures and tables.  It introduces the boxed float, the ruled float and the
+plaintop float.  You can define your own floats and improve the behaviour of
+the old ones.  The package also provides the @code{H} float modifier option of
+the obsolete @code{here} package.  You can select this as automatic default
+with @code{\\floatplacement{figure}{H}}.")
+    (license license:lppl)))
+
+(define-public texlive-latex-footmisc
+  (package
+    (name "texlive-latex-footmisc")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "footmisc"))
+              (sha256
+               (base32
+                "03x61wwql8nh6zrqiiiq3rb0x7m3pn48c606zapy19y21fybwdxs"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/footmisc"))
+    (home-page "http://www.ctan.org/pkg/footmisc")
+    (synopsis "Range of footnote options")
+    (description
+     "This is a collection of ways to change the typesetting of footnotes.
+The package provides means of changing the layout of the footnotes themselves,
+a way to number footnotes per page, to make footnotes disappear in a
+\"moving\" argument, and to deal with multiple references to footnotes from
+the same place.  The package also has a range of techniques for labelling
+footnotes with symbols rather than numbers.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-listings
+  (package
+    (name "texlive-latex-listings")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "listings"))
+              (sha256
+               (base32
+                "1nsn9wp3wl12b36c0sqrim33lf33cr5wky0h4ncnw8lvqgm7h8wf"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/listings"
+       #:build-targets '("listings.ins")))
+    (home-page "http://www.ctan.org/pkg/listings")
+    (synopsis "Typeset source code listings using LaTeX")
+    (description
+     "The package enables the user to typeset programs (programming code)
+within LaTeX; the source code is read directly by TeX---no front-end processor
+is needed.  Keywords, comments and strings can be typeset using different
+styles.  Support for @code{hyperref} is provided.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-jknapltx
+  (package
+    (name "texlive-latex-jknapltx")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/jknapltx"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "0m034x72f2g07icr50gacyxfb9g1lz2rmqh4kqr1qjb421x2kds9"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/jknapltx")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/jknappen")
+    (synopsis "Miscellaneous packages by Joerg Knappen")
+    (description
+     "This package provides miscellaneous macros by Joerg Knappen, including:
+represent counters in greek; Maxwell's non-commutative division;
+@code{latin1jk}, @code{latin2jk} and @code{latin3jk}, which are
+@code{inputenc} definition files that allow verbatim input in the respective
+ISO Latin codes; blackboard bold fonts in maths; use of RSFS fonts in maths;
+extra alignments for @code{\\parboxes}; swap Roman and Sans fonts;
+transliterate semitic languages; patches to make (La)TeX formulae embeddable
+in SGML; use maths minus in text as appropriate; simple Young tableaux.")
+    (license license:gpl2)))
+
+(define-public texlive-fonts-ec
+  (package
+    (name "texlive-fonts-ec")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/fonts/source/jknappen/ec/"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "12av65fbz9xiashm09c9m1fj1mijxls5xspd7652ry1n5s0nixy4"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((mf (assoc-ref inputs "texlive-metafont-base")))
+               ;; Tell mf where to find mf.base
+               (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
+               ;; Tell mf where to look for source files
+               (setenv "MFINPUTS"
+                       (string-append (getcwd) ":"
+                                      mf "/share/texmf-dist/metafont/base:"
+                                      (assoc-ref inputs "texlive-fonts-cm")
+                                      "/share/texmf-dist/fonts/source/public/cm")))
+             (mkdir "build")
+             (every (lambda (font)
+                      (format #t "building font ~a\n" font)
+                      (zero? (system* "mf" "-progname=mf"
+                                      "-output-directory=build"
+                                      (string-append "\\"
+                                                     "mode:=ljfour; "
+                                                     "mag:=1; "
+                                                     "batchmode; "
+                                                     "input " (basename font ".mf")))))
+                    (find-files "." "[0-9]+\\.mf$"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (tfm (string-append
+                          out "/share/texmf-dist/fonts/tfm/jknappen/ec"))
+                    (mf  (string-append
+                          out "/share/texmf-dist/fonts/source/jknappen/ec")))
+               (for-each (cut install-file <> tfm)
+                         (find-files "build" "\\.*"))
+               (for-each (cut install-file <> mf)
+                         (find-files "." "\\.mf"))
+               #t))))))
+    (native-inputs
+     `(("texlive-bin" ,texlive-bin)
+       ("texlive-metafont-base" ,texlive-metafont-base)
+       ("texlive-fonts-cm" ,texlive-fonts-cm)))
+    (home-page "http://www.ctan.org/pkg/ec")
+    (synopsis "Computer modern fonts in T1 and TS1 encodings")
+    (description
+     "The EC fonts are European Computer Modern Fonts, supporting the complete
+LaTeX T1 encoding defined at the 1990 TUG conference hold at Cork/Ireland.
+These fonts are intended to be stable with no changes being made to the tfm
+files.  The set also contains a Text Companion Symbol font, called @code{tc},
+featuring many useful characters needed in text typesetting, for example
+oldstyle digits, currency symbols (including the newly created Euro symbol),
+the permille sign, copyright, trade mark and servicemark as well as a copyleft
+sign, and many others.  Recent releases of LaTeX2e support the EC fonts.  The
+EC fonts supersede the preliminary version released as the DC fonts.  The
+fonts are available in (traced) Adobe Type 1 format, as part of the
+@code{cm-super} bundle.  The other Computer Modern-style T1-encoded Type 1
+set, Latin Modern, is not actually a direct development of the EC set, and
+differs from the EC in a number of particulars.")
+    (license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\
+texlive-2017.1/Master/texmf-dist/doc/fonts/ec/copyrite.txt"))))
+
+(define-public texlive-fonts-rsfs
+  (package
+    (name "texlive-fonts-rsfs")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/fonts/source/public/rsfs/"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "0r12pn02r4a955prcvq0048nifh86ihlcgvw3pppqqvfngv34l5h"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((guix build gnu-build-system)
+                  (guix build utils)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
+       #:tests? #f                      ; no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((mf (assoc-ref inputs "texlive-metafont-base")))
+               ;; Tell mf where to find mf.base
+               (setenv "MFBASES" (string-append mf "/share/texmf-dist/web2c"))
+               ;; Tell mf where to look for source files
+               (setenv "MFINPUTS"
+                       (string-append (getcwd) ":"
+                                      mf "/share/texmf-dist/metafont/base:"
+                                      (assoc-ref inputs "texlive-fonts-cm")
+                                      "/share/texmf-dist/fonts/source/public/cm")))
+             (mkdir "build")
+             (every (lambda (font)
+                      (format #t "building font ~a\n" font)
+                      (zero? (system* "mf" "-progname=mf"
+                                      "-output-directory=build"
+                                      (string-append "\\"
+                                                     "mode:=ljfour; "
+                                                     "mag:=1; "
+                                                     "batchmode; "
+                                                     "input " (basename font ".mf")))))
+                    (find-files "." "[0-9]+\\.mf$"))))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (tfm (string-append
+                          out "/share/texmf-dist/fonts/tfm/public/rsfs"))
+                    (mf  (string-append
+                          out "/share/texmf-dist/fonts/source/public/rsfs")))
+               (for-each (cut install-file <> tfm)
+                         (find-files "build" "\\.*"))
+               (for-each (cut install-file <> mf)
+                         (find-files "." "\\.mf"))
+               #t))))))
+    (native-inputs
+     `(("texlive-bin" ,texlive-bin)
+       ("texlive-metafont-base" ,texlive-metafont-base)
+       ("texlive-fonts-cm" ,texlive-fonts-cm)))
+    (home-page "http://www.ctan.org/pkg/rsfs")
+    (synopsis "Ralph Smith's Formal Script font")
+    (description
+     "The fonts provide uppercase formal script letters for use as symbols in
+scientific and mathematical typesetting (in contrast to the informal script
+fonts such as that used for the calligraphic symbols in the TeX maths symbol
+font).  The fonts are provided as Metafont source, and as derived Adobe Type 1
+format.  LaTeX support, for using these fonts in mathematics, is available via
+one of the packages @code{calrsfs} and @code{mathrsfs}.")
+    (license (license:fsf-free "http://mirrors.ctan.org/fonts/rsfs/README"))))
+
+(define-public texlive-latex-eso-pic
+  (package
+    (name "texlive-latex-eso-pic")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "eso-pic"))
+              (sha256
+               (base32
+                "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/eso-pic"))
+    (home-page "http://www.ctan.org/pkg/eso-pic")
+    (synopsis "Add picture commands (or backgrounds) to every page")
+    (description
+     "The package adds one or more user commands to LaTeX's @code{shipout}
+routine, which may be used to place the output at fixed positions.  The
+@code{grid} option may be used to find the correct places.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-eepic
+  (package
+    (name "texlive-latex-eepic")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/eepic"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "1c68gvh021pvybg07apsd2xhq2ljbg80kq94wh71drdga3c2zqjw"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/eepic")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/eepic")
+    (synopsis "Extensions to epic and the LaTeX drawing tools")
+    (description
+     "Extensions to @code{epic} and the LaTeX picture drawing environment,
+include the drawing of lines at any slope, the drawing of circles in any
+radii, and the drawing of dotted and dashed lines much faster with much less
+TeX memory, and providing several new commands for drawing ellipses, arcs,
+splines, and filled circles and ellipses.  The package uses @code{tpic}
+@code{\\special} commands.")
+    (license license:public-domain)))
+
+(define-public texlive-latex-multirow
+  (package
+    (name "texlive-latex-multirow")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "multirow"))
+              (sha256
+               (base32
+                "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/multirow"))
+    (home-page "http://www.ctan.org/pkg/multirow")
+    (synopsis "Create tabular cells spanning multiple rows")
+    (description
+     "The package provides tools for creating tabular cells spanning multiple
+rows.  It has a lot of flexibility, including an option for specifying an
+entry at the \"natural\" width of its text.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-latex-overpic
+  (package
+    (name "texlive-latex-overpic")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/overpic"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "0m29q9qdb00558b7g2i7iw6w62n5s46yx81j8m99qkv77magk4fm"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/overpic")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/overpic")
+    (synopsis "Combine LaTeX commands over included graphics")
+    (description
+     "The @code{overpic} environment is a cross between the LaTeX
+@code{picture} environment and the @code{\\includegraphics} command of
+@code{graphicx}.  The resulting picture environment has the same dimensions as
+the included graphic.  LaTeX commands can be placed on the graphic at defined
+positions; a grid for orientation is available.")
+    (license license:lppl1.0+)))
+
+(define-public texlive-latex-pdfpages
+  (package
+    (name "texlive-latex-pdfpages")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "pdfpages"))
+              (sha256
+               (base32
+                "06p5smfq66559ppdnmkl3hp8534x84ywbscimsiir4gllpya3i9h"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/pdfpages"))
+    (home-page "http://www.ctan.org/pkg/pdfpages")
+    (synopsis "Include PDF documents in LaTeX")
+    (description
+     "This package simplifies the inclusion of external multi-page PDF
+documents in LaTeX documents.  Pages may be freely selected and it is possible
+to put several logical pages onto each sheet of paper.  Furthermore a lot of
+hypertext features like hyperlinks and article threads are provided.  The
+package supports pdfTeX (pdfLaTeX) and VTeX.  With VTeX it is even possible to
+use this package to insert PostScript files, in addition to PDF files.")
+    (license license:lppl1.3+)))
+
+(define-public texlive-fonts-stmaryrd
+  (package
+    (name "texlive-fonts-stmaryrd")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "fonts" "stmaryrd"))
+              (sha256
+               (base32
+                "08pn4ca3vl6qm9l3wm5h5iyjsrg411kkm1yana329xwg2j14s9n6"))))
+    (build-system texlive-build-system)
+    (arguments
+     '(#:tex-directory "latex/stmaryrd"
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'patch-ins
+           (lambda _
+             (substitute* "stmaryrd.ins"
+               (("^%% LaTeX2e.*") "\\input docstrip\n")
+               (("fontdef\\}\\}" line)
+                (string-append line "\n\\endbatchfile")))
+             #t)))))
+    (home-page "http://www.ctan.org/pkg/stmaryrd")
+    (synopsis "St Mary Road symbols for theoretical computer science")
+    (description
+     "The fonts were originally distributed as Metafont sources only, but
+Adobe Type 1 versions are also now available.  Macro support is provided for
+use under LaTeX; the package supports the @code{only} option (provided by the
+@code{somedefs} package) to restrict what is loaded, for those who don't need
+the whole font.")
+    (license license:lppl)))
+
+(define-public texlive-latex-subfigure
+  (package
+    (name "texlive-latex-subfigure")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "subfigure"))
+              (sha256
+               (base32
+                "15spcl5wb7w269qd6y596vp4yi8sa5ppcx8w4z2i9kyp02r3a0yb"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/subfigure"))
+    (home-page "http://www.ctan.org/pkg/subfigure")
+    (synopsis "Figures divided into subfigures")
+    (description
+     "This (deprecated) package provides support for the manipulation and
+reference of small or \"sub\" figures and tables within a single figure or
+table environment.  It is convenient to use this package when your subfigures
+are to be separately captioned, referenced, or are to be included in the
+List-of-Figures.  A new @code{\\subfigure} command is introduced which can be
+used inside a figure environment for each subfigure.  An optional first
+argument is used as the caption for that subfigure.  The package is now
+considered obsolete: it was superseded by @code{subfig}, but users may find
+the more recent @code{subcaption} package more satisfactory.")
+    (license license:lppl)))
+
+(define-public texlive-latex-titlesec
+  (package
+    (name "texlive-latex-titlesec")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/tex/latex/titlesec"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "04nmkhqx6jxcxx9a30zbcd5smxi5fd0cbp132bki7fnvhspnhg21"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/tex/latex/titlesec")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/titlesec")
+    (synopsis "Select alternative section titles")
+    (description
+     "This package provides an interface to sectioning commands for selection
+from various title styles, e.g. for marginal titles and to change the font of
+all headings with a single command, also providing simple one-step page
+styles.  It also includes a package to change the page styles when there are
+floats in a page.  You may assign headers/footers to individual floats, too.")
+    (license license:lppl)))
+
+(define-public texlive-latex-lh
+  (package
+    (name "texlive-latex-lh")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "lh"))
+              (sha256
+               (base32
+                "00gdiwh3sfhh1iimjhpja7lm7k4vzqzql2irgwnpz94qvh25zwi5"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/lh"))
+    (home-page "http://www.ctan.org/pkg/lh")
+    (synopsis "Cyrillic fonts that support LaTeX standard encodings")
+    (description
+     "The LH fonts address the problem of the wide variety of alphabets that
+are written with Cyrillic-style characters.  The fonts are the original basis
+of the set of T2* and X2 encodings that are now used when LaTeX users need to
+write in Cyrillic languages.  Macro support in standard LaTeX encodings is
+offered through the latex-cyrillic and t2 bundles, and the package itself
+offers support for other (more traditional) encodings.  The fonts, in the
+standard T2* and X2 encodings are available in Adobe Type 1 format, in the
+CM-Super family of fonts.  The package also offers its own LaTeX support for
+OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.")
+    (license license:lppl)))
+
+(define-public texlive-metapost
+  (package
+    (name "texlive-metapost")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (svn-reference
+                    (url (string-append "svn://www.tug.org/texlive/tags/"
+                                        %texlive-tag "/Master/texmf-dist/"
+                                        "/metapost"))
+                    (revision %texlive-revision)))
+              (sha256
+               (base32
+                "03nvjddffiz796wll6axzmgfvynyciy2mqamv20qx252w71vwkwd"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let ((target (string-append (assoc-ref %outputs "out")
+                                      "/share/texmf-dist/metapost")))
+           (mkdir-p target)
+           (copy-recursively (assoc-ref %build-inputs "source") target)
+           #t))))
+    (home-page "http://www.ctan.org/pkg/metapost")
+    (synopsis "Create scalable illustrations")
+    (description
+     "MetaPost uses a language based on that of Metafont to produce precise
+technical illustrations.  Its output is scalable PostScript or SVG, rather
+than the bitmaps Metafont creates.")
+    (license license:lppl)))
+
+(define-public texlive-latex-wasysym
+  (package
+    (name "texlive-latex-wasysym")
+    (version (number->string %texlive-revision))
+    (source (origin
+              (method svn-fetch)
+              (uri (texlive-ref "latex" "wasysym"))
+              (sha256
+               (base32
+                "1sgwbfwjjf70g54hh93gsd9jp9nm67w6n74x9d72a56n07jbk5hv"))))
+    (build-system texlive-build-system)
+    (arguments '(#:tex-directory "latex/wasysym"))
+    (home-page "http://www.ctan.org/pkg/wasysym")
+    (synopsis "LaTeX support file to use the WASY2 fonts")
+    (description
+     "The wasy2WASY2 (Waldi Symbol) font by Roland Waldi provides many glyphs
+like male and female symbols and astronomical symbols, as well as the complete
+lasy font set and other odds and ends.  The wasysym package implements an easy
+to use interface for these symbols.")
+    (license license:lppl)))
+
 (define texlive-texmf
   (package
    (name "texlive-texmf")
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index 0ffc3b9980..d6f06e94b0 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -34,7 +34,7 @@
 (define-public tmux
   (package
     (name "tmux")
-    (version "2.4")
+    (version "2.5")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -42,7 +42,7 @@
                     version "/tmux-" version ".tar.gz"))
              (sha256
               (base32
-               "0jdkk7vncwabrp85lw3msh2y02dc2k0qz5h4hka9s38x4c9nnzbm"))))
+               "1pwm5nqm3by8452h6gll0sl3646rjdga7qw419svgxhvgk1mw4xf"))))
     (build-system gnu-build-system)
     (inputs
      `(("libevent" ,libevent)
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index bcb5aacbdf..314901fa4e 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -44,14 +44,14 @@
 (define-public tor
   (package
     (name "tor")
-    (version "0.3.0.8")
+    (version "0.3.0.9")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://dist.torproject.org/tor-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0j0dhq1zp6w6zy7y4kiw7zg1imbgv8nsl7imlzwc0951p2kknfk6"))))
+               "0hhyb1wil8japynqnm07r1f67w3wdnafdg9amzlrrcfcyq5qim28"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list "--enable-expensive-hardening"
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index fd73f8f347..465cdc9971 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -8,7 +8,7 @@
 ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -37,6 +37,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system ant)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
@@ -56,6 +57,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages groff)
   #:use-module (gnu packages haskell)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages nano)
   #:use-module (gnu packages ncurses)
@@ -1476,3 +1478,67 @@ patches.
 unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
 @end enumerate")
     (license license:gpl2)))
+
+(define-public java-jgit
+  (package
+    (name "java-jgit")
+    (version "4.7.0.201704051617-r")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "org/eclipse/jgit/org.eclipse.jgit/"
+                                  version "/org.eclipse.jgit-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "13ii4jn02ynzq6i7gsyi21k2i94jpc85wf6bcm31q4cyvzv0mk4k"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:tests? #f                      ; There are no tests to run.
+       #:jar-name "jgit.jar"
+       ;; JGit must be built with a JDK supporting Java 8.
+       #:jdk ,icedtea-8
+       ;; Target our older default JDK.
+       #:make-flags (list "-Dtarget=1.7")))
+    (inputs
+     `(("java-classpathx-servletapi" ,java-classpathx-servletapi)
+       ("java-javaewah" ,java-javaewah)
+       ("java-jsch" ,java-jsch)
+       ("java-slf4j-api" ,java-slf4j-api)))
+    (home-page "https://eclipse.org/jgit/")
+    (synopsis "Java library implementing the Git version control system")
+    (description "JGit is a lightweight, pure Java library implementing the
+Git version control system, providing repository access routines, support for
+network protocols, and core version control algorithms.")
+    (license license:edl1.0)))
+
+;; For axoloti.  This package can still be built with icedtea-7, which is
+;; currently used as the default JDK.
+(define-public java-jgit-4.2
+  (package (inherit java-jgit)
+    (version "4.2.0.201601211800-r")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://repo1.maven.org/maven2/"
+                                  "org/eclipse/jgit/org.eclipse.jgit/"
+                                  version "/org.eclipse.jgit-"
+                                  version "-sources.jar"))
+              (sha256
+               (base32
+                "15gm537iivhnzlkjym4x3wn5jqdjdragsw9pdpzqqg21nrc817mm"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'use-latest-javaewah-API
+           (lambda _
+             (substitute* "src/org/eclipse/jgit/internal/storage/file/BitmapIndexImpl.java"
+               (("wordinbits") "WORD_IN_BITS"))
+             #t)))
+       ;; Build for default JDK.
+       ,@(substitute-keyword-arguments (package-arguments java-jgit)
+           ((#:jdk _) icedtea-7))))
+    (inputs
+     `(("java-javaewah" ,java-javaewah)
+       ("java-jsch" ,java-jsch)
+       ("java-slf4j-api" ,java-slf4j-api)))))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 816fb9dbea..5338d375ee 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,14 +58,18 @@
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages cdrom)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages cmake)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cpp)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages elf)
+  #:use-module (gnu packages file)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -93,7 +98,10 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages serialization)
+  #:use-module (gnu packages shells)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
@@ -272,6 +280,90 @@ H.264 (MPEG-4 AVC) video streams.")
                     "file://extras/cl.h"
                     "See extras/cl.h in the distribution.")))))
 
+(define-public mkvtoolnix
+  (package
+    (name "mkvtoolnix")
+    (version "13.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://mkvtoolnix.download/sources/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0hknnnnx9661igm1r73dc7aqxnnrl5a8yvyvr1nhd9ymn2klwpl5"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Delete bundled libraries.
+           (for-each delete-file-recursively
+                     '("lib/libebml"
+                       "lib/libmatroska"
+                       "lib/nlohmann-json"
+                       "lib/pugixml"
+                       "lib/utf8-cpp"))))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("boost" ,boost)
+       ("bzip2" ,bzip2)
+       ("libebml" ,libebml)
+       ("flac" ,flac)
+       ("file" ,file)
+       ("libmatroska" ,libmatroska)
+       ("libogg" ,libogg)
+       ("libvorbis" ,libvorbis)
+       ("lzo" ,lzo)
+       ("pugixml" ,pugixml)
+       ("qt" ,qt)
+       ("utfcpp" ,utfcpp)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("docbook-xsl" ,docbook-xsl)
+       ("gettext" ,gettext-minimal)
+       ("googletest" ,googletest)
+       ("libxslt" ,libxslt)
+       ("nlohmann-json-cpp" ,nlohmann-json-cpp)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("po4a" ,po4a)
+       ("ruby" ,ruby)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-boost="
+                            (assoc-ref %build-inputs "boost"))
+             (string-append "--with-docbook-xsl-root="
+                            (assoc-ref %build-inputs "docbook-xsl")
+                            "/xml/xsl/docbook-xsl-"
+                            ,(package-version docbook-xsl))
+             (string-append "--with-extra-includes="
+                            (assoc-ref %build-inputs "nlohmann-json-cpp")
+                            "/include/nlohmann"))
+        #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'add-googletest
+           (lambda _
+             (symlink
+              (string-append (assoc-ref %build-inputs "googletest")
+                             "/include/gtest") "lib/gtest")
+             #t))
+         (replace 'build
+           (lambda _
+             (let ((-j (list "-j" (number->string (parallel-job-count)))))
+               (zero? (apply system* "rake" -j)))))
+         (replace 'check
+           (lambda _
+             (zero? (system* "rake" "tests/unit"))))
+         (replace 'install
+           (lambda _
+             (zero? (system* "rake" "install")))))))
+    (home-page "https://mkvtoolnix.download")
+    (synopsis "Tools to create, alter and inspect Matroska files")
+    (description
+     "MKVToolNix provides tools for getting information about Matroska files
+(@code{mkvinfo}), extracting tracks/data from Matroska files (@code{mkvextract})
+and creating Matroska files from other media files (@code{mkvmerge}).")
+    (license license:gpl2)))
+
 (define-public x265
   (package
     (name "x265")
@@ -407,6 +499,34 @@ developed according to the official standards for DV video: IEC 61834 and
 SMPTE 314M.")
     (license license:lgpl2.1+)))
 
+(define-public libmatroska
+  (package
+    (name "libmatroska")
+    (version "1.4.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://dl.matroska.org/downloads/"
+                           name "/" name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "1yi5cnv13nhl27xyqayd5l3sf0j3swfj3apzibv71yg9pariwi26"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libebml" ,libebml)))
+    (home-page "https://www.matroska.org")
+    (synopsis "C++ libary to parse Matroska files (.mkv and .mka)")
+    (description
+     "Matroska aims to become the standard of multimedia container formats.
+It is based on EBML (Extensible Binary Meta Language), a binary derivative
+of XML.  EBML enables the Matroska Development Team to gain significant
+advantages in terms of future format extensibility, without breaking file
+support in old parsers.
+libebml is a C++ library to read and write EBML files.")
+    (license license:lgpl2.1)))
+
 (define-public libva
   (package
     (name "libva")
@@ -1001,7 +1121,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2017.06.23")
+    (version "2017.07.09")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://yt-dl.org/downloads/"
@@ -1009,7 +1129,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "09x11k69imfx6j2dj3p8bckk8f59q276hy65q5qr8qc41s80j8b3"))))
+                "0phrfby2nk5y5x5173bbg3jcr2ajk849al3zji5y39z39dj36ba2"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
@@ -1118,15 +1238,16 @@ other site that youtube-dl supports.")
 (define-public you-get
   (package
     (name "you-get")
-    (version "0.4.715")
+    (version "0.4.775")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "https://github.com/soimort/you-get/releases/download/v"
-                    version "/you-get-" version ".tar.gz"))
+                    "https://github.com/soimort/you-get/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "043122hfh56fbbszp1kwd1f65asgyn60j1ijday93hf2dkhvbrnh"))))
+                "1pjjv42c9bysnj8s3c6v0g6b00lr7b21y8ypibnzd6z0jxlsq7sz"))))
     (build-system python-build-system)
     (arguments
      ;; no tests
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 87fea4a47a..063c8aacbe 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -209,14 +209,14 @@ private network between hosts on the internet.")
 (define-public sshuttle
   (package
     (name "sshuttle")
-    (version "0.78.1")
+    (version "0.78.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri name version))
        (sha256
         (base32
-         "0g1dpqigz02vafzh84z5990lnj9d95raknav0xmf0va7rr41d9q3"))))
+         "12xyq5h77b57cnkljdk8qyjxzys512b73019s20x6ck5brj1m8wa"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-pytest-runner" ,python-pytest-runner)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 7f4b487728..8e60f64790 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4681,3 +4681,24 @@ message stream (in a web server that is per connection).")
     (description "@code{httpretty} is a helper for faking web requests,
 inspired by Ruby's @code{fakeweb}.")
     (license l:expat)))
+
+(define-public jo
+  (package
+    (name "jo")
+    (version "1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jpmens/jo/releases/download/v"
+                           version "/jo-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0pysickpxrbl53c122h6swvz8sck68q3j0ql38wvbz70q9k4gvb3"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/jpmens/jo")
+    (synopsis "Output JSON from a shell")
+    (description "jo is a command-line utility to create JSON objects or
+arrays.  It creates a JSON string on stdout from words provided as
+command-line arguments or read from stdin.")
+    (license (list l:gpl2+
+                   l:expat)))) ; json.c, json.h
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 567d696eac..8d04242743 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -53,14 +53,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.16.4")
+    (version "2.16.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0a2ikwiw1wn8w11y9ci6nn6dq9w0iki48l9lhnbm7g8rhcrs9azr"))))
+                "1m3xpqs6ddq3m8z6vn83mqh5mkagxlp68vl5qnc7hxcf8brrc0wf"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index fa745a1711..513b0eb999 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -55,14 +55,14 @@
 (define-public wine
   (package
     (name "wine")
-    (version "2.11")
+    (version "2.0.1")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://dl.winehq.org/wine/source/2.x"
+              (uri (string-append "https://dl.winehq.org/wine/source/2.0"
                                   "/wine-" version ".tar.xz"))
               (sha256
                (base32
-                "0g6cwjyqwc660w33453aklh3hpc0b8rrb88dryn23ah6wannvagg"))))
+                "10qm0xxqzvl4y3mhvaxcaacrcs8d5kdz5wf0gbxpmp36wnm4xyvc"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
@@ -158,3 +158,18 @@ integrate Windows applications into your desktop.")
                                   (package-arguments wine))))
     (synopsis "Implementation of the Windows API (64-bit version)")
     (supported-systems '("x86_64-linux"))))
+
+;; TODO: This is wine development version, provided for historical reasons.
+;; We can remove it as soon as a new stable release is out.
+(define-public wine-next
+  (package (inherit wine)
+    (name "wine-next")
+    (version "2.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://dl.winehq.org/wine/source/2.x"
+                                  "/wine-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0g6cwjyqwc660w33453aklh3hpc0b8rrb88dryn23ah6wannvagg"))))))
+
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 2beef4c1ce..ecf7c82396 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -904,7 +904,7 @@ color temperature should be set to match the lamps in your room.")
 (define-public xscreensaver
   (package
     (name "xscreensaver")
-    (version "5.36")
+    (version "5.37")
     (source
      (origin
        (method url-fetch)
@@ -913,7 +913,7 @@ color temperature should be set to match the lamps in your room.")
                        version ".tar.gz"))
        (sha256
         (base32
-         "0v60mdhvv42jla5hljp77igng11kxpah5fs9j7ci65kz0hw552vb"))))
+         "1ng5ddzb4k2h1w54pvk9hzxvnxxmc54bc4a2ibk974nzjjjaxivs"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f  ; no check target
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index 101909b1e4..35c425a89c 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -738,6 +738,9 @@ on your desktop.")
        ("xfce4-clipman-plugin"    ,xfce4-clipman-plugin)
        ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin)
        ("xfce4-xkb-plugin" ,xfce4-xkb-plugin)))
+    (native-search-paths
+     ;; For finding panel plugins.
+     (package-native-search-paths xfce4-panel))
     (home-page "http://www.xfce.org/")
     (synopsis "Desktop environment (meta-package)")
     (description
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 287d5a728d..3cf1de305f 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
+;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,6 +72,27 @@ stream-oriented parser in which an application registers handlers for
 things the parser might find in the XML document (like start tags).")
     (license license:expat)))
 
+(define-public libebml
+  (package
+    (name "libebml")
+    (version "1.3.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://dl.matroska.org/downloads/"
+                           name "/" name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "11zka6z9ncywyjr1gfm5cnii33ln7y3w6s86kiacchip2g7kw3f5"))))
+    (build-system gnu-build-system)
+    (home-page "https://www.matroska.org")
+    (synopsis "C++ libary to parse EBML files")
+    (description "libebml is a C++ library to read and write EBML (Extensible
+Binary Meta Language) files.  EBML was designed to be a simplified binary
+extension of XML for the purpose of storing and manipulating data in a
+hierarchical form with variable field lengths.")
+    (license license:lgpl2.1)))
+
 (define-public libxml2
   (package
     (name "libxml2")
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 555f12fbeb..846b5cb013 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -5022,7 +5022,10 @@ over Xlib, including:
               name "-" version ".tar.bz2"))
         (sha256
          (base32
-          "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7"))))
+          "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7"))
+        (patches
+         (search-patches "xorg-server-CVE-2017-10971.patch"
+                         "xorg-server-CVE-2017-10972.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("dri2proto" ,dri2proto)
@@ -5822,7 +5825,7 @@ basic eye-candy effects.")
 (define-public xpra
   (package
     (name "xpra")
-    (version "2.0.2")
+    (version "2.0.3")
     (source
      (origin
        (method url-fetch)
@@ -5830,7 +5833,7 @@ basic eye-candy effects.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "09hzgbsj9v5qyh41rbz968ipi7016jk66b60vm6piryna9kbnha3"))))
+         "1f2mkbgjslfivh5xq5xbab1cn6jjyc1d104f692f3s0dnhq7dafa"))))
     (build-system python-build-system)
     (inputs `(("ffmpeg", ffmpeg)
               ("flac", flac)
diff --git a/gnu/services/sysctl.scm b/gnu/services/sysctl.scm
new file mode 100644
index 0000000000..be5be59a05
--- /dev/null
+++ b/gnu/services/sysctl.scm
@@ -0,0 +1,77 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Sou Bunnbu <iyzsong@member.fsf.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services sysctl)
+  #:use-module (gnu services)
+  #:use-module (gnu services shepherd)
+  #:use-module (gnu packages linux)
+  #:use-module (guix gexp)
+  #:use-module (guix records)
+  #:use-module (srfi srfi-1)
+  #:use-module (ice-9 match)
+  #:export (sysctl-configuration
+            sysctl-service-type))
+
+
+;;;
+;;; System Control Service.
+;;;
+
+(define-record-type* <sysctl-configuration>
+  sysctl-configuration make-sysctl-configuration?
+  sysctl-configuration?
+  (sysctl   sysctl-configuration-sysctl    ; path of the 'sysctl' command
+            (default (file-append procps "/sbin/sysctl")))
+  (settings sysctl-configuration-settings  ; alist of string pairs
+            (default '())))
+
+(define (sysctl-configuration-settings->sysctl.conf settings)
+  "Return a file for @command{sysctl} to set kernel parameters as specified by
+@var{settings}."
+  (apply mixed-text-file "sysctl.conf"
+         (append-map (match-lambda
+                       ((key . value)
+                        (list key "=" value "\n")))
+                     settings)))
+
+(define sysctl-shepherd-service
+  (match-lambda
+    (($ <sysctl-configuration> sysctl settings)
+     (let ((sysctl.conf
+            (sysctl-configuration-settings->sysctl.conf settings)))
+       (shepherd-service
+        (documentation "Configure kernel parameters at boot.")
+        (provision '(sysctl))
+        (start #~(lambda _
+                   (zero? (system* #$sysctl "--load" #$sysctl.conf))))
+        (stop #~(const #t))
+        (respawn? #f))))))
+
+(define sysctl-service-type
+  (service-type
+   (name 'sysctl)
+   (extensions
+    (list (service-extension shepherd-root-service-type
+                             (compose list sysctl-shepherd-service))))
+   (compose concatenate)
+   (extend (lambda (config settings)
+             (sysctl-configuration
+              (inherit config)
+              (settings (append (sysctl-configuration-settings config)
+                                settings)))))
+   (default-value (sysctl-configuration))))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 0a78d030dd..f9aa7f6733 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -277,7 +277,13 @@ You have been warned.  Thanks for being so brave.
           ;; Since this is running on a USB stick with a unionfs as the root
           ;; file system, use an appropriate cache configuration.
           (nscd-service (nscd-configuration
-                         (caches %nscd-minimal-caches))))))
+                         (caches %nscd-minimal-caches)))
+
+          ;; Having /bin/sh is a good idea.  In particular it allows Tramp
+          ;; connections to this system to work.
+          (service special-files-service-type
+                   `(("/bin/sh" ,(file-append (canonical-package bash)
+                                              "/bin/sh")))))))
 
 (define %issue
   ;; Greeting.
@@ -300,7 +306,7 @@ Use Alt-F2 for documentation.
      ;; the appropriate one.
      (cons* (file-system
               (mount-point "/")
-              (device "gnu-disk-image")
+              (device "GuixSD")
               (title 'label)
               (type "ext4"))
 
@@ -341,7 +347,6 @@ Use Alt-F2 for documentation.
      (base-pam-services #:allow-empty-passwords? #t))
 
     (packages (cons* (canonical-package glibc) ;for 'tzselect' & co.
-                     shadow                    ;'passwd', for easy SSH access
                      parted gptfdisk ddrescue
                      grub                  ;mostly so xrefs to its manual work
                      cryptsetup
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 3a5e76034a..5a7aec5c87 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -68,24 +68,25 @@ the derivations referenced by EXP are automatically copied to the initrd."
   ;; General Linux overview in `Documentation/early-userspace/README' and
   ;; `Documentation/filesystems/ramfs-rootfs-initramfs.txt'.
 
-  (mlet %store-monad ((init (gexp->script "init" exp
-                                          #:guile guile)))
-    (define builder
-      (with-imported-modules (source-module-closure
-                              '((gnu build linux-initrd)))
-        #~(begin
-            (use-modules (gnu build linux-initrd))
-
-            (mkdir #$output)
-            (build-initrd (string-append #$output "/initrd")
-                          #:guile #$guile
-                          #:init #$init
-                          ;; Copy everything INIT refers to into the initrd.
-                          #:references-graphs '("closure")
-                          #:gzip (string-append #$gzip "/bin/gzip")))))
-
-    (gexp->derivation name builder
-                      #:references-graphs `(("closure" ,init)))))
+  (define init
+    (program-file "init" exp #:guile guile))
+
+  (define builder
+    (with-imported-modules (source-module-closure
+                            '((gnu build linux-initrd)))
+      #~(begin
+          (use-modules (gnu build linux-initrd))
+
+          (mkdir #$output)
+          (build-initrd (string-append #$output "/initrd")
+                        #:guile #$guile
+                        #:init #$init
+                        ;; Copy everything INIT refers to into the initrd.
+                        #:references-graphs '("closure")
+                        #:gzip (string-append #$gzip "/bin/gzip")))))
+
+  (gexp->derivation name builder
+                    #:references-graphs `(("closure" ,init))))
 
 (define (flat-linux-module-directory linux modules)
   "Return a flat directory containing the Linux kernel modules listed in
@@ -132,7 +133,7 @@ MODULES and taken from LINUX."
                                                 (basename module))))
                     (delete-duplicates modules)))))
 
-  (gexp->derivation "linux-modules" build-exp))
+  (computed-file "linux-modules" build-exp))
 
 (define* (raw-initrd file-systems
                       #:key
@@ -165,40 +166,41 @@ to it are lost."
              (open source target)))
          mapped-devices))
 
-  (mlet %store-monad ((kodir (flat-linux-module-directory linux
-                                                          linux-modules)))
-    (expression->initrd
-     (with-imported-modules (source-module-closure
-                             '((gnu build linux-boot)
-                               (guix build utils)
-                               (guix build bournish)
-                               (gnu build file-systems)))
-       #~(begin
-           (use-modules (gnu build linux-boot)
-                        (guix build utils)
-                        (guix build bournish) ;add the 'bournish' meta-command
-                        (srfi srfi-26)
-
-                        ;; FIXME: The following modules are for
-                        ;; LUKS-DEVICE-MAPPING.  We should instead propagate
-                        ;; this info via gexps.
-                        ((gnu build file-systems)
-                         #:select (find-partition-by-luks-uuid))
-                        (rnrs bytevectors))
-
-           (with-output-to-port (%make-void-port "w")
-             (lambda ()
-               (set-path-environment-variable "PATH" '("bin" "sbin")
-                                              '#$helper-packages)))
-
-           (boot-system #:mounts '#$(map file-system->spec file-systems)
-                        #:pre-mount (lambda ()
-                                      (and #$@device-mapping-commands))
-                        #:linux-modules '#$linux-modules
-                        #:linux-module-directory '#$kodir
-                        #:qemu-guest-networking? #$qemu-networking?
-                        #:volatile-root? '#$volatile-root?)))
-     #:name "raw-initrd")))
+  (define kodir
+    (flat-linux-module-directory linux linux-modules))
+
+  (expression->initrd
+   (with-imported-modules (source-module-closure
+                           '((gnu build linux-boot)
+                             (guix build utils)
+                             (guix build bournish)
+                             (gnu build file-systems)))
+     #~(begin
+         (use-modules (gnu build linux-boot)
+                      (guix build utils)
+                      (guix build bournish)   ;add the 'bournish' meta-command
+                      (srfi srfi-26)
+
+                      ;; FIXME: The following modules are for
+                      ;; LUKS-DEVICE-MAPPING.  We should instead propagate
+                      ;; this info via gexps.
+                      ((gnu build file-systems)
+                       #:select (find-partition-by-luks-uuid))
+                      (rnrs bytevectors))
+
+         (with-output-to-port (%make-void-port "w")
+           (lambda ()
+             (set-path-environment-variable "PATH" '("bin" "sbin")
+                                            '#$helper-packages)))
+
+         (boot-system #:mounts '#$(map file-system->spec file-systems)
+                      #:pre-mount (lambda ()
+                                    (and #$@device-mapping-commands))
+                      #:linux-modules '#$linux-modules
+                      #:linux-module-directory '#$kodir
+                      #:qemu-guest-networking? #$qemu-networking?
+                      #:volatile-root? '#$volatile-root?)))
+   #:name "raw-initrd"))
 
 (define* (file-system-packages file-systems #:key (volatile-root? #f))
   "Return the list of statically-linked, stripped packages to check
@@ -285,6 +287,9 @@ loaded at boot time in the order in which they appear."
       ,@(if (find (file-system-type-predicate "btrfs") file-systems)
             '("btrfs")
             '())
+      ,@(if (find (file-system-type-predicate "iso9660") file-systems)
+            '("isofs")
+            '())
       ,@(if volatile-root?
             '("fuse")
             '())
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 7ac8696158..66a2448ceb 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -34,6 +34,7 @@
                 #:select (qemu-command))
   #:use-module (gnu packages base)
   #:use-module (gnu packages bootloaders)
+  #:use-module (gnu packages cdrom)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages bash)
@@ -174,6 +175,52 @@ made available under the /xchg CIFS share."
                       #:guile-for-build guile-for-build
                       #:references-graphs references-graphs)))
 
+(define* (iso9660-image #:key
+                        (name "iso9660-image")
+                        file-system-label
+                        file-system-uuid
+                        (system (%current-system))
+                        (qemu qemu-minimal)
+                        os-drv
+                        bootcfg-drv
+                        bootloader
+                        (inputs '()))
+  "Return a bootable, stand-alone iso9660 image.
+
+INPUTS is a list of inputs (as for packages)."
+  (expression->derivation-in-linux-vm
+   name
+   (with-imported-modules (source-module-closure '((gnu build vm)
+                                                   (guix build utils)))
+     #~(begin
+         (use-modules (gnu build vm)
+                      (guix build utils))
+
+         (let ((inputs
+                '#$(append (list qemu parted e2fsprogs dosfstools xorriso)
+                           (map canonical-package
+                                (list sed grep coreutils findutils gawk))))
+
+               ;; This variable is unused but allows us to add INPUTS-TO-COPY
+               ;; as inputs.
+               (to-register
+                '#$(map (match-lambda
+                          ((name thing) thing)
+                          ((name thing output) `(,thing ,output)))
+                        inputs)))
+
+           (set-path-environment-variable "PATH" '("bin" "sbin") inputs)
+           (make-iso9660-image #$(bootloader-package bootloader)
+                               #$bootcfg-drv
+                               #$os-drv
+                               "/xchg/guixsd.iso"
+                               #:volume-id #$file-system-label
+                               #:volume-uuid #$file-system-uuid)
+           (reboot))))
+   #:system system
+   #:make-disk-image? #f
+   #:references-graphs inputs))
+
 (define* (qemu-image #:key
                      (name "qemu-image")
                      (system (%current-system))
@@ -288,11 +335,17 @@ the image."
 system described by OS.  Said image can be copied on a USB stick as is.  When
 VOLATILE? is true, the root file system is made volatile; this is useful
 to USB sticks meant to be read-only."
+  (define normalize-label
+    ;; ISO labels are all-caps (case-insensitive), but since
+    ;; 'find-partition-by-label' is case-sensitive, make it all-caps here.
+    (if (string=? "iso9660" file-system-type)
+        string-upcase
+        identity))
   (define root-label
     ;; Volume name of the root file system.  Since we don't know which device
     ;; will hold it, we use the volume name to find it (using the UUID would
     ;; be even better, but somewhat less convenient.)
-    "gnu-disk-image")
+    (normalize-label "GuixSD"))
 
   (define file-systems-to-keep
     (remove (lambda (fs)
@@ -318,19 +371,32 @@ to USB sticks meant to be read-only."
 
     (mlet* %store-monad ((os-drv   (operating-system-derivation os))
                          (bootcfg  (operating-system-bootcfg os)))
-      (qemu-image #:name name
-                  #:os-drv os-drv
-                  #:bootcfg-drv bootcfg
-                  #:bootloader (bootloader-configuration-bootloader
-                                (operating-system-bootloader os))
-                  #:disk-image-size disk-image-size
-                  #:disk-image-format "raw"
-                  #:file-system-type file-system-type
-                  #:file-system-label root-label
-                  #:copy-inputs? #t
-                  #:register-closures? #t
-                  #:inputs `(("system" ,os-drv)
-                             ("bootcfg" ,bootcfg))))))
+      (if (string=? "iso9660" file-system-type)
+          (iso9660-image #:name name
+                         #:file-system-label root-label
+                         #:file-system-uuid #f
+                         #:os-drv os-drv
+                         #:bootcfg-drv bootcfg
+                         #:bootloader (bootloader-configuration-bootloader
+                                        (operating-system-bootloader os))
+                         #:inputs `(("system" ,os-drv)
+                                    ("bootcfg" ,bootcfg)))
+          (qemu-image #:name name
+                      #:os-drv os-drv
+                      #:bootcfg-drv bootcfg
+                      #:bootloader (bootloader-configuration-bootloader
+                                    (operating-system-bootloader os))
+                      #:disk-image-size disk-image-size
+                      #:disk-image-format "raw"
+                      #:file-system-type (if (string=? "iso9660"
+                                                       file-system-type)
+                                             "ext4"
+                                             file-system-type)
+                      #:file-system-label root-label
+                      #:copy-inputs? #t
+                      #:register-closures? #t
+                      #:inputs `(("system" ,os-drv)
+                                 ("bootcfg" ,bootcfg)))))))
 
 (define* (system-qemu-image os
                             #:key
diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm
index 0357c47a47..80882b144b 100644
--- a/guix/build-system/texlive.scm
+++ b/guix/build-system/texlive.scm
@@ -55,6 +55,7 @@ given Texlive COMPONENT."
 (define %texlive-build-system-modules
   ;; Build-side modules imported by default.
   `((guix build texlive-build-system)
+    (guix build union)
     ,@%gnu-build-system-modules))
 
 (define (default-texlive-bin)
@@ -114,6 +115,7 @@ given Texlive COMPONENT."
                         (substitutable? #t)
                         (imported-modules %texlive-build-system-modules)
                         (modules '((guix build texlive-build-system)
+                                   (guix build union)
                                    (guix build utils))))
   "Build SOURCE with INPUTS."
   (define builder
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 9c082b4352..549612fa3c 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -21,6 +21,7 @@
 
 (define-module (guix build syscalls)
   #:use-module (system foreign)
+  #:use-module (system base target)             ;for cross-compilation support
   #:use-module (rnrs bytevectors)
   #:autoload   (ice-9 binary-ports) (get-bytevector-n)
   #:use-module (srfi srfi-1)
@@ -824,28 +825,75 @@ system to PUT-OLD."
 ;;; Opendir & co.
 ;;;
 
-(define-c-struct %struct-dirent-header
-  sizeof-dirent-header
+(define (file-type->symbol type)
+  ;; Convert TYPE to symbols like 'stat:type' does.
+  (cond ((= type DT_REG)  'regular)
+        ((= type DT_LNK)  'symlink)
+        ((= type DT_DIR)  'directory)
+        ((= type DT_FIFO) 'fifo)
+        ((= type DT_CHR)  'char-special)
+        ((= type DT_BLK)  'block-special)
+        ((= type DT_SOCK) 'socket)
+        (else             'unknown)))
+
+;; 'struct dirent64' for GNU/Linux.
+(define-c-struct %struct-dirent-header/linux
+  sizeof-dirent-header/linux
   (lambda (inode offset length type name)
-    ;; Convert TYPE to symbols like 'stat:type' does.
-    (let ((type (cond ((= type DT_REG)  'regular)
-                      ((= type DT_LNK)  'symlink)
-                      ((= type DT_DIR)  'directory)
-                      ((= type DT_FIFO) 'fifo)
-                      ((= type DT_CHR)  'char-special)
-                      ((= type DT_BLK)  'block-special)
-                      ((= type DT_SOCK) 'socket)
-                      (else             'unknown))))
-      `((type . ,type)
-        (inode . ,inode))))
-  read-dirent-header
-  write-dirent-header!
+    `((type . ,(file-type->symbol type))
+      (inode . ,inode)))
+  read-dirent-header/linux
+  write-dirent-header!/linux
   (inode  int64)
   (offset int64)
   (length unsigned-short)
   (type   uint8)
   (name   uint8))                                 ;first byte of 'd_name'
 
+;; 'struct dirent64' for GNU/Hurd.
+(define-c-struct %struct-dirent-header/hurd
+  sizeof-dirent-header/hurd
+  (lambda (inode length type name-length name)
+    `((type . ,(file-type->symbol type))
+      (inode . ,inode)))
+  read-dirent-header/hurd
+  write-dirent-header!/hurd
+  (inode   int64)
+  (length  unsigned-short)
+  (type    uint8)
+  (namelen uint8)
+  (name    uint8))
+
+(define-syntax define-generic-identifier
+  (syntax-rules (gnu/linux gnu/hurd =>)
+    "Define a generic identifier that adjust to the current GNU variant."
+    ((_ id (gnu/linux => linux) (gnu/hurd => hurd))
+     (define-syntax id
+       (lambda (s)
+         (syntax-case s ()
+           ((_ args (... ...))
+            (if (string-contains (or (target-type) %host-type)
+                                 "linux")
+                #'(linux args (... ...))
+                #'(hurd args (... ...))))
+           (_
+            (if (string-contains (or (target-type) %host-type)
+                                 "linux")
+                #'linux
+                #'hurd))))))))
+
+(define-generic-identifier read-dirent-header
+  (gnu/linux => read-dirent-header/linux)
+  (gnu/hurd  => read-dirent-header/hurd))
+
+(define-generic-identifier %struct-dirent-header
+  (gnu/linux => %struct-dirent-header/linux)
+  (gnu/hurd  => %struct-dirent-header/hurd))
+
+(define-generic-identifier sizeof-dirent-header
+  (gnu/linux => sizeof-dirent-header/linux)
+  (gnu/hurd  => sizeof-dirent-header/hurd))
+
 ;; Constants for the 'type' field, from <dirent.h>.
 (define DT_UNKNOWN 0)
 (define DT_FIFO 1)
diff --git a/guix/build/texlive-build-system.scm b/guix/build/texlive-build-system.scm
index c1fd9fd9af..c0f262a5c0 100644
--- a/guix/build/texlive-build-system.scm
+++ b/guix/build/texlive-build-system.scm
@@ -19,7 +19,9 @@
 (define-module (guix build texlive-build-system)
   #:use-module ((guix build gnu-build-system) #:prefix gnu:)
   #:use-module (guix build utils)
+  #:use-module (guix build union)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 ftw)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:export (%standard-phases
@@ -38,31 +40,34 @@
                   (string-append "&" format)
                   file)))
 
-(define* (build #:key inputs build-targets tex-format #:allow-other-keys)
-  ;; Find additional tex and sty files
-  (setenv "TEXINPUTS"
-          (string-append
-           (getcwd) ":" (getcwd) "/build:"
-           (string-join
-            (append-map (match-lambda
-                          ((_ . dir)
-                           (find-files dir
-                                       (lambda (_ stat)
-                                         (eq? 'directory (stat:type stat)))
-                                       #:directories? #t
-                                       #:stat stat)))
-                        inputs)
-            ":")))
-  (setenv "TEXFORMATS"
-          (string-append (assoc-ref inputs "texlive-latex-base")
-                         "/share/texmf-dist/web2c/"))
-  (setenv "LUAINPUTS"
-          (string-append (assoc-ref inputs "texlive-latex-base")
-                         "/share/texmf-dist/tex/latex/base/"))
+(define* (configure #:key inputs #:allow-other-keys)
+  (let* ((out       (string-append (getcwd) "/.texlive-union"))
+         (texmf.cnf (string-append out "/share/texmf-dist/web2c/texmf.cnf")))
+    ;; Build a modifiable union of all inputs (but exclude bash)
+    (match inputs
+      (((names . directories) ...)
+       (union-build out directories
+                    #:create-all-directories? #t
+                    #:log-port (%make-void-port "w"))))
+
+    ;; The configuration file "texmf.cnf" is provided by the
+    ;; "texlive-bin" package.  We take it and override only the
+    ;; setting for TEXMFROOT and TEXMF.  This file won't be consulted
+    ;; by default, though, so we still need to set TEXMFCNF.
+    (substitute* texmf.cnf
+      (("^TEXMFROOT = .*")
+       (string-append "TEXMFROOT = " out "/share\n"))
+      (("^TEXMF = .*")
+       "TEXMF = $TEXMFROOT/share/texmf-dist\n"))
+    (setenv "TEXMFCNF" (dirname texmf.cnf))
+    (setenv "TEXMF" (string-append out "/share/texmf-dist")))
   (mkdir "build")
+  #t)
+
+(define* (build #:key inputs build-targets tex-format #:allow-other-keys)
   (every (cut compile-with-latex tex-format <>)
          (if build-targets build-targets
-             (find-files "." "\\.ins$"))))
+             (scandir "." (cut string-suffix? ".ins" <>)))))
 
 (define* (install #:key outputs tex-directory #:allow-other-keys)
   (let* ((out (assoc-ref outputs "out"))
@@ -76,7 +81,7 @@
 
 (define %standard-phases
   (modify-phases gnu:%standard-phases
-    (delete 'configure)
+    (replace 'configure configure)
     (replace 'build build)
     (delete 'check)
     (replace 'install install)))
diff --git a/guix/discovery.scm b/guix/discovery.scm
index 292df2bd9c..2741725b9d 100644
--- a/guix/discovery.scm
+++ b/guix/discovery.scm
@@ -60,11 +60,21 @@ DIRECTORY is not accessible."
                      (case (entry-type absolute properties)
                        ((directory)
                         (append (scheme-files absolute) result))
-                       ((regular symlink)
-                        ;; XXX: We don't recurse if we find a symlink.
+                       ((regular)
                         (if (string-suffix? ".scm" name)
                             (cons absolute result)
                             result))
+                       ((symlink)
+                        (cond ((string-suffix? ".scm" name)
+                               (cons absolute result))
+                              ((stat absolute #f)
+                               =>
+                               (match-lambda
+                                 (#f result)
+                                 ((= stat:type 'directory)
+                                  (append (scheme-files absolute)
+                                          result))
+                                 (_ result)))))
                        (else
                         result))))))
               '()
diff --git a/guix/git.scm b/guix/git.scm
index 17a6784aef..406c817341 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -34,13 +34,12 @@
   (make-parameter "/var/cache/guix/checkouts"))
 
 (define-syntax-rule (with-libgit2 thunk ...)
-  (dynamic-wind
-    (lambda ()
-      (libgit2-init!))
-    (lambda ()
-      thunk ...)
-    (lambda ()
-      (libgit2-shutdown))))
+  (begin
+    ;; XXX: The right thing to do would be to call (libgit2-shutdown) here,
+    ;; but pointer finalizers used in guile-git may be called after shutdown,
+    ;; resulting in a segfault. Hence, let's skip shutdown call for now.
+    (libgit2-init!)
+    thunk ...))
 
 (define* (url-cache-directory url
                               #:optional (cache-directory
diff --git a/guix/packages.scm b/guix/packages.scm
index 75e53a2046..3528db442f 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -269,8 +269,11 @@ name of its URI."
                                                   ; inputs
   (native-search-paths package-native-search-paths (default '()))
   (search-paths package-search-paths (default '()))
+
+  ;; The 'replacement' field is marked as "innate" because it never makes
+  ;; sense to inherit a replacement as is.  See the 'package/inherit' macro.
   (replacement package-replacement                ; package | #f
-               (default #f) (thunked))
+               (default #f) (thunked) (innate))
 
   (synopsis package-synopsis)                    ; one-line description
   (description package-description)              ; one or two paragraphs
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 056406e303..85c1722d62 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -967,9 +967,13 @@ for both major versions of GTK+."
   "Return a derivation that builds the @file{mimeinfo.cache} database from
 desktop files.  It's used to query what applications can handle a given
 MIME type."
-  (mlet %store-monad ((desktop-file-utils
+  (define desktop-file-utils            ; lazy reference
+    (module-ref (resolve-interface '(gnu packages freedesktop))
+                'desktop-file-utils))
+
+  (mlet %store-monad ((glib
                        (manifest-lookup-package
-                        manifest "desktop-file-utils")))
+                        manifest "glib")))
     (define build
       (with-imported-modules '((guix build utils)
                                (guix build union))
@@ -990,8 +994,8 @@ MIME type."
                            #:log-port (%make-void-port "w"))
               (exit (zero? (system* update-desktop-database destdir)))))))
 
-    ;; Don't run the hook when 'desktop-file-utils' is not referenced.
-    (if desktop-file-utils
+    ;; Don't run the hook when 'glib' is not referenced.
+    (if glib
         (gexp->derivation "xdg-desktop-database" build
                           #:local-build? #t
                           #:substitutable? #f)
diff --git a/guix/scripts/copy.scm b/guix/scripts/copy.scm
index 45f7cbbad5..32438b99d9 100644
--- a/guix/scripts/copy.scm
+++ b/guix/scripts/copy.scm
@@ -75,7 +75,8 @@ package names, build the underlying packages before sending them."
 
       (and (or (assoc-ref opts 'dry-run?)
                (build-derivations local drv))
-           (let* ((session (open-ssh-session host #:user user #:port port))
+           (let* ((session (open-ssh-session host #:user user
+                                             #:port (or port 22)))
                   (sent    (send-files local items
                                        (connect-to-remote-daemon session)
                                        #:recursive? #t)))
@@ -88,7 +89,7 @@ package names, build the underlying packages before sending them."
     (let*-values (((user host port)
                    (ssh-spec->user+host+port source))
                   ((session)
-                   (open-ssh-session host #:user user #:port port))
+                   (open-ssh-session host #:user user #:port (or port 22)))
                   ((remote)
                    (connect-to-remote-daemon session)))
       (set-build-options-from-command-line local opts)
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 7e20b10dad..65dd92e8b7 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -560,7 +560,8 @@ PATTERN, a string.  When PATTERN is #f, display all the system generations."
 ;;;
 
 (define* (system-derivation-for-action os action
-                                       #:key image-size full-boot? mappings)
+                                       #:key image-size file-system-type
+                                       full-boot? mappings)
   "Return as a monadic value the derivation for OS according to ACTION."
   (case action
     ((build init reconfigure)
@@ -578,7 +579,8 @@ PATTERN, a string.  When PATTERN is #f, display all the system generations."
                                                 (* 70 (expt 2 20)))
                                             #:mappings mappings))
     ((disk-image)
-     (system-disk-image os #:disk-image-size image-size))))
+     (system-disk-image os #:disk-image-size image-size
+                           #:file-system-type file-system-type))))
 
 (define (maybe-suggest-running-guix-pull)
   "Suggest running 'guix pull' if this has never been done before."
@@ -610,13 +612,15 @@ and TARGET arguments."
                          #:key install-bootloader?
                          dry-run? derivations-only?
                          use-substitutes? device target
-                         image-size full-boot?
+                         image-size file-system-type full-boot?
                          (mappings '())
                          (gc-root #f))
   "Perform ACTION for OS.  INSTALL-BOOTLOADER? specifies whether to install
 bootloader; DEVICE is the target devices for bootloader; TARGET is the target
 root directory; IMAGE-SIZE is the size of the image to be built, for the
-'vm-image' and 'disk-image' actions.  FULL-BOOT? is used for the 'vm' action;
+'vm-image' and 'disk-image' actions.
+The root filesystem is created as a FILE-SYSTEM-TYPE filesystem.
+FULL-BOOT? is used for the 'vm' action;
 it determines whether to boot directly to the kernel or to the bootloader.
 
 When DERIVATIONS-ONLY? is true, print the derivation file name(s) without
@@ -632,6 +636,7 @@ output when building a system derivation, such as a disk image."
 
   (mlet* %store-monad
       ((sys       (system-derivation-for-action os action
+                                                #:file-system-type file-system-type
                                                 #:image-size image-size
                                                 #:full-boot? full-boot?
                                                 #:mappings mappings))
@@ -775,6 +780,10 @@ Some ACTIONS support additional ARGS.\n"))
       --on-error=STRATEGY
                          apply STRATEGY when an error occurs while reading FILE"))
   (display (G_ "
+      --file-system-type=TYPE
+                         for 'disk-image', produce a root file system of TYPE
+                         (one of 'ext4', 'iso9660')"))
+  (display (G_ "
       --image-size=SIZE  for 'vm-image', produce an image of SIZE"))
   (display (G_ "
       --no-bootloader    for 'init', do not install a bootloader"))
@@ -812,6 +821,10 @@ Some ACTIONS support additional ARGS.\n"))
                  (lambda (opt name arg result)
                    (alist-cons 'on-error (string->symbol arg)
                                result)))
+         (option '(#\t "file-system-type") #t #f
+                 (lambda (opt name arg result)
+                   (alist-cons 'file-system-type arg
+                               result)))
          (option '("image-size") #t #f
                  (lambda (opt name arg result)
                    (alist-cons 'image-size (size->number arg)
@@ -854,6 +867,7 @@ Some ACTIONS support additional ARGS.\n"))
     (build-hook? . #t)
     (max-silent-time . 3600)
     (verbosity . 0)
+    (file-system-type . "ext4")
     (image-size . guess)
     (install-bootloader? . #t)))
 
@@ -906,6 +920,7 @@ resulting from command-line parsing."
                              #:derivations-only? (assoc-ref opts
                                                             'derivations-only?)
                              #:use-substitutes? (assoc-ref opts 'substitutes?)
+                             #:file-system-type (assoc-ref opts 'file-system-type)
                              #:image-size (assoc-ref opts 'image-size)
                              #:full-boot? (assoc-ref opts 'full-boot?)
                              #:mappings (filter-map (match-lambda
diff --git a/guix/store.scm b/guix/store.scm
index d1a4c67ae8..a207d478e6 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -1009,7 +1009,8 @@ error if there is no such root."
 length as ITEMS.  Query substitute information for any item missing from the
 store at once.  Raise a '&nix-protocol-error' exception if reference
 information for one of ITEMS is missing."
-  (let* ((local-refs (map (lambda (item)
+  (let* ((requested  items)
+         (local-refs (map (lambda (item)
                             (or (hash-ref %reference-cache item)
                                 (guard (c ((nix-protocol-error? c) #f))
                                   (references store item))))
@@ -1023,7 +1024,9 @@ information for one of ITEMS is missing."
 
          ;; Query all the substitutes at once to minimize the cost of
          ;; launching 'guix substitute' and making HTTP requests.
-         (substs     (substitutable-path-info store missing)))
+         (substs     (if (null? missing)
+                         '()
+                         (substitutable-path-info store missing))))
     (when (< (length substs) (length missing))
       (raise (condition (&nix-protocol-error
                          (message "cannot determine \
@@ -1038,7 +1041,7 @@ the list of references")
         (()
          (let ((result (reverse result)))
            (for-each (cut hash-set! %reference-cache <> <>)
-                     items result)
+                     requested result)
            result))
         ((item items ...)
          (match local-refs
diff --git a/guix/ui.scm b/guix/ui.scm
index c141880316..4bad00e8cf 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -983,8 +983,9 @@ WIDTH columns.  EXTRA-FIELDS is a list of symbol/value pairs to emit."
     (if (> width 2) (- width 2) width))
 
   (define (dependencies->recutils packages)
-    (let ((list (string-join (map package-full-name
-                                  (sort packages package<?)) " ")))
+    (let ((list (string-join (delete-duplicates
+                              (map package-full-name
+                                   (sort packages package<?))) " ")))
       (string->recutils
        (fill-paragraph list width*
                        (string-length "dependencies: ")))))
diff --git a/nix/nix-daemon/nix-daemon.cc b/nix/nix-daemon/nix-daemon.cc
index b20225b3b0..7d26b61354 100644
--- a/nix/nix-daemon/nix-daemon.cc
+++ b/nix/nix-daemon/nix-daemon.cc
@@ -887,13 +887,11 @@ static void acceptConnection(int fdSocket)
 
 	    if (remoteAddr.ss_family == AF_INET) {
 		struct sockaddr_in *addr = (struct sockaddr_in *) &remoteAddr;
-		struct in_addr inaddr = { addr->sin_addr };
-		result = inet_ntop(AF_INET, &inaddr,
+		result = inet_ntop(AF_INET, &addr->sin_addr,
 				   address_str, sizeof address_str);
 	    } else if (remoteAddr.ss_family == AF_INET6) {
 		struct sockaddr_in6 *addr = (struct sockaddr_in6 *) &remoteAddr;
-		struct in6_addr inaddr = { addr->sin6_addr };
-		result = inet_ntop(AF_INET6, &inaddr,
+		result = inet_ntop(AF_INET6, &addr->sin6_addr,
 				   address_str, sizeof address_str);
 	    } else {
 		result = NULL;
diff --git a/tests/discovery.scm b/tests/discovery.scm
index 04de83f085..753e6a8979 100644
--- a/tests/discovery.scm
+++ b/tests/discovery.scm
@@ -19,6 +19,7 @@
 (define-module (test-discovery)
   #:use-module (guix discovery)
   #:use-module (guix build-system)
+  #:use-module (guix utils)
   #:use-module (srfi srfi-64)
   #:use-module (ice-9 match))
 
@@ -32,6 +33,19 @@
     ((('guix 'import _ ...) ..1)
      #t)))
 
+(test-assert "scheme-modules recurses in symlinks to directories"
+  (call-with-temporary-directory
+   (lambda (directory)
+     (mkdir (string-append directory "/guix"))
+     (symlink (string-append %top-srcdir "/guix/import")
+              (string-append directory "/guix/import"))
+
+     ;; DIRECTORY/guix/import is a symlink but we want to make sure
+     ;; 'scheme-modules' recurses into it.
+     (match (map module-name (scheme-modules directory))
+       ((('guix 'import _ ...) ..1)
+        #t)))))
+
 (test-equal "scheme-modules, non-existent directory"
   '()
   (scheme-modules "/does/not/exist"))