summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-09-09 17:40:35 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-09-09 17:40:35 +0200
commit0aeb13485055975d71ec8283040f007c79599bba (patch)
treea06139136c809b00d166d6d66bdf757f20566704 /gnu
parentb03f270e3d5ab5315b50ef3ebac35735cc28d4a2 (diff)
parent0084744b3af0a6f8e125120143f57567902339a8 (diff)
downloadguix-0aeb13485055975d71ec8283040f007c79599bba.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/bash.scm2
-rw-r--r--gnu/packages/bioconductor.scm51
-rw-r--r--gnu/packages/bioinformatics.scm206
-rw-r--r--gnu/packages/ccache.scm11
-rw-r--r--gnu/packages/ci.scm30
-rw-r--r--gnu/packages/code.scm19
-rw-r--r--gnu/packages/cran.scm736
-rw-r--r--gnu/packages/crypto.scm4
-rw-r--r--gnu/packages/curl.scm14
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs.scm78
-rw-r--r--gnu/packages/emulators.scm6
-rw-r--r--gnu/packages/engineering.scm25
-rw-r--r--gnu/packages/fonts.scm4
-rw-r--r--gnu/packages/games.scm157
-rw-r--r--gnu/packages/gcc.scm22
-rw-r--r--gnu/packages/gdb.scm4
-rw-r--r--gnu/packages/ghostscript.scm44
-rw-r--r--gnu/packages/gnome.scm5
-rw-r--r--gnu/packages/graph.scm9
-rw-r--r--gnu/packages/gtk.scm9
-rw-r--r--gnu/packages/guile.scm28
-rw-r--r--gnu/packages/haskell-check.scm4
-rw-r--r--gnu/packages/haskell.scm39
-rw-r--r--gnu/packages/image.scm17
-rw-r--r--gnu/packages/julia.scm6
-rw-r--r--gnu/packages/linux.scm16
-rw-r--r--gnu/packages/machine-learning.scm12
-rw-r--r--gnu/packages/mail.scm7
-rw-r--r--gnu/packages/maths.scm129
-rw-r--r--gnu/packages/mes.scm26
-rw-r--r--gnu/packages/mp3.scm16
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/multiprecision.scm2
-rw-r--r--gnu/packages/music.scm11
-rw-r--r--gnu/packages/musl.scm6
-rw-r--r--gnu/packages/networking.scm56
-rw-r--r--gnu/packages/openldap.scm4
-rw-r--r--gnu/packages/package-management.scm16
-rw-r--r--gnu/packages/patches/ghostscript-CVE-2018-16509.patch193
-rw-r--r--gnu/packages/patches/ghostscript-bug-699708.patch160
-rw-r--r--gnu/packages/patches/mes-nyacc-0.86.0.patch197
-rw-r--r--gnu/packages/patches/nyacc-binary-literals.patch29
-rw-r--r--gnu/packages/perl.scm38
-rw-r--r--gnu/packages/plotutils.scm12
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/shells.scm17
-rw-r--r--gnu/packages/statistics.scm137
-rw-r--r--gnu/packages/web-browsers.scm4
-rw-r--r--gnu/packages/web.scm20
-rw-r--r--gnu/packages/xorg.scm42
-rw-r--r--gnu/services.scm24
-rw-r--r--gnu/services/web.scm19
-rw-r--r--gnu/system/vm.scm81
-rw-r--r--gnu/tests/base.scm16
57 files changed, 2273 insertions, 567 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 21f0482847..c3cd1d4084 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -729,6 +729,8 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
   %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch	\
   %D%/packages/patches/ghostscript-CVE-2018-10194.patch		\
+  %D%/packages/patches/ghostscript-CVE-2018-16509.patch		\
+  %D%/packages/patches/ghostscript-bug-699708.patch		\
   %D%/packages/patches/ghostscript-no-header-id.patch		\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
@@ -955,6 +957,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mcrypt-CVE-2012-4409.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4426.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4527.patch			\
+  %D%/packages/patches/mes-nyacc-0.86.0.patch			\
   %D%/packages/patches/mesa-skip-disk-cache-test.patch		\
   %D%/packages/patches/meson-for-build-rpath.patch		\
   %D%/packages/patches/metabat-fix-compilation.patch		\
@@ -991,6 +994,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/nvi-assume-preserve-path.patch		\
   %D%/packages/patches/nvi-dbpagesize-binpower.patch		\
   %D%/packages/patches/nvi-db4.patch				\
+  %D%/packages/patches/nyacc-binary-literals.patch		\
   %D%/packages/patches/nyx-show-header-stats-with-python3.patch	\
   %D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch	\
   %D%/packages/patches/ocaml-bitstring-fix-configure.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index e731569ae1..3b898c024a 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1908,7 +1908,7 @@ lv2-c++-tools.")
 (define-public openal
   (package
     (name "openal")
-    (version "1.18.2")
+    (version "1.19.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1916,7 +1916,7 @@ lv2-c++-tools.")
                     version ".tar.bz2"))
               (sha256
                (base32
-                "10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz"))))
+                "1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f  ; no check target
diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 46cb13048d..fb4e3f4be3 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -36,7 +36,7 @@
   #:use-module (guix store)
   #:use-module (guix build-system gnu)
   #:autoload   (guix gnupg) (gnupg-verify*)
-  #:autoload   (guix hash) (port-sha256)
+  #:autoload   (gcrypt hash) (port-sha256)
   #:autoload   (guix base32) (bytevector->nix-base32-string)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 7e993189d6..a47a5aad05 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -360,17 +360,64 @@ cutoffs.  The procedures are directly applicable to identifying differentially
 expressed genes in DNA microarray experiments.")
     (license license:lgpl3)))
 
+(define-public r-graph
+  (package
+    (name "r-graph")
+    (version "1.58.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "graph" version))
+              (sha256
+               (base32
+                "1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)))
+    (home-page "https://bioconductor.org/packages/graph")
+    (synopsis "Handle graph data structures in R")
+    (description
+     "This package implements some simple graph handling capabilities for R.")
+    (license license:artistic2.0)))
+
+(define-public r-codedepends
+  (package
+    (name "r-codedepends")
+    (version "0.6.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "CodeDepends" version))
+       (sha256
+        (base32
+         "0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq"))))
+    (properties `((upstream-name . "CodeDepends")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-codetools" ,r-codetools)
+       ("r-graph" ,r-graph)
+       ("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+))))
+
 (define-public r-chippeakanno
   (package
     (name "r-chippeakanno")
-    (version "3.14.0")
+    (version "3.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ChIPpeakAnno" version))
        (sha256
         (base32
-         "1kcnc3cnmrhdk1x7q3y6zsz09pgd3xn9xy1hfbxz48cajlb18ad0"))))
+         "1cn1hfc3nvsf2n3563lkmvwjxfbiygx7f84zk683p89gy7zi1gyj"))))
     (properties `((upstream-name . "ChIPpeakAnno")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f60fc4c84c..2d5ec6d170 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -51,6 +51,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages bison)
+  #:use-module (gnu packages bioconductor)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
@@ -1887,42 +1888,33 @@ other types of unwanted sequence from high-throughput sequencing reads.")
 (define-public libbigwig
   (package
     (name "libbigwig")
-    (version "0.1.4")
+    (version "0.4.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/dpryan79/libBigWig/"
-                                  "archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dpryan79/libBigWig.git")
+                    (commit version)))
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "098rjh35pi4a9q83n8wiwvyzykjqj6l8q189p1xgfw4ghywdlvw1"))))
+                "0h2smg24v5srdcqzrmz2g23cmlp4va465mgx8r2z571sfz8pv454"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
+       #:tests? #f ; tests require access to the web
        #:make-flags
        (list "CC=gcc"
              (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'check 'disable-curl-test
-           (lambda _
-             (substitute* "Makefile"
-               (("./test/testRemote.*") ""))
-             #t))
-         ;; This has been fixed with the upstream commit 4ff6959cd8a0, but
-         ;; there has not yet been a release containing this change.
-         (add-before 'install 'create-target-dirs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/lib"))
-               (mkdir-p (string-append out "/include"))
-               #t))))))
+         (delete 'configure))))
     (inputs
      `(("zlib" ,zlib)
        ("curl" ,curl)))
     (native-inputs
-     `(("doxygen" ,doxygen)))
+     `(("doxygen" ,doxygen)
+       ;; Need for tests
+       ("python" ,python-2)))
     (home-page "https://github.com/dpryan79/libBigWig")
     (synopsis "C library for handling bigWig files")
     (description
@@ -1933,13 +1925,13 @@ files.")
 (define-public python-pybigwig
   (package
     (name "python-pybigwig")
-    (version "0.2.5")
+    (version "0.3.12")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pyBigWig" version))
               (sha256
                (base32
-                "0yrpdxg3y0sny25x4w22lv1k47jzccqjmg7j4bp0hywklvp0hg7d"))
+                "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1955,6 +1947,8 @@ files.")
              (substitute* "setup.py"
                (("libs=\\[") "libs=[\"BigWig\", "))
              #t)))))
+    (propagated-inputs
+     `(("python-numpy" ,python-numpy)))
     (inputs
      `(("libbigwig" ,libbigwig)
        ("zlib" ,zlib)
@@ -6378,14 +6372,14 @@ exploration of the results.")
 (define-public r-annotationforge
   (package
     (name "r-annotationforge")
-    (version "1.22.0")
+    (version "1.22.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationForge" version))
        (sha256
         (base32
-         "12ffj7h95adiya5mzyjxazqn1qgr434ajpabfcyhrj5v83s4vk65"))))
+         "17kmy7nvpyyj6w5jyrjciw87rydmmmc8q6cnwqjv1j7li9bp09gr"))))
     (properties
      `((upstream-name . "AnnotationForge")))
     (build-system r-build-system)
@@ -6964,13 +6958,13 @@ Bioconductor, CRAN, and Github.")
 (define-public r-biocviews
   (package
     (name "r-biocviews")
-    (version "1.48.2")
+    (version "1.48.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biocViews" version))
               (sha256
                (base32
-                "01yiafayl1m5704xdd2cn3zjc78rs10dqyz66lr3qkf6d8w66938"))))
+                "1rxvwikqivsgxjjcazlszy8xgz346lfh5rw4llxw6fz38fjgb0k5"))))
     (properties
      `((upstream-name . "biocViews")))
     (build-system r-build-system)
@@ -7183,13 +7177,13 @@ utilities for sequence data management under the ACNUC system.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.14.10")
+    (version "2.14.11")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "10ccw930vfmkskkrzbps14xglqlkxf588623dr7f1a9ckx7yr2p6"))))
+                "0wz63hysspyjihqadg91dbvllc5a61zzjrsz0b9498lihqc6m1la"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -7263,13 +7257,13 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "3.22.2")
+    (version "3.22.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "07py2g6vg9jbflwhc1hnzr2silbinrjwxq3mkq30nzjgf0n0hrf3"))))
+                "0w3jv29n0kkaiig8dbbdqy2dkng8xfaihch82mj9ci5hphrx3nng"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7291,13 +7285,13 @@ CAGE.")
 (define-public r-variantannotation
   (package
     (name "r-variantannotation")
-    (version "1.26.0")
+    (version "1.26.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "VariantAnnotation" version))
               (sha256
                (base32
-                "06bccdf57vja7m63chmgc4539lwng3q3b8zxn285fj8524l6mcn7"))))
+                "1r55ki951dj81qvy73knfcy69ik5vzkd56wnk3f6vvf9vngqb8jr"))))
     (properties
      `((upstream-name . "VariantAnnotation")))
     (inputs
@@ -7329,13 +7323,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.36.1")
+    (version "3.36.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "1982g5v35ilfgxm2vkq1p3j1bbir795pjvfzx4nzam2rlqqymbqm"))))
+                "0iiifszr6hcqih6kszdsbkx3gacfg3d7v8hdx0lbjqnjqgqz7pwk"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -7384,13 +7378,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.32.3")
+    (version "1.32.6")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "03gmka6rlz18vd4229796l5l3l6446v5cb90sn2nb5knjbp84hni"))))
+                "0p58yk2i5gqvjlkx548mnrr49wvs0xfcl06l9rqj2hi6hkkbvnp3"))))
     (properties
      `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
@@ -7495,13 +7489,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.14.1")
+    (version "1.14.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "00qg1kg2l9qqpyjaw5q910cmf84vwfiw1fhsx3ig784gwinwgj6n"))))
+                "1llb5a62hn4yxpdgqdh2l7i5zd06mjkk8hagsna69cq65wv6iifm"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -7546,13 +7540,13 @@ biological sequences or sets of sequences.")
 (define-public r-rsamtools
   (package
     (name "r-rsamtools")
-    (version "1.32.0")
+    (version "1.32.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Rsamtools" version))
               (sha256
                (base32
-                "1s65y5wn4d0x8zsljg2kmhcl6r9884h95kr041j7hp49bmxg3an6"))))
+                "1hpjr22h33pf4fgv0sj83rqzv6l5l7s6fpmmqvchh45ikks1mnhq"))))
     (properties
      `((upstream-name . "Rsamtools")))
     (build-system r-build-system)
@@ -7590,13 +7584,13 @@ files.")
 (define-public r-delayedarray
   (package
     (name "r-delayedarray")
-    (version "0.6.1")
+    (version "0.6.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "DelayedArray" version))
               (sha256
                (base32
-                "0sjwszxdi0vkj2i2di5i46gh9chc660yr3gs5nk9qnqp77713zds"))))
+                "10b03zrnvz5isfh4z55hasya2m71lrfx10l5lm2sdmqs0gwkanrd"))))
     (properties
      `((upstream-name . "DelayedArray")))
     (build-system r-build-system)
@@ -7685,13 +7679,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.40.3")
+    (version "1.40.6")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "0kvsjdaypn1jnxbnsxpycildwdyxwnjkigfq8qm8mlyfc4ahdgy3"))))
+                "1wxxxlyps19dw3i0pw4mlm3kinnswsc35rgvlnbwvpnpjbca6w4l"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -7732,13 +7726,13 @@ as well as query and modify the browser state, such as the current viewport.")
 (define-public r-genomicfeatures
   (package
     (name "r-genomicfeatures")
-    (version "1.32.0")
+    (version "1.32.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "1cqcl72q0k5wylw1brn4g4h7xzys1v06piry19cvp0gjcvm5sp7a"))))
+                "0kfyyg1ib8fkq2hxraal10z4bx3rg8figdskw4yhn1mbh6l42q5f"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -7794,25 +7788,6 @@ extracting the desired features in a convenient format.")
 information about the latest version of the Gene Ontologies.")
     (license license:artistic2.0)))
 
-(define-public r-graph
-  (package
-    (name "r-graph")
-    (version "1.58.0")
-    (source (origin
-              (method url-fetch)
-              (uri (bioconductor-uri "graph" version))
-              (sha256
-               (base32
-                "1zx445lk36g1s6i5dbhhf00nzzazyklfjxxjfax6q8hnhvgm9759"))))
-    (build-system r-build-system)
-    (propagated-inputs
-     `(("r-biocgenerics" ,r-biocgenerics)))
-    (home-page "https://bioconductor.org/packages/graph")
-    (synopsis "Handle graph data structures in R")
-    (description
-     "This package implements some simple graph handling capabilities for R.")
-    (license license:artistic2.0)))
-
 (define-public r-topgo
   (package
     (name "r-topgo")
@@ -8544,7 +8519,7 @@ paired-end data.")
      `(("r-testthat" ,r-testthat)
        ;; During vignette building knitr checks that "pandoc-citeproc"
        ;; is in the PATH.
-       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)))
+       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)))
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
        ("r-biomart" ,r-biomart)
@@ -9328,14 +9303,14 @@ unmodeled, or latent sources of noise.")
 (define-public r-seqminer
   (package
     (name "r-seqminer")
-    (version "6.0")
+    (version "6.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seqminer" version))
        (sha256
         (base32
-         "057j1l6dip35l1aivilapl2zv9db677b3di2pb3sfgq2sxg0ps3l"))))
+         "15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l"))))
     (build-system r-build-system)
     (inputs
      `(("zlib" ,zlib)))
@@ -9382,14 +9357,14 @@ trait.")
 (define-public r-maldiquant
   (package
     (name "r-maldiquant")
-    (version "1.17")
+    (version "1.18")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MALDIquant" version))
        (sha256
         (base32
-         "047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z"))))
+         "18nl214xjsxkcpbg79jkmw0yznwm5szyh2qb84n7ip46mm779ha6"))))
     (properties `((upstream-name . "MALDIquant")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/MALDIquant")
@@ -9626,14 +9601,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.6.1")
+    (version "2.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "0zrpx9r93q5ca2zdak5rs2m9sjm0wjdra1xfj3d3sx6p5gzfyg6n"))))
+         "15jhqg02ypmznc0wxksw56yij02csy678vqy531fdv86fsmypwa0"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9708,58 +9683,31 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
 (define-public r-seurat
   (package
     (name "r-seurat")
-    (version "2.3.2")
+    (version "2.3.4")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Seurat" version))
               (sha256
                (base32
-                "1sjpy5rrpvlpm6hs7qy7qpglgbp7zrgfybcsalpmjb51rhxhgcg1"))
-              ;; Delete pre-built jar.
-              (snippet
-               '(begin (delete-file "inst/java/ModularityOptimizer.jar")
-                       #t))))
+                "0l8bv4i9nzz26mirnva10mq6pimibj24vk7vpvfypgn7xk4942hd"))))
     (properties `((upstream-name . "Seurat")))
     (build-system r-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'build-jar
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((classesdir "tmp-classes"))
-               (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
-               (mkdir classesdir)
-               (with-output-to-file "manifest"
-                 (lambda _
-                   (display "Manifest-Version: 1.0
-Main-Class: ModularityOptimizer\n")))
-               (and (zero? (apply system* `("javac" "-d" ,classesdir
-                                            ,@(find-files "java" "\\.java$"))))
-                    (zero? (system* "jar"
-                                    "-cmf" "manifest"
-                                    "inst/java/ModularityOptimizer.jar"
-                                    "-C" classesdir  ".")))))))))
-    (native-inputs
-     `(("jdk" ,icedtea "jdk")))
     (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)
        ("r-ggridges" ,r-ggridges)
        ("r-gplots" ,r-gplots)
        ("r-hdf5r" ,r-hdf5r)
        ("r-hmisc" ,r-hmisc)
+       ("r-httr" ,r-httr)
        ("r-ica" ,r-ica)
        ("r-igraph" ,r-igraph)
        ("r-irlba" ,r-irlba)
@@ -9772,7 +9720,6 @@ Main-Class: ModularityOptimizer\n")))
        ("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)
@@ -9783,11 +9730,8 @@ Main-Class: ModularityOptimizer\n")))
        ("r-rocr" ,r-rocr)
        ("r-rtsne" ,r-rtsne)
        ("r-sdmtools" ,r-sdmtools)
-       ("r-stringr" ,r-stringr)
-       ("r-tclust" ,r-tclust)
        ("r-tidyr" ,r-tidyr)
-       ("r-tsne" ,r-tsne)
-       ("r-vgam" ,r-vgam)))
+       ("r-tsne" ,r-tsne)))
     (home-page "http://www.satijalab.org/seurat")
     (synopsis "Seurat is an R toolkit for single cell genomics")
     (description
@@ -9860,14 +9804,14 @@ distribution.")
 (define-public r-edaseq
   (package
     (name "r-edaseq")
-    (version "2.14.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "EDASeq" version))
        (sha256
         (base32
-         "1832pb3jkim4vrqzb8lajwx9r482bhww5n9nz3s6crvyamlp2dj0"))))
+         "0970w9d5ddqw1qxqqafdidkxh6hmcv9j5djwgnpz3fgl05kmysg8"))))
     (properties `((upstream-name . "EDASeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9987,14 +9931,14 @@ microarrays or GRanges for sequencing data.")
 (define-public r-keggrest
   (package
     (name "r-keggrest")
-    (version "1.20.0")
+    (version "1.20.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "KEGGREST" version))
        (sha256
         (base32
-         "1349vidgl9m10l1rbrp3pkwwgi2xcbsw9h9z2xqbvg97lmqc4r8j"))))
+         "1ss0xd5570x570v01r6lp64rr1apjrzp0j62520pvm3g8knjhfvs"))))
     (properties `((upstream-name . "KEGGREST")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10207,14 +10151,14 @@ the fact that each of these packages implements a select methods.")
 (define-public r-biovizbase
   (package
     (name "r-biovizbase")
-    (version "1.28.0")
+    (version "1.28.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "biovizBase" version))
        (sha256
         (base32
-         "0lkiqdr3ics6hgv47lwkykcy761823bbkhffbn4ykyfzyqwl4p67"))))
+         "0wc45j3hfn01i44bkkxjj3n8b8xzbkkcdv35mrkzb1f9yprkf8gq"))))
     (properties `((upstream-name . "biovizBase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10231,6 +10175,7 @@ the fact that each of these packages implements a select methods.")
        ("r-hmisc" ,r-hmisc)
        ("r-iranges" ,r-iranges)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
+       ("r-rlang" ,r-rlang)
        ("r-rsamtools" ,r-rsamtools)
        ("r-s4vectors" ,r-s4vectors)
        ("r-scales" ,r-scales)
@@ -10248,14 +10193,14 @@ effort and encourages consistency.")
 (define-public r-ggbio
   (package
     (name "r-ggbio")
-    (version "1.28.0")
+    (version "1.28.5")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ggbio" version))
        (sha256
         (base32
-         "0wszh3w8yia5zw758h837i1q35k99sn444y2hahcxqbdmmlbf7in"))))
+         "19s2v40fycwf44fl3lm791y635xzw67b30sq2g0qq4a6phjik42d"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10278,6 +10223,7 @@ effort and encourages consistency.")
        ("r-iranges" ,r-iranges)
        ("r-organismdbi" ,r-organismdbi)
        ("r-reshape2" ,r-reshape2)
+       ("r-rlang" ,r-rlang)
        ("r-rsamtools" ,r-rsamtools)
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-s4vectors" ,r-s4vectors)
@@ -10732,14 +10678,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
 (define-public r-hdf5array
   (package
     (name "r-hdf5array")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "HDF5Array" version))
        (sha256
         (base32
-         "1l0276qxkhgdxsfck3jmi8jvnsr20g10gjki53g0mqa45wnhm3ck"))))
+         "1s44zgm9jg82bk4b8k3dh7xw7mxychlfm3grs8516mxnw91zpvy5"))))
     (properties `((upstream-name . "HDF5Array")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10878,13 +10824,13 @@ libraries.")
 (define-public r-scater
   (package
     (name "r-scater")
-    (version "1.8.0")
+    (version "1.8.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "scater" version))
               (sha256
                (base32
-                "0bhpikgz3b9f510dawsay4zry9rlp8vjx5n6zvwbcpwrd94p3903"))))
+                "173lfpas2fqsp4xxsw01wkxd4496c5p8himw9b4r9z4npxkfyv16"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
@@ -10922,14 +10868,14 @@ quality control.")
 (define-public r-scran
   (package
     (name "r-scran")
-    (version "1.8.2")
+    (version "1.8.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "scran" version))
        (sha256
         (base32
-         "0nbn5x75gf9d0p18w7vpkbv30cpdqvp5bz8xvila0h7jla7xdyih"))))
+         "17vq9vb9ak7n4mcqpwnm9x3z91vmr7xnsgj8f45b8dbj7m0v126j"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
@@ -12885,8 +12831,8 @@ once.  This package provides tools to perform Drop-seq analyses.")
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-rjson" ,r-rjson)
        ("salmon" ,salmon)
-       ("ghc-pandoc" ,ghc-pandoc-1)
-       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+       ("ghc-pandoc" ,ghc-pandoc)
+       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
        ("python-wrapper" ,python-wrapper)
        ("python-pyyaml" ,python-pyyaml)))
     (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
@@ -12947,8 +12893,8 @@ expression report comparing samples in an easily configurable manner.")
        ("macs" ,macs)
        ("multiqc" ,multiqc)
        ("perl" ,perl)
-       ("ghc-pandoc" ,ghc-pandoc-1)
-       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+       ("ghc-pandoc" ,ghc-pandoc)
+       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
        ("fastqc" ,fastqc)
        ("bowtie" ,bowtie)
        ("idr" ,idr)
@@ -13009,8 +12955,8 @@ in an easily configurable manner.")
        ("r-bookdown" ,r-bookdown)
        ("r-ggplot2" ,r-ggplot2)
        ("r-ggbio" ,r-ggbio)
-       ("ghc-pandoc" ,ghc-pandoc-1)
-       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+       ("ghc-pandoc" ,ghc-pandoc)
+       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
        ("python-wrapper" ,python-wrapper)
        ("python-pyyaml" ,python-pyyaml)
        ("snakemake" ,snakemake-4)
@@ -13060,8 +13006,8 @@ methylation and segmentation.")
        ("python-magic" ,python-magic)
        ("python-numpy" ,python-numpy)
        ("python-loompy" ,python-loompy)
-       ("ghc-pandoc" ,ghc-pandoc-1)
-       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+       ("ghc-pandoc" ,ghc-pandoc)
+       ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
        ("samtools" ,samtools)
        ("snakemake" ,snakemake-4)
        ("star" ,star)
diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm
index af06b741a7..af29cee565 100644
--- a/gnu/packages/ccache.scm
+++ b/gnu/packages/ccache.scm
@@ -30,7 +30,7 @@
 (define-public ccache
   (package
     (name "ccache")
-    (version "3.4.2")
+    (version "3.4.3")
     (source
      (origin
       (method url-fetch)
@@ -38,7 +38,7 @@
                           version ".tar.xz"))
       (sha256
        (base32
-        "1qpy6k9f06kpr6bxy26ncdxcszqv1skcncvczcvksgfncx1v3a0q"))))
+        "0jjzq5340qw3jm5gkajjkkb5wd0yqqy1dyjw3mf3jy15cakmazi9"))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)     ; for test.sh
                      ("which" ,(@ (gnu packages base) which))))
@@ -49,13 +49,6 @@
                    (lambda _
                      (substitute* '("unittest/test_hashutil.c" "test/suites/base.bash")
                        (("#!/bin/sh") (string-append "#!" (which "sh"))))
-                     #t))
-                 (add-before 'check 'munge-failing-test
-                   (lambda _
-                     ;; XXX The new ‘Multiple -fdebug-prefix-map’ test added in
-                     ;; 3.3.5 fails (why?).  Force it to report success instead.
-                     (substitute* "test/suites/debug_prefix_map.bash"
-                       (("grep \"name\"") "true"))
                      #t)))))
     (home-page "https://ccache.samba.org/")
     (synopsis "Compiler cache")
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index e26983da3b..067a288004 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -32,6 +32,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
@@ -223,39 +224,42 @@ their dependencies.")
              (lambda* (#:key inputs outputs #:allow-other-keys)
                ;; Wrap the 'cuirass' command to refer to the right modules.
                (let* ((out    (assoc-ref outputs "out"))
+                      (gcrypt (assoc-ref inputs "guile-gcrypt"))
                       (json   (assoc-ref inputs "guile-json"))
                       (sqlite (assoc-ref inputs "guile-sqlite3"))
                       (git    (assoc-ref inputs "guile-git"))
                       (bytes  (assoc-ref inputs "guile-bytestructures"))
                       (fibers (assoc-ref inputs "guile-fibers"))
                       (guix   (assoc-ref inputs "guix"))
+                      (deps   (list gcrypt json sqlite git bytes fibers guix))
                       (guile  (assoc-ref %build-inputs "guile"))
                       (effective (read-line
                                   (open-pipe* OPEN_READ
                                               (string-append guile "/bin/guile")
                                               "-c" "(display (effective-version))")))
-                      (mods   (string-append json "/share/guile/site/"
-                                             effective ":"
-                                             git "/share/guile/site/"
-                                             effective ":"
-                                             bytes "/share/guile/site/"
-                                             effective ":"
-                                             sqlite "/share/guile/site/"
-                                             effective ":"
-                                             fibers "/share/guile/site/"
-                                             effective ":"
-                                             guix "/share/guile/site/"
-                                             effective)))
+                      (mods   (string-drop-right  ;drop trailing colon
+                               (string-join deps
+                                            (string-append "/share/guile/site/"
+                                                           effective ":")
+                                            'suffix)
+                               1))
+                      (objs   (string-drop-right
+                               (string-join deps
+                                            (string-append "/lib/guile/" effective
+                                                           "/site-ccache:")
+                                            'suffix)
+                               1)))
                  ;; Make sure 'cuirass' can find the 'evaluate' command, as
                  ;; well as the relevant Guile modules.
                  (wrap-program (string-append out "/bin/cuirass")
                    `("PATH" ":" prefix (,(string-append out "/bin")))
                    `("GUILE_LOAD_PATH" ":" prefix (,mods))
-                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods)))
+                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))
                  #t))))))
       (inputs
        `(("guile" ,guile-2.2)
          ("guile-fibers" ,guile-fibers)
+         ("guile-gcrypt" ,guile-gcrypt)
          ("guile-json" ,guile-json)
          ("guile-sqlite3" ,guile-sqlite3)
          ("guile-git" ,guile-git)
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index be178a5f99..b3fbea0b38 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -211,16 +211,16 @@ COCOMO model or user-provided parameters.")
 (define-public cloc
   (package
     (name "cloc")
-    (version "1.76")
+    (version "1.78")
     (source
      (origin
        (method url-fetch)
        (uri (string-append
-             "https://github.com/AlDanial/cloc/releases/download/v" version
+             "https://github.com/AlDanial/cloc/releases/download/" version
              "/cloc-" version ".tar.gz"))
        (sha256
         (base32
-         "05srlvzwisr7y7ymvzb5yfdsrspja27ysqdmkwhiiivy84mq2gnl"))))
+         "176xklr2qsgxh9zdb565gib6pp4gsm585rz5fvyphgjy4i679wkv"))))
     (build-system gnu-build-system)
     (inputs
      `(("coreutils" ,coreutils)
@@ -651,6 +651,19 @@ extensions over the standard utility.")
    (license license:gpl3+)
    (home-page "https://www.gnu.org/software/indent/")))
 
+(define-public indent-2.2.12
+  (package
+    (inherit indent)
+    (version "2.2.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/indent/indent-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "12xvcd16cwilzglv9h7sgh4h1qqjd1h8s48ji2dla58m4706hzg7"))))
+    (native-inputs `(("texinfo" ,texinfo)))))
+
 (define-public amalgamate
   (let* ((commit "c91f07eea1133aa184f652b8f1398eaf03586208")
          (revision "0")
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 016d1b1e41..8144391729 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -43,6 +43,25 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
+(define-public r-clipr
+  (package
+    (name "r-clipr")
+    (version "0.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "clipr" version))
+       (sha256
+        (base32
+         "061x84ildc7g1p91yw5iyj8lpqdf4hqv36as85lw8c6qv9ywbsqv"))))
+    (build-system r-build-system)
+    (home-page "https://github.com/mdlincoln/clipr")
+    (synopsis "Read and write from the system clipboard")
+    (description
+     "This package provides simple utility functions to read from and write to
+the system clipboards.")
+    (license license:gpl3)))
+
 (define-public r-tidyverse
   (package
     (name "r-tidyverse")
@@ -143,20 +162,23 @@ package is a port of the Python package @code{cssselect}.")
 (define-public r-reprex
   (package
     (name "r-reprex")
-    (version "0.1.2")
+    (version "0.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reprex" version))
        (sha256
         (base32
-         "105d9vsmqfilgpw8psfb2wyiz1hvcycvh4cqhb3ab37lm3rcavvs"))))
+         "1l44pxjiz3g0jkk3v6rg5jps3llihfiah0qyv40s0bxvxa6gm8v9"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-callr" ,r-callr)
+       ("r-clipr" ,r-clipr)
        ("r-knitr" ,r-knitr)
+       ("r-rlang" ,r-rlang)
        ("r-rmarkdown" ,r-rmarkdown)
-       ("r-whisker" ,r-whisker)))
+       ("r-whisker" ,r-whisker)
+       ("r-withr" ,r-withr)))
     (home-page "https://github.com/tidyverse/reprex")
     (synopsis "Prepare reproducible R code examples for sharing")
     (description
@@ -171,17 +193,18 @@ such as copy/paste from an R session.")
 (define-public r-callr
   (package
     (name "r-callr")
-    (version "2.0.4")
+    (version "3.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "callr" version))
        (sha256
         (base32
-         "1053qqq632z94pqq2v5dynjpgyv1b1c8zvidmcllw7zn8zha8gqf"))))
+         "1rxbxy6kn7dj90z9hpppr9cnpvnxzknba2dwrdp0lrk5dh462qz3"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-r6" ,r-r6)
+     `(("r-base64enc" ,r-base64enc)
+       ("r-r6" ,r-r6)
        ("r-processx" ,r-processx)))
     (home-page "https://github.com/r-lib/callr#readme")
     (synopsis "Call R from R")
@@ -369,14 +392,14 @@ colors are provided.")
 (define-public r-glue
   (package
     (name "r-glue")
-    (version "1.2.0")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "glue" version))
        (sha256
         (base32
-         "0vi9y8ix95g6hjqdz9c9y4119apbdjcypdv0ag8cl6vaxqs5n9qr"))))
+         "1vhw5497lpfr4m8lcx9bs0fgdp4ax0sycrk6n8yksp33qd25m7kq"))))
     (build-system r-build-system)
     (home-page "https://github.com/tidyverse/glue")
     (synopsis "Interpreted string literals")
@@ -430,14 +453,14 @@ error stream.")
 (define-public r-pls
   (package
     (name "r-pls")
-    (version "2.6-0")
+    (version "2.7-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pls" version))
        (sha256
         (base32
-         "15j59p5x0rkdrk7iqzkipsy50rsyjl31w8zxc4w3v1j5gzxhi1rx"))))
+         "0xaqqgmdvfh7g7v1m4bcwjqzph68b9cq3bn4kjisfsadl54i5p2x"))))
     (build-system r-build-system)
     (home-page "http://mevik.net/work/software/pls.html")
     (synopsis "Partial Least Squares and Principal Component Regression")
@@ -480,6 +503,60 @@ print, summary, plot, update, etc.
 processes.  Most of its code is based on the @code{psutil} Python package.")
     (license license:bsd-3)))
 
+(define-public r-pkgbuild
+  (package
+    (name "r-pkgbuild")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "pkgbuild" version))
+       (sha256
+        (base32
+         "10iz8057mixl9j73pq2cbp4ib6dadfsgi3fcsjjm7l3wwb9issd9"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-callr" ,r-callr)
+       ("r-crayon" ,r-crayon)
+       ("r-desc" ,r-desc)
+       ("r-r6" ,r-r6)
+       ("r-rprojroot" ,r-rprojroot)
+       ("r-withr" ,r-withr)))
+    (home-page "https://github.com/r-pkgs/pkgbuild")
+    (synopsis "Find tools needed to build R packages")
+    (description
+     "This package provides functions used to build R packages.  It locates
+compilers needed to build R packages on various platforms and ensures the PATH
+is configured appropriately so R can use them.")
+    (license license:gpl3)))
+
+(define-public r-pkgload
+  (package
+    (name "r-pkgload")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "pkgload" version))
+       (sha256
+        (base32
+         "1rjj229nq9fsl4ki4m75ybsavjgpqqhsr1zjzapwicsrxv6212px"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-desc" ,r-desc)
+       ("r-pkgbuild" ,r-pkgbuild)
+       ("r-rlang" ,r-rlang)
+       ("r-rprojroot" ,r-rprojroot)
+       ("r-rstudioapi" ,r-rstudioapi)
+       ("r-withr" ,r-withr)))
+    (home-page "https://github.com/r-lib/pkgload")
+    (synopsis "Simulate package installation and attach")
+    (description
+     "This package simulates the process of installing a package and then
+attaching it.  This is a key part of the @code{devtools} package as it allows
+you to rapidly iterate while developing a package.")
+    (license license:gpl3)))
+
 (define-public r-rcpp
   (package
     (name "r-rcpp")
@@ -1678,14 +1755,14 @@ provided.")
 (define-public r-ipred
   (package
     (name "r-ipred")
-    (version "0.9-6")
+    (version "0.9-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ipred" version))
        (sha256
         (base32
-         "1vrw1pqcpnc04x1r2h9grdfm6bivs358sww5gg90jwlvxcw69lxq"))))
+         "0q53cqs46501wsd4cmfsmr78l8nv1hkbamk9m0ns5qy02df5r254"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-class" ,r-class)
@@ -1739,22 +1816,23 @@ created using basic graphics.")
 (define-public r-broom
   (package
     (name "r-broom")
-    (version "0.4.5")
+    (version "0.5.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "broom" version))
        (sha256
         (base32
-         "1mrrqqw1bmjf2v88ziqwb5y86g29h0a3rsx2jpw0hrzrzb8i5kcb"))))
+         "1r3831vq0fd5sh5841xr844sghg88z7ws91hg4jgnzbbkxfjp4ag"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-dplyr" ,r-dplyr)
+     `(("r-backports" ,r-backports)
+       ("r-dplyr" ,r-dplyr)
        ("r-nlme" ,r-nlme)
-       ("r-plyr" ,r-plyr)
-       ("r-psych" ,r-psych)
+       ("r-purrr" ,r-purrr)
        ("r-reshape2" ,r-reshape2)
        ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)
        ("r-tidyr" ,r-tidyr)))
     (home-page "https://github.com/tidyverse/broom")
     (synopsis "Convert statistical analysis objects into tidy data frames")
@@ -1903,20 +1981,72 @@ can be computed between character vectors while taking proper care of encoding
 or between integer vectors representing generic sequences.")
     (license license:gpl3+)))
 
+(define-public r-ucminf
+  (package
+    (name "r-ucminf")
+    (version "1.1-4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ucminf" version))
+       (sha256
+        (base32
+         "01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2"))))
+    (build-system r-build-system)
+    (native-inputs `(("gfortran" ,gfortran)))
+    (home-page "https://cran.r-project.org/web/packages/ucminf/")
+    (synopsis "General-purpose unconstrained non-linear optimization")
+    (description
+     "This package provides an implementation of an algorithm for
+general-purpose unconstrained non-linear optimization.  The algorithm is of
+quasi-Newton type with BFGS updating of the inverse Hessian and soft line
+search with a trust region type monitoring of the input to the line search
+algorithm.  The interface of @code{ucminf} is designed for easy interchange
+with the package @code{optim}.")
+    (license license:gpl2+)))
+
+(define-public r-ordinal
+  (package
+    (name "r-ordinal")
+    (version "2018.8-25")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ordinal" version))
+       (sha256
+        (base32
+         "03cv9hcrw8j3lhamzhz8sk2p3ns4cw9z41x49h301k2b3pajv43h"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-mass" ,r-mass)
+       ("r-matrix" ,r-matrix)
+       ("r-numderiv" ,r-numderiv)
+       ("r-ucminf" ,r-ucminf)))
+    (home-page "https://github.com/runehaubo/ordinal")
+    (synopsis "Regression models for ordinal data")
+    (description
+     "This package provides an implementation of cumulative link (mixed)
+models also known as ordered regression models, proportional odds models,
+proportional hazards models for grouped survival times and ordered models.
+Estimation is via maximum likelihood and mixed models are fitted with the
+Laplace approximation and adaptive Gauss-Hermite quadrature.")
+    (license license:gpl2+)))
+
 (define-public r-jomo
   (package
     (name "r-jomo")
-    (version "2.6-3")
+    (version "2.6-4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "jomo" version))
        (sha256
         (base32
-         "14s8q0j5zgl1g1pfxg3a4y1jzvs0wl61ir4992wsj7safskj7zvi"))))
+         "05g2rj9g7rgyb22b0gybw042nydyqsqsb31v05hifzavri8ij01x"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lme4" ,r-lme4)
+       ("r-ordinal" ,r-ordinal)
        ("r-survival" ,r-survival)))
     (home-page "https://cran.r-project.org/web/packages/jomo/")
     (synopsis "Multilevel Joint Modelling Multiple Imputation")
@@ -1932,14 +2062,14 @@ impute compatibly with the substantive model.")
 (define-public r-pan
   (package
     (name "r-pan")
-    (version "1.4")
+    (version "1.6")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pan" version))
        (sha256
         (base32
-         "1p3nigmhrnlch86g89hn7l0wvkifx3k9n59g0psi95yck43kza76"))))
+         "1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d"))))
     (build-system r-build-system)
     (native-inputs `(("gfortran" ,gfortran)))
     (home-page "https://cran.r-project.org/web/packages/pan/")
@@ -1977,14 +2107,14 @@ analysis of multiply imputed data sets.")
 (define-public r-mice
   (package
     (name "r-mice")
-    (version "3.1.0")
+    (version "3.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "mice" version))
        (sha256
         (base32
-         "0xpn215yfzib4hw09cwilnyg9zbvq460njavfvm84mvgwbm25byi"))))
+         "1p0ipbqk5aqdi7iikw3qrjyvdi9sdhpnw1h5mwakwvv0yl0pzbyx"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-broom" ,r-broom)
@@ -2182,17 +2312,16 @@ training models for classification or ranking.")
 (define-public r-xts
   (package
     (name "r-xts")
-    (version "0.10-2")
+    (version "0.11-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xts" version))
        (sha256
         (base32
-         "1i11fczks4lh8rpi6xbm9bm7f3jpcp6xw03kv178g3n3361qhmc1"))))
+         "1v50yn4bsjzdyk7r90isn6dxmpkapillrhpx3gqsshd180vwzqk9"))))
     (build-system r-build-system)
     (propagated-inputs `(("r-zoo" ,r-zoo)))
-    (native-inputs `(("gfortran" ,gfortran)))
     (home-page "https://github.com/joshuaulrich/xts")
     (synopsis "Extensible time series")
     (description
@@ -2669,18 +2798,19 @@ display.")
 (define-public r-pillar
   (package
     (name "r-pillar")
-    (version "1.2.3")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pillar" version))
        (sha256
         (base32
-         "1rzhssprqgam1nq3s0f5rzxhxsq02azcghvxf6k8kmsmddf1n7f8"))))
+         "1q6arybmfqxhp5zqj1fri5pb8v7ywcv7bmgf81rrmgl892p4bn5f"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cli" ,r-cli)
        ("r-crayon" ,r-crayon)
+       ("r-fansi" ,r-fansi)
        ("r-rlang" ,r-rlang)
        ("r-utf8" ,r-utf8)))
     (home-page "https://github.com/r-lib/pillar")
@@ -2713,14 +2843,14 @@ terminals.")
 (define-public r-tinytex
   (package
     (name "r-tinytex")
-    (version "0.6")
+    (version "0.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tinytex" version))
        (sha256
         (base32
-         "16y9dldaff2kx1fkm92p7zlph0dcrdmlmavpdgf5y9jbhmc8g83f"))))
+         "1bgpr5i5399jf9n6pg2mm4aamisbhppg082ad0wv1j4g0rlxf1gy"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-xfun" ,r-xfun)))
@@ -2737,17 +2867,18 @@ automatically.")
 (define-public r-metap
   (package
     (name "r-metap")
-    (version "0.9")
+    (version "1.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "metap" version))
        (sha256
         (base32
-         "03vg0mb6q7j2z0pkxykbak0hcp6dcak7zxs1lw9hswz9kqrq5jhz"))))
+         "18rzvqfzyk8fn54gjvy2qd21nk9w69j7ihww477ma3f3ab6i982h"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-lattice" ,r-lattice)))
+     `(("r-lattice" ,r-lattice)
+       ("r-rdpack" ,r-rdpack)))
     (home-page "http://www.dewey.myzen.co.uk/meta/meta.html")
     (synopsis "Meta-analysis of significance values")
     (description
@@ -2781,14 +2912,14 @@ supports arbitrary vertex/edge/graph attributes.")
 (define-public r-statnet-common
   (package
     (name "r-statnet-common")
-    (version "4.1.2")
+    (version "4.1.4")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "statnet.common" version))
         (sha256
           (base32
-            "0h3g687214rlycca0fjrpy1lqbqsrginxqhmhl2mb2jinqqxcfgd"))))
+            "14dydm4c4dzc4v6ldxpn04q551nczzfablwibrd8lzgja8x9ksic"))))
     (properties
       `((upstream-name . "statnet.common")))
     (build-system r-build-system)
@@ -3010,21 +3141,20 @@ University Press, 2000.")
 (define-public r-tsa
   (package
     (name "r-tsa")
-    (version "1.01")
+    (version "1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TSA" version))
        (sha256
         (base32
-         "0cm97hwxm6vfgy9mc3kgwq6dnmn86p8a4avnfjbai048qnwrn6hx"))))
+         "0gjfqibwdznz0nka95k4fjm935svxjpnqfywwz403crn2lh30h6q"))))
     (properties `((upstream-name . "TSA")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-leaps" ,r-leaps)
        ("r-locfit" ,r-locfit)
-       ("r-mgcv" ,r-mgcv)
-       ("r-tseries" ,r-tseries)))
+       ("r-mgcv" ,r-mgcv)))
     (home-page "http://www.stat.uiowa.edu/~kchan/TSA.htm")
     (synopsis "Time series analysis")
     (description
@@ -3277,14 +3407,14 @@ exponentiation.")
 (define-public r-heatmaply
   (package
     (name "r-heatmaply")
-    (version "0.14.1")
+    (version "0.15.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "heatmaply" version))
        (sha256
         (base32
-         "03p2caclhfgqgpx3wwck5h06jy3mxgs05gjmwkb7hmwghkjh41jc"))))
+         "0h8s5djzj4mrmaswlcaap6jbwxrkbzc43bbqik3qf8vrqz335w04"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -3633,14 +3763,14 @@ multivariate plot methods.")
 (define-public r-fnn
   (package
     (name "r-fnn")
-    (version "1.1")
+    (version "1.1.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "FNN" version))
        (sha256
         (base32
-         "1kncmiaraq1mrykb9fj3fsxswabk3l71fnp1vks0x9aay5xfk8mj"))))
+         "1n61jrcmakqif8f827x4qnlhm2jqpj5fgjj65c4p0kdd8lzw8pqp"))))
     (properties `((upstream-name . "FNN")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/FNN")
@@ -3925,14 +4055,14 @@ simple method for converting between file types.")
 (define-public r-maptools
   (package
     (name "r-maptools")
-    (version "0.9-2")
+    (version "0.9-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "maptools" version))
        (sha256
         (base32
-         "075lmb3b62171cw2dg8fv1vwmvfzg39r1ji7jwb8s5k9dz88ry1v"))))
+         "0hxbv01im9zk1qrwgigpc510w6x0kzdzip4gx2jzfqmmwr8m17r8"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-foreign" ,r-foreign)
@@ -3953,14 +4083,14 @@ exchanging spatial objects with other R packages.")
 (define-public r-later
   (package
     (name "r-later")
-    (version "0.7.3")
+    (version "0.7.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "later" version))
        (sha256
         (base32
-         "04j2phymxgkk4hv9pfa5w3s98w5d7fvm11blrdhxmray4n618msw"))))
+         "125zc499gj702x2bch95lsfzk2qb4dzv3604x9afym2i3ylrmm64"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bh" ,r-bh)
@@ -4047,33 +4177,6 @@ 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+))))
-
 (define-public r-rappdirs
   (package
     (name "r-rappdirs")
@@ -4163,14 +4266,14 @@ obtain a better initial configuration in non-metric MDS.")
 (define-public r-reticulate
   (package
     (name "r-reticulate")
-    (version "1.8")
+    (version "1.10")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reticulate" version))
        (sha256
         (base32
-         "0zwb4ikf021nw7axdn7qlr6bq4xkph3anfy314idkspy1iil4nmr"))))
+         "0bz3lxbisjwn6cv23090zivpy0bxcncr82g5qja13l37i8xnvqsq"))))
     (build-system r-build-system)
     (inputs `(("python" ,python)))
     (propagated-inputs
@@ -4280,14 +4383,14 @@ and adds the annotation to the plot.")
 (define-public r-ggpubr
   (package
     (name "r-ggpubr")
-    (version "0.1.7")
+    (version "0.1.8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggpubr" version))
        (sha256
         (base32
-         "110ny8p41kmbz0a5rl0mv9cqpjkx6yr3ybflp1r0fmcvhwv7cr3i"))))
+         "0psl2zndm4wk6nnj1nv305islpxfvfgd87gjh2ph8yqn4mxpnfi1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cowplot" ,r-cowplot)
@@ -4296,8 +4399,10 @@ and adds the annotation to the plot.")
        ("r-ggrepel" ,r-ggrepel)
        ("r-ggsci" ,r-ggsci)
        ("r-ggsignif" ,r-ggsignif)
+       ("r-glue" ,r-glue)
        ("r-gridextra" ,r-gridextra)
        ("r-magrittr" ,r-magrittr)
+       ("r-polynom" ,r-polynom)
        ("r-purrr" ,r-purrr)
        ("r-scales" ,r-scales)
        ("r-tidyr" ,r-tidyr)))
@@ -4424,6 +4529,27 @@ packages.  It contains also functions for simplifying some clustering analysis
 steps and provides ggplot2-based elegant data visualization.")
     (license license:gpl2)))
 
+(define-public r-fansi
+  (package
+    (name "r-fansi")
+    (version "0.3.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "fansi" version))
+       (sha256
+        (base32
+         "135qj7bcc3mwn0vg55hiiadf66lx6zaxvkicfmfw9x0zr7ah2r6x"))))
+    (build-system r-build-system)
+    (native-inputs
+     `(("r-knitr" ,r-knitr))) ; for vignettes
+    (home-page "https://github.com/brodieG/fansi")
+    (synopsis "ANSI control sequence aware string functions")
+    (description
+     "This package provides counterparts to R string manipulation functions
+that account for the effects of ANSI text formatting control sequences.")
+    (license license:gpl2+)))
+
 (define-public r-nbclust
   (package
     (name "r-nbclust")
@@ -4495,6 +4621,303 @@ patterned after functions in the Python @code{itertools} module, and others
 patterned after functions in the snow package.")
     (license license:gpl2)))
 
+(define-public r-polynom
+  (package
+    (name "r-polynom")
+    (version "1.3-9")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "polynom" version))
+       (sha256
+        (base32
+         "1s4xxv5rvpigawknvq27v9vzvs83phfsj5h8mim2lmf5bj950nnk"))))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/polynom/")
+    (synopsis "Functions for univariate polynomial manipulations")
+    (description
+     "This package provides a collection of functions to implement a class for
+univariate polynomial manipulations.")
+    (license license:gpl2)))
+
+(define-public r-gbrd
+  (package
+    (name "r-gbrd")
+    (version "0.4-11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "gbRd" version))
+       (sha256
+        (base32
+         "06x97rw5i6v6cgjxkfhxnw4dn7lghn5q6ra7ri5ag1x9dkfzcl82"))))
+    (properties `((upstream-name . "gbRd")))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/gbRd/")
+    (synopsis "Utilities for processing Rd objects and files")
+    (description
+     "This package provides utilities for processing Rd objects and files.
+Extract argument descriptions and other parts of the help pages of
+functions.")
+    (license license:gpl2+)))
+
+(define-public r-rdpack
+  (package
+    (name "r-rdpack")
+    (version "0.9-0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "Rdpack" version))
+       (sha256
+        (base32
+         "067w0w6kza0hkzcnx58danl83yfvl9yjacr47mnid2bg856gdd1b"))))
+    (properties `((upstream-name . "Rdpack")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bibtex" ,r-bibtex)
+       ("r-gbrd" ,r-gbrd)))
+    (home-page "https://github.com/GeoBosh/Rdpack")
+    (synopsis "Update and manipulate Rd documentation objects")
+    (description
+     "This package provides functions for manipulation of R documentation
+objects, including functions @code{reprompt()} and @code{ereprompt()} for
+updating Rd documentation for functions, methods and classes; it also includes
+Rd macros for citations and import of references from bibtex files for use in
+Rd files and roxygen2 comments, as well as many functions for manipulation of
+references and Rd files.")
+    (license license:gpl2+)))
+
+(define-public r-officer
+  (package
+    (name "r-officer")
+    (version "0.3.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "officer" version))
+       (sha256
+        (base32
+         "14b6ii9h3fi5g8ja929mfhxps9r7x78flqjdy437y9aygkhmiz2i"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-base64enc" ,r-base64enc)
+       ("r-digest" ,r-digest)
+       ("r-htmltools" ,r-htmltools)
+       ("r-magrittr" ,r-magrittr)
+       ("r-r6" ,r-r6)
+       ("r-rcpp" ,r-rcpp)
+       ("r-uuid" ,r-uuid)
+       ("r-xml2" ,r-xml2)
+       ("r-zip" ,r-zip)))
+    (home-page "https://davidgohel.github.io/officer")
+    (synopsis "Manipulation of Word and PowerPoint documents")
+    (description
+     "This package provides tools to access and manipulate Word and PowerPoint
+documents from R.  The package focuses on tabular and graphical reporting from
+R; it also provides two functions that let users get document content into
+data objects.  A set of functions lets add and remove images, tables and
+paragraphs of text in new or existing documents.  When working with PowerPoint
+presentations, slides can be added or removed; shapes inside slides can also
+be added or removed.  When working with Word documents, a cursor can be used
+to help insert or delete content at a specific location in the document.")
+    (license license:gpl3)))
+
+(define-public r-snakecase
+  (package
+    (name "r-snakecase")
+    (version "0.9.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "snakecase" version))
+       (sha256
+        (base32
+         "1g6xai53dl24ws0mwhqrkcv583ziaq505cv3z8v5dhjgy98kilyj"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-stringi" ,r-stringi)
+       ("r-stringr" ,r-stringr)))
+    (home-page "https://github.com/Tazinho/snakecase")
+    (synopsis "Convert strings into any case")
+    (description
+     "This package provides a consistent, flexible and easy to use tool to
+parse and convert strings into cases like snake or camel among others.")
+    (license license:gpl3)))
+
+(define-public r-prediction
+  (package
+    (name "r-prediction")
+    (version "0.3.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "prediction" version))
+       (sha256
+        (base32
+         "19d7312f5lkqfglfvlgssnvyw7gl161s0xradcry44r1i6qp05j1"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-data-table" ,r-data-table)))
+    (home-page "https://github.com/leeper/prediction")
+    (synopsis "Tidy, type-safe prediction methods")
+    (description
+     "This package provides the @code{prediction()} function, a type-safe
+alternative to @code{predict()} that always returns a data frame.  The package
+currently supports common model types (e.g., @code{\"lm\"}, @code{\"glm\"})
+from the @code{stats} package, as well as numerous other model classes from
+other add-on packages.")
+    (license license:expat)))
+
+(define-public r-sjlabelled
+  (package
+    (name "r-sjlabelled")
+    (version "1.0.13")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "sjlabelled" version))
+       (sha256
+        (base32
+         "0xizj7mrhnbn8kwjgm076si9w68a7lgrx4vj1sbqmv9jx055h8wv"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-broom" ,r-broom)
+       ("r-dplyr" ,r-dplyr)
+       ("r-haven" ,r-haven)
+       ("r-magrittr" ,r-magrittr)
+       ("r-prediction" ,r-prediction)
+       ("r-purrr" ,r-purrr)
+       ("r-rlang" ,r-rlang)
+       ("r-snakecase" ,r-snakecase)
+       ("r-tibble" ,r-tibble)
+       ("r-tidyselect" ,r-tidyselect)))
+    (home-page "https://github.com/strengejacke/sjlabelled")
+    (synopsis "Labelled data utility functions")
+    (description
+     "This package provides a collection of functions dealing with labelled
+data, like reading and writing data between R and other statistical software
+packages.  This includes easy ways to get, set or change value and variable
+label attributes, to convert labelled vectors into factors or numeric (and
+vice versa), or to deal with multiple declared missing values.")
+    (license license:gpl3)))
+
+(define-public r-sjmisc
+  (package
+    (name "r-sjmisc")
+    (version "2.7.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "sjmisc" version))
+       (sha256
+        (base32
+         "11cy09k1d2y5wwqvafqxr01hzk4x68ji2pqlwj7fnpw27i3ap4q4"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-broom" ,r-broom)
+       ("r-crayon" ,r-crayon)
+       ("r-dplyr" ,r-dplyr)
+       ("r-haven" ,r-haven)
+       ("r-magrittr" ,r-magrittr)
+       ("r-pillar" ,r-pillar)
+       ("r-purrr" ,r-purrr)
+       ("r-rlang" ,r-rlang)
+       ("r-sjlabelled" ,r-sjlabelled)
+       ("r-stringdist" ,r-stringdist)
+       ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)
+       ("r-tidyr" ,r-tidyr)
+       ("r-tidyselect" ,r-tidyselect)))
+    (home-page "https://github.com/strengejacke/sjmisc")
+    (synopsis "Data and variable transformation functions")
+    (description
+     "This package is a collection of miscellaneous utility functions,
+supporting data transformation tasks like recoding, dichotomizing or grouping
+variables, setting and replacing missing values.  The data transformation
+functions also support labelled data, and all integrate seamlessly into a
+tidyverse workflow.")
+    (license license:gpl3)))
+
+(define-public r-nortest
+  (package
+    (name "r-nortest")
+    (version "1.0-4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "nortest" version))
+       (sha256
+        (base32
+         "17r0wpz72z9312c70nwi1i1kp1v9fm1h6jg7q5cx1mc1h420m1d3"))))
+    (build-system r-build-system)
+    (home-page "https://cran.r-project.org/web/packages/nortest/")
+    (synopsis "Tests for normality")
+    (description
+     "This package provides five omnibus tests for testing the composite
+hypothesis of normality.")
+    (license license:gpl2+)))
+
+(define-public r-moonbook
+  (package
+    (name "r-moonbook")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "moonBook" version))
+       (sha256
+        (base32
+         "0hys56mwbm776ff7dibi8wzyf69qiais9rs1jazv79lk6h56s9s6"))))
+    (properties `((upstream-name . "moonBook")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-magrittr" ,r-magrittr)
+       ("r-nortest" ,r-nortest)
+       ("r-purrr" ,r-purrr)
+       ("r-sjmisc" ,r-sjmisc)
+       ("r-stringr" ,r-stringr)
+       ("r-survival" ,r-survival)))
+    (home-page "https://github.com/cardiomoon/moonBook")
+    (synopsis "Functions and datasets for the book by Keon-Woong Moon")
+    (description
+     "This package provides several analysis-related functions for the book
+entitled \"R statistics and graph for medical articles\" (written in Korean),
+version 1, by Keon-Woong Moon with Korean demographic data with several plot
+functions.")
+    (license license:gpl2)))
+
+(define-public r-flextable
+  (package
+    (name "r-flextable")
+    (version "0.4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "flextable" version))
+       (sha256
+        (base32
+         "09j2y0z7rkc0w1cl9pp1cpk6fnzzfr6245mxa3ca42z9k2cy2jfl"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-gdtools" ,r-gdtools)
+       ("r-htmltools" ,r-htmltools)
+       ("r-knitr" ,r-knitr)
+       ("r-officer" ,r-officer)
+       ("r-r6" ,r-r6)
+       ("r-rmarkdown" ,r-rmarkdown)
+       ("r-stringr" ,r-stringr)
+       ("r-xml2" ,r-xml2)))
+    (home-page "https://davidgohel.github.io/flextable")
+    (synopsis "Functions for tabular reporting")
+    (description
+     "This package provides tools to create pretty tables for HTML documents
+and other formats.  Functions are provided to let users create tables, modify
+and format their content.  It extends the @code{officer} package and can be
+used within R markdown documents when rendering to HTML and to Word
+documents.")
+    (license license:gpl3)))
+
 (define-public r-writexl
   (package
     (name "r-writexl")
@@ -4688,14 +5111,14 @@ Group (Non-)Overlap considerations.")
 (define-public r-doby
   (package
     (name "r-doby")
-    (version "4.6-1")
+    (version "4.6-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "doBy" version))
        (sha256
         (base32
-         "1y02awzid23bxz8hx6j8pxd6i7jaq8pdw3k60rag8y6m69incrw5"))))
+         "02vbv9nfgywg6lsiialkmfnax5z3rkyb9nr8j9l2cp8xi6ml95mb"))))
     (properties `((upstream-name . "doBy")))
     (build-system r-build-system)
     (propagated-inputs
@@ -4988,3 +5411,156 @@ maximum cycle number.  The @code{r-abcoptim} implements the Artificial bee
 colony optimization algorithm @url{http://mf.erciyes.edu.tr/abc/pub/tr06_2005.pdf}.
   This version is a work-in-progress and is written in R code.")
     (license license:expat)))
+
+(define-public r-abcp2
+  (package
+    (name "r-abcp2")
+    (version "1.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ABCp2" version))
+       (sha256
+        (base32 "1s2skkxpzss7c29i8600psgrp0hl46jcrxqrmy2b4db8hc0kcnbx"))))
+    (properties `((upstream-name . "ABCp2")))
+    (build-system r-build-system)
+    (propagated-inputs `(("r-mass" ,r-mass)))
+    (home-page "https://cran.r-project.org/web/packages/ABCp2/")
+    (synopsis "Approximate Bayesian Computational Model for Estimating P2")
+    (description
+     "This package tests the goodness of fit of a distribution of offspring to the Normal,
+Poisson, and Gamma distribution and estimates the proportional paternity of the
+second male (P2) based on the best fit distribution.")
+    (license license:gpl2)))
+
+(define-public r-abcrf
+  (package
+    (name "r-abcrf")
+    (version "1.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "abcrf" version))
+       (sha256
+        (base32 "06vy3inikrr9hv36q4djhrgzi9zizdfnhz17wpra8kadmr7qj441"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-mass" ,r-mass)
+       ("r-matrixstats" ,r-matrixstats)
+       ("r-ranger" ,r-ranger)
+       ("r-rcpp" ,r-rcpp)
+       ("r-rcpparmadillo" ,r-rcpparmadillo)
+       ("r-readr" ,r-readr)
+       ("r-stringr" ,r-stringr)))
+    (home-page "https://cran.r-project.org/web/packages/abcrf/")
+    (synopsis "Approximate bayesian computation via random forests")
+    (description
+     "This package performs approximate bayesian computation (ABC) model choice and
+parameter inference via random forests.  This machine learning tool named random
+forests (RF) can conduct selection among the highly complex models covered by
+ABC algorithms.")
+    (license license:gpl2+)))
+
+(define-public r-abctools
+  (package
+    (name "r-abctools")
+    (version "1.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "abctools" version))
+       (sha256
+        (base32 "07s9dg10i8lsxl73b4n2hynca2fjgb0ykb0dz8c3zv6cgw3cyx97"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-abc" ,r-abc)
+       ("r-abind" ,r-abind)
+       ("r-hmisc" ,r-hmisc)
+       ("r-plyr" ,r-plyr)))
+    (home-page "https://github.com/dennisprangle/abctools/")
+    (synopsis "Tools for ABC analyses")
+    (description
+     "This @code{r-abctools} package provides tools for approximate Bayesian computation
+including summary statistic selection and assessing coverage.  This includes
+recent dimension reduction algorithms to tune the choice of summary statistics,
+and coverage methods to tune the choice of threshold.")
+    (license license:gpl2+)))
+
+(define-public r-ggstance
+  (package
+    (name "r-ggstance")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ggstance" version))
+       (sha256
+        (base32 "0v7f3xdaaridw6d4jvnsfwxmpjrasvx5vl555wsrn50aah17fkvh"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-ggplot2" ,r-ggplot2)
+       ("r-plyr" ,r-plyr)
+       ("r-rlang" ,r-rlang)
+       ("r-withr" ,r-withr)))
+    (home-page "https://cran.r-project.org/web/packages/ggstance/")
+    (synopsis "Horizontal and vertical versions of @code{r-ggplot2}")
+    (description
+     "This package is a @code{r-ggplot2} extension that provides flipped components:
+@enumerate
+@item horizontal versions of @code{r-ggplot2} stats and @code{r-ggplot2} geoms;
+@item vertical versions of @code{r-ggplot2} positions.
+@end enumerate")
+    (license license:gpl3)))
+
+(define-public r-mosaiccore
+  (package
+    (name "r-mosaiccore")
+    (version "0.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "mosaicCore" version))
+       (sha256
+        (base32 "1klw97h6lchw1cpcl8s637ikcl428cckmjq0czi7mibh9q9mw72z"))))
+    (properties `((upstream-name . "mosaicCore")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-dplyr" ,r-dplyr)
+       ("r-lazyeval" ,r-lazyeval)
+       ("r-mass" ,r-mass)
+       ("r-rlang" ,r-rlang)
+       ("r-tidyr" ,r-tidyr)))
+    (home-page "https://github.com/ProjectMOSAIC/mosaicCore/")
+    (synopsis "Common utilities for mosaic family packages")
+    (description
+     "Common utilities used in other Mosaic family packages are collected here.")
+    (license license:gpl2+)))
+
+(define-public r-ggformula
+  (package
+    (name "r-ggformula")
+    (version "0.9.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ggformula" version))
+       (sha256
+        (base32 "1pmpdfjfbrc6kcpq70cr1kbj2qy711hw940g2aiis6l443z706kh"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-ggplot2" ,r-ggplot2)
+       ("r-ggstance" ,r-ggstance)
+       ("r-magrittr" ,r-magrittr)
+       ("r-mosaiccore" ,r-mosaiccore)
+       ("r-rlang" ,r-rlang)
+       ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)
+       ("r-tidyr" ,r-tidyr)))
+    (home-page "https://github.com/ProjectMOSAIC/ggformula/")
+    (synopsis "Formula interface for the @code{r-ggplot2}")
+    (description
+     "The @code{r-ggformula} introduces a family of graphics functions, gf_point(),
+gf_density(), and so on, bring the formula interface to ggplot().  This captures
+and extends the excellent simplicity of the lattice-graphics formula interface,
+while providing the intuitive capabilities of @code{r-ggplot2}.")
+    (license license:expat)))
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index e070ef61ac..d9111135e8 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -126,7 +126,7 @@ communication, encryption, decryption, signatures, etc.")
 (define-public signify
   (package
     (name "signify")
-    (version "23")
+    (version "24")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/aperezdc/signify/"
@@ -134,7 +134,7 @@ communication, encryption, decryption, signatures, etc.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0c70mzawgahsvmsv4xdrass4pgyynd67ipd9lij0fgi8wkq0ns8w"))))
+                "0594vyvkq176xxzaz9xbq8qs0xdnr8s9gkd1prblwpdvnzmw0xvc"))))
     (build-system gnu-build-system)
     ;; TODO Build with libwaive (described in README.md), to implement something
     ;; like OpenBSD's pledge().
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index a0fbd7738a..d4a620f1b3 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -51,6 +51,7 @@
   (package
    (name "curl")
    (version "7.61.0")
+   (replacement curl-7.61.1)
    (source (origin
             (method url-fetch)
             (uri (string-append "https://curl.haxx.se/download/curl-"
@@ -141,6 +142,19 @@ tunneling, and so on.")
                                   "See COPYING in the distribution."))
    (home-page "https://curl.haxx.se/")))
 
+(define-public curl-7.61.1
+  (package
+    (inherit curl)
+    (version "7.61.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://curl.haxx.se/download/curl-"
+                            version ".tar.xz"))
+        (sha256
+         (base32
+          "148qv1f32290r9pwg07mccawihz4srznkzsdwdl2xllvlgb16n9x"))))))
+
 (define-public kurly
   (package
     (name "kurly")
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 7a80e1bd9b..29c3d9b923 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -498,14 +498,14 @@ Extensions} (DNSSEC).")
 (define-public knot
   (package
     (name "knot")
-    (version "2.7.1")
+    (version "2.7.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://secure.nic.cz/files/knot-dns/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "108k6x3hjsnyf06pv5rlxqhynjbbz13pzwax1mqff3hgv85f4skx"))
+                "0cc4wgb02ch09x99a1fnr7vsdik8k920q7jafzcamjvy3kpb4w6b"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 8f0c564f88..1f64a5e84a 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -38,6 +38,7 @@
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4123,22 +4124,34 @@ programming language.")
 (define-public emacs-ess
   (package
     (name "emacs-ess")
-    (version "16.10")
+    (version "17.11")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://ess.r-project.org/downloads/ess/ess-"
-                                  version ".tgz"))
+              (uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
+                                  version ".tar.gz"))
               (sha256
                (base32
-                "04m8lwp3ylh2vl7k2bjjs7mxbm64j4sdckqpvnm9k0qhaqf02pjk"))
+                "0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
+              (file-name (string-append name "-" version ".tar.gz"))
               (modules '((guix build utils)))
               (snippet
                '(begin
                   ;; Stop ESS from trying to bundle an external julia-mode.el.
                   (substitute* "lisp/Makefile"
                     (("^\tjulia-mode.elc\\\\\n") "")
-                    (("^all: \\$\\(ELC\\) ess-custom.el julia-mode.el")
-                     "all: $(ELC) ess-custom.el"))
+                    (("^dist: all julia-mode.el")
+                     "dist: all"))
+                  ;; No need to build docs in so many formats.  Also, skipping
+                  ;; pdf lets us not pull in texlive.
+                  (substitute* "doc/Makefile"
+                    (("all  : info text html pdf")
+                     "all  : info")
+                    (("install: install-info install-other-docs")
+                     "install: install-info"))
+                  ;; Test fails upstream
+                  (substitute* "test/ess-r-tests.el"
+                    (("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
+                     "ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
                   #t))))
     (build-system gnu-build-system)
     (arguments
@@ -4157,10 +4170,6 @@ programming language.")
                  (("SHELL = /bin/sh")
                   (string-append "SHELL = " (which "sh"))))
                #t))
-           ;; FIXME: the texlive-union insists on regenerating fonts.  It stores
-           ;; them in HOME, so it needs to be writeable.
-           (add-before 'build 'set-HOME
-             (lambda _ (setenv "HOME" "/tmp") #t))
            (replace 'check
              (lambda _
                (invoke "make" "test")))))))
@@ -4169,16 +4178,14 @@ programming language.")
        ("r-minimal" ,r-minimal)))
     (native-inputs
      `(("perl" ,perl)
-       ("texinfo" ,texinfo)
-       ("texlive" ,(texlive-union (list texlive-latex-natbib
-                                        texlive-latex-seminar
-                                        texlive-latex-hyperref
-                                        texlive-tex-texinfo)))))
+       ("texinfo" ,texinfo)))
+    (propagated-inputs
+     `(("emacs-julia-mode" ,emacs-julia-mode)))
     (home-page "https://ess.r-project.org/")
     (synopsis "Emacs mode for statistical analysis programs")
     (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
 Emacs.  It is designed to support editing of scripts and interaction with
-various statistical analysis programs such as R and OpenBUGS.")
+various statistical analysis programs such as R, Julia, and JAGS.")
     (license license:gpl2+)))
 
 (define-public emacs-smex
@@ -11315,6 +11322,43 @@ e.g. the package dependencies it requires.  See function
 file.")
       (license license:gpl3+))))
 
+(define-public emacs-picpocket
+  (let ((version "20180610.1059") ; taken from melpa
+        (commit "ce4b6ed088384f2414af82e8e4eae5b92c2874bf"))
+    (package
+      (name "emacs-picpocket")
+      (version version)
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/johanclaesson/picpocket")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "15vpbcv83mc4j1pvrk7xic0klh2bl9gzg2xxs7c2lmnix52hy8mv"))))
+      (build-system emacs-build-system)
+      (arguments ; needed for running tests
+       `(#:tests? #t
+         #:emacs ,emacs
+         #:test-command '("emacs" "--batch"
+                          "-l" "picpocket-test.el"
+                          "-f" "ert-run-tests-batch-and-exit")))
+      (home-page "https://github.com/johanclaesson/picpocket")
+      (synopsis "Image viewer for Emacs")
+      (description
+       "Picpocket is an image viewer for GNU Emacs.  It has commands for:
+
+@itemize
+@item File operations on the picture files (delete, move, copy, hardlink).
+@item Scale and rotate the picture.
+@item Associate pictures with tags which are saved to disk.
+@item Filter pictures according to tags.
+@item Customizing keystrokes for quick tagging and file operations.
+@item Undo and browse history of undoable commands.
+@end itemize")
+      (license license:gpl3+))))
+
 (define-public emacs-wgrep-helm
   ;; `emacs-wgrep-helm' was mistakenly added.
   (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 8e68c676ef..e02339af62 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -117,8 +117,8 @@
 
 ;; Building from recent Git because the official 5.0 release no longer builds.
 (define-public dolphin-emu
-  (let ((commit "806c1ee8f0ed824008185212bfab2658d400b576")
-        (revision "2"))
+  (let ((commit "5f0d825f40b8aabe13eaef32d44ab667ff8e8c28")
+        (revision "3"))
     (package
       (name "dolphin-emu")
       (version (git-version "5.0" revision commit))
@@ -144,7 +144,7 @@
              #t))
          (sha256
           (base32
-           "1sdc7rh6z7gjx4kxg18jrv7srfpx1vgf936zg5y43radnlscrh1j"))))
+           "0dh7mih16aif9ynbgcsn7n10f89g8d232i86xqfp2rijsdggcmzl"))))
       (build-system cmake-build-system)
       (arguments
        '(#:tests? #f
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index d53b25cff9..ee524ec78e 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -680,24 +681,19 @@ language.")
 (define-public ao
   (deprecated-package "ao-cad" libfive))
 
-;; We use kicad from a git commit, because support for boost 1.61.0 has been
-;; recently added.
 (define-public kicad
-  (let ((commit "5f4599fb56da4dd748845ab10abec02961d477f3")
-        (revision "2"))
     (package
       (name "kicad")
-      (version (string-append "4.0-" revision "."
-                              (string-take commit 7)))
+      (version "5.0.0")
       (source
        (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://git.launchpad.net/kicad")
-               (commit commit)))
+         (method url-fetch)
+         (file-name (string-append name "-" version ".tar.xz"))
+         (uri (string-append
+                "https://launchpad.net/kicad/5.0/" version "/+download/" name
+                "-" version ".tar.xz"))
          (sha256
-          (base32 "1833pln2975gmc5s18xf7s8m9vg834lmxxdjk0wlk3lq7bvjjnff"))
-         (file-name (string-append name "-" version "-checkout"))))
+          (base32 "17nqjszyvd25wi6550j981whlnb1wxzmlanljdjihiki53j84x9p"))))
       (build-system cmake-build-system)
       (arguments
        `(#:out-of-source? #t
@@ -706,8 +702,6 @@ language.")
          #:configure-flags
          (list "-DKICAD_STABLE_VERSION=ON"
                "-DKICAD_REPO_NAME=stable"
-               ,(string-append "-DKICAD_BUILD_VERSION=4.0-"
-                               (string-take commit 7))
                "-DKICAD_SKIP_BOOST=ON"; Use our system's boost library.
                "-DKICAD_SCRIPTING=ON"
                "-DKICAD_SCRIPTING_MODULES=ON"
@@ -754,6 +748,7 @@ language.")
          ("libngspice" ,libngspice)
          ("libsm" ,libsm)
          ("mesa" ,mesa)
+         ("opencascade-oce" ,opencascade-oce)
          ("openssl" ,openssl)
          ("python" ,python-2)
          ("wxwidgets" ,wxwidgets-gtk2)
@@ -764,7 +759,7 @@ language.")
 boards and electrical circuits.  The software has a number of programs that
 perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
 electrical diagrams), gerbview (viewing Gerber files) and others.")
-      (license license:gpl3+))))
+      (license license:gpl3+)))
 
 (define-public kicad-library
   (let ((version "4.0.7"))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 4d02b4bc62..ce07d3ad4c 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -887,7 +887,7 @@ designed to work well in user interface environments.")
 (define-public font-fira-code
   (package
     (name "font-fira-code")
-    (version "1.204")
+    (version "1.205")
     (source (origin
               (method url-fetch/zipbomb)
               (uri (string-append "https://github.com/tonsky/FiraCode/releases/"
@@ -895,7 +895,7 @@ designed to work well in user interface environments.")
                                   "/FiraCode_" version ".zip"))
               (sha256
                (base32
-                "17wky221b3igrqhmxgmqiyv1xdfn0nw471vzhpkrvv1w2w1w1k18"))))
+                "13bxgf59g6fw5191xclcjzn22hj8jk9k5jjwf7vz07mpjbgadcl5"))))
     (build-system font-build-system)
     (home-page "https://mozilla.github.io/Fira/")
     (synopsis "Monospaced font with programming ligatures")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 728f763806..2015e3ce47 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -34,6 +34,7 @@
 ;;; Copyright © 2018 okapi <okapi@firemail.cc>
 ;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5553,3 +5554,159 @@ open-source FPS of its kind.")
     (license (list license:gpl2+
                    license:bsd-3 ; /source/d0_blind_id folder and others
                    (license:x11-style "" "See file rcon.pl.")))))
+
+(define-public frotz
+  (package
+    (name "frotz")
+    (version "2.44")
+    (source (origin
+              (method url-fetch)
+              (uri (list (string-append
+                          "http://www.ifarchive.org/if-archive/infocom/interpreters/"
+                          name "/" name "-" version ".tar.gz")
+                         (string-append
+                          "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/"
+                          name "/" name "-" version ".tar.gz")))
+              (sha256
+               (base32
+                "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; there are no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'curses
+           (lambda _
+             (substitute* "Makefile"
+               (("lcurses") "lncurses"))
+             #t))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man6")))
+               (install-file "frotz" bin)
+               (mkdir-p man)
+               (install-file "doc/frotz.6" man)
+               #t))))))
+    (inputs `(("libmodplug" ,libmodplug)
+              ("libsamplerate" ,libsamplerate)
+              ("libsndfile" ,libsndfile)
+              ("libvorbis" ,libvorbis)
+              ("ncurses" ,ncurses)))
+    (synopsis "Portable Z-machine interpreter (ncurses version) for text adventure games")
+    (description "Frotz is an interpreter for Infocom games and other Z-machine
+games in the text adventure/interactive fiction genre.  This version of Frotz
+complies with standard 1.0 of Graham Nelson's specification.  It plays all
+Z-code games V1-V8, including V6, with sound support through libao, and uses
+ncurses for text display.")
+    (home-page "http://frotz.sourceforge.net")
+    (license license:gpl2+)))
+
+(define-public frotz-dumb-terminal
+  (package
+    (name "frotz-dumb-terminal")
+    (version "2.44")
+    (source (origin
+              (method url-fetch)
+              (uri (list (string-append
+                          "http://www.ifarchive.org/if-archive/infocom/interpreters/"
+                          "frotz" "/" "frotz" "-" version ".tar.gz")
+                         (string-append
+                          "ftp://ftp.ifarchive.org/if-archive/infocom/interpreters/"
+                          "frotz" "/" "frotz" "-" version ".tar.gz")))
+              (sha256
+               (base32
+                "1v735xr3blznac8fnwa27s1vhllx4jpz7kw7qdw1bsfj6kq21v3k"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; there are no tests
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda _
+             (invoke "make" "dumb")))
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man6")))
+               (install-file "dfrotz" bin)
+               (mkdir-p man)
+               (install-file "doc/dfrotz.6" man)
+               #t))))))
+    (synopsis "Portable Z-machine dumb interpreter for text adventure games")
+    (description "Frotz is an interpreter for Infocom games and
+other Z-machine games in the text adventure/interactive fiction genre.
+dfrotz is the dumb interface version.  You get no screen control; everything
+is just printed to the terminal line by line.  The terminal handles all the
+scrolling.  Maybe you'd like to experience what it's like to play Adventure on
+a teletype.  A much cooler use for compiling Frotz with the dumb interface is
+that it can be wrapped in CGI scripting, PHP, and the like to allow people
+to play games on webpages.  It can also be made into a chat bot.")
+    (home-page "http://frotz.sourceforge.net")
+    (license license:gpl2+)))
+
+(define-public frotz-sdl
+  (let* ((commit "4de8c34f2116fff554af6216c30ec9d41bf50b24"))
+    (package
+      (name "frotz-sdl")
+      (version "2.45pre")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://gitlab.com/DavidGriffith/frotz")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "18ms21pcrl7ipcnyqnf8janamkryzx78frsgd9kfk67jvbj0z2k8"))
+                (file-name (git-file-name name version))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; there are no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'build 'patch-makefile
+             (lambda _
+               (substitute* "Makefile"
+                 (("lcurses") "lncurses")
+                 (("^BUILD_DATE_TIME =.*$")
+                  "BUILD_DATE_TIME = \"2.45pre-20180907.00000\"\n"))
+               #t))
+           (replace 'build
+             (lambda _
+               (invoke "make" "sdl")))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (man (string-append out "/share/man/man6")))
+                 (install-file "sfrotz" bin)
+                 (mkdir-p man)
+                 (install-file "doc/sfrotz.6" man)
+                 #t))))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("which" ,which)
+         ("perl" ,perl)))
+      (inputs `(("sdl2" ,sdl2)
+                ("sdl2-mixer" ,sdl2-mixer)
+                ("libmodplug" ,libmodplug)
+                ("libsamplerate" ,libsamplerate)
+                ("libsndfile" ,libsndfile)
+                ("libvorbis" ,libvorbis)
+                ("ncurses" ,ncurses)
+                ("freetype" ,freetype)
+                ("libjpeg-turbo" ,libjpeg-turbo)))
+      (synopsis "Portable Z-machine interpreter (SDL port) for text adventure games")
+      (description "Frotz is an interpreter for Infocom games and other Z-machine
+games in the text adventure/interactive fiction genre.  This version of Frotz
+using SDL fully supports all these versions of the Z-Machine including the
+graphical version 6.  Graphics and sound are created through the use of the SDL
+libraries.  AIFF sound effects and music in MOD and OGG formats are supported
+when packaged in Blorb container files or optionally from individual files.")
+      (home-page "http://frotz.sourceforge.net")
+      (license license:gpl2+))))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 520f5cba0b..8207104174 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -668,6 +668,10 @@ as the 'native-search-paths' field."
   (custom-gcc gcc-7 "gfortran" '("fortran")
               %generic-search-paths))
 
+(define-public gfortran-8
+  (custom-gcc gcc-8 "gfortran" '("fortran")
+              %generic-search-paths))
+
 (define-public gfortran
   ;; Note: Update this when GCC changes!  We cannot use
   ;; (custom-gcc gcc "fortran" …) because that would lead to a package object
@@ -728,6 +732,15 @@ as the 'native-search-paths' field."
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
+(define-public gcc-objc-8
+  (custom-gcc gcc-8 "gcc-objc" '("objc")
+              (list (search-path-specification
+                     (variable "OBJC_INCLUDE_PATH")
+                     (files '("include")))
+                    (search-path-specification
+                     (variable "LIBRARY_PATH")
+                     (files '("lib" "lib64"))))))
+
 (define-public gcc-objc gcc-objc-5)
 
 (define-public gcc-objc++-4.8
@@ -775,6 +788,15 @@ as the 'native-search-paths' field."
                      (variable "LIBRARY_PATH")
                      (files '("lib" "lib64"))))))
 
+(define-public gcc-objc++-8
+  (custom-gcc gcc-8 "gcc-objc++" '("obj-c++")
+              (list (search-path-specification
+                     (variable "OBJCPLUS_INCLUDE_PATH")
+                     (files '("include")))
+                    (search-path-specification
+                     (variable "LIBRARY_PATH")
+                     (files '("lib" "lib64"))))))
+
 (define-public gcc-objc++ gcc-objc++-5)
 
 (define (make-libstdc++-doc gcc)
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index f0c4c8b804..74eb0f8994 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -37,14 +37,14 @@
 (define-public gdb
   (package
     (name "gdb")
-    (version "8.1.1")
+    (version "8.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/gdb/gdb-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0g6hv9xk12aa58w77fydaldqr9a6b0a6bnwsq87jfc6lkcbc7p4p"))))
+               "0fbw6j4z7kmvywwgavn7w3knp860i5i9qnjffc5p52bwkji43963"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; FIXME "make check" fails on single-processor systems.
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index cd7cd604fd..3808d81524 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -38,8 +39,10 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
-  #:use-module (guix build-system trivial))
+  #:use-module (guix build-system trivial)
+  #:use-module (srfi srfi-1))
 
 (define-public lcms
   (package
@@ -132,6 +135,7 @@ printing, and psresize, for adjusting page sizes.")
 (define-public ghostscript
   (package
     (name "ghostscript")
+    (replacement ghostscript/fixed)
     (version "9.23")
     (source
       (origin
@@ -251,6 +255,44 @@ output file formats and printers.")
     (home-page "https://www.ghostscript.com/")
     (license license:agpl3+)))
 
+(define-public ghostscript/fixed
+  (hidden-package
+    (package
+      (inherit ghostscript)
+      (version "9.24")
+      (source
+        (origin
+          (inherit (package-source ghostscript))
+          (uri (string-append "https://github.com/ArtifexSoftware/"
+                              "ghostpdl-downloads/releases/download/gs"
+                              (string-delete #\. version)
+                              "/ghostscript-" version ".tar.xz"))
+          (sha256
+           (base32
+            "1mk922rnml93w2g42yxiyn8xqanc50cm65irrgh0b6lp4kgifjfl"))
+          (patches (search-patches "ghostscript-CVE-2018-16509.patch"
+                                   "ghostscript-bug-699708.patch"
+                                   "ghostscript-no-header-creationdate.patch"
+                                   "ghostscript-no-header-id.patch"
+                                   "ghostscript-no-header-uuid.patch"))))
+      (arguments
+       (substitute-keyword-arguments (package-arguments ghostscript)
+         ((#:configure-flags flags)
+          ;; Notice that we removed the 'ghostscript-runpath' patch above.
+          ;; The reason is that it conflicts with an upstream change that
+          ;; takes LDFLAGS into account.
+          `(cons (string-append "LDFLAGS=-Wl,-rpath="
+                                (assoc-ref %outputs "out") "/lib")
+                 ,flags))
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-before 'configure 'create-output-directory
+               (lambda* (#:key outputs #:allow-other-keys)
+                 ;; Unfortunately the configure script refuses to function if
+                 ;; the directory specified as -rpath does not already exist.
+                 (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
+                 #t)))))))))
+
 (define-public ghostscript/x
   (package/inherit ghostscript
     (name (string-append (package-name ghostscript) "-with-x"))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 659f5dd5d4..2b723e99ee 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2461,7 +2461,7 @@ libxml to ease remote use of the RESTful API.")
 (define-public libsoup
   (package
     (name "libsoup")
-    (version "2.62.3")
+    (version "2.64.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/libsoup/"
@@ -2469,7 +2469,7 @@ libxml to ease remote use of the RESTful API.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0whi8p03kpbp68kg6fg3vb7rhykjp7wn3nlbzy9j0p298zjss4nk"))))
+                "09z7g3spww3f84y8jmicdd6lqp360mbggpg5h1fq1v4p5ihcjnyr"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -2573,6 +2573,7 @@ libxml to ease remote use of the RESTful API.")
        ("libxml2" ,libxml2)))
     (inputs
      `(("glib-networking" ,glib-networking)
+       ("libpsl" ,libpsl)
        ("sqlite" ,sqlite)))
     (home-page "https://live.gnome.org/LibSoup/")
     (synopsis "GLib-based HTTP Library")
diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm
index b393919e66..245ee8f956 100644
--- a/gnu/packages/graph.scm
+++ b/gnu/packages/graph.scm
@@ -28,6 +28,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages bioconductor)
   #:use-module (gnu packages bioinformatics)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cran)
@@ -98,14 +99,14 @@ more.")
 (define-public r-igraph
   (package
     (name "r-igraph")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "igraph" version))
        (sha256
         (base32
-         "1hcr6b1lz030lgay1bz8y8sxaf2j93ds8n8gsqr6qhssz141hd2m"))))
+         "1bggm7b8v3bh7q2589w26qvd7sgs69m4qiij7d0rbm0ykkgxm8lx"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -130,14 +131,14 @@ more.")
 (define-public r-diffusionmap
   (package
     (name "r-diffusionmap")
-    (version "1.1-0")
+    (version "1.1-0.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "diffusionMap" version))
        (sha256
         (base32
-         "1l985q2hfc8ss5afajik4p25dx628yikvhdimz5s0pql800q2yv3"))))
+         "11l4kbciawvli5nlsi4qaf8afmgk5xgqiqpdyhvaqri5mx0zhk5j"))))
     (properties `((upstream-name . "diffusionMap")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 3322860d83..7a70239684 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -890,14 +890,7 @@ images onto Cairo surfaces.")
               (sha256
                (base32
                 "1qam447m05sxxv6x8dlzg7qnyfc4dh8apjw1idpfhpns671gfr6m"))
-              (patches (search-patches "guile-present-coding.patch"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  (substitute* "Makefile.in"
-                    (("godir = .*$")
-                     "godir = $(moddir)\n"))
-                  #t))))
+              (patches (search-patches "guile-present-coding.patch"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 8c561b0210..7c88454300 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -866,7 +866,7 @@ for Guile\".")
 (define-public guile-json
   (package
     (name "guile-json")
-    (version "1.1.1")
+    (version "1.2.0")
     (home-page "https://github.com/aconchillo/guile-json")
     (source (origin
               (method url-fetch)
@@ -875,7 +875,7 @@ for Guile\".")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "12jqkn9qgwdlxbasy2n25a2a7apf30dww1nnxqfam5735k3jdngv"))))
+                "02kqv0q98fmchn7i4y7ycmrjlh4b2c93ij0z7k036qwpp204w4gh"))))
     (build-system gnu-build-system)
     (native-inputs `(("autoconf" ,autoconf)
                      ("automake" ,automake)
@@ -893,7 +893,9 @@ specification.  These are the main features:
 @item Unicode support for strings.
 @item Allows JSON pretty printing.
 @end itemize\n")
-    (license license:lgpl3+)))
+
+    ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+).
+    (license license:gpl3+)))
 
 (define-public guile2.2-json
   (deprecated-package "guile2.2-json" guile-json))
@@ -1581,8 +1583,10 @@ you send to a FIFO file.")
                     (("ac_subst_vars='")
                      "ac_subst_vars='GUILE_EFFECTIVE_VERSION\n"))
                   (substitute* "Makefile.in"
-                    (("/site/2.0")
-                     "/site/@GUILE_EFFECTIVE_VERSION@"))
+                    (("moddir =.*")
+                     "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n")
+                    (("godir =.*")
+                     "godir = $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))
                   #t))))
     (build-system gnu-build-system)
     (inputs
@@ -1786,6 +1790,20 @@ Note that 8sync is only available for Guile 2.2.")
                (base32
                 "0vjkg72ghgdgphzbjz9ig8al8271rq8974viknb2r1rg4lz92ld0"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'install 'mode-guile-objects
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; .go files are installed to "lib/guile/X.Y/cache".
+                      ;; This phase moves them to "…/site-ccache".
+                      (let* ((out (assoc-ref outputs "out"))
+                             (lib (string-append out "/lib/guile"))
+                             (old (car (find-files lib "^ccache$"
+                                                   #:directories? #t)))
+                             (new (string-append (dirname old)
+                                                 "/site-ccache")))
+                        (rename-file old new)
+                        #t))))))
     (native-inputs
      `(("texinfo" ,texinfo)
        ("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm
index c3ef85f3f0..31407ca259 100644
--- a/gnu/packages/haskell-check.scm
+++ b/gnu/packages/haskell-check.scm
@@ -39,7 +39,7 @@
 (define-public ghc-tasty-ant-xml
   (package
     (name "ghc-tasty-ant-xml")
-    (version "1.0.2")
+    (version "1.1.4")
     (source
      (origin
        (method url-fetch)
@@ -49,7 +49,7 @@
              ".tar.gz"))
        (sha256
         (base32
-         "0pgz2lclg2hp72ykljcbxd88pjanfdfk8m5vb2qzcyjr85kwrhxv"))))
+         "0v0gsb90kh6hwlgxbclzawsskywc6yf7n8xhiifia97l4y0yx2m8"))))
     (build-system haskell-build-system)
     (inputs
      `(("ghc-generic-deriving" ,ghc-generic-deriving)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a07bb049a2..eb629cf138 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -2078,9 +2078,13 @@ literals.")
         (base32
          "1vbzf0awb6zb456xf48za1kl22018646cfzq4frvxgb9ay97vk0d"))))
     (build-system haskell-build-system)
-    ;; Tests require older versions of testy.
-    (arguments `(#:tests? #f))
+    (arguments `(#:configure-flags (list "--allow-newer=tasty")))
     (inputs `(("zlib" ,zlib)))
+    (native-inputs
+     `(("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-tasty" ,ghc-tasty)
+       ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+       ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
     (home-page "https://hackage.haskell.org/package/zlib")
     (synopsis
      "Compression and decompression in the gzip and zlib formats")
@@ -4220,7 +4224,7 @@ system.")
 (define-public ghc-base-compat
   (package
     (name "ghc-base-compat")
-    (version "0.10.4")
+    (version "0.9.3")
     (source
      (origin
        (method url-fetch)
@@ -4230,7 +4234,7 @@ system.")
              ".tar.gz"))
        (sha256
         (base32
-         "0ksp990gxs731mq19rzbxrbs43nazfljjc8krlx5bjqblw3kfs8d"))))
+         "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x"))))
     (build-system haskell-build-system)
     (native-inputs
      `(("ghc-quickcheck" ,ghc-quickcheck)
@@ -5190,6 +5194,8 @@ occurrences of a substring (the first in case of overlaps) with another.")
         (base32
          "1wj8kgjg5bn2yrs4zh9qfjv85cx6w998j9pi39yrbv305944mb9j"))))
     (build-system haskell-build-system)
+    (arguments
+     `(#:configure-flags (list "--allow-newer=tasty")))
     (native-inputs
      `(("ghc-quickcheck" ,ghc-quickcheck)
        ("ghc-smallcheck" ,ghc-smallcheck)
@@ -10152,4 +10158,29 @@ tools are not needed to actually run Gtk2Hs programs.")
 backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
     (license license:bsd-3)))
 
+(define-public ghc-wcwidth
+  (package
+    (name "ghc-wcwidth")
+    (version "0.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
+             version ".tar.gz"))
+       (sha256
+        (base32
+         "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-setlocale" ,ghc-setlocale)
+       ("ghc-utf8-string" ,ghc-utf8-string)
+       ("ghc-attoparsec" ,ghc-attoparsec)))
+    (home-page "https://github.com/solidsnack/wcwidth/")
+    (synopsis "Haskell bindings to wcwidth")
+    (description "This package provides Haskell bindings to your system's
+native wcwidth and a command line tool to examine the widths assigned by it.
+The command line tool can compile a width table to Haskell code that assigns
+widths to the Char type.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index c6010f1f56..03f08a614f 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -485,6 +486,7 @@ arithmetic ops.")
   (package
     (name "jbig2dec")
     (version "0.14")
+    (replacement jbig2dec-0.15)
     (source
       (origin
         (method url-fetch)
@@ -509,6 +511,21 @@ work.")
     (home-page "https://jbig2dec.com")
     (license license:gpl2+)))
 
+;; This is a bugfix release from an ongoing Ghostscript security audit.
+;; It was released alongside Ghostscript 9.24.
+(define-public jbig2dec-0.15
+  (package
+    (inherit jbig2dec)
+    (version "0.15")
+    (source (origin
+              (inherit (package-source jbig2dec))
+              (uri (string-append "https://github.com/ArtifexSoftware"
+                                  "/ghostpdl-downloads/releases/download/gs924/"
+                                  "jbig2dec-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0m1qwpbjbirgw2fqznbajdhdhh35d6xa2csr64lpjz735pvimykb"))))))
+
 (define-public openjpeg
   (package
     (name "openjpeg")
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 39e2322739..fb9b0eeedf 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -355,10 +355,12 @@
        ("objconv"
         ,(origin
            (method url-fetch)
-           (uri "http://www.agner.org/optimize/objconv.zip")
+           ;; No versioned URL, see <https://www.agner.org/optimize/> for updates.
+           (uri "https://www.agner.org/optimize/objconv.zip")
+           (file-name "objconv-2018-08-15.zip")
            (sha256
             (base32
-             "1fi7qa2sd9vb35dvkgripjf0fayzg2qmff215f8agfqfiwd1g8qs"))))
+             "09y4pwxfs6fl47cyingbf95i2rxx74wmycl9fd4ldcgvpx9bzdrx"))))
        ("dsfmt"
         ,(origin
            (method url-fetch)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 14f23db888..fc071a1338 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -399,8 +399,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.18.5")
-(define %linux-libre-hash "1y52ns34vh9p4pfj08xsycv8p0xywm6dbpdi0wwpkll1xgpqikvf")
+(define %linux-libre-version "4.18.6")
+(define %linux-libre-hash "1l5caid77vbfb54zrfxkk7qj7lrf9ck9kpn96kr45spkwl51wm8m")
 
 (define %linux-libre-4.18-patches
   (list %boot-logo-patch
@@ -430,8 +430,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-4.18-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.67")
-(define %linux-libre-4.14-hash "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg")
+(define %linux-libre-4.14-version "4.14.68")
+(define %linux-libre-4.14-hash "05l5y0vbbl60jxdbqglqr9c99a8g8lfsp4mcqfpcx1pkh5br7i3l")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -440,14 +440,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.124"
-                    "0p78gx5jiqvaf2cadf5jp40lzgarrg0m0ybf9w2499v28vjsp30q"
+  (make-linux-libre "4.9.125"
+                    "1saihk61l1kk42jf8yfsfkm77zalq31f0bdlam3c1g7yw702wj9g"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.153"
-                    "195vzkkmjiicqfzd38hgf381rlz665rl06abzf8cww0gbnzvrf72"
+  (make-linux-libre "4.4.154"
+                    "08i9fvrmswkydj538wg6c7ggxmhll0ff0bjkw8rnyslqwilfwr1i"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index a86bdcb5ed..7790e78779 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -560,13 +560,13 @@ I/O.")
 (define-public r-adaptivesparsity
   (package
     (name "r-adaptivesparsity")
-    (version "1.4")
+    (version "1.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "AdaptiveSparsity" version))
               (sha256
                (base32
-                "1az7isvalf3kmdiycrfl6s9k9xqk22k1mc6rh8v0jmcz402qyq8z"))))
+                "0imr5m8mll9j6n4icsv6z9rl5kbnwsp9wvzrg7n90nnmcxq2cz91"))))
     (properties
      `((upstream-name . "AdaptiveSparsity")))
     (build-system r-build-system)
@@ -579,7 +579,9 @@ I/O.")
                (("PKG_LIBS=" prefix)
                 (string-append prefix "-larmadillo"))))))))
     (propagated-inputs
-     `(("r-rcpp" ,r-rcpp)
+     `(("r-mass" ,r-mass)
+       ("r-matrix" ,r-matrix)
+       ("r-rcpp" ,r-rcpp)
        ("r-rcpparmadillo" ,r-rcpparmadillo)))
     (inputs
      `(("armadillo" ,armadillo)))
@@ -594,14 +596,14 @@ geometric models.")
 (define-public r-kernlab
   (package
     (name "r-kernlab")
-    (version "0.9-26")
+    (version "0.9-27")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "kernlab" version))
        (sha256
         (base32
-         "0xv0slf3ggw3sswsi34416lb1g3h1pqkrr2h7r1n1kvgii3l0jcm"))))
+         "1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/kernlab")
     (synopsis "Kernel-based machine learning tools")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 4944dd7622..024e75aaa1 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1071,7 +1071,7 @@ which can add many functionalities to the base client.")
 (define-public msmtp
   (package
     (name "msmtp")
-    (version "1.6.8")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
@@ -1079,11 +1079,10 @@ which can add many functionalities to the base client.")
                            "/msmtp-" version ".tar.xz"))
        (sha256
         (base32
-         "1ysrnshvwhzwmvb2walw5i9jdzlvmckj7inr0xnvb26q0jirbzsm"))))
+         "1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx"))))
     (build-system gnu-build-system)
     (inputs
-     `(("libidn" ,libidn)
-       ("libsecret" ,libsecret)
+     `(("libsecret" ,libsecret)
        ("gnutls" ,gnutls)
        ("zlib" ,zlib)
        ("gsasl" ,gsasl)))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 50c0a320e0..01bd03c600 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -15,7 +15,7 @@
 ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
-;;; Copyright © 2017 Paul Garlick <pgarlick@tourbillion-technology.com>
+;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
@@ -1580,7 +1580,7 @@ September 2004}")
 (define-public petsc
   (package
     (name "petsc")
-    (version "3.8.0")
+    (version "3.9.3")
     (source
      (origin
       (method url-fetch)
@@ -1588,7 +1588,9 @@ September 2004}")
       (uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
                           "petsc-lite-" version ".tar.gz"))
       (sha256
-       (base32 "1lajbk3c29hnh83v6cbmm3a8wv6bdykh0p70kwrr4vrnizalk88s"))))
+       (base32 "1fwkbwv4g7zf2lc8fw865xd0bl9anb6jaczfis5dff7h449gwa48"))))
+    (outputs '("out"                    ;libraries and headers
+               "examples"))             ;~30MiB of examples
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python-2)))
@@ -1605,11 +1607,7 @@ September 2004}")
        #:configure-flags
        `("--with-mpi=0"
          "--with-openmp=1"
-         "--with-superlu=1"
-         ,(string-append "--with-superlu-include="
-                         (assoc-ref %build-inputs "superlu") "/include")
-         ,(string-append "--with-superlu-lib="
-                         (assoc-ref %build-inputs "superlu") "/lib/libsuperlu.a"))
+         "--with-superlu=1")
        #:make-flags
        ;; Honor (parallel-job-count) for build.  Do not use --with-make-np,
        ;; whose value is dumped to $out/lib/petsc/conf/petscvariables.
@@ -1662,6 +1660,15 @@ September 2004}")
                           "PETScBuildInternal.cmake"
                           ;; Once installed, should uninstall with Guix
                           "uninstall.py"))
+              #t)))
+        (add-after 'install 'move-examples
+          (lambda* (#:key outputs #:allow-other-keys)
+            (let* ((out (assoc-ref outputs "out"))
+                   (examples (assoc-ref outputs "examples"))
+                   (exdir (string-append out "/share/petsc/examples"))
+                   (exdir' (string-append examples "/share/petsc/examples")))
+              (copy-recursively exdir exdir')
+              (delete-file-recursively exdir)
               #t))))))
     (home-page "http://www.mcs.anl.gov/petsc")
     (synopsis "Library to solve PDEs")
@@ -1685,6 +1692,7 @@ scientific applications modeled by partial differential equations.")
     (name "petsc-openmpi")
     (inputs
      `(("openmpi" ,openmpi)
+       ("hdf5" ,hdf5-parallel-openmpi)
        ,@(package-inputs petsc)))
     (arguments
      (substitute-keyword-arguments (package-arguments petsc)
@@ -1692,7 +1700,21 @@ scientific applications modeled by partial differential equations.")
         ``("--with-mpiexec=mpirun"
            ,(string-append "--with-mpi-dir="
                            (assoc-ref %build-inputs "openmpi"))
-           ,@(delete "--with-mpi=0" ,cf)))))
+           ,(string-append "--with-hdf5-include="
+                           (assoc-ref %build-inputs "hdf5") "/include")
+           ,(string-append "--with-hdf5-lib="
+                           (assoc-ref %build-inputs "hdf5") "/lib/libhdf5.a")
+           ,@(delete "--with-mpi=0" ,cf)))
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (add-before 'check 'set-test-environment
+             (lambda _
+               ;; By default, running the test suite would fail because 'ssh'
+               ;; could not be found in $PATH.  Define this variable to
+               ;; placate Open MPI without adding a dependency on OpenSSH (the
+               ;; agent isn't used anyway.)
+               (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
+               #t))))))
     (synopsis "Library to solve PDEs (with MPI support)")))
 
 (define-public petsc-complex-openmpi
@@ -1738,7 +1760,7 @@ savings are consistently > 5x.")
 (define-public slepc
   (package
     (name "slepc")
-    (version "3.8.2")
+    (version "3.9.2")
     (source
      (origin
        (method url-fetch)
@@ -1746,7 +1768,7 @@ savings are consistently > 5x.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "04zd48p43rnvg68p6cp28zll0px5whglc5v0sc3s6vdj1v920z8y"))))
+         "0gmhdqac8zm3jx43h935z7bflazjnpvqxjv4jh5za2y1z2rqax94"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("python" ,python-2)))
@@ -2824,8 +2846,8 @@ parts of it.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://github.com/xianyi/OpenBLAS/tarball/v"
-                           version))
+       (uri (string-append "mirror://sourceforge/openblas/v" version "/OpenBLAS%20"
+                           version "%20version.tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
@@ -3231,7 +3253,7 @@ Failure to do so will result in a library with poor performance.")
 (define-public glm
   (package
     (name "glm")
-    (version "0.9.9.0")
+    (version "0.9.9.1")
     (source
      (origin
        (method url-fetch)
@@ -3239,7 +3261,7 @@ Failure to do so will result in a library with poor performance.")
                            version  "/glm-" version ".zip"))
        (sha256
         (base32
-         "0ihjadp2sb8w312a276skfjsljm3y41bjscbxf79wn23gi00giz1"))))
+         "042a23hmxfs429czkmlg5ixf28aikzfbw18780prj2gcd4flgw8h"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("unzip" ,unzip)))
@@ -4027,3 +4049,80 @@ terminal do calculations simply and quickly.  The formula to be calculated can
 be fed to @command{tcalc} through the command line.")
   (home-page "https://sites.google.com/site/mohammedisam2000/tcalc")
   (license license:gpl3+)))
+
+(define-public sundials
+  (package
+    (name "sundials")
+    (version "3.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://computation.llnl.gov/projects/sundials/download/"
+                           "sundials-" version ".tar.gz"))
+       (sha256
+        (base32
+         "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("python" ,python-2)))    ;for tests; syntax incompatible with python 3
+    (inputs
+     `(("fortran" ,gfortran)            ;for fcmix
+       ("blas" ,openblas)
+       ("suitesparse" ,suitesparse)))   ;TODO: Add hypre
+    (arguments
+     `(#:configure-flags `("-DEXAMPLES_ENABLE_C:BOOL=ON"
+                           "-DEXAMPLES_ENABLE_CXX:BOOL=ON"
+                           "-DEXAMPLES_ENABLE_F77:BOOL=ON"
+                           "-DEXAMPLES_ENABLE_F90:BOOL=ON"
+                           "-DEXAMPLES_INSTALL:BOOL=OFF"
+
+                           "-DFCMIX_ENABLE:BOOL=ON"
+
+                           "-DKLU_ENABLE:BOOL=ON"
+                           ,(string-append "-DKLU_INCLUDE_DIR="
+                                           (assoc-ref %build-inputs "suitesparse")
+                                           "/include")
+                           ,(string-append "-DKLU_LIBRARY_DIR="
+                                           (assoc-ref %build-inputs "suitesparse")
+                                           "/lib"))))
+    (home-page "https://computation.llnl.gov/projects/sundials")
+    (synopsis "Suite of nonlinear and differential/algebraic equation solvers")
+    (description "SUNDIALS is a family of software packages implemented with
+the goal of providing robust time integrators and nonlinear solvers that can
+easily be incorporated into existing simulation codes.")
+    (license license:bsd-3)))
+
+(define-public sundials-openmpi
+  (package (inherit sundials)
+    (name "sundials-openmpi")
+    (inputs
+     `(("mpi" ,openmpi)
+       ("petsc" ,petsc-openmpi)         ;support in SUNDIALS requires MPI
+       ,@(package-inputs sundials)))
+    (arguments
+     (substitute-keyword-arguments (package-arguments sundials)
+       ((#:configure-flags flags '())
+        `(cons* "-DMPI_ENABLE:BOOL=ON"
+                "-DPETSC_ENABLE:BOOL=ON"
+                (string-append "-DPETSC_INCLUDE_DIR="
+                               (assoc-ref %build-inputs "petsc")
+                               "/include")
+                (string-append "-DPETSC_LIBRARY_DIR="
+                               (assoc-ref %build-inputs "petsc")
+                               "/lib")
+                ,flags))
+       ((#:phases phases '%standard-phases)
+        `(modify-phases ,phases
+           (add-before 'check 'set-test-environment
+             (lambda _
+               ;; By default, running the test suite would fail because 'ssh'
+               ;; could not be found in $PATH.  Define this variable to
+               ;; placate Open MPI without adding a dependency on OpenSSH (the
+               ;; agent isn't used anyway.)
+               (setenv "OMPI_MCA_plm_rsh_agent" (which "cat"))
+               ;; Allow oversubscription in case there are less
+               ;; physical cores available in the build environment
+               ;; than SUNDIALS wants while testing.
+               (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes")
+               #t))))))
+    (synopsis "SUNDIALS with OpenMPI support")))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 81d4145439..63a8db449a 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -39,15 +39,15 @@
 (define-public nyacc
   (package
     (name "nyacc")
-    (version "0.83.3")
+    (version "0.86.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://savannah/nyacc/"
                                   name "-" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (patches (search-patches "nyacc-binary-literals.patch"))
               (sha256
                (base32
-                "0120n0mdb6r58c4jc024dhwqy5s8a20waknijfhqjc59a884lrd6"))))
+                "0lkd9lyspvhxlfs0496gsllwinh62jk9wij6gpadvx9gwz6yavd9"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("guile" ,guile-2.2)))
@@ -59,36 +59,24 @@ extensive examples, including parsers for the Javascript and C99 languages.")
     (home-page "https://savannah.nongnu.org/projects/nyacc")
     (license (list gpl3+ lgpl3+))))
 
-(define-public nyacc-for-mes
-  (package
-    (inherit nyacc)
-    (version "0.80.42")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://gitlab.com/janneke/nyacc"
-                                    "/-/archive/v" version
-                                    "/nyacc-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0c8c8kxir0h2d4nxr131xbkfs7c80haipmkp2g6677sh14wn0b3y"))))))
-
 (define-public mes
   (let ((triplet "i686-unknown-linux-gnu"))
     (package
       (name "mes")
-      (version "0.17")
+      (version "0.17.1")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "http://alpha.gnu.org/gnu/mes/"
                                     "mes-" version ".tar.gz"))
+                (patches (search-patches "mes-nyacc-0.86.0.patch"))
                 (sha256
                  (base32
-                  "1j32x4zqy2cqjlg9m35f2411mwac2b0p5ch4hm99gddmfbxzgyhg"))))
+                  "02g8zig53ffd0ai8kqhv2zj7bj2366a8hr6ydkwakmi2d1amyrna"))))
       (build-system gnu-build-system)
       (supported-systems '("i686-linux" "x86_64-linux"))
       (propagated-inputs
        `(("mescc-tools" ,mescc-tools)
-         ("nyacc" ,nyacc-for-mes)))
+         ("nyacc" ,nyacc)))
       (native-inputs
        `(("guile" ,guile-2.2)
          ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system)
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 579127d06e..c9effbafa3 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -84,7 +84,7 @@ fully implemented.
 
 This package contains the library.")
    (license license:gpl2+)
-   (home-page "http://www.underbit.com/products/mad/")))
+   (home-page "https://www.underbit.com/products/mad/")))
 
 (define-public libid3tag
   (package
@@ -105,7 +105,7 @@ This package contains the library.")
     "Libid3tag is a library for reading ID3 tags, both ID3v1 and the various
 versions of ID3v2.")
    (license license:gpl2+)
-   (home-page "http://www.underbit.com/products/mad/")))
+   (home-page "https://www.underbit.com/products/mad/")))
 
 (define-public id3lib
   (package
@@ -184,7 +184,7 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://ibiblio.org"
+                    "https://ibiblio.org"
                     "/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-"
                     version ".tgz"))
               (sha256
@@ -231,7 +231,7 @@ Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.")
     (inputs
      `(("gtk+" ,gtk+-2)
        ("ncurses" ,ncurses)))
-    (home-page "http://www.ibiblio.org/mp3info/")
+    (home-page "https://www.ibiblio.org/mp3info/")
     (synopsis "MP3 technical info viewer and ID3 1.x tag editor")
     (description
      "MP3Info is a little utility used to read and modify the ID3 tags of MP3
@@ -309,7 +309,7 @@ This package contains the binary.")
               (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/"
                                         version "/mpg123-" version ".tar.bz2")
                          (string-append
-                          "http://www.mpg123.org/download/mpg123-"
+                          "https://www.mpg123.org/download/mpg123-"
                           version ".tar.bz2")))
               (sha256
                (base32
@@ -413,7 +413,7 @@ for album and track information.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://files.musepack.net/source/libmpcdec-"
+                    "https://files.musepack.net/source/libmpcdec-"
                     version ".tar.bz2"))
               (sha256
                (base32
@@ -424,7 +424,7 @@ for album and track information.")
      "This library supports decoding of the Musepack (MPC) audio compression
 format.")
     (license license:bsd-3)
-    (home-page "http://musepack.net")))
+    (home-page "https://musepack.net")))
 
 (define-public mpc123
   (package
@@ -491,7 +491,7 @@ specifically mp3 files containing ID3 metadata (i.e. song info).  It provides a
 command-line tool (eyeD3) and a Python library (import eyed3) that can be used
 to write your own applications or plugins that are callable from the
 command-line tool.")
-    (home-page "http://eyed3.nicfit.net/")
+    (home-page "https://eyed3.readthedocs.io/en/latest/")
     (license license:gpl2+)))
 
 (define-public chromaprint
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 2554ec9efd..5c82bf9ba1 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -56,7 +56,7 @@
 (define-public libmpdclient
   (package
     (name "libmpdclient")
-    (version "2.14")
+    (version "2.15")
     (source (origin
               (method url-fetch)
               (uri
@@ -65,7 +65,7 @@
                               "/libmpdclient-" version ".tar.xz"))
               (sha256
                (base32
-                "0whk0qw0lsd3kaimdznz0c45bfym0p4885zf4b7pfc7y3dwy510a"))))
+                "1la60ar6i4ghpscrlgm45kci9b74bvkpsfybhg0ygs4rzpwzdnxl"))))
     (build-system meson-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index e185a98359..4f5eac16b9 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -108,7 +108,7 @@ algebra.")
 library for performing multiple-precision, floating-point computations with
 correct rounding.")
    (license lgpl3+)
-   (home-page "http://www.mpfr.org/")))
+   (home-page "https://www.mpfr.org/")))
 
 (define-public mpc
   (package
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index ba21e5da2b..e39478e794 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -786,18 +786,23 @@ interface.  It is implemented as a frontend to @code{klick}.")
 (define-public libgme
   (package
     (name "libgme")
-    (version "0.6.1")
+    (version "0.6.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://bitbucket.org/mpyne/game-music-emu/"
                                   "downloads/game-music-emu-" version
-                                  ".tar.bz2"))
+                                  ".tar.xz"))
               (sha256
                (base32
-                "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw"))))
+                "0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f)) ; no check target
+    (native-inputs
+     `(;; Use gcc-4.9 to work around an internal compiler error that happens
+       ;; when using gcc-5.5.0.  FIXME: Try removing this when the default
+       ;; compiler is no longer gcc-5.5.0.
+       ("gcc" ,gcc-4.9)))
     (home-page "https://bitbucket.org/mpyne/game-music-emu")
     (synopsis "Video game music file playback library")
     (description
diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm
index ff789b8c6f..357372becd 100644
--- a/gnu/packages/musl.scm
+++ b/gnu/packages/musl.scm
@@ -28,17 +28,17 @@
 (define-public musl
   (package
     (name "musl")
-    (version "1.1.19")
+    (version "1.1.20")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.musl-libc.org/releases/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1nf1wh44bhm8gdcfr75ayib29b99vpq62zmjymrq7f96h9bshnfv"))))
+                "0q8dsjxl41dccscv9a0r78bs7jap57mn4mni5pwbbip6s1qqggj4"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f  ; Musl has no tests
+     `(#:tests? #f                      ; Musl has no tests
        #:configure-flags
        (list "--disable-gcc-wrapper")))
     (synopsis "Small C standard library")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 61c0ad7fba..abc616de3c 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -580,7 +580,7 @@ of the same name.")
 (define-public wireshark
   (package
     (name "wireshark")
-    (version "2.6.2")
+    (version "2.6.3")
     (source
      (origin
        (method url-fetch)
@@ -588,7 +588,7 @@ of the same name.")
                            version ".tar.xz"))
        (sha256
         (base32
-         "153h6prxamv5a62f3pfadkry0y57696xrgxfy2gfy5xswdg8kcj9"))))
+         "1v538h02y8avwy3cr11xz6wkyf9xd8qva4ng4sl9f2fw4skahn6i"))))
     (build-system gnu-build-system)
     (inputs `(("c-ares" ,c-ares)
               ("glib" ,glib)
@@ -762,52 +762,58 @@ live network and disk I/O bandwidth monitor.")
 (define-public aircrack-ng
   (package
     (name "aircrack-ng")
-    (version "1.2-rc4")
+    (version "1.3")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://download.aircrack-ng.org/aircrack-ng-"
+       (uri (string-append "https://download.aircrack-ng.org/aircrack-ng-"
                            version ".tar.gz"))
        (sha256
         (base32
-         "0dpzx9kddxpgzmgvdpl3rxn0jdaqhm5wxxndp1xd7d75mmmc2fnr"))))
+         "1jl30d0kibc82447fr3lgw75arik0l9729k94z76l7vl51y8mq4a"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("which" ,which)))
     (inputs
      `(("libgcrypt" ,libgcrypt)
        ("libnl" ,libnl)
+       ("libpcap" ,libpcap)
        ("ethtool" ,ethtool)
        ("pcre" ,pcre)
        ("sqlite" ,sqlite)
        ("zlib" ,zlib)))
     (arguments
-     `(#:make-flags `("sqlite=true"
-                      "gcrypt=true"
-                      "libnl=true"
-                      "pcre=true"
-                      "experimental=true" ;build wesside-ng, etc.
-                      "AVX2FLAG=N" "AVX1FLAG=N"
-                      ,,@(match (%current-system)
-                           ((or "x86_64-linux" "i686-linux")
-                            `("SSEFLAG=Y"))
-                           (_
-                            `("NEWSSE=false")))
-                      ,(string-append "prefix=" %output))
+     `(#:configure-flags
+       (list "--with-experimental=yes"  ; build wesside-ng, etc.
+             "--with-gcrypt")           ; openssl's the default
        #:phases (modify-phases %standard-phases
-                  (delete 'configure)   ;no configure phase
+                  (add-before 'bootstrap 'patch-evalrev
+                    (lambda _
+                      ;; Called by ./autogen.sh below, before the default
+                      ;; ‘patch-shebangs’ phase has had a chance to run.
+                      (substitute* "evalrev"
+                        (("/bin/sh")
+                         (which "sh")))
+                      #t))
+                  (replace 'bootstrap
+                    (lambda _
+                      ;; Patch shebangs in generated files before running
+                      ;; ./configure.
+                      (setenv "NOCONFIGURE" "please")
+                      (invoke "bash" "./autogen.sh")))
                   (add-after 'build 'absolutize-tools
                     (lambda* (#:key inputs #:allow-other-keys)
                       (let ((ethtool (string-append (assoc-ref inputs "ethtool")
                                                     "/sbin/ethtool")))
                         (substitute* "scripts/airmon-ng"
-                          (("\\[ ! -x \"\\$\\(command -v ethtool 2>&1)\" \\]")
-                           (string-append "! " ethtool " --version "
-                                          ">/dev/null 2>&1"))
-                          (("\\$\\(ethtool")
-                           (string-append "$(" ethtool)))
+                          (("ethtool ")
+                           (string-append ethtool " ")))
                         #t))))))
-    (home-page "http://www.aircrack-ng.org")
+    (home-page "https://www.aircrack-ng.org")
     (synopsis "Assess WiFi network security")
     (description
      "Aircrack-ng is a complete suite of tools to assess WiFi network
diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm
index 1cdce999b3..ae39870dd4 100644
--- a/gnu/packages/openldap.scm
+++ b/gnu/packages/openldap.scm
@@ -106,14 +106,14 @@
 (define-public nss-pam-ldapd
   (package
     (name "nss-pam-ldapd")
-    (version "0.9.9")
+    (version "0.9.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/"
                                   "nss-pam-ldapd-" version ".tar.gz"))
               (sha256
                (base32
-                "1lj7qkjlg3bshwdc5x5r1ny37rly4wgm1c8b6w6b5f4wa11nmji0"))))
+                "1cqamcr6qpgwxijlr6kg7jspjamjra8w0haan0qssn0yxn95d7c0"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 6c3d245058..06c344e7af 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -101,8 +101,8 @@
   ;; Note: the 'update-guix-package.scm' script expects this definition to
   ;; start precisely like this.
   (let ((version "0.15.0")
-        (commit "8bbb79cf95a07a40950448a8a09d888254404ed4")
-        (revision 2))
+        (commit "3d43017026f9995ad128915db8ca5eafe061bf75")
+        (revision 3))
     (package
       (name "guix")
 
@@ -118,7 +118,7 @@
                       (commit commit)))
                 (sha256
                  (base32
-                  "0h83l91v2cg9bb78c7vqx9wj71ckz22jbjmm2fy4vqs9216jnvc0"))
+                  "167rzz2h33xmmchkplwzfq94s5jwdn5nabsq2lb84s54ps0sm89m"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (build-system gnu-build-system)
       (arguments
@@ -213,6 +213,7 @@
                         ;; Guile-JSON, and Guile-Git automatically.
                         (let* ((out    (assoc-ref outputs "out"))
                                (guile  (assoc-ref inputs "guile"))
+                               (gcrypt (assoc-ref inputs "guile-gcrypt"))
                                (json   (assoc-ref inputs "guile-json"))
                                (sqlite (assoc-ref inputs "guile-sqlite3"))
                                (git    (assoc-ref inputs "guile-git"))
@@ -220,7 +221,8 @@
                                                   "guile-bytestructures"))
                                (ssh    (assoc-ref inputs "guile-ssh"))
                                (gnutls (assoc-ref inputs "gnutls"))
-                               (deps   (list json sqlite gnutls git bs ssh))
+                               (deps   (list gcrypt json sqlite gnutls
+                                             git bs ssh))
                                (effective
                                 (read-line
                                  (open-pipe* OPEN_READ
@@ -277,6 +279,7 @@
                '())))
       (propagated-inputs
        `(("gnutls" ,gnutls)
+         ("guile-gcrypt" ,guile-gcrypt)
          ("guile-json" ,guile-json)
          ("guile-sqlite3" ,guile-sqlite3)
          ("guile-ssh" ,guile-ssh)
@@ -312,6 +315,7 @@ the Nix package manager.")
     (inputs
      `(("gnutls" ,gnutls)
        ("guile-git" ,guile-git)
+       ("guile-gcrypt" ,guile-gcrypt)
        ,@(fold alist-delete (package-inputs guix)
                '("boot-guile" "boot-guile/i686" "util-linux"))))
 
@@ -562,13 +566,13 @@ transactions from C or Python.")
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "96")
+    (version "100")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1x66f2x8miy3giff14higpcs70c0zb5d3gj6yn8ac6p183sngl72"))))
+                "0sh7g26i5ndpa8l7xq6rnijbi3jz5izjn0b98zcnm6wpgghszw48"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/patches/ghostscript-CVE-2018-16509.patch b/gnu/packages/patches/ghostscript-CVE-2018-16509.patch
new file mode 100644
index 0000000000..50ffa3cb98
--- /dev/null
+++ b/gnu/packages/patches/ghostscript-CVE-2018-16509.patch
@@ -0,0 +1,193 @@
+Ghostscript 9.24 was released with an incomplete fix for CVE-2018-16509:
+https://nvd.nist.gov/vuln/detail/CVE-2018-16509
+https://bugs.chromium.org/p/project-zero/issues/detail?id=1640#c19
+https://bugs.ghostscript.com/show_bug.cgi?id=699718
+
+The reproducers no longer work after applying these commits:
+
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=5812b1b78fc4d36fdc293b7859de69241140d590
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=e914f1da46e33decc534486598dc3eadf69e6efb
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=3e5d316b72e3965b7968bb1d96baa137cd063ac6
+https://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=643b24dbd002fb9c131313253c307cf3951b3d47
+
+This patch is a "squashed" version of those.
+
+diff --git a/Resource/Init/gs_setpd.ps b/Resource/Init/gs_setpd.ps
+index bba3c8c0e..8fa7c51df 100644
+--- a/Resource/Init/gs_setpd.ps
++++ b/Resource/Init/gs_setpd.ps
+@@ -95,27 +95,41 @@ level2dict begin
+  {	% Since setpagedevice doesn't create new device objects,
+         % we must (carefully) reinstall the old parameters in
+         % the same device.
+-   .currentpagedevice pop //null currentdevice //null .trysetparams
++   .currentpagedevice pop //null currentdevice //null
++   { .trysetparams } .internalstopped
++   {
++     //null
++   } if
+    dup type /booleantype eq
+     { pop pop }
+-    {		% This should never happen!
++    {
+       SETPDDEBUG { (Error in .trysetparams!) = pstack flush } if
+-      cleartomark pop pop pop
++      {cleartomark pop pop pop} .internalstopped pop
++      % if resetting the entire device state failed, at least put back the
++      % security related key
++      currentdevice //null //false mark /.LockSafetyParams
++      currentpagedevice /.LockSafetyParams .knownget not
++      {systemdict /SAFER .knownget not {//false} } if
++      .putdeviceparamsonly
+       /.installpagedevice cvx /rangecheck signalerror
+     }
+    ifelse pop pop
+         % A careful reading of the Red Book reveals that an erasepage
+         % should occur, but *not* an initgraphics.
+    erasepage .beginpage
+- } bind def
++ } bind executeonly def
+ 
+ /.uninstallpagedevice
+- { 2 .endpage { .currentnumcopies //false .outputpage } if
++ {
++   {2 .endpage { .currentnumcopies //false .outputpage } if} .internalstopped pop
+    nulldevice
+  } bind def
+ 
+ (%grestorepagedevice) cvn
+- { .uninstallpagedevice grestore .installpagedevice
++ {
++ .uninstallpagedevice
++ grestore
++ .installpagedevice
+  } bind def
+ 
+ (%grestoreallpagedevice) cvn
+diff --git a/psi/zdevice2.c b/psi/zdevice2.c
+index 0c7080d57..159a0c0d9 100644
+--- a/psi/zdevice2.c
++++ b/psi/zdevice2.c
+@@ -251,8 +251,8 @@ z2currentgstate(i_ctx_t *i_ctx_p)
+ /* ------ Wrappers for operators that reset the graphics state. ------ */
+ 
+ /* Check whether we need to call out to restore the page device. */
+-static bool
+-restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
++static int
++restore_page_device(i_ctx_t *i_ctx_p, const gs_gstate * pgs_old, const gs_gstate * pgs_new)
+ {
+     gx_device *dev_old = gs_currentdevice(pgs_old);
+     gx_device *dev_new;
+@@ -260,9 +260,10 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
+     gx_device *dev_t2;
+     bool samepagedevice = obj_eq(dev_old->memory, &gs_int_gstate(pgs_old)->pagedevice,
+         &gs_int_gstate(pgs_new)->pagedevice);
++    bool LockSafetyParams = dev_old->LockSafetyParams;
+ 
+     if ((dev_t1 = (*dev_proc(dev_old, get_page_device)) (dev_old)) == 0)
+-        return false;
++        return 0;
+     /* If we are going to putdeviceparams in a callout, we need to */
+     /* unlock temporarily.  The device will be re-locked as needed */
+     /* by putdeviceparams from the pgs_old->pagedevice dict state. */
+@@ -271,23 +272,51 @@ restore_page_device(const gs_gstate * pgs_old, const gs_gstate * pgs_new)
+     dev_new = gs_currentdevice(pgs_new);
+     if (dev_old != dev_new) {
+         if ((dev_t2 = (*dev_proc(dev_new, get_page_device)) (dev_new)) == 0)
+-            return false;
+-        if (dev_t1 != dev_t2)
+-            return true;
++            samepagedevice = true;
++        else if (dev_t1 != dev_t2)
++            samepagedevice = false;
++    }
++
++    if (LockSafetyParams && !samepagedevice) {
++        const int required_ops = 512;
++        const int required_es = 32;
++
++        /* The %grestorepagedevice must complete: the biggest danger
++           is operand stack overflow. As we use get/putdeviceparams
++           that means pushing all the device params onto the stack,
++           pdfwrite having by far the largest number of parameters
++           at (currently) 212 key/value pairs - thus needing (currently)
++           424 entries on the op stack. Allowing for working stack
++           space, and safety margin.....
++         */
++        if (required_ops + ref_stack_count(&o_stack) >= ref_stack_max_count(&o_stack)) {
++           gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams;
++           return_error(gs_error_stackoverflow);
++        }
++        /* We also want enough exec stack space - 32 is an overestimate of
++           what we need to complete the Postscript call out.
++         */
++        if (required_es + ref_stack_count(&e_stack) >= ref_stack_max_count(&e_stack)) {
++           gs_currentdevice(pgs_old)->LockSafetyParams = LockSafetyParams;
++           return_error(gs_error_execstackoverflow);
++        }
+     }
+     /*
+      * The current implementation of setpagedevice just sets new
+      * parameters in the same device object, so we have to check
+      * whether the page device dictionaries are the same.
+      */
+-    return !samepagedevice;
++    return samepagedevice ? 0 : 1;
+ }
+ 
+ /* - grestore - */
+ static int
+ z2grestore(i_ctx_t *i_ctx_p)
+ {
+-    if (!restore_page_device(igs, gs_gstate_saved(igs)))
++    int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
++    if (code < 0) return code;
++
++    if (code == 0)
+         return gs_grestore(igs);
+     return push_callout(i_ctx_p, "%grestorepagedevice");
+ }
+@@ -297,7 +326,9 @@ static int
+ z2grestoreall(i_ctx_t *i_ctx_p)
+ {
+     for (;;) {
+-        if (!restore_page_device(igs, gs_gstate_saved(igs))) {
++        int code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
++        if (code < 0) return code;
++        if (code == 0) {
+             bool done = !gs_gstate_saved(gs_gstate_saved(igs));
+ 
+             gs_grestore(igs);
+@@ -328,11 +359,15 @@ z2restore(i_ctx_t *i_ctx_p)
+     if (code < 0) return code;
+ 
+     while (gs_gstate_saved(gs_gstate_saved(igs))) {
+-        if (restore_page_device(igs, gs_gstate_saved(igs)))
++        code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
++        if (code < 0) return code;
++        if (code > 0)
+             return push_callout(i_ctx_p, "%restore1pagedevice");
+         gs_grestore(igs);
+     }
+-    if (restore_page_device(igs, gs_gstate_saved(igs)))
++    code = restore_page_device(i_ctx_p, igs, gs_gstate_saved(igs));
++    if (code < 0) return code;
++    if (code > 0)
+         return push_callout(i_ctx_p, "%restorepagedevice");
+ 
+     code = dorestore(i_ctx_p, asave);
+@@ -355,9 +390,12 @@ static int
+ z2setgstate(i_ctx_t *i_ctx_p)
+ {
+     os_ptr op = osp;
++    int code;
+ 
+     check_stype(*op, st_igstate_obj);
+-    if (!restore_page_device(igs, igstate_ptr(op)))
++    code = restore_page_device(i_ctx_p, igs, igstate_ptr(op));
++    if (code < 0) return code;
++    if (code == 0)
+         return zsetgstate(i_ctx_p);
+     return push_callout(i_ctx_p, "%setgstatepagedevice");
+ }
diff --git a/gnu/packages/patches/ghostscript-bug-699708.patch b/gnu/packages/patches/ghostscript-bug-699708.patch
new file mode 100644
index 0000000000..1567be1c6f
--- /dev/null
+++ b/gnu/packages/patches/ghostscript-bug-699708.patch
@@ -0,0 +1,160 @@
+Additional security fix that missed 9.24.
+
+Taken from upstream:
+http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=fb713b3818b52d8a6cf62c951eba2e1795ff9624
+
+From fb713b3818b52d8a6cf62c951eba2e1795ff9624 Mon Sep 17 00:00:00 2001
+From: Chris Liddell <chris.liddell@artifex.com>
+Date: Thu, 6 Sep 2018 09:16:22 +0100
+Subject: [PATCH] Bug 699708 (part 1): 'Hide' non-replaceable error handlers
+ for SAFER
+
+We already had a 'private' dictionary for non-standard errors: gserrordict.
+
+This now includes all the default error handlers, the dictionary is made
+noaccess and all the prodedures are bound and executeonly.
+
+When running with -dSAFER, in the event of a Postscript error, instead of
+pulling the handler from errordict, we'll pull it from gserrordict - thus
+malicious input cannot trigger problems by the use of custom error handlers.
+
+errordict remains open and writeable, so files such as the Quality Logic tests
+that install their own handlers will still 'work', with the exception that the
+custom error handlers will not be called.
+
+This is a 'first pass', 'sledgehammer' approach: a nice addition would to allow
+an integrator to specify a list of errors that are not to be replaced (for
+example, embedded applications would probably want to ensure that VMerror is
+always handled as they intend).
+---
+ Resource/Init/gs_init.ps | 29 ++++++++++++++++++-----------
+ psi/interp.c             | 30 +++++++++++++++++++++---------
+ 2 files changed, 39 insertions(+), 20 deletions(-)
+
+diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps
+index 071c39205..bc8b7951c 100644
+--- a/Resource/Init/gs_init.ps
++++ b/Resource/Init/gs_init.ps
+@@ -881,7 +881,7 @@ userdict /.currentresourcefile //null put
+        { not exch pop exit } { pop } ifelse
+     }
+    for exch pop .quit
+- } bind def
++ } bind executeonly def
+ /.errorhandler		% <command> <errorname> .errorhandler -
+   {		% Detect an internal 'stopped'.
+     1 .instopped { //null eq { pop pop stop } if } if
+@@ -926,7 +926,7 @@ userdict /.currentresourcefile //null put
+     $error /globalmode get $error /.nosetlocal get and .setglobal
+     $error /.inerror //false put
+     stop
+-  } bind def
++  } bind executeonly def
+ % Define the standard handleerror.  We break out the printing procedure
+ % (.printerror) so that it can be extended for binary output
+ % if the Level 2 facilities are present.
+@@ -976,7 +976,7 @@ userdict /.currentresourcefile //null put
+      ifelse	% newerror
+      end
+      flush
+-    } bind def
++    } bind executeonly def
+   /.printerror_long			% long error printout,
+                                         % $error is on the dict stack
+    {	% Push the (anonymous) stack printing procedure.
+@@ -1053,14 +1053,14 @@ userdict /.currentresourcefile //null put
+         { (Current file position is ) print position = }
+        if
+ 
+-   } bind def
++   } bind executeonly def
+ % Define a procedure for clearing the error indication.
+ /.clearerror
+  { $error /newerror //false put
+    $error /errorname //null put
+    $error /errorinfo //null put
+    0 .setoserrno
+- } bind def
++ } bind executeonly def
+ 
+ % Define $error.  This must be in local VM.
+ .currentglobal //false .setglobal
+@@ -1086,11 +1086,15 @@ end
+ /errordict ErrorNames length 3 add dict
+ .forcedef		% errordict is local, systemdict is global
+ .setglobal		% back to global VM
+-% For greater Adobe compatibility, we put all non-standard errors in a
+-%   separate dictionary, gserrordict.  It does not need to be in local VM,
+-%   because PostScript programs do not access it.
++%  gserrordict contains all the default error handling methods, but unlike
++%  errordict it is noaccess after creation (also it is in global VM).
++%  When running 'SAFER', we'll ignore the contents of errordict, which
++%  may have been tampered with by the running job, and always use gserrordict
++%  gserrordict also contains any non-standard errors, for better compatibility
++%  with Adobe.
++%
+ %   NOTE: the name gserrordict is known to the interpreter.
+-/gserrordict 5 dict def
++/gserrordict ErrorNames length 3 add dict def
+ % Register an error in errordict.  We make this a procedure because we only
+ % register the Level 1 errors here: the rest are registered by "feature"
+ % files.  However, ErrorNames contains all of the error names regardless of
+@@ -1119,8 +1123,11 @@ errordict begin
+  } bind def
+ end		% errordict
+ 
+-% Put non-standard errors in gserrordict.
+-gserrordict /unknownerror errordict /unknownerror get put
++% Put all the default handlers in gserrordict
++gserrordict
++errordict {2 index 3 1 roll put} forall
++noaccess pop
++% remove the non-standard errors from errordict
+ errordict /unknownerror .undef
+ % Define a stable private copy of handleerror that we will always use under
+ % JOBSERVER mode.
+diff --git a/psi/interp.c b/psi/interp.c
+index c27b70dca..d41a9d3f5 100644
+--- a/psi/interp.c
++++ b/psi/interp.c
+@@ -661,16 +661,28 @@ again:
+         return code;
+     if (gs_errorname(i_ctx_p, code, &error_name) < 0)
+         return code;            /* out-of-range error code! */
+-    /*
+-     * For greater Adobe compatibility, only the standard PostScript errors
+-     * are defined in errordict; the rest are in gserrordict.
++
++    /*  If LockFilePermissions is true, we only refer to gserrordict, which
++     *  is not accessible to Postcript jobs
+      */
+-    if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 ||
+-        (dict_find(perrordict, &error_name, &epref) <= 0 &&
+-         (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
+-          dict_find(perrordict, &error_name, &epref) <= 0))
+-        )
+-        return code;            /* error name not in errordict??? */
++    if (i_ctx_p->LockFilePermissions) {
++        if (((dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
++              dict_find(perrordict, &error_name, &epref) <= 0))
++            )
++            return code;            /* error name not in errordict??? */
++    }
++    else {
++        /*
++         * For greater Adobe compatibility, only the standard PostScript errors
++         * are defined in errordict; the rest are in gserrordict.
++         */
++        if (dict_find_string(systemdict, "errordict", &perrordict) <= 0 ||
++            (dict_find(perrordict, &error_name, &epref) <= 0 &&
++             (dict_find_string(systemdict, "gserrordict", &perrordict) <= 0 ||
++              dict_find(perrordict, &error_name, &epref) <= 0))
++            )
++            return code;            /* error name not in errordict??? */
++    }
+     doref = *epref;
+     epref = &doref;
+     /* Push the error object on the operand stack if appropriate. */
+-- 
+2.18.0
+
diff --git a/gnu/packages/patches/mes-nyacc-0.86.0.patch b/gnu/packages/patches/mes-nyacc-0.86.0.patch
new file mode 100644
index 0000000000..58dfc5a46b
--- /dev/null
+++ b/gnu/packages/patches/mes-nyacc-0.86.0.patch
@@ -0,0 +1,197 @@
+From 9e610736bf779f3295c1192e748cd19cbbe3be28 Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Wed, 5 Sep 2018 20:28:06 +0200
+Subject: [PATCH 1/2] mes: Support Nyacc 0.85.3: Add char-set-copy.
+
+* mes/module/srfi/srfi-14.mes (char-set-copy): New function>
+---
+ mes/module/srfi/srfi-14.mes | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/mes/module/srfi/srfi-14.mes b/mes/module/srfi/srfi-14.mes
+index 0be39b1e..a16d16ce 100644
+--- a/mes/module/srfi/srfi-14.mes
++++ b/mes/module/srfi/srfi-14.mes
+@@ -52,3 +52,6 @@
+ 
+ (define (char-whitespace? c)
+   (char-set-contains? char-set:whitespace c))
++
++(define (char-set-copy cs)
++  (map identity cs))
+-- 
+2.18.0
+
+From b952bdf44f11edbfc277600dc35236aae1769b54 Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Wed, 5 Sep 2018 22:14:34 +0200
+Subject: [PATCH 2/2] mes: Support Nyacc 0.85.3: Integrate progress.
+
+* mes/module/nyacc/lang/sx-util.mes: New file.
+* mes/module/nyacc/version.mes: New file.
+* mes/module/nyacc/lang/c99/cpp.mes (nyacc): Include them.
+* mes/module/nyacc/lang/c99/parser.mes (nyacc): Include them.
+* module/mescc/preprocess.scm (need-progress): New function.
+(progress): New function.
+(insert-progress-monitors): Use them to Integrate progress.
+---
+ mes/module/mescc/preprocess.mes      |  1 +
+ mes/module/nyacc/lang/c99/cpp.mes    |  1 +
+ mes/module/nyacc/lang/c99/parser.mes |  1 +
+ mes/module/nyacc/lang/sx-util.mes    | 27 +++++++++++++++++++++
+ mes/module/nyacc/version.mes         | 26 +++++++++++++++++++++
+ module/mescc/preprocess.scm          | 35 ++++++++++++++++++++++++++++
+ 6 files changed, 91 insertions(+)
+ create mode 100644 mes/module/nyacc/lang/sx-util.mes
+ create mode 100644 mes/module/nyacc/version.mes
+
+diff --git a/mes/module/mescc/preprocess.mes b/mes/module/mescc/preprocess.mes
+index c7c5fcaa..022a372c 100644
+--- a/mes/module/mescc/preprocess.mes
++++ b/mes/module/mescc/preprocess.mes
+@@ -24,4 +24,5 @@
+ (mes-use-module (srfi srfi-13))
+ (mes-use-module (srfi srfi-26))
+ (mes-use-module (nyacc lang c99 parser))
++(mes-use-module (nyacc version))
+ (include-from-path "mescc/preprocess.scm")
+diff --git a/mes/module/nyacc/lang/c99/cpp.mes b/mes/module/nyacc/lang/c99/cpp.mes
+index fad1dc55..b25c4a93 100644
+--- a/mes/module/nyacc/lang/c99/cpp.mes
++++ b/mes/module/nyacc/lang/c99/cpp.mes
+@@ -28,5 +28,6 @@
+ 
+ (mes-use-module (nyacc parse))
+ (mes-use-module (nyacc lex))
++(mes-use-module (nyacc lang sx-util))
+ (mes-use-module (nyacc lang util))
+ (include-from-path "nyacc/lang/c99/cpp.scm")
+diff --git a/mes/module/nyacc/lang/c99/parser.mes b/mes/module/nyacc/lang/c99/parser.mes
+index c51552d6..1a9aaf73 100644
+--- a/mes/module/nyacc/lang/c99/parser.mes
++++ b/mes/module/nyacc/lang/c99/parser.mes
+@@ -32,6 +32,7 @@
+ 
+ (mes-use-module (nyacc lex))
+ (mes-use-module (nyacc parse))
++(mes-use-module (nyacc lang sx-util))
+ (mes-use-module (nyacc lang util))
+ (mes-use-module (nyacc lang c99 cpp))
+ 
+diff --git a/mes/module/nyacc/lang/sx-util.mes b/mes/module/nyacc/lang/sx-util.mes
+new file mode 100644
+index 00000000..41ac5b4a
+--- /dev/null
++++ b/mes/module/nyacc/lang/sx-util.mes
+@@ -0,0 +1,27 @@
++;;; -*-scheme-*-
++
++;;; GNU Mes --- Maxwell Equations of Software
++;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
++;;;
++;;; This file is part of GNU Mes.
++;;;
++;;; GNU Mes is free software; you can redistribute it and/or modify it
++;;; under the terms of the GNU General Public License as published by
++;;; the Free Software Foundation; either version 3 of the License, or (at
++;;; your option) any later version.
++;;;
++;;; GNU Mes is distributed in the hope that it will be useful, but
++;;; WITHOUT ANY WARRANTY; without even the implied warranty of
++;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++;;; GNU General Public License for more details.
++;;;
++;;; You should have received a copy of the GNU General Public License
++;;; along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
++
++;;; Commentary:
++
++;;; Code:
++
++(mes-use-module (srfi srfi-1))
++(mes-use-module (srfi srfi-16))
++(include-from-path "nyacc/lang/sx-util.scm")
+diff --git a/mes/module/nyacc/version.mes b/mes/module/nyacc/version.mes
+new file mode 100644
+index 00000000..b9db628e
+--- /dev/null
++++ b/mes/module/nyacc/version.mes
+@@ -0,0 +1,26 @@
++;;; -*-scheme-*-
++
++;;; GNU Mes --- Maxwell Equations of Software
++;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
++;;;
++;;; This file is part of GNU Mes.
++;;;
++;;; GNU Mes is free software; you can redistribute it and/or modify it
++;;; under the terms of the GNU General Public License as published by
++;;; the Free Software Foundation; either version 3 of the License, or (at
++;;; your option) any later version.
++;;;
++;;; GNU Mes is distributed in the hope that it will be useful, but
++;;; WITHOUT ANY WARRANTY; without even the implied warranty of
++;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++;;; GNU General Public License for more details.
++;;;
++;;; You should have received a copy of the GNU General Public License
++;;; along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
++
++;;; Commentary:
++
++;;; Code:
++
++(include-from-path "nyacc/version.scm")
++(display "nyacc version\n")
+diff --git a/module/mescc/preprocess.scm b/module/mescc/preprocess.scm
+index 9e341cba..c2efb32c 100644
+--- a/module/mescc/preprocess.scm
++++ b/module/mescc/preprocess.scm
+@@ -26,9 +26,44 @@
+   #:use-module (srfi srfi-1)
+   #:use-module (srfi srfi-26)
+   #:use-module (nyacc lang c99 parser)
++  #:use-module (nyacc lang c99 parser)
++  #:use-module (nyacc version)
+   #:use-module (mes guile)
+   #:export (c99-input->ast))
+ 
++(format (current-error-port) "*nyacc-version*=~a\n" *nyacc-version*)
++;; list of which rules you want progress reported
++(define need-progress
++  (assoc-ref
++   '(("0.85.3" (1 2 3))
++     ("0.86.0" (1 2 3)))
++   *nyacc-version*))
++
++(define (progress o)
++  (when (and o (getenv "NYACC_DEBUG"))
++    (display "    :" (current-error-port))
++    (display o (current-error-port))
++    (display "\n" (current-error-port))))
++
++(define (insert-progress-monitors act-v len-v)
++  (let ((n (vector-length act-v)))
++    (let loop ((ix 0))
++      (when (< ix n)
++	(if (memq ix need-progress)
++	    (vector-set
++	     act-v ix
++	     (lambda args
++	       (progress (list-ref args (1- (vector-ref len-v ix))))
++	       (apply (vector-ref act-v ix) args))))
++        (loop (1+ ix))))))
++
++(cond-expand
++ (guile
++  (insert-progress-monitors (@@ (nyacc lang c99 parser) c99-act-v)
++                            (@@ (nyacc lang c99 parser) c99-len-v)))
++ (mes
++  (insert-progress-monitors c99-act-v c99-len-v)))
++
+ (define (logf port string . rest)
+   (apply format (cons* port string rest))
+   (force-output port)
+-- 
+2.18.0
+
diff --git a/gnu/packages/patches/nyacc-binary-literals.patch b/gnu/packages/patches/nyacc-binary-literals.patch
new file mode 100644
index 0000000000..8159d74032
--- /dev/null
+++ b/gnu/packages/patches/nyacc-binary-literals.patch
@@ -0,0 +1,29 @@
+From 6a08014b77bf435f025ecdac08396580b85f159a Mon Sep 17 00:00:00 2001
+From: Jan Nieuwenhuizen <janneke@gnu.org>
+Date: Sat, 8 Sep 2018 20:22:45 +0200
+Subject: [PATCH] fix binary literals.
+
+---
+ module/nyacc/lex.scm | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/module/nyacc/lex.scm b/module/nyacc/lex.scm
+index 2ec9895..b205212 100644
+--- a/module/nyacc/lex.scm
++++ b/module/nyacc/lex.scm
+@@ -345,10 +345,11 @@
+ 	  ((char-numeric? ch) (iter chl '$fixed ba 1 ch))
+ 	  ((char=? #\. ch) (iter (cons ch chl) #f ba 15 (read-char))) 
+ 	  (else #f)))
+-	((10) ;; allow x after 0
++	((10) ;; allow x, b after 0
+ 	 (cond
+ 	  ((eof-object? ch) (iter chl ty ba 5 ch))
+ 	  ((char=? #\x ch) (iter (cons ch chl) ty 16 1 (read-char)))
++          ((char=? #\b ch) (iter (cons ch chl) ty 2 1 (read-char)))
+ 	  (else (iter chl ty ba 1 ch))))
+ 	((15) ;; got `.' only
+ 	 (cond
+-- 
+2.18.0
+
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 761c5987b0..4792b6fb49 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -153,8 +153,10 @@
                                 (files '("lib/perl5/site_perl")))))
     (synopsis "Implementation of the Perl programming language")
     (description
-     "Perl 5 is a highly capable, feature-rich programming language with over
-24 years of development.")
+     "Perl is a general-purpose programming language originally developed for
+text manipulation and now used for a wide range of tasks including system
+administration, web development, network programming, GUI development, and
+more.")
     (home-page "http://www.perl.org/")
     (license gpl1+)))                          ; or "Artistic"
 
@@ -1369,7 +1371,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
 (define-public perl-config-autoconf
   (package
     (name "perl-config-autoconf")
-    (version "0.315")
+    (version "0.317")
     (source
      (origin
        (method url-fetch)
@@ -1377,7 +1379,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
                            "Config-AutoConf-" version ".tar.gz"))
        (sha256
         (base32
-         "0h39x9rzrhhilpg8yxlzpka269qrzsjg0iy0c1b9xflqlvhx2g2b"))))
+         "1qcwib4yaml5z2283qy5khjcydyibklsnk8zrk9wzdzc5wnv5r01"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
@@ -2140,7 +2142,7 @@ hours, minutes, seconds, and time zones.")
 (define-public perl-datetime
   (package
     (name "perl-datetime")
-    (version "1.49")
+    (version "1.50")
     (source
      (origin
        (method url-fetch)
@@ -2148,7 +2150,7 @@ hours, minutes, seconds, and time zones.")
                            "DateTime-" version ".tar.gz"))
        (sha256
         (base32
-         "0hbw4zq1562slnz7g7hyhfhyq98dzkk3i5g21x3xra5cvfix93kh"))))
+         "165iqk1xvhs5j0kzsipa7aqycx3h37wqsl2r4jl104yqvmqhqszd"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-cpan-meta-check" ,perl-cpan-meta-check)
@@ -3128,7 +3130,7 @@ only about 40% as many lines of code and with zero non-core dependencies.")
 (define-public perl-extutils-installpaths
   (package
     (name "perl-extutils-installpaths")
-    (version "0.011")
+    (version "0.012")
     (source
      (origin
        (method url-fetch)
@@ -3136,7 +3138,7 @@ only about 40% as many lines of code and with zero non-core dependencies.")
                            "ExtUtils-InstallPaths-" version ".tar.gz"))
        (sha256
         (base32
-         "0z06y0fhx9hy9x01abb7s2xdbqrh9x4ps7avmlf4bwfwih2gl2bn"))))
+         "1v9lshfhm9ck4p0v77arj5f7haj1mmkqal62lgzzvcds6wq5www4"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-extutils-config" ,perl-extutils-config)))
@@ -3192,7 +3194,7 @@ XS interface besides the perl one.")
 (define-public perl-extutils-helpers
   (package
     (name "perl-extutils-helpers")
-    (version "0.022")
+    (version "0.026")
     (source
      (origin
        (method url-fetch)
@@ -3200,7 +3202,7 @@ XS interface besides the perl one.")
                            "ExtUtils-Helpers-" version ".tar.gz"))
        (sha256
         (base32
-         "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k"))))
+         "05ilqcj1rg5izr09dsqmy5di4fvq6ph4k0chxks7qmd4j1kip46y"))))
     (build-system perl-build-system)
     (home-page "https://metacpan.org/release/ExtUtils-Helpers")
     (synopsis "Various portability utilities for module builders")
@@ -3772,7 +3774,7 @@ single-letter approach, is provided but not enabled by default.")
 (define-public perl-getopt-long-descriptive
   (package
     (name "perl-getopt-long-descriptive")
-    (version "0.102")
+    (version "0.103")
     (source
      (origin
        (method url-fetch)
@@ -3780,7 +3782,7 @@ single-letter approach, is provided but not enabled by default.")
                            "Getopt-Long-Descriptive-" version ".tar.gz"))
        (sha256
         (base32
-         "0ii8xafvlph5vzcqp3dpc83lg7nkg3l1l2hmqdf5382a567vkm4s"))))
+         "1cpl240qxmh7jf85ai9sfkp3nzm99syya4jxidizp7aa83kvmqbh"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-cpan-meta-check" ,perl-cpan-meta-check)
@@ -6324,7 +6326,7 @@ anything that looks like a method.")
 (define-public perl-namespace-clean
   (package
     (name "perl-namespace-clean")
-    (version "0.25")
+    (version "0.27")
     (source
      (origin
        (method url-fetch)
@@ -6332,7 +6334,7 @@ anything that looks like a method.")
                            "namespace-clean-" version ".tar.gz"))
        (sha256
         (base32
-         "016dds70ql1mp18b07chkxiy4drn976ibnbshqc2hmhrh9xjnsll"))))
+         "17dg64pd4bwi2ad3p8ykwys1zha7kg8a8ykvks7wfg8q7qyah44a"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-package-stash" ,perl-package-stash)
@@ -6704,7 +6706,7 @@ checking parameters easier.")
 (define-public perl-params-validate
   (package
     (name "perl-params-validate")
-    (version "1.26")
+    (version "1.29")
     (source
      (origin
        (method url-fetch)
@@ -6712,7 +6714,7 @@ checking parameters easier.")
                            "Params-Validate-" version ".tar.gz"))
        (sha256
         (base32
-         "1vbj78qd46ip09i06dsbb62jfwpzp4bg7yi617v98nvim77w66l2"))))
+         "0cwpf8yxwyxbnwhf6rx4wnaq1q38j38i34a78a005shb8gxqv9j9"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
@@ -6897,7 +6899,7 @@ for correctness.")
 (define-public perl-pegex
   (package
    (name "perl-pegex")
-   (version "0.64")
+   (version "0.67")
    (source
     (origin
      (method url-fetch)
@@ -6906,7 +6908,7 @@ for correctness.")
            version ".tar.gz"))
      (sha256
       (base32
-       "1kb7y2cc3nibbn8i8y3vrzz1f9h3892nbf8jj88c5fdgpmj05q17"))))
+       "149015ra2figalxrnj72fz02qc5cm96xg6x8d6kmyanfmrrxzf9w"))))
    (build-system perl-build-system)
    (native-inputs
     `(("perl-file-sharedir-install" ,perl-file-sharedir-install)
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 0e65cb319f..2a330695c6 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -93,15 +93,7 @@ scientific data.")
                                   "guile-charting-" version ".tar.gz"))
               (sha256
                (base32
-                "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Use the standard location for modules.
-                  (substitute* "Makefile.in"
-                    (("godir = .*$")
-                     "godir = $(moddir)\n"))
-                  #t))))
+                "0w5qiyv9v0ip5li22x762bm48g8xnw281w66iyw094zdw611pb2m"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("guile" ,guile-2.2)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index ed04de7547..56176529c9 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6186,14 +6186,14 @@ printing of sub-tables by specifying a row range.")
 (define-public python-tables
   (package
     (name "python-tables")
-    (version "3.2.2")
+    (version "3.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "tables" version))
        (sha256
         (base32
-         "117s6w7s3yxafpmf3zz3svana7xfrsviw01va1xp7h8ylx8v6r1m"))
+         "0affz7k8babh8wdmsgrz5jxrd569by2w8ffimcxs9wiaf5rw1idx"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 6dbe1c4db7..900c8ec686 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -292,7 +292,7 @@ history mechanism, job control and a C-like syntax.")
 (define-public zsh
   (package
     (name "zsh")
-    (version "5.5.1")
+    (version "5.6")
     (source (origin
               (method url-fetch)
               (uri (list (string-append
@@ -303,7 +303,7 @@ history mechanism, job control and a C-like syntax.")
                            ".tar.xz")))
               (sha256
                (base32
-                "105aqkdfsdxc4531anrj2zis2ywz6icagjam9lsc235yzh48ihz1"))))
+                "1mp6h2452z2029n12mxipjv4b0cc8i8sb72g8p8jklg8275iysvl"))))
     (build-system gnu-build-system)
     (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre")
                  #:phases
@@ -336,6 +336,19 @@ history mechanism, job control and a C-like syntax.")
                          (("command -pv") "command -v")
                          (("command -p") "command ")
                          (("'command' -p") "'command' "))
+                       ;; This file is ISO-8859-1 encoded.
+                       (with-fluids ((%default-port-encoding #f))
+                         (substitute* "Test/A05execution.ztst"
+                           ;; Help it find `sh`
+                           (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp/ tstcmd-slashless")
+                            (string-append "PATH=/bin:"
+                                           (assoc-ref %build-inputs "bash") "/bin:"
+                                           "${ZTST_testdir}/command.tmp/ tstcmd-slashless"))
+                           ;; Help it find `echo`
+                           (("PATH=/bin:\\$\\{ZTST_testdir\\}/command.tmp tstcmd-arg")
+                            (string-append "PATH=/bin:"
+                                           (assoc-ref %build-inputs "coreutils") "/bin:"
+                                           "PATH=/bin:${ZTST_testdir}/command.tmp tstcmd-arg"))))
                        #t)))))
     (native-inputs `(("autoconf" ,autoconf)))
     (inputs `(("ncurses" ,ncurses)
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 64c331d28c..6e915aa437 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -960,14 +960,14 @@ solution for sending email, including attachments, from within R.")
 (define-public r-stringi
   (package
     (name "r-stringi")
-    (version "1.2.3")
+    (version "1.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringi" version))
        (sha256
         (base32
-         "1sgg4krw03qkz1n4dwiya0djggk7giwd0w21qlp0pfjqi0rxq6qx"))))
+         "1y46xab7g1lsjmilp4hbl7pjad6pcxp66hdj8wnfdg9518h0lmq1"))))
     (build-system r-build-system)
     (inputs `(("icu4c" ,icu4c)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -1033,19 +1033,17 @@ using just two functions: melt and dcast (or acast).")
 (define-public r-scales
   (package
     (name "r-scales")
-    (version "0.5.0")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "scales" version))
        (sha256
-        (base32 "0zg9wfzmsdjxpbld0nzv7hcpq5r0wazqxmn7grvvif2agj0w1z6v"))))
+        (base32 "0353dkh3d7x78463c6ds80hcml59lrqwr8rlv82a8dnkxla4l7qc"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-dichromat" ,r-dichromat)
-       ("r-labeling" ,r-labeling)
+     `(("r-labeling" ,r-labeling)
        ("r-munsell" ,r-munsell)
-       ("r-plyr" ,r-plyr)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
        ("r-rcpp" ,r-rcpp)
        ("r-r6" ,r-r6)
@@ -1251,13 +1249,13 @@ for template use among CRAN packages.")
 (define-public r-evaluate
   (package
     (name "r-evaluate")
-    (version "0.10.1")
+    (version "0.11")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "evaluate" version))
               (sha256
                (base32
-                "070vvmnbdlp7sz2zhza7fhd2a6mlwiln8fn4hyzhsiizbn4n79y9"))))
+                "1k8vcd4vsgg0hf7kdz8rlqp1dx4ygvg35aj4n3ay50kdnpzhaj5h"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-stringr" ,r-stringr)))
@@ -1356,13 +1354,13 @@ syntax that can be converted to XHTML or other formats.")
 (define-public r-yaml
   (package
     (name "r-yaml")
-    (version "2.1.19")
+    (version "2.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "yaml" version))
               (sha256
                (base32
-                "04bzrnfgbpk0rhkvzwp3k3ip7jpq26bjxz71bx5mwxmcjdb07nz5"))))
+                "0in562nd0i23cg91a8kdbqgim656fgscykwi0icsnq53xj3srg2m"))))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/yaml/")
     (synopsis "Methods to convert R data to YAML and back")
@@ -1656,14 +1654,14 @@ database.")
 (define-public r-dbplyr
   (package
     (name "r-dbplyr")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "dbplyr" version))
        (sha256
         (base32
-         "1nwrls9c3kc9q7405jp6b9sh23642sz13yw55iikgw134shffj5k"))))
+         "0j5w6a1qim972kv4vmvinp3j50yr4idmm9cd3w7y3zsz0nq0nhcx"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -1789,17 +1787,17 @@ and fast file reading.")
 (define-public r-xtable
   (package
     (name "r-xtable")
-    (version "1.8-2")
+    (version "1.8-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xtable" version))
        (sha256
         (base32
-         "0398qkpvlw3dv0myz4mjcyqwpwc2m31l127r8vdzwc71wb6s28qn"))))
+         "09f311gq9g7dzf8jdvcx72j11xb7p00jlg066jjbpa6pz3zv1cjk"))))
     (build-system r-build-system)
     (native-inputs
-     `(("r-knitr" ,r-knitr)))
+     `(("r-knitr" ,r-knitr))) ; for vignettes
     (home-page "http://xtable.r-forge.r-project.org/")
     (synopsis "Export R tables to LaTeX or HTML")
     (description
@@ -1936,14 +1934,14 @@ chain.")
 (define-public r-ade4
   (package
     (name "r-ade4")
-    (version "1.7-11")
+    (version "1.7-13")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "ade4" version))
         (sha256
           (base32
-            "0wm54wcpn87rdh6vyw04cr8vgba899y6jsl61f22bmlvx6d7kkac"))))
+            "16z9jk4qj35ghsk4lwmq241dgc770y8a70dlmp9q4gz6d8ssgl7m"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-mass" ,r-mass)))
@@ -2237,24 +2235,28 @@ tables, autolinks and strikethrough text.")
 (define-public r-roxygen2
   (package
     (name "r-roxygen2")
-    (version "6.0.1")
+    (version "6.1.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "roxygen2" version))
               (sha256
                (base32
-                "0xpzziminf225kjwhyl51kgkzhplyzhk5farhf5s822krl2xqbfj"))))
+                "0ji9k4s1bvfbl8wimfqj1lqr33h1claaz30vb5pgksxyg77j5xaa"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-brew" ,r-brew)
        ("r-commonmark" ,r-commonmark)
        ("r-desc" ,r-desc)
        ("r-digest" ,r-digest)
+       ("r-pkgload" ,r-pkgload)
+       ("r-purrr" ,r-purrr)
        ("r-r6" ,r-r6)
        ("r-rcpp" ,r-rcpp)
        ("r-stringi" ,r-stringi)
        ("r-stringr" ,r-stringr)
        ("r-xml2" ,r-xml2)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr))) ; for vignettes
     (home-page "https://github.com/klutometis/roxygen")
     (synopsis "In-source documentation system for R")
     (description
@@ -2320,13 +2322,13 @@ functions make it easy to control additional request components.")
 (define-public r-git2r
   (package
     (name "r-git2r")
-    (version "0.21.0")
+    (version "0.23.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "git2r" version))
               (sha256
                (base32
-                "11xgddmxzh9cy85k8fb90il43qswpvryz0h9r0j1gbclfg2f9004"))))
+                "01250jz255fnyy2ap90nskvzhd8nhlmbhwgpvb43mk1fax077lrz"))))
     (build-system r-build-system)
     ;; This R package contains modified sources of libgit2.  This modified
     ;; version of libgit2 is built as the package is built.  Hence libgit2 is
@@ -2335,6 +2337,8 @@ functions make it easy to control additional request components.")
      `(("libssh2" ,libssh2)
        ("openssl" ,openssl)
        ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (home-page "https://github.com/ropensci/git2r")
     (synopsis "Access Git repositories with R")
     (description
@@ -2514,13 +2518,13 @@ well as additional utilities such as panel and axis annotation functions.")
 (define-public r-rcpparmadillo
   (package
     (name "r-rcpparmadillo")
-    (version "0.8.500.0")
+    (version "0.9.100.5.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppArmadillo" version))
               (sha256
                (base32
-                "1sh36dx6inmb56m40nigy94gxlgjva816qnlmjwg7y2bdvqj8vsi"))))
+                "1iyjqhfjip1nxrkllzh7r1m01jjnx7cahqkf3s557w34p987f2l1"))))
     (properties `((upstream-name . "RcppArmadillo")))
     (build-system r-build-system)
     (native-inputs
@@ -2629,11 +2633,7 @@ certain criterion, e.g., it contains a certain regular file.")
        ("r-stringr" ,r-stringr)
        ("r-tinytex" ,r-tinytex)
        ("r-yaml" ,r-yaml)
-       ;; rmarkdown works with the 2.x release of Pandoc, but with degraded
-       ;; functionality.  For example, tabbed plots do not currently work with
-       ;; Pandoc 2.  The authors of rmarkdown recommend the use of Pandoc 1
-       ;; for the time being.
-       ("ghc-pandoc" ,ghc-pandoc-1)))
+       ("ghc-pandoc" ,ghc-pandoc)))
     (home-page "http://rmarkdown.rstudio.com")
     (synopsis "Convert R Markdown documents into a variety of formats")
     (description
@@ -2799,13 +2799,13 @@ ldap, and also supports cookies, redirects, authentication, etc.")
 (define-public r-xml
   (package
     (name "r-xml")
-    (version "3.98-1.11")
+    (version "3.98-1.16")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "XML" version))
               (sha256
                (base32
-                "18izvlg2x9mzr6yb3yf02ghwbyn00frki3av4lpc44r22m4djnsh"))))
+                "0nl1kk354r8snhj6p9mc74m7awvqc6akmd4y3a46y78yv3g15njp"))))
     (properties
      `((upstream-name . "XML")))
     (build-system r-build-system)
@@ -3281,14 +3281,14 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.")
 (define-public r-e1071
   (package
     (name "r-e1071")
-    (version "1.6-8")
+    (version "1.7-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "e1071" version))
        (sha256
         (base32
-         "08n6i26nfckjpxjkzi8phhanc3ahsrirkv5rz38y2jcv7ds031pn"))))
+         "0fk4pw67cw1663d0n9rf1qfdqzz8k5nqkjgp3hi5jr422qp9lsck"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-class" ,r-class)))
@@ -3459,13 +3459,13 @@ maintenance for package developers.")
 (define-public r-r-utils
   (package
     (name "r-r-utils")
-    (version "2.6.0")
+    (version "2.7.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R.utils" version))
               (sha256
                (base32
-                "03j7hrs03kyj9qrjxyp5kqv4lpqqpk6xwbkzx6j15d8928yrjr2x"))))
+                "0cxhn14a57x4gcyrwpfz1d6dw4xh0jcpqkb33hx8imnr340blh7n"))))
     (properties `((upstream-name . "R.utils")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3507,13 +3507,13 @@ persistent (on the file system).")
 (define-public r-r-rsp
   (package
     (name "r-r-rsp")
-    (version "0.42.0")
+    (version "0.43.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R.rsp" version))
               (sha256
                (base32
-                "1zcq0hzi0j7fvj2rs796a1i120wbr0387vck17rrd644awwbsbm0"))))
+                "0ax6781kfylx0acz0i3sqnpkxmrq73x29wwfic59ng7vj0ws0gyd"))))
     (properties `((upstream-name . "R.rsp")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3558,13 +3558,13 @@ t-probabilities, quantiles, random deviates and densities.")
 (define-public r-matrixstats
   (package
     (name "r-matrixstats")
-    (version "0.53.1")
+    (version "0.54.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "matrixStats" version))
               (sha256
                (base32
-                "0bkiz5fm09d3512mfr2ymj9qsb1b8aic5l5m6fkaf5j7nsgvqw6z"))))
+                "0vx00ldsg2zvdrjn49jxczk2c9iaabgvzgpdka5j02ihh7hv83cg"))))
     (properties `((upstream-name . "matrixStats")))
     (build-system r-build-system)
     (native-inputs
@@ -3739,13 +3739,13 @@ features present in other programming languages.")
 (define-public r-plotly
   (package
     (name "r-plotly")
-    (version "4.7.1")
+    (version "4.8.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "plotly" version))
               (sha256
                (base32
-                "0wj9lw7w28z8w9ip9vadv6sydjhqyg65kfiai9m3bndzz50b1m3w"))))
+                "19p8pa03q9mw5vaan7r56xgd13d90ssiz0flbrkvpfrir2105ybq"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-base64enc" ,r-base64enc)
@@ -3761,8 +3761,10 @@ features present in other programming languages.")
        ("r-jsonlite" ,r-jsonlite)
        ("r-lazyeval" ,r-lazyeval)
        ("r-magrittr" ,r-magrittr)
+       ("r-promises" ,r-promises)
        ("r-purrr" ,r-purrr)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
+       ("r-rlang" ,r-rlang)
        ("r-scales" ,r-scales)
        ("r-tibble" ,r-tibble)
        ("r-tidyr" ,r-tidyr)
@@ -3844,14 +3846,14 @@ character vector.")
 (define-public r-googlesheets
   (package
     (name "r-googlesheets")
-    (version "0.2.2")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "googlesheets" version))
        (sha256
         (base32
-         "18q0xmxn09b52rmky7gr5flp0awndcnsgb7zcvkzvkrkvmwad52b"))))
+         "11q07nxys72wkxx9mawmjyf20gvwvrb7h3gpa73h6lgh2vgrwnv8"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cellranger" ,r-cellranger)
@@ -3861,6 +3863,7 @@ character vector.")
        ("r-purrr" ,r-purrr)
        ("r-readr" ,r-readr)
        ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)
        ("r-tidyr" ,r-tidyr)
        ("r-xml2" ,r-xml2)))
     (home-page "https://github.com/jennybc/googlesheets")
@@ -4088,14 +4091,14 @@ Zurich, including many that are related to graphics.")
 (define-public r-gtools
   (package
     (name "r-gtools")
-    (version "3.5.0")
+    (version "3.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gtools" version))
        (sha256
         (base32
-         "1xknwk9xlsj027pg0nwiizigcrsc84hdrig0jn0cgcyxj8dabdl6"))))
+         "0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -4228,13 +4231,13 @@ mechanism.")
 (define-public r-zoo
   (package
     (name "r-zoo")
-    (version "1.8-2")
+    (version "1.8-3")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "zoo" version))
               (sha256
                (base32
-                "1lpwigxmi5sc23xrha4gcsccsm4yfsg0sa97y6vac3pg1lliblvx"))))
+                "15jmkgwvq2mm9f09vijgx7sff8pszh90fndcwhk2vw9i0p183di0"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-lattice" ,r-lattice)))
@@ -4248,14 +4251,22 @@ series of numeric vectors/matrices and factors.")
 (define-public r-ztable
   (package
     (name "r-ztable")
-    (version "0.1.8")
+    (version "0.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ztable" version))
               (sha256
                (base32
-                "1hk5k9614n52dpfrhdws06w4gvwhnz8q47x4cwxx88qmrzm8z2m3"))))
+                "0g7khk5ifsdh9p31wlwh2l5mn1hzxzpv6qcn1wh34vsfjdmijjwy"))))
     (build-system r-build-system)
+    (propagated-inputs
+     `(("r-flextable" ,r-flextable)
+       ("r-magrittr" ,r-magrittr)
+       ("r-moonbook" ,r-moonbook)
+       ("r-officer" ,r-officer)
+       ("r-rcolorbrewer" ,r-rcolorbrewer)
+       ("r-scales" ,r-scales)
+       ("r-stringr" ,r-stringr)))
     (home-page "https://cran.r-project.org/web/packages/ztable")
     (synopsis "Zebra-striped tables in LaTeX and HTML formats for R")
     (description
@@ -4350,19 +4361,20 @@ data at that region, and avoids over-plotting.")
 (define-public r-ggthemes
   (package
     (name "r-ggthemes")
-    (version "3.5.0")
+    (version "4.0.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "ggthemes" version))
               (sha256
                (base32
-                "0drbzzb4i5jq1579fx1wmgh87ybnswjn7srak2l8g771ip49xwb8"))))
+                "0y6570wv135sf7pv57l7bqilzw47rziaqx4vsk45pf1w4lmj0w8b"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-assertthat" ,r-assertthat)
-       ("r-colorspace" ,r-colorspace)
-       ("r-ggplot2" ,r-ggplot2)
-       ("r-scales" ,r-scales)))
+     `(("r-ggplot2" ,r-ggplot2)
+       ("r-purrr" ,r-purrr)
+       ("r-scales" ,r-scales)
+       ("r-stringr" ,r-stringr)
+       ("r-tibble" ,r-tibble)))
     (home-page "https://cran.rstudio.com/web/packages/ggthemes")
     (synopsis "Extra themes, scales and geoms for @code{ggplot2}")
     (description "This package provides extra themes and scales for
@@ -4401,13 +4413,13 @@ dispersion modeling and Tweedie power-law families.")
 (define-public r-rann
   (package
     (name "r-rann")
-    (version "2.5.1")
+    (version "2.6")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RANN" version))
               (sha256
                (base32
-                "0il5i99vbcagnxvb15af5n37g04a4q1x96bz73zh3jhki9fpw9vm"))))
+                "1r6rivh9ba4gwnzryip0aiwsbm46zma7nvd9z5y456p2dgzp9lii"))))
     (properties
      `((upstream-name . "RANN")))
     (build-system r-build-system)
@@ -4723,14 +4735,14 @@ can be efficiently implemented directly in the R language.")
 (define-public r-robustbase
   (package
     (name "r-robustbase")
-    (version "0.93-0")
+    (version "0.93-2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "robustbase" version))
        (sha256
         (base32
-         "130pzibn5cb8mycv8byc6npzcpddghz8m7jqwk15qmx4g3cj8zgy"))))
+         "1632p73iv9iqqm0v3k9rfv9way0him3fl35si1nly9wi5kpq5ci7"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -4999,18 +5011,19 @@ decompositions of such matrices, and solutions of linear systems.")
 (define-public r-modelmetrics
   (package
     (name "r-modelmetrics")
-    (version "1.1.0")
+    (version "1.2.0")
     (source
      (origin
        (method url-fetch)
         (uri (cran-uri "ModelMetrics" version))
         (sha256
          (base32
-          "119xxmzb5biq7k1yxqsf0jmmarmfn6lds9x9hfgv593xlpym6za8"))))
+          "1sgdyrf6fbsn18gk8slir4a1yhv133kfhyg2crfs759nff4aw89h"))))
     (properties `((upstream-name . "ModelMetrics")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-rcpp" ,r-rcpp)))
+     `(("r-rcpp" ,r-rcpp)
+       ("r-data-table" ,r-data-table)))
     (home-page "https://cran.r-project.org/web/packages/ModelMetrics")
     (synopsis "Rapid calculation of model metrics")
     (description
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 45252c933d..2c2767dbbc 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -86,14 +86,14 @@ older or slower computers and embedded systems.")
 (define-public links
   (package
     (name "links")
-    (version "2.16")
+    (version "2.17")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://links.twibright.com/download/"
                                   name "-" version ".tar.bz2"))
                 (sha256
                (base32
-                "0gsa2gpb1grhssl5jzpc5pa0zi21mxi8g25rh5bacl70slw31w42"))))
+                "0dh2gbzcw8kxy81z4ggsynibnqs56b83vy8qgz7illsag1irff6q"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 001644c195..53d886cf0d 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3823,15 +3823,17 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
 (define-public r-httpuv
   (package
     (name "r-httpuv")
-    (version "1.4.4.1")
+    (version "1.4.5")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "httpuv" version))
               (sha256
                (base32
-                "12kwq10xa8glrip7rai9xb4hnpysng00g2l0rw7swfzq5lk4z966"))))
+                "1ddpcarzf694h0gy5pdz7l5glqfv4hr9dmxb4vw7yqd0bga174gi"))))
     (build-system r-build-system)
-    (native-inputs `(("r-rcpp" ,r-rcpp)))
+    (native-inputs
+     `(("r-rcpp" ,r-rcpp)
+       ("pkg-config" ,pkg-config)))
     (propagated-inputs
      `(("r-bh" ,r-bh)
        ("r-later" ,r-later)
@@ -6706,10 +6708,11 @@ compressed JSON header blocks.
     (license l:expat)))
 
 (define-public hpcguix-web
-  (let ((commit "87cb51611c0f1fd3863b830614ab1364599cf1ca"))
+  (let ((commit "9ff40fcc77f248901d861756dbbddc80270c380c")
+        (revision "2"))
     (package
       (name "hpcguix-web")
-      (version (git-version "0.0.1" "1" commit))
+      (version (git-version "0.0.1" revision commit))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -6718,7 +6721,7 @@ compressed JSON header blocks.
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0p66fl8r3v73v13fqg9rbqbzbdzvyznchxbq2s1jwq6qfsn2w3gr"))))
+                  "0lxcj9s3wxrv1l7lrxxx374jwzx7h60gxwkbgr46lzcbgvb3k26s"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -6739,10 +6742,13 @@ compressed JSON header blocks.
                (let* ((out      (assoc-ref outputs "out"))
                       (guix     (assoc-ref inputs "guix"))
                       (guile    (assoc-ref inputs "guile"))
+                      (gcrypt   (assoc-ref inputs "guile-gcrypt"))
+                      (git      (assoc-ref inputs "guile-git"))
+                      (bs       (assoc-ref inputs "guile-bytestructures"))
                       (json     (assoc-ref inputs "guile-json"))
                       (guile-cm (assoc-ref inputs
                                            "guile-commonmark"))
-                      (deps (list guile guile-cm guix json))
+                      (deps (list guile gcrypt git bs guile-cm guix json))
                       (effective
                        (read-line
                         (open-pipe* OPEN_READ
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 6b99a3a8a8..aa24811695 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -6170,3 +6171,44 @@ and embedded platforms.")
 cursor to any point on the screen with a few key strokes.  It also simulates
 mouse click.  You can do everything mouse can do with a keyboard.")
     (license license:bsd-3)))
+
+(define-public transset-df
+  (package
+    (name "transset-df")
+    (version "6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://forchheimer.se/" name "/" name "-" version
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "1vnykwwrv75miigbhmcwxniw8xnhsdyzhqydip2m9crxi2lwhqs5"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'setenv
+           (lambda _
+             (setenv "CC" (which "gcc"))
+             #t))
+         (delete 'configure)
+         (delete 'check)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin")))
+               (install-file "transset-df" bin)
+               #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs `(("libxcomposite" ,libxcomposite)
+              ("libxdamager" ,libxdamage)
+              ("libxrender" ,libxrender)))
+    (synopsis "Set the transparency of X11 windows")
+    (description "The @command{transset-df} command allows you to set the
+opacity of X11 windows.  This patched version of X.Org's @command{transset}
+adds functionality, including: selecting window by clicking (as transset),
+selecting windows by pointing select actual focused X11 window, selecting by
+window name or id, forcing toggle, increase or decrease opacity.")
+    (home-page "http://forchheimer.se/transset-df/")
+    (license license:x11)))
diff --git a/gnu/services.scm b/gnu/services.scm
index 49cf01a4f8..f151bbaa9d 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -732,13 +732,23 @@ instantiated; other missing services lead to a
            instances
            (service-type-extensions (service-kind svc))))
 
-  (let ((instances (fold (lambda (service result)
-                           (vhash-consq (service-kind service) service
-                                        result))
-                         vlist-null services)))
-    (fold2 adjust-service-list
-           services instances
-           services)))
+  (let loop ((services services))
+    (define instances
+      (fold (lambda (service result)
+              (vhash-consq (service-kind service) service
+                           result))
+            vlist-null services))
+
+    (define adjusted
+      (fold2 adjust-service-list
+             services instances
+             services))
+
+    ;; If we instantiated services, they might in turn depend on missing
+    ;; services.  Loop until we've reached fixed point.
+    (if (= (length adjusted) (vlist-length instances))
+        adjusted
+        (loop adjusted))))
 
 (define* (fold-services services
                         #:key (target-type system-service-type))
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 467656444e..df82a6de61 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -608,16 +608,14 @@ of index files."
                                (default-nginx-config config))
                          #$@args)
                  (match '#$args
-                   (("-s" . _) #t)
+                   (("-s" . _) #f)
                    (_
-                    (let loop ((duration 0))
-                      ;; https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864/comments/7
-                      (sleep duration)
-                      (if (file-exists? #$pid-file)
-                          (let ((pid (call-with-input-file #$pid-file read)))
-                            ;; it could be #<eof>
-                            (if (integer? pid) pid (loop 1)))
-                          (loop 1)))))))))
+                    ;; When FILE is true, we cannot be sure that PID-FILE will
+                    ;; be created, so assume it won't show up.  When FILE is
+                    ;; false, read PID-FILE.
+                    #$(if file
+                          #~#t
+                          #~(read-pid-file #$pid-file))))))))
 
      ;; TODO: Add 'reload' action.
      (list (shepherd-service
@@ -967,7 +965,8 @@ a webserver.")
                  #:user "hpcguix-web"
                  #:group "hpcguix-web"
                  #:environment-variables
-                 (list "XDG_CACHE_HOME=/var/cache")))
+                 (list "XDG_CACHE_HOME=/var/cache"
+                       "SSL_CERT_DIR=/etc/ssl/certs")))
        (stop #~(make-kill-destructor))))))
 
 (define hpcguix-web-service-type
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index b505b0cf6b..91e117b9f3 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -32,7 +32,7 @@
   #:use-module (guix modules)
   #:use-module (guix scripts pack)
   #:use-module (guix utils)
-  #:use-module (guix hash)
+  #:use-module (gcrypt hash)
   #:use-module (guix base32)
   #:use-module ((guix self) #:select (make-config.scm))
 
@@ -43,7 +43,7 @@
   #:use-module (gnu packages cdrom)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages guile)
-  #:autoload   (gnu packages gnupg) (libgcrypt)
+  #:autoload   (gnu packages gnupg) (guile-gcrypt)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages less)
@@ -124,10 +124,12 @@
     (('gnu rest ...) #t)
     (rest #f)))
 
-(define guile-sqlite3&co
-  ;; Guile-SQLite3 and its propagated inputs.
-  (cons guile-sqlite3
-        (package-transitive-propagated-inputs guile-sqlite3)))
+(define gcrypt-sqlite3&co
+  ;; Guile-Gcrypt, Guile-SQLite3, and their propagated inputs.
+  (append-map (lambda (package)
+                (cons package
+                      (package-transitive-propagated-inputs package)))
+              (list guile-gcrypt guile-sqlite3)))
 
 (define* (expression->derivation-in-linux-vm name exp
                                              #:key
@@ -164,10 +166,6 @@ based on the size of the closure of REFERENCES-GRAPHS.
 When REFERENCES-GRAPHS is true, it must be a list of file name/store path
 pairs, as for `derivation'.  The files containing the reference graphs are
 made available under the /xchg CIFS share."
-  (define config
-    ;; (guix config) module for consumption by (guix gcrypt).
-    (make-config.scm #:libgcrypt libgcrypt))
-
   (define user-builder
     (program-file "builder-in-linux-vm" exp))
 
@@ -195,12 +193,14 @@ made available under the /xchg CIFS share."
 
     (define builder
       ;; Code that launches the VM that evaluates EXP.
-      (with-extensions guile-sqlite3&co
+      (with-extensions gcrypt-sqlite3&co
         (with-imported-modules `(,@(source-module-closure
                                     '((guix build utils)
                                       (gnu build vm))
                                     #:select? not-config?)
-                                 ((guix config) => ,config))
+
+                                 ;; For consumption by (gnu store database).
+                                 ((guix config) => ,(make-config.scm)))
           #~(begin
               (use-modules (guix build utils)
                            (gnu build vm))
@@ -255,9 +255,6 @@ made available under the /xchg CIFS share."
   "Return a bootable, stand-alone iso9660 image.
 
 INPUTS is a list of inputs (as for packages)."
-  (define config
-    (make-config.scm #:libgcrypt libgcrypt))
-
   (define schema
     (and register-closures?
          (local-file (search-path %load-path
@@ -265,12 +262,12 @@ INPUTS is a list of inputs (as for packages)."
 
   (expression->derivation-in-linux-vm
    name
-   (with-extensions guile-sqlite3&co
+   (with-extensions gcrypt-sqlite3&co
      (with-imported-modules `(,@(source-module-closure '((gnu build vm)
                                                          (guix store database)
                                                          (guix build utils))
                                                        #:select? not-config?)
-                              ((guix config) => ,config))
+                              ((guix config) => ,(make-config.scm)))
        #~(begin
            (use-modules (gnu build vm)
                         (guix store database)
@@ -347,9 +344,6 @@ INPUTS is a list of inputs (as for packages).  When COPY-INPUTS? is true, copy
 all of INPUTS into the image being built.  When REGISTER-CLOSURES? is true,
 register INPUTS in the store database of the image so that Guix can be used in
 the image."
-  (define config
-    (make-config.scm #:libgcrypt libgcrypt))
-
   (define schema
     (and register-closures?
          (local-file (search-path %load-path
@@ -357,13 +351,13 @@ the image."
 
   (expression->derivation-in-linux-vm
    name
-   (with-extensions guile-sqlite3&co
+   (with-extensions gcrypt-sqlite3&co
      (with-imported-modules `(,@(source-module-closure '((gnu build vm)
                                                          (gnu build bootloader)
                                                          (guix store database)
                                                          (guix build utils))
                                                        #:select? not-config?)
-                              ((guix config) => ,config))
+                              ((guix config) => ,(make-config.scm)))
        #~(begin
            (use-modules (gnu build bootloader)
                         (gnu build vm)
@@ -462,10 +456,6 @@ makes sense when you want to build a GuixSD Docker image that has Guix
 installed inside of it.  If you don't need Guix (e.g., your GuixSD Docker
 image just contains a web server that is started by the Shepherd), then you
 should set REGISTER-CLOSURES? to #f."
-  (define config
-    ;; (guix config) module for consumption by (guix gcrypt).
-    (make-config.scm #:libgcrypt libgcrypt))
-
   (define schema
     (and register-closures?
          (local-file (search-path %load-path
@@ -475,8 +465,8 @@ should set REGISTER-CLOSURES? to #f."
                       (name -> (string-append name ".tar.gz"))
                       (graph -> "system-graph"))
     (define build
-      (with-extensions (cons guile-json          ;for (guix docker)
-                             guile-sqlite3&co)   ;for (guix store database)
+      (with-extensions (cons guile-json           ;for (guix docker)
+                             gcrypt-sqlite3&co)   ;for (guix store database)
         (with-imported-modules `(,@(source-module-closure
                                     '((guix docker)
                                       (guix store database)
@@ -484,7 +474,7 @@ should set REGISTER-CLOSURES? to #f."
                                       (guix build store-copy)
                                       (gnu build vm))
                                     #:select? not-config?)
-                                 ((guix config) => ,config))
+                                 ((guix config) => ,(make-config.scm)))
           #~(begin
               (use-modules (guix docker)
                            (guix build utils)
@@ -539,17 +529,42 @@ should set REGISTER-CLOSURES? to #f."
 (define* (operating-system-uuid os #:optional (type 'dce))
   "Compute UUID object with a deterministic \"UUID\" for OS, of the given
 TYPE (one of 'iso9660 or 'dce).  Return a UUID object."
+  ;; Note: For this to be deterministic, we must not hash things that contains
+  ;; (directly or indirectly) procedures, for example.  That rules out
+  ;; anything that contains gexps, thunk or delayed record fields, etc.
+
+  (define service-name
+    (compose service-type-name service-kind))
+
+  (define (file-system-digest fs)
+    ;; Return a hashable digest that does not contain 'dependencies' since
+    ;; this field can contain procedures.
+    (let ((device (file-system-device fs)))
+      (list (file-system-mount-point fs)
+            (file-system-type fs)
+            (cond ((file-system-label? device)
+                   (file-system-label->string device))
+                  ((uuid? device)
+                   (uuid->string device))
+                  ((string? device)
+                   device)
+                  (else #f))
+            (file-system-options fs))))
+
   (if (eq? type 'iso9660)
       (let ((pad (compose (cut string-pad <> 2 #\0)
                           number->string))
-            (h   (hash (operating-system-services os) 3600)))
+            (h   (hash (map service-name (operating-system-services os))
+                       3600)))
         (bytevector->uuid
          (string->iso9660-uuid
           (string-append "1970-01-01-"
                          (pad (hash (operating-system-host-name os) 24)) "-"
                          (pad (quotient h 60)) "-"
                          (pad (modulo h 60)) "-"
-                         (pad (hash (operating-system-file-systems os) 100))))
+                         (pad (hash (map file-system-digest
+                                         (operating-system-file-systems os))
+                                    100))))
          'iso9660))
       (bytevector->uuid
        (uint-list->bytevector
@@ -557,9 +572,9 @@ TYPE (one of 'iso9660 or 'dce).  Return a UUID object."
                     (- (expt 2 32) 1))
               (hash (operating-system-host-name os)
                     (- (expt 2 32) 1))
-              (hash (operating-system-services os)
+              (hash (map service-name (operating-system-services os))
                     (- (expt 2 32) 1))
-              (hash (operating-system-file-systems os)
+              (hash (map file-system-digest (operating-system-file-systems os))
                     (- (expt 2 32) 1)))
         (endianness little)
         4)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index f27064af85..f97581de33 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -42,6 +42,7 @@
   #:use-module (guix monads)
   #:use-module (guix packages)
   #:use-module (srfi srfi-1)
+  #:use-module (ice-9 match)
   #:export (run-basic-test
             %test-basic-os
             %test-halt
@@ -68,6 +69,11 @@ initialization step, such as entering a LUKS passphrase."
      (fold-services (operating-system-services os)
                     #:target-type special-files-service-type)))
 
+  (define guix&co
+    (match (package-transitive-propagated-inputs guix)
+      (((labels packages) ...)
+       (cons guix packages))))
+
   (define test
     (with-imported-modules '((gnu build marionette)
                              (guix build syscalls))
@@ -345,8 +351,14 @@ info --version")
             'success!
             (marionette-eval '(begin
                                 ;; Make sure the (guix …) modules are found.
-                                (add-to-load-path
-                                 #+(file-append guix "/share/guile/site/2.2"))
+                                (eval-when (expand load eval)
+                                  (set! %load-path
+                                    (append (map (lambda (package)
+                                                   (string-append package
+                                                                  "/share/guile/site/"
+                                                                  (effective-version)))
+                                                 '#$guix&co)
+                                            %load-path)))
 
                                 (use-modules (srfi srfi-34) (guix store))