summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/activation.scm13
-rw-r--r--gnu/local.mk6
-rw-r--r--gnu/packages/admin.scm6
-rw-r--r--gnu/packages/audio.scm8
-rw-r--r--gnu/packages/backup.scm12
-rw-r--r--gnu/packages/build-tools.scm8
-rw-r--r--gnu/packages/calendar.scm24
-rw-r--r--gnu/packages/check.scm15
-rw-r--r--gnu/packages/compression.scm19
-rw-r--r--gnu/packages/databases.scm5
-rw-r--r--gnu/packages/display-managers.scm6
-rw-r--r--gnu/packages/emacs.scm73
-rw-r--r--gnu/packages/ftp.scm4
-rw-r--r--gnu/packages/games.scm114
-rw-r--r--gnu/packages/ghostscript.scm20
-rw-r--r--gnu/packages/gnome.scm22
-rw-r--r--gnu/packages/gnunet.scm8
-rw-r--r--gnu/packages/guile.scm46
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/image.scm10
-rw-r--r--gnu/packages/java.scm35
-rw-r--r--gnu/packages/kde.scm5
-rw-r--r--gnu/packages/kerberos.scm16
-rw-r--r--gnu/packages/libreoffice.scm94
-rw-r--r--gnu/packages/linux.scm6
-rw-r--r--gnu/packages/mail.scm8
-rw-r--r--gnu/packages/maths.scm121
-rw-r--r--gnu/packages/networking.scm35
-rw-r--r--gnu/packages/patches/libmwaw-CVE-2017-9433.patch33
-rw-r--r--gnu/packages/patches/libvisio-fix-tests.patch35
-rw-r--r--gnu/packages/patches/libxfont-CVE-2017-13720.patch36
-rw-r--r--gnu/packages/patches/libxfont-CVE-2017-13722.patch53
-rw-r--r--gnu/packages/patches/python2-unittest2-remove-argparse.patch11
-rw-r--r--gnu/packages/perl.scm25
-rw-r--r--gnu/packages/python.scm135
-rw-r--r--gnu/packages/qt.scm349
-rw-r--r--gnu/packages/sdl.scm6
-rw-r--r--gnu/packages/security-token.scm53
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/virtualization.scm1
-rw-r--r--gnu/packages/web.scm98
-rw-r--r--gnu/packages/xdisorg.scm12
-rw-r--r--gnu/packages/xorg.scm50
-rw-r--r--gnu/packages/zile.scm4
-rw-r--r--gnu/services/networking.scm1
-rw-r--r--gnu/system.scm3
-rw-r--r--gnu/system/linux-initrd.scm13
-rw-r--r--gnu/tests/databases.scm61
48 files changed, 1389 insertions, 337 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index 9c58370ec3..6c0d603ddf 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -353,24 +353,13 @@ they already exist."
   ;; Place where setuid programs are stored.
   "/run/setuid-programs")
 
-(define (link-or-copy source target)
-  "Attempt to make TARGET a hard link to SOURCE; if it fails, fall back to
-copy SOURCE to TARGET."
-  (catch 'system-error
-    (lambda ()
-      (link source target))
-    (lambda args
-      ;; Perhaps SOURCE and TARGET live in a different file system, so copy
-      ;; SOURCE.
-      (copy-file source target))))
-
 (define (activate-setuid-programs programs)
   "Turn PROGRAMS, a list of file names, into setuid programs stored under
 %SETUID-DIRECTORY."
   (define (make-setuid-program prog)
     (let ((target (string-append %setuid-directory
                                  "/" (basename prog))))
-      (link-or-copy prog target)
+      (copy-file prog target)
       (chown target 0 0)
       (chmod target #o6555)))
 
diff --git a/gnu/local.mk b/gnu/local.mk
index 66a4bc04bc..3af8e6779d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -793,7 +793,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libmad-armv7-thumb-pt2.patch		\
   %D%/packages/patches/libmad-frame-length.patch		\
   %D%/packages/patches/libmad-mips-newgcc.patch			\
-  %D%/packages/patches/libmwaw-CVE-2017-9433.patch		\
   %D%/packages/patches/libsndfile-armhf-type-checks.patch	\
   %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch	\
   %D%/packages/patches/libsndfile-CVE-2017-8362.patch		\
@@ -812,8 +811,11 @@ dist_patch_DATA =						\
   %D%/packages/patches/libtool-skip-tests2.patch		\
   %D%/packages/patches/libunistring-gnulib-multi-core.patch	\
   %D%/packages/patches/libusb-0.1-disable-tests.patch		\
+  %D%/packages/patches/libvisio-fix-tests.patch			\
   %D%/packages/patches/libvpx-CVE-2016-2818.patch		\
   %D%/packages/patches/libxcb-python-3.5-compat.patch		\
+  %D%/packages/patches/libxfont-CVE-2017-13720.patch		\
+  %D%/packages/patches/libxfont-CVE-2017-13722.patch		\
   %D%/packages/patches/libxml2-CVE-2016-4658.patch		\
   %D%/packages/patches/libxml2-CVE-2016-5131.patch		\
   %D%/packages/patches/libxml2-CVE-2017-0663.patch		\
@@ -862,6 +864,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch		\
   %D%/packages/patches/mpc123-initialize-ao.patch		\
   %D%/packages/patches/module-init-tools-moduledir.patch	\
+  %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch	\
   %D%/packages/patches/mozjs17-aarch64-support.patch		\
   %D%/packages/patches/mozjs24-aarch64-support.patch		\
   %D%/packages/patches/mozjs38-pkg-config-version.patch		\
@@ -989,6 +992,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
   %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch	\
   %D%/packages/patches/python2-subprocess32-disable-input-test.patch	\
+  %D%/packages/patches/python2-unittest2-remove-argparse.patch \
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
   %D%/packages/patches/quagga-reproducible-build.patch          \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 612e4a7fff..bc8dc48f0e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1292,7 +1292,7 @@ various ways that may be running with too much privilege.")
                 "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49"))))
     (build-system gnu-build-system)
     (inputs `(("libcap-ng" ,libcap-ng)))
-    (home-page "http://www.smartmontools.org/")
+    (home-page "https://www.smartmontools.org/")
     (synopsis "S.M.A.R.T. harddisk control and monitoring tools")
     (description
      "The smartmontools package contains utility programs to control and
@@ -1531,7 +1531,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
 (define-public munge
   (package
     (name "munge")
-    (version "0.5.12")
+    (version "0.5.13")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/dun/munge/releases/"
@@ -1539,7 +1539,7 @@ displays a table of current bandwidth usage by pairs of hosts.")
                                   version ".tar.xz"))
               (sha256
                (base32
-                "1s0vlwgm3hcx75vcmjf2y3icy5nv8y07bx93w2cmm6a7x71y6wp9"))))
+                "1nj486bbg1adfg298zck96vgx57kchcypc1zdz1n7w540vyksxcr"))))
     (inputs
      `(("openssl" ,openssl)
        ("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 909cf26468..0900630df1 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -189,7 +189,7 @@ streams from live audio.")
 (define-public ardour
   (package
     (name "ardour")
-    (version "5.8")
+    (version "5.12")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -206,7 +206,7 @@ streams from live audio.")
 namespace ARDOUR { const char* revision = \"" version "\" ; }")))))
               (sha256
                (base32
-                "1lcvslrcw6g4kp9w0h1jx46x6ilz4nzz0k2yrw4gd545k1rwx0c1"))
+                "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
               (file-name (string-append name "-" version))))
     (build-system waf-build-system)
     (arguments
@@ -1128,7 +1128,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
 (define-public guitarix
   (package
     (name "guitarix")
-    (version "0.35.6")
+    (version "0.36.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1136,7 +1136,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
                    version ".tar.xz"))
              (sha256
               (base32
-               "0ffvfnvhj6vz73zsrpi88hs69ys4zskm847zf825dl2r39n9nn41"))))
+               "0nb0gwcmvc9xjh9pjasjbaqgpadanv4rw1njccpcmmin9xvicsqn"))))
     (build-system waf-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 9f7921ad76..40221e5896 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@@ -118,7 +118,7 @@ spying and/or modification by the server.")
 (define-public par2cmdline
   (package
     (name "par2cmdline")
-    (version "0.7.3")
+    (version "0.7.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/Parchive/par2cmdline/archive/v"
@@ -126,7 +126,7 @@ spying and/or modification by the server.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0dqwarc2aw5clgpf24d9dxh43b0k0z3l6kksn30arx9bdlmrk5rx"))))
+                "0iwwskiag3262mvhinvnbk6n0qh6sh56m86y4d0m285v0jl0y9pa"))))
     (native-inputs
      `(("automake" ,automake)
        ("autoconf" ,autoconf)))
@@ -462,13 +462,13 @@ detection, and lossless compression.")
 (define-public borg
   (package
     (name "borg")
-    (version "1.0.11")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "borgbackup" version))
               (sha256
                (base32
-                "14fjk5dfwmjkn7nmkbhhbrk3g1wfrn8arvqd5r9jaij534nzsvpw"))
+                "0vwyg0b4kxb0rspqwhvgi5c78dzimgkydf03wif27a40qhh1235l"))
               (modules '((guix build utils)))
               (snippet
                '(for-each
@@ -540,7 +540,7 @@ detection, and lossless compression.")
        ("python-pytest" ,python-pytest-3.0)
        ;; For generating the documentation.
        ("python-sphinx" ,python-sphinx)
-       ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
+       ("python-guzzle-sphinx-theme" ,python-guzzle-sphinx-theme)))
     (inputs
      `(("acl" ,acl)
        ("lz4" ,lz4)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index c535f52400..a35ce3b067 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -70,7 +70,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
 (define-public meson
   (package
     (name "meson")
-    (version "0.42.0")
+    (version "0.42.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mesonbuild/meson/"
@@ -78,7 +78,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc"))))
+                "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q"))))
     (build-system python-build-system)
     (inputs `(("ninja", ninja)))
     (propagated-inputs `(("python" ,python)))
@@ -97,7 +97,7 @@ Python.")
   (package
     (inherit meson)
     (name "meson-for-build")
-    (version "0.42.0")
+    (version "0.42.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mesonbuild/meson/"
@@ -105,7 +105,7 @@ Python.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0vyp9rkymzzzilhnf04ryszslyp9a0y0wf4agyijd4w5lcnqlcbc"))
+                "1494hdnd40g2v6pky34j0f2iwc6kwn51vck37qwz7nl2xr17b18q"))
               (patches (search-patches "meson-for-build-rpath.patch"))))
 
     ;; People should probably install "meson", not "meson-for-build".
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 9a3aab33ab..f208bc0803 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -84,13 +84,13 @@ data units.")
 (define-public khal
   (package
     (name "khal")
-    (version "0.9.5")
+    (version "0.9.8")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "khal" version))
              (sha256
               (base32
-               "0fvv0kjym9q8v20zbpr5m8ig65b8hva4p0c935qsdvgdni68jidr"))))
+               "1blx3gxnv7sj302biqphfw7i6ilzl2xlmvzp130n3113scg9w17y"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
@@ -99,18 +99,24 @@ data units.")
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Make installed package available for running the tests
             (add-installed-pythonpath inputs outputs)
-            (zero? (system* "make" "--directory=doc/" "man"))
-            (install-file
-              "doc/build/man/khal.1"
-              (string-append (assoc-ref outputs "out") "/share/man/man1"))))
-
-        ;; The tests require us to choose a timezone.
+            (and
+              (zero? (system* "make" "--directory=doc/" "man"))
+              (install-file
+                "doc/build/man/khal.1"
+                (string-append (assoc-ref outputs "out") "/share/man/man1")))))
         (replace 'check
           (lambda* (#:key inputs #:allow-other-keys)
+            ;; The tests require us to choose a timezone.
             (setenv "TZ"
                     (string-append (assoc-ref inputs "tzdata")
                                    "/share/zoneinfo/Zulu"))
-            (zero? (system* "py.test" "tests")))))))
+            (zero? (system* "py.test" "tests" "-k"
+                            (string-append
+                              ;; These tests are known to fail in when not
+                              ;; running in a TTY:
+                              ;; https://github.com/pimutils/khal/issues/683
+                              "not test_printics_read_from_stdin "
+                              "and not test_import_from_stdin"))))))))
     (native-inputs
       ;; XXX Uses tmpdir_factory, introduced in pytest 2.8.
      `(("python-pytest" ,python-pytest-3.0)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 9fbed0ee39..5236444abc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -64,6 +65,20 @@ faults or other signals.  The output from unit tests can be used within
 source code editors and IDEs.")
     (license lgpl2.1+)))
 
+;; XXX: Some packages require this newer version.  Incorporate this
+;; into the main 'check' package during the next rebuild cycle.
+(define-public check-0.11.0
+  (package
+    (inherit check)
+    (version "0.11.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/libcheck/check/releases"
+                                  "/download/" version "/check-" version ".tar.gz"))
+              (sha256
+               (base32
+                "05jn1pgb7hqb937xky2147nnq3r4qy5wwr79rddpax3bms5a9xr4"))))))
+
 (define-public cunit
   (package
     (name "cunit")
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 35c2fae7e5..72d61d25ed 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1303,7 +1303,7 @@ RAR archives.")
 (define-public zstd
   (package
     (name "zstd")
-    (version "1.3.1")
+    (version "1.3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/facebook/zstd/archive/v"
@@ -1311,17 +1311,7 @@ RAR archives.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1imddqjhczira626nf3nqmjwj3wb37xcfcwgkjydv2k6fpfbjbri"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Remove non-free source files.
-               '(begin
-                  (for-each delete-file-recursively
-                            (list
-                             ;; Commercial use of the following is not allowed.
-                             "examples"
-                             "LICENSE-examples"))
-                  #t))))
+                "12krs9k5f408kyn0d7dwxqyc67177mgd14783ay10rafqsim8l5c"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -1340,7 +1330,10 @@ zlib.  In most scenarios, both compression and decompression can be performed in
 trade-off between compression ratio and speed, without affecting decompression
 speed.")
     (license (list license:bsd-3         ; the main top-level LICENSE file
-                   license:bsd-2         ; quite a few files have but 2 clauses
+                   license:bsd-2         ; many files explicitly state 2-Clause
+                   license:gpl2          ; the mail top-level COPYING file
+                   license:gpl3+         ; tests/gzip/*.sh
+                   license:expat         ; lib/dictBuilder/divsufsort.[ch]
                    license:public-domain ; zlibWrapper/examples/fitblk*
                    license:zlib))))      ; zlibWrapper/{gz*.c,gzguts.h}
 
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index ae138796ff..8c8ea77df5 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -604,14 +605,14 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "9.6.5")
+    (version "10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "0k3ls2x182jz6djjiqj9kycddabdl2gk1y1ajq1vipnxwfki5nh6"))))
+                "1lbzwpmdxmk5bh0ix0rn72qbd52dq5cb55nzajscb0bvwa95abvi"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-uuid=e2fs")
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 3537acdead..8e5bca64c0 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -132,16 +132,16 @@ Qt-style API for Wayland clients.")
 (define-public sddm
   (package
     (name "sddm")
-    (version "0.15.0")
+    (version "0.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://github.com/sddm/sddm"
                     "/releases/download/v" version "/"
-                    "sddm-" version ".tar.gz"))
+                    "sddm-" version ".tar.xz"))
               (sha256
                (base32
-                "0x1igkjm3k8q26xbmg0qah1fc2pn2sfc675w0xg42x7ncrdiw8d4"))))
+                "0fwf1wsdak5yglykfyq4wbx9g9gi079n8ncjrdynz17hwwiql4z9"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index d0bbbd74aa..b29436154e 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -4984,6 +4984,79 @@ containing words from the rime project.")
 and cangjie.")
     (license license:gpl2+)))
 
+(define-public emacs-el2org
+  (package
+    (name "emacs-el2org")
+    (version "0.6.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/tumashu/el2org/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0gd3km1swwvg2w0kdi7370f54wgrflxn63gjgssfjc1iyc9sbqwq"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/tumashu/el2org")
+    (synopsis "Convert Emacs-lisp file to org file")
+    (description "El2org is a simple tool, which can convert Emacs-lisp file
+to org file, you can use this tool to write orgify commentary.")
+    (license license:gpl2+)))
+
+(define-public emacs-mustache
+  (package
+    (name "emacs-mustache")
+    (version "0.23")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/Wilfred/mustache.el/archive/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0k9lcgil7kykkv1ylrgwy1g13ldjjmgi2cwmysgyb2vlj3jbwpdj"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-ht" ,emacs-ht)
+       ("emacs-s" ,emacs-s)))
+    (home-page "https://github.com/Wilfred/mustache.el")
+    (synopsis "Mustache templating library for Emacs")
+    (description "Mustache templating library for Emacs, mustache is
+a simple web template system, which is described as a logic-less system
+because it lacks any explicit control flow statements, both looping and
+conditional evaluation can be achieved using section tags processing lists
+and lambdas.")
+    (license license:gpl3+)))
+
+(define-public emacs-org2web
+  (package
+    (name "emacs-org2web")
+    (version "0.9.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/tumashu/org2web/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1c0ixcphlhp4c4qdiwq40bc3yp1gp1llp8pxrk4s7ny9n68s52zp"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-el2org" ,emacs-el2org)
+       ("emacs-ht" ,emacs-ht)
+       ("emacs-mustache" ,emacs-mustache)
+       ("emacs-simple-httpd" ,emacs-simple-httpd)))
+    (home-page "https://github.com/tumashu/org2web")
+    (synopsis "Static site generator based on org-mode ")
+    (description "Org2web is a static site generator based on org-mode,
+which code derived from Kelvin H's org-page.")
+    (license license:gpl2+)))
+
 (define-public emacs-xelb
   (package
     (name "emacs-xelb")
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index f3f2b5ea71..cbec25be15 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -46,7 +46,7 @@
 (define-public lftp
   (package
     (name "lftp")
-    (version "4.8.2")
+    (version "4.8.3")
     (source (origin
               (method url-fetch)
               ;; See https://lftp.tech/get.html for mirrors.
@@ -58,7 +58,7 @@
                                         "ftp/lftp/lftp-" version ".tar.xz")))
               (sha256
                (base32
-                "176d90amkm1klwjpfpzdsvmjnyri8f74bv4fpip8app0fs25p1sw"))))
+                "12y77jlfs4x4zvcah92mw2h2sb4j0bvbaxkh3wwsm8gs392ywyny"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7729c5b3bd..39cd71aebd 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -24,7 +24,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
-;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
+;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
@@ -133,6 +133,7 @@
   #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages networking)
+  #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system haskell)
   #:use-module (guix build-system python)
@@ -2796,60 +2797,67 @@ http://lavachat.symlynx.com/unix/")
     (license license:gpl2+)))
 
 (define-public red-eclipse
-  (let ((data-sources
-         '(("acerspyro"   "0zmg78scrfdv33h7vszqvzylcqjwg7d5b0j2riav3rjfh326j8xx")
-           ("actors"      "0l00rsvppqzdpsikm5qpj38jiygirszxlzay2nxp4g4n2qjq0m4a")
-           ("appleflap"   "0jhfr7f13hk3nswwxqc4jajriipr6zz6j63v955nv4sgxs7lzbjd")
-           ("blendbrush"  "1nk0zaisbqf2khrivq8ls6z2lnh6d51m133m2ppxk7k4c9gq1imq")
-           ("caustics"    "1hq08k476wayi0kmk4ps8h6jr75yinq04f1r2p8r79xsdpxq9my5")
-           ("crosshairs"  "1gmrmjm7i7n9py0qrzamk7ygi63yx1mr2pp6iwz2vwngprl03n8m")
-           ("dziq"        "0gr36ydrv8syjxv7w9dw3ix8waaq201fzxr0klkqp260p8xp215s")
-           ("elyvisions"  "05syxlpsap6nfwxnnd0ls7qj1p4vhw2jxi41pi5inwpfifapfphz")
-           ("fonts"       "184syks602xc657q08973w5ji50x5zssvd4vp2q2ig8m68iyr51c")
+  (let ((release "1.5.8")
+        (revision 2)
+        (data-sources
+         '(("acerspyro" "0zmg78scrfdv33h7vszqvzylcqjwg7d5b0j2riav3rjfh326j8xx")
+           ("actors" "0l00rsvppqzdpsikm5qpj38jiygirszxlzay2nxp4g4n2qjq0m4a")
+           ("appleflap" "0jhfr7f13hk3nswwxqc4jajriipr6zz6j63v955nv4sgxs7lzbjd")
+           ("blendbrush" "1nk0zaisbqf2khrivq8ls6z2lnh6d51m133m2ppxk7k4c9gq1imq")
+           ("caustics" "1hq08k476wayi0kmk4ps8h6jr75yinq04f1r2p8r79xsdpxq9my5")
+           ("crosshairs" "1gmrmjm7i7n9py0qrzamk7ygi63yx1mr2pp6iwz2vwngprl03n8m")
+           ("dziq" "0gr36ydrv8syjxv7w9dw3ix8waaq201fzxr0klkqp260p8xp215s")
+           ("elyvisions" "05syxlpsap6nfwxnnd0ls7qj1p4vhw2jxi41pi5inwpfifapfphz")
+           ("fonts" "184syks602xc657q08973w5ji50x5zssvd4vp2q2ig8m68iyr51c")
            ("freezurbern" "020gpgcpy4rqjd9d18npfm96j8f02jcjnccbxcgzk1yb58y687ya")
-           ("john"        "0hj5kwlb2gb0gsnl9bk7dkqlk8r7vxcw8gxpgrb3kfn8d9cwcb7k")
-           ("jojo"        "0fij06040r7s5p7jksxm7wxi9jqwkhhm8iywys0dagk8j2wcbvsz")
-           ("jwin"        "0ysfynjvypc8dszf7rsvk02jgw8fmsli49vy2xpm83zpkrqpddgf")
+           ("john" "0hj5kwlb2gb0gsnl9bk7dkqlk8r7vxcw8gxpgrb3kfn8d9cwcb7k")
+           ("jojo" "0fij06040r7s5p7jksxm7wxi9jqwkhhm8iywys0dagk8j2wcbvsz")
+           ("jwin" "0ysfynjvypc8dszf7rsvk02jgw8fmsli49vy2xpm83zpkrqpddgf")
            ("luckystrike" "1bm0xdqjv35ry5xwbzw3a3v1xf2gj1jwfg29nyl6w3ch0h6crr11")
-           ("maps"        "0c9d1zxmpnngwhchzw6xb6cf84cx8xyycmdqcvyhamrd95d96qma")
-           ("mayhem"      "133pdql7ari159skd9qdmw0p1m73x32d1v6jswkz0xwk8vgxmkil")
-           ("mikeplus64"  "1d5npn9wlw0mviz9vhzzcsj98jvfh1wbvlh1nyqfj4ws5nfxhs7x")
-           ("misc"        "19x2ps6yxnfrz0xdhqdwncaq25ds7i4w2l8sdfi95yh2r7c5k1qn")
-           ("nieb"        "15029nipl92cb0jbh46z00k51hf3jk4v05pwx266b6b11bapdz0c")
-           ("nobiax"      "0k9apim5z4ihd5ajmnbq4gyh24w872dv0mr5v8wqn31a8gxzahhp")
-           ("particles"   "06827r9pnhzjil381xiwcbc93v9nxin7qlr59yrvk9gdzxmklk9m")
-           ("philipk"     "1l6fhl6qz471vjn05hvk29bm8dhwnzqbmi2hdylpa9k998nzkfc1")
+           ("maps" "0c9d1zxmpnngwhchzw6xb6cf84cx8xyycmdqcvyhamrd95d96qma")
+           ("mayhem" "133pdql7ari159skd9qdmw0p1m73x32d1v6jswkz0xwk8vgxmkil")
+           ("mikeplus64" "1d5npn9wlw0mviz9vhzzcsj98jvfh1wbvlh1nyqfj4ws5nfxhs7x")
+           ("misc" "19x2ps6yxnfrz0xdhqdwncaq25ds7i4w2l8sdfi95yh2r7c5k1qn")
+           ("nieb" "15029nipl92cb0jbh46z00k51hf3jk4v05pwx266b6b11bapdz0c")
+           ("nobiax" "0k9apim5z4ihd5ajmnbq4gyh24w872dv0mr5v8wqn31a8gxzahhp")
+           ("particles" "06827r9pnhzjil381xiwcbc93v9nxin7qlr59yrvk9gdzxmklk9m")
+           ("philipk" "1l6fhl6qz471vjn05hvk29bm8dhwnzqbmi2hdylpa9k998nzkfc1")
            ("projectiles" "03ay8ik52n3vx723swqlnl5gpkzf1v1gadwj3zcnh43ch7nd2bqh")
-           ("props"       "1yxz7gfmb79sqqrkyfdzp4ar9rf5f1kpfij4nrkk1l8vbw9liksc")
-           ("skyboxes"    "1mm98mhb6yhb006p1hlic91jcwjxhq79mblxciwbqqa9c5g4yki6")
-           ("snipergoth"  "1vlpmwlg71g6l5b706gp82bc07i5bbw2zphzynm2fx49za0zdi44")
-           ("sounds"      "156g5wh8cvdh6zr33haqm566sd28ylnzdf2h4pqzpxbb2i19vbfg")
-           ("textures"    "0wkhl5cgymr9kslzhksi83hs15rb0q01xvax5khi6b4dcl3mrmsh")
-           ("torley"      "1xlag6ndjyqafl984n6d9zi96dv9aif7vrc2nvikc3iwgjwlbxav")
-           ("trak"        "12x9ix8zkqn9svy56qmdgj4x2814qh25f4srplgq691lqn9qjhvd")
-           ("ulukai"      "0gz1hd8hca2biskc85hw4jjacpsmqg9x4w6cwrka8x987xmc92k5")
-           ("unnamed"     "09v8fjy6jqypm1i121kilg3z6zpw7dm0i4gxhd9b7ihprvzvy8r7")
-           ("vanities"    "0m3vfq9l71pbb80qz4s3k8r5azmm158chqbw8snch09ymxm6h462")
-           ("vegetation"  "07yzm9lbzr624j4i652ny5p762p83gadg40c1k8gwff4y7yk55gn")
-           ("weapons"     "05fsp17gdrhjqdwia7rwdw9gcijaqwcnny8lf6krms43xmn8cj0x")
-           ("wicked"      "0jjgwzdibr5my369gwvmvbklpjlwq939zgf643rv0168xc087xb2"))))
+           ("props" "1yxz7gfmb79sqqrkyfdzp4ar9rf5f1kpfij4nrkk1l8vbw9liksc")
+           ("skyboxes" "1mm98mhb6yhb006p1hlic91jcwjxhq79mblxciwbqqa9c5g4yki6")
+           ("snipergoth" "1vlpmwlg71g6l5b706gp82bc07i5bbw2zphzynm2fx49za0zdi44")
+           ("sounds" "156g5wh8cvdh6zr33haqm566sd28ylnzdf2h4pqzpxbb2i19vbfg")
+           ("textures" "0wkhl5cgymr9kslzhksi83hs15rb0q01xvax5khi6b4dcl3mrmsh")
+           ("torley" "1xlag6ndjyqafl984n6d9zi96dv9aif7vrc2nvikc3iwgjwlbxav")
+           ("trak" "12x9ix8zkqn9svy56qmdgj4x2814qh25f4srplgq691lqn9qjhvd")
+           ("ulukai" "0gz1hd8hca2biskc85hw4jjacpsmqg9x4w6cwrka8x987xmc92k5")
+           ("unnamed" "09v8fjy6jqypm1i121kilg3z6zpw7dm0i4gxhd9b7ihprvzvy8r7")
+           ("vanities" "0m3vfq9l71pbb80qz4s3k8r5azmm158chqbw8snch09ymxm6h462")
+           ("vegetation" "07yzm9lbzr624j4i652ny5p762p83gadg40c1k8gwff4y7yk55gn")
+           ("weapons" "05fsp17gdrhjqdwia7rwdw9gcijaqwcnny8lf6krms43xmn8cj0x")
+           ("wicked" "0jjgwzdibr5my369gwvmvbklpjlwq939zgf643rv0168xc087xb2"))))
     (package
       (name "red-eclipse")
-      (version "1.5.8")
+      (version (if (zero? revision)
+                   release
+                   (string-append release "-"
+                                  (number->string revision))))
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://github.com/red-eclipse/base"
-                                    "/archive/v" version ".tar.gz"))
+                                    "/archive/v" release ".tar.gz"))
                 (file-name (string-append name "-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "1ah92axwcai0fhgm7pvfb2dxvfdiwwyh8iqyiffndh6782hxz3bc"))))
+                  "0r66rsqxvd7hxrhb0fahqqmf3r0cw2drhv5vndbswcq90l1bxfmf"))))
       (build-system gnu-build-system)
       (arguments
        `(#:tests? #f            ; no check target
          #:make-flags (list "CC=gcc" "-Csrc"
                             (string-append "INSTDIR="
-                                           (assoc-ref %outputs "out") "/bin"))
+                                           (assoc-ref %outputs "out") "/bin")
+                            (string-append "prefix="
+                                           (assoc-ref %outputs "out")))
          #:phases
          (modify-phases %standard-phases
            (add-after 'unpack 'unpack-data
@@ -2862,10 +2870,25 @@ http://lavachat.symlynx.com/unix/")
                                     "-Cdata"
                                     "--transform"
                                     (string-append "s/"
-                                                   name "-" ,version "/"
+                                                   name "-" ,release "/"
                                                    name "/")))
                          (list ,@(map car data-sources)))
                #t))
+	   (add-after 'unpack-data 'add-store-data-package-path-as-default
+             (lambda* (#:key outputs #:allow-other-keys)
+               (substitute* "src/engine/server.cpp"
+                 (("(else[[:space:]]*)((addpackagedir\\()\"data\"(\\);))" _ else_part addpackagedir_original addpackagedir_open addpackagedir_close)
+                  (string-append else_part
+                                 "{ "
+                                 addpackagedir_open
+                                 "\""
+                                 (assoc-ref outputs "out")
+                                 "/share/redeclipse/data\""
+                                 addpackagedir_close
+                                 " "
+                                 addpackagedir_original
+                                 " }")))
+               #t))
            (delete 'configure)  ; no configure script
            (add-after 'set-paths 'set-sdl-paths
              (lambda* (#:key inputs #:allow-other-keys)
@@ -2881,7 +2904,10 @@ http://lavachat.symlynx.com/unix/")
                  (copy-file "doc/examples/servinit.cfg"
                             (string-append out "/config/servinit.cfg"))
                  (copy-recursively "data"
-                                   (string-append out "/data")))
+                                   (string-append out "/share/redeclipse/data"))
+                 (mkdir-p (string-append out "/lib/redeclipse"))
+		 (symlink (string-append out "/share/redeclipse/data")
+			  (string-append out "/lib/redeclipse/data")))
                #t))
            (add-after 'copy-data 'wrap-program
              (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -2928,7 +2954,7 @@ exec -a \"$0\" ~a/.redeclipse_server_linux-real~%"
                            (method url-fetch)
                            (uri (string-append
                                  "https://github.com/red-eclipse/"
-                                 name "/archive/v" version ".tar.gz"))
+                                 name "/archive/v" release ".tar.gz"))
                            (sha256 (base32 hash))
                            (file-name (string-append name "-" version
                                                      ".tar.gz"))))))
@@ -3898,7 +3924,7 @@ to the Space Age.")
 (define-public no-more-secrets
   (package
     (name "no-more-secrets")
-    (version "0.3.2")
+    (version "0.3.3")
     (source
      (origin
        (method url-fetch)
@@ -3907,7 +3933,7 @@ to the Space Age.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "00mzdif859vm75n1igrffh8c07p1nr4rlm3yb7lrkwwxhrw8xzla"))))
+         "1kpx1rirc3i7fb4lymp0hx5rqr0s2ay4za261rw3bcy6d23l1kyg"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index d5d5aa2dff..28477b2c42 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -131,6 +131,7 @@ printing, and psresize, for adjusting page sizes.")
 (define-public ghostscript
   (package
     (name "ghostscript")
+    (replacement ghostscript-9.22)
     (version "9.21")
     (source
       (origin
@@ -254,6 +255,25 @@ output file formats and printers.")
     (home-page "https://www.ghostscript.com/")
     (license license:agpl3+)))
 
+(define ghostscript-9.22
+  (package
+    (inherit ghostscript)
+    (version "9.22")
+    (source
+      (origin
+        (inherit (package-source ghostscript))
+        (uri (string-append "https://github.com/ArtifexSoftware/"
+                            "ghostpdl-downloads/releases/download/gs"
+                            (string-delete #\. version)
+                            "/ghostscript-" version ".tar.xz"))
+        (sha256
+         (base32
+          "1fyi4yvdj39bjgs10klr31cda1fbx1ar7a7b7yz7v68gykk65y61"))
+        (patches (search-patches "ghostscript-runpath.patch"
+                                 "ghostscript-no-header-creationdate.patch"
+                                 "ghostscript-no-header-id.patch"
+                                 "ghostscript-no-header-uuid.patch"))))))
+
 (define-public ghostscript/x
   (package/inherit ghostscript
     (name (string-append (package-name ghostscript) "-with-x"))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c5447e2ac0..f9a9de9e08 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3088,7 +3088,7 @@ playlists in a variety of formats.")
 (define-public aisleriot
   (package
     (name "aisleriot")
-    (version "3.22.2")
+    (version "3.22.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -3096,7 +3096,7 @@ playlists in a variety of formats.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx"))))
+                "12bqbyiqn2dwknz7ndgwgqqqz993s1ynh8qb82sshr7fy4zw8qph"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags
@@ -3111,7 +3111,7 @@ playlists in a variety of formats.")
        ("xmllint" ,libxml2)))
     (inputs
      `(("gtk+" ,gtk+)
-       ("guile" ,guile-2.0)
+       ("guile" ,guile-2.2)
        ("libcanberra" ,libcanberra)
        ("librsvg" ,librsvg)))
     (home-page "https://wiki.gnome.org/Apps/Aisleriot")
@@ -4930,7 +4930,7 @@ users.")
 (define-public network-manager
   (package
     (name "network-manager")
-    (version "1.8.2")
+    (version "1.8.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/NetworkManager/"
@@ -4938,7 +4938,7 @@ users.")
                                   "NetworkManager-" version ".tar.xz"))
               (sha256
                (base32
-                "1x0vzxvrck0snga2n3pc7g74m20zz74cr4r8gfspl8sckv6yz9bi"))
+                "04lj081a5cdkhcnj1xs77chhy08d2h0648kmj1csxp46cfrjwpk2"))
               (snippet
               '(begin
                  (use-modules (guix build utils))
@@ -5054,7 +5054,7 @@ services.")
 (define-public network-manager-openvpn
   (package
     (name "network-manager-openvpn")
-    (version "1.2.10")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -5063,7 +5063,7 @@ services.")
                     "/NetworkManager-openvpn-" version ".tar.xz"))
               (sha256
                (base32
-                "0q9x61fq509gybz3ljzyvf9zn8nlya1r2vk7jl0gk3fp76jsg1mc"))))
+                "1973n89g66a3jfx8r45a811fga4kadh6r1w35cb25cz1mlii2vhn"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-absolute-paths")))
@@ -5108,7 +5108,7 @@ to virtual private networks (VPNs) via OpenVPN.")
 (define-public network-manager-applet
   (package
     (name "network-manager-applet")
-    (version "1.8.2")
+    (version "1.8.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -5116,7 +5116,7 @@ to virtual private networks (VPNs) via OpenVPN.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "09f9hjpn9nkhw57mk6pi7q1bq3lhf5hvmwas0fknscssak7yjmry"))))
+                "0ag3pvjp58ykrzsjfbdxi0j5xd2i796jk7nns67zy03xwg9i0l0h"))))
     (build-system glib-or-gtk-build-system)
     (arguments '(#:configure-flags '("--disable-migration")))
     (native-inputs
@@ -6062,7 +6062,7 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
 (define-public gnome-calendar
   (package
     (name "gnome-calendar")
-    (version "3.26.1")
+    (version "3.26.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -6070,7 +6070,7 @@ desktop.  It supports world clock, stop watch, alarms, and count down timer.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0p4xg9sfhcyy2lj9sdg8pk6dmggbi80f038dycr24v0ccy3nk6f2"))))
+                "03n51mvlc0vabr1rx9577z927icl3mrxrrv8zckfjav6p4vwg8hr"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 9a2713e66a..9b79dfd9d3 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -186,14 +186,14 @@ and support for SSL3 and TLS.")
 (define-public gnurl
   (package
    (name "gnurl")
-   (version "7.55.1-4")
+   (version "7.56.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "https://gnunet.org/sites/default/files/"
                                 name "-" version ".tar.bz2"))
             (sha256
              (base32
-              "09c1bfwiwxqlh0dl839lslwhvkf98bvpyg9x4pcn3sagz0i8hxfl"))))
+              "18inbbqg7jygxa37x313ivc51p215fkp0ppw3xznk6d5ci4bs8fg"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                             ; 1.5 MiB of man3 pages
@@ -234,10 +234,6 @@ and support for SSL3 and TLS.")
               #t)))
         (replace 'check
           (lambda _
-            ;; It is unclear why test1026 fails, however the content of it
-            ;; suggests that it is not vital for gnurl.
-            (delete-file "tests/data/test1026")
-
             (substitute* "tests/runtests.pl"
               (("/bin/sh") (which "sh")))
 
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index b0afa2ece5..c3045720c5 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2017 David Thompson <davet@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2017 ng0 <ng0@infotropique.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1966,4 +1967,49 @@ HTML (via SXML) or any other format for rendering.")
 It has a nice, simple s-expression based syntax.")
     (license license:lgpl3+)))
 
+(define-public guile-colorized
+  (package
+    (name "guile-colorized")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/NalaGinrut/guile-colorized/"
+                                  "archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:modules ((system base compile)
+                  ,@%gnu-build-system-modules)
+       #:tests? #f ;No tests included
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ;No configure script
+         (replace 'install
+           (lambda* (#:key outputs inputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (module-dir (string-append out "/share/guile/site/2.2"))
+                    (language-dir (string-append module-dir "/ice-9"))
+                    (guild (string-append (assoc-ref inputs "guile")
+                                          "/bin/guild")))
+               ;; The original 'make install' is too primitive.
+
+               ;; copy the source
+               (install-file "ice-9/colorized.scm" language-dir)
+
+               ;; compile to the destination
+               (compile-file "ice-9/colorized.scm"
+                             #:output-file (string-append
+                                            language-dir "/colorized.go"))
+               #t))))))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (home-page "https://github.com/NalaGinrut/guile-colorized")
+    (synopsis "Colorized REPL for Guile")
+    (description
+     "Guile-colorized provides you with a colorized REPL for GNU Guile.")
+    (license license:gpl3+)))
+
 ;;; guile.scm ends here
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 9d705939e3..95fb90fdab 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -54,7 +54,7 @@
 (define-public feh
   (package
     (name "feh")
-    (version "2.20")
+    (version "2.21")
     (home-page "https://feh.finalrewind.org/")
     (source (origin
               (method url-fetch)
@@ -62,7 +62,7 @@
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "02vhdv16nf4kjna4inpbfy4k3p40bhl7xpc4kh4xvily14146l2b"))))
+                "0azgpr4al2pi4858z4xh4lfz84cvzxw3n426fn7rz6cdj34q212j"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases (delete 'configure))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index aed4bdd6ec..b53247de82 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -738,15 +738,15 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.")
 (define-public vigra
   (package
    (name "vigra")
-   (version "1.11.0")
+   (version "1.11.1")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://github.com/ukoethe/vigra/releases/download/"
-                          "Version-1-11-0/vigra-"
-                          version "-src.tar.gz"))
+                          "Version-" (string-join (string-split version #\.) "-")
+                          "/vigra-" version "-src.tar.gz"))
       (sha256 (base32
-                "1jzm79kqiiilvys3b8mlzy9cvmiirrcwsrlg19qd9rza8zipsqb8"))))
+                "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5"))))
    (build-system cmake-build-system)
    (inputs
     `(("boost" ,boost)
@@ -792,7 +792,7 @@ processing and analysis library that puts its main emphasis on customizable
 algorithms and data structures.  It is particularly strong for
 multi-dimensional image processing.")
    (license license:expat)
-   (home-page "https://hci.iwr.uni-heidelberg.de/vigra")))
+   (home-page "https://ukoethe.github.io/vigra/")))
 
 (define-public libwebp
   (package
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4418b67ea8..60590b1179 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4207,6 +4208,40 @@ allowing the end user to plug in the desired logging framework at deployment
 time.")
     (license license:expat)))
 
+(define-public java-slf4j-simple
+  (package
+    (name "java-slf4j-simple")
+    (version "1.7.25")
+    (source (package-source java-slf4j-api))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "slf4j-simple.jar"
+       #:source-dir "slf4j-simple/src/main"
+       #:test-dir "slf4j-simple/src/test"
+       #:phases
+       (modify-phases %standard-phases
+         ;; The tests need some test classes from slf4j-api
+         (add-before 'check 'build-slf4j-api-test-helpers
+           (lambda _
+             ;; Add current dir to CLASSPATH ...
+             (setenv "CLASSPATH"
+                     (string-append (getcwd) ":" (getenv "CLASSPATH")))
+             ;; ... and build test helper classes here:
+             (zero?
+              (apply system*
+                     `("javac" "-d" "."
+                       ,@(find-files "slf4j-api/src/test" ".*\\.java")))))))))
+    (inputs
+     `(("java-junit" ,java-junit)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-slf4j-api" ,java-slf4j-api)))
+    (home-page "https://www.slf4j.org/")
+    (synopsis "Simple implementation of simple logging facade for Java")
+    (description "SLF4J binding for the Simple implementation, which outputs
+all events to System.err.  Only messages of level INFO and higher are
+printed.")
+    (license license:expat)))
+
 (define-public antlr2
   (package
     (name "antlr2")
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 91a7b6208c..57d4492fb8 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -102,17 +102,16 @@
                     (qtquickcontrols (assoc-ref inputs "qtquickcontrols"))
                     (qtbase (assoc-ref inputs "qtbase"))
                     (qtdeclarative (assoc-ref inputs "qtdeclarative"))
-                    (profile "$HOME/.guix-profile")
                     (qml "/qml"))
                (wrap-program (string-append out "/bin/kdevelop")
                  `("XDG_DATA_DIRS" ":" prefix
                    ,(map (lambda (s) (string-append s "/share"))
-                         (list profile out kdevplatform kcmutils)))
+                         (list out kdevplatform kcmutils)))
                  `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
                    (,(string-append qtbase "/plugins/platforms")))
                  `("QT_PLUGIN_PATH" ":" prefix
                    ,(map (lambda (s) (string-append s "/lib/plugins"))
-                         (list profile out kdevplatform kio)))
+                         (list out kdevplatform kio)))
                  `("QML2_IMPORT_PATH" ":" prefix
                    (,(string-append qtquickcontrols qml)
                     ,(string-append qtdeclarative qml))))))))))
diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm
index 48b2204190..801b4e44a9 100644
--- a/gnu/packages/kerberos.scm
+++ b/gnu/packages/kerberos.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2012, 2017 Ludovic Courtès <ludo@gnu.org>
@@ -46,6 +46,7 @@
 (define-public mit-krb5
   (package
     (name "mit-krb5")
+    (replacement mit-krb5-1.15.2)
     (version "1.15.1")
     (source (origin
               (method url-fetch)
@@ -93,6 +94,19 @@ cryptography.")
     (home-page "http://web.mit.edu/kerberos/")
     (properties '((cpe-name . "kerberos")))))
 
+(define mit-krb5-1.15.2 ; CVE-2017-{11368,11462}
+  (package
+    (inherit mit-krb5)
+    (version "1.15.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://web.mit.edu/kerberos/dist/krb5/"
+                                  (version-major+minor version)
+                                  "/krb5-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0zn8s7anb10hw3nzwjz7vg10fgmmgvwnibn2zrn3nppjxn9f6f8n"))))))
+
 (define-public shishi
   (package
     (name "shishi")
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 77c9ae108f..9980837c85 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -129,14 +130,14 @@ CSV, CSS and XML.")
 (define-public librevenge
   (package
     (name "librevenge")
-    (version "0.0.2")
+    (version "0.0.4")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/libwpd/" name "/" name "-"
                           version "/" name "-" version ".tar.xz"))
       (sha256 (base32
-               "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn"))))
+               "1cj76cz4mqcy2mgv9l5xlc95bypyk8zbq0ls9cswqrs2y0lhfgwk"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("cppunit" ,cppunit)
@@ -161,14 +162,14 @@ spreadsheets and presentations.")
 (define-public libwpd
   (package
     (name "libwpd")
-    (version "0.10.0")
+    (version "0.10.2")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/" name "/" name "/"
                           name "-" version "/" name "-" version ".tar.xz"))
       (sha256 (base32
-               "0b6krzr6kxzm89g6bapn805kdayq70hn16n5b5wfs2lwrf0ag2wx"))))
+               "0436gnidx45a9vx114hhh216jrh57mqb9zyssyjfadagmyz6hgrj"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -223,14 +224,14 @@ ZVR (simple compressed text format).")
 (define-public libwpg
   (package
     (name "libwpg")
-    (version "0.3.0")
+    (version "0.3.2")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/" name "/" name "/"
                           name "-" version "/" name "-" version ".tar.xz"))
       (sha256 (base32
-               "097jx8a638fwwfrzf6v29r1yhc34rq9526py7wf0ck2z4fcr2w3g"))))
+               "0cwc5zkp210c661l0bvk6q21jg9ak5g8gmy578w5fgfnjymz3yjp"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -323,17 +324,18 @@ AbiWord documents.")
 (define-public libcdr
   (package
     (name "libcdr")
-    (version "0.1.1")
+    (version "0.1.4")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "07yzb1yr5kzv0binzj5swz3zzay2gw3xb0fbkc2zwdssgrkf19nh"))))
+               "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("doxygen" ,doxygen)
+     `(("cppunit" ,cppunit)
+       ("doxygen" ,doxygen)
        ("pkg-config" ,pkg-config)))
     (propagated-inputs ; in Requires or Requires.private field of .pkg
      `(("icu4c" ,icu4c)
@@ -362,7 +364,19 @@ CorelDRAW documents of all versions.")
                           name "-" version ".tar.xz"))
       (sha256 (base32
                "0y60vi1plyq69fqbcjnc0v8mvcjqjsl1ry6rmb3bq3q7j8a2fm6z"))
-      (patches (search-patches "libetonyek-build-with-mdds-1.2.patch"))))
+      (patches
+       (cons
+        (origin
+          (method url-fetch)
+          ;; Drop incorrect test that fails with latest liblangtag.
+          (uri (string-append "https://cgit.freedesktop.org/libreoffice"
+                              "/libetonyek/patch/?id="
+                              "1a20d8ece2ea3e8aa1d319cd88e8a6aa637982f2"))
+          (file-name "libetonyek-build-with-liblangtag-0.6.patch")
+          (sha256
+           (base32
+            "0zdyykg3cmq226m54yjhg1fj5200c371h2qgjfna62dxa1jd6m97")))
+        (search-patches "libetonyek-build-with-mdds-1.2.patch")))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-mdds=1.2")
@@ -393,7 +407,7 @@ Apple Keynote documents.  It currently supports Keynote versions 2 to 5.")
 (define-public liblangtag
   (package
     (name "liblangtag")
-    (version "0.5.8")
+    (version "0.6.2")
     (source
       (origin
         (method url-fetch)
@@ -401,7 +415,7 @@ Apple Keynote documents.  It currently supports Keynote versions 2 to 5.")
                             name "-" version ".tar.bz2"))
         (sha256
          (base32
-          "1akf0d7yp29pv3j2pw2riii4n5kyjr9szc0y77khnx9zzr5zdqh8"))))
+          "0bnm4hllr8cfrybm8rw7b8n0nlhzhnv73bkg1bxk452g6a82f96n"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("libtool" ,libtool)
@@ -420,14 +434,14 @@ standard 21.0.2.")
 (define-public libexttextcat
   (package
     (name "libexttextcat")
-    (version "3.4.4")
+    (version "3.4.5")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "14v2hkygnmf1zgahfm1fha47cr67iikrz2ymiqi28d2jydn0hk7j"))))
+               "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k"))))
     (build-system gnu-build-system)
     (home-page "http://www.freedesktop.org/wiki/Software/libexttextcat/")
     (synopsis "Text Categorization library")
@@ -439,20 +453,24 @@ library primarily intended for language guessing.")
 (define-public libfreehand
   (package
     (name "libfreehand")
-    (version "0.1.0")
+    (version "0.1.2")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "01j7mxi4lmf72w1mv2r098p8l0csdd94w2gq0ncp93djn34al6ai"))))
+               "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("doxygen" ,doxygen)
+     `(("cppunit" ,cppunit)
+       ("doxygen" ,doxygen)
        ("gperf" ,gperf)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("icu4c" ,icu4c)
+       ("lcms" ,lcms)))
     (propagated-inputs ; in Requires or Requires.private field of .pkg
      `(("librevenge" ,librevenge)
        ("zlib" ,zlib)))
@@ -492,14 +510,14 @@ Microsoft Publisher documents of all versions.")
 (define-public libpagemaker
   (package
     (name "libpagemaker")
-    (version "0.0.2")
+    (version "0.0.3")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "05zgj5ngg9z4b7dnrfs59nm0macm99lzyxv4mg53jcvp0mkgigfd"))))
+               "1minj0q14d44qfas81a8lkpgj288h5xlkjp084sfx17xv9axr5nq"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -509,9 +527,6 @@ Microsoft Publisher documents of all versions.")
     (inputs
      `(("boost" ,boost)
        ("zlib" ,zlib)))
-    (arguments
-     ;; avoid triggering a build failure due to warnings
-     `(#:configure-flags '("--disable-werror")))
     (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libpagemaker")
     (synopsis "Library for parsing the PageMaker format")
     (description "Libpagemaker is a library that parses the file format of
@@ -522,15 +537,15 @@ created by PageMaker version 6.x and 7.")
 (define-public libvisio
   (package
     (name "libvisio")
-    ;; FIXME: The newer version 0.1.1 fails its tests.
-    (version "0.1.0")
+    (version "0.1.5")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
+      (patches (search-patches "libvisio-fix-tests.patch"))
       (sha256 (base32
-               "0vvd2wyp4rw6s9xnj1dc9vgdpfvm45gnb5b9hhzif0fdnx4iskqf"))))
+               "132szijxm95ibzq5qqaylifbf6wa81g08jxggnwv22v60dwhc2j3"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("cppunit" ,cppunit)
@@ -544,10 +559,6 @@ created by PageMaker version 6.x and 7.")
        ("libxml2" ,libxml2)))
     (inputs
      `(("boost" ,boost)))
-    ;; FIXME: Not needed any more for newer version 0.1.1.
-    (arguments
-     ;; avoid triggering a build failure due to warnings
-     `(#:configure-flags '("--disable-werror")))
     (home-page "https://wiki.documentfoundation.org/DLP/Libraries/libvisio")
     (synopsis "Library for parsing the Microsoft Visio format")
     (description "Libvisio is a library that parses the file format of
@@ -557,14 +568,14 @@ Microsoft Visio documents of all versions.")
 (define-public libodfgen
   (package
     (name "libodfgen")
-    (version "0.1.3")
+    (version "0.1.6")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/"
                           name "-" version ".tar.bz2"))
       (sha256 (base32
-               "074qsav86ixwi9zm1f77g9vxdf1ihm6n930vxjg8q3lwzd8g7lb6"))))
+               "1hn91bm6dni7n3frh7lpbj3mjqmdrpn12ipq8rswd9445y4j2yrc"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -588,15 +599,14 @@ text documents, vector drawings, presentations and spreadsheets.")
 (define-public libmwaw
   (package
     (name "libmwaw")
-    (version "0.3.11")
+    (version "0.3.12")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
                           version "/" name "-" version ".tar.xz"))
-      (patches (search-patches "libmwaw-CVE-2017-9433.patch"))
       (sha256 (base32
-               "16i9s9p4sjpdpbm3gq6jkc9r3nyfy47ggkdlgh7vr0mydccklj2b"))))
+               "1ryi1v38lgy5kv84fzjqkawidrg30y4hlqrz1v262792wzkad4bn"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -606,9 +616,6 @@ text documents, vector drawings, presentations and spreadsheets.")
     (inputs
      `(("boost" ,boost)
        ("zlib" ,zlib)))
-    (arguments
-     ;; avoid triggering configure errors by simple inclusion of boost headers
-     `(#:configure-flags '("--disable-werror")))
     (home-page "https://sourceforge.net/p/libmwaw/wiki/Home/")
     (synopsis "Import library for some old Macintosh text documents")
     (description "Libmwaw contains some import filters for old Macintosh
@@ -642,14 +649,14 @@ from the old StarOffice (.sdc, .sdw, ...).")
 (define-public libwps
   (package
     (name "libwps")
-    (version "0.4.0")
+    (version "0.4.7")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/" name "/" name "/"
                           name "-" version "/" name "-" version ".tar.xz"))
       (sha256 (base32
-               "0nlrdk7di015l0sk0ivjdqs86zdcvf73p9z9s9ry5glyhrknzxjk"))))
+               "05xjb35y5ha9grgjqs3viaglq7ydsry1hzdvkm7y5b6f1disnb1g"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("doxygen" ,doxygen)
@@ -659,9 +666,6 @@ from the old StarOffice (.sdc, .sdw, ...).")
     (inputs
      `(("boost" ,boost)
        ("zlib" ,zlib)))
-    (arguments
-     ;; avoid triggering configure errors by simple inclusion of boost headers
-     `(#:configure-flags '("--disable-werror")))
     (home-page "http://libwps.sourceforge.net/")
     (synopsis "Import library for Microsoft Works text documents")
     (description "Libwps is a library for importing files in the Microsoft
@@ -671,14 +675,14 @@ Works word processor file format.")
 (define-public libzmf
   (package
    (name "libzmf")
-   (version "0.0.1")
+   (version "0.0.2")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/libzmf/libzmf-"
                           version ".tar.xz"))
       (sha256 (base32
-               "0yp5l1b90xim506zmr3ljkn3qkvbc7qk3dnwq1snxdpr57m37xga"))))
+               "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197"))))
    (build-system gnu-build-system)
    (inputs
     `(("boost" ,boost)
@@ -962,7 +966,7 @@ and to return information on pronunciations, meanings and synonyms.")
                    (list "sysui/CustomTarget_share.mk"
                          "solenv/gbuild/gbuild.mk"
                          "solenv/gbuild/platform/unxgcc.mk")
-                   (("/bin/sh") (which "bash")))
+                   (("/bin/sh") (which "sh")))
                  (mkdir "external/tarballs")
                  (symlink
                    xmlsec
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1445089a58..faf230f7ed 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1466,7 +1466,7 @@ transparently through a bridge.")
 (define-public libnl
   (package
     (name "libnl")
-    (version "3.3.0")
+    (version "3.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1475,7 +1475,7 @@ transparently through a bridge.")
                     "/libnl-" version ".tar.gz"))
               (sha256
                (base32
-                "1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
+                "1gzm444rnsib64dddv0cwlpzy1q4bycjqhp1i5pxpikimqvpca5p"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("bison" ,bison)
@@ -1490,7 +1490,7 @@ transparently through a bridge.")
                  (string-join (string-split version #\.) "_")
                  "/libnl-doc-" version ".tar.gz"))
            (sha256
-            (base32 "0srab805yj8wb13l64qjyp3mdbqapxg5vk46v3zlhhzpmxqw8j7r"))))))
+            (base32 "1m5cnzviv31gjnz6fz5rgyl6ah4dbp2akm49j9973sgwl36gs8jx"))))))
     (inputs
      `(("python-2" ,python-2)
        ("python-3" ,python-3)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 7beb0d72a0..b7d5514f8e 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -416,7 +416,7 @@ and corrections.  It is based on a Bayesian filter.")
 (define-public offlineimap
   (package
     (name "offlineimap")
-    (version "7.1.2")
+    (version "7.1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/OfflineIMAP/offlineimap/"
@@ -424,7 +424,7 @@ and corrections.  It is based on a Bayesian filter.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0rnw7gpx3cp4irja5143haszgv4xhndc8wivhg8r0gpp6ig460vj"))))
+                "0iaznh8q3fmia43r0600vrd3w8njis1x65ry9fv3zsyx0ili1z02"))))
     (build-system python-build-system)
     (native-inputs
      `(("asciidoc" ,asciidoc)))
@@ -811,7 +811,7 @@ and search library.")
 (define-public getmail
   (package
     (name "getmail")
-    (version "5.1")
+    (version "5.4")
     (source
      (origin
        (method url-fetch)
@@ -819,7 +819,7 @@ and search library.")
                            name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0zh220vx10wi6x61qi0mjayjxgvllk9f6vd4hjrgzha1xbjj0vix"))))
+         "1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; no tests
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4b311c4982..add67d45a8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
@@ -70,6 +70,7 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages java)
   #:use-module (gnu packages less)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages logging)
@@ -744,6 +745,124 @@ extremely large and complex data collections.")
     (license (license:x11-style
               "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
 
+(define-public hdf-java
+  (package
+   (name "hdf-java")
+   (version "3.3.2")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (string-append
+            "http://www.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfjni-"
+            version "/src/CMake-hdfjava-" version ".tar.gz"))
+      (sha256
+       (base32 "0m1gp2aspcblqzmpqbdpfp6giskws85ds6p5gz8sx7asyp7wznpr"))
+      (modules '((guix build utils)))
+      (snippet ; Make sure we don't use the bundled sources and binaries.
+       `(begin
+          (for-each delete-file
+                    (list "SZip.tar.gz" "ZLib.tar.gz" "JPEG8d.tar.gz"
+                          "HDF4.tar.gz" "HDF5.tar.gz"))
+          (delete-file-recursively ,(string-append "hdfjava-" version "/lib"))))))
+   (build-system gnu-build-system)
+   (native-inputs
+    `(("jdk" ,icedtea "jdk")
+      ("automake" ,automake) ; For up to date 'config.guess' and 'config.sub'.
+      ;; For tests:
+      ("hamcrest-core" ,java-hamcrest-core)
+      ("junit" ,java-junit)
+      ("slf4j-simple" ,java-slf4j-simple)))
+   (inputs
+    `(("hdf4" ,hdf4)
+      ("hdf5" ,hdf5)
+      ("zlib" ,zlib)
+      ("libjpeg" ,libjpeg)
+      ("slf4j-api" ,java-slf4j-api)))
+   (arguments
+    `(#:configure-flags
+      (list (string-append "--target=" ,(or (%current-target-system) (%current-system)))
+            (string-append "--with-jdk=" (assoc-ref %build-inputs "jdk") "/include,"
+                           (assoc-ref %build-inputs "jdk") "/lib" )
+            (string-append "--with-hdf4=" (assoc-ref %build-inputs "hdf4") "/lib")
+            (string-append "--with-hdf5=" (assoc-ref %build-inputs "hdf5") "/lib"))
+
+      #:make-flags
+      (list (string-append "HDFLIB=" (assoc-ref %build-inputs "hdf4") "/lib")
+            (string-append "HDF5LIB=" (assoc-ref %build-inputs "hdf5") "/lib")
+            (string-append "ZLIB=" (assoc-ref %build-inputs "zlib") "/lib/libz.so")
+            (string-append "JPEGLIB="
+                           (assoc-ref %build-inputs "libjpeg") "/lib/libjpeg.so")
+            "LLEXT=so")
+
+      #:phases
+      (modify-phases %standard-phases
+        (add-before 'configure 'chdir-to-source
+          (lambda _ (chdir ,(string-append "hdfjava-" version))))
+        (add-before 'configure 'patch-build
+          (lambda* (#:key inputs outputs #:allow-other-keys)
+            (substitute* "configure"
+              (("COPT=\"") "COPT=\"-O2 ") ; CFLAGS is ignored in Makefiles
+              (("/bin/cat") (which "cat")))
+            ;; Set classpath for compilation
+            (substitute* '("hdf/hdf5lib/Makefile.in"
+                           "hdf/hdf5lib/exceptions/Makefile.in"
+                           "hdf/hdflib/Makefile.in")
+              (("\\$\\(TOP\\)/lib/slf4j-api-1\\.7\\.5\\.jar")
+               (string-append (assoc-ref inputs "slf4j-api")
+                              "/share/java/slf4j-api.jar")))
+            ;; Replace outdated config.sub and config.guess:
+            (with-directory-excursion "config"
+              (for-each (lambda (file)
+                          (copy-file
+                           (string-append (assoc-ref inputs "automake")
+                                          "/share/automake-1.15/" file) file))
+                        '("config.sub" "config.guess")))
+            (mkdir-p (string-append (assoc-ref outputs "out")))
+            ;; Set classpath for tests
+            (let* ((build-dir (getcwd))
+                   (lib (string-append build-dir "/lib"))
+                   (jhdf (string-append lib "/jhdf.jar"))
+                   (jhdf5 (string-append lib "/jhdf5.jar"))
+                   (testjars
+                    (map (lambda (i)
+                           (string-append (assoc-ref inputs i)
+                                          "/share/java/" i ".jar"))
+                         '("junit" "hamcrest-core" "slf4j-api" "slf4j-simple")))
+                   (class-path
+                    (string-join `("." ,build-dir ,jhdf ,jhdf5 ,@testjars) ":")))
+
+              (substitute* '("test/hdf5lib/Makefile.in"
+                             "test/hdf5lib/junit.sh.in"
+                             "examples/runExample.sh.in")
+                (("/usr/bin/test")
+                 (string-append (assoc-ref inputs "coreutils")
+                                "/bin/test"))
+                (("/usr/bin/uname")
+                 (string-append (assoc-ref inputs "coreutils")
+                                "/bin/uname"))
+                (("CLASSPATH=[^\n]*")
+                 (string-append "CLASSPATH=" class-path)))
+              (setenv "CLASSPATH" class-path))
+            #t))
+        (add-before 'check 'build-examples
+          (lambda _
+            (zero? (apply system* `("javac"
+                                    ,@(find-files "examples" ".*\\.java")))))))
+
+      #:parallel-build? #f
+
+      #:parallel-tests? #f ))
+   (home-page "https://support.hdfgroup.org/products/java")
+   (synopsis "Java interface for the HDF4 and HDF5 libraries")
+   (description "Java HDF Interface (JHI) and Java HDF5 Interface (JHI5) use
+the Java Native Interface to wrap the HDF4 and HDF5 libraries, which are
+implemented in C.")
+
+   ;; BSD-style license:
+   (license (license:x11-style
+             "https://support.hdfgroup.org/ftp/HDF5/hdf-java\
+/current/src/unpacked/COPYING"))))
+
 (define-public hdf-eos2
   (package
     (name "hdf-eos2")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 418d11ad07..b39f2875e8 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
@@ -56,6 +58,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libidn)
@@ -922,6 +925,38 @@ information by IP Address.")
 sockets in Perl.")
   (license license:perl-license)))
 
+(define-public libproxy
+  (package
+    (name "libproxy")
+    (version "0.4.15")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/libproxy/libproxy/"
+                                  "releases/download/" version "/libproxy-"
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "0kvdrazlzwia876w988cmlypp253gwy6idlh8mjk958c29jb8kb5"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("dbus" ,dbus)
+       ("zlib" ,zlib)
+       ("network-manager" ,network-manager)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+                  (lambda _
+                    (zero? (system* "ctest" "-E" "url-test")))))))
+    (synopsis "Library providing automatic proxy configuration management")
+    (description "Libproxy handles the details of HTTP/HTTPS proxy
+configuration for applications across all scenarios.  Applications using
+libproxy only have to specify which proxy to use.")
+    (home-page "https://libproxy.github.io/libproxy")
+    (license license:lgpl2.1+)))
+
 (define-public proxychains-ng
   (package
     (name "proxychains-ng")
diff --git a/gnu/packages/patches/libmwaw-CVE-2017-9433.patch b/gnu/packages/patches/libmwaw-CVE-2017-9433.patch
deleted file mode 100644
index 502a11d2a8..0000000000
--- a/gnu/packages/patches/libmwaw-CVE-2017-9433.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Fix CVE-2017-9433:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9433
-
-Patch copied from upstream source repository:
-
-https://sourceforge.net/p/libmwaw/libmwaw/ci/68b3b74569881248bfb6cbb4266177cc253b292f
-
-From 68b3b74569881248bfb6cbb4266177cc253b292f Mon Sep 17 00:00:00 2001
-From: David Tardon <dtardon@redhat.com>
-Date: Sat, 8 Apr 2017 14:03:29 +0200
-Subject: [PATCH] ofz#1037 resize vector correctly
-
----
- src/lib/MsWrd1Parser.cxx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lib/MsWrd1Parser.cxx b/src/lib/MsWrd1Parser.cxx
-index 63547e6..3626064 100644
---- a/src/lib/MsWrd1Parser.cxx
-+++ b/src/lib/MsWrd1Parser.cxx
-@@ -902,7 +902,7 @@ bool MsWrd1Parser::readFootnoteCorrespondance(MWAWVec2i limits)
-     int id = fIt++->second;
-     fPos[1] = fIt==footnoteMap.end() ? m_state->m_eot : fIt->first;
-     if (id >= int(m_state->m_footnotesList.size()))
--      m_state->m_footnotesList.resize(size_t(id),MWAWVec2l(0,0));
-+      m_state->m_footnotesList.resize(size_t(id)+1,MWAWVec2l(0,0));
-     m_state->m_footnotesList[size_t(id)]=fPos;
-   }
-   ascii().addDelimiter(input->tell(),'|');
--- 
-2.13.1
-
diff --git a/gnu/packages/patches/libvisio-fix-tests.patch b/gnu/packages/patches/libvisio-fix-tests.patch
new file mode 100644
index 0000000000..335f7c11a8
--- /dev/null
+++ b/gnu/packages/patches/libvisio-fix-tests.patch
@@ -0,0 +1,35 @@
+Tests assume a CET timezone, but do not respect the "TZ" variable.
+
+This patch is a "squashed" version of these upstream commits:
+<https://cgit.freedesktop.org/libreoffice/libvisio/commit/?id=a97d30ad693374deab404ec31fe00665882cc949>
+<https://cgit.freedesktop.org/libreoffice/libvisio/commit/?id=c933df45a873e566c6ce4e5de5f829e64eb892f5>
+
+diff --git a/src/test/Makefile.am b/src/test/Makefile.am
+index 59d3419..23049b5 100644
+--- a/src/test/Makefile.am
++++ b/src/test/Makefile.am
+@@ -29,4 +29,7 @@ EXTRA_DIST = \
+ 	     data/dwg.vsdx \
+ 	     $(test_SOURCES)
+ 
++# ImportTest::testVsdMetadataTitleUtf8 checks formatted date string
++AM_TESTS_ENVIRONMENT = TZ=UTC; export TZ;
++
+ TESTS = test
+diff --git a/src/test/importtest.cpp b/src/test/importtest.cpp
+index e05b3c1..32fb185 100644
+--- a/src/test/importtest.cpp
++++ b/src/test/importtest.cpp
+@@ -242,8 +242,8 @@ void ImportTest::testVsdMetadataTitleUtf8()
+   // Test the case when the string is UTF-8 encoded already in the file.
+   assertXPath(m_doc, "/document/setDocumentMetaData", "title", "mytitle\xC3\xA9\xC3\xA1\xC5\x91\xC5\xB1");
+   // Test <dcterms:created> and <dcterms:modified>.
+-  assertXPath(m_doc, "/document/setDocumentMetaData", "creation-date", "2014-11-26T09:24:56Z");
+-  assertXPath(m_doc, "/document/setDocumentMetaData", "date", "2014-11-26T09:24:56Z");
++  assertXPath(m_doc, "/document/setDocumentMetaData", "creation-date", "2014-11-26T08:24:56Z");
++  assertXPath(m_doc, "/document/setDocumentMetaData", "date", "2014-11-26T08:24:56Z");
+ }
+ 
+ void ImportTest::testVsdUserDefinedMetadata()
+-- 
+2.1.4
diff --git a/gnu/packages/patches/libxfont-CVE-2017-13720.patch b/gnu/packages/patches/libxfont-CVE-2017-13720.patch
new file mode 100644
index 0000000000..0936171060
--- /dev/null
+++ b/gnu/packages/patches/libxfont-CVE-2017-13720.patch
@@ -0,0 +1,36 @@
+Fix CVE-2017-13720.
+
+Copied from upstream source repository:
+<https://cgit.freedesktop.org/xorg/lib/libXfont/commit/?id=d1e670a4a8704b8708e493ab6155589bcd570608>
+
+
+From d1e670a4a8704b8708e493ab6155589bcd570608 Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Thu, 20 Jul 2017 13:38:53 +0200
+Subject: Check for end of string in PatternMatch (CVE-2017-13720)
+
+If a pattern contains '?' character, any character in the string is skipped,
+even if it is '\0'. The rest of the matching then reads invalid memory.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+diff --git a/src/fontfile/fontdir.c b/src/fontfile/fontdir.c
+index 4ce2473..996b7d1 100644
+--- a/src/fontfile/fontdir.c
++++ b/src/fontfile/fontdir.c
+@@ -400,8 +400,10 @@ PatternMatch(char *pat, int patdashes, char *string, int stringdashes)
+ 		}
+ 	    }
+ 	case '?':
+-	    if (*string++ == XK_minus)
++	    if ((t = *string++) == XK_minus)
+ 		stringdashes--;
++	    if (!t)
++		return 0;
+ 	    break;
+ 	case '\0':
+ 	    return (*string == '\0');
+-- 
+cgit v0.10.2
+
diff --git a/gnu/packages/patches/libxfont-CVE-2017-13722.patch b/gnu/packages/patches/libxfont-CVE-2017-13722.patch
new file mode 100644
index 0000000000..458fdfd1a7
--- /dev/null
+++ b/gnu/packages/patches/libxfont-CVE-2017-13722.patch
@@ -0,0 +1,53 @@
+Fix CVE-2017-13722.
+
+Copied from upstream source repository:
+<https://cgit.freedesktop.org/xorg/lib/libXfont/commit/?id=672bb944311392e2415b39c0d63b1e1902905bcd>
+
+From 672bb944311392e2415b39c0d63b1e1902905bcd Mon Sep 17 00:00:00 2001
+From: Michal Srb <msrb@suse.com>
+Date: Thu, 20 Jul 2017 17:05:23 +0200
+Subject: pcfGetProperties: Check string boundaries (CVE-2017-13722)
+
+Without the checks a malformed PCF file can cause the library to make
+atom from random heap memory that was behind the `strings` buffer.
+This may crash the process or leak information.
+
+Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+diff --git a/src/bitmap/pcfread.c b/src/bitmap/pcfread.c
+index dab1c44..ae34c28 100644
+--- a/src/bitmap/pcfread.c
++++ b/src/bitmap/pcfread.c
+@@ -45,6 +45,7 @@ from The Open Group.
+ 
+ #include <stdarg.h>
+ #include <stdint.h>
++#include <string.h>
+ 
+ void
+ pcfError(const char* message, ...)
+@@ -311,11 +312,19 @@ pcfGetProperties(FontInfoPtr pFontInfo, FontFilePtr file,
+     if (IS_EOF(file)) goto Bail;
+     position += string_size;
+     for (i = 0; i < nprops; i++) {
++	if (props[i].name >= string_size) {
++	    pcfError("pcfGetProperties(): String starts out of bounds (%ld/%d)\n", props[i].name, string_size);
++	    goto Bail;
++	}
+ 	props[i].name = MakeAtom(strings + props[i].name,
+-				 strlen(strings + props[i].name), TRUE);
++				 strnlen(strings + props[i].name, string_size - props[i].name), TRUE);
+ 	if (isStringProp[i]) {
++	    if (props[i].value >= string_size) {
++		pcfError("pcfGetProperties(): String starts out of bounds (%ld/%d)\n", props[i].value, string_size);
++		goto Bail;
++	    }
+ 	    props[i].value = MakeAtom(strings + props[i].value,
+-				      strlen(strings + props[i].value), TRUE);
++				      strnlen(strings + props[i].value, string_size - props[i].value), TRUE);
+ 	}
+     }
+     free(strings);
+-- 
+cgit v0.10.2
+
diff --git a/gnu/packages/patches/python2-unittest2-remove-argparse.patch b/gnu/packages/patches/python2-unittest2-remove-argparse.patch
new file mode 100644
index 0000000000..c96738757e
--- /dev/null
+++ b/gnu/packages/patches/python2-unittest2-remove-argparse.patch
@@ -0,0 +1,11 @@
+--- a/setup.py	2017-09-12 01:22:06.273997788 +0200
++++ b/setup.py	2017-09-12 01:22:14.297918757 +0200
+@@ -57,7 +57,7 @@
+ # Both install and setup requires - because we read VERSION from within the
+ # package, and the package also exports all the APIs.
+ # six for compat helpers
+-REQUIRES = ['argparse', 'six>=1.4', 'traceback2'],
++REQUIRES = ['six>=1.4', 'traceback2'],
+ 
+ params = dict(
+     name=NAME,
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index e8e6d64cd3..71475dbd21 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -8884,6 +8884,31 @@ YAML-style files, written with as little code as possible, reducing load time
 and memory overhead.")
     (license (package-license perl))))
 
+(define-public perl-parse-recdescent
+  (package
+    (name "perl-parse-recdescent")
+    (version "1.967015")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0dvfcn2xvj9r4ra5xqgasl847nsm1iy85w1kly41fkxm9im36hqr"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)))
+    (home-page
+     "http://search.cpan.org/dist/Parse-RecDescent")
+    (synopsis "Generate recursive-descent parsers")
+    (description
+     "@code{Parse::RecDescent} can incrementally generate top-down
+recursive-descent text parsers from simple yacc-like grammar specifications.")
+    (license perl-license)))
+
 (define-public perl-parse-yapp
   (package
     (name "perl-parse-yapp")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 00c9917392..93bfe18526 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1840,7 +1840,7 @@ standard library.")
 (define-public python2-unittest2
   (package (inherit python-unittest2)
     (name "python2-unittest2")
-    (version "0.5.1")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
@@ -1849,7 +1849,12 @@ standard library.")
              version ".tar.gz"))
        (sha256
         (base32
-         "0wbs4i4x3x7klr3v35ss6p9mcqz883i1xgcpkhvl7n2lyv6yhpda"))))
+         "0y855kmx7a8rnf81d3lh5lyxai1908xjp0laf4glwa4c8472m212"))
+       (patches
+        (search-patches "python2-unittest2-remove-argparse.patch"))))
+    (propagated-inputs
+     `(("python2-six" ,python2-six)
+       ("python2-traceback2" ,python2-traceback2)))
     (arguments
      `(#:python ,python-2
        #:tests? #f)))) ; no setup.py test command
@@ -3387,6 +3392,30 @@ sources.")
 (define-public python2-sphinx-rtd-theme
   (package-with-python2 python-sphinx-rtd-theme))
 
+(define-public python-guzzle-sphinx-theme
+  (package
+    (name "python-guzzle-sphinx-theme")
+    (version "0.7.11")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "guzzle_sphinx_theme" version))
+        (sha256
+         (base32
+          "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-sphinx" ,python-sphinx)))
+    (home-page "https://github.com/guzzle/guzzle_sphinx_theme")
+    (synopsis "Sphinx theme used by Guzzle")
+    (description "This package provides guzzle_sphinx_theme, a theme for the
+Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
+and several other projects.")
+    (license license:expat)))
+
+(define-public python2-guzzle-sphinx-theme
+  (package-with-python2 python-guzzle-sphinx-theme))
+
 (define-public python-rst.linker
   (package
     (name "python-rst.linker")
@@ -4899,20 +4928,21 @@ You might also want to install the following optional dependencies:
 (define-public python-alembic
   (package
     (name "python-alembic")
-    (version "0.8.10")
+    (version "0.9.5")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "alembic" version))
        (sha256
         (base32
-         "06br9sfqypnjlal6fsbnky3zb0askwcn3diz8k3kwa0qcblm0fqf"))))
+         "01gx2syqbaxh4hr9pf7pxhlb6p36qaf99140dy19lsx1paxb9p4b"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-mock" ,python-mock)
        ("python-pytest-cov" ,python-pytest-cov)))
     (propagated-inputs
-     `(("python-sqlalchemy" ,python-sqlalchemy)
+     `(("python-dateutil" ,python-dateutil)
+       ("python-sqlalchemy" ,python-sqlalchemy)
        ("python-mako" ,python-mako)
        ("python-editor" ,python-editor)))
     (home-page "http://bitbucket.org/zzzeek/alembic")
@@ -7542,10 +7572,7 @@ reading and writing MessagePack data.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append
-             "https://pypi.python.org/packages/source/n/netaddr/netaddr-"
-             version
-             ".tar.gz"))
+       (uri (pypi-uri "netaddr" version))
        (sha256
          (base32
           "1zdfadvpq4lmcqzr383gywxn4xyn355kj1n3lk9q2l03vmyfrbiq"))))
@@ -11491,8 +11518,21 @@ to occurrences in strings and comments.")
         (base32
          "0i283z1pivmir61z8kbiycigc94l61v33ygzkhczf1ifq7cppyds"))))
     (build-system python-build-system)
+    (inputs
+     `(("file" ,file)))
     (arguments
-     '(#:tests? #f)) ; TODO: Requires many libraries not in Guix.
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; 'file' is used for detection of configuration file encoding
+         ;; let's make link the dependency to particular input
+         (add-before 'build 'patch-file-path
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((file-path (assoc-ref inputs "file")))
+               (substitute* "py3status/parse_config.py"
+                 (("check_output\\(\\['file'")
+                  (string-append "check_output(['" file-path "/bin/file'")))
+               #t))))
+       #:tests? #f)) ; TODO: Requires many libraries not in Guix.
     (home-page "https://github.com/ultrabug/py3status")
     (synopsis "Extensible i3status wrapper written in Python")
     (description "py3status is an i3status wrapper which extends i3status
@@ -11936,13 +11976,13 @@ objects, patterned after the Mocha library for Ruby.")
 (define-public python-arrow
   (package
     (name "python-arrow")
-    (version "0.8.0")
+    (version "0.10.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "arrow" version))
               (sha256
                (base32
-                "1bz7hkdgpqcjs866y58z8jywpy7al0f4rxdr00bh2l5qddyw245j"))))
+                "08n7q2l69hlainds1byd4lxhwrq7zsw7s640zkqc3bs5jkq0cnc0"))))
     (build-system python-build-system)
     (native-inputs
      `(;; For testing
@@ -13423,14 +13463,14 @@ useful as a validator for JSON data.")
 (define-public python-aniso8601
   (package
     (name "python-aniso8601")
-    (version "1.1.0")
+    (version "1.3.0")
     (source
       (origin
         (method url-fetch)
         (uri (pypi-uri "aniso8601" version))
         (sha256
           (base32
-            "1k5mjg9iqbjfslb5prrsfz7dhlvi6s35p1jxq8dm87w1b7dn5i2g"))))
+            "1waj54iv3n3lw1fapbz8a93yjgrybgpc86wif5baxdh1arpj9df3"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-dateutil" ,python-dateutil)))
@@ -13442,6 +13482,9 @@ useful as a validator for JSON data.")
       "This package contains a library for parsing ISO 8601 datetime strings.")
     (license license:bsd-3)))
 
+(define-public python2-aniso8601
+  (package-with-python2 python-aniso8601))
+
 (define-public python-flask-restful
   (package
     (name "python-flask-restful")
@@ -15911,14 +15954,14 @@ complex datatypes to and from native Python datatypes.")
 (define-public python-apispec
   (package
     (name "python-apispec")
-    (version "0.22.0")
+    (version "0.25.3")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "apispec" version))
       (sha256
         (base32
-          "0y3jxmgp2d24am3hxl40f5rw9abb0r8037sagax3dv64h4n1azwq"))))
+          "0kxa8723zbisx10363yh4mmmn4higxrspymbjfz5zq8f644zagm9"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-pyyaml" ,python-pyyaml)))
@@ -16462,3 +16505,63 @@ their files and supports any packaging format (including wheels).")
 
 (define-public python2-twine
   (package-with-python2 python-twine))
+
+(define-public python-linecache2
+  (package
+    (name "python-linecache2")
+    (version "1.0.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "linecache2" version))
+        (sha256
+          (base32
+            "0z79g3ds5wk2lvnqw0y2jpakjf32h95bd9zmnvp7dnqhf57gy9jb"))))
+    (build-system python-build-system)
+    (arguments
+     `(;; The tests depend on unittest2, and our version is a bit too old.
+       #:tests? #f))
+    (native-inputs
+     `(("python-pbr" ,python-pbr)))
+    (home-page
+      "https://github.com/testing-cabal/linecache2")
+    (synopsis "Backports of the linecache module")
+    (description
+      "The linecache module allows one to get any line from any file, while
+attempting to optimize internally, using a cache, the common case where many
+lines are read from a single file.")
+    (license license:psfl)))
+
+(define-public python2-linecache2
+  (package-with-python2 python-linecache2))
+
+(define-public python-traceback2
+  (package
+    (name "python-traceback2")
+    (version "1.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "traceback2" version))
+        (sha256
+          (base32
+            "0c1h3jas1jp1fdbn9z2mrgn3jj0hw1x3yhnkxp7jw34q15xcdb05"))))
+    (build-system python-build-system)
+    (arguments
+     `(;; python-traceback2 and python-unittest2 depend on one another.
+       #:tests? #f))
+    (native-inputs
+     `(("python-pbr" ,python-pbr)))
+    (propagated-inputs
+      `(("python-linecache2" ,python-linecache2)))
+    (home-page
+      "https://github.com/testing-cabal/traceback2")
+    (synopsis "Backports of the traceback module")
+    (description
+      "This module provides a standard interface to extract, format and print
+stack traces of Python programs.  It exactly mimics the behavior of the Python
+interpreter when it prints a stack trace.")
+    (license license:psfl)))
+
+(define-public python2-traceback2
+  (package-with-python2 python-traceback2))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index bc275ebb09..8edef9c703 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -353,7 +353,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtbase
   (package
     (name "qtbase")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -362,7 +362,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1ikm896jzyfyjv2qv8n3fd81sxb4y24zkygx36865ygzyvlj36mw"))
+               "16v0dny4rcyd5p8qsnsfg89w98k8kqk3rp9x3g3k7xjmi53bpqkz"))
              (modules '((guix build utils)))
              (snippet
                ;; corelib uses bundled harfbuzz, md4, md5, sha3
@@ -389,7 +389,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("glib" ,glib)
        ("harfbuzz" ,harfbuzz)
        ("icu4c" ,icu4c)
-       ("libinput" ,libinput)
+       ("libinput" ,libinput-minimal)
        ("libjpeg" ,libjpeg)
        ("libmng" ,libmng)
        ("libpng" ,libpng)
@@ -536,7 +536,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
 (define-public qtsvg
   (package (inherit qtbase)
     (name "qtsvg")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -545,7 +545,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1rg2q4snh2g4n93zmk995swwkl0ab1jr9ka9xpj56ddifkw99wlr"))))
+               "020icrl9vi8jh8ygsssqrx2bl8bx28m15dwmf9a969qdnvxyp5ms"))))
     (propagated-inputs `())
     (native-inputs `(("perl" ,perl)))
     (inputs
@@ -574,12 +574,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
               (lambda _
                 ;; make Qt render "offscreen", required for tests
                 (setenv "QT_QPA_PLATFORM" "offscreen")
-                #t)))))))
+                #t)))))
+    (synopsis "Qt module for displaying SVGs")
+    (description "The QtSvg module provides classes for displaying the
+ contents of SVG files.")))
 
 (define-public qtimageformats
   (package (inherit qtsvg)
     (name "qtimageformats")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -588,7 +591,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0iwa3dys5rv706cpxwhmgircv783pmlyl1yrsc5i0rha643y7zkr"))
+               "1wwxxcl24mk1p4w6knyfai09axmwqsm6cgsbkjsmdz3zmjh6qqis"))
              (modules '((guix build utils)))
              (snippet
               '(delete-file-recursively "src/3rdparty"))))
@@ -600,12 +603,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("libwebp" ,libwebp)
        ("mesa" ,mesa)
        ("qtbase" ,qtbase)
-       ("zlib" ,zlib)))))
+       ("zlib" ,zlib)))
+    (synopsis "Additional Image Format plugins for Qt")
+    (description "The QtImageFormats module contains plugins for adding
+support for MNG, TGA, TIFF and WBMP image formats.")))
 
 (define-public qtx11extras
   (package (inherit qtsvg)
     (name "qtx11extras")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -614,19 +620,22 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "00fn3bps48gjyw0pdqvvl9scknxdpmacby6hvdrdccc3jll0wgd6"))))
+               "1ias745j5lfnrfkgyk0pr8n8zlkqs08gq7yyzaj1c645sh54b1fv"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (native-inputs `(("perl" ,perl)))
     (inputs
      `(("mesa" ,mesa)
-       ("qtbase" ,qtbase)))))
+       ("qtbase" ,qtbase)))
+    (synopsis "Qt Extras for X11")
+    (description "The QtX11Extras module includes the library to access X11
+from within Qt 5.")))
 
 (define-public qtxmlpatterns
   (package (inherit qtsvg)
     (name "qtxmlpatterns")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -635,7 +644,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "094wwap2fsl23cys6rxh2ciw0gxbbiqbshnn4qs1n6xdjrj6i15m"))))
+               "0knk4bplqhvsxar1wv16bzfw57q0aja12gdaxz7m8mvx121sm9ha"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -646,12 +655,16 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                          (("xmlpatterns ") "# xmlpatterns"))
                #t))))))
     (native-inputs `(("perl" ,perl)))
-    (inputs `(("qtbase" ,qtbase)))))
+    (inputs `(("qtbase" ,qtbase)))
+    (synopsis "Qt XML patterns module")
+    (description "The QtXmlPatterns module is a XQuery and XPath engine for
+XML and custom data models.  It contains programs such as xmlpatterns and
+xmlpatternsvalidator.")))
 
 (define-public qtdeclarative
   (package (inherit qtsvg)
     (name "qtdeclarative")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -660,7 +673,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zwlxrgraxhlsdkwsai3pjbz7f3a6rsnsg2mjrpay6cz3af6rznj"))))
+               "020bha6q8byxc8cj5zw7gms5rgsjg71hv31hv1rr2fy7x56zsh0d"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -672,12 +685,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("qtxmlpatterns" ,qtxmlpatterns)))
     (inputs
      `(("mesa" ,mesa)
-       ("qtbase" ,qtbase)))))
+       ("qtbase" ,qtbase)))
+    (synopsis "Qt QML module (Quick 2)")
+    (description "The Qt QML module provides a framework for developing
+applications and libraries with the QML language.  It defines and implements the
+language and engine infrastructure, and provides an API to enable application
+developers to extend the QML language with custom types and integrate QML code
+with JavaScript and C++.")))
 
 (define-public qtconnectivity
   (package (inherit qtsvg)
     (name "qtconnectivity")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -686,7 +705,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1mbzmqix0388iq20a1ljd1pgdq259rm1xzp9kx8gigqpamqqnqs0"))))
+               "1k7kjmlny0ykm40qx796wbsg3310v6b8hqizkbr597cmxjbrax9c"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -704,12 +723,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("qtdeclarative" ,qtdeclarative)))
     (inputs
      `(("bluez" ,bluez)
-       ("qtbase" ,qtbase)))))
+       ("qtbase" ,qtbase)))
+    (synopsis "Qt Connectivity module")
+    (description "The Qt Connectivity modules provides modules for interacting
+with Bluetooth and NFC.")))
 
 (define-public qtwebsockets
   (package (inherit qtsvg)
     (name "qtwebsockets")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -718,19 +740,25 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0r1lya2jj3wfci82zfn0vk6vr8sk9k7xiphnkb0panhb8di769q1"))))
+               "0x0nx1ampqsgj9qlc3l32z3ham1a5vq7m2lnxk5pr92yj6yw3pdg"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (native-inputs
      `(("perl" ,perl)
        ("qtdeclarative" ,qtdeclarative)))
-    (inputs `(("qtbase" ,qtbase)))))
+    (inputs `(("qtbase" ,qtbase)))
+    (synopsis "Qt Web Sockets module")
+    (description "WebSocket is a web-based protocol designed to enable two-way
+communication between a client application and a remote host.  The Qt
+WebSockets module provides C++ and QML interfaces that enable Qt applications
+to act as a server that can process WebSocket requests, or a client that can
+consume data received from the server, or both.")))
 
 (define-public qtsensors
   (package (inherit qtsvg)
     (name "qtsensors")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -739,7 +767,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1772x7r6y9xv2sv0w2dfz2yhagsq5bpa9kdpzg0qikccmabr7was"))))
+               "1lxmhi19dbb8vjhpjph0l0ss6zh72hb4908lp4s1pgf8r641ai3r"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:phases phases)
@@ -752,12 +780,16 @@ developers using C++ or QML, a CSS & JavaScript like language.")
     (native-inputs
      `(("perl" ,perl)
        ("qtdeclarative" ,qtdeclarative)))
-    (inputs `(("qtbase" ,qtbase)))))
+    (inputs `(("qtbase" ,qtbase)))
+    (synopsis "Qt Sensors module")
+    (description "The Qt Sensors API provides access to sensor hardware via QML
+and C++ interfaces.  The Qt Sensors API also provides a motion gesture
+recognition API for devices.")))
 
 (define-public qtmultimedia
   (package (inherit qtsvg)
     (name "qtmultimedia")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -766,7 +798,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1r76zvbv6wwb7lgw9jwlx382iyw34i1amxaypb5bg3j1niqvx3z4"))
+               "0815hi3cxy5zy6yc5fkdpx2xd6rk7968j1ziwl2g4wa80802g9n9"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -798,12 +830,16 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("qtbase" ,qtbase)
        ;; Gstreamer is needed for the mediaplayer plugin
        ("gstreamer" ,gstreamer)
-       ("gst-plugins-base" ,gst-plugins-base)))))
+       ("gst-plugins-base" ,gst-plugins-base)))
+    (synopsis "Qt Multimedia module")
+    (description "The Qt Multimedia module provides set of APIs to play and
+record media, and manage a collection of media content.  It also contains a
+set of plugins for interacting with pulseaudio and GStreamer.")))
 
 (define-public qtwayland
   (package (inherit qtsvg)
     (name "qtwayland")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -812,7 +848,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1yizvbmh26mx1ffq0qaci02g2wihy68ld0y7r3z8nx3v5acb236g"))
+               "1ipn4xh0dj1kjg5i4vfl4gpx3hg2377w5gls47xpv1ikz41lshzn"))
              (modules '((guix build utils)))
              (snippet
                ;; The examples try to build and cause the build to fail
@@ -833,12 +869,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("mesa" ,mesa)
        ("mtdev" ,mtdev)
        ("qtbase" ,qtbase)
-       ("wayland" ,wayland)))))
+       ("wayland" ,wayland)))
+    (synopsis "Qt Wayland module")
+    (description "The Qt Wayland module provides the QtWayland client and
+compositor libraries.")))
 
 (define-public qtserialport
   (package (inherit qtsvg)
     (name "qtserialport")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -847,16 +886,19 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0sbsc7n701kxl16r247a907zg2afmbx1xlml5jkc6a9956zqbzp1"))))
+               "0hndc9z7qzxazzjvc6k5yd58afw13444plk70b05nqdi5p19rvah"))))
     (native-inputs `(("perl" ,perl)))
     (inputs
      `(("qtbase" ,qtbase)
-       ("eudev" ,eudev)))))
+       ("eudev" ,eudev)))
+    (synopsis "Qt Serial Port module")
+    (description "The Qt Serial Port module provides the library for
+interacting with serial ports from within Qt.")))
 
 (define-public qtserialbus
   (package (inherit qtsvg)
     (name "qtserialbus")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -865,15 +907,19 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1hzk377c3zl4dm5hxwvpxg2w096m160448y9df6v6l8xpzpzxafa"))))
+               "025yv7zajz5scrmkjkmgkyvxpgkliqvrzc88is0gr481zpd4phmv"))))
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtserialport" ,qtserialport)))))
+       ("qtserialport" ,qtserialport)))
+    (synopsis "Qt Serial Bus module")
+    (description "The Qt Serial Bus API provides classes and functions to
+access the various industrial serial buses and protocols, such as CAN, ModBus,
+and others.")))
 
 (define-public qtwebchannel
   (package (inherit qtsvg)
     (name "qtwebchannel")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -882,17 +928,22 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "003h09mla82f2znb8jjigx13ivc68ikgv7w04594yy7qdmd5yhl0"))))
+               "09iss70c1iqgf8qpik35qlgrdw5y9935v0fm2ppgkmxdxkpls6ww"))))
     (native-inputs
      `(("perl" ,perl)
        ("qtdeclarative" ,qtdeclarative)
        ("qtwebsockets" ,qtwebsockets)))
-    (inputs `(("qtbase" ,qtbase)))))
+    (inputs `(("qtbase" ,qtbase)))
+    (synopsis "Web communication library for Qt")
+    (description "The Qt WebChannel module enables peer-to-peer communication
+between the host (QML/C++ application) and the client (HTML/JavaScript
+application).  The transport mechanism is supported out of the box by the two
+popular web engines, Qt WebKit 2 and Qt WebEngine.")))
 
 (define-public qtlocation
   (package (inherit qtsvg)
     (name "qtlocation")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -901,7 +952,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "058mgvlaml9rkfhkpr1n3avhi12zlva131sqhbwj4lwwyqfkri2b"))))
+               "033b6l6jbvmc0k5qvbgh5vkzvfga7npqcphrywrrqkmx9vj446n8"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -914,12 +965,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
      `(("icu4c" ,icu4c)
        ("openssl" ,openssl)
        ("qtbase" ,qtbase)
-       ("zlib" ,zlib)))))
+       ("zlib" ,zlib)))
+    (synopsis "Qt Location and Positioning modules")
+    (description "The Qt Location module provides an interface for location,
+positioning and geolocation plugins.")))
 
 (define-public qttools
   (package (inherit qtsvg)
     (name "qttools")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -928,7 +982,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1s50kh3sg5wc5gqhwwznnibh7jcnfginnmkv66w62mm74k7mdsy4"))))
+               "06nqsa5mj0mc9w9xbm7mgdkb66x4wlvkhnas32f97sb8ic8rdf9b"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -937,12 +991,16 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("qtdeclarative" ,qtdeclarative)))
     (inputs
      `(("mesa" ,mesa)
-       ("qtbase" ,qtbase)))))
+       ("qtbase" ,qtbase)))
+    (synopsis "Qt Tools and Designer modules")
+    (description "The Qt Tools module provides a set of applications to browse
+the documentation, translate applications, generate help files and other stuff
+that helps in Qt development.")))
 
 (define-public qtscript
   (package (inherit qtsvg)
     (name "qtscript")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -951,18 +1009,22 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "13qq2mjfhqdcvkmzrgxg1gr5kww1ygbwb7r71xxl6rjzbn30hshp"))
+               "1wa0rnbphkhgydnwkf5bjwn0llskl6hgs0964nh0jik8qaspv027"))
              (patches (search-patches "qtscript-disable-tests.patch"))))
     (native-inputs
      `(("perl" ,perl)
        ("qttools" ,qttools)))
     (inputs
-     `(("qtbase" ,qtbase)))))
+     `(("qtbase" ,qtbase)))
+    (synopsis "Qt Script module")
+    (description "Qt provides support for application scripting with ECMAScript.
+The following guides and references cover aspects of programming with
+ECMAScript and Qt.")))
 
 (define-public qtquickcontrols
   (package (inherit qtsvg)
     (name "qtquickcontrols")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -971,18 +1033,22 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0bpc465q822phw3dcbddn70wj1fjlc2hxskkp1z9gl7r23hx03jj"))))
+               "07xxhkfsljwdwlp9jfp88pwkrig02y2pnwhdsaz8mkcackwfq2az"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Quick Controls and other Quick modules")
+    (description "The QtScript module provides classes for making Qt
+applications scriptable.  This module provides a set of extra components that
+can be used to build complete interfaces in Qt Quick.")))
 
 (define-public qtquickcontrols2
   (package (inherit qtsvg)
     (name "qtquickcontrols2")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -991,18 +1057,23 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zq86kqz85wm3n84jcxkxw5x1mrhkqzldkigf8xm3l8j24rf0fr0"))))
+               "1ln83afxyp5dmvdnq6n7as82xrd5k3xvfx7b1jxnljivslyxsm9b"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Quick Controls 2 and other Quick 2 modules")
+    (description "The Qt Quick Controls 2 module contains the Qt Labs Platform
+module that provides platform integration: native dialogs, menus and menu bars,
+and tray icons.  It falls back to Qt Widgets when a native implementation is
+not available.")))
 
 (define-public qtgraphicaleffects
   (package (inherit qtsvg)
     (name "qtgraphicaleffects")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1011,13 +1082,20 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1zsr3a5dsmpvrb5h4m4h42wqmkvkks3d8mmyrx4k0mfr6s7c71jz"))))
+               "0xpvigfiqfqvf05ywj8x69y57rp8dwq2hs1kpxlxs15pniz4wn8l"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Graphical Effects module")
+    (description "The Qt Graphical Effects module provides a set of QML types
+for adding visually impressive and configurable effects to user interfaces.
+Effects are visual items that can be added to Qt Quick user interface as UI
+components.  The API consists of over 20 effects provided as separate QML
+types.  The effects cover functional areas such as blending, masking, blurring,
+coloring, and many more.")))
 
 (define-public qtdeclarative-render2d
   ;; As of Qt-5.8.0 this module has been merged into qtdeclarative
@@ -1040,12 +1118,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
     (inputs
      `(("qtbase" ,qtbase)
        ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Declarative Render module")
+    (description "The Qt Declarative Render 2D module provides a Raster
+backend for QtQuick scene graph.")
     (properties `((superseded . ,qtdeclarative)))))
 
 (define-public qtgamepad
   (package (inherit qtsvg)
     (name "qtgamepad")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1054,7 +1135,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "055w4649zi93q1sl32ngqwgnl2vxw1idnm040s9gjgjb67gi81zi"))))
+               "0lm5v43psf7r8zc79dcjdmmdnz4jm30ylgkvsyv8k88mj06yklbn"))))
     (native-inputs
      `(("perl" ,perl)
        ("pkg-config" ,pkg-config)))
@@ -1064,12 +1145,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
        ("libxrender" ,libxrender)
        ("sdl2" ,sdl2)
        ("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Gamepad module")
+    (description "The Qt Gamepad module is an add-on library that enables Qt
+applications to support the use of gamepad hardware and in some cases remote
+control equipment.  The module provides both QML and C++ interfaces.  The
+primary target audience are embedded devices with fullscreen user interfaces,
+and mobile applications targeting TV-like form factors.")))
 
 (define-public qtscxml
   (package (inherit qtsvg)
     (name "qtscxml")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1078,7 +1165,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1m3b6wg5hqasdfc5igpj9bq3czql5kkvvn3rx1ig508kdlh5i5s0"))
+               "0pdimqwdrj8hckm81lwy1z58ji4bdv0bzgv336m0a8v3pj914awx"))
              (modules '((guix build utils)))
              (snippet
               '(begin
@@ -1088,12 +1175,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                    (("scion") "#"))))))
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt SCXML module")
+    (description "The Qt SCXML module provides functionality to create state
+machines from SCXML files.  This includes both dynamically creating state
+machines (loading the SCXML file and instantiating states and transitions) and
+generating a C++ file that has a class implementing the state machine.  It
+also contains functionality to support data models and executable content.")))
 
 (define-public qtpurchasing
   (package (inherit qtsvg)
     (name "qtpurchasing")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1102,15 +1195,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0b1hlaq6rb7d6b6h8kqd26klcpzf9vcdjrv610kdj0drb00jg3ss"))))
+               "04f28y7qcr4kd0pw26mm515qj7haxr0i8lijn1q47wkikxyhawca"))))
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Purchasing module")
+    (description "The Qt Purchasing module provides and in-app API for
+purchasing goods and services.")))
 
 (define-public qtcanvas3d
   (package (inherit qtsvg)
     (name "qtcanvas3d")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1119,7 +1215,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "10fy8wqfw2yhha6lyky5g1a72137aj8pji7mk0wjnggh629z12sb"))
+               "1siyzgm1mjx90rwyzzq9vw2s2xzyf6n7q0vn8gw7mdim5indda44"))
              (modules '((guix build utils)))
              (snippet
               '(delete-file-recursively "examples/canvas3d/3rdparty"))))
@@ -1139,12 +1235,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
     (native-inputs `())
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Canvas 3D module")
+    (description "The Qt Canvas 3D module provides a way to make WebGL-like 3D
+drawing calls from Qt Quick JavaScript.")))
 
 (define-public qtcharts
   (package (inherit qtsvg)
     (name "qtcharts")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1153,18 +1252,25 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "180df5v7i1ki8hc3lgi6jcfdyz7f19pb73dvfkw402wa2gfcna3k"))))
+               "193a3imkgryw42s0gbwaj9gpqd673h3jrg86jvmy33l2fc5gfyjf"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Charts module")
+    (description "The Qt Charts module provides a set of easy to use chart
+components.  It uses the Qt Graphics View Framework, therefore charts can be
+easily integrated to modern user interfaces.  Qt Charts can be used as QWidgets,
+QGraphicsWidget, or QML types. Users can easily create impressive graphs by
+selecting one of the charts themes.")
+    (license license:gpl3)))
 
 (define-public qtdatavis3d
   (package (inherit qtsvg)
     (name "qtdatavis3d")
-    (version "5.9.1")
+    (version "5.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1173,13 +1279,100 @@ developers using C++ or QML, a CSS & JavaScript like language.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "14d1q07winh6n1bkc616dapwfnsfkcjyg5zngdqjdj9mza8ang13"))))
+               "1cmjjbbmdqdix1f8b7qyc2vwhj9pvchc8r4lp65qw11dhycmdbh6"))))
     (arguments
      (substitute-keyword-arguments (package-arguments qtsvg)
        ((#:tests? _ #f) #f))) ; TODO: Enable the tests
     (inputs
      `(("qtbase" ,qtbase)
-       ("qtdeclarative" ,qtdeclarative)))))
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Data Visualization module")
+    (description "The Qt Data Visualization module provides a way to visualize
+data in 3D as bar, scatter, and surface graphs. It is especially useful for
+visualizing depth maps and large quantities of rapidly changing data, such as
+data received from multiple sensors. The look and feel of graphs can be
+customized by using themes or by adding custom items and labels to them.")
+    (license license:gpl3)))
+
+(define-public qtnetworkauth
+  (package (inherit qtsvg)
+    (name "qtnetworkauth")
+    (version "5.9.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://download.qt.io/official_releases/qt/"
+                                 (version-major+minor version) "/" version
+                                 "/submodules/" name "-opensource-src-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "16i33m8x5yii22ciq97bpfmnw0lwhvgv84i2az30a1ikm9dg00x0"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments qtsvg)
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-after 'unpack 'remove-failing-test
+             (lambda _
+               ;; These tests can't find their test data.
+               (substitute* "tests/auto/auto.pro"
+                 (("oauth1 ") "# oauth1 "))
+               #t))))))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (synopsis "Qt Network Authorization module")
+    (description "The Qt Network Authorization module provides an
+implementation of OAuth and OAuth2 authenticathon methods for Qt.")))
+
+(define-public qtremoteobjects
+  (package (inherit qtsvg)
+    (name "qtremoteobjects")
+    (version "5.9.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://download.qt.io/official_releases/qt/"
+                                 (version-major+minor version) "/" version
+                                 "/submodules/" name "-opensource-src-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "1ylphdwis34y4pm9xiwh2xqfd0hh2gp8kkawlps2q5mh2bm11376"))))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)))
+    (synopsis "Qt Remote Objects module")
+    (description "The Qt Remote Objects module is an @dfn{inter-process
+communication} (IPC) module developed for Qt.  The idea is to extend existing
+Qt's functionalities to enable an easy exchange of information between
+processes or computers.")))
+
+(define-public qtspeech
+  (package (inherit qtsvg)
+    (name "qtspeech")
+    (version "5.9.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://download.qt.io/official_releases/qt/"
+                                 (version-major+minor version) "/" version
+                                 "/submodules/" name "-opensource-src-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "0cq33dffi7q7dnvzhdivky5prakb8xnwap0b76fwgirhbbn88ypg"))))
+    (inputs
+     `(("qtbase" ,qtbase)))
+    (native-inputs
+     `(("perl" ,perl)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtxmlpatterns" ,qtxmlpatterns)))
+    (synopsis "Qt Speech module")
+    (description "The Qt Speech module enables a Qt application to support
+accessibility features such as text-to-speech, which is useful for end-users
+who are visually challenged or cannot access the application for whatever
+reason.  The most common use case where text-to-speech comes in handy is when
+the end-user is driving and cannot attend the incoming messages on the phone.
+In such a scenario, the messaging application can read out the incoming
+message.")))
 
 (define-public python-sip
   (package
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index ca996e9844..0962ffe985 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -83,6 +83,7 @@
               ("glu" ,glu)
               ("alsa-lib" ,alsa-lib)
               ("pulseaudio" ,pulseaudio)))
+    (outputs '("out" "debug"))
     (synopsis "Cross platform game development library")
     (description "Simple DirectMedia Layer is a cross-platform development
 library designed to provide low level access to audio, keyboard, mouse,
@@ -157,6 +158,7 @@ system, such as sound redirection over the network.")
                (base32
                 "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw"))))
     (build-system gnu-build-system)
+    (outputs '("out" "debug"))
     (arguments
      `(,@(if (any (cute string-prefix? <> (or (%current-system)
                                               (%current-target-system)))
@@ -184,6 +186,7 @@ other supporting functions for SDL.")
               (base32
                "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b"))))
     (build-system gnu-build-system)
+    (outputs '("out" "debug"))
     (arguments
      ;; Explicitly link against shared libraries instead of dlopening them.
      '(#:configure-flags '("--disable-jpg-shared"
@@ -220,6 +223,7 @@ WEBP, XCF, XPM, and XV.")
                (base32
                 "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n"))))
     (build-system gnu-build-system)
+    (outputs '("out" "debug"))
     ;; no check target
     ;; use libmad instead of smpeg
     ;; explicitly link against shared libraries instead of dlopening them
@@ -260,6 +264,7 @@ MIDI, Ogg Vorbis, and MP3.")
     (build-system gnu-build-system)
     (propagated-inputs `(("sdl" ,sdl)))
     (native-inputs `(("pkg-config" ,pkg-config)))
+    (outputs '("out" "debug"))
     (synopsis "SDL networking library")
     (description "SDL_net is a small, cross-platform networking library for
 SDL.")
@@ -283,6 +288,7 @@ SDL.")
     (inputs `(("freetype" ,freetype)
               ("mesa" ,mesa)))
     (native-inputs `(("pkg-config" ,pkg-config)))
+    (outputs '("out" "debug"))
     (synopsis "SDL TrueType font library")
     (description "SDL_ttf is a TrueType font rendering library for SDL.")
     (home-page "https://www.libsdl.org/projects/SDL_ttf/")
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 8ae2dda1c3..c6e3d6b355 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
 ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,12 +26,20 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system glib-or-gtk)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gtk)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
+  #:use-module (gnu packages networking)
+  #:use-module (gnu packages cyrus-sasl)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages perl)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages xml))
 
 (define-public ccid
   (package
@@ -70,6 +79,48 @@ readers and is needed to communicate with such devices through the
 @command{pcscd} resource manager.")
     (license license:lgpl2.1+)))
 
+(define-public eid-mw
+  (package
+    (name "eid-mw")
+    (version "4.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/Fedict/eid-mw/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0s646p19kq27wb160v9b8aaiy30k2shmq4njm471ggd2j7n7a6rs"))))
+    (build-system glib-or-gtk-build-system)
+        (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("gettext" ,gnu-gettext)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("perl" ,perl)))
+    (inputs
+     `(("curl" ,curl)
+       ("openssl" ,openssl)
+       ("gtk+" ,gtk+)
+       ("pcsc-lite" ,pcsc-lite)
+       ("p11-kit" ,p11-kit)
+       ("libproxy" ,libproxy)
+       ("libxml2" ,libxml2)
+       ("cyrus-sasl" ,cyrus-sasl)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; The github tarball doesn't contain a configure script.
+         (add-before 'configure 'autoreconf
+                     (lambda _ (zero? (system* "autoreconf" "-i")))))))
+    (synopsis "Belgian eID Middleware")
+    (description "The Belgian eID Middleware is required to authenticate with
+online services using the Belgian electronic identity card.")
+    (home-page "https://github.com/Fedict/eid-mw")
+    (license license:lgpl3)))
+
 (define-public libyubikey
   (package
     (name "libyubikey")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 981ebf5636..08ebb2080e 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1115,7 +1115,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2017.10.01")
+    (version "2017.10.07")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://yt-dl.org/downloads/"
@@ -1123,7 +1123,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "047zinsczn6c96fzkarlb29y7sjwyh84nxlpfpa6mi4rn090wkqb"))))
+                "10xs3d3ksfhalmvacpw2drkzi84y3rgy2jjr0wrzmqn1hx897a6r"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index a8e54d6840..4e384e79ae 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -111,6 +111,7 @@
                          "--disable-debug-info" ; save build space
                          "--enable-virtfs"      ; just to be sure
                          ,(string-append "--prefix=" out)
+                         ,(string-append "--sysconfdir=/etc")
                          ,@configure-flags))))))
          (add-after 'install 'install-info
            (lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 994cab7bf7..0d2a247e12 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -43,6 +43,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix cvs-download)
+  #:use-module (guix hg-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
@@ -139,6 +140,8 @@ and its related documentation.")
 (define-public nginx
   (package
     (name "nginx")
+    ;; Consider updating the nginx-docs package if the nginx package is
+    ;; updated.
     (version "1.12.1")
     (source (origin
               (method url-fetch)
@@ -225,6 +228,101 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
     ;;     except for two source files which are bsd-4 licensed.
     (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4))))
 
+(define nginx-xslscript
+  (let ((revision 11)
+        (changeset "01dc9ba12e1b"))
+    (package
+      (name "nginx-xslscript")
+      (version
+       (simple-format #f "2014-03-31-~A-~A" revision changeset))
+      (source (origin
+                (method hg-fetch)
+                (uri (hg-reference
+                      (url "http://hg.nginx.org/xslscript")
+                      (changeset changeset)))
+                (file-name (string-append name "-" version))
+                (sha256
+                 (base32
+                  "0am8zvdx3jmiwkg5q07qjaw5r26r4i2v5i4yr8a1k0jgib6ii08g"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:tests? #f  ; No test suite
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'build)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out-bin (string-append
+                               (assoc-ref outputs "out")
+                               "/bin")))
+                 (mkdir-p out-bin)
+                 (copy-file "xslscript.pl"
+                            (string-append
+                             out-bin
+                             "/xslscript.pl"))
+                 #t))))))
+      (home-page "http://hg.nginx.org/xslscript")
+      (synopsis "XSLScript with NGinx specific modifications")
+      (description
+       "XSLScript is a terse notation for writing complex XSLT stylesheets.
+This is modified version, specifically intended for use with the NGinx
+documentation.")
+      (license l:bsd-2))))
+
+(define-public nginx-documentation
+  ;; This documentation should be relevant for nginx-1.12.0
+  (let ((revision 1961)
+        (changeset "dd4b6c564e10"))
+    (package
+      (name "nginx-documentation")
+      (version
+       (simple-format #f "2017-04-12-~A-~A" revision changeset))
+      (source
+       (origin (method hg-fetch)
+               (uri (hg-reference
+                     (url "http://hg.nginx.org/nginx.org")
+                     (changeset changeset)))
+               (file-name (string-append name "-" version))
+               (sha256
+                (base32
+                 "0rycfnnm2xkm777769h1zib428q45j64mx8nzzfzs4v07jbfc8m5"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:tests? #f  ; No test suite
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'build
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((output (assoc-ref outputs "out")))
+                 (substitute* "umasked.sh"
+                   ((" /bin/sh") (string-append " " (which "sh"))))
+                 ;; The documentation includes a banner, which makes sense on
+                 ;; the NGinx website, but doesn't make much sense when
+                 ;; viewing locally. Therefore, modify the CSS to remove the
+                 ;; banner.
+                 (substitute* "xslt/style.xslt"
+                   (("#banner           \\{ background:     black;")
+                    "#banner           { background:     black;
+                            display:     none;"))
+                 (zero? (system* "make")))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((output (assoc-ref outputs "out")))
+                 (mkdir-p output)
+                 (copy-recursively "libxslt" output)
+                 #t))))))
+      (native-inputs
+       `(("libxml2" ,libxml2)
+         ("libxslt" ,libxslt)
+         ("nginx-xslscript" ,nginx-xslscript)))
+      (home-page "https://nginx.org")
+      (synopsis "Documentation for nginx web server")
+      (description
+       "This package provides HTML documentation for the nginx web server.")
+      (license l:bsd-2))))
+
 (define-public fcgi
   (package
     (name "fcgi")
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 918b994615..a44390200f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -49,9 +49,11 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages flex)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
@@ -1071,7 +1073,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
 (define-public rofi
   (package
     (name "rofi")
-    (version "1.3.1")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/DaveDavenport/rofi/"
@@ -1079,20 +1081,24 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
                                   version "/rofi-" version ".tar.xz"))
               (sha256
                (base32
-                "1s47biv6d68nblpz6d3aklsar1xxxcilzr4y77v3hz2w1wbz2b5m"))))
+                "0xnfzbwhxd2cd4lxkc24mbx3f4b1h3l1alcdbbsymi2b9fdwmywh"))))
     (build-system gnu-build-system)
     (inputs
      `(("pango" ,pango)
        ("cairo" ,cairo)
        ("glib" ,glib)
        ("startup-notification" ,startup-notification)
+       ("librsvg" ,librsvg)
        ("libxkbcommon" ,libxkbcommon)
        ("libxcb" ,libxcb)
        ("xcb-util" ,xcb-util)
        ("xcb-util-xrm" ,xcb-util-xrm)
        ("xcb-util-wm" ,xcb-util-wm)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("bison" ,bison)
+       ("check" ,check-0.11.0)
+       ("flex" ,flex)
+       ("pkg-config" ,pkg-config)))
     (arguments
      `(#:parallel-tests? #f ; May fail in some circumstances.
        #:phases
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 3fd7de3442..dea829b569 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4861,6 +4861,8 @@ an X Window System display.")
                "mirror://xorg/individual/lib/libXfont-"
                version
                ".tar.bz2"))
+        (patches (search-patches "libxfont-CVE-2017-13720.patch"
+                                 "libxfont-CVE-2017-13722.patch"))
         (sha256
           (base32
             "0w8d07bkmjiarkx09579bl8zsq903mn8javc7qpi0ix4ink5x502"))))
@@ -4890,6 +4892,7 @@ new API's in libXft, or the legacy API's in libX11.")
   (package
     (inherit libxfont)
     (version "2.0.1")
+    (replacement libxfont2/fixed)
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://xorg/individual/lib/libXfont2-"
@@ -4898,6 +4901,15 @@ new API's in libXft, or the legacy API's in libX11.")
                (base32
                 "0znvwk36nhmyqpmhbm9mzisgixp1mp5qkfald8x1n5yxbm3vpyz9"))))))
 
+(define libxfont2/fixed
+  (package
+    (inherit libxfont2)
+    (source
+     (origin
+       (inherit (package-source libxfont2))
+       (patches (search-patches "libxfont-CVE-2017-13720.patch"
+                                "libxfont-CVE-2017-13722.patch"))))))
+
 (define-public libxi
   (package
     (name "libxi")
@@ -5201,23 +5213,20 @@ draggable titlebars and borders.")
     (license license:x11)))
 
 ;; This package is intended to be used when building GTK+.
-;; Note: It's currently marked as "hidden" to avoid having two non-eq?
-;; packages with the same name and version.
 (define-public xorg-server-1.19.3
-  (hidden-package
-   (package
-     (inherit xorg-server)
-     (name "xorg-server")
-     (version "1.19.3")
-     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-              "mirror://xorg/individual/xserver/"
-              name "-" version ".tar.bz2"))
-        (sha256
-         (base32
-          "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7")))))))
+  (package
+    (inherit xorg-server)
+    (name "xorg-server")
+    (version "1.19.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://xorg/individual/xserver/"
+             name "-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "162s1v901djr57gxmmk4airk8hiwcz79dqyz72972x1lw1k82yk7"))))))
 
 (define-public xorg-server-xwayland
   (package
@@ -5299,6 +5308,15 @@ draggable titlebars and borders.")
         ("xproto" ,xproto)))
     (native-inputs
       `(("pkg-config" ,pkg-config)))
+;; TODO: add XCURSOR_PATH=.../share/icons to profile search paths, so
+;; libXcursor finds cursors installed into a profile.  If we solve bugs
+;; <http://bugs.gnu.org/20255> and <http://bugs.gnu.org/22138>, we can fix
+;; this with a search-path as follows:
+;;
+;;    (native-search-paths
+;;     (list (search-path-specification
+;;            (variable "XCURSOR_PATH")
+;;            (files '("share/icons")))))
     (home-page "https://www.x.org/wiki/")
     (synopsis "Xorg Cursor management library")
     (description "Xorg Cursor management library.")
diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm
index dfa9d7373d..c0bbafdd59 100644
--- a/gnu/packages/zile.scm
+++ b/gnu/packages/zile.scm
@@ -40,14 +40,14 @@
 (define-public zile
   (package
     (name "zile")
-    (version "2.4.13")
+    (version "2.4.14")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/zile/zile-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "03mcg0bxkzprlsx8y6h22w924pzx4a9zr7zm3g11j8j3x9lz75f7"))))
+               "0x3byaddms8l3g7igx6njycqsq98wgapysdb5c7lhcnajlkp8y3s"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 42b96b417e..b0c23aafc7 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -25,7 +25,6 @@
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services dbus)
-  #:use-module (gnu services base)
   #:use-module (gnu system shadow)
   #:use-module (gnu system pam)
   #:use-module (gnu packages admin)
diff --git a/gnu/system.scm b/gnu/system.scm
index 0e834ba5ed..5f562b48bb 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -583,6 +583,9 @@ export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share
 export XDG_DATA_DIRS=$HOME/.guix-profile/share:/run/current-system/profile/share
 export XDG_CONFIG_DIRS=$HOME/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
 
+# Make sure libXcursor finds cursors installed into user or system profiles.  See <http://bugs.gnu.org/24445>
+export XCURSOR_PATH=$HOME/.icons:$HOME/.guix-profile/share/icons:/run/current-system/profile/share/icons
+
 # Ignore the default value of 'PATH'.
 unset PATH
 
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 5a7aec5c87..969a89266c 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -78,6 +78,19 @@ the derivations referenced by EXP are automatically copied to the initrd."
           (use-modules (gnu build linux-initrd))
 
           (mkdir #$output)
+
+          ;; The guile used in the initrd must be present in the store, so
+          ;; that module loading works once the root is switched.
+          ;;
+          ;; To ensure that is the case, add an explicit reference to the
+          ;; guile package used in the initrd to the output.
+          ;;
+          ;; This fixes guix-patches bug #28399, "Fix mysql activation, and
+          ;; add a basic test".
+          (call-with-output-file (string-append #$ output "/references")
+            (lambda (port)
+              (simple-format port "~A\n" #$guile)))
+
           (build-initrd (string-append #$output "/initrd")
                         #:guile #$guile
                         #:init #$init
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index 9e335b27c6..e7097690a0 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -29,7 +29,8 @@
   #:use-module (guix gexp)
   #:use-module (guix store)
   #:export (%test-memcached
-            %test-mongodb))
+            %test-mongodb
+            %test-mysql))
 
 (define %memcached-os
   (simple-operating-system
@@ -205,3 +206,61 @@
    (name "mongodb")
    (description "Connect to a running MONGODB server.")
    (value (run-mongodb-test))))
+
+
+;;;
+;;; The MySQL service.
+;;;
+
+(define %mysql-os
+  (simple-operating-system
+   (mysql-service)))
+
+(define* (run-mysql-test)
+  "Run tests in %MYSQL-OS."
+  (define os
+    (marionette-operating-system
+     %mysql-os
+     #:imported-modules '((gnu services herd)
+                          (guix combinators))))
+
+  (define vm
+    (virtual-machine
+     (operating-system os)
+     (memory-size 512)))
+
+  (define test
+    (with-imported-modules '((gnu build marionette))
+      #~(begin
+          (use-modules (srfi srfi-11) (srfi srfi-64)
+                       (gnu build marionette))
+
+          (define marionette
+            (make-marionette (list #$vm)))
+
+          (mkdir #$output)
+          (chdir #$output)
+
+          (test-begin "mysql")
+
+          (test-assert "service running"
+            (marionette-eval
+             '(begin
+                (use-modules (gnu services herd))
+                (match (start-service 'mysql)
+                  (#f #f)
+                  (('service response-parts ...)
+                   (match (assq-ref response-parts 'running)
+                     ((pid) (number? pid))))))
+             marionette))
+
+          (test-end)
+          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+  (gexp->derivation "mysql-test" test))
+
+(define %test-mysql
+  (system-test
+   (name "mysql")
+   (description "Start the MySQL service.")
+   (value (run-mysql-test))))