summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-04-30 04:03:54 -0400
committerMark H Weaver <mhw@netris.org>2018-04-30 04:03:54 -0400
commit3d5ad159b336a9903b31d0be7ae052dbc8d5bfcc (patch)
treeee7dce4e436490a1db5f18e4bfad55511d2fff32 /gnu
parentc77835db04ee20c0afe20600dc8f91a67bc2421e (diff)
parent8c21c64e59d3f4d223d8aeef91f06fdde7de1ab7 (diff)
downloadguix-3d5ad159b336a9903b31d0be7ae052dbc8d5bfcc.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk15
-rw-r--r--gnu/packages/admin.scm81
-rw-r--r--gnu/packages/android.scm4
-rw-r--r--gnu/packages/audio.scm15
-rw-r--r--gnu/packages/benchmark.scm9
-rw-r--r--gnu/packages/bioconductor.scm259
-rw-r--r--gnu/packages/bioinformatics.scm102
-rw-r--r--gnu/packages/bittorrent.scm2
-rw-r--r--gnu/packages/bootloaders.scm25
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/commencement.scm8
-rw-r--r--gnu/packages/cran.scm353
-rw-r--r--gnu/packages/cups.scm10
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/debug.scm3
-rw-r--r--gnu/packages/dictionaries.scm17
-rw-r--r--gnu/packages/disk.scm28
-rw-r--r--gnu/packages/education.scm43
-rw-r--r--gnu/packages/emacs.scm115
-rw-r--r--gnu/packages/emulators.scm6
-rw-r--r--gnu/packages/engineering.scm6
-rw-r--r--gnu/packages/enlightenment.scm24
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/game-development.scm27
-rw-r--r--gnu/packages/games.scm3
-rw-r--r--gnu/packages/geo.scm8
-rw-r--r--gnu/packages/gnome.scm48
-rw-r--r--gnu/packages/gnunet.scm2
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/golang.scm12
-rw-r--r--gnu/packages/graph.scm11
-rw-r--r--gnu/packages/gstreamer.scm2
-rw-r--r--gnu/packages/guile.scm2
-rw-r--r--gnu/packages/image-viewers.scm4
-rw-r--r--gnu/packages/image.scm32
-rw-r--r--gnu/packages/irc.scm9
-rw-r--r--gnu/packages/java.scm303
-rw-r--r--gnu/packages/julia.scm2
-rw-r--r--gnu/packages/libreoffice.scm8
-rw-r--r--gnu/packages/linux.scm127
-rw-r--r--gnu/packages/lxde.scm13
-rw-r--r--gnu/packages/machine-learning.scm44
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/maths.scm16
-rw-r--r--gnu/packages/mes.scm9
-rw-r--r--gnu/packages/messaging.scm36
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/music.scm35
-rw-r--r--gnu/packages/node.scm4
-rw-r--r--gnu/packages/package-management.scm11
-rw-r--r--gnu/packages/parallel.scm6
-rw-r--r--gnu/packages/patches/bcftools-regidx-unsigned-char.patch16
-rw-r--r--gnu/packages/patches/ceph-skip-collect-sys-info-test.patch11
-rw-r--r--gnu/packages/patches/freeimage-unbundle.patch18
-rw-r--r--gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch81
-rw-r--r--gnu/packages/patches/pcmanfm-CVE-2017-8934.patch56
-rw-r--r--gnu/packages/patches/pt-scotch-build-parallelism.patch13
-rw-r--r--gnu/packages/patches/qemu-CVE-2018-7550.patch66
-rw-r--r--gnu/packages/patches/quassel-fix-tls-check.patch25
-rw-r--r--gnu/packages/patches/scotch-build-parallelism.patch39
-rw-r--r--gnu/packages/patches/scotch-graph-diam-64.patch27
-rw-r--r--gnu/packages/patches/scotch-graph-induce-type-64.patch19
-rw-r--r--gnu/packages/patches/zsh-CVE-2018-7548.patch48
-rw-r--r--gnu/packages/patches/zsh-CVE-2018-7549.patch56
-rw-r--r--gnu/packages/perl-check.scm24
-rw-r--r--gnu/packages/perl.scm84
-rw-r--r--gnu/packages/photo.scm8
-rw-r--r--gnu/packages/python-crypto.scm13
-rw-r--r--gnu/packages/python-web.scm13
-rw-r--r--gnu/packages/python.scm62
-rw-r--r--gnu/packages/ruby.scm8
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/sdl.scm2
-rw-r--r--gnu/packages/shells.scm10
-rw-r--r--gnu/packages/spice.scm4
-rw-r--r--gnu/packages/ssh.scm16
-rw-r--r--gnu/packages/statistics.scm105
-rw-r--r--gnu/packages/storage.scm4
-rw-r--r--gnu/packages/syncthing.scm2
-rw-r--r--gnu/packages/text-editors.scm19
-rw-r--r--gnu/packages/textutils.scm8
-rw-r--r--gnu/packages/version-control.scm50
-rw-r--r--gnu/packages/video.scm91
-rw-r--r--gnu/packages/virtualization.scm111
-rw-r--r--gnu/packages/vpn.scm40
-rw-r--r--gnu/packages/vulkan.scm5
-rw-r--r--gnu/packages/web.scm16
-rw-r--r--gnu/packages/xdisorg.scm8
-rw-r--r--gnu/services/base.scm160
-rw-r--r--gnu/services/networking.scm275
-rw-r--r--gnu/system/file-systems.scm9
-rw-r--r--gnu/tests/networking.scm98
92 files changed, 2529 insertions, 1116 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 114dfcad8b..e2dc64b7e9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -575,7 +575,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/azr3.patch				\
   %D%/packages/patches/bash-completion-directories.patch	\
   %D%/packages/patches/bazaar-CVE-2017-14176.patch		\
-  %D%/packages/patches/bcftools-regidx-unsigned-char.patch	\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
   %D%/packages/patches/blast+-fix-makefile.patch		\
   %D%/packages/patches/boost-fix-icu-build.patch		\
@@ -795,6 +794,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/intltool-perl-compatibility.patch	\
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch	\
   %D%/packages/patches/jacal-fix-texinfo.patch			\
+  %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch	\
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
   %D%/packages/patches/java-simple-xml-fix-tests.patch		\
@@ -976,7 +976,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/patchelf-rework-for-arm.patch		\
   %D%/packages/patches/patchutils-xfail-gendiff-tests.patch	\
   %D%/packages/patches/patch-hurd-path-max.patch		\
-  %D%/packages/patches/pcmanfm-CVE-2017-8934.patch		\
   %D%/packages/patches/perl-file-path-CVE-2017-6512.patch	\
   %D%/packages/patches/perl-autosplit-default-time.patch	\
   %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch	\
@@ -1012,9 +1011,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/psm-arch.patch				\
   %D%/packages/patches/psm-ldflags.patch			\
   %D%/packages/patches/psm-repro.patch				\
-  %D%/packages/patches/pt-scotch-build-parallelism.patch	\
-  %D%/packages/patches/pulseaudio-glibc-2.27.patch		\
   %D%/packages/patches/pulseaudio-fix-mult-test.patch		\
+  %D%/packages/patches/pulseaudio-glibc-2.27.patch		\
   %D%/packages/patches/pulseaudio-longer-test-timeout.patch	\
   %D%/packages/patches/pybugz-encode-error.patch		\
   %D%/packages/patches/pybugz-stty.patch			\
@@ -1057,13 +1055,11 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-unittest2-python3-compat.patch	\
   %D%/packages/patches/python-unittest2-remove-argparse.patch	\
   %D%/packages/patches/python-waitress-fix-tests.patch		\
-  %D%/packages/patches/qemu-CVE-2018-7550.patch			\
   %D%/packages/patches/qemu-glibc-2.27.patch 			\
   %D%/packages/patches/qt4-ldflags.patch			\
   %D%/packages/patches/qtbase-use-TZDIR.patch			\
   %D%/packages/patches/qtscript-disable-tests.patch		\
   %D%/packages/patches/quagga-reproducible-build.patch          \
-  %D%/packages/patches/quassel-fix-tls-check.patch              \
   %D%/packages/patches/quickswitch-fix-dmenu-check.patch	\
   %D%/packages/patches/rapicorn-isnan.patch			\
   %D%/packages/patches/raptor2-heap-overflow.patch		\
@@ -1087,6 +1083,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/rxvt-unicode-escape-sequences.patch	\
   %D%/packages/patches/scheme48-tests.patch			\
   %D%/packages/patches/scotch-test-threading.patch		\
+  %D%/packages/patches/scotch-build-parallelism.patch		\
+  %D%/packages/patches/scotch-graph-diam-64.patch		\
+  %D%/packages/patches/scotch-graph-induce-type-64.patch	\
   %D%/packages/patches/sdl-libx11-1.6.patch			\
   %D%/packages/patches/seq24-rename-mutex.patch			\
   %D%/packages/patches/shadow-CVE-2018-7169.patch		\
@@ -1191,9 +1190,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xinetd-CVE-2013-4342.patch		\
   %D%/packages/patches/xmodmap-asprintf.patch 			\
   %D%/packages/patches/libyaml-CVE-2014-9130.patch 		\
-  %D%/packages/patches/zathura-plugindir-environment-variable.patch	\
-  %D%/packages/patches/zsh-CVE-2018-7548.patch			\
-  %D%/packages/patches/zsh-CVE-2018-7549.patch
+  %D%/packages/patches/zathura-plugindir-environment-variable.patch
 
 MISC_DISTRO_FILES =				\
   %D%/packages/ld-wrapper.in
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d1af6d9474..a6abe86403 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -18,7 +18,7 @@
 ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
 ;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;;
@@ -58,6 +58,8 @@
   #:use-module (gnu packages lua)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages inkscape)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
@@ -76,6 +78,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages terminals)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages groff)
@@ -242,16 +245,16 @@ services.")
 (define-public dfc
   (package
    (name "dfc")
-   (version "3.0.4")
+   (version "3.1.1")
    (source
     (origin
      (method url-fetch)
       (uri (string-append
-            "http://projects.gw-computing.net/attachments/download/79/dfc-"
+            "http://projects.gw-computing.net/attachments/download/615/dfc-"
             version ".tar.gz"))
       (sha256
        (base32
-        "0zk1ppx93ijimf4sbgqilxxikpsa2gmpbynknyh41xy7jbdjxp0b"))))
+        "0m1fd7l85ckb7bq4c5c3g257bkjglm8gq7x42pkmpp87fkknc94n"))))
    (build-system cmake-build-system)
    (arguments '(#:tests? #f)) ; There are no tests.
    (native-inputs `(("gettext" ,gettext-minimal)))
@@ -1142,6 +1145,51 @@ This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
                            (string-append dir "/wpa_supplicant.conf")))
               #t))))))))
 
+(define-public wpa-supplicant-gui
+  (package
+    (inherit wpa-supplicant)
+    (name "wpa-supplicant-gui")
+    (inputs `(("qtbase" ,qtbase)
+              ("qtsvg" ,qtsvg)
+              ,@(package-inputs wpa-supplicant)))
+    (native-inputs
+     ;; For icons.
+     `(("imagemagick" ,imagemagick)
+       ("inkscape" ,inkscape)
+       ,@(package-native-inputs wpa-supplicant)))
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'chdir
+                    (lambda _
+                      (chdir "wpa_supplicant/wpa_gui-qt4")
+                      #t))
+                  (delete 'configure)
+                  (replace 'build
+                    (lambda _
+                      (invoke "qmake" "wpa_gui.pro")
+                      (invoke "make" "-j" (number->string (parallel-job-count)))
+                      (invoke "make" "-C" "icons")))
+                  (replace 'install
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let ((out (assoc-ref outputs "out"))
+                            (qt '("qtbase" "qtsvg")))
+                        (substitute* "wpa_gui.desktop"
+                          (("Exec=wpa_gui")
+                           (string-append "Exec=" out "/bin/wpa_gui")))
+                        (install-file "wpa_gui" (string-append out "/bin"))
+                        (install-file "wpa_gui.desktop"
+                                      (string-append out "/share/applications"))
+                        (copy-recursively "icons/hicolor"
+                                          (string-append out "/share/icons/hicolor"))
+                        (wrap-program (string-append out "/bin/wpa_gui")
+                          `("QT_PLUGIN_PATH" ":" prefix
+                            ,(map (lambda (label)
+                                    (string-append (assoc-ref inputs label)
+                                                   "/lib/qt5/plugins/"))
+                                  qt)))
+                        #t))))))
+    (synopsis "Graphical user interface for WPA supplicant")))
+
 (define-public wakelan
   (package
     (name "wakelan")
@@ -1534,7 +1582,9 @@ of supported upstream metrics systems simultaneously.")
        (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
-     `(("python2-pycrypto" ,python2-pycrypto)
+     `(("python2-bcrypt" ,python2-bcrypt)
+       ("python2-pycrypto" ,python2-pycrypto)
+       ("python2-pynacl" ,python2-pynacl)
        ("python2-httplib2" ,python2-httplib2)
        ("python2-passlib" ,python2-passlib)
        ("python2-nose" ,python2-nose)
@@ -1899,7 +1949,7 @@ throughput (in the same interval).")
 (define-public thefuck
   (package
     (name "thefuck")
-    (version "3.25")
+    (version "3.26")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/nvbn/thefuck/archive/"
@@ -1907,7 +1957,7 @@ throughput (in the same interval).")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "088bn2l1376qlndbpnjya4q1x3913nj3yj3wc7s2w3bz66d23skk"))
+                "0ddlf25ik97z34bcpc52xyfhlfm6a3hdi43l6cz4ggwcawdwvn1p"))
               (patches (search-patches "thefuck-test-environ.patch"))))
     (build-system python-build-system)
     (arguments
@@ -1920,7 +1970,8 @@ throughput (in the same interval).")
              (add-installed-pythonpath inputs outputs)
              ;; Some tests need write access to $HOME.
              (setenv "HOME" "/tmp")
-             (zero? (system* "py.test" "-v")))))))
+             (invoke "py.test" "-v")
+             #t)))))
     (propagated-inputs
      `(("python-colorama" ,python-colorama)
        ("python-decorator" ,python-decorator)
@@ -2294,21 +2345,23 @@ Intel DRM Driver.")
 (define-public fabric
   (package
     (name "fabric")
-    (version "1.13.2")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Fabric" version))
        (sha256
         (base32
-         "0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq"))))
+         "13r0b0hllgf8j9rh6x1knmbgvingbdmx046aazv6vck2ll120mw1"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2))             ; Python 2 only
     (native-inputs
      `(("python2-fudge" ,python2-fudge)
        ("python2-jinja2" ,python2-jinja2)
-       ("python2-nose" ,python2-nose)))
+       ("python2-nose" ,python2-nose)
+       ("python2-pynacl" ,python2-pynacl)
+       ("python2-bcrypt" ,python2-bcrypt)))
     (propagated-inputs
      `(("python2-paramiko" ,python2-paramiko)))
     (home-page "http://fabfile.org")
@@ -2375,7 +2428,7 @@ you are running, what theme or icon set you are using, etc.")
 (define-public nnn
   (package
     (name "nnn")
-    (version "1.5")
+    (version "1.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/jarun/nnn/"
@@ -2383,7 +2436,7 @@ you are running, what theme or icon set you are using, etc.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0zswf8lb29zr1z642i1d0zi1y2mxal8qjqdrpdiqjh197jamj3zm"))))
+                "0z3lqbfx3y1caxvn7yq90b7whwyq2y32zf8kyd976ilbxpxnxqpv"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("readline" ,readline)))
@@ -2606,4 +2659,6 @@ launch daemons into the relevant nodes.")
      "Spindle is a tool for improving the performance of dynamic library and
 Python loading in HPC environments.")
     (home-page "https://github.com/hpc/Spindle")
+    ;; This package supports x86_64 and PowerPC64
+    (supported-systems '("x86_64-linux"))
     (license license:lgpl2.1)))
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 96fc34eb6e..105e3d1775 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -341,7 +341,7 @@ Images.")
 (define-public android-udev-rules
   (package
     (name "android-udev-rules")
-    (version "20171113")
+    (version "20180112")
     (source
      (origin
        (method git-fetch)
@@ -350,7 +350,7 @@ Images.")
              (commit version)))
        (file-name (string-append name "-" version "-checkout"))
        (sha256
-        (base32 "11gcnk6wjc2sw05hwi4xphvx9ksmkpvsdziaczymqxkaads3f1dy"))))
+        (base32 "13gj79nnd04szqlrrzzkdr6wi1fky08pi7x8xfbg0jj3d3v0giah"))))
     (build-system trivial-build-system)
     (native-inputs `(("source" ,source)))
     (arguments
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index df1202087c..83fde34325 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -285,14 +285,15 @@ engineers, musicians, soundtrack editors and composers.")
 (define-public audacity
   (package
     (name "audacity")
-    (version "2.2.1")
+    (version "2.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/audacity/audacity/archive"
                            "/Audacity-" version ".tar.gz"))
        (sha256
-        (base32 "1n05r8b4rnf9fas0py0is8cm97s3h65dgvqkk040aym5d1x6wd7z"))
+        (base32
+         "18q7i77ynihx7xp45lz2lv0k0wrh6736pcrivlpwrxjgbvyqx7km"))
        (patches (search-patches "audacity-build-with-system-portaudio.patch"))
        (modules '((guix build utils)))
        (snippet
@@ -555,7 +556,7 @@ based on human speech recordings.")
 (define-public infamous-plugins
   (package
     (name "infamous-plugins")
-    (version "0.2.02")
+    (version "0.2.04")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/ssj71/infamousPlugins/"
@@ -563,10 +564,10 @@ based on human speech recordings.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0qm3ak07vc1l3f5c3c2lq9gkfknlxwn8ks03cysw1pk8hj7dwnv6"))))
+                "1n6rhqsmvad7692w2h01niw5gqg5yk7a09wxl5ivs77zyp93vf7z"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; There are no tests
+     `(#:tests? #f                      ; there are no tests
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'remove-compiler-flags
@@ -581,7 +582,7 @@ based on human speech recordings.")
                             "src/powercut/CMakeLists.txt"
                             "src/powerup/CMakeLists.txt"
                             "src/stuck/CMakeLists.txt")
-                          (("-msse2 -mfpmath=sse") ""))
+               (("-msse2 -mfpmath=sse") ""))
              #t)))))
     (inputs
      `(("cairo" ,cairo)
@@ -591,7 +592,7 @@ based on human speech recordings.")
        ("zita-resampler" ,zita-resampler)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://ssj71.github.io/infamousPlugins")
+    (home-page "https://ssj71.github.io/infamousPlugins")
     (synopsis "LV2 plugins for live use")
     (description
      "The infamous plugins are a collection of LV2 audio plugins for live
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 77dcd78331..ebc8bdb5f2 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -34,7 +34,7 @@
 (define-public fio
   (package
     (name "fio")
-    (version "3.5")
+    (version "3.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -42,7 +42,7 @@
                        "fio-" version ".tar.bz2"))
               (sha256
                (base32
-                "1rrzcrn07db4pffvi2q0d0k884bwcapx6r1rfv4yx9066snvx240"))))
+                "1d2jibp1b2dq97f22wj6pcjl7gbd2kmhfggj2c7q3j8v9axjqsh2"))))
     (build-system gnu-build-system)
     (arguments
      '(#:test-target "test"
@@ -67,8 +67,9 @@
              ;; The configure script doesn't understand some of the
              ;; GNU options, so we can't use #:configure-flags.
              (let ((out (assoc-ref outputs "out")))
-               (zero? (system* "./configure"
-                               (string-append "--prefix=" out))))))
+               (invoke "./configure"
+                       (string-append "--prefix=" out))
+               #t)))
          ;; The main `fio` executable is fairly small and self contained.
          ;; Moving the auxiliary python and gnuplot scripts to a separate
          ;; output saves almost 400 MiB on the closure.
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 09581d9fde..76ff773ef1 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -23,6 +23,8 @@
   #:use-module (guix download)
   #:use-module (guix build-system r)
   #:use-module (gnu packages)
+  #:use-module (gnu packages cran)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages bioinformatics))
 
@@ -70,3 +72,260 @@ the Human Protein Atlas project.")
 customizable permutation tests to assess the association between genomic
 region sets and other genomic features.")
     (license license:artistic2.0)))
+
+(define-public r-diffbind
+  (package
+    (name "r-diffbind")
+    (version "2.6.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "DiffBind" version))
+       (sha256
+        (base32
+         "1sm5h6nq77hjfis6kr1nqyizcxgfz87dgpqc4fxlfqkmsd9n3vkp"))))
+    (properties `((upstream-name . "DiffBind")))
+    (build-system r-build-system)
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("r-amap" ,r-amap)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-deseq2" ,r-deseq2)
+       ("r-dplyr" ,r-dplyr)
+       ("r-edger" ,r-edger)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-ggrepel" ,r-ggrepel)
+       ("r-gplots" ,r-gplots)
+       ("r-iranges" ,r-iranges)
+       ("r-lattice" ,r-lattice)
+       ("r-limma" ,r-limma)
+       ("r-locfit" ,r-locfit)
+       ("r-rcolorbrewer" , r-rcolorbrewer)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-systempiper" ,r-systempiper)
+       ("r-zlibbioc" ,r-zlibbioc)))
+    (home-page "http://bioconductor.org/packages/DiffBind")
+    (synopsis "Differential binding analysis of ChIP-Seq peak data")
+    (description
+     "This package computes differentially bound sites from multiple
+ChIP-seq experiments using affinity (quantitative) data.  Also enables
+occupancy (overlap) analysis and plotting functions.")
+    (license license:artistic2.0)))
+
+(define-public r-ripseeker
+  (package
+    (name "r-ripseeker")
+    (version "1.18.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "RIPSeeker" version))
+       (sha256
+        (base32
+         "0bqkzwrncww7il36273chkd3gfxmii7p566ycki9qij419pwr35y"))))
+    (properties `((upstream-name . "RIPSeeker")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-s4vectors" ,r-s4vectors)
+       ("r-iranges" ,r-iranges)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-rtracklayer" ,r-rtracklayer)))
+    (home-page "http://bioconductor.org/packages/RIPSeeker")
+    (synopsis
+     "Identifying protein-associated transcripts from RIP-seq experiments")
+    (description
+     "This package infers and discriminates RIP peaks from RIP-seq alignments
+using two-state HMM with negative binomial emission probability.  While
+RIPSeeker is specifically tailored for RIP-seq data analysis, it also provides
+a suite of bioinformatics tools integrated within this self-contained software
+package comprehensively addressing issues ranging from post-alignments
+processing to visualization and annotation.")
+    (license license:gpl2)))
+
+(define-public r-multtest
+  (package
+    (name "r-multtest")
+    (version "2.34.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "multtest" version))
+       (sha256
+        (base32
+         "0n11rd49xl2vn3ldmfips7d3yb70l8npjcqsxyswr9ypjhgzkv9j"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-survival" ,r-survival)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biobase" ,r-biobase)
+       ("r-mass" ,r-mass)))
+    (home-page "http://bioconductor.org/packages/multtest")
+    (synopsis "Resampling-based multiple hypothesis testing")
+    (description
+     "This package can do non-parametric bootstrap and permutation
+resampling-based multiple testing procedures (including empirical Bayes
+methods) for controlling the family-wise error rate (FWER), generalized
+family-wise error rate (gFWER), tail probability of the proportion of
+false positives (TPPFP), and false discovery rate (FDR).  Several choices
+of bootstrap-based null distribution are implemented (centered, centered
+and scaled, quantile-transformed).  Single-step and step-wise methods are
+available.  Tests based on a variety of T- and F-statistics (including
+T-statistics based on regression parameters from linear and survival models
+as well as those based on correlation parameters) are included.  When probing
+hypotheses with T-statistics, users may also select a potentially faster null
+distribution which is multivariate normal with mean zero and variance
+covariance matrix derived from the vector influence function.  Results are
+reported in terms of adjusted P-values, confidence regions and test statistic
+cutoffs.  The procedures are directly applicable to identifying differentially
+expressed genes in DNA microarray experiments.")
+    (license license:lgpl3)))
+
+(define-public r-chippeakanno
+  (package
+    (name "r-chippeakanno")
+    (version "3.12.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (bioconductor-uri "ChIPpeakAnno" version))
+       (sha256
+        (base32
+         "1zab489d7a6bh6ylc68x6yn47gdkmr7p3677grx9l2qafrryjr04"))))
+    (properties `((upstream-name . "ChIPpeakAnno")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-go-db" ,r-go-db)
+       ("r-biomart" ,r-biomart)
+       ("r-bsgenome" ,r-bsgenome)
+       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-matrixstats" ,r-matrixstats)
+       ("r-annotationdbi" ,r-annotationdbi)
+       ("r-limma" ,r-limma)
+       ("r-multtest" ,r-multtest)
+       ("r-rbgl" ,r-rbgl)
+       ("r-graph" ,r-graph)
+       ("r-biocinstaller" ,r-biocinstaller)
+       ("r-regioner" ,r-regioner)
+       ("r-dbi" ,r-dbi)
+       ("r-ensembldb" ,r-ensembldb)
+       ("r-biobase" ,r-biobase)
+       ("r-seqinr" ,r-seqinr)
+       ("r-idr" ,r-idr)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-venndiagram" ,r-venndiagram)))
+    (home-page "http://bioconductor.org/packages/ChIPpeakAnno")
+    (synopsis "Peaks annotation from ChIP-seq and ChIP-chip experiments")
+    (description
+     "The package includes functions to retrieve the sequences around the peak,
+obtain enriched Gene Ontology (GO) terms, find the nearest gene, exon, miRNA or
+custom features such as most conserved elements and other transcription factor
+binding sites supplied by users.  Starting 2.0.5, new functions have been added
+for finding the peaks with bi-directional promoters with summary statistics
+(peaksNearBDP), for summarizing the occurrence of motifs in peaks
+(summarizePatternInPeaks) and for adding other IDs to annotated peaks or
+enrichedGO (addGeneIDs).")
+    (license license:gpl2+)))
+
+(define-public r-marray
+  (package
+    (name "r-marray")
+    (version "1.56.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "marray" version))
+              (sha256
+               (base32 "14c93i86yc7jn4ax8p4l0z6v9xisw1bv7gzb4a0gbxhxn7mddaic"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-limma" ,r-limma)))
+    (home-page "http://bioconductor.org/packages/marray")
+    (synopsis "Exploratory analysis for two-color spotted microarray data")
+    (description "This package contains class definitions for two-color spotted
+microarray data.  It also includes fuctions for data input, diagnostic plots,
+normalization and quality checking.")
+    (license license:lgpl2.0+)))
+
+(define-public r-cghbase
+  (package
+   (name "r-cghbase")
+   (version "1.38.0")
+   (source (origin
+            (method url-fetch)
+            (uri (bioconductor-uri "CGHbase" version))
+            (sha256
+             (base32 "0fynvcsjdbgp69i0nxrc8ni58rhb1kx9k5r3nb91n9i8s43gjqlm"))))
+   (properties `((upstream-name . "CGHbase")))
+   (build-system r-build-system)
+   (propagated-inputs
+    `(("r-biobase" ,r-biobase)
+      ("r-marray" ,r-marray)))
+   (home-page "http://bioconductor.org/packages/CGHbase")
+   (synopsis "Base functions and classes for arrayCGH data analysis")
+   (description "This package contains functions and classes that are needed by
+the @code{arrayCGH} packages.")
+   (license license:gpl2+)))
+
+(define-public r-cghcall
+  (package
+   (name "r-cghcall")
+   (version "2.40.0")
+   (source (origin
+            (method url-fetch)
+            (uri (bioconductor-uri "CGHcall" version))
+            (sha256
+             (base32 "11pi6awz3858yb4s0z3qf3kcmsdgp6d4aj41g4lfix1sv5amllch"))))
+   (properties `((upstream-name . "CGHcall")))
+   (build-system r-build-system)
+   (propagated-inputs
+    `(("r-biobase" ,r-biobase)
+      ("r-cghbase" ,r-cghbase)
+      ("r-impute" ,r-impute)
+      ("r-dnacopy" ,r-dnacopy)
+      ("r-snowfall" ,r-snowfall)))
+   (home-page "http://bioconductor.org/packages/CGHcall")
+   (synopsis "Base functions and classes for arrayCGH data analysis")
+   (description "This package contains functions and classes that are needed by
+@code{arrayCGH} packages.")
+   (license license:gpl2+)))
+
+(define-public r-qdnaseq
+  (package
+    (name "r-qdnaseq")
+    (version "1.14.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "QDNAseq" version))
+              (sha256
+               (base32 "0lgbv4s0xqgrs7q6ynb3c273sf7pyrp51jnc8ravq1z5g0a2zshy"))))
+    (properties `((upstream-name . "QDNAseq")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-cghbase" ,r-cghbase)
+       ("r-cghcall" ,r-cghcall)
+       ("r-dnacopy" ,r-dnacopy)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-matrixstats" ,r-matrixstats)
+       ("r-r-utils" ,r-r-utils)
+       ("r-rsamtools" ,r-rsamtools)))
+    (home-page "http://bioconductor.org/packages/QDNAseq")
+    (synopsis "Quantitative DNA sequencing for chromosomal aberrations")
+    (description "The genome is divided into non-overlapping fixed-sized bins,
+number of sequence reads in each counted, adjusted with a simultaneous
+two-dimensional loess correction for sequence mappability and GC content, and
+filtered to remove spurious regions in the genome.  Downstream steps of
+segmentation and calling are also implemented via packages DNAcopy and CGHcall,
+respectively.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 5af4947b68..61e5d8bc34 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -252,7 +252,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
 (define-public bamtools
   (package
     (name "bamtools")
-    (version "2.4.1")
+    (version "2.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -261,7 +261,7 @@ instance, it implements several methods to assess contig-wise read coverage.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0jr024kcrhjb82cm69i7p5fcg5375zlc1h3qh2n1v368hcd0qflk"))))
+                "1z3kg24qrwq13a88n9d86izngrar4fll7gr6phddb2faw75pdgaa"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ;no "check" target
@@ -285,7 +285,7 @@ BAM files.")
 (define-public bcftools
   (package
     (name "bcftools")
-    (version "1.5")
+    (version "1.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -293,12 +293,11 @@ BAM files.")
                     version "/bcftools-" version ".tar.bz2"))
               (sha256
                (base32
-                "0093hkkvxmbwfaa7905s6185jymynvg42kq6sxv7fili11l5mxwz"))
-              (patches (search-patches "bcftools-regidx-unsigned-char.patch"))
+                "1vgw2mwngq20c530zim52zvgmw1lci8rzl33pvh44xqk3xlzvjsa"))
               (modules '((guix build utils)))
               (snippet '(begin
                           ;; Delete bundled htslib.
-                          (delete-file-recursively "htslib-1.5")
+                          (delete-file-recursively "htslib-1.8")
                           #t))))
     (build-system gnu-build-system)
     (arguments
@@ -339,7 +338,7 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
 (define-public bedops
   (package
     (name "bedops")
-    (version "2.4.14")
+    (version "2.4.33")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/bedops/bedops/archive/v"
@@ -347,7 +346,7 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1kqbac547wyqma81cyky9n7mkgikjpsfd3nnmcm6hpqwanqgh10v"))))
+                "0kx4awrwby8f33wqyx8w7ms7v25xhf0d421csgf96a3hfzn2mb0m"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -2089,7 +2088,7 @@ accurately delineate genomic rearrangements throughout the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.9.19")
+    (version "0.9.21")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2098,7 +2097,7 @@ accurately delineate genomic rearrangements throughout the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0c4y8l90vdxmglb0w37y0413v11qzcwg8sdmy9k0c0gr3bsq7dzs"))))
+                "1cf98vcsiwcv3c4apg50w1240v1mpw0zln1sdw3g692dqa4y041z"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
@@ -2349,7 +2348,8 @@ dynamic programming or a variety of heuristics.")
                 (string-append (assoc-ref inputs "bamtools") "/include/bamtools")))
              (substitute* "src/CMakeLists.txt"
                (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/\\.\\./bamtools/lib")
-                (string-append (assoc-ref inputs "bamtools") "/lib/bamtools")))
+                (string-append (assoc-ref inputs "bamtools") "/lib"))
+               (("libprotobuf.a") "libprotobuf.so"))
              #t)))))
     (inputs
      `(("boost" ,boost)
@@ -3462,7 +3462,7 @@ The main functions of FastQC are:
 (define-public htslib
   (package
     (name "htslib")
-    (version "1.7")
+    (version "1.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3470,7 +3470,7 @@ The main functions of FastQC are:
                     version "/htslib-" version ".tar.bz2"))
               (sha256
                (base32
-                "1il6i2p84b0y9c93dhvzzki1ifw9bvapm2mvpr0xvb2nq8jlwgdy"))))
+                "18bw0mn9pj5wgarnlaxmf1bb8pdqgl1zd6czirqcr62ajpn1xvy0"))))
     (build-system gnu-build-system)
     (inputs
      `(("openssl" ,openssl)
@@ -4587,7 +4587,7 @@ partial genes, and identifies translation initiation sites.")
 (define-public roary
   (package
     (name "roary")
-    (version "3.11.0")
+    (version "3.12.0")
     (source
      (origin
        (method url-fetch)
@@ -4596,7 +4596,7 @@ partial genes, and identifies translation initiation sites.")
              version ".tar.gz"))
        (sha256
         (base32
-         "10lw78x1xzvn7xzvnmh4bm3cak3ah5cssapl0yidvhaj1f44h29i"))))
+         "0qxrds9wx7cfhlkihrp6697kx0flhhxymap9fwan0b3rbdhcnmff"))))
     (build-system perl-build-system)
     (arguments
      `(#:phases
@@ -4934,7 +4934,7 @@ to the user's query of interest.")
 (define-public samtools
   (package
     (name "samtools")
-    (version "1.7")
+    (version "1.8")
     (source
      (origin
        (method url-fetch)
@@ -4943,7 +4943,7 @@ to the user's query of interest.")
                        version "/samtools-" version ".tar.bz2"))
        (sha256
         (base32
-         "18acyqysbxpydlc44lqv2hpp57l06bs9a3yqmcvjk8va2xrrdc77"))))
+         "05myg7bs90i68qbqab9cdg9rqj2xh39azibrx82ipzc5kcfvqhn9"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((ice-9 ftw)
@@ -5784,7 +5784,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
 (define-public star
   (package
     (name "star")
-    (version "2.5.3a")
+    (version "2.6.0a")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/alexdobin/STAR/archive/"
@@ -5792,7 +5792,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "013wirlz8lllgjyagl48l75n1isxyabqb3sj7qlsl0x1rmvqw99a"))
+                "0yci4ymy4407kjh0lqp021nzccp6r31wgrkixkmix5p130cxvc56"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -5979,13 +5979,13 @@ Cuffdiff or Ballgown programs.")
 (define-public taxtastic
   (package
     (name "taxtastic")
-    (version "0.6.4")
+    (version "0.8.5")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "taxtastic" version))
               (sha256
                (base32
-                "0s79z8kfl853x7l4h8ms05k31q87aw62nrchlk20w9n227j35929"))))
+                "03pysw79lsrvz4lwzis88j15067ffqbi4cid5pqhrlxmd6bh8rrk"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2
@@ -6098,19 +6098,20 @@ information as possible.")
 (define-public r-vegan
   (package
     (name "r-vegan")
-    (version "2.4-6")
+    (version "2.5-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vegan" version))
        (sha256
         (base32
-         "175mqr42mmxy98gpf3rky8alnkw3w1k90ggdw3cispl36841p76w"))))
+         "0pynr02d1xngda6c3va8fc4nxpgfkawhzcnz1ws4dnarp9b1w90r"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
     (propagated-inputs
      `(("r-cluster" ,r-cluster)
+       ("r-knitr" ,r-knitr)
        ("r-lattice" ,r-lattice)
        ("r-mass" ,r-mass)
        ("r-mgcv" ,r-mgcv)
@@ -6266,14 +6267,14 @@ distribution.")
 (define-public r-dexseq
   (package
     (name "r-dexseq")
-    (version "1.24.3")
+    (version "1.24.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DEXSeq" version))
        (sha256
         (base32
-         "0xip73hlbr3zry9d7ly9vvvsbb3xjcmfa09lr9fdy528dwjrf084"))))
+         "1a80yv742fx5c7qav7imsdybphf0d5bixsqyf8w5zng7fk8j16d5"))))
     (properties `((upstream-name . "DEXSeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6619,7 +6620,7 @@ SELECT or UPDATE queries to an end-point.")
 (define-public vsearch
   (package
     (name "vsearch")
-    (version "2.7.1")
+    (version "2.8.0")
     (source
      (origin
        (method url-fetch)
@@ -6629,7 +6630,7 @@ SELECT or UPDATE queries to an end-point.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0jlzfgh79fzmb4g7sngzdjjsjyc37icvs1k7vmc2ksxglj6x5i7f"))
+         "15pbirgzhvflj4pi5n82vybbzjy9mlb0lv5l3qhrmdkfzpbyahw3"))
        (patches (search-patches "vsearch-unbundle-cityhash.patch"))
        (snippet
         '(begin
@@ -7604,13 +7605,13 @@ samples.")
 (define-public r-genomicalignments
   (package
     (name "r-genomicalignments")
-    (version "1.14.1")
+    (version "1.14.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicAlignments" version))
               (sha256
                (base32
-                "033p6fw46sn7w2yyn14nb9qcnkf30cl0nv6zh014ixflm3iifz39"))))
+                "1659nj1xps7vliy5955i51x6hvrf16n1z0dfh10mmpaaswn2d2mv"))))
     (properties
      `((upstream-name . "GenomicAlignments")))
     (build-system r-build-system)
@@ -9077,14 +9078,14 @@ replacement for strverscmp.")
 (define-public multiqc
   (package
     (name "multiqc")
-    (version "1.4")
+    (version "1.5")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "multiqc" version))
        (sha256
         (base32
-         "0ihx4rzmsfphv4byn05qv6f1y95g2dxs6viwziipl4wjk96acgm8"))))
+         "02iihfl0w0hpnr4pa0sbd1y9qxrg3ycyhjp5lidkcrqh1lmzs3zy"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-jinja2" ,python-jinja2)
@@ -9652,13 +9653,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
 (define-public r-seurat
   (package
     (name "r-seurat")
-    (version "2.2.1")
+    (version "2.3.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Seurat" version))
               (sha256
                (base32
-                "1sr82nf38hq07avrfn8vlrzjq7dfm4pcr8l1nh6mnglcql2bk9z2"))
+                "0kp3lw1s896zkjd6x2wp8qcg7wnm5b40g8vihps13f1m7j4nx7r0"))
               ;; Delete pre-built jar.
               (snippet
                '(begin (delete-file "inst/java/ModularityOptimizer.jar")
@@ -9688,11 +9689,15 @@ Main-Class: ModularityOptimizer\n")))
     (propagated-inputs
      `(("r-ape" ,r-ape)
        ("r-caret" ,r-caret)
+       ("r-cluster" ,r-cluster)
        ("r-cowplot" ,r-cowplot)
        ("r-diffusionmap" ,r-diffusionmap)
+       ("r-dosnow" ,r-dosnow)
        ("r-dplyr" ,r-dplyr)
        ("r-dtw" ,r-dtw)
+       ("r-fitdistrplus" ,r-fitdistrplus)
        ("r-fnn" ,r-fnn)
+       ("r-foreach" ,r-foreach)
        ("r-fpc" ,r-fpc)
        ("r-gdata" ,r-gdata)
        ("r-ggplot2" ,r-ggplot2)
@@ -9704,13 +9709,16 @@ Main-Class: ModularityOptimizer\n")))
        ("r-igraph" ,r-igraph)
        ("r-irlba" ,r-irlba)
        ("r-lars" ,r-lars)
+       ("r-lmtest" ,r-lmtest)
        ("r-mass" ,r-mass)
        ("r-matrix" ,r-matrix)
        ("r-metap" ,r-metap)
        ("r-mixtools" ,r-mixtools)
        ("r-pbapply" ,r-pbapply)
        ("r-plotly" ,r-plotly)
+       ("r-png" ,r-png)
        ("r-ranger" ,r-ranger)
+       ("r-rann" ,r-rann)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
        ("r-rcpp" ,r-rcpp)
        ("r-rcppeigen" ,r-rcppeigen)
@@ -10185,14 +10193,14 @@ effort and encourages consistency.")
 (define-public r-ggbio
   (package
     (name "r-ggbio")
-    (version "1.26.0")
+    (version "1.26.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ggbio" version))
        (sha256
         (base32
-         "1bqxfqy0hff87ax92z4lfbjz01ndrz7x8pzm6dlkdmi52p30krm9"))))
+         "1xlmlngn27iwnr21s9di4059kav1a7c1sajx08wja8yn8f7j06hp"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10237,14 +10245,14 @@ interval to data view, mismatch pileup, and several splicing summaries.")
 (define-public r-gprofiler
   (package
     (name "r-gprofiler")
-    (version "0.6.4")
+    (version "0.6.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gProfileR" version))
        (sha256
         (base32
-         "1cka02zbz1rbppm782qpxk1xn9qxbrv2gp5rgf970j906hxm2y0b"))))
+         "1n6cj12j102b4x9vhyl4dljp1i0r43p23cnhqbx4als2xfxdlqgi"))))
     (properties `((upstream-name . "gProfileR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10355,14 +10363,14 @@ several related annotation packages.")
 (define-public r-erma
   (package
     (name "r-erma")
-    (version "0.10.0")
+    (version "0.10.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "erma" version))
        (sha256
         (base32
-         "0gcfs9g8vvdv5vmq9b21kd8sq5mizjj49nfzd4in9zvp4b9v7x1g"))))
+         "1fi8nc6fbd7i4p9i9hli31xplmdpsxqcdrb8v3nf8fx9klllbdav"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10391,14 +10399,14 @@ by Ernst and Kellis.")
 (define-public r-ldblock
   (package
     (name "r-ldblock")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ldblock" version))
        (sha256
         (base32
-         "18nfsixh6d2wfrb9laqsgly5w1frzihhak683k0p8fdf51h4aqba"))))
+         "1q8dz8wcq1r7kr635s9q21g36sxkdybk8khhpa4p57qv8r0gppl0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-erma" ,r-erma)
@@ -10608,13 +10616,13 @@ assays such as Hi-C.")
 (define-public r-hitc
   (package
     (name "r-hitc")
-    (version "1.22.0")
+    (version "1.22.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "HiTC" version))
               (sha256
                (base32
-                "0288xa1jy6nzvz2ha07csmp6dirjw5r7p9vy69q2wsbyzr02ymkp"))))
+                "0da1jw9my2n2gihs31zyn14wwr23d8v2vij39ll7rm6fma3ydfbl"))))
     (properties `((upstream-name . "HiTC")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10856,14 +10864,14 @@ quality control.")
 (define-public r-scran
   (package
     (name "r-scran")
-    (version "1.6.8")
+    (version "1.6.9")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "scran" version))
        (sha256
         (base32
-         "07wniyrh2fhhkz28v0bfgpvpi1hkkn2cvhacrvvvck142j79944x"))))
+         "0cs64cnf0xjcgmawr210y99j3gxs6aqgh8081n9827kkqnx2y5dm"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
@@ -12826,7 +12834,7 @@ expression report comparing samples in an easily configurable manner.")
 (define-public pigx-chipseq
   (package
     (name "pigx-chipseq")
-    (version "0.0.10")
+    (version "0.0.15")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@@ -12834,7 +12842,7 @@ expression report comparing samples in an easily configurable manner.")
                                   "/pigx_chipseq-" version ".tar.gz"))
               (sha256
                (base32
-                "13w99bkr0w4j28ms0yzpl1x6fkpdqay0vh495q3x20bcilsjwnf1"))))
+                "11v9v3vyda0sv4cl45nki7mm4v4bjfcdq7a70kcvi9h465nq66wg"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; parts of the tests rely on access to the network
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index ae9b3bc62d..9df4f097ac 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -315,8 +315,6 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.")
                (base32
                 "0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75"))))
     (build-system gnu-build-system)
-    (native-inputs
-     `(("intltool" ,intltool)))
     (inputs
      `(("curl" ,curl)
        ("gtk+" ,gtk+)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 5be77e550b..0db6ad3f6a 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -72,23 +72,6 @@
      (base32
       "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys"))))
 
-;; The GRUB test suite fails with later versions of Qemu, so we
-;; keep it at 2.10 for now.  See
-;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
-;; TODO: When grub no longer needs this version, move to gnu/packages/debug.scm.
-(define qemu-minimal-2.10
-  (package
-    (inherit qemu-minimal)
-    (version "2.10.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://download.qemu.org/qemu-"
-                                  version ".tar.xz"))
-              (sha256
-               (base32
-                "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))
-              (patches (search-patches "qemu-glibc-2.27.patch"))))))
-
 (define-public grub
   (package
     (name "grub")
@@ -425,7 +408,7 @@ also initializes the boards (RAM etc).")
                       (libexec (string-append out "/libexec"))
                       (uboot-files (append
                                     (find-files "." ".*\\.(bin|efi|img|spl|itb|dtb)$")
-                                    (find-files "." "^MLO$"))))
+                                    (find-files "." "^(MLO|SPL)$"))))
                  (mkdir-p libexec)
                  (install-file ".config" libexec)
                  (for-each
@@ -480,6 +463,12 @@ also initializes the boards (RAM etc).")
 (define-public u-boot-nintendo-nes-classic-edition
   (make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf"))
 
+(define-public u-boot-wandboard
+  (make-u-boot-package "wandboard" "arm-linux-gnueabihf"))
+
+(define-public u-boot-mx6cuboxi
+  (make-u-boot-package "mx6cuboxi" "arm-linux-gnueabihf"))
+
 (define-public vboot-utils
   (package
     (name "vboot-utils")
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index e26a1bbf63..5d45d07288 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -394,7 +394,7 @@ capacity is user-selectable.")
        ("fontconfig" ,fontconfig)
        ("libexif" ,libexif)
        ("libjpeg" ,libjpeg)
-       ("ffmpeg" ,ffmpeg)))
+       ("ffmpeg" ,ffmpeg-3.4)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("flex" ,flex)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 057ee169dd..9f85781db2 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1024,6 +1024,9 @@ COREUTILS-FINAL vs. COREUTILS, etc."
                      (union-build (assoc-ref %outputs "debug")
                                   (list (assoc-ref %build-inputs
                                                    "libc-debug")))
+                     (union-build (assoc-ref %outputs "static")
+                                  (list (assoc-ref %build-inputs
+                                                   "libc-static")))
                      #t))))
 
     (native-search-paths (package-native-search-paths gcc))
@@ -1036,7 +1039,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
 be installed in user profiles.  This includes GCC, as well as libc (headers
 and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
     (home-page "https://gcc.gnu.org/")
-    (outputs '("out" "debug"))
+    (outputs '("out" "debug" "static"))
 
     ;; The main raison d'être of this "meta-package" is (1) to conveniently
     ;; install everything that we need, and (2) to make sure ld-wrapper comes
@@ -1045,7 +1048,8 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
               ("ld-wrapper" ,(car (assoc-ref %final-inputs "ld-wrapper")))
               ("binutils" ,binutils-final)
               ("libc" ,glibc-final)
-              ("libc-debug" ,glibc-final "debug")))))
+              ("libc-debug" ,glibc-final "debug")
+              ("libc-static" ,glibc-final "static")))))
 
 (define-public gcc-toolchain-4.8
   (make-gcc-toolchain gcc-4.8))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 0ac35a909b..bc95fd2aa4 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages web))
 
@@ -113,16 +114,18 @@ scraping tasks, inspired by libraries like @code{BeautifulSoup}.")
 (define-public r-selectr
   (package
     (name "r-selectr")
-    (version "0.3-2")
+    (version "0.4-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "selectr" version))
        (sha256
         (base32
-         "0kdrj64rqg4z6hg92y9r2h602a2i73r5rnlpg23ys33d5d32n8jy"))))
+         "1jp27rxks4w29l47k42869hp8hnkzq2rnvsqbr44wd19fqb2zm4b"))))
     (build-system r-build-system)
-    (propagated-inputs `(("r-stringr" ,r-stringr)))
+    (propagated-inputs
+     `(("r-stringr" ,r-stringr)
+       ("r-r6" ,r-r6)))
     (home-page "https://sjp.co.nz/projects/selectr/")
     (synopsis "Translate CSS selectors to XPath expressions")
     (description
@@ -190,14 +193,14 @@ that.")
 (define-public r-readxl
   (package
     (name "r-readxl")
-    (version "1.0.0")
+    (version "1.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "readxl" version))
        (sha256
         (base32
-         "1bf7gxw9r11m4llyymplxiaa4gzgyj4bwmwad5in756pzq3jzmpv"))))
+         "05ii8knrg4jji6h7bv6bfpn279b6x52yrskdx5rv7b0hcpy22gdn"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cellranger" ,r-cellranger)
@@ -404,14 +407,14 @@ initiative to bring PASSTEC 2000 functionalities to R.")
 (define-public r-plogr
   (package
     (name "r-plogr")
-    (version "0.1-1")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "plogr" version))
        (sha256
         (base32
-         "13zliqlbkl8b04k9ga0sx5jsh7k867gracgl84l2a9kcqy9mqx92"))))
+         "0a8dhzlna79ggyhfr0nncgh15a9n6r0dsz664pz0ah323wpblqqf"))))
     (build-system r-build-system)
     (home-page "https://github.com/krlmlr/plogr")
     (synopsis "R bindings for the plog C++ logging library")
@@ -424,13 +427,13 @@ error stream.")
 (define-public r-rcpp
   (package
     (name "r-rcpp")
-    (version "0.12.15")
+    (version "0.12.16")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Rcpp" version))
        (sha256
-        (base32 "1pnv6sl4vdn69ygmgrb1b3gsigfdcfb56wnzikic93l8gkvdsvxv"))))
+        (base32 "1rm8hcy72p1jvxikvmkwg20pjqmvmfvqb45lfghmddp2adp67qfl"))))
     (build-system r-build-system)
     (home-page "http://www.rcpp.org")
     (synopsis "Seamless R and C++ integration")
@@ -448,14 +451,14 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
 (define-public r-bindr
   (package
     (name "r-bindr")
-    (version "0.1")
+    (version "0.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bindr" version))
        (sha256
         (base32
-         "0d95ifm0x4mrfzi20xf39f5pzd7rfzqsld0vjqf6xzga5rhnd8fc"))))
+         "1l05fpk2yql3jka321c0bdgx6mqq9pvfrg2844lbjfpbgjkmqy3w"))))
     (build-system r-build-system)
     (home-page "https://github.com/krlmlr/bindr")
     (synopsis "Parametrized active bindings")
@@ -467,14 +470,14 @@ where the bound function accepts additional arguments.")
 (define-public r-bindrcpp
   (package
     (name "r-bindrcpp")
-    (version "0.2")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "bindrcpp" version))
        (sha256
         (base32
-         "0l1l22zl87wiyl79m3gj2vlxmkhxvrkl4alhyy08h55q7hqs3vyh"))))
+         "0rz4ibjdjsxl99ff3ha79z7cnjmilx4rx58fk9kk7ld9xc4hf4s8"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bindr" ,r-bindr)
@@ -554,14 +557,14 @@ ellipses, circles, cylinders, arrows, ...")
 (define-public r-globaloptions
   (package
     (name "r-globaloptions")
-    (version "0.0.12")
+    (version "0.0.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "GlobalOptions" version))
        (sha256
         (base32
-         "1abpc03cfvazbwj2sx6qgngs5pgpzysvxkana20hyvb4n7ws77f0"))))
+         "04jvha0mafslqz5nr99xjylg9n2x31gj9v4mgyg7qcmfwpqyw3ch"))))
     (properties `((upstream-name . "GlobalOptions")))
     (build-system r-build-system)
     (home-page "https://github.com/jokergoo/GlobalOptions")
@@ -936,19 +939,21 @@ matrices.")
 (define-public r-rmpi
   (package
     (name "r-rmpi")
-    (version "0.6-6")
+    (version "0.6-7")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Rmpi" version))
               (sha256
                (base32
-                "0fm6z049aaq2c9xagm8n64d9560hg9d8hyb0m359fii672nhkz6q"))))
+                "1b62gs7w1xqadqd7ir41jnxlcf14gcqfxd0915kn9ckdlsdrh0sw"))))
     (properties `((upstream-name . "Rmpi")))
     (build-system r-build-system)
     (arguments
      `(#:configure-flags '("--configure-args=\"--with-Rmpi-type=OPENMPI\"")))
     (inputs
      `(("openmpi" ,openmpi)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (home-page "http://www.stats.uwo.ca/faculty/yu/Rmpi")
     (synopsis "R interface to message-passing interface (MPI)")
     (description
@@ -1364,14 +1369,14 @@ available in a vignette.")
 (define-public r-lava
   (package
     (name "r-lava")
-    (version "1.6")
+    (version "1.6.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lava" version))
        (sha256
         (base32
-         "02xf5d968raz9gnq5ywy04wz29xpdyca1hm79vbbg1mcxvzdl1dz"))))
+         "11k9npmzp3nk2qx0h1dwwfc37j4ddd9y54bppxby0ffnb8qlpw1k"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-numderiv" ,r-numderiv)
@@ -1411,14 +1416,14 @@ regression using Kernel Ridge Regression.")
 (define-public r-prodlim
   (package
     (name "r-prodlim")
-    (version "1.6.1")
+    (version "2018.04.18")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "prodlim" version))
        (sha256
         (base32
-         "0m51rkivx1zr6whdqwj66jpnkmp4385m06kkha3dp8qqf4jna9iz"))))
+         "1aslq87sqwikh8chxc378r38146y7kv79zz0kcq3j93ivx7va8jb"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-kernsmooth" ,r-kernsmooth)
@@ -1476,21 +1481,75 @@ Engineering and Computational Finance\" and for managing chronological and
 calendar objects.")
     (license license:gpl2+)))
 
+(define-public r-magic
+  (package
+    (name "r-magic")
+    (version "1.5-8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "magic" version))
+       (sha256
+        (base32
+         "083cgpp3v03li0h8597b3g21pd9lkbmn9pyssblnhc800mpc52vz"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-abind" ,r-abind)))
+    (home-page "https://github.com/RobinHankin/magic.git")
+    (synopsis "Create and investigate magic squares")
+    (description
+     "This package provides a collection of efficient, vectorized algorithms
+for the creation and investigation of magic squares and hypercubes, including
+a variety of functions for the manipulation and analysis of arbitrarily
+dimensioned arrays.")
+    (license license:gpl2)))
+
+(define-public r-geometry
+  (package
+    (name "r-geometry")
+    (version "0.3-6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "geometry" version))
+       (sha256
+        (base32
+         "0s09vi0rr0smys3an83mz6fk41bplxyz4myrbiinf4qpk6n33qib"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-magic" ,r-magic)))
+    (home-page "http://geometry.r-forge.r-project.org/")
+    (synopsis "Mesh generation and surface tesselation")
+    (description
+     "This package makes the qhull library available in R, in a similar manner
+as in Octave.  Qhull computes convex hulls, Delaunay triangulations, halfspace
+intersections about a point, Voronoi diagrams, furthest-site Delaunay
+triangulations, and furthest-site Voronoi diagrams.  It runs in 2-d, 3-d, 4-d,
+and higher dimensions.  It implements the Quickhull algorithm for computing
+the convex hull.  Qhull does not support constrained Delaunay triangulations,
+or mesh generation of non-convex objects, but the package does include some R
+functions that allow for this.  Currently the package only gives access to
+Delaunay triangulation and convex hull computation.")
+    ;; The Qhull sources are included and are distributed under a custom
+    ;; non-copyleft license.  The R sources are released under GPL version 2.
+    (license (list license:gpl2
+                   (license:non-copyleft "http://www.qhull.org/COPYING.txt")))))
+
 (define-public r-ddalpha
   (package
     (name "r-ddalpha")
-    (version "1.3.1.1")
+    (version "1.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ddalpha" version))
        (sha256
         (base32
-         "13w8ir5rd80rka4mq343zd4wn93vfw870lzfqrd3cxgwb1bwcw7y"))))
+         "1i2zcz20zy9xd42kdz09njbkq07mj2pp6f07z6dnwi5hrmvhbh9r"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bh" ,r-bh)
        ("r-class" ,r-class)
+       ("r-geometry" ,r-geometry)
        ("r-mass" ,r-mass)
        ("r-rcpp" ,r-rcpp)
        ("r-robustbase" ,r-robustbase)
@@ -1761,14 +1820,14 @@ color labels, layout, etc.")
 (define-public r-stringdist
   (package
     (name "r-stringdist")
-    (version "0.9.4.6")
+    (version "0.9.4.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringdist" version))
        (sha256
         (base32
-         "0j5b7hr53nr9xq44famkpwzi4khix93ffani5pwldqkf8bpdvhci"))))
+         "1qg80wmcrpkba9njvgjdg15bgw7ddks40kkfh5x61as9lhchy4i4"))))
     (build-system r-build-system)
     (home-page "https://github.com/markvanderloo/stringdist")
     (synopsis "Approximate string matching and string distance functions")
@@ -1986,14 +2045,14 @@ training models for classification or ranking.")
 (define-public r-xts
   (package
     (name "r-xts")
-    (version "0.10-1")
+    (version "0.10-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xts" version))
        (sha256
         (base32
-         "1j9ddh9v9081zrqlpylsk13fldilhjdyaw6r6pa726fhgnrsf8a2"))))
+         "1i11fczks4lh8rpi6xbm9bm7f3jpcp6xw03kv178g3n3361qhmc1"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-zoo" ,r-zoo)))
     (native-inputs `(("gfortran" ,gfortran)))
@@ -2172,19 +2231,20 @@ plotting.  a three dimensional point cloud.")
 (define-public r-ggridges
   (package
     (name "r-ggridges")
-    (version "0.4.1")
+    (version "0.5.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggridges" version))
        (sha256
         (base32
-         "0kfa3icqdalqdg1klxjrhfl7if35d3wnsiyl86bprw5dyqyh3lh3"))))
+         "1znvsbl3px8dddpjgdrygnpz4s685wizi0jnjvx2hrz58i0chjqj"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
        ("r-plyr" ,r-plyr)
-       ("r-scales" ,r-scales)))
+       ("r-scales" ,r-scales)
+       ("r-withr" ,r-withr)))
     (home-page "https://github.com/clauswilke/ggridges")
     (synopsis "Ridgeline plots in ggplot2")
     (description
@@ -2511,14 +2571,14 @@ display.")
 (define-public r-pillar
   (package
     (name "r-pillar")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pillar" version))
        (sha256
         (base32
-         "1ryd7m570y6q3w71wd5dz042b3d0dv24g2rbkw1kdx0n6jj9gsbd"))))
+         "1kmqvny3rw4p5kgxz6mhqfpp7j3nnpp22dfai4kjrr2cfmj6wvb7"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cli" ,r-cli)
@@ -2555,14 +2615,14 @@ terminals.")
 (define-public r-tinytex
   (package
     (name "r-tinytex")
-    (version "0.3")
+    (version "0.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tinytex" version))
        (sha256
         (base32
-         "0mhxlr4709mca9jshnah5i7yjyy6k12s933619p7p9c8nbqj39cn"))))
+         "1pg4jfyvandjwz3lmr38pbqi9d045iwkk3xklhsfhhxq6aviq9p7"))))
     (build-system r-build-system)
     (home-page "https://github.com/yihui/tinytex")
     (synopsis "Helper functions for TeX Live and compiling LaTeX documents")
@@ -2577,14 +2637,14 @@ automatically.")
 (define-public r-metap
   (package
     (name "r-metap")
-    (version "0.8")
+    (version "0.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "metap" version))
        (sha256
         (base32
-         "06ny9zkilawdy0s8yiwhnygs3yppw89bbyf76zgdavykbzscz5lh"))))
+         "03vg0mb6q7j2z0pkxykbak0hcp6dcak7zxs1lw9hswz9kqrq5jhz"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lattice" ,r-lattice)))
@@ -2775,14 +2835,14 @@ Cambridge University Press, 1993.")
 (define-public r-quantmod
   (package
     (name "r-quantmod")
-    (version "0.4-12")
+    (version "0.4-13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "quantmod" version))
        (sha256
         (base32
-         "0y7gh0k1s10vdsfch8777avbhf99mc9crikvx7ahqrw0j631vmhq"))))
+         "16aldg96z7amp5mr90nb8127yy04gxsihfr26km5p3cx3j117yv0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-curl" ,r-curl)
@@ -3323,14 +3383,14 @@ It also includes interpolation functions.")
 (define-public r-psych
   (package
     (name "r-psych")
-    (version "1.7.8")
+    (version "1.8.3.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "psych" version))
        (sha256
         (base32
-         "0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k"))))
+         "1zhp8j81nkzd65168zdw9ylypb9n07ajan21x0wqcn8jdbg970sg"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-foreign" ,r-foreign)
@@ -3354,14 +3414,14 @@ serve as a useful front end for structural equation modeling.")
 (define-public r-gsubfn
   (package
     (name "r-gsubfn")
-    (version "0.6-6")
+    (version "0.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gsubfn" version))
        (sha256
         (base32
-         "196x4c3ihf4q3i0v7b1xa6jm8jjld2rsx00qz03n90wfnjdx5idv"))))
+         "00j6b8b6xsx6v370h220x233rpk6asca78165y3d48jpwvwisdc9"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-proto" ,r-proto)))
     (home-page "http://gsubfn.googlecode.com")
@@ -3704,3 +3764,212 @@ selection, and goodness-of-fit.  Cross-validation tools are also available for
 measuring the accuracy of ABC estimates, and to calculate the
 misclassification probabilities of different models.")
     (license license:gpl3+)))
+
+(define-public r-openxlsx
+  (package
+    (name "r-openxlsx")
+    (version "4.0.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "openxlsx" version))
+       (sha256
+        (base32
+         "1mq4lasp12kc30sxcsmz9gskd114l8s7z7wd6svv2nm8qllrhsqi"))))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-rcpp" ,r-rcpp)))
+    (home-page "https://github.com/awalker89/openxlsx")
+    (synopsis "Read, write and edit XLSX files")
+    (description
+     "This package simplifies the creation of Excel @code{.xlsx} files by
+providing a high level interface to writing, styling and editing worksheets.
+Through the use of Rcpp, read/write times are comparable to the @code{xlsx}
+and @code{XLConnect} packages with the added benefit of removing the
+dependency on Java.")
+    (license license:gpl3)))
+
+(define-public r-rio
+  (package
+    (name "r-rio")
+    (version "0.5.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "rio" version))
+       (sha256
+        (base32
+         "158xg3vj0glk3fslwi6fywwmfym2b6kn3fdmjligdfy5lf68khix"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-curl" ,r-curl)
+       ("r-data-table" ,r-data-table)
+       ("r-foreign" ,r-foreign)
+       ("r-haven" ,r-haven)
+       ("r-openxlsx" ,r-openxlsx)
+       ("r-readxl" ,r-readxl)
+       ("r-tibble" ,r-tibble)))
+    (home-page "https://github.com/leeper/rio")
+    (synopsis "Swiss-army knife for data I/O")
+    (description
+     "This package provides streamlined data import and export infrastructure
+by making assumptions that the user is probably willing to make: @code{import}
+and @code{export} determine the data structure from the file extension,
+reasonable defaults are used for data import and export (e.g.,
+@code{stringsAsFactors=FALSE}), web-based import is natively
+supported (including from SSL/HTTPS), compressed files can be read directly
+without explicit decompression, and fast import packages are used where
+appropriate.  An additional convenience function, @code{convert}, provides a
+simple method for converting between file types.")
+    (license license:gpl2)))
+
+(define-public r-maptools
+  (package
+    (name "r-maptools")
+    (version "0.9-2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "maptools" version))
+       (sha256
+        (base32
+         "075lmb3b62171cw2dg8fv1vwmvfzg39r1ji7jwb8s5k9dz88ry1v"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-foreign" ,r-foreign)
+       ("r-lattice" ,r-lattice)
+       ("r-sp" ,r-sp)))
+    (home-page "http://r-forge.r-project.org/projects/maptools/")
+    (synopsis "Tools for reading and handling spatial objects")
+    (description
+     "This package provides a set of tools for manipulating and reading
+geographic data, in particular ESRI Shapefiles.  It includes binary access to
+GSHHG shoreline files.  The package also provides interface wrappers for
+exchanging spatial objects with other R packages.")
+    ;; The C source files from shapelib are released under the Expat license.
+    ;; The R code is released under GPL version 2 or later.
+    (license (list license:gpl2+
+                   license:expat))))
+
+(define-public r-later
+  (package
+    (name "r-later")
+    (version "0.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "later" version))
+       (sha256
+        (base32
+         "0z9jymmclkq9zcg1fd8p6gsnm5z1sn3n9pfz3bs03qjrkbizgrvz"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rlang" ,r-rlang)))
+    (home-page "https://github.com/r-lib/later")
+    (synopsis "Utilities for delaying function execution")
+    (description
+     "This package provides tools to execute arbitrary R or C functions some
+time after the current time, after the R execution stack has emptied.")
+    (license license:gpl2+)))
+
+(define-public r-promises
+  (package
+    (name "r-promises")
+    (version "1.0.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "promises" version))
+       (sha256
+        (base32
+         "0n2mlv6bvfb4yhgcml696l9vkbw21pz0smqylivr606z99rwgny2"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-later" ,r-later)
+       ("r-magrittr" ,r-magrittr)
+       ("r-r6" ,r-r6)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rlang" ,r-rlang)))
+    (home-page "https://rstudio.github.io/promises")
+    (synopsis "Abstractions for promise-based asynchronous programming")
+    (description
+     "This package provides fundamental abstractions for doing asynchronous
+programming in R using promises.  Asynchronous programming is useful for
+allowing a single R process to orchestrate multiple tasks in the background
+while also attending to something else.  Semantics are similar to JavaScript
+promises, but with a syntax that is idiomatic R.")
+    (license license:expat)))
+
+(define-public r-dosnow
+  (package
+    (name "r-dosnow")
+    (version "1.0.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "doSNOW" version))
+       (sha256
+        (base32
+         "13ir4a8252h4yvp5ir9xnwack1kn58i4ny6sf2qdc12zspn3850n"))))
+    (properties `((upstream-name . "doSNOW")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-foreach" ,r-foreach)
+       ("r-iterators" ,r-iterators)
+       ("r-snow" ,r-snow)))
+    (home-page "https://cran.r-project.org/web/packages/doSNOW")
+    (synopsis "Foreach parallel adaptor for the snow package")
+    (description
+     "This package provides a parallel backend for the @code{%dopar%} function
+using the @code{snow} package.")
+    (license license:gpl2)))
+
+(define-public r-snowfall
+  (package
+   (name "r-snowfall")
+   (version "1.84-6.1")
+   (source (origin
+            (method url-fetch)
+            (uri (cran-uri "snowfall" version))
+            (sha256
+             (base32 "13941rlw1jsdjsndp1plzj1cq5aqravizkrqn6l25r9im7rnsi2w"))))
+   (build-system r-build-system)
+   (propagated-inputs
+    `(("r-snow" ,r-snow)))
+   (home-page "http://cran.r-project.org/web/packages/snowfall/")
+   (synopsis "Easier cluster computing")
+   (description "This package is a usability wrapper around snow for easier
+development of parallel R programs.  This package offers e.g. extended error
+checks, and additional functions.  All functions work in sequential mode, too,
+if no cluster is present or wished.  The package is also designed as connector
+to the cluster management tool @code{sfCluster}, but can also used without
+it.")
+   (license license:gpl2+)))
+
+(define-public r-codedepends
+  (package
+    (name "r-codedepends")
+    (version "0.5-3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "CodeDepends" version))
+       (sha256
+        (base32
+         "03p82s0abca2jimzqvxdzykfzca7c7fhm5xsjxybcksr4gggr5sc"))))
+    (properties `((upstream-name . "CodeDepends")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-codetools" ,r-codetools)
+       ("r-xml" ,r-xml)))
+    (home-page "http://cran.r-project.org/web/packages/CodeDepends")
+    (synopsis "Analysis of R code for reproducible research and code comprehension")
+    (description
+     "This package provides tools for analyzing R expressions or blocks of
+code and determining the dependencies between them.  It focuses on R scripts,
+but can be used on the bodies of functions.  There are many facilities
+including the ability to summarize or get a high-level view of code,
+determining dependencies between variables, code improvement suggestions.")
+    ;; Any version of the GPL
+    (license (list license:gpl2+ license:gpl3+))))
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index d3246ab36f..a9cc3acba0 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -616,7 +616,7 @@ HP@tie{}LaserJet, and possibly other printers.  See @file{README} for details.")
 (define-public escpr
   (package
     (name "escpr")
-    (version "1.6.18")
+    (version "1.6.20")
     ;; XXX: This currently works.  But it will break as soon as a newer
     ;; version is available since the URLs for older versions are not
     ;; preserved.  An alternative source will be added as soon as
@@ -624,12 +624,12 @@ HP@tie{}LaserJet, and possibly other printers.  See @file{README} for details.")
     (source (origin
               (method url-fetch)
               ;; The uri has to be chopped up in order to satisfy guix lint.
-              (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/06/86/80/"
-                                  "9955e43f3aead20366851d24cea65de779cf5aa7/"
-                                  "epson-inkjet-printer-escpr-1.6.18-1lsb3.2.tar.gz"))
+              (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/07/16/23/"
+                                  "804253d188a31ae6a0f2722648248ef952afedfb/"
+                                  "epson-inkjet-printer-escpr-1.6.20-1lsb3.2.tar.gz"))
               (sha256
                (base32
-                "137jf52dhi5v2rkmlw4b73f7r7f98m61dpgsb7yvqs2f0yhsjsb3"))))
+                "19800pl7kbbgdzbsy9ijmd7dm3ly4kr2h1dxypqpd075g6n0i770"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 01b897da22..441a6977f6 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -846,7 +846,7 @@ types are supported, as is encryption.")
 (define-public rocksdb
   (package
     (name "rocksdb")
-    (version "5.10.4")
+    (version "5.12.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/facebook/rocksdb"
@@ -854,7 +854,7 @@ types are supported, as is encryption.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0hp7jxr99vyc57n708hiqk4lks9a9zmjgfjc21mx6v1rmabj2944"))
+                "1jcwgsjhk4hdfr2wf549blkgb89vwcdb5i2ahhqs6zf3mm20i3bf"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 1f238637a4..2ff26aebae 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -169,7 +170,7 @@ tools that process C/C++ code.")
       (inputs
        `(("custom-qemu"
           ;; The afl-qemu tool builds qemu 2.10.0 with a few patches applied.
-          ,(package (inherit (@@ (gnu packages bootloaders) qemu-minimal-2.10))
+          ,(package (inherit qemu-minimal-2.10)
              (name "afl-qemu")
              (inputs
               `(("afl-src" ,source)
diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm
index d09280a3d4..ec85831d64 100644
--- a/gnu/packages/dictionaries.scm
+++ b/gnu/packages/dictionaries.scm
@@ -211,7 +211,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
 (define-public grammalecte
   (package
     (name "grammalecte")
-    (version "0.6.3.1")
+    (version "0.6.4")
     (source
      (origin
        (method url-fetch/zipbomb)
@@ -219,21 +219,8 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
                            "Grammalecte-fr-v" version ".zip"))
        (sha256
         (base32
-         "0jlzrhpx9qvjdq679w188p86x09yfjf3l0h4scjl9w26yyp53gr8"))))
+         "13var1gi3gb2bwi7k21bn2pla0rs17cd7kc3mc5a2nsyqgsrzxfw"))))
     (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-setup
-           ;; Fix typos in "setup.py".  In particular, add the new
-           ;; "graphspell" module introduced in 0.6.2.  Reported upstream:
-           ;; <https://www.dicollecte.org/thread.php?prj=fr&t=709>
-           (lambda _
-             (substitute* "setup.py"
-               (("packages=\\['grammalecte', 'grammalecte.fr'\\],")
-                "packages=['grammalecte', 'grammalecte.fr', 'grammalecte.graphspell'],")
-               (("_dictionaries/French.bdic") "graphspell/_dictionaries/fr.bdic"))
-             #t)))))
     (home-page "https://www.dicollecte.org")
     (synopsis  "French spelling and grammar checker")
     (description "Grammalecte is a grammar checker dedicated to the French
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 595000bf88..d7bf726830 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
+;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +36,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages gettext)
@@ -502,3 +504,29 @@ your data as it changes, without having to re-checksum unchanged data.
 
 Duperemove can also take input from the @command{fdupes} program.")
     (license license:gpl2)))
+
+(define-public ranger
+  (package
+    (name "ranger")
+    (version "1.9.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://ranger.github.io/"
+                                  "ranger-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1lnzkrxcnlwnyi3z0v8ybyp8d5rm26qm35rr68kbs2lbs06inha0"))))
+    (build-system python-build-system)
+    (native-inputs                      ;for tests
+     `(("python-pytest" ,python-pytest)
+       ("python-pylint" ,python-pylint)
+       ("python-flake8" ,python-flake8)
+       ("which" ,which)))
+    (arguments '(#:test-target "test"))
+    (home-page "https://ranger.github.io/")
+    (synopsis "Console file manager")
+    (description "ranger is a console file manager with Vi key bindings.  It
+provides a minimalistic and nice curses interface with a view on the directory
+hierarchy.  It ships with @code{rifle}, a file launcher that is good at
+automatically finding out which program to use for what file type.")
+    (license license:gpl3)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index e8fb1e64d6..58f06c3106 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -107,29 +107,54 @@ of categories with some of the activities available in that category.
 (define-public gcompris-qt
   (package
     (name "gcompris-qt")
-    (version "0.70")
+    (version "0.90")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "http://gcompris.net/download/qt/src/gcompris-qt-"
+               "https://gcompris.net/download/qt/src/gcompris-qt-"
                version ".tar.xz"))
         (sha256
          (base32
-          "01r7i8dmwb2nlfyp0y0mzs8yydmvn5gq7xn1w7g21lysak1mliwa"))))
+          "1i5adxnhig849qxwi3c4v7r84q6agx1zxkd69fh4y7lcmq2qiaza"))))
     (build-system cmake-build-system)
     (arguments
-      ;; Qml_box2d is unmaintained and not actually required for building
-     '(#:configure-flags (list "-DQML_BOX2D_MODULE=disabled")
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (wrap-program (string-append out "/bin/gcompris-qt")
+                 `("QT_PLUGIN_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/plugins"))
+                         '("qtbase" "qtdeclarative" "qtmultimedia" "qtsvg")))
+                 `("QML2_IMPORT_PATH" ":" prefix
+                   ,(map (lambda (label)
+                           (string-append (assoc-ref inputs label)
+                                          "/lib/qt5/qml"))
+                         '("qtdeclarative" "qtgraphicaleffects"
+                           "qtmultimedia" "qtquickcontrols"))))
+               #t))))
+       #:configure-flags (list "-DQML_BOX2D_MODULE=disabled")
        #:tests? #f)) ; no test target
     (native-inputs
      `(("extra-cmake-modules" ,extra-cmake-modules)
        ("gettext" ,gettext-minimal)
-       ("perl" ,perl)))
+       ("perl" ,perl)
+       ("qttools" ,qttools)))
     (inputs
      `(("python-2" ,python-2)
-       ("qt" ,qt))) ; Cannot find qtquick at runtime with modular qt.
-    (home-page "http://gcompris.net/index-en.html")
+       ("qtbase" ,qtbase)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtgraphicaleffects" ,qtgraphicaleffects)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtquickcontrols" ,qtquickcontrols)
+       ("qtsensors" ,qtsensors)
+       ("qtsvg" ,qtsvg)
+       ("qtxmlpatterns" ,qtxmlpatterns)))
+    (home-page "https://gcompris.net/index-en.html")
     (synopsis "Educational games for small children")
     (description
      "Gcompris offers a large collection of educational games for small
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index bc98284686..3bd15989ad 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Chris Marusich <cmmarusich@gmail.com>
@@ -321,14 +321,14 @@ editor (without an X toolkit)" )
 (define-public geiser
   (package
     (name "geiser")
-    (version "0.9")
+    (version "0.10")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah/geiser/" version
                                  "/geiser-" version ".tar.gz"))
              (sha256
               (base32
-               "0phz9d8wjk4p13vqannv0003fwh8qqrp0gfzcs2hgq1mrmv1srss"))))
+               "0pj3l7p8d60c9b4vfprnv6g5l61d74pls4b5dvd84cn4ky9mzwjv"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -412,7 +412,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
 (define-public emacs-with-editor
   (package
     (name "emacs-with-editor")
-    (version "2.7.0")
+    (version "2.7.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -421,7 +421,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0kah7pv211zx9fsb5g4hd51bqcq2bxd1chdykd488ihvfz1l5y14"))))
+                "1jqi3axcs0cb1pcv1jxxc2a09v6psrm33wwl6hmyshzl8kbxs2mv"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)))
@@ -561,7 +561,7 @@ support for Git-SVN.")
 (define-public emacs-magit-popup
   (package
     (name "emacs-magit-popup")
-    (version "2.12.0")
+    (version "2.12.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -570,7 +570,7 @@ support for Git-SVN.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1dnk611f7lww6rb03hk8ijg2jwxx9f26pjfff4bwjmnjz7hnd6vz"))))
+                "1kz6vj67awkwf9y2wj6m3l2him3znm08z6bkdvnmfr6rwd96dr39"))))
     (build-system emacs-build-system)
     (arguments
      `(#:phases
@@ -4536,6 +4536,31 @@ main features of Vim, and provides facilities for writing custom
 extensions.")
     (license license:gpl3+)))
 
+(define-public emacs-evil-collection
+  (let ((commit "f40704a57fd33b4bfad64147a2b771fc8961fdfc")
+        (revision "1"))
+    (package
+      (name "emacs-evil-collection")
+      (version (git-version "20180425" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/emacs-evil/evil-collection")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0qn19k0f3isnbi1hkmcf3qjxbyvp23m5ak5ny7623qgwb2nwz1l5"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-evil" ,emacs-evil)))
+      (home-page "https://github.com/emacs-evil/evil-collection")
+      (synopsis "Collection of Evil bindings for many major and minor modes")
+      (description "This is a collection of Evil bindings for the parts of
+Emacs that Evil does not cover properly by default, such as @code{help-mode},
+@code{M-x calendar}, Eshell and more.")
+      (license license:gpl3+))))
+
 (define-public emacs-goto-chg
   (package
     (name "emacs-goto-chg")
@@ -4627,14 +4652,14 @@ passive voice.")
     (name "emacs-org")
     ;; emacs-org-contrib inherits from this package.  Please update its sha256
     ;; checksum as well.
-    (version "9.1.10")
+    (version "9.1.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://elpa.gnu.org/packages/org-"
                                   version ".tar"))
               (sha256
                (base32
-                "01vvq6m7r2ifyflvq5ga241qvl4j62smz0zr6jljk56b6nqi20lm"))))
+                "0i27g5qbkfqbxhgiz917pjwkxg3rwid99d0ickwx43bzq0zi7c1m"))))
     (build-system emacs-build-system)
     (home-page "https://orgmode.org/")
     (synopsis "Outline-based notes management and organizer")
@@ -4648,14 +4673,14 @@ reproducible research.")
   (package
     (inherit emacs-org)
     (name "emacs-org-contrib")
-    (version "20180416")
+    (version "20180423")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
                                   version ".tar"))
               (sha256
                (base32
-                "1f5zdfsa1fcf66hk3w57wh5385069yg0b86h57jgkcbmxkcmj6ij"))))
+                "1aggvdy74q8p79xyc19zring5gjvlzp6lbsq8ar319zkmcjrapqd"))))
     (arguments
      `(#:modules ((guix build emacs-build-system)
                   (guix build utils)
@@ -5201,6 +5226,34 @@ To make YASnippet aware of these snippets, add the above directory to
 Yasnippet.")
       (license license:gpl2+))))
 
+(define-public emacs-helm-system-packages
+  (let ((commit "986b7bd360a705053500c4ce2c9bea03dd7b24a6")
+        (revision "1"))
+    (package
+      (name "emacs-helm-system-packages")
+      (version (git-version "1.9.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/emacs-helm/helm-system-packages")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "19iklhpxgh5xx6h4dysf58nd46lmyb46xj601lf7kbwl6yq0y61f"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-helm" ,emacs-helm)))
+      (home-page "https://github.com/emacs-helm/helm-system-packages")
+      (synopsis "Helm System Packages is an interface to your package manager")
+      (description "List all available packages in Helm (with installed
+packages displayed in their own respective face).  Fuzzy-search, mark and
+execute the desired action over any selections of packages: Install,
+uninstall, display packages details (in Org Mode) or insert details at point,
+find files owned by packages...  And much more, including performing all the
+above over the network.")
+      (license license:gpl3+))))
+
 (define-public emacs-memoize
   (package
     (name "emacs-memoize")
@@ -6834,15 +6887,17 @@ well as Github-style emojis like @code{:smile:}.  It provides a minor mode
 (define-public emacs-websocket
   (package
     (name "emacs-websocket")
-    (version "1.8")
+    (version "1.10")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://elpa.gnu.org/packages/websocket-"
-                           version ".tar"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ahyatt/emacs-websocket.git")
+             (commit version)))
+       (file-name (string-append name "-" version "-checkout"))
        (sha256
         (base32
-         "0dcxmnnm8z7cvsc7nkb822a1g6w03klp7cijjnfq0pz84p3w9cd9"))))
+         "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52"))))
     (build-system emacs-build-system)
     (home-page "http://elpa.gnu.org/packages/websocket.html")
     (synopsis "Emacs WebSocket client and server")
@@ -6906,8 +6961,8 @@ want to use it.")
     (license license:gpl3+)))
 
 (define-public emacs-slack
-  (let ((commit "92724604879149cf331fa8778d089813a9d4ce1a")
-        (revision "3"))
+  (let ((commit "d90395482d26175ce38fd935e978c428be8af9a0")
+        (revision "4"))
     (package
       (name "emacs-slack")
       (version (string-append "0-" revision "." (string-take commit 7)))
@@ -6919,7 +6974,7 @@ want to use it.")
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "1fdf8s3ca356k7m7f5kqzfamfl2nrqjj2pynjv3kkrr0ad15nxmw"))))
+                  "14f6wjcbl09cfd3yngr6m1k1d4nr764im666mbnqbk9nmqf50nib"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("emacs-alert" ,emacs-alert)
@@ -7943,3 +7998,25 @@ name and password.  To skip it press a @key{Return} key.
 You could get a Epkg package list by invoking @code{epkg-list-packages} in
 Emacs.")
       (license license:gpl3+))))
+
+(define-public emacs-elisp-slime-nav
+  (package
+    (name "emacs-elisp-slime-nav")
+    (version "0.9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/purcell/elisp-slime-nav/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1vq7ym1q47p97gxrv45c9gm96d23xbp237vkmakikj6grngxjfb2"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/purcell/elisp-slime-nav")
+    (synopsis "Make @code{M-.} and @code{M-,} work for elisp like they do in SLIME")
+    (description
+     "This package provides SLIME's convenient @code{M-.}and @code{M-,} navigation
+in @code{emacs-lisp-mode}, together with an elisp equivalent of
+@code{slime-describe-symbol}.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index a502af9c09..7943d51cf4 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -186,7 +186,7 @@
          ("bluez" ,bluez)
          ("curl" ,curl)
          ("eudev" ,eudev)
-         ("ffmpeg" ,ffmpeg)
+         ("ffmpeg" ,ffmpeg-3.4)
          ("font-wqy-microhei" ,font-wqy-microhei)
          ("freetype" ,freetype)
          ("glew" ,glew)
@@ -1046,7 +1046,7 @@ emulation community.  It provides highly accurate emulation.")
 (define-public retroarch
   (package
     (name "retroarch")
-    (version "1.7.1")
+    (version "1.7.2")
     (source
      (origin
        (method url-fetch)
@@ -1054,7 +1054,7 @@ emulation community.  It provides highly accurate emulation.")
                            version ".tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "1wykv0w0kdlh7lh0k1ig0lpk5vh4c7r19jlfa9103jmjlryrq679"))))
+        (base32 "1y9fakr41h6xpddpkj12mcw1kgldvy76nzvxm5jk5v7iyiks4c6k"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f                      ; no tests
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index e6a29554f1..ed0239a613 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -585,7 +585,9 @@ as well as pick-place files.")
                 (file-name (git-file-name name version))
                 (snippet
                  ;; Remove bundled catch since we provide our own.
-                 '(delete-file "libfive/test/catch.hpp"))))
+                 '(begin
+                    (delete-file "libfive/test/catch.hpp")
+                    #t))))
       (build-system cmake-build-system)
       (arguments
        `(#:test-target "libfive-test"
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index ae5deeccb5..ef2be9ad41 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -49,6 +49,7 @@
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages pdf)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages photo)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
@@ -176,7 +177,7 @@ removable devices or support for multimedia.")
 (define-public terminology
   (package
     (name "terminology")
-    (version "1.1.1")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               (uri
@@ -184,25 +185,17 @@ removable devices or support for multimedia.")
                               "terminology/terminology-" version ".tar.xz"))
               (sha256
                (base32
-                "05ncxvzb9rzkyjvd95hzn8lswqdwr8cix6rd54nqn9559jibh4ns"))
+                "0kw34l5lahn1qaks3ah6x8k41d6hfywpqfak2p7qq1z87zj506mx"))
               (modules '((guix build utils)))
               ;; Remove the bundled fonts.
               ;; TODO: Remove bundled lz4.
               (snippet
                '(begin
                   (delete-file-recursively "data/fonts")
-                  (substitute* '("data/Makefile.in" "data/Makefile.am")
-                    (("fonts") ""))
-                  (substitute* "configure"
-                    (("data/fonts/Makefile") "")
-                    (("\\\"data/fonts/Makefile") "# \"data/fonts/Makefile"))
-                  (substitute* '("data/themes/Makefile.in"
-                                 "data/themes/Makefile.am"
-                                 "data/themes/nyanology/Makefile.in"
-                                 "data/themes/nyanology/Makefile.am")
-                    (("-fd \\$\\(top_srcdir\\)/data/fonts") ""))
+                  (substitute* "data/meson.build"
+                    (("subdir\\('fonts'\\)") ""))
                   #t))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
@@ -211,6 +204,7 @@ removable devices or support for multimedia.")
            (lambda _ (setenv "HOME" "/tmp") #t)))))
     (native-inputs
      `(("gettext" ,gettext-minimal)
+       ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("efl" ,efl)))
@@ -257,7 +251,7 @@ Libraries with some extra bells and whistles.")
 (define-public enlightenment
   (package
     (name "enlightenment")
-    (version "0.22.2")
+    (version "0.22.3")
     (source (origin
               (method url-fetch)
               (uri
@@ -265,7 +259,7 @@ Libraries with some extra bells and whistles.")
                               name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0b33w75s4w7xmz9cv8dyp8vy2gcffnrvjys20fhcpw26abw1wn2d"))))
+                "16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--enable-mount-eeze")
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 2dad010587..49e391f9db 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -348,7 +348,7 @@ of a the system to know what users are logged in, and where.")
 (define-public packagekit
   (package
     (name "packagekit")
-    (version "1.1.5")
+    (version "1.1.10")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -357,7 +357,7 @@ of a the system to know what users are logged in, and where.")
                    "PackageKit-" version ".tar.xz"))
              (sha256
               (base32
-               "035pqxgkyki813hyw2frrbpfllq113zfk5qcp9wvsq5lsp74ix2h"))))
+               "1msfmb22cm4s3l6vsbr86b8s0v897sy6gcga3qg87z7640a0di2b"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 3b7db9caef..3ff27b4a1b 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1059,16 +1060,34 @@ games.")
 (define-public godot
   (package
     (name "godot")
-    (version "3.0.1")
+    (version "3.0.2")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://github.com/godotengine/godot/archive/"
                               version "-stable.tar.gz"))
-              (file-name (string-append name "-" version))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0k8c12nzhl98i9il9s3awbwdamkrwxk0s47jr7n8a3z93rpszd2p"))))
+                "0ldnk3j4w2kh454mzclmq8nk7zqrn758yrqq85i4kzljpkf93g0m"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Drop libraries that we take from Guix.  Note that some
+                  ;; of these may be modified; see "thirdparty/README.md".
+                  (with-directory-excursion "thirdparty"
+                    (for-each delete-file-recursively
+                              '("freetype"
+                                "libogg"
+                                "libpng"
+                                "libtheora"
+                                "libvorbis"
+                                "libvpx"
+                                "libwebp"
+                                "openssl"
+                                "opus"
+                                "zlib"))
+                    #t)))))
     (build-system scons-build-system)
     (arguments
      `(#:scons ,scons-python2
@@ -1086,6 +1105,7 @@ games.")
                            "builtin_libpng=no"
                            "builtin_libtheora=no"
                            "builtin_libvorbis=no"
+                           "builtin_libvpx=no"
                            "builtin_libwebp=no"
                            "builtin_openssl=no"
                            "builtin_opus=no"
@@ -1141,6 +1161,7 @@ games.")
               ("glu" ,glu)
               ("libtheora" ,libtheora)
               ("libvorbis" ,libvorbis)
+              ("libvpx" ,libvpx)
               ("libwebp" ,libwebp)
               ("libx11" ,libx11)
               ("libxcursor" ,libxcursor)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index f1f76258f9..b62d679a91 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4913,7 +4913,8 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
         ,(origin
            (method url-fetch)
            (uri (string-append "https://bitbucket.org/shlomif/shlomif-cmake-modules/"
-                               "raw/default/shlomif-cmake-modules/Shlomif_Common.cmake"))
+                               "raw/c505713d7a7cda608f97f01577e5868a711b883e/"
+                               "shlomif-cmake-modules/Shlomif_Common.cmake"))
            (sha256
             (base32 "0kx9s1qqhhzprp1w3b67xmsns0n0v506bg5hgrshxaxpy6lqiwb2"))))))
     (home-page "http://www.shlomifish.org/open-source/projects/fortune-mod/")
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 9f31d90619..75ed83f8a4 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -500,14 +500,14 @@ development.")
 (define-public r-maps
   (package
    (name "r-maps")
-   (version "3.2.0")
+   (version "3.3.0")
    (source
      (origin
        (method url-fetch)
        (uri (cran-uri "maps" version))
        (sha256
         (base32
-         "0577f3b5d3a7djl7r0miy9mzr6xq6jb32p8nyrma7m2azasbwyj3"))))
+         "05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"))))
    (build-system r-build-system)
    (home-page "https://cran.r-project.org/web/packages/maps")
    (synopsis "Draw geographical maps")
@@ -519,14 +519,14 @@ Projection code and larger maps are in separate packages ('mapproj' and
 (define-public r-mapproj
   (package
    (name "r-mapproj")
-   (version "1.2-5")
+   (version "1.2.6")
    (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mapproj" version))
        (sha256
         (base32
-         "0rjz37r4rizk2c6jaf54f0kfb60dqv6b262cnhiwjl55d4x6l0pk"))))
+         "1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"))))
    (build-system r-build-system)
    (propagated-inputs `(("r-maps" ,r-maps)))
    (home-page "https://cran.r-project.org/web/packages/mapproj")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4c9cdef7cf..319c2e6fd0 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -533,7 +533,7 @@ and keep up to date translations of documentation.")
 (define-public gnome-disk-utility
   (package
     (name "gnome-disk-utility")
-    (version "3.26.2")
+    (version "3.28.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -541,7 +541,7 @@ and keep up to date translations of documentation.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1wjnw9hpjqyhrr116491rfzd0837g6jqvzq2z1ndx2sdqv19caxa"))))
+                "09dmknfas8iifv6k5jb4a9ag57s8awrn0f26fd1qlg0mbfjlnfd6"))))
     (build-system meson-build-system)
     (native-inputs
      `(("glib:bin" ,glib "bin")
@@ -725,7 +725,7 @@ forgotten when the session ends.")
 (define-public evince
   (package
     (name "evince")
-    (version "3.28.0")
+    (version "3.28.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnome/sources/" name "/"
@@ -733,7 +733,7 @@ forgotten when the session ends.")
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
-               "1a3kcls18dcz1lj8hrx8skcli9xxfyi71c17xjwayh71cm5jc8zs"))))
+               "1qbk1x2c7iacmmfwjzh136v2sdacrkqn9d6bnqid7xn9hlnx4m89"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--disable-nautilus")
@@ -2062,7 +2062,7 @@ libraries written in C.")
 (define-public vte
   (package
     (name "vte")
-    (version "0.50.2")
+    (version "0.52.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -2070,7 +2070,7 @@ libraries written in C.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1kq9bxf7waap190zx5k78d21y3l31npblrnhfkxz4j7zz9mk3pbr"))))
+                "1lva70inb5y8p42rg95fb88z2ybwcz0lybla3ixbgp2sj0s4rzdh"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
@@ -2730,7 +2730,7 @@ more fun.")
 (define-public gnome-terminal
   (package
     (name "gnome-terminal")
-    (version "3.26.2")
+    (version "3.28.1")
     (source
      (origin
        (method url-fetch)
@@ -2739,7 +2739,7 @@ more fun.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1c05f2lrlm8jfx2394k6nabg4ml07lqasxaja5v98mhlm0aa96rs"))))
+         "1hqwh12hiy73mazqgvyrq8jk4c669x2fb4nh8mwby3qbk8ca19pp"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags
@@ -6302,7 +6302,7 @@ existing databases over the internet.")
 (define-public gnome-tweak-tool
   (package
     (name "gnome-tweak-tool")
-    (version "3.24.1")
+    (version "3.26.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gnome-tweak-tool/"
@@ -6312,7 +6312,7 @@ existing databases over the internet.")
                         (search-patch "gnome-tweak-tool-search-paths.patch")))
               (sha256
                (base32
-                "0rgmm7n6jwc5hz64sprm4jxnky62hw839a7r18rn1mj884vnn8hr"))))
+                "1pq5a0kzh1sz7s7ax5c7p6212k9d51nk5bfvjfyqn99cs928187x"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      `(#:configure-flags '("--localstatedir=/tmp"
@@ -6320,6 +6320,16 @@ existing databases over the internet.")
        #:imported-modules ((guix build python-build-system)
                            ,@%glib-or-gtk-build-system-modules)
        #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'build
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (invoke "meson" "build"
+                                      "--prefix" (assoc-ref outputs "out"))))
+                  (replace 'check
+                    (lambda _ (invoke "ninja" "-C" "build" "test")))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (invoke "ninja" "-C" "build" "install")))
                   (add-after 'install 'wrap-program
                     (lambda* (#:key outputs #:allow-other-keys)
                       (let ((out               (assoc-ref outputs "out"))
@@ -6330,17 +6340,21 @@ existing databases over the internet.")
                   (add-after 'install 'wrap
                     (@@ (guix build python-build-system) wrap)))))
     (native-inputs
-     `(("intltool" ,intltool)
+     `(("gtk+:bin" ,gtk+ "bin")         ; For gtk-update-icon-cache
+       ("intltool" ,intltool)
+       ("meson" ,meson-for-build)
+       ("ninja" ,ninja)
        ("pkg-config" ,pkg-config)))
     (inputs
-     `(("python" ,python-2)
-       ("python2-pygobject" ,python2-pygobject)
-       ("gnome-desktop" ,gnome-desktop)
-       ("libsoup" ,libsoup)
-       ("libnotify" ,libnotify)
+     `(("gnome-desktop" ,gnome-desktop)
+       ("gtk+" ,gtk+)
        ("gobject-introspection" ,gobject-introspection)
        ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
-       ("gtk+" ,gtk+)))
+       ("libnotify" ,libnotify)
+       ("libsoup" ,libsoup)
+       ("nautilus" ,nautilus)
+       ("python" ,python)
+       ("python-pygobject" ,python-pygobject)))
     (synopsis "Customize advanced GNOME 3 options")
     (home-page "https://wiki.gnome.org/action/show/Apps/GnomeTweakTool")
     (description
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 939bdf9148..c74ccc9229 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -88,7 +88,7 @@
     `(("exiv2" ,exiv2)
       ("bzip2" ,bzip2)
       ("flac" ,flac)
-      ("ffmpeg" ,ffmpeg)
+      ("ffmpeg" ,ffmpeg-3.4)
       ("file" ,file)                           ;libmagic, for the MIME plug-in
       ("glib" ,glib)
       ("gstreamer" ,gstreamer)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 80bae77ca3..17207e2173 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -797,7 +797,7 @@ passphrase when @code{gpg} is run and needs it.")))
 (define-public paperkey
   (package
     (name "paperkey")
-    (version "1.3")
+    (version "1.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.jabberwocky.com/"
@@ -805,7 +805,7 @@ passphrase when @code{gpg} is run and needs it.")))
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1yybj8bj68v4lxwpn596b6ismh2fyixw5vlqqg26byrn4d9dfmsv"))))
+                "1prd2jaf4zjad3xhv160hmi5n408ssljfg7iz90jxs9w111pjwy4"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 485aa02c46..c6fc68468f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -195,7 +195,7 @@
        ;; https://github.com/golang/go/issues/24046
        ("gcc:lib" ,gcc-6 "lib")))
     (native-inputs
-     `(("pkg-config" ,%pkg-config)
+     `(("pkg-config" ,pkg-config)
        ("which" ,which)
        ("net-base" ,net-base)
        ("perl" ,perl)))
@@ -214,7 +214,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.4)
     (name "go")
-    (version "1.9.4")
+    (version "1.9.5")
     (source
      (origin
        (method url-fetch)
@@ -222,7 +222,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "01nw8rfvf10naja0wq0kabsm012sbqq76hd4b8c7g28n6ggshwq5"))))
+         "1g4zqhbh1yw3gnb400szzwrdz0k5s3h0h5nc35xgmn5v69zvphpi"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.4)
        ((#:phases phases)
@@ -292,6 +292,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                     ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
                     ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
+                    ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
                     ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
@@ -382,7 +383,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
   (package
     (inherit go-1.9)
     (name "go")
-    (version "1.10")
+    (version "1.10.1")
     (source
      (origin
        (method url-fetch)
@@ -390,7 +391,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                            name version ".src.tar.gz"))
        (sha256
         (base32
-         "093z1h0gmi458kv7smpx0ph6jm7ss9mzxa432kysbz85jhl4kppk"))))
+         "1p1xyyxicp752n9wj10sljjl6mjxpfsplkhx74fzzjrwdkzlk52q"))))
     (arguments
      (substitute-keyword-arguments (package-arguments go-1.9)
        ((#:phases phases)
@@ -460,6 +461,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
                     ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
                     ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
+                    ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
                     ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
                     ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index 74fbe9e84e..a9ee949855 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -98,23 +98,24 @@ more.")
 (define-public r-igraph
   (package
     (name "r-igraph")
-    (version "1.1.2")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "igraph" version))
        (sha256
         (base32
-         "1v26wyk52snh8z6m5p7yqwcd9dbqifhm57j112i9x53ppi0npcc9"))))
+         "1hcr6b1lz030lgay1bz8y8sxaf2j93ds8n8gsqr6qhssz141hd2m"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
     (inputs
      `(("gmp" ,gmp)
-       ("libxml2" ,libxml2)))
+       ("glpk" ,glpk)
+       ("libxml2" ,libxml2)
+       ("zlib" ,zlib)))
     (propagated-inputs
-     `(("r-irlba" ,r-irlba)
-       ("r-magrittr" ,r-magrittr)
+     `(("r-magrittr" ,r-magrittr)
        ("r-matrix" ,r-matrix)
        ("r-pkgconfig" ,r-pkgconfig)))
     (home-page "http://igraph.org")
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 58b0abcecf..cb72d25921 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -404,7 +404,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
        ("python" ,python)))
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-3.4)
        ("orc" ,orc)
        ("zlib" ,zlib)))
     (home-page "https://gstreamer.freedesktop.org/")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index d9379b3bec..c9497225a9 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1501,7 +1501,7 @@ users and in some situations.")
     (description "Sly is a 2D/3D game engine written in Guile Scheme.  Sly
 features a functional reactive programming interface and live coding
 capabilities.")
-    (home-page "http://dthompson.us/pages/software/sly.html")
+    (home-page "https://dthompson.us/projects/sly.html")
     (license license:gpl3+)))
 
 (define-public g-wrap
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index ae7ae0f519..1f0a9e46e1 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -59,7 +59,7 @@
 (define-public feh
   (package
     (name "feh")
-    (version "2.25.1")
+    (version "2.26")
     (home-page "https://feh.finalrewind.org/")
     (source (origin
               (method url-fetch)
@@ -67,7 +67,7 @@
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "197sm78bm33dvahr5nxqkbmpmdn4b13ahc9mrgn1l7n104bg4phc"))))
+                "11kckzwk3b734l0n4j41k40liq1v2lbbj1gzir5qc386g7fvzmmi"))))
     (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 d312fb79de..a6d8b320da 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -716,7 +716,8 @@ supplies a generic doubly-linked list and some string functions.")
                 (for-each
                   (lambda (dir)
                     (delete-file-recursively (string-append "Source/" dir)))
-                  '("LibJPEG" "LibJXR" "LibOpenJPEG" "LibPNG" "LibRawLite"
+                  '("LibJPEG" "LibOpenJPEG" "LibPNG" "LibRawLite"
+                    ;; "LibJXR"
                     "LibWebP" "OpenEXR" "ZLib"))))
             (patches (search-patches "freeimage-unbundle.patch"
                                      "freeimage-CVE-2015-0852.patch"
@@ -752,14 +753,15 @@ supplies a generic doubly-linked list and some string functions.")
             ;; We need '-fpermissive' for Source/FreeImage.h.
             ;; libjxr doesn't have a pkg-config file.
             (string-append "CFLAGS+=-O2 -fPIC -fvisibility=hidden -fpermissive "
-                           "-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"))
+                           ;"-I" (assoc-ref %build-inputs "libjxr") "/include/jxrlib"
+                           ))
       #:tests? #f)) ; no check target
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("unzip" ,unzip)))
    (inputs
     `(("libjpeg" ,libjpeg)
-      ("libjxr" ,libjxr)
+      ;("libjxr" ,libjxr)
       ("libpng" ,libpng)
       ("libraw" ,libraw)
       ("libtiff" ,libtiff)
@@ -836,16 +838,18 @@ multi-dimensional image processing.")
 (define-public libwebp
   (package
     (name "libwebp")
-    (version "0.6.1")
+    (version "1.0.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "http://downloads.webmproject.org/releases/webp/libwebp-" version
-             ".tar.gz"))
+       ;; No tarballs are provided for >0.6.1.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://chromium.googlesource.com/webm/libwebp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ayq2zq0zbgf5yizbm32zh7p1vb8kibw74am6am1n5cz5mw3ql06"))))
+         "1w8jzdbr1s4238ygyrlxryycss3f2z6d9amxdq8m82nl3l6skar4"))))
     (build-system gnu-build-system)
     (inputs
      `(("freeglut" ,freeglut)
@@ -853,10 +857,18 @@ multi-dimensional image processing.")
        ("libjpeg" ,libjpeg)
        ("libpng" ,libpng)
        ("libtiff" ,libtiff)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
     (arguments
      '(#:configure-flags '("--enable-libwebpmux"
                            "--enable-libwebpdemux"
-                           "--enable-libwebpdecoder")))
+                           "--enable-libwebpdecoder")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'bootstrap
+                    (lambda _
+                      (invoke "autoreconf" "-vif"))))))
     (home-page "https://developers.google.com/speed/webp/")
     (synopsis "Lossless and lossy image compression")
     (description
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index e1c49d1385..2b266748ae 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -65,18 +65,17 @@
 (define-public quassel
   (package
     (name "quassel")
-    (version "0.12.4")
+    (version "0.12.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append "http://quassel-irc.org/pub/quassel-"
                             version ".tar.bz2"))
-        (patches (search-patches "quassel-fix-tls-check.patch"))
         (sha256
          (base32
-          "0ka456fb8ha3w7g74xlzfg6w4azxjjxgrhl4aqpbwg3lnd6fbr4k"))
+          "1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q"))
         (modules '((guix build utils)))
-        ;; We don't want to install the bundles scripts
+        ;; We don't want to install the bundled scripts.
         (snippet
          '(begin
             (delete-file-recursively "data/scripts")
@@ -105,7 +104,7 @@
        ("qtscript" ,qtscript)
        ("snorenotify" ,snorenotify)
        ("zlib" ,zlib)))
-    (home-page "http://quassel-irc.org/")
+    (home-page "https://quassel-irc.org/")
     (synopsis "Distributed IRC client")
     (description "Quassel is a distributed IRC client, meaning that one or more
 clients can attach to and detach from the central core.  It resembles the
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4f882c3e6f..7000e5a475 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8150,70 +8150,50 @@ by technical operatives or consultants working with enterprise platforms.")
 algorithms and xxHash hashing algorithm.")
     (license license:asl2.0)))
 
-(define-public java-bouncycastle-bcprov
+(define-public java-bouncycastle
   (package
-    (name "java-bouncycastle-bcprov")
-    (version "1.58")
+    (name "java-bouncycastle")
+    (version "1.59")
     (source (origin
               (method url-fetch)
-              (uri "https://bouncycastle.org/download/bcprov-jdk15on-158.tar.gz")
+              (uri (string-append "https://github.com/bcgit/bc-java/archive/r"
+                                  (substring version 0 1) "rv"
+                                  (substring version 2 4) ".tar.gz"))
               (sha256
                (base32
-                "1hgkg96llbvgs8i0krwz2n0j7wlg6jfnq8w8kg0cc899j0wfmf3n"))))
+                "1bwl499whlbq896w18idqw2dkp8v0wp0npv9g71i5fgf8xjh0k3q"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (for-each delete-file
+                            (find-files "." "\\.jar$"))
+                  #t))))
     (build-system ant-build-system)
     (arguments
-     `(#:jar-name "bouncycastle-bcprov.jar"
-       #:tests? #f; no tests
-       #:source-dir "src"
+     `(#:jdk ,icedtea-8
        #:phases
        (modify-phases %standard-phases
-         (add-before 'configure 'unzip-src
+         (replace 'build
            (lambda _
-             (mkdir-p "src")
-             (with-directory-excursion "src"
-               (invoke "unzip" "../src.zip"))
-             #t)))))
-    (native-inputs
-     `(("unzip" ,unzip)
-       ("junit" ,java-junit)))
-    (home-page "https://www.bouncycastle.org")
-    (synopsis "Cryptographic library")
-    (description "Bouncy Castle Provider (bcprov) is a cryptographic library
-for the Java programming language.")
-    (license license:expat)))
-
-(define-public java-bouncycastle-bcpkix
-  (package
-    (name "java-bouncycastle-bcpkix")
-    (version "1.58")
-    (source (origin
-              (method url-fetch)
-              (uri "https://bouncycastle.org/download/bcpkix-jdk15on-158.tar.gz")
-              (sha256
-               (base32
-                "0is7qay02803s9f7lhnfcjlz61ni3hq5d7apg0iil7nbqkbfbcq2"))))
-    (build-system ant-build-system)
-    (arguments
-     `(#:jar-name "bouncycastle-bcpkix.jar"
-       #:tests? #f; no tests
-       #:source-dir "src"
-       #:phases
-       (modify-phases %standard-phases
-         (add-before 'configure 'unzip-src
+             (invoke "ant" "-f" "ant/jdk15+.xml" "build-provider")
+             (invoke "ant" "-f" "ant/jdk15+.xml" "build")
+             #t))
+         (replace 'check
            (lambda _
-             (mkdir-p "src")
-             (with-directory-excursion "src"
-               (invoke "unzip" "../src.zip"))
-             #t)))))
+             (invoke "ant" "-f" "ant/jdk15+.xml" "test")))
+         (replace 'install
+           (install-jars "build/artifacts/jdk1.5/jars")))))
+    (inputs
+     `(("java-javax-mail" ,java-javax-mail)))
     (native-inputs
      `(("unzip" ,unzip)
-       ("junit" ,java-junit)))
-    (inputs
-     `(("bcprov" ,java-bouncycastle-bcprov)))
+       ("junit" ,java-junit)
+       ("java-native-access" ,java-native-access)
+       ("java-native-access-platform" ,java-native-access-platform)))
     (home-page "https://www.bouncycastle.org")
     (synopsis "Cryptographic library")
-    (description "Bouncy Castle Java API for PKIX, CMS, EAC, TSP, PKCS, OCSP,
-CMP, and CRMF.")
+    (description "Bouncy Castle is a cryptographic library for the Java
+programming language.")
     (license license:expat)))
 
 (define-public java-lmax-disruptor
@@ -8636,8 +8616,7 @@ protocol-independent framework to build mail and messaging applications.")
        ("powermock-junit4-common" ,java-powermock-modules-junit4-common)
        ("powermock-junit4" ,java-powermock-modules-junit4)
        ("powermock-support" ,java-powermock-api-support)
-       ("bouncycastle" ,java-bouncycastle-bcprov)
-       ("bouncycastle-bcpkix" ,java-bouncycastle-bcpkix)))
+       ("java-bouncycastle" ,java-bouncycastle)))
     (home-page "https://kafka.apache.org")
     (synopsis "Distributed streaming platform")
     (description "Kafka is a distributed streaming platform, which means:
@@ -9610,3 +9589,225 @@ Java method invocation.")
 and mappings for a number of commonly used platform functions, including a
 large number of Win32 mappings as well as a set of utility classes that
 simplify native access.")))
+
+(define-public java-jsch-agentproxy-core
+  (package
+    (name "java-jsch-agentproxy-core")
+    (version "0.0.8")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/ymnk/jsch-agent-proxy/archive/"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "02iqg6jbc1kxvfzqcg6wy9ygqxfm82bw5rf6vnswqy4y572niz4q"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "jsch-agentproxy-core.jar"
+       #:source-dir "jsch-agent-proxy-core/src/main/java"
+       #:tests? #f)); no tests
+    (home-page "https://github.com/ymnk/jsch-agent-proxy")
+    (synopsis "Core component of the proxy to ssh-agent and Pageant in Java")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included Putty.  It will be easily integrated into JSch, and users
+will be allowed to use these programs for authentication.")
+    (license license:bsd-3)))
+
+(define-public java-jsch-agentproxy-sshagent
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-sshagent")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-sshagent.jar"
+       #:source-dir "jsch-agent-proxy-sshagent/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "Proxy to ssh-agent")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains the code for a proxy to
+ssh-agent.")))
+
+(define-public java-jsch-agentproxy-usocket-jna
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-usocket-jna")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-usocket-jna.jar"
+       #:source-dir "jsch-agent-proxy-usocket-jna/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-native-access" ,java-native-access)))
+    (synopsis "USocketFactory implementation using JNA")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains an implementation of
+USocketFactory using @dfn{JNA} (Java Native Access).")))
+
+(define-public java-jsch-agentproxy-pageant
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-pageant")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-pageant.jar"
+       #:source-dir "jsch-agent-proxy-pageant/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-native-access" ,java-native-access)
+       ("java-native-access-platform" ,java-native-access-platform)))
+    (synopsis "Proxy to pageant")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains the code for a proxy to
+pageant.")))
+
+(define-public java-jsch-agentproxy-usocket-nc
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-usocket-nc")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-usocket-nc.jar"
+       #:source-dir "jsch-agent-proxy-usocket-nc/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "USocketFactory implementation using netcat")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains an implementation of
+USocketFactory using netcat.")))
+
+(define-public java-jsch-agentproxy-connector-factory
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-connector-factory")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-connector-factory.jar"
+       #:source-dir "jsch-agent-proxy-connector-factory/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-jsch-agentproxy-sshagent" ,java-jsch-agentproxy-sshagent)
+       ("java-jsch-agentproxy-usocket-jna" ,java-jsch-agentproxy-usocket-jna)
+       ("java-jsch-agentproxy-pageant" ,java-jsch-agentproxy-pageant)
+       ("java-jsch-agentproxy-usocket-nc" ,java-jsch-agentproxy-usocket-nc)))
+    (synopsis "Connector factory for jsch agent proxy")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains a connector factory.")))
+
+(define-public java-jsch-agentproxy-jsch
+  (package
+    (inherit java-jsch-agentproxy-core)
+    (name "java-jsch-agentproxy-jsch")
+    (arguments
+     `(#:jar-name "jsch-agentproxy-jsch.jar"
+       #:source-dir "jsch-agent-proxy-jsch/src/main/java"
+       #:tests? #f)); no tests
+    (inputs
+     `(("java-jsch" ,java-jsch)
+       ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)))
+    (synopsis "JSch integration library for agentproxy")
+    (description "jsch-agent-proxy is a proxy program to OpenSSH's ssh-agent
+and Pageant included in Putty. This component contains a library to use
+jsch-agent-proxy with JSch.")))
+
+(define-public java-apache-ivy
+  (package
+    (name "java-apache-ivy")
+    (version "2.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://apache//ant/ivy/" version
+                                  "/apache-ivy-" version "-src.tar.gz"))
+              (sha256
+               (base32
+                "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0"))
+              (patches
+                (search-patches
+                  "java-apache-ivy-port-to-latest-bouncycastle.patch"))))
+    (build-system ant-build-system)
+    (arguments
+     `(#:jar-name "ivy.jar"
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'remove-example
+           (lambda _
+             (delete-file-recursively "src/example")
+             #t))
+         (add-before 'build 'copy-resources
+           (lambda _
+             (with-directory-excursion "src/java"
+               (for-each (lambda (file)
+                           (install-file file (string-append "../../build/classes/" (dirname file))))
+                 (append
+                   (find-files "." ".*.css")
+                   (find-files "." ".*.ent")
+                   (find-files "." ".*.html")
+                   (find-files "." ".*.properties")
+                   (find-files "." ".*.xsd")
+                   (find-files "." ".*.xsl")
+                   (find-files "." ".*.xml"))))))
+         (add-before 'build 'fix-vfs
+           (lambda _
+             (substitute*
+               '("src/java/org/apache/ivy/plugins/repository/vfs/VfsRepository.java"
+                 "src/java/org/apache/ivy/plugins/repository/vfs/VfsResource.java")
+               (("import org.apache.commons.vfs") "import org.apache.commons.vfs2"))
+             #t))
+         (add-before 'install 'copy-manifest
+           (lambda _
+             (install-file "META-INF/MANIFEST.MF" "build/classes/META-INF")
+             #t))
+         (add-before 'install 'repack
+           (lambda _
+             (invoke "jar" "-cmf" "build/classes/META-INF/MANIFEST.MF" "build/jar/ivy.jar"
+                     "-C" "build/classes" ".")
+             #t))
+         (add-after 'install 'install-bin
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
+                    (ivy (string-append bin "/ivy"))
+                    (jar (string-append (assoc-ref outputs "out") "/share/java/ivy.jar")))
+               (mkdir-p bin)
+               (with-output-to-file ivy
+                 (lambda _
+                   (display (string-append
+                              "#!" (which "sh") "\n"
+                              "if [[ -z $CLASSPATH ]]; then\n"
+                              "  cp=\"" (getenv "CLASSPATH") ":" jar "\"\n"
+                              "else\n"
+                              "  cp=\"" (getenv "CLASSPATH") ":" jar ":$CLASSPATH\"\n"
+                              "fi\n"
+                              (which "java") " -cp $cp org.apache.ivy.Main $@\n"))))
+               (chmod ivy #o755)
+               #t))))))
+    (inputs
+     `(("java-bouncycastle" ,java-bouncycastle)
+       ("java-commons-cli" ,java-commons-cli)
+       ("java-commons-collections" ,java-commons-collections)
+       ("java-commons-httpclient" ,java-commons-httpclient)
+       ("java-commons-lang" ,java-commons-lang)
+       ("java-commons-vfs" ,java-commons-vfs)
+       ("java-jakarta-oro" ,java-jakarta-oro)
+       ("java-jsch" ,java-jsch)
+       ("java-jsch-agentproxy-core" ,java-jsch-agentproxy-core)
+       ("java-jsch-agentproxy-connector-factory" ,java-jsch-agentproxy-connector-factory)
+       ("java-jsch-agentproxy-jsch" ,java-jsch-agentproxy-jsch)
+       ("java-junit" ,java-junit)))
+    (home-page "https://ant.apache.org/ivy")
+    (synopsis "Dependency manager for the Java programming language")
+    (description "Ivy is a tool for managing (recording, tracking, resolving
+and reporting) project dependencies.  It is characterized by the following:
+
+@itemize
+@item flexibility and configurability - Ivy is essentially process agnostic
+      and is not tied to any methodology or structure.  Instead it provides the
+      necessary flexibility and configurability to be adapted to a broad range
+      of dependency management and build processes.
+@item tight integration with Apache Ant - while available as a standalone tool,
+      Ivy works particularly well with Apache Ant providing a number of
+      powerful Ant tasks ranging from dependency resolution to dependency
+      reporting and publication.
+@end itemize")
+    (license license:asl2.0)))
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 7a44abdec2..6fb1eee6cc 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -384,7 +384,7 @@
     ;; Julia is not officially released for ARM and MIPS.
     ;; See https://github.com/JuliaLang/julia/issues/10639
     (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
-    (home-page "http://julialang.org/")
+    (home-page "https://julialang.org/")
     (synopsis "High-performance dynamic language for technical computing")
     (description
      "Julia is a high-level, high-performance dynamic programming language for
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 50f44b5d65..65119e85df 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -359,14 +359,14 @@ CorelDRAW documents of all versions.")
 (define-public libetonyek
   (package
     (name "libetonyek")
-    (version "0.1.7")
+    (version "0.1.8")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://dev-www.libreoffice.org/src/" name "/"
                           name "-" version ".tar.xz"))
       (sha256 (base32
-               "1b1lqy6g7flximlv0bp8jbsivyhdp679yj0d0q4jzm968h6y3nv9"))))
+               "0bfq9rwm040xhh7b3v0gsdavwvnrz4hkwnhpggarxk70mr3j7jcx"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-mdds=1.2")))
@@ -611,14 +611,14 @@ spreadsheet documents.")
 (define-public libstaroffice
   (package
     (name "libstaroffice")
-    (version "0.0.5")
+    (version "0.0.6")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/"
                            version "/libstaroffice-" version ".tar.xz"))
        (sha256 (base32
-                "10m9imcgqf7kdhn1a5ara62fdayidwm7qzj3binsls40snnhfm9i"))))
+                "1i0ykl0c94lc1qzb5mbyf9jr7qw8p38ja424whmhgrllh7ny203b"))))
     (build-system gnu-build-system)
     (inputs
      `(("librevenge" ,librevenge)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a3b3ab262e..b92b146f3b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017 nee <nee-git@hidamari.blue>
 ;;; Copyright © 2017 Dave Love <fx@gnu.org>
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -391,8 +392,8 @@ It has been modified to remove all non-free binary blobs.")
 ;; supports qemu "virt" machine and possibly a large number of ARM boards.
 ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 
-(define %linux-libre-version "4.16.3")
-(define %linux-libre-hash "1wmx0ph8nbwidlx1dh8bi4p97b84nif9ymv00mafnn6iykdfdin0")
+(define %linux-libre-version "4.16.6")
+(define %linux-libre-hash "069bxqx27xib1gz4aayy8ar2hfp68cpdi8h51g6453k0w14pkchn")
 
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
@@ -400,8 +401,8 @@ It has been modified to remove all non-free binary blobs.")
                     %linux-compatible-systems
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.35")
-(define %linux-libre-4.14-hash "0dfzc2290zks1a63zld8ac0xarc8gxwwh4wsr71y8mas7gfmyqzj")
+(define %linux-libre-4.14-version "4.14.38")
+(define %linux-libre-4.14-hash "09lmz8zbd3c1qf8z3d2lkhcqcwawajh76s85zdhgqdmd2idpwach")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -410,14 +411,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.95"
-                    "06i756gbglxa2m4lib4p0fff5m2fm4s6f9aqc58i8lihnjqpkldk"
+  (make-linux-libre "4.9.97"
+                    "1xc3mj1qi51n1kr5bxmdf1rlpyj78x9imhfc7gihn8qjc6zsf1sp"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.128"
-                    "1aqz5skyz534bcpnn6w9madg6kadgyjjypah9dhmqf841rygb6rk"
+  (make-linux-libre "4.4.130"
+                    "15cayafj7d9y5fs9flg115kzrcrjycbvax9hgfzz6yym94v9k8lk"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -2898,7 +2899,7 @@ arrays when needed.")
 (define-public multipath-tools
   (package
     (name "multipath-tools")
-    (version "0.7.4")
+    (version "0.7.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://git.opensvc.com/?p=multipath-tools/"
@@ -2906,7 +2907,7 @@ arrays when needed.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8"))
+                "0zkcayi3mmp43ji2zid1gprgsvqhjjapsw7jjd60sf75prf50h2r"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -3306,7 +3307,8 @@ disks and SD cards.  This package provides the userland utilities.")
                         (("alarm\\(2\\)") "alarm(5)"))
                       #t)))
        #:make-flags (list (string-append "PREFIX="
-                                         (assoc-ref %outputs "out")))
+                                         (assoc-ref %outputs "out"))
+                          "CC=gcc")
        #:tests? #f)) ;no tests
     (home-page (package-home-page linux-libre))
     (synopsis "Free-fall protection for spinning laptop hard drives")
@@ -4301,20 +4303,20 @@ available in the kernel Linux.")
 (define-public cpuid
   (package
     (name "cpuid")
-    (version "20170122")
+    (version "20180419")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.etallen.com/cpuid/cpuid-"
                                   version ".src.tar.gz"))
               (sha256
                (base32
-                "0ra8ph9m1dckqaikfnbsh408fp2w9k49fkl423fl2hvhwsm14xk6"))))
+                "0cnxj72pjalsszhn862r6shw64zbrkw0k3mm36fn93bivswjnj12"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags '("CC=gcc")
-       #:tests? #f ; no tests
+       #:tests? #f                      ; no tests
        #:phases (modify-phases %standard-phases
-                  (delete 'configure)
+                  (delete 'configure)   ; no configure script
                   (add-before 'install 'fix-makefile
                     (lambda* (#:key outputs #:allow-other-keys)
                       (substitute* "Makefile"
@@ -4628,3 +4630,98 @@ the @code{coretemp} module and sets the fan speed using the @code{applesmc}
 module.  It can be executed as a daemon or in the foreground with root
 privileges.")
     (license license:gpl3+)))
+
+(define-public psm2
+  (package
+    (name "psm2")
+    (version "10.3-46")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/intel/opa-psm2.git")
+                    (commit (string-append "PSM2_" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wadphv4rl5p38x6a3dgpbijlzqdvcn02cfafnp72nh9faz0zvlx"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags
+       `(,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+       #:tests? #f
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (add-after 'unpack 'patch-Makefiles
+                    (lambda _
+                      (substitute* "Makefile"
+                        (("/lib64") "/lib")
+                        (("/usr") ""))
+                      (substitute* "compat/Makefile"
+                        (("/lib64") "/lib")
+                        (("/usr") ""))
+                      #t))
+                  (replace 'install
+                    (lambda _
+                      (setenv "DESTDIR" %output)
+                      (invoke "make" "install")
+                      #t)))))
+    (inputs
+     `(("rdma-core" ,rdma-core)
+       ("numactl" ,numactl)))
+    (synopsis "Intel Performance Scaled Messaging 2 (PSM2) library")
+    (description
+     "This package is low-level user-level Intel's communications interface.
+The PSM2 API is a high-performance vendor-specific protocol that provides a
+low-level communications interface for the Intel Omni-Path family of
+high-speed networking devices.")
+    (home-page "https://github.com/intel/opa-psm2")
+    ;; Only the x86_64 architecure is supported.
+    (supported-systems '("x86_64-linux"))
+    (license (list license:bsd-3 license:gpl2)))) ; dual
+
+(define-public libpfm4
+  (package
+    (name "libpfm4")
+    (version "4.9.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/perfmon2/"
+                                  name "/libpfm-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1qp4g4n6dw42p2w5rkwzdb7ynk8h7g5vg01ybpmvxncgwa7bw3yv"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:modules ((guix build utils)
+                  (guix build gnu-build-system))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (delete 'check)
+                  (replace 'build
+                    (lambda* (#:key inputs outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out")))
+                        (setenv "CC" "gcc")
+                        (invoke "make")
+                        #t)))
+                  (replace 'install
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out")))
+                        (invoke "make"
+                                (string-append "PREFIX=" out)
+                                "install")
+                        #t))))))
+    (synopsis "Performance event monitoring library")
+    (description
+     "This package provides a library called libpfm4, which is used to develop
+monitoring tools exploiting the performance monitoring events such as those
+provided by the Performance Monitoring Unit (PMU) of modern processors.
+
+Libpfm4 helps convert from an event name, expressed as a string, to the event
+encoding that is either the raw event as documented by the hardware vendor or
+the OS-specific encoding.  In the latter case, the library is able to prepare
+the OS-specific data structures needed by the kernel to setup the event.
+
+libpfm4 provides support for the @code{perf_events} interface, which was
+introduced in Linux 2.6.31.")
+    (home-page "http://perfmon2.sourceforge.net/")
+    (license license:expat)))
diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index 8166fb8d71..af576c44f7 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -48,7 +48,7 @@
 (define-public libfm
   (package
     (name "libfm")
-    (version "1.2.5")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/pcmanfm/"
@@ -56,7 +56,7 @@
                                   "%29/LibFM/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7"))))
+                "151jyy8ipmp2h829gd9s4s429qafv1zxl7j6zaj1k1gzm9s5rmnb"))))
     (build-system gnu-build-system)
     (inputs `(("glib" ,glib)
               ("gtk+" ,gtk+-2)))
@@ -205,26 +205,25 @@ speed up the access to freedesktop.org defined application menus.")
 (define-public pcmanfm
   (package
     (name "pcmanfm")
-    (version "1.2.5")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/" name "/"
                                   "PCManFM%20%2B%20Libfm%20%28tarball%20release"
                                   "%29/PCManFM/" name "-" version ".tar.xz"))
-              (patches (search-patches "pcmanfm-CVE-2017-8934.patch"))
               (sha256
                (base32
-                "0rxdh0dfzc84l85c54blq42gczygq8adhr3l9hqzy1dp530cm1hc"))))
+                "1ywgfyklms5hqkapsbjps4kyx20ac0d1qk16ww74yagkyfdkwsas"))))
     (build-system gnu-build-system)
     (inputs `(("gtk+"   ,gtk+-2)
-              ("gvfs"   ,gvfs)                    ;for trash and mount support
+              ("gvfs"   ,gvfs)          ; for trash and mount support
               ("libfm"  ,libfm)
               ("libx11" ,libx11)))
     (native-inputs `(("intltool"   ,intltool)
                      ("libtool"    ,libtool)
                      ("pkg-config" ,pkg-config)))
     (propagated-inputs
-     `(("lxmenu-data" ,lxmenu-data)))     ;for "Open With..." application list
+     `(("lxmenu-data" ,lxmenu-data)))   ; for "Open With..." application list
     (synopsis "LXDE file manager")
     (description "PCMan is a lightweight GTK+ based file manager, compliant
 with freedesktop.org standard.")
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index d9b54d692f..fb511b4949 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Mark Meyer <mark@ofosos.org>
 ;;; Copyright © 2018 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -689,3 +690,46 @@ mining and data analysis.")
 
 (define-public python2-scikit-learn
   (package-with-python2 python-scikit-learn))
+
+(define-public python-autograd
+  (let* ((commit "442205dfefe407beffb33550846434baa90c4de7")
+         (revision "0")
+         (version (git-version "0.0.0" revision commit)))
+    (package
+      (name "python-autograd")
+      (home-page "https://github.com/HIPS/autograd")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url home-page)
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "189sv2xb0mwnjawa9z7mrgdglc1miaq93pnck26r28fi1jdwg0z4"))
+                (file-name (git-file-name name version))))
+      (version version)
+      (build-system python-build-system)
+      (native-inputs
+       `(("python-nose" ,python-nose)
+         ("python-pytest" ,python-pytest)))
+      (propagated-inputs
+       `(("python-future" ,python-future)
+         ("python-numpy" ,python-numpy)))
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (replace 'check
+                      (lambda _
+                        (invoke "py.test" "-v"))))))
+      (synopsis "Efficiently computes derivatives of NumPy code")
+      (description "Autograd can automatically differentiate native Python and
+NumPy code.  It can handle a large subset of Python's features, including loops,
+ifs, recursion and closures, and it can even take derivatives of derivatives
+of derivatives.  It supports reverse-mode differentiation
+(a.k.a. backpropagation), which means it can efficiently take gradients of
+scalar-valued functions with respect to array-valued arguments, as well as
+forward-mode differentiation, and the two can be composed arbitrarily.  The
+main intended application of Autograd is gradient-based optimization.")
+      (license license:expat))))
+
+(define-public python2-autograd
+  (package-with-python2 python-autograd))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index fb13ec1fdb..8980b3df74 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -747,14 +747,14 @@ invoking @command{notifymuch} from the post-new hook.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.26.1")
+    (version "0.26.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0dx8nhdmkaqabxcgxfa757m99fi395y76h9ynx8539yh9m7y9xyk"))))
+                "0fqf6wwvqlccq9qdnd0mky7fx0kbkczd28blf045s0vsvdjii70h"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 2f6c6d6277..a2bf14ea84 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1779,7 +1779,7 @@ arising after the discretization of partial differential equations.")
 (define-public mumps
   (package
     (name "mumps")
-    (version "5.0.2")
+    (version "5.1.2")
     (source
      (origin
        (method url-fetch)
@@ -1787,7 +1787,7 @@ arising after the discretization of partial differential equations.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0igyc1pfzxdhpbad3v3lb86ixkdbqa1a8gbs15b04r2294h2nabp"))
+         "1s9asin08zqzmh08257sdghhivvy9vjif7c53fhaxaax2kd5qd7b"))
        (patches (search-patches "mumps-build-parallelism.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -2208,16 +2208,18 @@ implemented in ANSI C, and MPI for communications.")
 (define-public scotch
   (package
     (name "scotch")
-    (version "6.0.4")
+    (version "6.0.5a")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "https://gforge.inria.fr/frs/download.php/"
                           "latestfile/298/scotch_" version ".tar.gz"))
       (sha256
-       (base32 "1ir088mvrqggyqdkx9qfynmiaffqbyih5qfl5mga2nrlm1qlsgzm"))
+       (base32 "0vsmgjz8qv80di3ljmc7hbdsizxxxwy2b9rgd2fl1mdc6dgbj8av"))
       (patches (search-patches "scotch-test-threading.patch"
-                               "pt-scotch-build-parallelism.patch"))))
+                               "scotch-build-parallelism.patch"
+                               "scotch-graph-induce-type-64.patch"
+                               "scotch-graph-diam-64.patch"))))
     (build-system gnu-build-system)
     (inputs
      `(("zlib" ,zlib)
@@ -3845,14 +3847,14 @@ analysed.")
 (define-public r-subplex
   (package
     (name "r-subplex")
-    (version "1.5-2")
+    (version "1.5-4")
     (source
     (origin
       (method url-fetch)
       (uri (cran-uri "subplex" version))
       (sha256
        (base32
-        "1v9xrnkapnq7v1jbhlg32ignklzf2vn8rqpayc8pzk8wvz53r33g"))))
+        "10cbgbx1bgsax5z7gz6716g360xpq4mvq19cf4qqrxv02mmwz57z"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 5c832f9d13..d2ce394a03 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -60,16 +60,15 @@ extensive examples, including parsers for the Javascript and C99 languages.")
   (let ((triplet "i686-unknown-linux-gnu"))
     (package
       (name "mes")
-      (version "0.12")
+      (version "0.13")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://gitlab.com/janneke/mes"
-                                    "/repository/archive.tar.gz?ref=v"
-                                    version))
-                (file-name (string-append name "-" version ".tar.gz"))
+                                    "/-/archive/v" version
+                                    "/mes-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "0lbwmyl5262z28kpac6kmxxx8aglzy8n6bsicp5lyzkmzkzvjnh2"))))
+                  "0db4f32rak839ff3n7ywkkng9672457pd2pvvgvcsyndqmmdsqw0"))))
       (build-system gnu-build-system)
       (supported-systems '("i686-linux" "x86_64-linux"))
       (propagated-inputs
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index b3205c7ae2..c31e3604c8 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -802,7 +802,7 @@ protocols.")
 (define-public c-toxcore
   (package
     (name "c-toxcore")
-    (version "0.1.11")
+    (version "0.2.2")
     (source
      (origin
        (method url-fetch)
@@ -811,7 +811,10 @@ protocols.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "040vwihl1r5159vzimmnff75iqfg53vhnfi5wcb3cd0c2r51idl5"))))
+         "18bfqx0ylbas9gs91rkspf04l5fjjcl0mxm1gfs2d59bv65mvcm3"))))
+    (arguments
+     `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable
+                     ; for now.
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -829,23 +832,26 @@ messenger protocol.")
 (define-public utox
   (package
    (name "utox")
-   (version "0.16.1")
+   (version "0.17.0")
    (source
     (origin
-     (method url-fetch)
-     (uri (string-append "https://github.com/uTox/uTox/archive/v"
-                         version ".tar.gz"))
-     (file-name (string-append name "-" version ".tar.gz"))
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/uTox/uTox.git")
+           (commit "v0.17.0")
+           (recursive? #t))) ;; Needed for 'minini' git submodule.
+     (file-name (string-append name "-" version "-checkout"))
      (sha256
       (base32
-       "14xl72y4w1x2kk0cvkcr9pmywllm0r9w2grjqiknwn95pw6yxz6q"))))
+       "12wbq883il7ikldayh8hm0cjfrkp45vn05xx9s1jbfz6gmkidyar"))))
    (build-system cmake-build-system)
    (arguments
-    `(#:phases
+    `(#:configure-flags '("-DENABLE_TESTS=on")
+      #:phases
       (modify-phases %standard-phases
         (add-before 'build 'patch-absolute-filename-libgtk-3
           (lambda* (#:key inputs outputs #:allow-other-keys)
-            (substitute* "../uTox-0.16.1/src/xlib/gtk.c"
+            (substitute* "../source/src/xlib/gtk.c"
                          (("libgtk-3.so")
                          (string-append (assoc-ref inputs "gtk+")
                                         "/lib/libgtk-3.so")))))
@@ -884,14 +890,14 @@ instant messenger with audio and video chat capabilities.")
 (define-public qtox
   (package
     (name "qtox")
-    (version "1.13.0")
+    (version "1.15.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/qTox/qTox/archive/v"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0dyplmlqhg4zbg7hdzp3iqppn9xgp7pds5k6w6byjcqhb9zv91ca"))
+                "0bmnx6m33qn9nx40yy268x4wnvv2y7bvm41hzrlbhsiaph7kg583"))
               (file-name (string-append name "-" version ".tar.gz"))))
     (build-system cmake-build-system)
     (arguments
@@ -913,7 +919,7 @@ instant messenger with audio and video chat capabilities.")
                    ,(list (string-append (assoc-ref inputs "qtsvg")
                                          "/lib/qt5/plugins/"))))))))))
     (inputs
-     `(("ffmpeg" ,ffmpeg)
+     `(("ffmpeg" ,ffmpeg-3.4)
        ("filteraudio" ,filteraudio)
        ("glib" ,glib)
        ("gtk+" ,gtk+-2)
@@ -1520,14 +1526,14 @@ building the IRC clients and bots.")
 (define-public toxic
   (package
     (name "toxic")
-    (version "0.8.0")
+    (version "0.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/JFreegman/toxic/archive/v"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0166lqb47f4kj34mhi57aqmnk9mh4hsicmbdsj6ag54sy1zicy20"))
+                "1dx6z7k0zpsd7dpysdy23f0hnm49qlikb0mq8fg0y01dsz9vxgak"))
               (file-name (git-file-name name version))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 0e2acedf7f..a9d317eb7b 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -88,7 +88,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.20.18")
+    (version "0.20.19")
     (source (origin
               (method url-fetch)
               (uri
@@ -97,7 +97,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "0d6lz8ykyvxkl0fwnd9c5vzbbhmjh1yzv7rzhprlzfchmv12sn3a"))))
+                "1hsng4mnaz1jr2s3fy3q78vf2f6102lwphjdls7qln0pj8dyzk81"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index c8f2fd84b4..6f17fa799e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1601,7 +1601,7 @@ is subjective.")
 (define-public tuxguitar
   (package
     (name "tuxguitar")
-    (version "1.4")
+    (version "1.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1609,7 +1609,7 @@ is subjective.")
                     version "/tuxguitar-" version "-src.tar.gz"))
               (sha256
                (base32
-                "041275vwfr82kass7wiq9g2y82w9qrbzfinzcvfij2f2q45njwmc"))
+                "1yd5wv17sh6i8pkndxayfd6r2k1ccgnc4w3nda3lpniv8cpjzz3k"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1691,7 +1691,7 @@ is subjective.")
                #t))))))
     (inputs
      `(("java-swt" ,java-swt)))
-    (home-page "http://tuxguitar.pw")
+    (home-page "http://tuxguitar.com.ar/")
     (synopsis "Multitrack tablature editor and player")
     (description
      "TuxGuitar is a guitar tablature editor with player support through midi.
@@ -1883,17 +1883,17 @@ browser.")
 (define-public drumstick
   (package
     (name "drumstick")
-    (version "1.1.0")
+    (version "1.1.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/drumstick/"
                                   version "/drumstick-" version ".tar.bz2"))
               (sha256
                (base32
-                "13pkfqrav30bbcddgf1imd7jk6lpqbxkz1qv31718pdl446jq7df"))))
+                "0avwxr6n9ra7narxc5lmkhdqi8ix10gmif8rpd06wp4g9iv46xrn"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f  ; no test target
+     `(#:tests? #f                      ; no test target
        #:configure-flags '("-DLIB_SUFFIX=")
        #:phases
        (modify-phases %standard-phases
@@ -1909,11 +1909,10 @@ browser.")
     (inputs
      `(("qtbase" ,qtbase)
        ("qtsvg" ,qtsvg)
-       ("alsa-lib" ,alsa-lib)
-       ("fluidsynth" ,fluidsynth)))
+       ("alsa-lib" ,alsa-lib)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("libxslt" ,libxslt) ;for xsltproc
+       ("libxslt" ,libxslt)             ; for xsltproc
        ("docbook-xsl" ,docbook-xsl)
        ("doxygen" ,doxygen)))
     (home-page "http://drumstick.sourceforge.net/")
@@ -2150,14 +2149,14 @@ computer's keyboard.")
 (define-public aj-snapshot
   (package
     (name "aj-snapshot")
-    (version "0.9.7")
+    (version "0.9.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/aj-snapshot/"
                                   "aj-snapshot-" version ".tar.bz2"))
               (sha256
                (base32
-                "0yxccgp9qw2cyqv719wlbq8wfsr5ga8czvwa7bmb8dh5s11n3rn8"))))
+                "0wilky1g2mb88v2z0520s7sw1dsn10iwanc8id5p6z1xsnhg7b6p"))))
     (build-system gnu-build-system)
     (inputs
      `(("minixml" ,minixml)
@@ -2393,7 +2392,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.")
        ("curl" ,curl)
        ("libgcrypt" ,libgcrypt)
        ("json-c" ,json-c)
-       ("ffmpeg" ,ffmpeg)))
+       ("ffmpeg" ,ffmpeg-3.4)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (home-page "http://6xq.net/projects/pianobar/")
@@ -2785,21 +2784,13 @@ available memory.")
                                   name "-" version ".tar.bz2"))
               (sha256
                (base32
-                "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk"))
-              (modules '((guix build utils)))
-              (snippet
-               ;; Remove use of __DATE__ and __TIME__ for reproducibility.
-               '(begin
-                  (substitute* "main.c"
-                    (("printf \\(\"            Built : %s\", __DATE__\\);") "")
-                    (("printf \\(\" %s\", __TIME__\\);") ""))
-                  #t))))
+                "026v977kwb0wbmlmf6mnik328plxg8wykfx9ryvqhirac0aq39pk"))))
     (build-system gnu-build-system)
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("curl" ,curl)
        ("faad2" ,faad2)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-3.4)
        ("file" ,file)
        ("jack" ,jack-1)
        ("libid3tag" ,libid3tag)
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 848399a8a1..1a79066eac 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -43,14 +43,14 @@
 (define-public node
   (package
     (name "node")
-    (version "9.10.0")
+    (version "9.11.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://nodejs.org/dist/v" version
                                   "/node-v" version ".tar.gz"))
               (sha256
                (base32
-                "0xld7jh3fx85az7s5zbbsbccnfjwp99xxfn5w0gh2zfc5dalwrg5"))
+                "1vjh9zvw7wkdz6b0l99ya7mqjk0l8lbg9isr1q8rxwp400dhkk32"))
               (modules '((guix build utils)))
               (snippet
                `(begin
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 7e35af5dfd..ea90e78547 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -93,8 +94,8 @@
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
   (let ((version "0.14.0")
-        (commit "486de7377f25438b0f44fd93f97e9ef822d558b8")
-        (revision 10))
+        (commit "ab85cf7185da366da56314c53d8e43276e1cccc4")
+        (revision 11))
     (package
       (name "guix")
 
@@ -110,7 +111,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "12ghbby83w335g7vbg7h52hjaal5l6mc6qmldlx8029340br8h1w"))
+                  "1c00yr2vgsdl3kmlbjppyws47ssahamdx88y0wg26x73px71rd19"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -534,13 +535,13 @@ transactions from C or Python.")
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "90")
+    (version "93")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "0hhg26vi0z2q4gwklwq4k16hibc4kq16jvyzp6zhr4kspi07wl6i"))))
+                "0g90nf7817jk03hzk36l3hymky4xqs50iynfld3r0in7hffly5nj"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 66d9e933e7..1dfafac4e7 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -47,7 +47,7 @@
 (define-public parallel
   (package
     (name "parallel")
-    (version "20180322")
+    (version "20180422")
     (source
      (origin
       (method url-fetch)
@@ -55,7 +55,7 @@
                           version ".tar.bz2"))
       (sha256
        (base32
-        "15v46pv4z98xm3fkwy7335faw4r7pilrxp4xis5a4zi4319sv2b3"))))
+        "0xsfpbxwgd4197gra981iv0nmjfk58c0d88dxx6dh6yrqz523klx"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/patches/bcftools-regidx-unsigned-char.patch b/gnu/packages/patches/bcftools-regidx-unsigned-char.patch
deleted file mode 100644
index af5bc160f5..0000000000
--- a/gnu/packages/patches/bcftools-regidx-unsigned-char.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: Fix test-regidx argument parsing on archs with unsigned char
- On architectures where char is unsigned "c >= 0" was always true.
-Author: Adrian Bunk <bunk@debian.org>
-Bug-Debian: https://bugs.debian.org/865060
-
---- a/test/test-regidx.c
-+++ b/test/test-regidx.c
-@@ -336,7 +336,7 @@
-         {"seed",1,0,'s'},
-         {0,0,0,0}
-     };
--    char c;
-+    int c;
-     int seed = (int)time(NULL);
-     while ((c = getopt_long(argc, argv, "hvs:",loptions,NULL)) >= 0) 
-     {
diff --git a/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch b/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch
index f210799254..429087c661 100644
--- a/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch
+++ b/gnu/packages/patches/ceph-skip-collect-sys-info-test.patch
@@ -1,14 +1,13 @@
 This test fails because /etc/os-release is not available.
 
 diff --git a/src/test/common/test_util.cc b/src/test/common/test_util.cc
-index 288dd37db1..95b6cd4b30 100644
+index 64eace923c..6daf4aa514 100644
 --- a/src/test/common/test_util.cc
 +++ b/src/test/common/test_util.cc
-@@ -31,19 +31,3 @@ TEST(util, unit_to_bytesize)
- 
+@@ -32,17 +32,3 @@ TEST(util, unit_to_bytesize)
    ASSERT_EQ(65536ll, unit_to_bytesize(" 64K", &cerr));
  }
--
+ 
 -#if defined(__linux__)
 -TEST(util, collect_sys_info)
 -{
@@ -18,12 +17,8 @@ index 288dd37db1..95b6cd4b30 100644
 -  collect_sys_info(&sys_info, cct);
 -
 -  ASSERT_TRUE(sys_info.find("distro") != sys_info.end());
--  ASSERT_TRUE(sys_info.find("distro_version") != sys_info.end());
 -  ASSERT_TRUE(sys_info.find("distro_description") != sys_info.end());
 -
 -  cct->put();
 -}
 -#endif
--- 
-2.11.1
-
diff --git a/gnu/packages/patches/freeimage-unbundle.patch b/gnu/packages/patches/freeimage-unbundle.patch
index 2727d9fbda..ca907d3276 100644
--- a/gnu/packages/patches/freeimage-unbundle.patch
+++ b/gnu/packages/patches/freeimage-unbundle.patch
@@ -25,7 +25,7 @@ diff -rupN FreeImage/gensrclist.sh FreeImage-new/gensrclist.sh
  #!/bin/sh
  
 -DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJPEG Source/LibPNG Source/LibTIFF4 Source/ZLib Source/LibOpenJPEG Source/OpenEXR Source/OpenEXR/Half Source/OpenEXR/Iex Source/OpenEXR/IlmImf Source/OpenEXR/IlmThread Source/OpenEXR/Imath Source/OpenEXR/IexMath Source/LibRawLite Source/LibRawLite/dcraw Source/LibRawLite/internal Source/LibRawLite/libraw Source/LibRawLite/src Source/LibWebP Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib"
-+DIRLIST=". Source Source/Metadata Source/FreeImageToolkit"
++DIRLIST=". Source Source/Metadata Source/FreeImageToolkit Source/LibJXR Source/LibJXR/common/include Source/LibJXR/image/sys Source/LibJXR/jxrgluelib"
  
  echo "VER_MAJOR = 3" > Makefile.srcs
  echo "VER_MINOR = 17.0" >> Makefile.srcs
@@ -90,8 +90,8 @@ diff -rupN FreeImage/Makefile.gnu FreeImage-new/Makefile.gnu
 -# LibJXR
 -CXXFLAGS += -D__ANSI__
 -CXXFLAGS += $(INCLUDE)
-+override CFLAGS += $(INCLUDE) -D__ANSI__ -I/usr/include/jxrlib $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
-+override LDFLAGS += -ljpeg -ljpegxr -ljxrglue $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
++override CFLAGS += $(INCLUDE) -D__ANSI__ $(shell pkg-config --cflags OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
++override LDFLAGS += -ljpeg $(shell pkg-config --libs OpenEXR libopenjp2 libraw libpng libtiff-4 libwebp libwebpmux zlib)
  
  ifeq ($(shell sh -c 'uname -m 2>/dev/null || echo not'),x86_64)
 -	CFLAGS += -fPIC
@@ -215,18 +215,6 @@ diff -rupN FreeImage/Source/FreeImage/PluginJPEG.cpp FreeImage-new/Source/FreeIm
  }
  
  #include "FreeImage.h"
-diff -rupN FreeImage/Source/FreeImage/PluginJXR.cpp FreeImage-new/Source/FreeImage/PluginJXR.cpp
---- FreeImage/Source/FreeImage/PluginJXR.cpp	2015-03-02 02:07:08.000000000 +0100
-+++ FreeImage-new/Source/FreeImage/PluginJXR.cpp	2015-09-05 02:13:52.043353343 +0200
-@@ -23,7 +23,7 @@
- #include "Utilities.h"
- #include "../Metadata/FreeImageTag.h"
- 
--#include "../LibJXR/jxrgluelib/JXRGlue.h"
-+#include <JXRGlue.h>
- 
- // ==========================================================
- // Plugin Interface
 diff -rupN FreeImage/Source/FreeImage/PluginPNG.cpp FreeImage-new/Source/FreeImage/PluginPNG.cpp
 --- FreeImage/Source/FreeImage/PluginPNG.cpp	2015-03-10 20:16:12.000000000 +0100
 +++ FreeImage-new/Source/FreeImage/PluginPNG.cpp	2015-09-05 02:13:52.044353363 +0200
diff --git a/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch b/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch
new file mode 100644
index 0000000000..506de833dd
--- /dev/null
+++ b/gnu/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch
@@ -0,0 +1,81 @@
+From 29055a825af5405e44ffcd59a776f8952bdc7203 Mon Sep 17 00:00:00 2001
+From: Julien Lepiller <julien@lepiller.eu>
+Date: Fri, 15 Dec 2017 16:03:23 +0100
+Subject: [PATCH] Port to latest bouncycastle.
+
+---
+ .../bouncycastle/OpenPGPSignatureGenerator.java    | 34 ++++++++++------------
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+diff --git a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+index af7beae..34c204f 100644
+--- a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
++++ b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+@@ -41,6 +41,11 @@ import org.bouncycastle.openpgp.PGPSecretKeyRingCollection;
+ import org.bouncycastle.openpgp.PGPSignature;
+ import org.bouncycastle.openpgp.PGPSignatureGenerator;
+ import org.bouncycastle.openpgp.PGPUtil;
++import org.bouncycastle.openpgp.operator.PBESecretKeyDecryptor;
++import org.bouncycastle.openpgp.operator.bc.BcPBESecretKeyDecryptorBuilder;
++import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
++import org.bouncycastle.openpgp.operator.bc.BcPGPContentSignerBuilder;
++import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
+ 
+ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+ 
+@@ -101,11 +106,15 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+                 pgpSec = readSecretKey(keyIn);
+             }
+ 
+-            PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(password.toCharArray(),
+-                BouncyCastleProvider.PROVIDER_NAME);
+-            PGPSignatureGenerator sGen = new PGPSignatureGenerator(pgpSec.getPublicKey()
+-                    .getAlgorithm(), PGPUtil.SHA1, BouncyCastleProvider.PROVIDER_NAME);
+-            sGen.initSign(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
++            PBESecretKeyDecryptor decryptor =
++                    new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider())
++                    .build(password.toCharArray());
++            PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(decryptor);
++            BcPGPContentSignerBuilder builder = new BcPGPContentSignerBuilder(
++                            pgpSec.getPublicKey().getAlgorithm(), PGPUtil.SHA1);
++
++            PGPSignatureGenerator sGen = new PGPSignatureGenerator(builder);
++            sGen.init(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
+ 
+             in = new FileInputStream(src);
+             out = new BCPGOutputStream(new ArmoredOutputStream(new FileOutputStream(dest)));
+@@ -116,22 +125,10 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+             }
+ 
+             sGen.generate().encode(out);
+-        } catch (SignatureException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+         } catch (PGPException e) {
+             IOException ioexc = new IOException();
+             ioexc.initCause(e);
+             throw ioexc;
+-        } catch (NoSuchAlgorithmException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+-        } catch (NoSuchProviderException e) {
+-            IOException ioexc = new IOException();
+-            ioexc.initCause(e);
+-            throw ioexc;
+         } finally {
+             if (out != null) {
+                 try {
+@@ -156,7 +153,8 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
+ 
+     private PGPSecretKey readSecretKey(InputStream in) throws IOException, PGPException {
+         in = PGPUtil.getDecoderStream(in);
+-        PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in);
++        PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in,
++                        new BcKeyFingerprintCalculator());
+ 
+         PGPSecretKey key = null;
+         for (Iterator it = pgpSec.getKeyRings(); key == null && it.hasNext();) {
+-- 
+2.15.1
diff --git a/gnu/packages/patches/pcmanfm-CVE-2017-8934.patch b/gnu/packages/patches/pcmanfm-CVE-2017-8934.patch
deleted file mode 100644
index 489d22c83b..0000000000
--- a/gnu/packages/patches/pcmanfm-CVE-2017-8934.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From bc8c3d871e9ecc67c47ff002b68cf049793faf08 Mon Sep 17 00:00:00 2001
-From: Andriy Grytsenko <andrej@rep.kiev.ua>
-Date: Sun, 14 May 2017 21:35:40 +0300
-Subject: [PATCH] Fix potential access violation, use runtime user dir instead
- of tmp dir.
-
----
- NEWS              | 4 ++++
- src/single-inst.c | 7 ++++++-
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index 8c2049a..876f7f3 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,3 +1,7 @@
-+* Fixed potential access violation, use runtime user dir instead of tmp dir
-+    for single instance socket.
-+
-+
- Changes on 1.2.5 since 1.2.4:
- 
- * Removed options to Cut, Remove and Rename from context menu on mounted
-diff --git a/src/single-inst.c b/src/single-inst.c
-index 62c37b3..aaf84ab 100644
---- a/src/single-inst.c
-+++ b/src/single-inst.c
-@@ -2,7 +2,7 @@
-  *      single-inst.c: simple IPC mechanism for single instance app
-  *
-  *      Copyright 2010 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
-- *      Copyright 2012 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
-+ *      Copyright 2012-2017 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
-  *
-  *      This program is free software; you can redistribute it and/or modify
-  *      it under the terms of the GNU General Public License as published by
-@@ -404,11 +404,16 @@ static void get_socket_name(SingleInstData* data, char* buf, int len)
-     }
-     else
-         dpynum = 0;
-+#if GLIB_CHECK_VERSION(2, 28, 0)
-+    g_snprintf(buf, len, "%s/%s-socket-%s-%d", g_get_user_runtime_dir(),
-+               data->prog_name, host ? host : "", dpynum);
-+#else
-     g_snprintf(buf, len, "%s/.%s-socket-%s-%d-%s",
-                 g_get_tmp_dir(),
-                 data->prog_name,
-                 host ? host : "",
-                 dpynum,
-                 g_get_user_name());
-+#endif
- }
- 
--- 
-2.1.4
-
diff --git a/gnu/packages/patches/pt-scotch-build-parallelism.patch b/gnu/packages/patches/pt-scotch-build-parallelism.patch
deleted file mode 100644
index 2ac5f27f52..0000000000
--- a/gnu/packages/patches/pt-scotch-build-parallelism.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Building with -j may cause the esmumps_main target to fail with a "no rule for
-dependency libptesmumps.a" error.  Fix the dependency name.
-
---- scotch_6.0.4/src/esmumps/Makefile	2012-12-01 08:29:29.000000000 -0600
-+++ scotch_6.0.4/src/esmumps/Makefile	2015-06-15 17:29:23.279605734 -0500
-@@ -160,6 +160,6 @@
- 					order.h					\
- 					symbol.h				\
- 					esmumps.h				\
--					lib$(ESMUMPSLIB)$(LIB)			\
-+					libesmumps$(LIB)			\
- 					$(libdir)/lib$(SCOTCHLIB)$(LIB)		\
- 					$(libdir)/lib$(SCOTCHLIB)errexit$(LIB)
diff --git a/gnu/packages/patches/qemu-CVE-2018-7550.patch b/gnu/packages/patches/qemu-CVE-2018-7550.patch
deleted file mode 100644
index 43f111e206..0000000000
--- a/gnu/packages/patches/qemu-CVE-2018-7550.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Fix CVE-2018-7550:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7550
-
-Patch copied from upstream source repository:
-
-https://git.qemu.org/?p=qemu.git;a=patch;h=2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8
-
-From 2a8fcd119eb7c6bb3837fc3669eb1b2dfb31daf8 Mon Sep 17 00:00:00 2001
-From: Jack Schwartz <jack.schwartz@oracle.com>
-Date: Thu, 21 Dec 2017 09:25:15 -0800
-Subject: [PATCH] multiboot: bss_end_addr can be zero
-
-The multiboot spec (https://www.gnu.org/software/grub/manual/multiboot/),
-section 3.1.3, allows for bss_end_addr to be zero.
-
-A zero bss_end_addr signifies there is no .bss section.
-
-Suggested-by: Daniel Kiper <daniel.kiper@oracle.com>
-Signed-off-by: Jack Schwartz <jack.schwartz@oracle.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-Reviewed-by: Prasad J Pandit <pjp@fedoraproject.org>
-Signed-off-by: Kevin Wolf <kwolf@redhat.com>
----
- hw/i386/multiboot.c | 18 ++++++++++--------
- 1 file changed, 10 insertions(+), 8 deletions(-)
-
-diff --git a/hw/i386/multiboot.c b/hw/i386/multiboot.c
-index 46d9c68bf5..bb8d8e4629 100644
---- a/hw/i386/multiboot.c
-+++ b/hw/i386/multiboot.c
-@@ -233,12 +233,6 @@ int load_multiboot(FWCfgState *fw_cfg,
-         mh_entry_addr = ldl_p(header+i+28);
- 
-         if (mh_load_end_addr) {
--            if (mh_bss_end_addr < mh_load_addr) {
--                fprintf(stderr, "invalid mh_bss_end_addr address\n");
--                exit(1);
--            }
--            mb_kernel_size = mh_bss_end_addr - mh_load_addr;
--
-             if (mh_load_end_addr < mh_load_addr) {
-                 fprintf(stderr, "invalid mh_load_end_addr address\n");
-                 exit(1);
-@@ -249,8 +243,16 @@ int load_multiboot(FWCfgState *fw_cfg,
-                 fprintf(stderr, "invalid kernel_file_size\n");
-                 exit(1);
-             }
--            mb_kernel_size = kernel_file_size - mb_kernel_text_offset;
--            mb_load_size = mb_kernel_size;
-+            mb_load_size = kernel_file_size - mb_kernel_text_offset;
-+        }
-+        if (mh_bss_end_addr) {
-+            if (mh_bss_end_addr < (mh_load_addr + mb_load_size)) {
-+                fprintf(stderr, "invalid mh_bss_end_addr address\n");
-+                exit(1);
-+            }
-+            mb_kernel_size = mh_bss_end_addr - mh_load_addr;
-+        } else {
-+            mb_kernel_size = mb_load_size;
-         }
- 
-         /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_VBE.
--- 
-2.17.0
-
diff --git a/gnu/packages/patches/quassel-fix-tls-check.patch b/gnu/packages/patches/quassel-fix-tls-check.patch
deleted file mode 100644
index 057bc02a14..0000000000
--- a/gnu/packages/patches/quassel-fix-tls-check.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This allows quasselclient to connect to SSL-enabled quasselcore instances.
-
-The check in qglobal.h requires -fPIC (not -fPIE as it is now). When this check
-fails SSL / TLS is disabled.
-
-This patch comes from the upstream source repository [0] and can be
-removed when the next version is packaged.
-
-[0] https://github.com/quassel/quassel/commit/4768c9e99f99b581d4e32e797db91d0182391696
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -428,6 +428,11 @@ endif()
- cmake_push_check_state(RESET)
- set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES} ${Qt5Core_INCLUDE_DIRS})
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Core_EXECUTABLE_COMPILE_FLAGS}")
-+
-+if (USE_QT5 AND Qt5_POSITION_INDEPENDENT_CODE)
-+    set(CMAKE_REQUIRED_FLAGS "-fPIC -DQT_NO_VERSION_TAGGING")
-+endif()
-+
- check_cxx_source_compiles("
-     #include \"qglobal.h\"
-     #if defined QT_NO_SSL
-
diff --git a/gnu/packages/patches/scotch-build-parallelism.patch b/gnu/packages/patches/scotch-build-parallelism.patch
new file mode 100644
index 0000000000..a669f1dbeb
--- /dev/null
+++ b/gnu/packages/patches/scotch-build-parallelism.patch
@@ -0,0 +1,39 @@
+Fixes make with -j, otherwise scotch.h may not be generated by the time make
+tries to compile library_graph_diam.o et al.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21651&group_id=248&atid=1081
+
+diff --git a/src/libscotch/Makefile b/src/libscotch/Makefile
+index 9898894..b0ee14c 100644
+--- a/src/libscotch/Makefile
++++ b/src/libscotch/Makefile
+@@ -2229,6 +2229,28 @@ library_graph_color_f$(OBJ)	:	library_graph_color_f.c			\
+ 					common.h				\
+ 					scotch.h
+ 
++library_graph_diam$(OBJ)	:	library_graph_diam.c			\
++					module.h				\
++					common.h				\
++					graph.h					\
++					scotch.h
++
++library_graph_diam_f$(OBJ)	:	library_graph_diam.c			\
++					module.h				\
++					common.h				\
++					scotch.h
++
++library_graph_induce$(OBJ)	:	library_graph_diam.c			\
++					module.h				\
++					common.h				\
++					graph.h					\
++					scotch.h
++
++library_graph_induce_f$(OBJ)	:	library_graph_diam.c			\
++					module.h				\
++					common.h				\
++					scotch.h
++
+ library_graph_io_chac$(OBJ)	:	library_graph_io_chac.c			\
+ 					module.h				\
+ 					common.h				\
diff --git a/gnu/packages/patches/scotch-graph-diam-64.patch b/gnu/packages/patches/scotch-graph-diam-64.patch
new file mode 100644
index 0000000000..2ae31e3c3b
--- /dev/null
+++ b/gnu/packages/patches/scotch-graph-diam-64.patch
@@ -0,0 +1,27 @@
+Fixes test_scotch_graph_diam test with -DINTSIZE64.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21650&group_id=248&atid=1081
+
+--- scotch-6.0.5a/src/libscotch/library.h
++++ scotch-6.0.5a/src/libscotch/library.h
+@@ -187,6 +187,7 @@ SCOTCH_Num                  SCOTCH_graphBase    (SCOTCH_Graph * const, const SCO
+ int                         SCOTCH_graphCheck   (const SCOTCH_Graph * const);
+ void                        SCOTCH_graphSize    (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const);
+ void                        SCOTCH_graphData    (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num ** const, SCOTCH_Num * const, SCOTCH_Num ** const, SCOTCH_Num ** const);
++SCOTCH_Num                  SCOTCH_graphDiamPV  (SCOTCH_Graph * const);
+ void                        SCOTCH_graphStat    (const SCOTCH_Graph * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, double * const, double * const);
+ int                         SCOTCH_graphCoarsen (const SCOTCH_Graph * const, const SCOTCH_Num, const double, const SCOTCH_Num, SCOTCH_Graph * const, SCOTCH_Num * const);
+ int                         SCOTCH_graphCoarsenMatch (const SCOTCH_Graph * const, SCOTCH_Num * const, const double, const SCOTCH_Num, SCOTCH_Num * const);
+--- scotch-6.0.5a/src/libscotch/library_graph_diam.c
++++ scotch-6.0.5a/src/libscotch/library_graph_diam.c
+@@ -72,8 +72,7 @@
+ 
+ SCOTCH_Num
+ SCOTCH_graphDiamPV (
+-SCOTCH_Graph * const        grafptr,
+-const SCOTCH_Num            baseval)
++SCOTCH_Graph * const        grafptr)
+ {
+   return ((SCOTCH_Num) graphDiamPV ((Graph * const) grafptr));
+ }
diff --git a/gnu/packages/patches/scotch-graph-induce-type-64.patch b/gnu/packages/patches/scotch-graph-induce-type-64.patch
new file mode 100644
index 0000000000..d2eee52a7b
--- /dev/null
+++ b/gnu/packages/patches/scotch-graph-induce-type-64.patch
@@ -0,0 +1,19 @@
+Fixes return type of SCOTCH_graphInduceList and SCOTCH_graphInducePart
+so that the definition matches with -DINTSIZE64.
+
+Reported upstream at
+https://gforge.inria.fr/tracker/index.php?func=detail&aid=21608&group_id=248&atid=1081
+
+--- scotch_6.0.5a/src/libscotch/library.h.orig	2018-02-11 10:52:38.000000000 -0600
++++ scotch_6.0.5a/src/libscotch/library.h	2018-02-23 16:56:41.000000000 -0600
+@@ -199,8 +199,8 @@
+ int                         SCOTCH_graphGeomSaveChac (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+ int                         SCOTCH_graphGeomSaveMmkt (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+ int                         SCOTCH_graphGeomSaveScot (const SCOTCH_Graph * const, const SCOTCH_Geom * const, FILE * const, FILE * const, const char * const);
+-int                         SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
+-int                         SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
++SCOTCH_Num                  SCOTCH_graphInduceList (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_Num * const, SCOTCH_Graph * const);
++SCOTCH_Num                  SCOTCH_graphInducePart (const SCOTCH_Graph * const, const SCOTCH_Num, const SCOTCH_GraphPart2 * const, const SCOTCH_GraphPart2, SCOTCH_Graph * const);
+ 
+ int                         SCOTCH_graphMapInit (const SCOTCH_Graph * const, SCOTCH_Mapping * const, const SCOTCH_Arch * const, SCOTCH_Num * const);
+ void                        SCOTCH_graphMapExit (const SCOTCH_Graph * const, SCOTCH_Mapping * const);
diff --git a/gnu/packages/patches/zsh-CVE-2018-7548.patch b/gnu/packages/patches/zsh-CVE-2018-7548.patch
deleted file mode 100644
index 1ee15fad73..0000000000
--- a/gnu/packages/patches/zsh-CVE-2018-7548.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Fix CVE-2018-7548:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7548
-
-Patch copied from upstream source repository:
-
-https://sourceforge.net/p/zsh/code/ci/110b13e1090bc31ac1352b28adc2d02b6d25a102
-
-From 110b13e1090bc31ac1352b28adc2d02b6d25a102 Mon Sep 17 00:00:00 2001
-From: Joey Pabalinas <joeypabalinas@gmail.com>
-Date: Tue, 23 Jan 2018 22:28:08 -0800
-Subject: [PATCH] 42313: avoid null-pointer deref when using ${(PA)...} on an
- empty array result
-
----
- ChangeLog   | 5 +++++
- Src/subst.c | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-#diff --git a/ChangeLog b/ChangeLog
-#index d2ba94afc..3037edda4 100644
-#--- a/ChangeLog
-#+++ b/ChangeLog
-#@@ -1,3 +1,8 @@
-#+2018-01-23  Barton E. Schaefer  <schaefer@zsh.org>
-#+
-#+       * Joey Pabalinas: 42313: Src/subst.c: avoid null-pointer deref
-#+       when using ${(PA)...} on an empty array result
-#+
-# 2018-01-23  Oliver Kiddle  <okiddle@yahoo.co.uk>
-# 
-#        * 42317: Completion/Linux/Command/_cryptsetup,
-diff --git a/Src/subst.c b/Src/subst.c
-index d027e3d83..a265a187e 100644
---- a/Src/subst.c
-+++ b/Src/subst.c
-@@ -2430,7 +2430,7 @@ paramsubst(LinkList l, LinkNode n, char **str, int qt, int pf_flags,
- 		val = aval[0];
- 		isarr = 0;
- 	    }
--	    s = dyncat(val, s);
-+	    s = val ? dyncat(val, s) : dupstring(s);
- 	    /* Now behave po-faced as if it was always like that... */
- 	    subexp = 0;
- 	    /*
--- 
-2.16.2
-
diff --git a/gnu/packages/patches/zsh-CVE-2018-7549.patch b/gnu/packages/patches/zsh-CVE-2018-7549.patch
deleted file mode 100644
index abefcdf2f9..0000000000
--- a/gnu/packages/patches/zsh-CVE-2018-7549.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Fix CVE-2018-7549:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7549
-
-Patch copied from upstream source repository:
-
-https://sourceforge.net/p/zsh/code/ci/c2cc8b0fbefc9868fa83537f5b6d90fc1ec438dd
-
-From c2cc8b0fbefc9868fa83537f5b6d90fc1ec438dd Mon Sep 17 00:00:00 2001
-From: Stephane Chazelas <stephane.chazelas@gmail.com>
-Date: Fri, 22 Dec 2017 22:17:09 +0000
-Subject: [PATCH] Avoid crash copying empty hash table.
-
-Visible with typeset -p.
----
- ChangeLog    |  2 ++
- Src/params.c | 11 +++++++----
- 2 files changed, 9 insertions(+), 4 deletions(-)
-
-#diff --git a/ChangeLog b/ChangeLog
-#index f74c26b88..e3628cfa7 100644
-#--- a/ChangeLog
-#+++ b/ChangeLog
-#@@ -1,5 +1,7 @@
-# 2018-01-04  Peter Stephenson  <p.stephenson@samsung.com>
-# 
-#+       * Stephane: 42159: Src/params.c: avoid crash copying empty hash table.
-#+
-#        * Sebastian: 42188: Src/Modules/system.c: It is necessary to
-#        close the lock descriptor in some failure cases.
-#
-diff --git a/Src/params.c b/Src/params.c
-index 31ff0445b..de7730ae7 100644
---- a/Src/params.c
-+++ b/Src/params.c
-@@ -549,10 +549,13 @@ scancopyparams(HashNode hn, UNUSED(int flags))
- HashTable
- copyparamtable(HashTable ht, char *name)
- {
--    HashTable nht = newparamtable(ht->hsize, name);
--    outtable = nht;
--    scanhashtable(ht, 0, 0, 0, scancopyparams, 0);
--    outtable = NULL;
-+    HashTable nht = 0;
-+    if (ht) {
-+	nht = newparamtable(ht->hsize, name);
-+	outtable = nht;
-+	scanhashtable(ht, 0, 0, 0, scancopyparams, 0);
-+	outtable = NULL;
-+    }
-     return nht;
- }
- 
--- 
-2.16.2
-
diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index 832efc2b78..9c17733d4c 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -96,7 +96,7 @@ warning content is outputted via diag.")
 (define-public perl-test-base
   (package
     (name "perl-test-base")
-    (version "0.88")
+    (version "0.89")
     (source
      (origin
        (method url-fetch)
@@ -104,7 +104,7 @@ warning content is outputted via diag.")
                            "Test-Base-" version ".tar.gz"))
        (sha256
         (base32
-         "0fch1cvivnszbnwhpfmwv1rin04j5xkj1n1ylfmlxg6bm72qqdjj"))))
+         "056hibgg3i2b89mwr76vyxi6ayb3hqjqcwicvn3s5lximsma3517"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-algorithm-diff" ,perl-algorithm-diff)
@@ -317,7 +317,7 @@ structures without getting caught in an infinite loop.")
 (define-public perl-test-differences
   (package
     (name "perl-test-differences")
-    (version "0.63")
+    (version "0.64")
     (source
      (origin
        (method url-fetch)
@@ -325,7 +325,7 @@ structures without getting caught in an infinite loop.")
                            "Test-Differences-" version ".tar.gz"))
        (sha256
         (base32
-         "0rhs4q6qn64ji06ns7lwl6iiiw3mggvd9xk9nkiqvx1jihbplrbw"))))
+         "0xmj5vgklq4yqvi7l63ky1k6g7fhww68llpmw9rhlaihqbcrsicz"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
@@ -798,7 +798,7 @@ If used in a subtest, the remainder of the subtest will be skipped.")
 (define-public perl-test-notabs
   (package
     (name "perl-test-notabs")
-    (version "2.00")
+    (version "2.02")
     (source
      (origin
        (method url-fetch)
@@ -808,7 +808,7 @@ If used in a subtest, the remainder of the subtest will be skipped.")
              ".tar.gz"))
        (sha256
         (base32
-         "127kpl1va267qar2ia4c22xb96jby2jqnda3sj5pjgmxg8si26cg"))))
+         "0c306p9qdpa2ycii3c50hml23mwy6bjxpry126g1dw11hyiwcxgv"))))
     (build-system perl-build-system)
     (home-page
      "http://search.cpan.org/dist/Test-NoTabs/")
@@ -869,14 +869,14 @@ usually called epsilon.  This module provides such a function for use with
 (define-public perl-test-output
   (package
     (name "perl-test-output")
-    (version "1.03")
+    (version "1.031")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/"
                                   "Test-Output-" version ".tar.gz"))
               (sha256
                (base32
-                "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i"))))
+                "193y1xjvgc1p9pdgdwps2127knvpz9wc1xh6gmr74y3ihmqz7f7q"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)
@@ -894,7 +894,7 @@ as flexible as possible to the tester.")
 (define-public perl-test-pod
   (package
     (name "perl-test-pod")
-    (version "1.51")
+    (version "1.52")
     (source
      (origin
        (method url-fetch)
@@ -902,7 +902,7 @@ as flexible as possible to the tester.")
                            "Test-Pod-" version ".tar.gz"))
        (sha256
         (base32
-         "1yvy5mc4j3s2h4aizryvark2nm58g2c6zhw9mlx9wmsavz7d78f1"))))
+         "1z75x1pxwp8ajwq9iazlg2c3wd7rdlim08yclpdg32qnc36dpa30"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (home-page "http://search.cpan.org/dist/Test-Pod/")
@@ -1077,14 +1077,14 @@ makes fork(2) safe to use in test cases.")
 (define-public perl-test-simple
   (package
     (name "perl-test-simple")
-    (version "1.302122")
+    (version "1.302136")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
                                   "Test-Simple-" version ".tar.gz"))
               (sha256
                (base32
-                "117m707cbvrh01s3w6g371i9xvpnklifiqpcmky4f49jgck8izgm"))))
+                "0inlv8f4rbhsw6qnqhf1w6ay153xbw27fldmb2pmg4ihn19mr6ld"))))
     (build-system perl-build-system)
     (synopsis "Basic utilities for writing tests")
     (description
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index c3609dfd58..c4228e4e05 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -162,7 +162,7 @@
 
 ;; Fixes CVE-2018-6797, CVE-2018-6798, and CVE-2018-6913.
 ;; See <https://metacpan.org/changes/release/SHAY/perl-5.26.2>.
-(define-public perl-5.26.2
+(define perl-5.26.2
   (package
     (inherit perl)
     (version "5.26.2")
@@ -386,7 +386,7 @@ error when it would have happened.")
 (define-public perl-bareword-filehandles
   (package
     (name "perl-bareword-filehandles")
-    (version "0.005")
+    (version "0.006")
     (source
      (origin
        (method url-fetch)
@@ -395,7 +395,7 @@ error when it would have happened.")
              version ".tar.gz"))
        (sha256
         (base32
-         "0fdirls2pg7d6ymvlzzz59q3dy6hgh08k0qpr2mw51w127s8rav6"))))
+         "1yxz6likpfshpyfrgwyi7dw6ig1wjhh0vnvbcs6ypr62pv00fv5d"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
@@ -453,7 +453,7 @@ all known commands are checked.")
 (define-public perl-b-hooks-endofscope
   (package
     (name "perl-b-hooks-endofscope")
-    (version "0.21")
+    (version "0.24")
     (source
      (origin
        (method url-fetch)
@@ -461,7 +461,7 @@ all known commands are checked.")
                            "B-Hooks-EndOfScope-" version ".tar.gz"))
        (sha256
         (base32
-         "0b70vbpabsy9ia366k330cz1zbdyb1pwhb0l7j28pmpih045iwwh"))))
+         "1imcqxp23yc80a7p0h56sja9glbrh4qyhgzljqd4g9habpz3vah3"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)
@@ -611,7 +611,7 @@ Agency.")
 (define-public perl-business-isbn
   (package
     (name "perl-business-isbn")
-    (version "3.003")
+    (version "3.004")
     (source
      (origin
        (method url-fetch)
@@ -619,7 +619,7 @@ Agency.")
                            "Business-ISBN-" version ".tar.gz"))
        (sha256
         (base32
-         "1i2bxzqkki257rqbswa4ryj1grmwa5s47wrxln2ff5mha1ry31gm"))))
+         "07l3zfv8hagv37i3clvj5a1zc2jarr5phg80c93ks35zaz6llx9i"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-business-isbn-data" ,perl-business-isbn-data)
@@ -721,7 +721,7 @@ algorithm to keep the most used entries in the cache.")
 (define-public perl-capture-tiny
   (package
     (name "perl-capture-tiny")
-    (version "0.46")
+    (version "0.48")
     (source
      (origin
        (method url-fetch)
@@ -730,7 +730,7 @@ algorithm to keep the most used entries in the cache.")
              version ".tar.gz"))
        (sha256
         (base32
-         "05bhlx6d4nzamhkkh0pkckg7wlvaq6mazf7q1fbb5wpp1j1nlyjx"))))
+         "069yrikrrb4vqzc3hrkkfj96apsh7q0hg8lhihq97lxshwz128vc"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Capture-Tiny/")
     (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
@@ -1121,7 +1121,7 @@ to the calling program.")
 (define-public perl-class-inspector
   (package
     (name "perl-class-inspector")
-    (version "1.31")
+    (version "1.32")
     (source
      (origin
        (method url-fetch)
@@ -1129,7 +1129,7 @@ to the calling program.")
                            "Class-Inspector-" version ".tar.gz"))
        (sha256
         (base32
-         "1sqfjgzxx1f951fykc6vgfvys4j8rxaw2zf3jq26yrvs3ygn8pq6"))))
+         "0d85rihxahdvhj8cysqrgg0kbmcqghz5hgy41dbkxr1qaf5xrynf"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Class-Inspector/")
     (synopsis "Get information about a class and its structure")
@@ -1321,14 +1321,14 @@ arrays for their internal representation.")
 (define-public perl-clone
   (package
     (name "perl-clone")
-    (version "0.38")
+    (version "0.39")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/"
                                   "Clone-" version ".tar.gz"))
               (sha256
                (base32
-                "1s5xrv9zlckqqzyhxi0l9lwj9m6na2bz5hqxrkva2v7gnx5m7c4z"))))
+                "0bgsidb96gxzf3zhy6v1ksj1c200vxbwykk32fqm1mj97rl4dc5c"))))
     (build-system perl-build-system)
     (synopsis "Recursively copy Perl datatypes")
     (description
@@ -2713,7 +2713,7 @@ variable in a subroutines scope to one of your choosing.")
 (define-public perl-devel-overloadinfo
   (package
     (name "perl-devel-overloadinfo")
-    (version "0.004")
+    (version "0.005")
     (source
      (origin
        (method url-fetch)
@@ -2721,7 +2721,7 @@ variable in a subroutines scope to one of your choosing.")
                            "Devel-OverloadInfo-" version ".tar.gz"))
        (sha256
         (base32
-         "0zckjhzdqa6smpp98y15mqafsyzwjxwrvk10snzhn2sb0r889s43"))))
+         "1rx6g8pyhi7lx6z130b7vlf8syzrq92w9ky8mpw4d6bwlkzy5zcb"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)))
@@ -3026,14 +3026,14 @@ separator.")
 (define-public perl-error
   (package
     (name "perl-error")
-    (version "0.17023")
+    (version "0.17025")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/S/SH/SHLOMIF/"
                                   "Error-" version ".tar.gz"))
               (sha256
                (base32
-                "0dsxic78mxy30qvbbdzfyp501hbkwhnbmafqfxipr0yqfy8f2j5g"))))
+                "1bzgzmf1v4md02vadm46b4j4ilqxrcrfasvbzymhrznlsd54g7vc"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (home-page "http://search.cpan.org/dist/Error/")
@@ -3371,7 +3371,7 @@ type.")
 (define-public perl-file-find-rule
   (package
     (name "perl-file-find-rule")
-    (version "0.33")
+    (version "0.34")
     (source
      (origin
        (method url-fetch)
@@ -3379,7 +3379,7 @@ type.")
                            "File-Find-Rule-" version ".tar.gz"))
        (sha256
         (base32
-         "0w73b4jr2fcrd74a1w3b2jryq3mqzc8z5mk7ia9p85xn3qmpa5r4"))))
+         "1znachnhmi1w5pdqx8dzgfa892jb7x8ivrdy4pzjj7zb6g61cvvy"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-text-glob" ,perl-text-glob)
@@ -3636,7 +3636,7 @@ distributions.  It is a companion module to File::ShareDir.")
 (define-public perl-file-sharedir-install
   (package
     (name "perl-file-sharedir-install")
-    (version "0.11")
+    (version "0.13")
     (source
      (origin
        (method url-fetch)
@@ -3644,7 +3644,7 @@ distributions.  It is a companion module to File::ShareDir.")
                            "File-ShareDir-Install-" version ".tar.gz"))
        (sha256
         (base32
-         "1j0cw1aq9fdv9kl1a6fnfa4zihsvmcqzy9sb0xk0i9pyx5r8ggrj"))))
+         "1yc0wlkav2l2wr36a53n4mnhsy2zv29z5nm14mygxgjwv7qgvgj5"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
@@ -4522,17 +4522,17 @@ logging mechanism.")
 (define-public perl-log-any-adapter-log4perl
   (package
     (name "perl-log-any-adapter-log4perl")
-    (version "0.08")
+    (version "0.09")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "mirror://cpan/authors/id/D/DA/DAGOLDEN/Log-Any-Adapter-Log4perl-"
+             "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-"
              version
              ".tar.gz"))
        (sha256
         (base32
-         "0xf4fnrsznvg0hf36q481124ja1hp3lybki1xjgnk82z9990jmxn"))))
+         "19f1drqnzr6g4xwjm6jk4iaa3zmiax8bzxqch04f4jr12bjd75qi"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-log-any" ,perl-log-any)
@@ -4981,7 +4981,7 @@ messages.")
 (define-public perl-mime-types
   (package
     (name "perl-mime-types")
-    (version "2.16")
+    (version "2.17")
     (source
      (origin
        (method url-fetch)
@@ -4989,7 +4989,7 @@ messages.")
                            "MIME-Types-" version ".tar.gz"))
        (sha256
         (base32
-         "0nkv99yd8bxa6h8c52nd07142f0mdzjnhcdw66s3wljmzsi9z8hk"))))
+         "1xlg7q6h8zyb8534sy0iqn90py18kilg419q6051bwqz5zadfkp0"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/MIME-Types/")
     (synopsis "Definition of MIME types")
@@ -5127,7 +5127,7 @@ debug options.
 (define-public perl-module-find
   (package
     (name "perl-module-find")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method url-fetch)
@@ -5135,7 +5135,7 @@ debug options.
                            "Module-Find-" version ".tar.gz"))
        (sha256
         (base32
-         "1lc33jdv4pgmm7nkr9bff0lhwjhhw91kaf6iiy2n7i7mw8dfv47l"))))
+         "0s45y5lvd9k89g7lds83c0bn1p29c13hfsbrd7x64jfaf8h8cisa"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Module-Find/")
     (synopsis "Find and use installed modules in a (sub)category")
@@ -6258,7 +6258,7 @@ and libraries based on OpenSSL.")
 (define-public perl-multidimensional
   (package
     (name "perl-multidimensional")
-    (version "0.013")
+    (version "0.014")
     (source
      (origin
        (method url-fetch)
@@ -6267,7 +6267,7 @@ and libraries based on OpenSSL.")
              version ".tar.gz"))
        (sha256
         (base32
-         "02p5zv68i39hnkmzzxsk1fi7xy56pfcsslrd7yqwzhq74czcw81x"))))
+         "0prchsg547ziysjl8ghiid6ph3m2xnwpsrwrjymibga7fhqi9sqj"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
@@ -7172,7 +7172,7 @@ and @code{deserialize_regexp}.")
 (define-public perl-safe-isa
   (package
     (name "perl-safe-isa")
-    (version "1.000008")
+    (version "1.000010")
     (source
      (origin
        (method url-fetch)
@@ -7180,7 +7180,7 @@ and @code{deserialize_regexp}.")
                            "Safe-Isa-" version ".tar.gz"))
        (sha256
         (base32
-         "08r74hwxq5b3bibnbwjr9anybg15l3zqdgcirpw1xm2qpvcxgdkx"))))
+         "0sm6p1kw98s7j6n92vvxjqf818xggnmjwci34xjmw7gzl2519x47"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Safe-Isa/")
     (synopsis "Call isa, can, does, and DOES safely")
@@ -7452,7 +7452,7 @@ run from within a source-controlled directory.")
 (define-public perl-strictures-2
   (package
     (inherit perl-strictures)
-    (version "2.000003")
+    (version "2.000004")
     (source
      (origin
        (method url-fetch)
@@ -7460,7 +7460,7 @@ run from within a source-controlled directory.")
                            "strictures-" version ".tar.gz"))
        (sha256
         (base32
-         "08mgvf1d2651gsg3jgjfs13878ndqa4ji8vfsda9f7jjd84ymy17"))))))
+         "0lzp0q6kwk6vgf7zdlvy9zz28fj6n1b776irm556c7gylcq29113"))))))
 
 (define-public perl-string-camelcase
   (package
@@ -7691,7 +7691,7 @@ return value is the sub.")
 (define-public perl-sub-quote
   (package
     (name "perl-sub-quote")
-    (version "2.005000")
+    (version "2.005001")
     (source
      (origin
        (method url-fetch)
@@ -7700,7 +7700,7 @@ return value is the sub.")
              version ".tar.gz"))
        (sha256
         (base32
-         "1zv45cvj4ifkbr61ydcpphnj6lvib37gfxwfh40h0yzf3c8lbca4"))))
+         "01xsvfdpxzimsbrp9mqipsr93y83nhj21q05g8v1bw6yfl3lzayn"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)))
@@ -7873,7 +7873,7 @@ of a system.")
 (define-public perl-task-weaken
   (package
     (name "perl-task-weaken")
-    (version "1.05")
+    (version "1.06")
     (source
      (origin
        (method url-fetch)
@@ -7881,7 +7881,7 @@ of a system.")
                            "Task-Weaken-" version ".tar.gz"))
        (sha256
         (base32
-         "0p5ryr3421p5rqj6dk5dcvxsml5gl9skbn7gv4szk50fimrvzww5"))))
+         "1gk6rmnp4x50lzr0vfng41khf0f8yzxlm0pad1j69vxskpdzx0r3"))))
     (build-system perl-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -8261,7 +8261,7 @@ to tabs.")
 (define-public perl-text-glob
   (package
     (name "perl-text-glob")
-    (version "0.09")
+    (version "0.11")
     (source
      (origin
        (method url-fetch)
@@ -8269,7 +8269,7 @@ to tabs.")
                            "Text-Glob-" version ".tar.gz"))
        (sha256
         (base32
-         "0lr76wrsj8wcxrq4wi8z1640w4dmdbkznp06q744rg3g0bd238d5"))))
+         "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (home-page "http://search.cpan.org/dist/Text-Glob/")
@@ -8791,7 +8791,7 @@ variable conform.")
 (define-public perl-type-tiny
   (package
     (name "perl-type-tiny")
-    (version "1.002001")
+    (version "1.002002")
     (source
      (origin
        (method url-fetch)
@@ -8799,7 +8799,7 @@ variable conform.")
                            "Type-Tiny-" version ".tar.gz"))
        (sha256
         (base32
-         "1p8krim8kvw123nady96fagi8sk2pj1z8jkr4r8n45ihyamfxjck"))))
+         "0b48v28rvl20969gyr62yg6gr6a2nj9qik0bixavbjdmk67hqnx8"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-warnings" ,perl-test-warnings)))
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 437acd305d..2c0c2313f4 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -69,14 +69,14 @@
 (define-public libraw
   (package
     (name "libraw")
-    (version "0.18.8")
+    (version "0.18.9")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.libraw.org/data/LibRaw-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1qi0fkw2zmd0yplrf79z7lgpz0hxl45dj5rdgpaj7283jzys9b2n"))))
+                "0kmjfdr409k9q9n17k9ywims5z4kqc16s81ba7y09n7669q1gvyj"))))
     (build-system gnu-build-system)
     (home-page "https://www.libraw.org")
     (synopsis "Raw image decoder")
@@ -330,7 +330,7 @@ photographic equipment.")
 (define-public darktable
   (package
     (name "darktable")
-    (version "2.4.2")
+    (version "2.4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -339,7 +339,7 @@ photographic equipment.")
                     version "/darktable-" version ".tar.xz"))
               (sha256
                (base32
-                "10asz918kv2248px3w9bn5k8cfrad5xrci58x9y61l0yf5hcpk0r"))))
+                "1lq3xp7hhfhfwqrz0f2mrp3xywnpvb0nlw6lbm5cgx22s5xzri8x"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ; There are no tests.
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 69b6ffd3f4..48e84521c5 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -620,6 +620,9 @@ Networking and Cryptography library.  These libraries have a stated goal
 of improving usability, security and speed.")
     (license license:asl2.0)))
 
+(define-public python2-pynacl
+  (package-with-python2 python-pynacl))
+
 (define-public python2-pgpdump
   (package
     (name "python2-pgpdump")
@@ -715,28 +718,28 @@ Python.")
 (define-public python-josepy
   (package
     (name "python-josepy")
-    (version "1.0.1")
+    (version "1.1.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "josepy" version))
               (sha256
                (base32
-                "1k0ahzzaq2rrjiifwbhbp7vm8z4zk0ipgiqwicil80kzlf6bhj4z"))))
+                "11khz8malzrv375b27jjkv66z6z6khdx1v5mkkr4vq16gp3n4p7v"))))
     (build-system python-build-system)
     (arguments
-     ;; The tests require pytest >= 3.2, which is not yet packaged.
+     ;; The tests require flake8 >= 3.5, which is not yet packaged.
      '(#:tests? #f))
     (propagated-inputs
      `(("python-cryptography" ,python-cryptography)
        ("python-pyopenssl" ,python-pyopenssl)
        ("python-six" ,python-six)))
-;; TODO Enable when we have pytest >= 3.2.
+;; TODO Enable when we have flake8 >= 3.5.
 ;    (native-inputs
 ;     `(("python-coverage" ,python-coverage)
 ;       ("python-flake8" ,python-flake8)
 ;       ("python-isort" ,python-isort)
 ;       ("python-mock" ,python-mock)
-;       ("python-pytest" ,python-pytest-3.0)
+;       ("python-pytest" ,python-pytest)
 ;       ("python-pytest-cov" ,python-pytest-cov)
 ;       ("python-pytest-cache" ,python-pytest-cache)
 ;       ("python-pytest-flake8" ,python-pytest-flake8)))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index d15ad92a56..6e8d9ab954 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -44,6 +44,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system python)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -214,13 +215,13 @@ and written in Python.")
 (define-public python-html5-parser
   (package
     (name "python-html5-parser")
-    (version "0.4.4")
+    (version "0.4.5")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "html5-parser" version))
               (sha256
                (base32
-                "1d8sxhl41ffh7qlk7wlsy17xw6slzx5v1yna9s72wx5qrpaa3wxr"))))
+                "01mx33sx4dhl4kj6wc48nj6jz7ry60rkhjv0s6k8h5xmjf5yy0x9"))))
     (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -998,13 +999,13 @@ facilities for defining, registering and looking up components.")
 (define-public python-ndg-httpsclient
   (package
     (name "python-ndg-httpsclient")
-    (version "0.4.4")
+    (version "0.5.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "ndg_httpsclient" version))
               (sha256
                 (base32
-                  "0sl5ak1r1xil9ms0a9fh9fm6ncml65kgnjpjfic9dhnaimwx997v"))))
+                  "12q8rjvsvjphj6lvvcka2izdjr36a5lgkygajwx6p4wh0x1za2f0"))))
     (build-system python-build-system)
     (arguments
      '(;; The tests appear to require networking.
@@ -1024,7 +1025,9 @@ of the SSL peer.")
 (define-public python2-ndg-httpsclient
   (package (inherit python-ndg-httpsclient)
     (name "python2-ndg-httpsclient")
-    (arguments `(#:python ,python-2))
+    (arguments
+     (substitute-keyword-arguments (package-arguments python-ndg-httpsclient)
+       ((#:python _) python-2)))
     (propagated-inputs
      `(("python2-pyopenssl" ,python2-pyopenssl)))))
 
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e342d62a03..37434c4758 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -1290,14 +1290,14 @@ after Andy Lester’s Perl module WWW::Mechanize.")
 (define-public python-simplejson
   (package
     (name "python-simplejson")
-    (version "3.13.2")
+    (version "3.14.0")
     (source
      (origin
       (method url-fetch)
       (uri (pypi-uri "simplejson" version))
       (sha256
        (base32
-        "02jg5nixffqyicfqdl4dil82fh1z9p2as758wp0nqwalw0hcykjc"))))
+        "1lkv3xlf7ryzi69zqfdbkvpxdfy1rg1rq2yzcnxgf4km5m6difqy"))))
     (build-system python-build-system)
     (home-page "http://simplejson.readthedocs.org/en/latest/")
     (synopsis
@@ -2525,13 +2525,13 @@ sources.")
 (define-public python-sphinx-1.6
   (package (inherit python-sphinx)
     (name "python-sphinx")
-    (version "1.6.3")
+    (version "1.6.4")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Sphinx" version))
               (sha256
                (base32
-                "1rj6f3i8hmrx2qlkshi5kp5xcy98dlynwlyl05yvflj5f66dp2xg"))))
+                "0gjakw9fv5pwqb5yyclxycs36sapxizk1vx6mkcdizmzgzcfy0gi"))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -2638,14 +2638,14 @@ and several other projects.")
 (define-public python-rst.linker
   (package
     (name "python-rst.linker")
-    (version "1.7")
+    (version "1.9")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "rst.linker" version))
        (sha256
         (base32
-         "0bh4lnj2p1nh0wf5pgxgfbrp27xhb1rinahkb5j7s3qprq6qn0sr"))))
+         "16crgnai6020vdmnpwdimw1vm3jb74ysfyb3kmcidb0lgma5xq2d"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-dateutil" ,python-dateutil)
@@ -3876,28 +3876,28 @@ multivalue dictionary that retains the order of insertions and deletions.")
 
 (define-public python-autopep8
   (package
-  (name "python-autopep8")
-  (version "1.3.2")
-  (source
-   (origin
-     (method url-fetch)
-     (uri (pypi-uri "autopep8" version))
-     (sha256
-      (base32
-       "1p9pa1ffg4iy96l918808jggg9a69iaka5awmj8xid36yc5mk0ky"))))
-  (build-system python-build-system)
-  (propagated-inputs
-    `(("python-pycodestyle" ,python-pycodestyle)))
-  (home-page "https://github.com/hhatto/autopep8")
-  (synopsis "Format Python code according to the PEP 8 style guide")
-  (description
-    "@code{autopep8} automatically formats Python code to conform to
+    (name "python-autopep8")
+    (version "1.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "autopep8" version))
+       (sha256
+        (base32
+         "192bvhzi4d0claqxgzymvv7k3qnj627742bc8sgxpzjj42pd9112"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pycodestyle" ,python-pycodestyle)))
+    (home-page "https://github.com/hhatto/autopep8")
+    (synopsis "Format Python code according to the PEP 8 style guide")
+    (description
+     "@code{autopep8} automatically formats Python code to conform to
 the PEP 8 style guide.  It uses the pycodestyle utility to determine
 what parts of the code needs to be formatted.  @code{autopep8} is
 capable of fixing most of the formatting issues that can be reported
 by pycodestyle.")
-  (license (license:non-copyleft
-            "https://github.com/hhatto/autopep8/blob/master/LICENSE"))))
+    (license (license:non-copyleft
+              "https://github.com/hhatto/autopep8/blob/master/LICENSE"))))
 
 (define-public python2-autopep8
   (package-with-python2 python-autopep8))
@@ -8264,13 +8264,13 @@ anymore.")
 (define-public python2-pathlib2
   (package
     (name "python2-pathlib2")
-    (version "2.3.0")
+    (version "2.3.2")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pathlib2" version))
               (sha256
                (base32
-                "1cx5gs2v9j2vnzmcrbq5l8fq2mwrr1h6pyf1sjdji2w1bavm09fk"))))
+                "10yb0iv5x2hs631rcppkhbddx799d3h8pcwmkbh2a66ns3w71ccf"))))
     (build-system python-build-system)
     ;; We only need the the Python 2 variant, since for Python 3 our minimum
     ;; version is 3.4 which already includes this package as part of the
@@ -10482,14 +10482,14 @@ a file-like object from which an arbitrarly-sized key can be read.")
 (define-public python-qrcode
   (package
     (name "python-qrcode")
-    (version "5.3")
+    (version "6.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "qrcode" version))
        (sha256
         (base32
-         "0kljfrfq0c2rmxf8am57333ia41kd0snbm2rnqbdy816hgpcq5a1"))))
+         "1gz1g2n9kqwqkak78aavr354z1v3yyiksk7q6xp5hi1zr6s0syq3"))))
     (build-system python-build-system)
     (arguments
      ;; FIXME: Tests require packaging 'pymaging'.
@@ -12788,14 +12788,14 @@ and works only with Python 2 and NumPy < 1.9.")
 (define-public python-yapf
   (package
     (name "python-yapf")
-    (version "0.20.1")
+    (version "0.21.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "yapf" version))
        (sha256
         (base32
-         "0s7l6afzxvpx39kzd0lwshlaxw8m4fwh4iy0rlmav4vipr3g46dx"))))
+         "144gc7d6b1415vh02409rnb8qd5kxi6mxlr7y64d5cizgxbf72kx"))))
     (build-system python-build-system)
     (home-page "https://github.com/google/yapf")
     (synopsis "Formatter for Python code")
@@ -13263,7 +13263,7 @@ in Python.  You can simply type pybtex instead of bibtex.")
        (sha256
         (base32 "09vagxgbq78wvq4xbikmn2hpqqsa2i96kqsmphf7dqynfv0dlsd5"))))
     (build-system python-build-system)
-    (inputs `(("python-six" ,python-six)))
+    (propagated-inputs `(("python-six" ,python-six)))
     (home-page "https://github.com/tadeck/onetimepass/")
     (synopsis "One-time password library")
     (description "Python one-time password library for HMAC-based (HOTP) and
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 98bb5bd110..c15e677438 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -4079,14 +4079,14 @@ support to both Ruby and JRuby.  It uses @code{unf_ext} on CRuby and
 (define-public ruby-domain-name
   (package
     (name "ruby-domain-name")
-    (version "0.5.20170404")
+    (version "0.5.20180417")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "domain_name" version))
        (sha256
         (base32
-         "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf"))))
+         "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v"))))
     (build-system ruby-build-system)
     (arguments
      `(#:phases
@@ -4585,14 +4585,14 @@ files and use the data therein.")
 (define-public ruby-ascii85
   (package
     (name "ruby-ascii85")
-    (version "1.0.2")
+    (version "1.0.3")
     (source
      (origin
        (method url-fetch)
        (uri (rubygems-uri "Ascii85" version))
        (sha256
         (base32
-         "0j95sbxd18kc8rhcnvl1w37kflqpax1r12h1x47gh4xxn3mz4m7q"))))
+         "0658m37jjjn6drzqg1gk4p6c205mgp7g1jh2d00n4ngghgmz5qvs"))))
     (build-system ruby-build-system)
     (native-inputs
      `(("bundler" ,bundler)))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 50b5368a3b..dba5067e9e 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
@@ -302,7 +302,7 @@ Scheme and C programs and between Scheme and Java programs.")
                                  version ".tar.gz"))
              (sha256
               (base32
-               "09m7pahjsp7wxzd20cdph9j3mgf2nq5dyckcjljcd40m25v85kks"))))
+               "0bvq79vxcpgwydwi923cxb5w9isx2x8r3d0xndbdhacmmsw1m811"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 72abfbf699..43cf2795dd 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -505,7 +505,7 @@ sound and device input (keyboards, joysticks, mice, etc.).")
              (string-append "--with-libsdl2-mixer-prefix="
                             (assoc-ref %build-inputs "sdl2-mixer")))))
     (native-inputs
-     `(("guile" ,guile-2.0)
+     `(("guile" ,guile-2.2)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("sdl2" ,sdl2)
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 5527e8ab79..8b41c8d613 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -292,20 +292,18 @@ history mechanism, job control and a C-like syntax.")
 (define-public zsh
   (package
     (name "zsh")
-    (version "5.4.2")
+    (version "5.5.1")
     (source (origin
               (method url-fetch)
               (uri (list (string-append
                            "http://www.zsh.org/pub/zsh-" version
-                           ".tar.gz")
+                           ".tar.xz")
                          (string-append
                            "http://www.zsh.org/pub/old/zsh-" version
-                           ".tar.gz")))
-              (patches (search-patches "zsh-CVE-2018-7548.patch"
-                                       "zsh-CVE-2018-7549.patch"))
+                           ".tar.xz")))
               (sha256
                (base32
-                "1jdcfinzmki2w963msvsanv29vqqfmdfm4rncwpw0r3zqnrcsywm"))))
+                "105aqkdfsdxc4531anrj2zis2ywz6icagjam9lsc235yzh48ihz1"))))
     (build-system gnu-build-system)
     (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre")
                  #:phases
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index 521be54c49..38d4a3a6bd 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -302,7 +302,7 @@ resolution scaling on graphical console window resize.")
 (define-public virt-viewer
   (package
     (name "virt-viewer")
-    (version "5.0")
+    (version "6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -310,7 +310,7 @@ resolution scaling on graphical console window resize.")
                 "virt-viewer-" version ".tar.gz"))
               (sha256
                (base32
-                "0blbp1wkw8ahss9va0bmcz2yx18j0mvm6fzrzhh2ly3sja5ysb8b"))))
+                "1chqrf658niivzfh85cbwkbv9vyg8sv1mv3i31vawkfsfdvvsdwh"))))
     (build-system gnu-build-system)
     (inputs
       `(("gtk+" ,gtk+)
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index d712e06431..112ccb3280 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -258,8 +258,20 @@ Additionally, various channel-specific options can be negotiated.")
                              (substitute* (find-files "." "\\.scm$")
                                (("\"libguile-ssh\"")
                                 (string-append "\"" libdir "/libguile-ssh\"")))
-                             #t)))))
-
+                             #t))))
+                  (add-after 'install 'remove-bin-directory
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let* ((out (assoc-ref outputs "out"))
+                             (bin (string-append out "/bin"))
+                             (examples (string-append
+                                        out "/share/guile-ssh/examples")))
+                        (mkdir-p examples)
+                        (rename-file (string-append bin "/ssshd.scm")
+                                     (string-append examples "/ssshd.scm"))
+                        (rename-file (string-append bin "/sssh.scm")
+                                     (string-append examples "/sssh.scm"))
+                        (delete-file-recursively bin)
+                        #t))))
        ;; Tests are not parallel-safe.
        #:parallel-tests? #f))
     (native-inputs `(("autoconf" ,autoconf)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 5069ef7c5d..51f5ad91b1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -361,14 +361,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.0.7")
+    (version "2.0.7-1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "0nf2hnsv5rhw6399b4gk1rj5c8hfc6ajfnkh3qbwfx3cz4asrg45"))))
+         "1grxbifbc4nwig25dmjgkympnbzb4al0w6k1c0ibdhpk1h4l20di"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -402,14 +402,14 @@ code for possible problems.")
 (define-public r-foreign
   (package
     (name "r-foreign")
-    (version "0.8-69")
+    (version "0.8-70")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "foreign" version))
        (sha256
         (base32
-         "0s1lxmd85dd0kxx8hwk02w9l7pmpk4bpy7787fbyh2dbq5g9ys0k"))))
+         "11mql8q3i1q593dvd351fhvkvfab25li80d1ahl4xjjzy52qdkc6"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/foreign")
     (synopsis "Read data stored by other statistics software")
@@ -488,14 +488,14 @@ and operations on them using LAPACK and SuiteSparse.")
 (define-public r-nlme
   (package
     (name "r-nlme")
-    (version "3.1-131.1")
+    (version "3.1-137")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "nlme" version))
        (sha256
         (base32
-         "1xafi670a9jzb52kqxkacxfmy0viac3aql5byfq86kgkgla2sg0y"))))
+         "11vyxxc0n36vb8d8g02zr0402ymicvbifwdsqm7gy9iqqnwrn101"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lattice" ,r-lattice)))
@@ -593,14 +593,14 @@ analysis.")
 (define-public r-survival
   (package
     (name "r-survival")
-    (version "2.41-3")
+    (version "2.42-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "survival" version))
        (sha256
         (base32
-         "07cnr0hnki6ybbjll54l4s5lllhk19vni5f8m0mvsfp99ls7qygk"))))
+         "15pasbfzmg2r5bfpsadp9ia4cpybqz6n1kwm7ma02ykzf7bk4xx0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-matrix" ,r-matrix)))
@@ -2694,13 +2694,13 @@ a column in data frame.")
 (define-public r-rsqlite
   (package
     (name "r-rsqlite")
-    (version "2.0")
+    (version "2.1.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RSQLite" version))
               (sha256
                (base32
-                "1xpg1i1jkzkzv44k512k90c2vvl960pl2d4a3spwcha6yclyc3vz"))))
+                "0hknfqcgijdapx1ryy20zy68qmm8wsb1hjx4n4hmkgl552z82q5d"))))
     (properties `((upstream-name . "RSQLite")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2766,13 +2766,13 @@ ldap, and also supports cookies, redirects, authentication, etc.")
 (define-public r-xml
   (package
     (name "r-xml")
-    (version "3.98-1.10")
+    (version "3.98-1.11")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "XML" version))
               (sha256
                (base32
-                "1faza9bbllp67lf1yv1sllxc3iv8llz52m9diazhq322iqbh97m1"))))
+                "18izvlg2x9mzr6yb3yf02ghwbyn00frki3av4lpc44r22m4djnsh"))))
     (properties
      `((upstream-name . "XML")))
     (build-system r-build-system)
@@ -2820,28 +2820,17 @@ plotted and compared with the asymptotic curve.")
 (define-public r-lambda-r
   (package
     (name "r-lambda-r")
-    (version "1.2")
+    (version "1.2.2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "lambda.r" version))
               (sha256
                (base32
-                "0vql32np716dpd0kjn7s7wgawd02ysgp2a5il4kb19nlw661ii3x"))))
+                "05cfaq9dbgdnmmj3d6ggmsw300qgiw8k7f6h6k0ylv63cf3v6pkq"))))
     (properties `((upstream-name . "lambda.r")))
     (build-system r-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'check 'delete-test-log
-           ;; The test report contains time stamps and is not important for
-           ;; the installed package.
-           (lambda* (#:key outputs #:allow-other-keys)
-             (delete-file-recursively
-              (string-append (assoc-ref outputs "out")
-                             "/site-library/lambda.r/unitTests"))
-             #t)))))
-    (native-inputs
-     `(("r-runit" ,r-runit)))
+    (propagated-inputs
+     `(("r-formatr" ,r-formatr)))
     (home-page "https://cran.r-project.org/web/packages/lambda.r")
     (synopsis "Functional programming extension for R")
     (description
@@ -2854,13 +2843,13 @@ safety.")
 (define-public r-futile-options
   (package
     (name "r-futile-options")
-    (version "1.0.0")
+    (version "1.0.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "futile.options" version))
               (sha256
                (base32
-                "1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"))))
+                "0w15agpi88y3qkv6fl72zy2pzyplzgvnj41a4ixhg64mw1sck73s"))))
     (properties
      `((upstream-name . "futile.options")))
     (build-system r-build-system)
@@ -3410,13 +3399,13 @@ want to migrate to S4.")
 (define-public r-r-oo
   (package
     (name "r-r-oo")
-    (version "1.21.0")
+    (version "1.22.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R.oo" version))
               (sha256
                (base32
-                "0723gxjazgqq7v3lwnl7axw3brzcnizvhbd71ijkkv8mz31fwp34"))))
+                "0k6xwy93fpb2p7bs76lzk52br9rv5xnd9524xj8qyazv1132x1n0"))))
     (properties `((upstream-name . "R.oo")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4222,13 +4211,13 @@ series of numeric vectors/matrices and factors.")
 (define-public r-ztable
   (package
     (name "r-ztable")
-    (version "0.1.5")
+    (version "0.1.8")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ztable" version))
               (sha256
                (base32
-                "1jfqnqy9544gfvz3bsb48v4177nwp4b4n9l2743asq8sbq305b5r"))))
+                "1hk5k9614n52dpfrhdws06w4gvwhnz8q47x4cwxx88qmrzm8z2m3"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/ztable")
     (synopsis "Zebra-striped tables in LaTeX and HTML formats for R")
@@ -4281,14 +4270,14 @@ closely-packed, non-overlapping points.")
 (define-public r-sourcetools
   (package
     (name "r-sourcetools")
-    (version "0.1.6")
+    (version "0.1.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sourcetools" version))
        (sha256
         (base32
-         "0l8c6fql82cb246qh7hfgxb4s35qn0qfgy6dzvkx0zkz1cpqvx69"))))
+         "1jnjir0q2dj724f1mjm6p5h77yzyx6xcqy9r2g7gmcxkxw349627"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/sourcetools")
     (synopsis "Tools for reading, tokenizing and parsing R code")
@@ -4697,14 +4686,14 @@ can be efficiently implemented directly in the R language.")
 (define-public r-robustbase
   (package
     (name "r-robustbase")
-    (version "0.92-8")
+    (version "0.93-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "robustbase" version))
        (sha256
         (base32
-         "080ynchq8pvhnmbivj4fp74n0x9lyr9923sg0s9gq5irgm68kgxw"))))
+         "130pzibn5cb8mycv8byc6npzcpddghz8m7jqwk15qmx4g3cj8zgy"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -5071,14 +5060,14 @@ algorithms.")
 (define-public r-lme4
   (package
     (name "r-lme4")
-    (version "1.1-16")
+    (version "1.1-17")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "lme4" version))
        (sha256
         (base32
-         "0p5x9ki4dq8058mc7k9wdnlh60z1xa3wk2nmf71wl7w59m4szh92"))))
+         "0czwdy1s8h3slaw73pz0h8qmqczf5135fz6i46i2dv1ql2pbq49x"))))
     (build-system r-build-system)
     (native-inputs
      `(("r-rcpp" ,r-rcpp)
@@ -5123,24 +5112,50 @@ modification of F-tests for linear mixed effects models and a parametric
 bootstrap test for generalized linear mixed models.")
     (license license:gpl2+)))
 
+(define-public r-cardata
+  (package
+    (name "r-cardata")
+    (version "3.0-1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "carData" version))
+       (sha256
+        (base32
+         "193pdwgw6gk19v7swk1kwphg3vqdmpsgi555g9nyz93sa39j7r8j"))))
+    (properties `((upstream-name . "carData")))
+    (build-system r-build-system)
+    (home-page "https://r-forge.r-project.org/projects/car/")
+    (synopsis "Data Sets for the book Companion to Applied Regression")
+    (description
+     "This package provides datasets to accompany J. Fox and S. Weisberg, An R
+Companion to Applied Regression, Third Edition, Sage.")
+    (license license:gpl2+)))
+
 (define-public r-car
   (package
     (name "r-car")
-    (version "2.1-6")
+    (version "3.0-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "car" version))
        (sha256
         (base32
-         "14l4d9j87xnb0bz2wgqqbxnlnbcdfb5vx2fw6kdxj91kyrk6lhnj"))))
+         "1ks2jaav8lbxhzw56vpbnysjk3pvpmqh6avd574k0bha1226k81h"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-mass" ,r-mass)
+     `(("r-abind" ,r-abind)
+       ("r-cardata" ,r-cardata)
+       ("r-lme4" ,r-lme4)
+       ("r-maptools" ,r-maptools)
+       ("r-mass" ,r-mass)
        ("r-mgcv" ,r-mgcv)
+       ("r-nlme" ,r-nlme)
        ("r-nnet" ,r-nnet)
        ("r-pbkrtest" ,r-pbkrtest)
-       ("r-quantreg" ,r-quantreg)))
+       ("r-quantreg" ,r-quantreg)
+       ("r-rio" ,r-rio)))
     (home-page "https://r-forge.r-project.org/projects/car/")
     (synopsis "Companion to applied regression")
     (description
@@ -5247,14 +5262,14 @@ first and second order derivatives.")
 (define-public r-sn
   (package
     (name "r-sn")
-    (version "1.5-1")
+    (version "1.5-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sn" version))
        (sha256
         (base32
-         "0l7qlah6dwkp8jswnr2mn3phlm15naba5zkmv0g5pcqy5ix0gz7w"))))
+         "16gwr68zzj5v83bqfmzxnzwig3dnjrkxdhs6clri1caqkvrq6aig"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-mnormt" ,r-mnormt)
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 9882a4ec34..11f6f9d7e8 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -51,14 +51,14 @@
 (define-public ceph
   (package
     (name "ceph")
-    (version "12.2.4")
+    (version "12.2.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://download.ceph.com/tarballs/ceph-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "13hv8scaxc1gdvrhzbfnsk4yy3pla6n1i4j4j4zf7schmbf0j8mp"))
+                "1ydc3mfvc0vpnpfnfmissvsrsj4jyxgzc2pcl1a4vdr3bwkcglp3"))
               (patches
                (search-patches "ceph-skip-unittest_blockdev.patch"
                                "ceph-skip-collect-sys-info-test.patch"
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 93390df946..0a90610ecb 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -860,8 +860,6 @@ implements arithmetic over the Galois Field GF(256).")
        `(#:import-path "github.com/vitrun/qart/qr"
          #:unpack-path "github.com/vitrun/qart"))
       (synopsis "Qart component for generating QR codes")
-      (description "This package, a component of @code{qart}, provides
-@code{qr}, for QR code generation.")
       (description "This package provides a library for embedding
 human-meaningful graphics in QR codes.  However, instead of scribbling on
 redundant pieces and relying on error correction to preserve the meaning,
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 06e8e47323..2536754eb7 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -239,14 +239,16 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings.  e3 can be used on
 (define-public mg
   (package
     (name "mg")
-    (version "20171014")
+    (version "20180408")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://homepage.boetes.org/software/mg/mg-"
-                                  version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hboetes/mg")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai"))
+                "06w86xk7sjl2x2h3z6msn8kpmwj05qdimcym77wzhz5s94dzh1bl"))
               (modules '((guix build utils)))
               (snippet '(begin
                           (substitute* "GNUmakefile"
@@ -262,10 +264,9 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings.  e3 can be used on
      ;; No test suite available.
      '(#:tests? #f
        #:make-flags (list (string-append "prefix=" %output)
-                          "CURSES_LIBS=-lncurses"
                           "CC=gcc")
        #:phases (modify-phases %standard-phases
-                  (delete 'configure)
+                  (delete 'configure)   ; no configure script
                   (add-before 'build 'correct-location-of-difftool
                     (lambda _
                       (substitute* "buffer.c"
@@ -294,7 +295,7 @@ team.")
 (define-public ghostwriter
   (package
     (name "ghostwriter")
-    (version "1.6.1")
+    (version "1.6.2")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -303,7 +304,7 @@ team.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ihdr4xk0j83q83xknbikxb7yf9qhlkgvc89w33lhj090cv376gd"))))
+                "0251563zy0q69fzfacvalpx43y15cshb0bhshyd4w37061gh1c12"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 78532ec268..5734bf62d6 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -135,7 +135,7 @@ libenca and several charset conversion libraries and tools.")
 (define-public utf8proc
   (package
     (name "utf8proc")
-    (version "2.1.0")
+    (version "2.1.1")
     (source
      (origin
        (method url-fetch)
@@ -144,9 +144,9 @@ libenca and several charset conversion libraries and tools.")
              version ".tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0q1jhdkk4f9b0zb8s2ql3sba3br5nvjsmbsaybmgj064k9hwbk15"))))
+        (base32 "1cnpigrazhslw65s4j1a56j7p6d7d61wsxxjf1218i9mkwv2yw17"))))
     (build-system gnu-build-system)
-    (inputs                  ;test data that is otherwise downloaded with curl
+    (inputs                 ; test data that is otherwise downloaded with curl
      `(("NormalizationTest.txt"
         ,(origin
            (method url-fetch)
@@ -176,7 +176,7 @@ libenca and several charset conversion libraries and tools.")
              (substitute* "data/GraphemeBreakTest.txt"
                (("÷") "/")
                (("×") "+")))))))
-    (home-page "http://julialang.org/utf8proc/")
+    (home-page "https://julialang.org/utf8proc/")
     (synopsis "C library for processing UTF-8 Unicode data")
     (description "utf8proc is a small C library that provides Unicode
 normalization, case-folding, and other operations for data in the UTF-8
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ef891a8b17..0c84c29fe8 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -18,6 +18,7 @@
 ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1910,3 +1911,52 @@ repository is the centre, directories are branches and files are leaves.
 Contributors to the source code appear and disappear as they contribute to
 specific files and directories.")
     (license license:gpl3+)))
+
+(define-public src
+  (package
+    (name "src")
+    (version "1.18")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://www.catb.org/~esr/src/src-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0n0skhvya8w2az45h2gsafxy8m2mvqas64nrgxifcmrzfv0rf26c"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags
+       (list (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; no 'configure' script
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (prog (string-append out "/bin/src"))
+                    (rcs  (assoc-ref inputs "rcs")))
+               (wrap-program prog
+                 `("PATH" ":" prefix (,(string-append rcs "/bin"))))
+               #t)))
+         (replace 'check
+           (lambda _
+             (setenv "HOME" (getenv "TMPDIR"))
+             (invoke "git" "config" "--global" "user.name" "guix")
+             (invoke "git" "config" "--global" "user.email" "guix")
+             (invoke "./srctest"))))))
+    (native-inputs
+     ;; For testing.
+     `(("git" ,git)
+       ("perl" ,perl)))
+    (inputs
+     `(("python" ,python-wrapper)
+       ("rcs" ,rcs)))
+    (synopsis "Simple revision control")
+    (home-page "http://www.catb.org/~esr/src/")
+    (description
+     "SRC (or src) is simple revision control, a version-control system for
+single-file projects by solo developers and authors.  It modernizes the
+venerable RCS, hence the anagrammatic acronym.  The design is tuned for use
+cases like all those little scripts in your @file{~/bin} directory, or a
+directory full of HOWTOs.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ad7e12079a..85efda65ec 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -19,7 +19,7 @@
 ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
 ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
@@ -598,14 +598,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "3.4.2")
+    (version "4.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))
+               "0gx4ngnhi5glmxh38603qy5n6vq8bl1cr4sqd1xff95i82pmv57d"))))
     (build-system gnu-build-system)
     (inputs
      `(("fontconfig" ,fontconfig)
@@ -771,6 +771,18 @@ convert and stream audio and video.  It includes the libavcodec
 audio/video codec library.")
     (license license:gpl2+)))
 
+(define-public ffmpeg-3.4
+  (package
+    (inherit ffmpeg)
+    (version "3.4.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))))
+
 (define-public ffmpeg-2.8
   (package
     (inherit ffmpeg)
@@ -791,25 +803,6 @@ audio/video codec library.")
                     flag))
               ,flags))))))
 
-;; Annoyingly enough, the latest mpv release does not build with the stable
-;; release of ffmpeg. Use a git commit until the situation is fixed.
-(define-public ffmpeg-git
-  (let ((commit "3f887440677328c9cfed97ad81d14051ffa32aae")
-        (revision "1"))
-    (package
-     (inherit ffmpeg)
-     (name "ffmpeg-git")
-     (version (string-append "3.4-" revision "." (string-take commit 9)))
-     (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/FFmpeg/FFmpeg.git")
-                    (commit commit)))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1b7n3g4m2rbvrwsgbfl8wl91z42g1ld42clwxs8qpl9ny5rwz6sq")))))))
-
 (define-public vlc
   (package
     (name "vlc")
@@ -1033,7 +1026,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("enca" ,enca)
-       ("ffmpeg" ,ffmpeg-git)
+       ("ffmpeg" ,ffmpeg)
        ("jack" ,jack-1)
        ("ladspa" ,ladspa)
        ("lcms" ,lcms)
@@ -1162,7 +1155,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2018.04.16")
+    (version "2018.04.25")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://yt-dl.org/downloads/"
@@ -1170,7 +1163,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "046zg8pww2xg1yibh7c1a8jcg8f1znr4hsz1l1da03djcp6na99d"))))
+                "17zxgwfcy7c6gdyxdgh02f5zi52gvmy0zpccfj6zjkhw5iqj1vbw"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
@@ -1319,7 +1312,7 @@ audio, images) from the Web.  It can use either mpv or vlc for playback.")
 (define-public youtube-viewer
   (package
     (name "youtube-viewer")
-    (version "3.3.3")
+    (version "3.3.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1328,7 +1321,7 @@ audio, images) from the Web.  It can use either mpv or vlc for playback.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1j572his6qmazlmyrbnfq62s9bqml875ay7wy26byy9hfc7m0vgk"))))
+                "1dqaxkz5svv0lmxds6lppcpzhkq6gar2raw9gx6imrd7yz02fpgn"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
@@ -1857,7 +1850,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
             #t)))))
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-3.4)
        ("fftw" ,fftw)
        ("libxml2" ,libxml2)
        ("jack" ,jack-1)
@@ -2093,7 +2086,7 @@ making @dfn{screencasts}.")
     ;; As a result, they are omitted. Please add them back if problems appear.
     (inputs
      `(("alsa-lib" ,alsa-lib)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-3.4)
        ("glu" ,glu)
        ("jack" ,jack-1)
        ("libxi" ,libxi)
@@ -2806,7 +2799,7 @@ It counts more than 100 plugins.")
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("libjpeg" ,libjpeg)
-       ("ffmpeg" ,ffmpeg)
+       ("ffmpeg" ,ffmpeg-3.4)
        ("sqlite" ,sqlite)))
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -2864,3 +2857,41 @@ the results, download the highest-rated result in the requested language and
 save it to the appropriate filename.")
       (license license:gpl3+)
       (home-page "https://github.com/alexanderwink/subdl"))))
+
+(define-public l-smash
+  (package
+    (name "l-smash")
+    (version "2.14.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/" name "/" name "/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0dary0h65kq6sv93iabv25djlvzr5ckdcp3ywagbix44wqfw7xz6"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ;no tests
+       #:make-flags
+       (list (string-append "LDFLAGS=-Wl,-L.,-rpath="
+                            (assoc-ref %outputs "out") "/lib"))
+       #:phases
+       (modify-phases %standard-phases
+         ;; configure fails if it is followed by CONFIG_SHELL
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (invoke "./configure" (string-append "--prefix=" out)
+                       "--disable-static")))))))
+    (native-inputs
+     `(("which" ,which)))
+    (home-page "https://l-smash.github.io/l-smash/")
+    (synopsis "MP4 multiplexer and demultiplexer library")
+    (description
+     "L-SMASH is a cross-platform library that handles the ISO base media file
+format and some of its derived file formats, including MP4.  It operates as a
+multiplexer and demultiplexer, and can mux video and audio in several formats
+using standalone executable files.")
+    (license license:isc)))
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 0b373b1407..9dd8bb8971 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -5,9 +5,10 @@
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,9 +41,11 @@
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages libusb)
@@ -65,9 +68,11 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xml)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system python)
   #:use-module (guix download)
-  #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+))
+  #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+
+                                               asl2.0))
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1))
@@ -85,16 +90,14 @@
 (define-public qemu
   (package
     (name "qemu")
-    (version "2.11.1")
+    (version "2.12.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.qemu.org/qemu-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "11l6cs6mib16rgdrnqrhkqs033fjik316gkgfz3asbmxz38lalca"))
-             (patches (search-patches "qemu-glibc-2.27.patch"
-                                      "qemu-CVE-2018-7550.patch"))))
+               "1z66spkm1prvhbq7h5mfnp0i6mmamsb938fqmdfvyrgzc7rh34z6"))))
     (build-system gnu-build-system)
     (arguments
      '(;; Running tests in parallel can occasionally lead to failures, like:
@@ -173,6 +176,7 @@ exec smbd $@")))
      `(("alsa-lib" ,alsa-lib)
        ("attr" ,attr)
        ("glib" ,glib)
+       ("gtk+" ,gtk+)
        ("libaio" ,libaio)
        ("libattr" ,attr)
        ("libcap" ,libcap)           ; virtfs support requires libcap & libattr
@@ -187,19 +191,20 @@ exec smbd $@")))
        ;; ("pciutils" ,pciutils)
        ("pixman" ,pixman)
        ("pulseaudio" ,pulseaudio)
-       ("sdl" ,sdl)
+       ("sdl2" ,sdl2)
        ("spice" ,spice)
        ("usbredir" ,usbredir)
        ("util-linux" ,util-linux)
        ;; ("vde2" ,vde2)
        ("virglrenderer" ,virglrenderer)
        ("zlib" ,zlib)))
-    (native-inputs `(("glib:bin" ,glib "bin") ; gtester, etc.
+    (native-inputs `(("gettext" ,gettext-minimal)
+                     ("glib:bin" ,glib "bin") ; gtester, etc.
                      ("perl" ,perl)
                      ("flex" ,flex)
                      ("bison" ,bison)
                      ("pkg-config" ,pkg-config)
-                     ("python" ,python-2) ; incompatible with Python 3 according to error message
+                     ("python-wrapper" ,python-wrapper)
                      ("texinfo" ,texinfo)))
     (home-page "https://www.qemu.org")
     (synopsis "Machine emulator and virtualizer")
@@ -234,10 +239,35 @@ server and embedded PowerPC, and S390 guests.")
         ''("--target-list=i386-softmmu,x86_64-softmmu,mips64el-softmmu,arm-softmmu,aarch64-softmmu"))))
 
     ;; Remove dependencies on optional libraries, notably GUI libraries.
+    (native-inputs (fold alist-delete (package-native-inputs qemu)
+                  '("gettext")))
     (inputs (fold alist-delete (package-inputs qemu)
-                  '("libusb" "mesa" "sdl" "spice" "virglrenderer"
+                  '("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+"
                     "usbredir" "libdrm" "libepoxy" "pulseaudio")))))
 
+;; The GRUB test suite fails with later versions of Qemu, so we
+;; keep it at 2.10 for now.  See
+;; <https://lists.gnu.org/archive/html/bug-grub/2018-02/msg00004.html>.
+;; This package is hidden since we do not backport updates to it.
+(define-public qemu-minimal-2.10
+  (hidden-package
+   (package
+    (inherit qemu-minimal)
+    (version "2.10.2")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "https://download.qemu.org/qemu-"
+                                 version ".tar.xz"))
+             (sha256
+              (base32
+               "17w21spvaxaidi2am5lpsln8yjpyp2zi3s3gc6nsxj5arlgamzgw"))
+             (patches
+              (search-patches "qemu-glibc-2.27.patch"))))
+    ;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary.
+    (native-inputs `(("python-2" ,python-2)
+                     ,@(fold alist-delete (package-native-inputs qemu)
+                             '("python-wrapper")))))))
+
 (define-public libosinfo
   (package
     (name "libosinfo")
@@ -524,7 +554,7 @@ virtualization library.")
 (define-public virt-manager
   (package
     (name "virt-manager")
-    (version "1.4.3")
+    (version "1.5.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://virt-manager.org/download/sources"
@@ -532,7 +562,7 @@ virtualization library.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "093azs8p4p7y4nf5j25xpsvdxww7gky1g0hs8mkcvmpxl2wjd0jj"))))
+                "1ardmd4sxdmd57y7qpka44gf09c1yq2g0xs074d3k1h925crv27f"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2
@@ -777,3 +807,60 @@ monitor/GPU.")
    ;; This package requires SSE instructions.
    (supported-systems '("i686-linux" "x86_64-linux"))
    (license gpl2+)))
+
+(define-public runc
+  (package
+    (name "runc")
+    (version "1.0.0-rc5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/opencontainers/runc/releases/"
+                    "download/v" version "/runc.tar.xz"))
+              (sha256
+               (base32
+                "081avdzwnqpk368wbaihlzsypaxpj42d7699h7jgp0fks14x4103"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/opencontainers/runc"
+       #:install-source? #f
+       ;; XXX: 20/139 tests fail due to missing /var, cgroups and apparmor in
+       ;; the build environment.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'unpack
+           (lambda* (#:key source import-path #:allow-other-keys)
+             ;; Unpack the tarball into 'runc' instead of 'runc-1.0.0-rc5'.
+             (let ((dest (string-append "src/" import-path)))
+               (mkdir-p dest)
+               (invoke "tar" "-C" (string-append "src/" import-path)
+                       "--strip-components=1"
+                       "-xvf" source))))
+         (replace 'build
+           (lambda* (#:key import-path #:allow-other-keys)
+             (chdir (string-append "src/" import-path))
+             ;; XXX: requires 'go-md2man'.
+             ;; (invoke "make" "man")
+             (invoke "make")))
+         ;; (replace 'check
+         ;;   (lambda _
+         ;;     (invoke "make" "localunittest")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+              (invoke "make" "install" "install-bash"
+                      (string-append "PREFIX=" out))))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libseccomp" ,libseccomp)))
+    (synopsis "Open container initiative runtime")
+    (home-page "https://www.opencontainers.org/")
+    (description
+     "@command{runc} is a command line client for running applications
+packaged according to the
+@uref{https://github.com/opencontainers/runtime-spec/blob/master/spec.md, Open
+Container Initiative (OCI) format} and is a compliant implementation of the
+Open Container Initiative specification.")
+    (license asl2.0)))
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 2fc930aa9e..fb06196ec4 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -32,9 +33,11 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -207,6 +210,39 @@ example for writing your own.  For example, @command{vpnc-script-sshd} contains
 the entire VPN in a network namespace accessible only through SSH.")
       (license license:gpl2+))))
 
+(define-public ocproxy
+  (package
+    (name "ocproxy")
+    (version "1.60")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/cernekee/ocproxy/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1b4rg3xq5jnrp2l14sw0msan8kqhdxmsd7gpw9lkiwvxy13pcdm7"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)))
+    (inputs
+     `(("libevent" ,libevent)))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _ (invoke "sh" "autogen.sh"))))))
+    (home-page "https://github.com/cernekee/ocproxy")
+    (synopsis "OpenConnect proxy")
+    (description
+     "User-level @dfn{SOCKS} and port forwarding proxy for OpenConnect based
+on LwIP.  When using ocproxy, OpenConnect only handles network activity that
+the user specifically asks to proxy, so the @dfn{VPN} interface no longer
+\"hijacks\" all network traffic on the host.")
+    (license license:bsd-3)))
+
 (define-public openconnect
   (package
    (name "openconnect")
@@ -243,7 +279,7 @@ and probably others.")
 (define-public openvpn
   (package
     (name "openvpn")
-    (version "2.4.5")
+    (version "2.4.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -251,7 +287,7 @@ and probably others.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "17njq59hsraqyxrbhkrxr7dvx0p066s3pn8w1mi0yd9jldis7h23"))))
+                "09lck4wmkas3iyrzaspin9gn3wiclqb1m9sf8diy7j8wakx38r2g"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-iproute2=yes")))
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 12b1f93015..ac9f6f2f25 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -160,7 +160,7 @@ interpretation of the specifications for these languages.")
 (define-public vulkan-icd-loader
   (package
     (name "vulkan-icd-loader")
-    (version "1.1.70.0")
+    (version "1.1.73.0")
     (source
      (origin
        (method url-fetch)
@@ -169,7 +169,7 @@ interpretation of the specifications for these languages.")
              "archive/sdk-" version ".tar.gz"))
        (sha256
         (base32
-         "15qkh77596v3xivnbb3l0q9zbmmsdglnaza2m1g7f8q7bbigyc5x"))))
+         "1qb34j2zrc04fgs96m3k76vi4nx3sygbdcyg7pbwasr45cbdhsxb"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ;FIXME: 23/39 tests fail.  Try "tests/run_all_tests.sh".
@@ -182,6 +182,7 @@ interpretation of the specifications for these languages.")
              #t)))
        #:configure-flags (list
                           "-DBUILD_LAYERS=OFF" ; FIXME: Fails to build.
+                          "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' submodule.
                           (string-append "-DCMAKE_INSTALL_LIBDIR="
                                               (assoc-ref %outputs "out") "/lib"))))
     (inputs `(("glslang" ,glslang)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 88c3b4aa1c..a8f28040b0 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3784,15 +3784,19 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
 (define-public r-httpuv
   (package
     (name "r-httpuv")
-    (version "1.3.6.2")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "httpuv" version))
               (sha256
                (base32
-                "0h3hkw575b211bxma23inbq1565wkhiapgasd539h219apqs534f"))))
+                "1pndv0h870ygibk0bmg9ayzkls60jqscrsyk39k29gy2pvm9ha5y"))))
     (build-system r-build-system)
     (native-inputs `(("r-rcpp" ,r-rcpp)))
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-later" ,r-later)
+       ("r-promises" ,r-promises)))
     (home-page "https://github.com/rstudio/httpuv")
     (synopsis "HTTP and WebSocket server library for R")
     (description
@@ -3892,13 +3896,13 @@ directory.")
 (define-public r-htmlwidgets
   (package
     (name "r-htmlwidgets")
-    (version "1.0")
+    (version "1.2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "htmlwidgets" version))
               (sha256
                (base32
-                "09lkmzh35l1420sg0dyh4vgyishqx3g8xmgs2y9z7lbi09xgwwwr"))))
+                "04c4d0mfcy3dkdlbxnaccpdgxvyxfdwfmmh5djim6v9hyg0j2z8s"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-htmltools" ,r-htmltools)
@@ -5432,13 +5436,13 @@ responsive, and powerful applications with minimal effort.")
 (define-public r-shinydashboard
   (package
     (name "r-shinydashboard")
-    (version "0.6.1")
+    (version "0.7.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "shinydashboard" version))
               (sha256
                (base32
-                "14zi7g5wrngy6lwi9xpvaid7727m6rfdijbb89al9likfhjqzqqy"))))
+                "10yqcqqcxgfqwkmscqwvvgr710im583qsqnsqkfpisjvkqp10yqb"))))
     (build-system r-build-system)
     ;; The directory inst/AdminLTE/ contains a minified JavaScript file.
     ;; Regenerate it from the included sources.
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 7486d8f29d..dc74c9f59e 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -496,7 +496,7 @@ of the screen selected by mouse.")
 (define-public slop
   (package
     (name "slop")
-    (version "7.3.49")
+    (version "7.4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -505,7 +505,7 @@ of the screen selected by mouse.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0gxi174vi13ldjaf776s2jcdyy379lnwwml29nk1bkzj5d5gpghm"))))
+                "1kpdrikgpjb4fpxalb6pjcih5njv1w9cnrjj5612ywdv1q5mjs48"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f)) ; no "check" target
@@ -529,7 +529,7 @@ selection's dimensions to stdout.")
 (define-public maim
   (package
     (name "maim")
-    (version "5.4.68")
+    (version "5.5")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -538,7 +538,7 @@ selection's dimensions to stdout.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0f54s7csrxjd5r9anqqa92diwmzdplpws3llmbr6g3c0l6bp8815"))))
+                "02blbimjdckbcb04crhv0k2vxnp3rcgskyq66sk0v13l2h52849v"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f))            ; no "check" target
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index be1bfce578..694aab882e 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -26,7 +26,6 @@
   #:use-module (guix store)
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
-  #:use-module (gnu services networking)
   #:use-module (gnu system pam)
   #:use-module (gnu system shadow)                ; 'user-account', etc.
   #:use-module (gnu system uuid)
@@ -64,6 +63,18 @@
             console-font-service
             virtual-terminal-service-type
 
+            static-networking
+
+            static-networking?
+            static-networking-interface
+            static-networking-ip
+            static-networking-netmask
+            static-networking-gateway
+            static-networking-requirement
+
+            static-networking-service
+            static-networking-service-type
+
             udev-configuration
             udev-configuration?
             udev-configuration-rules
@@ -2045,6 +2056,153 @@ This service is not part of @var{%base-services}."
         (start #~(make-forkexec-constructor #$kmscon-command))
         (stop #~(make-kill-destructor)))))))
 
+(define-record-type* <static-networking>
+  static-networking make-static-networking
+  static-networking?
+  (interface static-networking-interface)
+  (ip static-networking-ip)
+  (netmask static-networking-netmask
+           (default #f))
+  (gateway static-networking-gateway              ;FIXME: doesn't belong here
+           (default #f))
+  (provision static-networking-provision
+             (default #f))
+  (requirement static-networking-requirement
+               (default '()))
+  (name-servers static-networking-name-servers    ;FIXME: doesn't belong here
+                (default '())))
+
+(define static-networking-shepherd-service
+  (match-lambda
+    (($ <static-networking> interface ip netmask gateway provision
+                            requirement name-servers)
+     (let ((loopback? (and provision (memq 'loopback provision))))
+       (shepherd-service
+
+        (documentation
+         "Bring up the networking interface using a static IP address.")
+        (requirement requirement)
+        (provision (or provision
+                       (list (symbol-append 'networking-
+                                            (string->symbol interface)))))
+
+        (start #~(lambda _
+                   ;; Return #t if successfully started.
+                   (let* ((addr     (inet-pton AF_INET #$ip))
+                          (sockaddr (make-socket-address AF_INET addr 0))
+                          (mask     (and #$netmask
+                                         (inet-pton AF_INET #$netmask)))
+                          (maskaddr (and mask
+                                         (make-socket-address AF_INET
+                                                              mask 0)))
+                          (gateway  (and #$gateway
+                                         (inet-pton AF_INET #$gateway)))
+                          (gatewayaddr (and gateway
+                                            (make-socket-address AF_INET
+                                                                 gateway 0))))
+                     (configure-network-interface #$interface sockaddr
+                                                  (logior IFF_UP
+                                                          #$(if loopback?
+                                                                #~IFF_LOOPBACK
+                                                                0))
+                                                  #:netmask maskaddr)
+                     (when gateway
+                       (let ((sock (socket AF_INET SOCK_DGRAM 0)))
+                         (add-network-route/gateway sock gatewayaddr)
+                         (close-port sock))))))
+        (stop #~(lambda _
+                  ;; Return #f is successfully stopped.
+                  (let ((sock (socket AF_INET SOCK_STREAM 0)))
+                    (when #$gateway
+                      (delete-network-route sock
+                                            (make-socket-address
+                                             AF_INET INADDR_ANY 0)))
+                    (set-network-interface-flags sock #$interface 0)
+                    (close-port sock)
+:                    #f)))
+        (respawn? #f))))))
+
+(define (static-networking-etc-files interfaces)
+  "Return a /etc/resolv.conf entry for INTERFACES or the empty list."
+  (match (delete-duplicates
+          (append-map static-networking-name-servers
+                      interfaces))
+    (()
+     '())
+    ((name-servers ...)
+     (let ((content (string-join
+                     (map (cut string-append "nameserver " <>)
+                          name-servers)
+                     "\n" 'suffix)))
+       `(("resolv.conf"
+          ,(plain-file "resolv.conf"
+                       (string-append "\
+# Generated by 'static-networking-service'.\n"
+                                      content))))))))
+
+(define (static-networking-shepherd-services interfaces)
+  "Return the list of Shepherd services to bring up INTERFACES, a list of
+<static-networking> objects."
+  (define (loopback? service)
+    (memq 'loopback (shepherd-service-provision service)))
+
+  (let ((services (map static-networking-shepherd-service interfaces)))
+    (match (remove loopback? services)
+      (()
+       ;; There's no interface other than 'loopback', so we assume that the
+       ;; 'networking' service will be provided by dhclient or similar.
+       services)
+      ((non-loopback ...)
+       ;; Assume we're providing all the interfaces, and thus, provide a
+       ;; 'networking' service.
+       (cons (shepherd-service
+              (provision '(networking))
+              (requirement (append-map shepherd-service-provision
+                                       services))
+              (start #~(const #t))
+              (stop #~(const #f))
+              (documentation "Bring up all the networking interfaces."))
+             services)))))
+
+(define static-networking-service-type
+  ;; The service type for statically-defined network interfaces.
+  (service-type (name 'static-networking)
+                (extensions
+                 (list
+                  (service-extension shepherd-root-service-type
+                                     static-networking-shepherd-services)
+                  (service-extension etc-service-type
+                                     static-networking-etc-files)))
+                (compose concatenate)
+                (extend append)
+                (description
+                 "Turn up the specified network interfaces upon startup,
+with the given IP address, gateway, netmask, and so on.  The value for
+services of this type is a list of @code{static-networking} objects, one per
+network interface.")))
+
+(define* (static-networking-service interface ip
+                                    #:key
+                                    netmask gateway provision
+                                    ;; Most interfaces require udev to be usable.
+                                    (requirement '(udev))
+                                    (name-servers '()))
+  "Return a service that starts @var{interface} with address @var{ip}.  If
+@var{netmask} is true, use it as the network mask.  If @var{gateway} is true,
+it must be a string specifying the default network gateway.
+
+This procedure can be called several times, one for each network
+interface of interest.  Behind the scenes what it does is extend
+@code{static-networking-service-type} with additional network interfaces
+to handle."
+  (simple-service 'static-network-interface
+                  static-networking-service-type
+                  (list (static-networking (interface interface) (ip ip)
+                                           (netmask netmask) (gateway gateway)
+                                           (provision provision)
+                                           (requirement requirement)
+                                           (name-servers name-servers)))))
+
 
 (define %base-services
   ;; Convenience variable holding the basic services.
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 6ac440fd26..67674e895e 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -24,12 +24,14 @@
 
 (define-module (gnu services networking)
   #:use-module (gnu services)
+  #:use-module (gnu services base)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services dbus)
   #:use-module (gnu system shadow)
   #:use-module (gnu system pam)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages connman)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages tor)
   #:use-module (gnu packages messaging)
@@ -45,18 +47,19 @@
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
   #:export (%facebook-host-aliases
-            static-networking
+            dhcp-client-service
 
-            static-networking?
-            static-networking-interface
-            static-networking-ip
-            static-networking-netmask
-            static-networking-gateway
-            static-networking-requirement
+            dhcpd-service-type
+            dhcpd-configuration
+            dhcpd-configuration?
+            dhcpd-configuration-package
+            dhcpd-configuration-config-file
+            dhcpd-configuration-version
+            dhcpd-configuration-run-directory
+            dhcpd-configuration-lease-file
+            dhcpd-configuration-pid-file
+            dhcpd-configuration-interfaces
 
-            static-networking-service
-            static-networking-service-type
-            dhcp-client-service
             %ntp-servers
 
             ntp-configuration
@@ -90,6 +93,9 @@
             connman-configuration?
             connman-service-type
 
+            modem-manager-configuration
+            modem-manager-configuration?
+            modem-manager-service-type
             wpa-supplicant-service-type
 
             openvswitch-service-type
@@ -134,154 +140,6 @@ fe80::1%lo0 connect.facebook.net
 fe80::1%lo0 www.connect.facebook.net
 fe80::1%lo0 apps.facebook.com\n")
 
-
-(define-record-type* <static-networking>
-  static-networking make-static-networking
-  static-networking?
-  (interface static-networking-interface)
-  (ip static-networking-ip)
-  (netmask static-networking-netmask
-           (default #f))
-  (gateway static-networking-gateway              ;FIXME: doesn't belong here
-           (default #f))
-  (provision static-networking-provision
-             (default #f))
-  (requirement static-networking-requirement
-               (default '()))
-  (name-servers static-networking-name-servers    ;FIXME: doesn't belong here
-                (default '())))
-
-(define static-networking-shepherd-service
-  (match-lambda
-    (($ <static-networking> interface ip netmask gateway provision
-                            requirement name-servers)
-     (let ((loopback? (and provision (memq 'loopback provision))))
-       (shepherd-service
-
-        (documentation
-         "Bring up the networking interface using a static IP address.")
-        (requirement requirement)
-        (provision (or provision
-                       (list (symbol-append 'networking-
-                                            (string->symbol interface)))))
-
-        (start #~(lambda _
-                   ;; Return #t if successfully started.
-                   (let* ((addr     (inet-pton AF_INET #$ip))
-                          (sockaddr (make-socket-address AF_INET addr 0))
-                          (mask     (and #$netmask
-                                         (inet-pton AF_INET #$netmask)))
-                          (maskaddr (and mask
-                                         (make-socket-address AF_INET
-                                                              mask 0)))
-                          (gateway  (and #$gateway
-                                         (inet-pton AF_INET #$gateway)))
-                          (gatewayaddr (and gateway
-                                            (make-socket-address AF_INET
-                                                                 gateway 0))))
-                     (configure-network-interface #$interface sockaddr
-                                                  (logior IFF_UP
-                                                          #$(if loopback?
-                                                                #~IFF_LOOPBACK
-                                                                0))
-                                                  #:netmask maskaddr)
-                     (when gateway
-                       (let ((sock (socket AF_INET SOCK_DGRAM 0)))
-                         (add-network-route/gateway sock gatewayaddr)
-                         (close-port sock))))))
-        (stop #~(lambda _
-                  ;; Return #f is successfully stopped.
-                  (let ((sock (socket AF_INET SOCK_STREAM 0)))
-                    (when #$gateway
-                      (delete-network-route sock
-                                            (make-socket-address
-                                             AF_INET INADDR_ANY 0)))
-                    (set-network-interface-flags sock #$interface 0)
-                    (close-port sock)
-                    #f)))
-        (respawn? #f))))))
-
-(define (static-networking-etc-files interfaces)
-  "Return a /etc/resolv.conf entry for INTERFACES or the empty list."
-  (match (delete-duplicates
-          (append-map static-networking-name-servers
-                      interfaces))
-    (()
-     '())
-    ((name-servers ...)
-     (let ((content (string-join
-                     (map (cut string-append "nameserver " <>)
-                          name-servers)
-                     "\n" 'suffix)))
-       `(("resolv.conf"
-          ,(plain-file "resolv.conf"
-                       (string-append "\
-# Generated by 'static-networking-service'.\n"
-                                      content))))))))
-
-(define (static-networking-shepherd-services interfaces)
-  "Return the list of Shepherd services to bring up INTERFACES, a list of
-<static-networking> objects."
-  (define (loopback? service)
-    (memq 'loopback (shepherd-service-provision service)))
-
-  (let ((services (map static-networking-shepherd-service interfaces)))
-    (match (remove loopback? services)
-      (()
-       ;; There's no interface other than 'loopback', so we assume that the
-       ;; 'networking' service will be provided by dhclient or similar.
-       services)
-      ((non-loopback ...)
-       ;; Assume we're providing all the interfaces, and thus, provide a
-       ;; 'networking' service.
-       (cons (shepherd-service
-              (provision '(networking))
-              (requirement (append-map shepherd-service-provision
-                                       services))
-              (start #~(const #t))
-              (stop #~(const #f))
-              (documentation "Bring up all the networking interfaces."))
-             services)))))
-
-(define static-networking-service-type
-  ;; The service type for statically-defined network interfaces.
-  (service-type (name 'static-networking)
-                (extensions
-                 (list
-                  (service-extension shepherd-root-service-type
-                                     static-networking-shepherd-services)
-                  (service-extension etc-service-type
-                                     static-networking-etc-files)))
-                (compose concatenate)
-                (extend append)
-                (description
-                 "Turn up the specified network interfaces upon startup,
-with the given IP address, gateway, netmask, and so on.  The value for
-services of this type is a list of @code{static-networking} objects, one per
-network interface.")))
-
-(define* (static-networking-service interface ip
-                                    #:key
-                                    netmask gateway provision
-                                    ;; Most interfaces require udev to be usable.
-                                    (requirement '(udev))
-                                    (name-servers '()))
-  "Return a service that starts @var{interface} with address @var{ip}.  If
-@var{netmask} is true, use it as the network mask.  If @var{gateway} is true,
-it must be a string specifying the default network gateway.
-
-This procedure can be called several times, one for each network
-interface of interest.  Behind the scenes what it does is extend
-@code{static-networking-service-type} with additional network interfaces
-to handle."
-  (simple-service 'static-network-interface
-                  static-networking-service-type
-                  (list (static-networking (interface interface) (ip ip)
-                                           (netmask netmask) (gateway gateway)
-                                           (provision provision)
-                                           (requirement requirement)
-                                           (name-servers name-servers)))))
-
 (define dhcp-client-service-type
   (shepherd-service-type
    'dhcp-client
@@ -341,6 +199,72 @@ to handle."
 Protocol (DHCP) client, on all the non-loopback network interfaces."
   (service dhcp-client-service-type dhcp))
 
+(define-record-type* <dhcpd-configuration>
+  dhcpd-configuration make-dhcpd-configuration
+  dhcpd-configuration?
+  (package   dhcpd-configuration-package ;<package>
+             (default isc-dhcp))
+  (config-file   dhcpd-configuration-config-file ;file-like
+                 (default #f))
+  (version dhcpd-configuration-version ;"4", "6", or "4o6"
+              (default "4"))
+  (run-directory dhcpd-configuration-run-directory
+                 (default "/run/dhcpd"))
+  (lease-file dhcpd-configuration-lease-file
+              (default "/var/db/dhcpd.leases"))
+  (pid-file dhcpd-configuration-pid-file
+            (default "/run/dhcpd/dhcpd.pid"))
+  ;; list of strings, e.g. (list "enp0s25")
+  (interfaces dhcpd-configuration-interfaces
+              (default '())))
+
+(define dhcpd-shepherd-service
+  (match-lambda
+    (($ <dhcpd-configuration> package config-file version run-directory
+                              lease-file pid-file interfaces)
+     (unless config-file
+       (error "Must supply a config-file"))
+     (list (shepherd-service
+            ;; Allow users to easily run multiple versions simultaneously.
+            (provision (list (string->symbol
+                              (string-append "dhcpv" version "-daemon"))))
+            (documentation (string-append "Run the DHCPv" version " daemon"))
+            (requirement '(networking))
+            (start #~(make-forkexec-constructor
+                      '(#$(file-append package "/sbin/dhcpd")
+                        #$(string-append "-" version)
+                        "-lf" #$lease-file
+                        "-pf" #$pid-file
+                        "-cf" #$config-file
+                        #$@interfaces)
+                      #:pid-file #$pid-file))
+            (stop #~(make-kill-destructor)))))))
+
+(define dhcpd-activation
+  (match-lambda
+    (($ <dhcpd-configuration> package config-file version run-directory
+                              lease-file pid-file interfaces)
+     (with-imported-modules '((guix build utils))
+       #~(begin
+           (unless (file-exists? #$run-directory)
+             (mkdir #$run-directory))
+           ;; According to the DHCP manual (man dhcpd.leases), the lease
+           ;; database must be present for dhcpd to start successfully.
+           (unless (file-exists? #$lease-file)
+             (with-output-to-file #$lease-file
+               (lambda _ (display ""))))
+           ;; Validate the config.
+           (invoke
+            #$(file-append package "/sbin/dhcpd") "-t" "-cf"
+            #$config-file))))))
+
+(define dhcpd-service-type
+  (service-type
+   (name 'dhcpd)
+   (extensions
+    (list (service-extension shepherd-root-service-type dhcpd-shepherd-service)
+          (service-extension activation-service-type dhcpd-activation)))))
+
 (define %ntp-servers
   ;; Default set of NTP servers. These URLs are managed by the NTP Pool project.
   ;; Within Guix, Leo Famulari <leo@famulari.name> is the administrative contact
@@ -891,6 +815,17 @@ and @command{wicd-curses} user interfaces."
 
 
 ;;;
+;;; ModemManager
+;;;
+
+(define-record-type* <modem-manager-configuration>
+  modem-manager-configuration make-modem-manager-configuration
+  modem-manager-configuration?
+  (modem-manager modem-manager-configuration-modem-manager
+                   (default modem-manager)))
+
+
+;;;
 ;;; NetworkManager
 ;;;
 
@@ -1028,6 +963,30 @@ a network connection manager."))))
 
 
 ;;;
+;;; Modem manager
+;;;
+
+(define modem-manager-service-type
+  (let ((config->package
+         (match-lambda
+          (($ <modem-manager-configuration> modem-manager)
+           (list modem-manager)))))
+    (service-type (name 'modem-manager)
+                  (extensions
+                   (list (service-extension dbus-root-service-type
+                                            config->package)
+                         (service-extension udev-service-type
+                                            config->package)
+                         (service-extension polkit-service-type
+                                            config->package)))
+                  (default-value (modem-manager-configuration))
+                  (description
+                   "Run @uref{https://wiki.gnome.org/Projects/ModemManager,
+ModemManager}, a modem management daemon that aims to simplify dialup
+networking."))))
+
+
+;;;
 ;;; WPA supplicant
 ;;;
 
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 7f5afb00fe..d2acd705de 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,6 +47,7 @@
             spec->file-system
             specification->file-system-mapping
 
+            %pseudo-file-system-types
             %fuse-control-file-system
             %binary-format-file-system
             %shared-memory-file-system
@@ -203,6 +204,12 @@ TARGET in the other system."
 ;;; Common file systems.
 ;;;
 
+(define %pseudo-file-system-types
+  ;; List of know pseudo file system types.  This is used when validating file
+  ;; system definitions.
+  '("binfmt_misc" "cgroup" "debugfs" "devpts" "devtmpfs" "efivarfs" "fusectl"
+    "hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs"))
+
 (define %fuse-control-file-system
   ;; Control file system for Linux' file systems in user-space (FUSE).
   (file-system
diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm
index d7d9166fa7..323679e7fc 100644
--- a/gnu/tests/networking.scm
+++ b/gnu/tests/networking.scm
@@ -22,6 +22,7 @@
   #:use-module (gnu system)
   #:use-module (gnu system vm)
   #:use-module (gnu services)
+  #:use-module (gnu services base)
   #:use-module (gnu services networking)
   #:use-module (guix gexp)
   #:use-module (guix store)
@@ -29,7 +30,7 @@
   #:use-module (gnu packages bash)
   #:use-module (gnu packages networking)
   #:use-module (gnu services shepherd)
-  #:export (%test-inetd %test-openvswitch))
+  #:export (%test-inetd %test-openvswitch %test-dhcpd))
 
 (define %inetd-os
   ;; Operating system with 2 inetd services.
@@ -243,3 +244,98 @@ port 7, and a dict service on port 2628."
    (name "openvswitch")
    (description "Test a running OpenvSwitch configuration.")
    (value (run-openvswitch-test))))
+
+
+;;;
+;;; DHCP Daemon
+;;;
+
+(define minimal-dhcpd-v4-config-file
+  (plain-file "dhcpd.conf"
+              "\
+default-lease-time 600;
+max-lease-time 7200;
+
+subnet 192.168.1.0 netmask 255.255.255.0 {
+ range 192.168.1.100 192.168.1.200;
+ option routers 192.168.1.1;
+ option domain-name-servers 192.168.1.2, 192.168.1.3;
+ option domain-name \"dummy.domain.name.abc123xyz\";
+}
+"))
+
+(define dhcpd-v4-configuration
+  (dhcpd-configuration
+   (config-file minimal-dhcpd-v4-config-file)
+   (version "4")
+   (interfaces '("eth0"))))
+
+(define %dhcpd-os
+  (simple-operating-system
+   (static-networking-service "eth0" "192.168.1.4"
+                              #:netmask "255.255.255.0"
+                              #:gateway "192.168.1.1"
+                              #:name-servers '("192.168.1.2" "192.168.1.3"))
+   (service dhcpd-service-type dhcpd-v4-configuration)))
+
+(define (run-dhcpd-test)
+  (define os
+    (marionette-operating-system %dhcpd-os
+                                 #:imported-modules '((gnu services herd))))
+
+  (define test
+    (with-imported-modules '((gnu build marionette))
+      #~(begin
+          (use-modules (gnu build marionette)
+                       (ice-9 popen)
+                       (ice-9 rdelim)
+                       (srfi srfi-64))
+
+          (define marionette
+            (make-marionette (list #$(virtual-machine os))))
+
+          (mkdir #$output)
+          (chdir #$output)
+
+          (test-begin "dhcpd")
+
+          (test-assert "pid file exists"
+            (marionette-eval
+             '(file-exists?
+               #$(dhcpd-configuration-pid-file dhcpd-v4-configuration))
+             marionette))
+
+          (test-assert "lease file exists"
+            (marionette-eval
+             '(file-exists?
+               #$(dhcpd-configuration-lease-file dhcpd-v4-configuration))
+             marionette))
+
+          (test-assert "run directory exists"
+            (marionette-eval
+             '(file-exists?
+               #$(dhcpd-configuration-run-directory dhcpd-v4-configuration))
+             marionette))
+
+          (test-assert "dhcpd is alive"
+            (marionette-eval
+             '(begin
+                (use-modules (gnu services herd)
+                             (srfi srfi-1))
+                (live-service-running
+                 (find (lambda (live)
+                         (memq 'dhcpv4-daemon
+                               (live-service-provision live)))
+                       (current-services))))
+             marionette))
+
+          (test-end)
+          (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+  (gexp->derivation "dhcpd-test" test))
+
+(define %test-dhcpd
+  (system-test
+   (name "dhcpd")
+   (description "Test a running DHCP daemon configuration.")
+   (value (run-dhcpd-test))))