summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/svg.scm71
-rw-r--r--gnu/local.mk12
-rw-r--r--gnu/packages/bioinformatics.scm222
-rw-r--r--gnu/packages/elf.scm4
-rw-r--r--gnu/packages/emacs.scm4
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/games.scm70
-rw-r--r--gnu/packages/gnome.scm2
-rw-r--r--gnu/packages/gnustep.scm4
-rw-r--r--gnu/packages/gstreamer.scm3
-rw-r--r--gnu/packages/gtk.scm4
-rw-r--r--gnu/packages/guile.scm81
-rw-r--r--gnu/packages/irc.scm6
-rw-r--r--gnu/packages/linux.scm9
-rw-r--r--gnu/packages/lolcode.scm58
-rw-r--r--gnu/packages/mail.scm36
-rw-r--r--gnu/packages/maths.scm86
-rw-r--r--gnu/packages/messaging.scm45
-rw-r--r--gnu/packages/musl.scm1
-rw-r--r--gnu/packages/networking.scm39
-rw-r--r--gnu/packages/patches/coda-use-system-libs.patch46
-rw-r--r--gnu/packages/patches/hdf-eos2-build-shared.patch25
-rw-r--r--gnu/packages/patches/hdf-eos2-fortrantests.patch329
-rw-r--r--gnu/packages/patches/hdf-eos2-remove-gctp.patch55
-rw-r--r--gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch99
-rw-r--r--gnu/packages/patches/mupdf-CVE-2016-8674.patch165
-rw-r--r--gnu/packages/patches/musl-CVE-2016-8859.patch81
-rw-r--r--gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch46
-rw-r--r--gnu/packages/pdf.scm3
-rw-r--r--gnu/packages/psyc.scm82
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/security-token.scm (renamed from gnu/packages/yubico.scm)8
-rw-r--r--gnu/packages/ssh.scm26
-rw-r--r--gnu/packages/statistics.scm94
-rw-r--r--gnu/packages/video.scm34
-rw-r--r--gnu/packages/web.scm8
-rw-r--r--gnu/services/web.scm92
-rw-r--r--gnu/system/grub.scm41
38 files changed, 1583 insertions, 416 deletions
diff --git a/gnu/build/svg.scm b/gnu/build/svg.scm
new file mode 100644
index 0000000000..f7e92a1a19
--- /dev/null
+++ b/gnu/build/svg.scm
@@ -0,0 +1,71 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu build svg)
+  #:use-module (srfi srfi-11)
+  #:export (svg->png))
+
+;; We need Guile-RSVG and Guile-Cairo.  Load them lazily, at run time, to
+;; allow compilation to proceed.  See also <http://bugs.gnu.org/12202>.
+(module-autoload! (current-module)
+                  '(rsvg) '(rsvg-handle-new-from-file))
+(module-autoload! (current-module)
+                  '(cairo) '(cairo-image-surface-create))
+
+(define* (downscaled-surface surface
+                             #:key
+                             source-width source-height
+                             width height)
+  "Return a new rendering context where SURFACE is scaled to WIDTH x HEIGHT."
+  (let ((cr (cairo-create (cairo-image-surface-create 'argb32
+                                                      width height))))
+    (cairo-scale cr (/ width source-width) (/ height source-height))
+    (cairo-set-source-surface cr surface 0 0)
+    (cairo-pattern-set-filter (cairo-get-source cr) 'best)
+    (cairo-rectangle cr 0 0 source-width source-height)
+    (cairo-fill cr)
+    cr))
+
+(define* (svg->png in-svg out-png
+                   #:key width height)
+  "Render the file at IN-SVG as a PNG file in OUT-PNG.  When WIDTH and HEIGHT
+are provided, use them as the dimensions of OUT-PNG; otherwise preserve the
+dimensions of IN-SVG."
+  (define svg
+    (rsvg-handle-new-from-file in-svg))
+
+  (let-values (((origin-width origin-height)
+                (rsvg-handle-get-dimensions svg)))
+    (let* ((surf (cairo-image-surface-create 'argb32
+                                             origin-width origin-height))
+           (cr   (cairo-create surf)))
+      (rsvg-handle-render-cairo svg cr)
+      (cairo-surface-flush surf)
+      (let ((cr (if (and width height
+                         (not (= width origin-width))
+                         (not (= height origin-height)))
+                    (downscaled-surface surf
+                                        #:source-width origin-width
+                                        #:source-height origin-height
+                                        #:width width
+                                        #:height height)
+                    cr)))
+        (cairo-surface-write-to-png (cairo-get-target cr) out-png)))))
+
+;;; svg.scm ends here
diff --git a/gnu/local.mk b/gnu/local.mk
index 446c5e1172..083067c879 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -229,6 +229,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/llvm.scm				\
   %D%/packages/lout.scm				\
   %D%/packages/logging.scm			\
+  %D%/packages/lolcode.scm                      \
   %D%/packages/lsof.scm				\
   %D%/packages/lua.scm				\
   %D%/packages/lxde.scm				\
@@ -327,6 +328,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/sdcc.scm				\
   %D%/packages/sdl.scm				\
   %D%/packages/search.scm			\
+  %D%/packages/security-token.scm		\
   %D%/packages/serialization.scm		\
   %D%/packages/serveez.scm			\
   %D%/packages/shells.scm			\
@@ -386,7 +388,6 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/xdisorg.scm			\
   %D%/packages/xorg.scm				\
   %D%/packages/xfce.scm				\
-  %D%/packages/yubico.scm			\
   %D%/packages/zile.scm				\
   %D%/packages/zip.scm				\
 						\
@@ -433,6 +434,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/build/linux-initrd.scm			\
   %D%/build/linux-modules.scm			\
   %D%/build/marionette.scm			\
+  %D%/build/svg.scm				\
   %D%/build/vm.scm				\
 						\
   %D%/tests.scm					\
@@ -486,6 +488,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/clucene-pkgconfig.patch			\
   %D%/packages/patches/clx-remove-demo.patch			\
   %D%/packages/patches/cmake-fix-tests.patch			\
+  %D%/packages/patches/coda-use-system-libs.patch		\
   %D%/packages/patches/cpio-CVE-2016-2037.patch			\
   %D%/packages/patches/cpufrequtils-fix-aclocal.patch		\
   %D%/packages/patches/cracklib-CVE-2016-6318.patch		\
@@ -589,6 +592,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/hdf4-reproducibility.patch 		\
   %D%/packages/patches/hdf4-shared-fortran.patch 		\
   %D%/packages/patches/hdf5-config-date.patch			\
+  %D%/packages/patches/hdf-eos2-build-shared.patch 		\
+  %D%/packages/patches/hdf-eos2-remove-gctp.patch		\
+  %D%/packages/patches/hdf-eos2-fortrantests.patch		\
   %D%/packages/patches/hdf-eos5-build-shared.patch 		\
   %D%/packages/patches/hdf-eos5-remove-gctp.patch		\
   %D%/packages/patches/hdf-eos5-fix-szip.patch			\
@@ -671,7 +677,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/libwmf-CVE-2015-4696.patch		\
   %D%/packages/patches/libxslt-generated-ids.patch		\
   %D%/packages/patches/linux-pam-no-setfsuid.patch		\
-  %D%/packages/patches/linux-libre-4.1-CVE-2016-5195.patch	\
   %D%/packages/patches/lirc-localstatedir.patch			\
   %D%/packages/patches/llvm-for-extempore.patch			\
   %D%/packages/patches/lm-sensors-hwmon-attrs.patch		\
@@ -703,7 +708,9 @@ dist_patch_DATA =						\
   %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch	\
   %D%/packages/patches/mupdf-CVE-2016-6265.patch		\
   %D%/packages/patches/mupdf-CVE-2016-6525.patch		\
+  %D%/packages/patches/mupdf-CVE-2016-8674.patch		\
   %D%/packages/patches/mupen64plus-ui-console-notice.patch	\
+  %D%/packages/patches/musl-CVE-2016-8859.patch			\
   %D%/packages/patches/mutt-store-references.patch		\
   %D%/packages/patches/nasm-no-ps-pdf.patch			\
   %D%/packages/patches/net-tools-bitrot.patch			\
@@ -714,7 +721,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/ninja-tests.patch			\
   %D%/packages/patches/ninja-zero-mtime.patch			\
   %D%/packages/patches/node-9077.patch				\
-  %D%/packages/patches/notmuch-emacs-25-compatibility-fix.patch	\
   %D%/packages/patches/nss-pkgconfig.patch			\
   %D%/packages/patches/nvi-assume-preserve-path.patch		\
   %D%/packages/patches/nvi-dbpagesize-binpower.patch		\
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d0b8056179..fa35531868 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -602,15 +602,19 @@ e.g. microbiome samples, genomes, metagenomes.")
                  (map (compose package-transitive-target-inputs cadr) inputs))))))
     (package
       (name "bioperl-minimal")
-      (version "1.6.924")
+      (version "1.7.0")
       (source
        (origin
          (method url-fetch)
-         (uri (string-append "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-"
-                             version ".tar.gz"))
+         (uri (string-append "https://github.com/bioperl/bioperl-live/"
+                             "archive/release-"
+                             (string-map (lambda (c)
+                                           (if (char=? c #\.)
+                                               #\- c)) version)
+                             ".tar.gz"))
          (sha256
           (base32
-           "1l3npcvvvwjlhkna9dndpfv1hklhrgva013kw96m0n1wpd37ask1"))))
+           "12phgpxwgkqflkwfb9dcqg7a31dpjlfhar8wcgv0aj5ln4akfz06"))))
       (build-system perl-build-system)
       (arguments
        `(#:phases
@@ -5190,14 +5194,14 @@ data types as well.")
 (define-public r-annotate
   (package
     (name "r-annotate")
-    (version "1.50.0")
+    (version "1.52.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "annotate" version))
        (sha256
         (base32
-         "00wnhbjp5i6a5vyvlq4f5hs8qngjxz7fm869kla1spmd0dp2ynsy"))))
+         "1fd2csq7dcs2gwndgwdx2nwkymz8gsmlnqqzv3p0vjjsvvq5n2a8"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -5216,14 +5220,14 @@ microarrays.")
 (define-public r-geneplotter
   (package
     (name "r-geneplotter")
-    (version "1.50.0")
+    (version "1.52.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "geneplotter" version))
        (sha256
         (base32
-         "0lvrywl0251g4y0h0qlgkbg4l83ja5544c85z1wj30qxiy77iqc2"))))
+         "1p6yvxi243irhjxwm97hp73abhwampj0myyf8z00ij166674pc7h"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotate" ,r-annotate)
@@ -5241,14 +5245,14 @@ microarrays.")
 (define-public r-genefilter
   (package
     (name "r-genefilter")
-    (version "1.54.2")
+    (version "1.56.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "genefilter" version))
        (sha256
         (base32
-         "1hmz6as0njvrsrdbgmk72jyclnnqvfdvp6kqv456h43ldq2ajfv5"))))
+         "1vzgciqd09csqcw9qync8blsv51ylrd86a65iadgyy6j26g01fwd"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -5267,14 +5271,14 @@ high-throughput sequencing experiments.")
 (define-public r-deseq2
   (package
     (name "r-deseq2")
-    (version "1.12.4")
+    (version "1.14.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "DESeq2" version))
        (sha256
         (base32
-         "12h77f0dpi5xaj7aqf50kkyn6lq9j7bcsly1r0ffmyfcszrp1sfx"))))
+         "0kq06jy4xg5ii3a9l62f17kirsfx0gsiwq6mhiy985cqzpdn893g"))))
     (properties `((upstream-name . "DESeq2")))
     (build-system r-build-system)
     (arguments
@@ -5312,14 +5316,14 @@ distribution.")
 (define-public r-annotationforge
   (package
     (name "r-annotationforge")
-    (version "1.14.2")
+    (version "1.16.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationForge" version))
        (sha256
         (base32
-         "1vkdd1qdv5g680ipw4vwjvn52xn66xpg6ngmwyknz77ckxnnpf4q"))))
+         "02msyb9p3hywrryx00zpjkjl126mrv827i1ah1092s0cplm6xxvf"))))
     (properties
      `((upstream-name . "AnnotationForge")))
     (build-system r-build-system)
@@ -5328,6 +5332,7 @@ distribution.")
        ("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-dbi" ,r-dbi)
+       ("r-rcurl" ,r-rcurl)
        ("r-rsqlite" ,r-rsqlite)
        ("r-s4vectors" ,r-s4vectors)
        ("r-xml" ,r-xml)))
@@ -5341,14 +5346,14 @@ databases.  Packages produced are intended to be used with AnnotationDbi.")
 (define-public r-rbgl
   (package
     (name "r-rbgl")
-    (version "1.48.1")
+    (version "1.50.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "RBGL" version))
        (sha256
         (base32
-         "1k82zcbyfx3p9hc8r0hwq73krbhakjan8fgbfr6w8z2crfkv3zmz"))))
+         "1q14m8w6ih56v680kf3d9wh1qbgp7af33kz3cxafdf1vvzx9km08"))))
     (properties `((upstream-name . "RBGL")))
     (build-system r-build-system)
     (propagated-inputs `(("r-graph" ,r-graph)))
@@ -5362,14 +5367,14 @@ the graph algorithms contained in the Boost library.")
 (define-public r-gseabase
   (package
     (name "r-gseabase")
-    (version "1.34.1")
+    (version "1.36.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GSEABase" version))
        (sha256
         (base32
-         "1mvgja8malrnbzfakzjl5mmi7g080kj8zgxwc5964hcmn33i937j"))))
+         "0l2x7yj7lfb0m2dmsav5ib026dikpgl4crdckrnj776yy08lgxpj"))))
     (properties `((upstream-name . "GSEABase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5389,14 +5394,14 @@ Enrichment Analysis} (GSEA).")
 (define-public r-category
   (package
     (name "r-category")
-    (version "2.38.0")
+    (version "2.40.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Category" version))
        (sha256
         (base32
-         "0c8px9ar589f3iqkbk9vfhwj30dpnxj81h8sfq20cl1cbmcx2a04"))))
+         "16ncwz7b4y48k0p3fvbrbmvf7nfz63li9ysgcl8kp9kl4hg7llng"))))
     (properties `((upstream-name . "Category")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5420,14 +5425,14 @@ analysis.")
 (define-public r-gostats
   (package
     (name "r-gostats")
-    (version "2.38.1")
+    (version "2.40.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "GOstats" version))
        (sha256
         (base32
-         "1hhw6vqr8f3g4jzq0v8f2za0r1h117j5s6av87zxs41cv7dq1wb3"))))
+         "0g2czm94zhzx92z7y2r4mjfxhwml7bhab2db6820ks8nkw1zvr9n"))))
     (properties `((upstream-name . "GOstats")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5450,14 +5455,14 @@ testing and other simple calculations.")
 (define-public r-shortread
   (package
     (name "r-shortread")
-    (version "1.30.0")
+    (version "1.32.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ShortRead" version))
        (sha256
         (base32
-         "0qlxns4bhwfpafx3km2lnivgl2qyp7n4g1ardm6vrinpq8paxbjg"))))
+         "0mjdlg92x5qw4x2djc4dv5lxwl7ai6ix56nnf86zr07jk8vc7yls"))))
     (properties `((upstream-name . "ShortRead")))
     (build-system r-build-system)
     (inputs
@@ -5492,14 +5497,14 @@ ungapped alignment formats.")
 (define-public r-systempiper
   (package
     (name "r-systempiper")
-    (version "1.6.4")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "systemPipeR" version))
        (sha256
         (base32
-         "0s2g46a5d5bvx45i3cgmib48wf8hrniyladhm0f7kgcbfx57248m"))))
+         "0hyi841w8fm2yzpm6lwqi3jz5kc8ny8dy5p29dxynzaw5bpjw56d"))))
     (properties `((upstream-name . "systemPipeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5538,14 +5543,14 @@ annotation infrastructure.")
 (define-public r-grohmm
   (package
     (name "r-grohmm")
-    (version "1.6.0")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "groHMM" version))
        (sha256
         (base32
-         "1l9mcyzyc548114ysb9r0q7hgzw3yy7gpiahrzkzj6hblc4f1jyp"))))
+         "0d91nyhqbi5hv3mgmr2z0g29wg2md26g0hyv5mgapmz20cd9zi4y"))))
     (properties `((upstream-name . "groHMM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5852,13 +5857,13 @@ barplots or heatmaps.")
 (define-public r-biocgenerics
   (package
     (name "r-biocgenerics")
-    (version "0.18.0")
+    (version "0.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocGenerics" version))
               (sha256
                (base32
-                "1jjp48vbph09w5bmc7368gjjywsa1lmzfybpiwlypr60b51vlkp6"))))
+                "06szdz7dfs1iyv5zdl4fjzad18nnf1zf3wvglc6c6yd9mrqlf7vk"))))
     (properties
      `((upstream-name . "BiocGenerics")))
     (build-system r-build-system)
@@ -5872,13 +5877,13 @@ packages.")
 (define-public r-biocinstaller
   (package
     (name "r-biocinstaller")
-    (version "1.22.3")
+    (version "1.24.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocInstaller" version))
               (sha256
                (base32
-                "02qkfq6f2b7v9klri6d1nv21r54bywv1zd5x47ka0jhhp946cqpr"))))
+                "0y1y5wmy6lzjqx3hdg15n91d417ccjj8dbvdkhmp99bs5aijwcpn"))))
     (properties
      `((upstream-name . "BiocInstaller")))
     (build-system r-build-system)
@@ -6032,13 +6037,13 @@ that accept short and long options.")
 (define-public r-dnacopy
   (package
     (name "r-dnacopy")
-    (version "1.46.0")
+    (version "1.48.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "DNAcopy" version))
               (sha256
                (base32
-                "0vwv2mndfjpcjp4sybg75abc7xnx8zyw8zjk717k6xh8c33ymcip"))))
+                "1idyvfvy7xx8k9vk00y4k3819qmip8iqm809j3vpxabmsn7r9zyh"))))
     (properties
      `((upstream-name . "DNAcopy")))
     (build-system r-build-system)
@@ -6054,13 +6059,13 @@ abnormal copy number.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.10.3")
+    (version "0.12.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "09lrvy3d5q58hsgw9as4hyyx07k1vyy2zjn3xsvhyfd97yk6w6lv"))))
+                "0m0npc0vhmcwcxws7v2f8k4hvvrjvnlrsr94klxf4a8m4xw2xzzk"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -6081,14 +6086,14 @@ S4Vectors package itself.")
 (define-public r-seqinr
   (package
     (name "r-seqinr")
-    (version "3.3-1")
+    (version "3.3-3")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "seqinr" version))
         (sha256
           (base32
-            "1al83y6m7739dz2j895yihksm0s5l45ialid4yw911ylbg3w6cm1"))))
+            "0rk4yba8km26c0rh1f4h474zsb5n6kjmqsi55bnzr6p8pymp18hj"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ade4" ,r-ade4)
@@ -6106,13 +6111,13 @@ utilities for sequence data management under the ACNUC system.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.6.1")
+    (version "2.8.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "06pyam3bjjfw2m3l86rda503lsz2jcg645lcnhvrz6qi0nv359yg"))))
+                "0cdl1sfd3cvf93lnz91fdk64fbg1mnd5g958dwh1il8r358hqq3f"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -6135,13 +6140,13 @@ possible.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.8.7")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "1x96468bbjx7z3ikp1dgr2krnz9pwx86vmssfbfrsikaxfs4q829"))))
+                "0nhg4bk38gzvf3mvnbqgisbbhfv1kzjld27z1z9knnlkplkiyyyv"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
@@ -6161,17 +6166,18 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "3.14.0")
+    (version "3.16.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "14vrygy7rz5ngaap4kgkvr3j18y5l6m742n79h68plk6iqgmsskn"))))
+                "1qr20j55m35dwzqyzzmla69gk5bzff8v1v2qjh7yd3362wq1ch49"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-limma" ,r-limma)))
+     `(("r-limma" ,r-limma)
+       ("r-locfit" ,r-locfit)))
     (home-page "http://bioinf.wehi.edu.au/edgeR")
     (synopsis "EdgeR does empirical analysis of digital gene expression data")
     (description "This package can do differential expression analysis of
@@ -6186,27 +6192,33 @@ CAGE.")
 (define-public r-variantannotation
   (package
     (name "r-variantannotation")
-    (version "1.18.7")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "VariantAnnotation" version))
               (sha256
                (base32
-                "002kif2c66wbcng953m3g1jys7w1lgz7hh3zsk4jlnhc20jdv1vj"))))
+                "1lwzfgahz8ipwli73kcfqb18y6adi129hap1gnycnj3980m54i8q"))))
     (properties
      `((upstream-name . "VariantAnnotation")))
     (inputs
      `(("zlib" ,zlib)))
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biostrings" ,r-biostrings)
        ("r-bsgenome" ,r-bsgenome)
        ("r-dbi" ,r-dbi)
        ("r-genomeinfodb" ,r-genomeinfodb)
        ("r-genomicfeatures" ,r-genomicfeatures)
        ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
        ("r-summarizedexperiment" ,r-summarizedexperiment)
        ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xvector" ,r-xvector)
        ("r-zlibbioc" ,r-zlibbioc)))
     (build-system r-build-system)
     (home-page "https://bioconductor.org/packages/VariantAnnotation")
@@ -6218,13 +6230,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.28.21")
+    (version "3.30.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "1dvisifd2rr7s1rrsqj5vrv2qcg4la4yi2ajbn0zkk5z81ffxv9f"))))
+                "0d8wp7b7nymawf4czwsg27k4c61i4ij2lhv7phi6cb3hdd8c76yf"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -6237,13 +6249,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-xvector
   (package
     (name "r-xvector")
-    (version "0.12.1")
+    (version "0.14.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "XVector" version))
               (sha256
                (base32
-                "1kydy9f5y0ihn2mbkamr1kh0g1d3g1k9d7s4i09qgw9ysr6j414v"))))
+                "09lbqxpqr80g0kw77mpz0p1a8cq706j33kz8194wp71il67cdzi7"))))
     (properties
      `((upstream-name . "XVector")))
     (build-system r-build-system)
@@ -6273,19 +6285,21 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.24.3")
+    (version "1.26.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "098a34hfgb5z120v6wpl5nv8v61nm65yg6xq0j7i9bigvxr7apg2"))))
+                "039nxccg9i2an8q2wni79x8dr9p1fcfcqvih9hg9w243pczg2g3c"))))
     (properties
      `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
        ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-iranges" ,r-iranges)
+       ("r-s4vectors" ,r-s4vectors)
        ("r-xvector" ,r-xvector)))
     (home-page "http://bioconductor.org/packages/GenomicRanges")
     (synopsis "Representation and manipulation of genomic intervals")
@@ -6300,13 +6314,13 @@ manipulating genomic intervals and variables defined along a genome.")
 (define-public r-biobase
   (package
     (name "r-biobase")
-    (version "2.32.0")
+    (version "2.34.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biobase" version))
               (sha256
                (base32
-                "0q4icv9n5rc2qfkv6k1wjhmfcpzcyr8f45m2z3xharbdv912kl1i"))))
+                "0js9j9wqls8f571ifl9ylllbb9a9hwf7b7drf2grwb1fl31ldazl"))))
     (properties
      `((upstream-name . "Biobase")))
     (build-system r-build-system)
@@ -6322,13 +6336,13 @@ on Bioconductor or which replace R functions.")
 (define-public r-annotationdbi
   (package
     (name "r-annotationdbi")
-    (version "1.34.4")
+    (version "1.36.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "AnnotationDbi" version))
               (sha256
                (base32
-                "1k3gfsjrivc7467vg0h705hh4dvzgdhknz62j7zmfxm67qk9r8rq"))))
+                "0ydrqw1k1j5p6w76bwc753cx545c055x88q87wzya93858synj6r"))))
     (properties
      `((upstream-name . "AnnotationDbi")))
     (build-system r-build-system)
@@ -6349,13 +6363,13 @@ annotation data packages using SQLite data storage.")
 (define-public r-biomart
   (package
     (name "r-biomart")
-    (version "2.28.0")
+    (version "2.30.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biomaRt" version))
               (sha256
                (base32
-                "1g0w6an9hkflgyhvq6pmrs92s93qarv23v636b9a4bz771wjvm5v"))))
+                "1x0flcghq71784q2l02j0g4f9jkmyb14f6i307n6c59d6ji7h7x6"))))
     (properties
      `((upstream-name . "biomaRt")))
     (build-system r-build-system)
@@ -6379,13 +6393,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.6.6")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "1l39zmvhjlvlczrk5wal4y2s4g0b2kmaczgq5biah9qn45y474mw"))))
+                "0vz23i14f7wjygr5d4y1hp8ki6l6igwcsjscfpr6dcigmknyi55c"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -6403,13 +6417,13 @@ objects.")
 (define-public r-biostrings
   (package
     (name "r-biostrings")
-    (version "2.40.2")
+    (version "2.42.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biostrings" version))
               (sha256
                (base32
-                "153rfws5sdha324p1nv7jp75ip6ny0f62jzhqcvs46l85h3i8zgh"))))
+                "08z8lkz3axa94wkf144a931ry6vf6cc25avi1ywr84ln2k5czz9f"))))
     (properties
      `((upstream-name . "Biostrings")))
     (build-system r-build-system)
@@ -6429,13 +6443,13 @@ biological sequences or sets of sequences.")
 (define-public r-rsamtools
   (package
     (name "r-rsamtools")
-    (version "1.24.0")
+    (version "1.26.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Rsamtools" version))
               (sha256
                (base32
-                "0w0drs8cpk8nlazq64ag7nm1w5jd1m8riialivm01hz5zcra7scb"))))
+                "0pf4f6brf4bl5zgjrah0f38qslazrs49ayqgyh0xfqgrh63yx4ck"))))
     (properties
      `((upstream-name . "Rsamtools")))
     (build-system r-build-system)
@@ -6473,13 +6487,13 @@ files.")
 (define-public r-summarizedexperiment
   (package
     (name "r-summarizedexperiment")
-    (version "1.2.3")
+    (version "1.4.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "SummarizedExperiment" version))
               (sha256
                (base32
-                "0c43fsrha886sd0diislnlf8r5h5x7fbhphkzcm0rw3k2jz8wlyk"))))
+                "1kbj8sg2ik9f8d6g95wz0py62jldg01qy5rsdpg1cxw95nf7dzi3"))))
     (properties
      `((upstream-name . "SummarizedExperiment")))
     (build-system r-build-system)
@@ -6502,13 +6516,13 @@ samples.")
 (define-public r-genomicalignments
   (package
     (name "r-genomicalignments")
-    (version "1.8.4")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicAlignments" version))
               (sha256
                (base32
-                "1cccvalmm83ilk1kpq31ll8kdy9xclsr4pm4mlcc7bmp0rwkd2p2"))))
+                "11vb0a0zd36i4yhg4mfijv787v0nihn6pkjj6q7rfy19gwy61xlc"))))
     (properties
      `((upstream-name . "GenomicAlignments")))
     (build-system r-build-system)
@@ -6535,13 +6549,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.32.2")
+    (version "1.34.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "190767zpwc7maqjpy0x5bpkm0jp1vfawy9991fifw0mc634cjkga"))))
+                "0mix5k75j70mwplbdipqw71n8qic75ny6y8w2f5jj0pqg1k0327d"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -6580,13 +6594,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.24.5")
+    (version "1.26.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "17qpisdgqyjz2mnaiwc4dx7dg11pwq3mkvmkah9zn07g9rhh8f7p"))))
+                "0z8spi2knwzwi10c38vr7xlvi3ah9faj7m1lka880mmxkl9cai4k"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -6621,7 +6635,7 @@ extracting the desired features in a convenient format.")
 (define-public r-go-db
   (package
     (name "r-go-db")
-    (version "3.3.0")
+    (version "3.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.bioconductor.org/packages/"
@@ -6629,7 +6643,7 @@ extracting the desired features in a convenient format.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0x2hkbhg9d8waw32hdn05887vv3zbs5aqff3mf5vfyzvl7xhgxy0"))))
+                "02cj8kqi5w39jwcs8gp1dgj08sah262ppxnkz4h3qd0w191y8yyl"))))
     (properties
      `((upstream-name . "GO.db")))
     (build-system r-build-system)
@@ -6645,13 +6659,13 @@ information about the latest version of the Gene Ontologies.")
 (define-public r-graph
   (package
     (name "r-graph")
-    (version "1.50.0")
+    (version "1.52.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "graph" version))
               (sha256
                (base32
-                "0ys5s19m5r30rlr0fnx2h0z2qw7n2xrad4l2yfb1bbrk8dwyf4pi"))))
+                "0g3dk5vsdp489fmyg8mifczmzgqrjlakkkr8i96dj15gghp3l135"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)))
@@ -6664,18 +6678,19 @@ information about the latest version of the Gene Ontologies.")
 (define-public r-topgo
   (package
     (name "r-topgo")
-    (version "2.24.0")
+    (version "2.26.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "topGO" version))
               (sha256
                (base32
-                "1p4vsl32qhjw15yv9ym01ni63gjg73jaghlf17wc4zfn3iaz2zar"))))
+                "0j6sgvam4lk9348ag6pypcbkv93x4fk0di8ivhr23mz2s2yqzwrx"))))
     (properties
      `((upstream-name . "topGO")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-dbi" ,r-dbi)
        ("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-go-db" ,r-go-db)
@@ -6695,13 +6710,13 @@ dependencies between GO terms can be implemented and applied.")
 (define-public r-bsgenome
   (package
     (name "r-bsgenome")
-    (version "1.40.1")
+    (version "1.42.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BSgenome" version))
               (sha256
                (base32
-                "0zmlzlcwairka59is5wmkh6knh6j4d328z9fsw3v91fx6gavjl2n"))))
+                "0hxwc02h5mzhkrk60d1jmlsfjf0ai9jxdc0128kj1sg4r2k1q94y"))))
     (properties
      `((upstream-name . "BSgenome")))
     (build-system r-build-system)
@@ -6725,13 +6740,13 @@ genome data packages and support for efficient SNP representation.")
 (define-public r-impute
   (package
     (name "r-impute")
-    (version "1.46.0")
+    (version "1.48.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "impute" version))
               (sha256
                (base32
-                "0v9ibgv8kp8il52miz7b7z65mv6irqxylx6lfzkxgvxd970dgrz0"))))
+                "1164zvnikbjd0ybdn9xwn520rlmdjd824vmhnl83zgv3v9lzp9bm"))))
     (inputs
      `(("gfortran" ,gfortran)))
     (build-system r-build-system)
@@ -6745,13 +6760,13 @@ microarray data, using nearest neighbor averaging.")
 (define-public r-seqpattern
   (package
     (name "r-seqpattern")
-    (version "1.4.0")
+    (version "1.6.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "seqPattern" version))
               (sha256
                (base32
-                "1dj9hfnbdj11yjxwd8jmxrdkj7n6gmaaj6244g2psgarhjcp4wfb"))))
+                "0lsa5pz36xapi3yiv78k3z286a5md5sm5g21pgfyg8zmhmkxr7y8"))))
     (properties
      `((upstream-name . "seqPattern")))
     (build-system r-build-system)
@@ -6759,6 +6774,7 @@ microarray data, using nearest neighbor averaging.")
      `(("r-biostrings" ,r-biostrings)
        ("r-genomicranges" ,r-genomicranges)
        ("r-iranges" ,r-iranges)
+       ("r-kernsmooth" ,r-kernsmooth)
        ("r-plotrix" ,r-plotrix)))
     (home-page "http://bioconductor.org/packages/seqPattern")
     (synopsis "Visualising oligonucleotide patterns and motif occurrences")
@@ -6771,13 +6787,13 @@ reference point and sorted by a user defined feature.")
 (define-public r-genomation
   (package
     (name "r-genomation")
-    (version "1.4.2")
+    (version "1.6.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "genomation" version))
               (sha256
                (base32
-                "017hxh3yhizlsswd2vw8504arkckrcgq5zraiw67lldq9wzs5qzg"))))
+                "1m4mz7wihj8yqivwkzw68div8ybk4rjsai3ffki7xp7sh21ax03y"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biostrings" ,r-biostrings)
@@ -6793,11 +6809,17 @@ reference point and sorted by a user defined feature.")
        ("r-matrixstats" ,r-matrixstats)
        ("r-plotrix" ,r-plotrix)
        ("r-plyr" ,r-plyr)
+       ("r-rcpp" ,r-rcpp)
        ("r-readr" ,r-readr)
        ("r-reshape2" ,r-reshape2)
+       ("r-rhtslib" ,r-rhtslib)
        ("r-rsamtools" ,r-rsamtools)
        ("r-rtracklayer" ,r-rtracklayer)
+       ("r-runit" ,r-runit)
+       ("r-s4vectors" ,r-s4vectors)
        ("r-seqpattern" ,r-seqpattern)))
+    (inputs
+     `(("zlib" ,zlib)))
     (home-page "http://bioinformatics.mdc-berlin.de/genomation/")
     (synopsis "Summary, annotation and visualization of genomic data")
     (description
@@ -6814,7 +6836,7 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
 (define-public r-genomationdata
   (package
     (name "r-genomationdata")
-    (version "1.4.2")
+    (version "1.6.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -6824,7 +6846,7 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
                                   "genomationData_" version ".tar.gz"))
               (sha256
                (base32
-                "1zl7gg144fs7zfycsmq5492sm1bqy7l527xbc2zj04schd9wsan2"))))
+                "16dqwb7wx1igx77zdbcskx5m1hs4g4gp2hl56zzm70hcagnlkz8y"))))
     (build-system r-build-system)
     ;; As this package provides little more than large data files, it doesn't
     ;; make sense to build substitutes.
@@ -6946,14 +6968,14 @@ annotations for the genome of the model mouse Mus musculus.")
 (define-public r-seqlogo
   (package
     (name "r-seqlogo")
-    (version "1.38.0")
+    (version "1.40.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "seqLogo" version))
        (sha256
         (base32
-         "01jddx62nhi3r7czbh9hxy0wwpazbc9ax1fgagfxl6p4kx9xz9rb"))))
+         "18bajdl75h3039559d81rgllqqvnq8ygsfxfx081xphxs0v6xggy"))))
     (properties `((upstream-name . "seqLogo")))
     (build-system r-build-system)
     (home-page "http://bioconductor.org/packages/seqLogo")
@@ -7157,14 +7179,14 @@ Biostrings objects.")
 (define-public r-motifrg
   (package
     (name "r-motifrg")
-    (version "1.16.0")
+    (version "1.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "motifRG" version))
        (sha256
         (base32
-         "1ds22paqc0923y6z1fy0arw0wxvvmglfvfgarhywv1qywhq68mbq"))))
+         "1pa97aj6c5f3gx4bgriw110764dj3m9h104ddi8rv2bpy41yd98d"))))
     (properties `((upstream-name . "motifRG")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7209,13 +7231,13 @@ two-dimensional genome scans.")
 (define-public r-zlibbioc
   (package
     (name "r-zlibbioc")
-    (version "1.18.0")
+    (version "1.20.0")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "zlibbioc" version))
               (sha256
                (base32
-                "0m8l7zpx1l3qsk73k3ibkxxzzff938x3qhnwki1ymf3cnsg8cb36"))))
+                "0hbk90q5hl0fycfvy5nxxa4hxgglag9lzp7i0fg849bqygg5nbyq"))))
     (properties
      `((upstream-name . "zlibbioc")))
     (build-system r-build-system)
@@ -7228,20 +7250,22 @@ libraries for systems that do not have these available via other means.")
 (define-public r-rhtslib
   (package
     (name "r-rhtslib")
-    (version "1.4.3")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "Rhtslib" version))
        (sha256
         (base32
-         "1wgpn9x8abjj7fc087pdavqc3fz0pl5xdh231mgjila18irwlhb3"))))
+         "1vk3ng61dhi3pbia1lp3gl3mlr3i1vb2lkq83qb53i9dzz128wh9"))))
     (properties `((upstream-name . "Rhtslib")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-zlibbioc" ,r-zlibbioc)))
     (inputs
      `(("zlib" ,zlib)))
+    (native-inputs
+     `(("autoconf" ,autoconf)))
     (home-page "https://github.com/nhayden/Rhtslib")
     (synopsis "High-throughput sequencing library as an R package")
     (description
@@ -7253,14 +7277,14 @@ of other R packages who wish to make use of HTSlib.")
 (define-public r-bamsignals
   (package
     (name "r-bamsignals")
-    (version "1.4.3")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "bamsignals" version))
        (sha256
         (base32
-         "1xqiqvg52p6fcvhr4146djbz79r3j1kmh75mq7rndwglmiybpwmy"))))
+         "1k42gvk5mgq4la1fp0in3an2zfdz69h6522jsqhmk0f6i75kg4mb"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 674b8ac7a1..35b644906b 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -30,7 +30,7 @@
 (define-public elfutils
   (package
     (name "elfutils")
-    (version "0.166")
+    (version "0.167")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -38,7 +38,7 @@
                     version "/elfutils-" version ".tar.bz2"))
               (sha256
                (base32
-                "0c5s9klq1zyb0zkmrw636k97kz30p5ih8y8dpq8b4f54r0a6j19w"))
+                "0lv5fz2h7j9362l5apbg9jff7309ni385d3325ckavrbqj3h0c1z"))
               (patches (search-patches "elfutils-tests-ptrace.patch"))))
     (build-system gnu-build-system)
 
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 10be825e68..2a275d0672 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -955,7 +955,7 @@ light user interface.")
 (define-public emacs-emms-player-mpv
   (package
     (name "emacs-emms-player-mpv")
-    (version "0.0.8")
+    (version "0.0.10")
     (source
      (origin
        (method url-fetch)
@@ -964,7 +964,7 @@ light user interface.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "01wj410dpx25b3i8781i2j9c6nlvzvvphy9qgh7zfpmyz6a3wsm4"))))
+         "1q81fpmwr8hpdgq71vbdai2nml4yyqbmk4ffdyl4irlwph8gfjyq"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emms" ,emms)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index e0e61cbeb5..25b8caf306 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -56,7 +56,7 @@
 (define-public efl
   (package
     (name "efl")
-    (version "1.18.1")
+    (version "1.18.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -64,7 +64,7 @@
                     version ".tar.xz"))
               (sha256
                (base32
-                "08njx6wd505as1vn0yp4mnmf6mb2v28jsipxxx4zhf78v18d2sqc"))))
+                "1vbvsrrpkvvrmvjavwnp5q77kw5i7vmbaj2vq5mnmrbzamvaybr9"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index bffbe14647..39a49f3276 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2158,42 +2158,42 @@ http://lavachat.symlynx.com/unix/")
 
 (define-public red-eclipse
   (let ((data-sources
-         '(("acerspyro"   "0s6q56i5marpm67lx70g5109lir5d6r45y45i8kbz6arc1spa7pp")
-           ("actors"      "0jclmciz64i81ngxwbag8x5m8wvxkhraa9c7plix566y6rh28fv1")
-           ("appleflap"   "1iz5igzdksamldhy0zh4vdjkxqhmg5c0n5g64pd3kan6h8vlbkq4")
-           ("blendbrush"  "1hz3x5npp25dixcadp020xyahmd1i3ihs4cdf77iy84i9njbp7bv")
-           ("caustics"    "05sbj46lrc6lkf7j6ls6jwc21n0qzxvfhfy9j7hdw482p9gvz54h")
-           ("crosshairs"  "05vfxc6vm91dyf1kzig550fglgydp9szl9135q677lk4g60w5dfh")
-           ("elyvisions"  "0fzdbxc40ggqmv4v1llx6sys2gjc6l1nxsbi5scpxqvm86dbddi9")
-           ("fonts"       "0sbvnd96aip49dy1ja01s36p8fwwczibpic7myfw1frs110m0zgr")
-           ("freezurbern" "0k60dzzq42mfq360qf7bsf4alhy6k5gjfaidg2i1wsz5zssgmqwn")
-           ("john"        "1ln9v8vfm0ggavvdyl438cy4mizzm1i87r9msx1sbja30q8f57c1")
-           ("jojo"        "0cdgl82s4bm6qlv07fsq5l7anbywvvw13d0mng831yn6scf0hxb1")
-           ("jwin"        "0yg5vriffyckgfjmi4487sw07hsp44b3gfw90f0v4jsgbjjm2v20")
-           ("luckystrike" "0f82caq09znsr9m08qnlbh3jl9j5w0ysga0b7d5ayqr5lpqxfk9k")
-           ("maps"        "14m23h3mip12anhx7i9k5xlapwkjbw4n0l7lj1b7dfcimf71gjll")
-           ("mayhem"      "0dxrr6craqi7ag724qfj9y0lb0pmwyrfpap02cndmjbbacdya0ra")
-           ("mikeplus64"  "040giyrk3hdd26sxhdx37q4mk923g5v3jbrinq1fw2yfvsl6n1cs")
-           ("misc"        "07xfs9hngshg27rl2vf65nyxilgnak3534h8msaan0fjgmzvlk0q")
-           ("nobiax"      "1n3nghi5426r2zav4rsfih8gn37sfa85absvhdwhir8wycsvbkh6")
-           ("particles"   "0yj0nykal3fgxx50278xl2zn2bfz09wbrjcvng56aa6hhfiwp8gd")
-           ("philipk"     "1m3krkxq9hsknbmxg1g5sgnpcv7c8c2q7zpbizw2wb3dir8snvcj")
-           ("projectiles" "05swvalja7vzqc3dlk136n5b5kdzn3a8il6bg1h12alcaa0k9rba")
-           ("props"       "1cqi6gw5s4z5pj06x6kiiilh4if0hm1yrbqys5dln23mcvw8f0ny")
-           ("skyboxes"    "1mm6xl89b0l98l2h3qn99id7svmpwr940bydgjbcrvlx21yqdric")
-           ("sounds"      "03q7jazf0chszyiaa9cxirbwdnckcp5fl812sj42lv0z4sqz222l")
-           ("textures"    "1caqyxa9xkrwpyhac65akdv1l7nqychgz7zfivasnskk2yy6jani")
-           ("torley"      "1hp8lkzqmdqyq3jn9rains32diw11gg1w3dxxlln5pc041cd7vil")
-           ("trak"        "0wlczjax33q0hz75lgc4qnxlm592pcxgnbkin5qrglv59nrxzxyr")
-           ("ulukai"      "0dkn7qxf92sidhsy4sm4v5z54n449a2z2w9qax5cfgzs78kb5c34")
-           ("unnamed"     "0p9mmfp0vplmswyxh8qab33phcl8lzmzh3mms4f7i587hppdg6db")
-           ("vanities"    "1w23853lmvj4kx5cbxvb5dk598jiqz7ml2bm0qiy7idkf5mcd2lv")
-           ("vegetation"  "0jw1ljhmv62fzvklid6i8syiacmrs075cp7r3gc069bg4fg47cpn")
-           ("weapons"     "1p64ry1s4y7hkgm6i2rdk2x78368359wvx8v81gg179p3sjnjkww")
-           ("wicked"      "1kmpy2n15lyh50rqjspyfg3qrc72jf0n3dx2y3ian7pjfp6ldxd9"))))
+         '(("acerspyro"   "0hqwa3b65l8mz73mcdsvrwbc14mrx1qn52073p5zh69pqd0mlfi0")
+           ("actors"      "0v87wifqwam5j6vsiidmcvw22i51h9h4skgwhi511mxkwryrp26h")
+           ("appleflap"   "0bkh1v125dwd5jhb4rrc1sl0jdlbb2ib53ihbxa66x1p8l27aklw")
+           ("blendbrush"  "1wh88fshsy492kjvadql2ik1q5pqgcj84jz0hc93ngag8xibxhfi")
+           ("caustics"    "0pc5bnd4fmxh06cm3h8045wgiy894f9x5a943n28gymdyql7q4f6")
+           ("crosshairs"  "1w9acqhxw5nm690862msl5jjbk8qlizxm1vv7p95lgm7q7pg0yxx")
+           ("elyvisions"  "04q31lp5jm8b9crf81s6k1jvrn90i1ay3s6vk103iv8g4amsfhdx")
+           ("fonts"       "1rsfk2d9xk0aaazvrcxk4z5n2cnys7pixadh521mv7zrxbx2d95x")
+           ("freezurbern" "0b2xg5x79yxanr30dhw3zr6dsc6x9w7v7aghbh9kp292j31l280m")
+           ("john"        "07pgjg1rxl3bmwriy2yl3g63nnryjws8jl0ry1cza3p9wd59f8rz")
+           ("jojo"        "0lkzd5pwfqan1gaaz22r5iz4z2nq8dkzycddwa0cxavmq8qmj281")
+           ("jwin"        "0mnyp1inhabw56mw5wkhfd4k6z0lvyhr6cjj6hnj3bz2dip2y2zm")
+           ("luckystrike" "1d89xnvahmzlgm0bjh3zhf02vxx1q16b70x2cihbl05dic1v75pr")
+           ("maps"        "19gy8kl7w2llsklym32hnlnd05z2dhq5dhdxhq5ss5na67skv5by")
+           ("mayhem"      "1si2gnsf732ml8ygkhg27ckvic9wafqmkgq0ab1ifpfpy606sa8d")
+           ("mikeplus64"  "0l48czyglbc0d4ack8xz9imarb6r4l29krq0mf3ld7yrxbc296vr")
+           ("misc"        "0fri1l3i1s1pzvr7aah4a7d9h2i877c21x184z80v4jpqv4228f3")
+           ("nobiax"      "1jv2yv2qj9qbxhaj1nd70v5142dpg074gkkh3bw2anchi8pzyhs8")
+           ("particles"   "0gwj6m5197gpwddqb3pwlkaiafgfszqysaz2h1bx60qzh5crgsf9")
+           ("philipk"     "0ngccscmvlgc2z96vira7phr87f65l4v7immbl697zmc5fda6k68")
+           ("projectiles" "1ig6dag5989rgwrhvmz7xz5q8gf5slgnda8h8zmiyhvrnal09hbp")
+           ("props"       "0g3sgrlgmk9zrl67d9pa93hzb4xx3wwznfxa1h3wwilld0m7gzhx")
+           ("skyboxes"    "0lvpzc741vkmy2rnra41ij91wq3pdl28xamy6vapq61mf44xmmvj")
+           ("sounds"      "0jmvvixcx7kv34sxjs4x7vqsyhir6l5av6b3lm8m8rsfi0sdvqml")
+           ("textures"    "1yx01k9yn2v1k79sa68wa51qw1zk03b8irkvxyd14ygibkicvgnb")
+           ("torley"      "1286srp05nfjban6ca124njyil70gr7bm6aqn5p0vz0xr00l4dw5")
+           ("trak"        "1079fg2cbm95psxic3r63i94z3cnbf04wlid2hqnw308s9l9q36c")
+           ("ulukai"      "0yd80ivn51ya60m4cg4bw13wxgijkjagfgskdphy9adgsaqq9n7b")
+           ("unnamed"     "0l21dhw7kbav59p7ysn6dr2sqzjivwxafml4023yznlhxx5fic4m")
+           ("vanities"    "1aqi32lf7y64fv1y00mpixckjr9wj8p1prgyxjiv7s3hf5q7n2b3")
+           ("vegetation"  "0253fdn5sxywrjb79krhvq2884almxpysn6dn0hi6ylpjzl78zrn")
+           ("weapons"     "0y2zsx6g6k9izshgix9id3y01hsisd88mp5zrlm5x9v8y0sf6kf8")
+           ("wicked"      "0ib0325dn6vzpx3p4cr6bhg9qhj8c5s20xyzy88xjc3y2pazbdvx"))))
     (package
       (name "red-eclipse")
-      (version "1.5.5")
+      (version "1.5.6")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://github.com/red-eclipse/base"
@@ -2201,7 +2201,7 @@ http://lavachat.symlynx.com/unix/")
                 (file-name (string-append name "-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "0xl3655876i8j5nixy0yp73s0yw9nwysj68fyhqs2agmvshryy96"))))
+                  "1sv3xhng18sl655sd46lpmqbqz32h32s7nwz68bdr9z9w3iwkf66"))))
       (build-system gnu-build-system)
       (arguments
        `(#:tests? #f            ; no check target
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 10a77f001d..a4ae777383 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -1614,7 +1614,7 @@ Hints specification (EWMH).")
               (sha256
                (base32
                 "1s3dxvdwzmppsp2dfg90rccilf4hknhwjdy7lazr9sys58zchyx0"))))
-    (build-system gnu-build-system)
+    (build-system glib-or-gtk-build-system)
     (arguments
      `(;; The gnumeric developers don't worry much about failing tests.
        ;; See https://bugzilla.gnome.org/show_bug.cgi?id=732387
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index 6c522866c9..f49b25492e 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -35,7 +35,7 @@
 (define-public windowmaker
   (package
     (name "windowmaker")
-    (version "0.95.6")
+    (version "0.95.7")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -43,7 +43,7 @@
                     version ".tar.gz"))
               (sha256
                (base32
-                "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3"))))
+                "1acph0nq6fsb452sl7j7a7kcc87zqqaw7qms1p8ijar19dn4hbc4"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-cons-before
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index b1785e95c9..4aea514411 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -292,7 +292,7 @@ developers consider to have good quality code and correct functionality.")
      ;;  vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts,
      ;;  faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools,
      ;;  mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi,
-     ;;  openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp, x265
+     ;;  openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp
      `(("bluez" ,bluez)
        ("curl" ,curl)
        ("faad2" ,faad2)
@@ -328,6 +328,7 @@ developers consider to have good quality code and correct functionality.")
        ;("qtdeclarative" ,qtdeclarative)
        ;("qtx11extras" ,qtx11extras)
        ("soundtouch" ,soundtouch)
+       ("x265" ,x265)
        ("wayland" ,wayland)))
     (home-page "http://gstreamer.freedesktop.org/")
     (synopsis "Plugins for the GStreamer multimedia library")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 0de1409406..7fa7e12b1b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -566,7 +566,7 @@ is part of the GNOME accessibility project.")
 (define-public gtk+-2
   (package
    (name "gtk+")
-   (version "2.24.30")
+   (version "2.24.31")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -574,7 +574,7 @@ is part of the GNOME accessibility project.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d"))
+              "0n26jm09n03nqbd00d2ij63xrby3vik56sk5yj6w1vy768kr5hb8"))
             (patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
                                      "gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch"
                                      "gtk2-theme-paths.patch"))))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 21f37a10ff..b246d3a6ad 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
+;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1292,4 +1293,84 @@ is no support for parsing block and inline level HTML.")
 (define-public guile2.2-commonmark
   (package-for-guile-2.2 guile-commonmark))
 
+(define-public guile-bytestructures
+  (package
+    (name "guile-bytestructures")
+    (version "20160726.53127f6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/TaylanUB/scheme-bytestructures")
+                    (commit "53127f608caf64b34fa41c389b2743b546fbe9da")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "0l4nx1vp9fkrgrgwjiycj7nx6wfjfd39rqamv4pmq7issi8mrywq"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 match)
+                      (ice-9 popen)
+                      (ice-9 rdelim))
+         (let* ((out (assoc-ref %outputs "out"))
+                (guile (assoc-ref %build-inputs "guile"))
+                (effective (read-line
+                            (open-pipe* OPEN_READ
+                                        (string-append guile "/bin/guile")
+                                        "-c" "(display (effective-version))")))
+                (module-dir (string-append out "/share/guile/site/"
+                                           effective))
+                (source (assoc-ref %build-inputs "source"))
+                (doc (string-append out "/share/doc/scheme-bytestructures"))
+                (scm-files (filter (lambda (path)
+                                     (not (string-prefix? "bytestructures/r7" path)))
+                                   (with-directory-excursion source
+                                     (find-files "bytestructures" "\\.scm$"))))
+                (guild (string-append (assoc-ref %build-inputs "guile")
+                                      "/bin/guild")))
+           ;; Make installation directories.
+           (mkdir-p doc)
+
+           ;; Compile .scm files and install.
+           (chdir source)
+           (setenv "GUILE_AUTO_COMPILE" "0")
+           (for-each (lambda (file)
+                       (let* ((dest-file (string-append module-dir "/"
+                                                        file))
+                              (go-file (string-append module-dir "/"
+                                                      (substring file 0
+                                                                 (string-rindex file #\.))
+                                                      ".go")))
+                         ;; Install source module.
+                         (mkdir-p (dirname dest-file))
+                         (copy-file file dest-file)
+
+                         ;; Install compiled module.
+                         (mkdir-p (dirname go-file))
+                         (unless (zero? (system* guild "compile"
+                                                 "-L" source
+                                                 "-o" go-file
+                                                 file))
+                           (error (format #f "Failed to compile ~s to ~s!"
+                                          file go-file)))))
+                     scm-files)
+
+           ;; Also copy over the README.
+           (install-file "README.md" doc)
+           #t))))
+    (inputs
+     `(("guile" ,guile-2.0)))
+    (home-page "https://github.com/TaylanUB/scheme-bytestructures")
+    (synopsis "Structured access to bytevector contents for Guile")
+    (description
+     "Guile bytestructures offers a system imitating the type system
+of the C programming language, to be used on bytevectors.  C's type
+system works on raw memory, and Guile works on bytevectors which are
+an abstraction over raw memory.  It's also more powerful than the C
+type system, elevating types to first-class status.")
+    (license gpl3+)))
+
 ;;; guile.scm ends here
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index a516629dbf..3b63c899eb 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 Kevin Lemonnier <lemonnierk@ulrar.net>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ngillmann@runbox.com>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -139,14 +139,14 @@ SILC and ICB protocols via plugins.")
 (define-public weechat
   (package
     (name "weechat")
-    (version "1.5")
+    (version "1.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://weechat.org/files/src/weechat-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0w87w4wy61x705ama8h36z9mgdj2gmmzdfrsxvwyh2m2as2max1i"))
+                "0lyqrymdjdvkzg8510l46c4zw8mjagnmri2i6m9y9qz0c1sfaq9h"))
               (patches (search-patches "weechat-python.patch"))))
     (build-system gnu-build-system)
     (native-inputs `(("autoconf" ,autoconf)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 0279e91464..5c0613f68e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -335,13 +335,10 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.1
-  (make-linux-libre "4.1.34"
-                    "0dajsb363p9lgga22ml8gp9k9lxd8mvrzxk9y3h9c6hpzfcmqdqr"
+  (make-linux-libre "4.1.35"
+                    "05zvrld1digqwf9kqf5pxx0mxqmwpr5kamhnks6y4yfy7x7jynyk"
                     %intel-compatible-systems
-                    #:configuration-file kernel-config
-                    #:patches (list %boot-logo-patch
-                                    (search-patch
-                                     "linux-libre-4.1-CVE-2016-5195.patch"))))
+                    #:configuration-file kernel-config))
 
 ;; Avoid rebuilding kernel variants when there is a minor version bump.
 (define %linux-libre-version "4.8.4")
diff --git a/gnu/packages/lolcode.scm b/gnu/packages/lolcode.scm
new file mode 100644
index 0000000000..4c7d18217d
--- /dev/null
+++ b/gnu/packages/lolcode.scm
@@ -0,0 +1,58 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages lolcode)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages readline)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages))
+
+(define-public lci
+  (package
+    (name "lci")
+    (version "0.11.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/justinmeza/lci/archive/v"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b"))
+              (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system cmake-build-system)
+    (inputs
+     `(("readline" ,readline)))
+    (native-inputs
+     `(("python-2" ,python-2))) ; for the tests
+    (synopsis "LOLCODE interpreter written in C")
+    (description
+     "@code{lci} is a LOLCODE interpreter written in C and is designed to be
+correct, portable, fast, and precisely documented.
+@enumerate
+@item correct: Every effort has been made to test lci's conformance to the
+LOLCODE language specification.  Unit tests come packaged with the lci source code.
+@item portable: lci follows the widely ported ANSI C specification allowing it
+to compile on a broad range of systems.
+@item fast: Much effort has gone into producing simple and efficient code
+whenever possible to the extent that the above points are not compromized.
+@end enumerate")
+    (home-page "http://lolcode.org/")
+    (license license:gpl3+)))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index eee7d1831f..e1b490e51d 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -19,6 +19,7 @@
 ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,6 +48,7 @@
   #:use-module (gnu packages databases)
   #:use-module (gnu packages dejagnu)
   #:use-module (gnu packages dns)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages emacs)
   #:use-module (gnu packages enchant)
   #:use-module (gnu packages ghostscript)
@@ -319,6 +321,9 @@ and corrections.  It is based on a Bayesian filter.")
                (base32
                 "0smxh5ag3cbn92kp49jq950j5m2pivs9kr04prpd1lw62hy7gnhr"))))
     (build-system python-build-system)
+    (native-inputs
+     `(("asciidoc" ,asciidoc)
+       ("libxslt" ,libxslt)))  ; for xsltproc
     (inputs `(("python2-pysqlite" ,python2-pysqlite)
               ("python2-six" ,python2-six)))
     (arguments
@@ -328,8 +333,21 @@ and corrections.  It is based on a Bayesian filter.")
        #:tests? #f
        #:phases
        (modify-phases %standard-phases
-         (add-after 'install 'wrap-binary
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+         (add-after 'build 'build-documentation
+           (lambda _
+             (substitute* "docs/Makefile"
+               ;; Prevent xmllint and xsltproc from downloading a DTD file.
+               (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v"))
+             (zero? (system* "make" "-C" "docs" "man"))))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (man (string-append out "/share/man")))
+               (install-file "docs/offlineimap.1" (string-append man "/man1"))
+               (install-file "docs/offlineimapui.7" (string-append man "/man7"))
+               #t)))
+         (add-after 'install-documentation 'wrap-binary
+           (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin/offlineimap")))
                (wrap-program bin
@@ -501,18 +519,14 @@ invoking @command{notifymuch} from the post-new hook.")
 (define-public notmuch
   (package
     (name "notmuch")
-    (version "0.23")
+    (version "0.23.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://notmuchmail.org/releases/notmuch-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1f51l34rdhjf8lvafrwybkxdsdwx8k9397m7qxd8rdg2irjmpry5"))
-              (patches
-               ;; Remove this for the next release. See this thread for context:
-               ;; https://notmuchmail.org/pipermail/notmuch/2016/023227.html
-               (search-patches "notmuch-emacs-25-compatibility-fix.patch"))))
+                "106ijsnilqf8760z4cq99rqzjsvyaw86d0lgnzz7v95gm4d2l0g8"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags (list "V=1") ; Verbose test output.
@@ -1618,7 +1632,7 @@ some additional standard extensions.  It allows ordinary machines to exchange
 e-mails with other systems speaking the SMTP protocol.")
     (home-page "https://www.opensmtpd.org")
     (license (list bsd-2 bsd-3 bsd-4 (non-copyleft "file://COPYING")
-                   public-domain isc openssl))))
+                   public-domain isc license:openssl))))
 
 (define-public opensmtpd-extras
   (package
@@ -1681,8 +1695,8 @@ e-mails with other systems speaking the SMTP protocol.")
                                          (assoc-ref %build-inputs "python-2"))
                           (string-append "--with-lua="
                                          (assoc-ref %build-inputs "lua")))))
-    (license (list bsd-2 bsd-3 bsd-4 non-copyleft
-                   public-domain isc openssl))
+    (license (list bsd-2 bsd-3 bsd-4
+                   public-domain isc license:openssl))
     (synopsis "Extra tables, filters, and various other addons for OpenSMTPD")
     (description
      "This package provides extra tables, filters, and various other addons
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 274f77099e..84b8395a4c 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -113,6 +113,47 @@ interactive dialogs to guide them.")
    (license license:gpl3+)
    (home-page "http://www.gnu.org/software/c-graph/")))
 
+(define-public coda
+  (package
+    (name "coda")
+    (version "2.17.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/stcorp/coda/releases/download/"
+                           version "/coda-" version ".tar.gz"))
+       (sha256
+        (base32 "04b9l3wzcix0mnfq77mwnil6cbr8h2mki8myvy0lzn236qcwaq1h"))
+       (patches (search-patches "coda-use-system-libs.patch"))
+       (modules '((guix build utils)))
+       (snippet
+        ;; Make sure we don't use the bundled software.
+        '(for-each (lambda (d)
+                     (delete-file-recursively (string-append "libcoda/" d)))
+                   '("zlib" "pcre" "expat")))))
+    (native-inputs
+     `(("fortran" ,gfortran)
+       ("python" ,python)
+       ("python-numpy" ,python-numpy)))
+    (inputs
+     `(("zlib" ,zlib)
+       ("pcre" ,pcre)
+       ("expat" ,expat)
+       ("hdf4" ,hdf4-alt)
+       ("hdf5" ,hdf5)))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags '("--with-hdf4" "--with-hdf5" "--enable-python"
+                           "LIBS= -lz -lpcre -lexpat")))
+    (synopsis "A common interface to various earth observation data formats")
+    (description
+     "The Common Data Access toolbox (CODA) provides a set of interfaces for
+reading remote sensing data from earth observation data files.  It consists of
+command line applications and interfaces to the C, Fortran, Python, and Java
+programming languages.")
+    (home-page "https://stcorp.nl/coda")
+    (license license:gpl2+)))
+
 (define-public units
   (package
    (name "units")
@@ -544,6 +585,41 @@ extremely large and complex data collections.")
     (license (license:x11-style
               "http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
 
+(define-public hdf-eos2
+  (package
+    (name "hdf-eos2")
+    (version "19.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri "ftp://edhs1.gsfc.nasa.gov\
+/edhs/hdfeos/latest_release/HDF-EOS2.19v1.00.tar.Z")
+       (sha256
+        (base32 "0c9fcz25s292ldap12wxmlrvnyz99z24p63d8fwx51bf8s0s1zrz"))
+       (patches (search-patches "hdf-eos2-remove-gctp.patch"
+                                "hdf-eos2-build-shared.patch"
+                                "hdf-eos2-fortrantests.patch"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gfortran" ,gfortran)))
+    (inputs
+     `(("hdf4" ,hdf4-alt) ; assume most HDF-EOS2 users won't use the HDF4 netCDF API
+       ("zlib" ,zlib)
+       ("libjpeg" ,libjpeg)
+       ("gctp" ,gctp)))
+    (arguments
+     `( #:configure-flags '("--enable-install-include" "--enable-shared"
+                            "CC=h4cc -Df2cFortran" "LIBS=-lgctp")
+        #:parallel-tests? #f))
+    (home-page "http://hdfeos.org/software/library.php#HDF-EOS2")
+    (synopsis "HDF4-based data format for NASA's Earth Observing System")
+    (description "HDF-EOS2 is a software library built on HDF4 which supports
+the construction of data structures used in NASA's Earth Observing
+System (Grid, Point and Swath).")
+
+    ;; Source files carry a permissive license header.
+    (license (license:non-copyleft home-page))))
+
 (define-public hdf-eos5
   (package
     (name "hdf-eos5")
@@ -1911,14 +1987,14 @@ full text searching.")
 (define-public armadillo
   (package
     (name "armadillo")
-    (version "6.700.7")
+    (version "7.500.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/arma/armadillo-"
-                                  version ".tar.gz"))
+                                  version ".tar.xz"))
               (sha256
                (base32
-                "0xbidcxrvbq33xf7iysg2nic2ai9a043psl33kiv6ifkk7p8hcra"))))
+                "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks"))))
     (build-system cmake-build-system)
     (arguments `(#:tests? #f)) ;no test target
     (inputs
@@ -1939,14 +2015,14 @@ associated functions (eg. contiguous and non-contiguous submatrix views).")
 
 (define-public armadillo-for-rcpparmadillo
   (package (inherit armadillo)
-    (version "7.400.2")
+    (version "7.500.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/arma/armadillo-"
                                   version ".tar.xz"))
               (sha256
                (base32
-                "0xmpnqhm9mwr1lssjyarj0cl8b4svbqv6z1xa1dxlwd2ly1srkg4"))))))
+                "1x98d32cgxbzbbma2ak6c37wnbpq13xxyxyd6jjvflv748mzi9ks"))))))
 
 (define-public muparser
   ;; When switching download sites, muparser re-issued a 2.2.5 release with a
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0089da1112..66cf231cfb 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -452,7 +452,7 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
 (define-public gajim
   (package
     (name "gajim")
-    (version "0.16.5")
+    (version "0.16.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gajim.org/downloads/"
@@ -460,34 +460,27 @@ was initially a fork of xmpppy, but is using non-blocking sockets.")
                                   "/gajim-" version ".tar.bz2"))
               (sha256
                (base32
-                "14fhcqnkqygh91132dnf1idayj4r3iqbwb44sd3mxv20n6ribh55"))))
+                "1p3qwzy07f0wkika9yigyiq167l2k6wn12flqa7x55z4ihbysmqk"))))
     (build-system gnu-build-system)
     (arguments
-     `(;; The only check done by gajim-0.16.x is to check that the
-       ;; translations are up-to-date, and in 0.16.5 they are not, so
-       ;; "make check" fails.  Therefore, we disable tests for now.
-       ;;
-       ;; XXX TODO Try re-enabling tests in gajim-0.16.6 or later.
-       ;;
-       #:tests? #f
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'install 'wrap-program
-          (lambda* (#:key outputs #:allow-other-keys)
-            ;; Make sure all Python scripts run with the correct PYTHONPATH.
-            (let ((out (assoc-ref outputs "out"))
-                  (path (getenv "PYTHONPATH")))
-              (for-each (lambda (name)
-                          (let ((file (string-append out "/bin/" name)))
-                            ;; Wrapping destroys identification of intended
-                            ;; application, so we need to override "APP".
-                            (substitute* file
-                              (("APP=`basename \\$0`")
-                               (string-append "APP=" name)))
-                            (wrap-program file
-                              `("PYTHONPATH" ":" prefix (,path)))))
-                        '("gajim" "gajim-remote" "gajim-history-manager")))
-            #t)))))
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Make sure all Python scripts run with the correct PYTHONPATH.
+             (let ((out (assoc-ref outputs "out"))
+                   (path (getenv "PYTHONPATH")))
+               (for-each (lambda (name)
+                           (let ((file (string-append out "/bin/" name)))
+                             ;; Wrapping destroys identification of intended
+                             ;; application, so we need to override "APP".
+                             (substitute* file
+                               (("APP=`basename \\$0`")
+                                (string-append "APP=" name)))
+                             (wrap-program file
+                               `("PYTHONPATH" ":" prefix (,path)))))
+                         '("gajim" "gajim-remote" "gajim-history-manager")))
+             #t)))))
     (native-inputs
      `(("intltool" ,intltool)))
     (propagated-inputs
@@ -504,7 +497,7 @@ Among its features are: a tabbed chat window and single window modes; support
 for group chat (with Multi-User Chat protocol), invitation, chat to group chat
 transformation; audio and video conferences; file transfer; TLS, GPG and
 end-to-end encryption support; XML console.")
-    (license license:gpl3+)))
+    (license license:gpl3)))
 
 (define-public prosody
   (package
diff --git a/gnu/packages/musl.scm b/gnu/packages/musl.scm
index a96185a561..321290872e 100644
--- a/gnu/packages/musl.scm
+++ b/gnu/packages/musl.scm
@@ -32,6 +32,7 @@
               (method url-fetch)
               (uri (string-append "http://www.musl-libc.org/releases/"
                                   name "-" version ".tar.gz"))
+              (patches (search-patches "musl-CVE-2016-8859.patch"))
               (sha256
                (base32
                 "1ymhxkskivzph0q34zadwfglc5gyahqajm7chqqn2zraxv3lgr4p"))))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b79f4c2582..a348d07609 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mit-krb5)
@@ -424,6 +425,44 @@ and up to 1 Mbit/s downstream.")
     ;; src/md5.[ch] is released under the zlib license
     (license (list license:isc license:zlib))))
 
+(define-public whois
+  (package
+    (name "whois")
+    (version "5.2.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://debian/pool/main/w/whois/"
+                           name "_" version ".tar.xz"))
+       (sha256
+        (base32
+         "1wfdyqi64l5x56j259jrrlbh19b7q7i6r83a8q8rjzcqp0kl0vdj"))))
+    (build-system gnu-build-system)
+    ;; TODO: unbundle mkpasswd binary + its po files.
+    (arguments
+     `(#:tests? #f ; Does not exist
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ; No configure
+         (add-before 'build 'setenv
+           (lambda _
+             (setenv "HAVE_ICONV" "1")
+             (setenv "HAVE_LIBIDN" "1"))))))
+    (inputs
+     `(("libidn" ,libidn)))
+    (native-inputs
+     `(("gettext" ,gnu-gettext)
+       ("perl" ,perl)))
+    (synopsis "Improved whois client")
+    (description "This whois client is intelligent and can
+automatically select the appropriate whois server for most queries.
+Because of historical reasons this also includes a tool called mkpasswd
+which can be used to encrypt a password with @code{crypt(3)}.")
+    (home-page "https://github.com/rfc1036/whois")
+    (license license:gpl2+)))
+
 (define-public wireshark
   (package
     (name "wireshark")
diff --git a/gnu/packages/patches/coda-use-system-libs.patch b/gnu/packages/patches/coda-use-system-libs.patch
new file mode 100644
index 0000000000..fbf8441958
--- /dev/null
+++ b/gnu/packages/patches/coda-use-system-libs.patch
@@ -0,0 +1,46 @@
+Remove dependencies on bundled zlib, pcre and expat.
+
+diff --git a/Makefile.in b/Makefile.in
+index 4360a26..80f9f59 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -210,8 +210,7 @@ coda_matlab_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@	-rpath \
+ @BUILD_MATLAB_TRUE@@SUBPACKAGE_MODE_FALSE@	$(matlabmexexecdir)
+ am__DEPENDENCIES_1 =
+-libcoda_la_DEPENDENCIES = @LTLIBOBJS@ libexpat_internal.la \
+-	libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \
++libcoda_la_DEPENDENCIES = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \
+ 	$(am__DEPENDENCIES_1)
+ am__libcoda_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \
+ 	libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \
+@@ -306,8 +305,7 @@ libcoda_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(libcoda_la_LDFLAGS) $(LDFLAGS) -o $@
+ @SUBPACKAGE_MODE_FALSE@am_libcoda_la_rpath = -rpath $(libdir)
+-am__DEPENDENCIES_2 = @LTLIBOBJS@ libexpat_internal.la \
+-	libpcre_internal.la libz_internal.la $(am__DEPENDENCIES_1) \
++am__DEPENDENCIES_2 = @LTLIBOBJS@ $(am__DEPENDENCIES_1) \
+ 	$(am__DEPENDENCIES_1)
+ libcoda_internal_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
+ am__libcoda_internal_la_SOURCES_DIST = libcoda/coda-ascbin-cursor.c \
+@@ -898,8 +896,8 @@ INSTALL_DATA_HOOK_TARGETS = $(am__append_1)
+ UNINSTALL_HOOK_TARGETS = 
+ CLEAN_LOCAL_TARGETS = $(am__append_11)
+ ALL_LOCAL_TARGETS = 
+-@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la
+-@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la libexpat_internal.la libpcre_internal.la libz_internal.la
++@SUBPACKAGE_MODE_FALSE@noinst_LTLIBRARIES = libcoda_internal.la
++@SUBPACKAGE_MODE_TRUE@noinst_LTLIBRARIES = libcoda_internal.la
+ 
+ # libraries (+ related files)
+ @SUBPACKAGE_MODE_FALSE@lib_LTLIBRARIES = libcoda.la
+@@ -1048,7 +1046,7 @@ libcoda_hdf5_files = \
+ 
+ libcoda_la_CPPFLAGS = -Ilibcoda/expat -I$(srcdir)/libcoda/expat -Ilibcoda/pcre -I$(srcdir)/libcoda/pcre -Ilibcoda/zlib -I$(srcdir)/libcoda/zlib $(AM_CPPFLAGS)
+ libcoda_la_LDFLAGS = -no-undefined -version-info $(LIBCODA_CURRENT):$(LIBCODA_REVISION):$(LIBCODA_AGE)
+-libcoda_la_LIBADD = @LTLIBOBJS@ libexpat_internal.la libpcre_internal.la libz_internal.la $(HDF4LIBS) $(HDF5LIBS)
++libcoda_la_LIBADD = @LTLIBOBJS@ $(HDF4LIBS) $(HDF5LIBS)
+ libcoda_internal_la_SOURCES = libcoda/coda-ascbin-cursor.c \
+ 	libcoda/coda-ascbin.h libcoda/coda-ascii-cursor.c \
+ 	libcoda/coda-ascii-internal.h libcoda/coda-ascii.c \
diff --git a/gnu/packages/patches/hdf-eos2-build-shared.patch b/gnu/packages/patches/hdf-eos2-build-shared.patch
new file mode 100644
index 0000000000..71112e38c2
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-build-shared.patch
@@ -0,0 +1,25 @@
+Changes necessary for shared library linking to succeed.
+
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 9534473..12411bf 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -73,7 +73,7 @@ LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \
+ 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ 	$(AM_CFLAGS) $(CFLAGS)
+ CCLD = $(CC)
+-LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
++LINK = HDF4_USE_SHLIB=yes $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+ SOURCES = $(libhdfeos_la_SOURCES)
+ DIST_SOURCES = $(libhdfeos_la_SOURCES)
+@@ -125,8 +125,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ 
+-# Set LDFLAGS to alow the HDF-EOS library to use extern variables from HDF4
+-LDFLAGS = -Wl,-single_module
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBTOOL = @LIBTOOL@
+
diff --git a/gnu/packages/patches/hdf-eos2-fortrantests.patch b/gnu/packages/patches/hdf-eos2-fortrantests.patch
new file mode 100644
index 0000000000..adecc184cb
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-fortrantests.patch
@@ -0,0 +1,329 @@
+Fix multi-line string formatting in fortran test programs (reported upstream).
+
+diff --git a/samples/appendfield.f b/samples/appendfield.f
+index 42c4b6b..58257f7 100644
+--- a/samples/appendfield.f
++++ b/samples/appendfield.f
+@@ -22,8 +22,8 @@ c
+          inarray(i) = i
+       enddo
+       
+-      swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer_o
+-     1f_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++      swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+       swid = swattach(swfid, "Swath1")
+ 
+ 
+diff --git a/samples/definefields.f b/samples/definefields.f
+index 89859e4..f3b3497 100644
+--- a/samples/definefields.f
++++ b/samples/definefields.f
+@@ -24,8 +24,8 @@ c	DFACC_RDWR accesscode in the open statement.  The SWopen
+ c	routine returns the swath fileid, swfid, which is used to
+ c	identify the file in subsequent routines.
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+diff --git a/samples/definegdflds.f b/samples/definegdflds.f
+index 177422e..1b7fcf6 100644
+--- a/samples/definegdflds.f
++++ b/samples/definegdflds.f
+@@ -21,8 +21,8 @@
+ 	fillval1=-7.0
+ 	fillval2=-9999.0
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ 	gdid1 = gdattach(gdfid, "UTMGrid")
+diff --git a/samples/definelevels.f b/samples/definelevels.f
+index 2496d5f..64b2842 100644
+--- a/samples/definelevels.f
++++ b/samples/definelevels.f
+@@ -32,8 +32,8 @@ c	DFACC_RDWR access code in the open statement.  The ptopen
+ c	routine returns the point fileid, ptfid, which is used to
+ c	identify the file in subsequent routines.
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     1  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+diff --git a/samples/inquiregrid.f b/samples/inquiregrid.f
+index 8110461..8ce71e4 100644
+--- a/samples/inquiregrid.f
++++ b/samples/inquiregrid.f
+@@ -18,8 +18,8 @@
+ 
+ 
+ 	
+-	gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf', DFACC_READ)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+     
+ 	if (gdfid .ne. -1) then
+diff --git a/samples/inquireswath.f b/samples/inquireswath.f
+index 899ee59..78c292b 100644
+--- a/samples/inquireswath.f
++++ b/samples/inquireswath.f
+@@ -24,8 +24,8 @@ c
+ c	Open the Swath File for read only access
+ c
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+     
+ 	if (swfid .NE. -1) then
+diff --git a/samples/readdimscalegrid.f b/samples/readdimscalegrid.f
+index fed5540..a0bb48a 100644
+--- a/samples/readdimscalegrid.f
++++ b/samples/readdimscalegrid.f
+@@ -34,8 +34,8 @@
+ !     * id, gdfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the grid file cannot be found, gdopen will return -1 for the file
+diff --git a/samples/readdimscaleswath.f b/samples/readdimscaleswath.f
+index 97b6264..1b61624 100644
+--- a/samples/readdimscaleswath.f
++++ b/samples/readdimscaleswath.f
+@@ -33,8 +33,8 @@
+ !     * id, swfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the swath file cannot be found, swopen will return -1 for the file
+diff --git a/samples/readfields.f b/samples/readfields.f
+index 873b30a..29d42f0 100644
+--- a/samples/readfields.f
++++ b/samples/readfields.f
+@@ -21,8 +21,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 
+ 	if (swfid .NE. -1) then
+diff --git a/samples/readgdflds.f b/samples/readgdflds.f
+index e5fe85f..ff2bd86 100644
+--- a/samples/readgdflds.f
++++ b/samples/readgdflds.f
+@@ -9,8 +9,8 @@
+ 	integer DFNT_FLOAT32
+ 	parameter (DFNT_FLOAT32=5)
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 	if (gdfid .ne. -1) then
+ 
+diff --git a/samples/readlevels.f b/samples/readlevels.f
+index a7fd033..f349398 100644
+--- a/samples/readlevels.f
++++ b/samples/readlevels.f
+@@ -36,8 +36,8 @@ c
+ c     Open the HDF swath file, "PointFile.hdf".
+ c
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     +  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ c
+ c    Read Simple Point
+@@ -47,6 +47,8 @@ c
+ 	status = ptlevinfo(ptid, 0, fldlist, fldtype, fldorder)
+ 	n = ptnrecs(ptid, 0)
+ 
++	write(*,*) n
++
+ 	do 5 i=1,n
+ 	   recs(i) = i - 1
+  5	continue
+diff --git a/samples/setupgrid.f b/samples/setupgrid.f
+index be5408c..cf4bd04 100644
+--- a/samples/setupgrid.f
++++ b/samples/setupgrid.f
+@@ -34,8 +34,8 @@ c      code in the open statement.  The GDopen routine returns the grid
+ c      file id, gdfid, which is used to identify the file in subsequent
+ c      routines in the library.
+ c
+-      gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_of
+-     1_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
++      gdfid = gdopen('GridFile_created_with_hadeos_sample_file_writer_"//
++     1"of_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
+ 
+ c    
+ c     Create UTM Grid
+diff --git a/samples/setupswath.f b/samples/setupswath.f
+index d0289d6..fbaa0bb 100644
+--- a/samples/setupswath.f
++++ b/samples/setupswath.f
+@@ -22,8 +22,8 @@ c      code in the open statement.  The SWopen routine returns the swath
+ c      file id, swfid, which is used to identify the file in subsequent
+ c      routines in the library.
+ c
+-      swfid = swopen('SwathFile_created_with_hadeos_sample_file_writer_o
+-     1f_HDFEOS2_version_219_or_higher_release.hdf',DFACC_CREATE)
++      swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf",DFACC_CREATE)
+ 
+ c    
+ c     The first of these, SWcreate, creates the swath, "Swath1", within the
+diff --git a/samples/subsetgrid.f b/samples/subsetgrid.f
+index c57e541..087e5b1 100644
+--- a/samples/subsetgrid.f
++++ b/samples/subsetgrid.f
+@@ -22,8 +22,8 @@ c
+ c     Open the HDF grid file, "GridFile.hdf"
+ c 
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (gdfid .NE. -1) then
+ 
+diff --git a/samples/subsetpoint.f b/samples/subsetpoint.f
+index 9e72c5f..2e76d7d 100644
+--- a/samples/subsetpoint.f
++++ b/samples/subsetpoint.f
+@@ -21,8 +21,8 @@ c
+ c     Open the HDF point file, "PointFile.hdf"
+ c 
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     1  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (ptfid .NE. -1) then
+ 
+diff --git a/samples/subsetswath.f b/samples/subsetswath.f
+index dcee609..9af8a46 100644
+--- a/samples/subsetswath.f
++++ b/samples/subsetswath.f
+@@ -28,8 +28,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_READ)
+ 
+ 	if (swfid .NE. -1) then
+ 
+diff --git a/samples/writedimscalegrid.f b/samples/writedimscalegrid.f
+index 09688d8..42013fe 100644
+--- a/samples/writedimscalegrid.f
++++ b/samples/writedimscalegrid.f
+@@ -29,8 +29,8 @@
+ !     * id, gdfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the grid file cannot be found, gdopen will return -1 for the file
+diff --git a/samples/writedimscaleswath.f b/samples/writedimscaleswath.f
+index 1151671..1a911a6 100644
+--- a/samples/writedimscaleswath.f
++++ b/samples/writedimscaleswath.f
+@@ -31,8 +31,8 @@
+ !     * id, swfid, which is used to identify the file in subsequent routines.
+ !     */
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write
+-     1r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ !    /*
+ !     * If the swath file cannot be found, swopen will return -1 for the file
+diff --git a/samples/writefields.f b/samples/writefields.f
+index a743661..862b96c 100644
+--- a/samples/writefields.f
++++ b/samples/writefields.f
+@@ -31,8 +31,8 @@ c
+ c     Open the HDF swath file, "SwathFile.hdf"
+ c 
+ 
+-	swfid = swopen("SwathFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	swfid = swopen("SwathFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ 	if (swfid .NE. -1) then
+diff --git a/samples/writegdflds.f b/samples/writegdflds.f
+index d1540b3..81aef75 100644
+--- a/samples/writegdflds.f
++++ b/samples/writegdflds.f
+@@ -23,8 +23,8 @@
+ 	enddo
+ 
+ 
+-	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_writer_
+-     1of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	gdfid = gdopen("GridFile_created_with_hadeos_sample_file_write"//
++     1"r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 	if (gdfid .ne. -1) then
+ 
+diff --git a/samples/writelevels.f b/samples/writelevels.f
+index 88e7780..cb40c9e 100644
+--- a/samples/writelevels.f
++++ b/samples/writelevels.f
+@@ -32,8 +32,8 @@ c
+ c     Open the HDF point file, "PointFile.hdf".
+ c
+ 
+-	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_writer
+-     1_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
++	ptfid = ptopen("PointFile_created_with_hadeos_sample_file_write"//
++     +  "r_of_HDFEOS2_version_219_or_higher_release.hdf", DFACC_RDWR)
+ 
+ 
+ c
+-- 
+2.10.0
+
diff --git a/gnu/packages/patches/hdf-eos2-remove-gctp.patch b/gnu/packages/patches/hdf-eos2-remove-gctp.patch
new file mode 100644
index 0000000000..0776c0685e
--- /dev/null
+++ b/gnu/packages/patches/hdf-eos2-remove-gctp.patch
@@ -0,0 +1,55 @@
+Don't build the GCTP bundled with the source and link with the
+system's -lgctp instead.  We also remove references to the
+"testdrivers" directory, which is not distributed together with the
+source, causing autoreconf to fail.
+
+diff --git a/Makefile.in b/Makefile.in
+index d468af2..90428a7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -206,7 +206,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
+ @TESTDRIVERS_CONDITIONAL_TRUE@TESTDRIVERS = testdrivers
+ @INSTALL_INCLUDE_CONDITIONAL_FALSE@INCLUDE = 
+ @INSTALL_INCLUDE_CONDITIONAL_TRUE@INCLUDE = include
+-SUBDIRS = gctp src $(INCLUDE) samples $(TESTDRIVERS)
++SUBDIRS = src $(INCLUDE) samples $(TESTDRIVERS)
+ all: all-recursive
+ 
+ .SUFFIXES:
+diff --git a/include/Makefile.in b/include/Makefile.in
+index 9938b23..afb7f40 100644
+--- a/include/Makefile.in
++++ b/include/Makefile.in
+@@ -190,7 +190,7 @@ LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
+ # Boilerplate include
+ 
+ # Headers to install
+-include_HEADERS = HE2_config.h HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h
++include_HEADERS = HdfEosDef.h HDFEOSVersion.h cfortHdf.h ease.h
+ all: HE2_config.h
+ 	$(MAKE) $(AM_MAKEFLAGS) all-am
+ 
+diff --git a/samples/Makefile.in b/samples/Makefile.in
+index 9da6e28..6a6186c 100644
+--- a/samples/Makefile.in
++++ b/samples/Makefile.in
+@@ -108,7 +108,6 @@ AppendField_SOURCES = AppendField.c
+ AppendField_OBJECTS = AppendField.$(OBJEXT)
+ AppendField_LDADD = $(LDADD)
+ am__DEPENDENCIES_1 = $(top_builddir)/src/libhdfeos.la
+-am__DEPENDENCIES_2 = $(top_builddir)/gctp/src/libGctp.la
+ AppendField_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+ DefineFields_SOURCES = DefineFields.c
+ DefineFields_OBJECTS = DefineFields.$(OBJEXT)
+@@ -481,7 +480,7 @@ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ LIBHDFEOS2 = $(top_builddir)/src/libhdfeos.la
+-LIBGCTP = $(top_builddir)/gctp/src/libGctp.la
++LIBGCTP =
+ 
+ # Boilerplate definitions file
+ 
+-- 
+2.10.0
+
diff --git a/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch b/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch
deleted file mode 100644
index 37a41f61e4..0000000000
--- a/gnu/packages/patches/linux-libre-4.1-CVE-2016-5195.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Fix CVE-2016-5195, a.k.a. Dirty COW.
-Backported to linux-libre-4.1.x by Mark H Weaver <mhw@netris.org>.
-
-From 18652320ea99913c95e7130d654be7f1da6b694f Mon Sep 17 00:00:00 2001
-From: Linus Torvalds <torvalds@linux-foundation.org>
-Date: Thu, 13 Oct 2016 13:07:36 -0700
-Subject: [PATCH] mm: remove gup_flags FOLL_WRITE games from __get_user_pages()
-
-commit 19be0eaffa3ac7d8eb6784ad9bdbc7d67ed8e619 upstream.
-
-This is an ancient bug that was actually attempted to be fixed once
-(badly) by me eleven years ago in commit 4ceb5db9757a ("Fix
-get_user_pages() race for write access") but that was then undone due to
-problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug").
-
-In the meantime, the s390 situation has long been fixed, and we can now
-fix it by checking the pte_dirty() bit properly (and do it better).  The
-s390 dirty bit was implemented in abf09bed3cce ("s390/mm: implement
-software dirty bits") which made it into v3.9.  Earlier kernels will
-have to look at the page state itself.
-
-Also, the VM has become more scalable, and what used a purely
-theoretical race back then has become easier to trigger.
-
-To fix it, we introduce a new internal FOLL_COW flag to mark the "yes,
-we already did a COW" rather than play racy games with FOLL_WRITE that
-is very fundamental, and then use the pte dirty flag to validate that
-the FOLL_COW flag is still valid.
-
-Reported-and-tested-by: Phil "not Paul" Oester <kernel@linuxace.com>
-Acked-by: Hugh Dickins <hughd@google.com>
-Reviewed-by: Michal Hocko <mhocko@suse.com>
-Cc: Andy Lutomirski <luto@kernel.org>
-Cc: Kees Cook <keescook@chromium.org>
-Cc: Oleg Nesterov <oleg@redhat.com>
-Cc: Willy Tarreau <w@1wt.eu>
-Cc: Nick Piggin <npiggin@gmail.com>
-Cc: Greg Thelen <gthelen@google.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/mm.h |  1 +
- mm/gup.c           | 14 ++++++++++++--
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 6b85ec6..7cadf0a 100644
---- a/include/linux/mm.h
-+++ b/include/linux/mm.h
-@@ -2064,6 +2064,7 @@ static inline struct page *follow_page(struct vm_area_struct *vma,
- #define FOLL_NUMA	0x200	/* force NUMA hinting page fault */
- #define FOLL_MIGRATION	0x400	/* wait for page to replace migration entry */
- #define FOLL_TRIED	0x800	/* a retry, previous pass started an IO */
-+#define FOLL_COW	0x4000	/* internal GUP flag */
- 
- typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr,
- 			void *data);
-diff --git a/mm/gup.c b/mm/gup.c
-index 6297f6b..e6de9e7 100644
---- a/mm/gup.c
-+++ b/mm/gup.c
-@@ -32,6 +32,16 @@ static struct page *no_page_table(struct vm_area_struct *vma,
- 	return NULL;
- }
- 
-+/*
-+ * FOLL_FORCE can write to even unwritable pte's, but only
-+ * after we've gone through a COW cycle and they are dirty.
-+ */
-+static inline bool can_follow_write_pte(pte_t pte, unsigned int flags)
-+{
-+	return pte_write(pte) ||
-+		((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte));
-+}
-+
- static struct page *follow_page_pte(struct vm_area_struct *vma,
- 		unsigned long address, pmd_t *pmd, unsigned int flags)
- {
-@@ -66,7 +76,7 @@ retry:
- 	}
- 	if ((flags & FOLL_NUMA) && pte_protnone(pte))
- 		goto no_page;
--	if ((flags & FOLL_WRITE) && !pte_write(pte)) {
-+	if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) {
- 		pte_unmap_unlock(ptep, ptl);
- 		return NULL;
- 	}
-@@ -315,7 +325,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma,
- 	 * reCOWed by userspace write).
- 	 */
- 	if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE))
--		*flags &= ~FOLL_WRITE;
-+	        *flags |= FOLL_COW;
- 	return 0;
- }
- 
--- 
-2.10.1
-
diff --git a/gnu/packages/patches/mupdf-CVE-2016-8674.patch b/gnu/packages/patches/mupdf-CVE-2016-8674.patch
new file mode 100644
index 0000000000..2a35619761
--- /dev/null
+++ b/gnu/packages/patches/mupdf-CVE-2016-8674.patch
@@ -0,0 +1,165 @@
+Fix CVE-2016-8674 (use-after-free in pdf_to_num()).
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8674
+https://security-tracker.debian.org/tracker/CVE-2016-8674
+
+Patch adapted from upstream source repository:
+http://git.ghostscript.com/?p=mupdf.git;h=1e03c06456d997435019fb3526fa2d4be7dbc6ec
+
+diff --git a/include/mupdf/pdf/document.h b/include/mupdf/pdf/document.h
+index f8ef0cd..e8345b7 100644
+--- a/include/mupdf/pdf/document.h
++++ b/include/mupdf/pdf/document.h
+@@ -258,6 +258,10 @@ struct pdf_document_s
+	fz_font **type3_fonts;
+
+	pdf_resource_tables *resources;
++
++	int orphans_max;
++	int orphans_count;
++	pdf_obj **orphans;
+ };
+ 
+ /*
+diff --git a/include/mupdf/pdf/object.h b/include/mupdf/pdf/object.h
+index 346a2f1..02d4119 100644
+--- a/include/mupdf/pdf/object.h
++++ b/include/mupdf/pdf/object.h
+@@ -109,6 +109,7 @@ pdf_obj *pdf_dict_gets(fz_context *ctx, pdf_obj *dict, const char *key);
+ pdf_obj *pdf_dict_getsa(fz_context *ctx, pdf_obj *dict, const char *key, const char *abbrev);
+ void pdf_dict_put(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val);
+ void pdf_dict_put_drop(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val);
++void pdf_dict_get_put_drop(fz_context *ctx, pdf_obj *dict, pdf_obj *key, pdf_obj *val, pdf_obj **old_val);
+ void pdf_dict_puts(fz_context *ctx, pdf_obj *dict, const char *key, pdf_obj *val);
+ void pdf_dict_puts_drop(fz_context *ctx, pdf_obj *dict, const char *key, pdf_obj *val);
+ void pdf_dict_putp(fz_context *ctx, pdf_obj *dict, const char *path, pdf_obj *val);
+diff --git a/source/pdf/pdf-object.c b/source/pdf/pdf-object.c
+index f2e4551..a0d0d8e 100644
+--- a/source/pdf/pdf-object.c
++++ b/source/pdf/pdf-object.c
+@@ -1240,9 +1240,13 @@ pdf_dict_geta(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *abbrev)
+ 	return pdf_dict_get(ctx, obj, abbrev);
+ }
+ 
+-void
+-pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val)
++static void
++pdf_dict_get_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val, pdf_obj **old_val)
+ {
++
++	if (old_val)
++		*old_val = NULL;
++
+ 	RESOLVE(obj);
+	if (obj >= PDF_OBJ__LIMIT)
+	{
+@@ -1282,7 +1286,10 @@ pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val)
+			{
+				pdf_obj *d = DICT(obj)->items[i].v;
+				DICT(obj)->items[i].v = pdf_keep_obj(ctx, val);
+-				pdf_drop_obj(ctx, d);
++				if (old_val)
++					*old_val = d;
++				else
++					pdf_drop_obj(ctx, d);
+			}
+ 		}
+		else
+@@ -1305,10 +1312,27 @@ pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val)
+ }
+ 
+ void
++pdf_dict_put(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val)
++{
++	pdf_dict_get_put(ctx, obj, key, val, NULL);
++}
++
++void
+ pdf_dict_put_drop(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val)
+ {
+ 	fz_try(ctx)
+-		pdf_dict_put(ctx, obj, key, val);
++		pdf_dict_get_put(ctx, obj, key, val, NULL);
++	fz_always(ctx)
++		pdf_drop_obj(ctx, val);
++	fz_catch(ctx)
++		fz_rethrow(ctx);
++}
++
++void
++pdf_dict_get_put_drop(fz_context *ctx, pdf_obj *obj, pdf_obj *key, pdf_obj *val, pdf_obj **old_val)
++{
++	fz_try(ctx)
++		pdf_dict_get_put(ctx, obj, key, val, old_val);
+ 	fz_always(ctx)
+ 		pdf_drop_obj(ctx, val);
+ 	fz_catch(ctx)
+diff --git a/source/pdf/pdf-repair.c b/source/pdf/pdf-repair.c
+index fdd4648..212c8b7 100644
+--- a/source/pdf/pdf-repair.c
++++ b/source/pdf/pdf-repair.c
+@@ -259,6 +259,27 @@ pdf_repair_obj_stm(fz_context *ctx, pdf_document *doc, int num, int gen)
+ 	}
+ }
+ 
++static void
++orphan_object(fz_context *ctx, pdf_document *doc, pdf_obj *obj)
++{
++	if (doc->orphans_count == doc->orphans_max)
++	{
++		int new_max = (doc->orphans_max ? doc->orphans_max*2 : 32);
++
++		fz_try(ctx)
++		{
++			doc->orphans = fz_resize_array(ctx, doc->orphans, new_max, sizeof(*doc->orphans));
++			doc->orphans_max = new_max;
++		}
++		fz_catch(ctx)
++		{
++			pdf_drop_obj(ctx, obj);
++			fz_rethrow(ctx);
++		}
++	}
++	doc->orphans[doc->orphans_count++] = obj;
++}
++
+ void
+ pdf_repair_xref(fz_context *ctx, pdf_document *doc)
+ {
+@@ -520,12 +541,13 @@ pdf_repair_xref(fz_context *ctx, pdf_document *doc)
+ 			/* correct stream length for unencrypted documents */
+ 			if (!encrypt && list[i].stm_len >= 0)
+ 			{
++				pdf_obj *old_obj = NULL;
+				dict = pdf_load_object(ctx, doc, list[i].num, list[i].gen);
+ 
+ 				length = pdf_new_int(ctx, doc, list[i].stm_len);
+-				pdf_dict_put(ctx, dict, PDF_NAME_Length, length);
+-				pdf_drop_obj(ctx, length);
+-
++				pdf_dict_get_put_drop(ctx, dict, PDF_NAME_Length, length, &old_obj);
++				if (old_obj)
++					orphan_object(ctx, doc, old_obj);
+ 				pdf_drop_obj(ctx, dict);
+ 			}
+ 		}
+diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
+index 3de1cd2..6682741 100644
+--- a/source/pdf/pdf-xref.c
++++ b/source/pdf/pdf-xref.c
+@@ -1626,6 +1626,12 @@ pdf_close_document(fz_context *ctx, pdf_document *doc)
+ 
+	pdf_drop_resource_tables(ctx, doc);
+ 
++	for (i = 0; i < doc->orphans_count; i++)
++	{
++		pdf_drop_obj(ctx, doc->orphans[i]);
++	}
++	fz_free(ctx, doc->orphans);
++
+	fz_free(ctx, doc);
+ }
+
+-- 
+2.10.1
+
diff --git a/gnu/packages/patches/musl-CVE-2016-8859.patch b/gnu/packages/patches/musl-CVE-2016-8859.patch
new file mode 100644
index 0000000000..7bb5b892dd
--- /dev/null
+++ b/gnu/packages/patches/musl-CVE-2016-8859.patch
@@ -0,0 +1,81 @@
+Fix CVE-2016-8859:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-8859
+
+Patch copied from upstream source repository:
+
+http://git.musl-libc.org/cgit/musl/commit/?id=c3edc06d1e1360f3570db9155d6b318ae0d0f0f7
+
+From c3edc06d1e1360f3570db9155d6b318ae0d0f0f7 Mon Sep 17 00:00:00 2001
+From: Rich Felker <dalias@aerifal.cx>
+Date: Thu, 6 Oct 2016 18:34:58 -0400
+Subject: [PATCH] fix missing integer overflow checks in regexec buffer size
+ computations
+
+most of the possible overflows were already ruled out in practice by
+regcomp having already succeeded performing larger allocations.
+however at least the num_states*num_tags multiplication can clearly
+overflow in practice. for safety, check them all, and use the proper
+type, size_t, rather than int.
+
+also improve comments, use calloc in place of malloc+memset, and
+remove bogus casts.
+---
+ src/regex/regexec.c | 23 ++++++++++++++++++-----
+ 1 file changed, 18 insertions(+), 5 deletions(-)
+
+diff --git a/src/regex/regexec.c b/src/regex/regexec.c
+index 16c5d0a..dd52319 100644
+--- a/src/regex/regexec.c
++++ b/src/regex/regexec.c
+@@ -34,6 +34,7 @@
+ #include <wchar.h>
+ #include <wctype.h>
+ #include <limits.h>
++#include <stdint.h>
+ 
+ #include <regex.h>
+ 
+@@ -206,11 +207,24 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string,
+ 
+   /* Allocate memory for temporary data required for matching.	This needs to
+      be done for every matching operation to be thread safe.  This allocates
+-     everything in a single large block from the stack frame using alloca()
+-     or with malloc() if alloca is unavailable. */
++     everything in a single large block with calloc(). */
+   {
+-    int tbytes, rbytes, pbytes, xbytes, total_bytes;
++    size_t tbytes, rbytes, pbytes, xbytes, total_bytes;
+     char *tmp_buf;
++
++    /* Ensure that tbytes and xbytes*num_states cannot overflow, and that
++     * they don't contribute more than 1/8 of SIZE_MAX to total_bytes. */
++    if (num_tags > SIZE_MAX/(8 * sizeof(int) * tnfa->num_states))
++      goto error_exit;
++
++    /* Likewise check rbytes. */
++    if (tnfa->num_states+1 > SIZE_MAX/(8 * sizeof(*reach_next)))
++      goto error_exit;
++
++    /* Likewise check pbytes. */
++    if (tnfa->num_states > SIZE_MAX/(8 * sizeof(*reach_pos)))
++      goto error_exit;
++
+     /* Compute the length of the block we need. */
+     tbytes = sizeof(*tmp_tags) * num_tags;
+     rbytes = sizeof(*reach_next) * (tnfa->num_states + 1);
+@@ -221,10 +235,9 @@ tre_tnfa_run_parallel(const tre_tnfa_t *tnfa, const void *string,
+       + (rbytes + xbytes * tnfa->num_states) * 2 + tbytes + pbytes;
+ 
+     /* Allocate the memory. */
+-    buf = xmalloc((unsigned)total_bytes);
++    buf = calloc(total_bytes, 1);
+     if (buf == NULL)
+       return REG_ESPACE;
+-    memset(buf, 0, (size_t)total_bytes);
+ 
+     /* Get the various pointers within tmp_buf (properly aligned). */
+     tmp_tags = (void *)buf;
+-- 
+2.10.1
+
diff --git a/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch b/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch
deleted file mode 100644
index 9ddfd4fe10..0000000000
--- a/gnu/packages/patches/notmuch-emacs-25-compatibility-fix.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-This fixes a test failure with emacs-25. Picked from
-https://git.notmuchmail.org/git?p=notmuch;a=commit;h=f575a346df09c82691bb9e7c462836d982fe31f7
-
-From f575a346df09c82691bb9e7c462836d982fe31f7 Mon Sep 17 00:00:00 2001
-From: David Bremner <david@tethera.net>
-Date: Sun, 9 Oct 2016 19:30:44 -0300
-Subject: [PATCH] emacs/show: force notmuch-show-buttonise-links to act on
- lines
-
-This seems to fix a problem with emacs 25 creating partial buttons by
-calling n-s-b-l with a region that does not include the whole button.
-I'm not 100% sure it's legit to act outside the region passed by
-jit-lock, but goto-address-fontify-region (where I borrowed the code
-from) already does this, so this patch to not make things worse.
----
- emacs/notmuch-show.el | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
-index 641398d..e7d16f8 100644
---- a/emacs/notmuch-show.el
-+++ b/emacs/notmuch-show.el
-@@ -1174,13 +1174,15 @@ This also turns id:\"<message id>\"-parts and mid: links into
- buttons for a corresponding notmuch search."
-   (goto-address-fontify-region start end)
-   (save-excursion
--    (let (links)
--      (goto-char start)
--      (while (re-search-forward notmuch-id-regexp end t)
-+    (let (links
-+	  (beg-line (progn (goto-char start) (line-beginning-position)))
-+	  (end-line (progn (goto-char end) (line-end-position))))
-+      (goto-char beg-line)
-+      (while (re-search-forward notmuch-id-regexp end-line t)
- 	(push (list (match-beginning 0) (match-end 0)
- 		    (match-string-no-properties 0)) links))
--      (goto-char start)
--      (while (re-search-forward notmuch-mid-regexp end t)
-+      (goto-char beg-line)
-+      (while (re-search-forward notmuch-mid-regexp end-line t)
- 	(let* ((mid-cid (match-string-no-properties 1))
- 	       (mid (save-match-data
- 		      (string-match "^[^/]*" mid-cid)
--- 
-2.10.1
-
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 8bfe2c1a89..af153a05a3 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -489,7 +489,8 @@ extracting content or merging files.")
           "1k64pdapyj8a336jw3j61fhn0rp4q6az7d0dqp9r5n3d9rgwa5c0"))
         (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch"
                                  "mupdf-CVE-2016-6265.patch"
-                                 "mupdf-CVE-2016-6525.patch"))
+                                 "mupdf-CVE-2016-6525.patch"
+                                 "mupdf-CVE-2016-8674.patch"))
         (modules '((guix build utils)))
         (snippet
             ;; Delete all the bundled libraries except for mujs, which is
diff --git a/gnu/packages/psyc.scm b/gnu/packages/psyc.scm
index 57042946d5..a55f78e4c0 100644
--- a/gnu/packages/psyc.scm
+++ b/gnu/packages/psyc.scm
@@ -18,15 +18,24 @@
 
 (define-module (gnu packages psyc)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pcre)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages web))
 
 (define-public perl-net-psyc
@@ -143,3 +152,76 @@ core aspects of PSYC, useful for all kinds of clients and servers
 including psyced.")
     (synopsis "PSYC library in C")
     (license license:agpl3+)))
+
+;; This commit removes the historic bundled pcre, not released as a tarball so far.
+(define-public psyclpc
+  (let* ((commit "8bd51f2a4847860ba8b82dc79348ab37d516011e")
+         (revision "1"))
+  (package
+    (name "psyclpc")
+    (version (string-append "20160821-" revision "." (string-take commit 7)))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "git://git.psyced.org/git/psyclpc")
+                    (commit commit)))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+               (base32
+                "10w4kx9ygcv1lcmd7j4knvjiy8dac1y3hjfv3lhp67jpv6w3iagz"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; There are no tests/checks.
+       #:configure-flags
+       ;; If you have questions about this part, look at
+       ;; "src/settings/psyced" and the ebuild.
+       (list
+        "--enable-use-tls=yes"
+        "--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled.
+        (string-append "--prefix="
+                       (assoc-ref %outputs "out"))
+        ;; src/Makefile: Set MUD_LIB to the directory which contains
+        ;; the mud data. defaults to MUD_LIB = @libdir@
+        (string-append "--libdir="
+                       (assoc-ref %outputs "out")
+                       "/opt/psyced/world")
+        (string-append "--bindir="
+                       (assoc-ref %outputs "out")
+                       "/opt/psyced/bin")
+        ;; src/Makefile: Set ERQ_DIR to directory which contains the
+        ;; stuff which ERQ can execute (hopefully) savely.  Was formerly
+        ;; defined in config.h. defaults to ERQ_DIR= @libexecdir@
+        (string-append "--libexecdir="
+                       (assoc-ref %outputs "out")
+                       "/opt/psyced/run"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'chdir-to-src
+           ;; We need to pass this as env variables
+           ;; and manually change the directory.
+           (lambda _
+             (chdir "src")
+             (setenv "CONFIG_SHELL" (which "sh"))
+             (setenv "SHELL" (which "sh"))
+             #t)))
+       #:make-flags (list "install-all")))
+    (inputs
+     `(("zlib" ,zlib)
+       ("openssl" ,openssl)
+       ("pcre" ,pcre)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("bison" ,bison)
+       ("gnu-gettext" ,gnu-gettext)
+       ("help2man" ,help2man)
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)))
+    (home-page "http://lpc.psyc.eu/")
+    (synopsis "psycLPC is a multi-user network server programming language")
+    (description
+     "LPC is a bytecode language, invented to specifically implement
+multi user virtual environments on the internet.  This technology is used for
+MUDs and also the psyced implementation of the Protocol for SYnchronous
+Conferencing (PSYC).  psycLPC is a fork of LDMud with some new features and
+many bug fixes.")
+    (license license:gpl2))))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 929ea208f2..ba1e0c424d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -2298,13 +2298,13 @@ files.")
 (define-public python-certifi
   (package
     (name "python-certifi")
-    (version "2015.11.20.1")
+    (version "2016.8.31")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "certifi" version))
               (sha256
                (base32
-                "05lgwf9rz1kn465azy2bpb3zmpnsn9gkypbhnjlclchv98ssgc1h"))))
+                "06c9dcyv8ss050gkv5xjivbxhm6qm0s9vzy4r33wqabgv118lw7p"))))
     (build-system python-build-system)
     (inputs
      `(("python-setuptools" ,python-setuptools)))
diff --git a/gnu/packages/yubico.scm b/gnu/packages/security-token.scm
index 469d93d0dc..36ccaa5203 100644
--- a/gnu/packages/yubico.scm
+++ b/gnu/packages/security-token.scm
@@ -17,9 +17,9 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
-(define-module (gnu packages yubico)
+(define-module (gnu packages security-token)
   #:use-module (gnu packages)
-  #:use-module (guix licenses)
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
@@ -45,7 +45,7 @@
      "This package contains a C library and command-line tools that make up
 the low-level development kit for the Yubico YubiKey authentication device.")
     (home-page "https://developers.yubico.com/yubico-c/")
-    (license bsd-2)))
+    (license license:bsd-2)))
 
 (define-public ykclient
   (package
@@ -74,4 +74,4 @@ the low-level development kit for the Yubico YubiKey authentication device.")
 one-time-password (OTP) YubiKey against Yubico’s servers.  See the Yubico
 website for more information about Yubico and the YubiKey.")
     (home-page "https://developers.yubico.com/yubico-c-client/")
-    (license bsd-2)))
+    (license license:bsd-2)))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index af5aae1029..5fdeeb74a4 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -506,3 +507,28 @@ manipulating key files.")
 authentication with SSH's so-called @dfn{interactive keyboard password
 authentication}.")
     (license license:gpl2+)))
+
+(define-public autossh
+  (package
+    (name "autossh")
+    (version "1.4e")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://www.harding.motd.ca/autossh/autossh-"
+             version ".tgz"))
+       (sha256
+        (base32 "0mlicw28vq2jxa0jf0dys5ja75v0fxpjavlq9dpif6bnknji13ly"))))
+    (build-system gnu-build-system)
+    (arguments `(#:tests? #f)) ; There is no "make check" or anything similar
+    (inputs `(("openssh" ,openssh)))
+    (synopsis "Automatically restart SSH sessions and tunnels")
+    (description "autossh is a program to start a copy of @command{ssh} and
+monitor it, restarting it as necessary should it die or stop passing traffic.")
+    (home-page "http://www.harding.motd.ca/autossh/")
+    (license
+     ;; Why point to a source file?  Well, all the individual files have a
+     ;; copy of this license in their headers, but there's no separate file
+     ;; with that information.
+     (license:non-copyleft "file://autossh.c"))))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0748b5d860..ee6e69346a 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -200,13 +200,13 @@ available, greatly increasing its breadth and scope.")
 (define-public r-colorspace
   (package
     (name "r-colorspace")
-    (version "1.2-6")
+    (version "1.2-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "colorspace" version))
        (sha256
-        (base32 "0y8n4ljwhbdvkysdwgqzcnpv107pb3px1jip3k6svv86p72nacds"))))
+        (base32 "0flw97iwwpkxy6si9cn982jhl61wb1rxi3r0nz2xxf0c3fzw18d5"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/colorspace")
     (synopsis "Color space manipulation")
@@ -410,14 +410,14 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
 (define-public r-matrix
   (package
     (name "r-matrix")
-    (version "1.2-7")
+    (version "1.2-7.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Matrix" version))
        (sha256
         (base32
-         "18x3mdq5cdhbk1lw5cj7vbr41lk8w9p4i5kzh8wslgq6p3d9ac3c"))))
+         "09rd51na9spz0lm1lylkfhw43w7c922b83m4jsggmpg3pbd6dssa"))))
     (properties `((upstream-name . "Matrix")))
     (build-system r-build-system)
     (propagated-inputs
@@ -558,14 +558,14 @@ solution for sending email, including attachments, from within R.")
 (define-public r-stringi
   (package
     (name "r-stringi")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "stringi" version))
        (sha256
         (base32
-         "0rg14hga1g2havd3imhk04iyh1dnisnmxf7yhiiwhs7y72hphc94"))))
+         "13i1p6j8mx31hsw2s4c2phm2llrrdakzixkm6i0axsxprri722z5"))))
     (build-system r-build-system)
     (inputs `(("icu4c" ,icu4c)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -608,13 +608,13 @@ the input of another.")
 (define-public r-reshape2
   (package
     (name "r-reshape2")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "reshape2" version))
        (sha256
-        (base32 "0hl082dyk3pk07nqprpn5dvnrkqhnf6zjnjig1ijddxhlmsrzm7v"))))
+        (base32 "0swvjmc9f8cvkrsz463cp6snd8bncbv6q8yrfrb4rgkr0dhq6dvd"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-plyr" ,r-plyr)
@@ -811,13 +811,13 @@ for template use among CRAN packages.")
 (define-public r-evaluate
   (package
     (name "r-evaluate")
-    (version "0.9")
+    (version "0.10")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "evaluate" version))
               (sha256
                (base32
-                "1bn6bympg9prr8d16g1g530bddii8i04hf4i2bkw0yf4dsfqq4g8"))))
+                "0mwna7rjyrmc76651a1fm7c76ippdsc2wsp3sj3iwb1c73mvlqv1"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-stringr" ,r-stringr)))
@@ -1131,13 +1131,13 @@ flexible and easy to set up.")
 (define-public r-r6
   (package
     (name "r-r6")
-    (version "2.1.3")
+    (version "2.2.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R6" version))
               (sha256
                (base32
-                "19qrkgxvssyi51fm80h93sabzz0n2vgqgv1w8xjqbsap0nx379vy"))))
+                "1ir51pb0y6yj05qaxsflk4a6hv8n73cwlb0qajcskbrz632dsyvx"))))
     (build-system r-build-system)
     (home-page "https://github.com/wch/R6/")
     (synopsis "Classes with reference semantics in R")
@@ -1209,14 +1209,14 @@ database.")
 (define-public r-acepack
   (package
     (name "r-acepack")
-    (version "1.3-3.3")
+    (version "1.4.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "acepack" version))
        (sha256
         (base32
-         "13ry3vyys12iplb14jfhmkrl9g5fxg3iijiggq4s4zb5m5436b1y"))))
+         "0brivhr0imf2qq1flc9qxibybg1zi5m8pxz8cjn5a8gb42bcv96n"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -1230,14 +1230,14 @@ transformations.")
 (define-public r-cluster
   (package
     (name "r-cluster")
-    (version "2.0.4")
+    (version "2.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "cluster" version))
        (sha256
         (base32
-         "1r669aaaia05i8sv8hxiig1ddah7hm8qw869wgig5i0zzk22bnfl"))))
+         "1bkvqmv8h2c423q9ag2afb6s9j2vcdlxsf559zzbimraphrr2c2b"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -1252,14 +1252,14 @@ Groups in Data\".")
 (define-public r-foreign
   (package
     (name "r-foreign")
-    (version "0.8-66")
+    (version "0.8-67")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "foreign" version))
        (sha256
         (base32
-         "19278jm85728zb20800w6hq9q8jy8ywdn81mgmlnxkmrr9giwh6p"))))
+         "1mcrm2pydimbyjhkrw5h380bifj1jhwzifph1xgh90asf3lvd1xd"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/foreign")
     (synopsis "Read data stored by other statistics software in R")
@@ -1615,14 +1615,14 @@ limited to R.")
 (define-public r-backports
   (package
     (name "r-backports")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "backports" version))
        (sha256
         (base32
-         "0s04mbb7imqc00jl37i081y4yf7qdimk687dyrkvb20nixvjvjyh"))))
+         "0fssh5rnnvpp8wm0ml9gk765idwrgj07xyxpkhpidl9zwydxzif2"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/backports")
     (synopsis "Reimplementations of functions introduced since R 3.0.0")
@@ -2051,13 +2051,13 @@ well as additional utilities such as panel and axis annotation functions.")
 (define-public r-rcpparmadillo
   (package
     (name "r-rcpparmadillo")
-    (version "0.7.400.2.0")
+    (version "0.7.500.0.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "RcppArmadillo" version))
               (sha256
                (base32
-                "0g2658iy43higy1cay00ljibgnwh0zv5gcwvbhckjs48y8z1a2pb"))
+                "06qb6877c5qd8lvnc4b27z8fwb5r5pyylkj0g6kj1rn868zkh5ps"))
               (modules '((guix build utils)))
               ;; Remove bundled armadillo sources
               (snippet
@@ -2135,14 +2135,14 @@ encoder/decoder, round-off-error-free sum and cumsum, etc.")
 (define-public r-rmarkdown
   (package
     (name "r-rmarkdown")
-    (version "1.0")
+    (version "1.1")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "rmarkdown" version))
         (sha256
           (base32
-            "0c7gs9c8xdjfxviw0syh13pf3vys2b2ssixmnyqbji64xdscn7pz"))))
+            "1czvkaz1ji3jyj6qrvbswisqs9d05ljqc4vjkfdrf6hygix7azd0"))))
     (properties `((upstream-name . "rmarkdown")))
     (build-system r-build-system)
     (arguments
@@ -2161,6 +2161,8 @@ encoder/decoder, round-off-error-free sum and cumsum, etc.")
              #t)))))
     (propagated-inputs
      `(("r-catools" ,r-catools)
+       ("r-evaluate" ,r-evaluate)
+       ("r-tibble" ,r-tibble)
        ("r-htmltools" ,r-htmltools)
        ("r-jsonlite" ,r-jsonlite)
        ("r-base64enc" ,r-base64enc)
@@ -2413,13 +2415,13 @@ multiple breakpoints are allowed.")
 (define-public r-snow
   (package
     (name "r-snow")
-    (version "0.4-1")
+    (version "0.4-2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "snow" version))
               (sha256
                (base32
-                "19r2yq8aqw99vwyx81p6ay4afsfqffal1wzvizk3dj882s2n4j8w"))))
+                "1mxbrkpnmq32x4wd0194d541661yvfrrjlr3lsf7qq53ms3h21zf"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/snow")
     (synopsis "Support for simple parallel computing in R")
@@ -2477,14 +2479,14 @@ data.")
 (define-public r-codetools
   (package
     (name "r-codetools")
-    (version "0.2-14")
+    (version "0.2-15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "codetools" version))
        (sha256
         (base32
-         "0y9r4m2b8xgavr89sc179knzwpz54xljbc1dinpq2q07i4xn0397"))))
+         "0h7sjmvvsi35041jp47cxhsqzgf1y8jrw6fxii7n26i8g7nrh1sf"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/codetools")
     (synopsis "Code analysis tools for R")
@@ -2621,14 +2623,14 @@ flexible than the orphaned \"base64\" package.")
 (define-public r-irlba
   (package
     (name "r-irlba")
-    (version "2.1.1")
+    (version "2.1.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "irlba" version))
        (sha256
         (base32
-         "0yb8b8g6f3cb0f56r702fn2px8nf5rx8cyy2scq36xai9w7f25jj"))))
+         "1qbcn0ix85pmk296jhpi419kvh06vxm5cq24yk013ps3g7fyi0si"))))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/irlba")
     (synopsis "Methods for eigendecomposition of large matrices")
@@ -2897,13 +2899,13 @@ maintenance for package developers.")
 (define-public r-r-utils
   (package
     (name "r-r-utils")
-    (version "2.3.0")
+    (version "2.4.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R.utils" version))
               (sha256
                (base32
-                "0f4z7ka1wb7bgxc5wyqihqxsnqwgyyzbglwvfwmx0gn8i0wzi647"))))
+                "0cn0wlmgwclmqak05825wrk9q894xa4qjqa7rn0i9p4ss7k6vifj"))))
     (properties `((upstream-name . "R.utils")))
     (build-system r-build-system)
     (propagated-inputs
@@ -2995,13 +2997,13 @@ t-probabilities, quantiles, random deviates and densities.")
 (define-public r-matrixstats
   (package
     (name "r-matrixstats")
-    (version "0.50.2")
+    (version "0.51.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "matrixStats" version))
               (sha256
                (base32
-                "0zj27xxx9cyrq16rn4g3l0krqg68p8f2qp18w1w4i767j87amlbj"))))
+                "0bsalx605kgb9nl7mfnq1qinkyd9s97p8plymsyfja1gmcnjrcpj"))))
     (properties `((upstream-name . "matrixStats")))
     (build-system r-build-system)
     (native-inputs
@@ -3280,6 +3282,30 @@ conversion of R objects to LaTeX code, and recoding variables.")
 framework, with additional code inspection and report generation tools.")
     (license license:gpl2+)))
 
+(define-public r-kernsmooth
+  (package
+    (name "r-kernsmooth")
+    (version "2.23-15")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "KernSmooth" version))
+       (sha256
+        (base32
+         "1xhha8kw10jv8pv8b61hb5in9qiw3r2a9kdji3qlm991s4zd4wlb"))))
+    (properties `((upstream-name . "KernSmooth")))
+    (build-system r-build-system)
+    (inputs
+     `(("gfortran" ,gfortran)))
+    (home-page "http://cran.r-project.org/web/packages/KernSmooth")
+    (synopsis "Functions for kernel smoothing")
+    (description
+     "This package provides functions for kernel smoothing (and density
+estimation) corresponding to the book: Wand, M.P.  and Jones, M.C. (1995)
+\"Kernel Smoothing\".")
+    ;; Unlimited use and distribution
+    (license (license:non-copyleft "file://LICENSE.note"))))
+
 (define-public r-zoo
   (package
     (name "r-zoo")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index cdc9193c14..1b1c16a2ec 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -250,6 +250,37 @@ H.264 (MPEG-4 AVC) video streams.")
                     "file://extras/cl.h"
                     "See extras/cl.h in the distribution.")))))
 
+(define-public x265
+  (package
+    (name "x265")
+    (version "2.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "https://download.videolan.org/videolan/x265/"
+                            "x265_" version ".tar.gz"))
+        (sha256
+         (base32
+          "0hx6sr9l7586gs4qds2sj0i1m5brxkaqq3cwmibhfb559fpvkz48"))
+        (modules '((guix build utils)))
+        (snippet
+         '(delete-file-recursively "source/compat/getopt"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'prepare-build
+           (lambda _
+             (delete-file-recursively "build")
+             (chdir "source")
+             #t)))))
+    (home-page "http://x265.org/")
+    (synopsis "Library for encoding h.265/HEVC video streams")
+    (description "x265 is a H.265 / HEVC video encoder application library,
+designed to encode video or images into an H.265 / HEVC encoded bitstream.")
+    (license license:gpl2+)))
+
 (define-public libass
   (package
     (name "libass")
@@ -435,6 +466,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
        ("soxr" ,soxr)
        ("speex" ,speex)
        ("twolame" ,twolame)
+       ("x265" ,x265)
        ("xvid" ,xvid)
        ("zlib" ,zlib)))
     (native-inputs
@@ -518,6 +550,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
          "--enable-libvpx"
          "--enable-libxvid"
          "--enable-libx264"
+         "--enable-libx265"
          "--enable-openal"
          "--enable-opengl"
          "--enable-x11grab"
@@ -647,6 +680,7 @@ audio/video codec library.")
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
+       ("x265" ,x265)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 60f1f736cd..ddf2ebfcf5 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3205,13 +3205,13 @@ particularly easy to create complete web applications using httpuv alone.")
 (define-public r-jsonlite
   (package
     (name "r-jsonlite")
-    (version "1.0")
+    (version "1.1")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "jsonlite" version))
               (sha256
                (base32
-                "0bcnzzycvwwkm0lv0ka9xf55z5c1795b7c2vhmf53z73cxixsmnp"))))
+                "0mrfzh0mxxrhqdmxai434wvyd7skkw28vxr7pyls19yrg941g6r3"))))
     (build-system r-build-system)
     (home-page "http://arxiv.org/abs/1403.2805")
     (synopsis "Robust, high performance JSON parser and generator for R")
@@ -3311,13 +3311,13 @@ applications.")
 (define-public r-curl
   (package
     (name "r-curl")
-    (version "1.2")
+    (version "2.2")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "curl" version))
               (sha256
                (base32
-                "04fwasg400v8dvkcn1fcha1jzdz8lbyxi0679q7flsyrp57b3jrf"))))
+                "0hyvyjzf5ja7kfhzmlfgp86hg1lxrriiwbnr6pxabwwslswj3cmj"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 0a2a09bbf5..59e1e54e04 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,6 +30,8 @@
   #:use-module (ice-9 match)
   #:export (nginx-configuration
             nginx-configuration?
+            nginx-vhost-configuration
+            nginx-vhost-configuration?
             nginx-service
             nginx-service-type))
 
@@ -38,6 +41,26 @@
 ;;;
 ;;; Code:
 
+(define-record-type* <nginx-vhost-configuration>
+  nginx-vhost-configuration make-nginx-vhost-configuration
+  nginx-vhost-configuration?
+  (http-port           nginx-vhost-configuration-http-port
+                       (default 80))
+  (https-port          nginx-vhost-configuration-https-port
+                       (default 443))
+  (server-name         nginx-vhost-configuration-server-name
+                       (default (list 'default)))
+  (root                nginx-vhost-configuration-root
+                       (default "/srv/http"))
+  (index               nginx-vhost-configuration-index
+                       (default (list "index.html")))
+  (ssl-certificate     nginx-vhost-configuration-ssl-certificate
+                       (default "/etc/nginx/cert.pem"))
+  (ssl-certificate-key nginx-vhost-configuration-ssl-certificate-key
+                       (default "/etc/nginx/key.pem"))
+  (server-tokens?      nginx-vhost-configuration-server-tokens?
+                       (default #f)))
+
 (define-record-type* <nginx-configuration>
   nginx-configuration make-nginx-configuration
   nginx-configuration?
@@ -46,16 +69,70 @@
   (run-directory nginx-configuration-run-directory) ;string
   (file          nginx-configuration-file))         ;string | file-like
 
-(define (default-nginx-config log-directory run-directory)
+(define (config-domain-strings names)
+ "Return a string denoting the nginx config representation of NAMES, a list
+of domain names."
+ (string-concatenate
+  (map (match-lambda
+        ('default "_")
+        ((? string? str) str))
+       names)))
+
+(define (config-index-strings names)
+ "Return a string denoting the nginx config representation of NAMES, a list
+of index files."
+ (string-concatenate
+  (map (match-lambda
+        ((? string? str) str))
+       names)))
+
+(define (default-nginx-vhost-config vhost)
+  (string-append
+   "    server {\n"
+   (if (nginx-vhost-configuration-http-port vhost)
+       (string-append "      listen "
+                      (number->string (nginx-vhost-configuration-http-port vhost))
+                      ";\n")
+       "")
+   (if (nginx-vhost-configuration-https-port vhost)
+       (string-append "      listen "
+                      (number->string (nginx-vhost-configuration-https-port vhost))
+                      " ssl;\n")
+       "")
+   "      server_name " (config-domain-strings
+                         (nginx-vhost-configuration-server-name vhost))
+                        ";\n"
+   (if (nginx-vhost-configuration-ssl-certificate vhost)
+       (string-append "      ssl_certificate "
+                      (nginx-vhost-configuration-ssl-certificate vhost) ";\n")
+       "")
+   (if (nginx-vhost-configuration-ssl-certificate-key vhost)
+       (string-append "      ssl_certificate_key "
+                      (nginx-vhost-configuration-ssl-certificate-key vhost) ";\n")
+       "")
+   "      root " (nginx-vhost-configuration-root vhost) ";\n"
+   "      index " (config-index-strings (nginx-vhost-configuration-index vhost)) ";\n"
+   "      server_tokens " (if (nginx-vhost-configuration-server-tokens? vhost)
+                              "on" "off") ";\n"
+   "    }\n"))
+
+(define (default-nginx-config log-directory run-directory vhost-list)
   (plain-file "nginx.conf"
               (string-append
                "user nginx nginx;\n"
                "pid " run-directory "/pid;\n"
                "error_log " log-directory "/error.log info;\n"
                "http {\n"
+               "    client_body_temp_path " run-directory "/client_body_temp;\n"
+               "    proxy_temp_path " run-directory "/proxy_temp;\n"
+               "    fastcgi_temp_path " run-directory "/fastcgi_temp;\n"
+               "    uwsgi_temp_path " run-directory "/uwsgi_temp;\n"
+               "    scgi_temp_path " run-directory "/scgi_temp;\n"
                "    access_log " log-directory "/access.log;\n"
-               "    root /var/www;\n"
-               "    server {}\n"
+               (let ((http (map default-nginx-vhost-config vhost-list)))
+                 (do ((http http (cdr http))
+                      (block "" (string-append (car http) "\n" block )))
+                     ((null? http) block)))
                "}\n"
                "events {}\n")))
 
@@ -79,6 +156,12 @@
          (mkdir-p #$log-directory)
          (format #t "creating nginx run directory '~a'~%" #$run-directory)
          (mkdir-p #$run-directory)
+         (format #t "creating nginx temp directories '~a/{client_body,proxy,fastcgi,uwsgi,scgi}_temp'~%" #$run-directory)
+         (mkdir-p (string-append #$run-directory "/client_body_temp"))
+         (mkdir-p (string-append #$run-directory "/proxy_temp"))
+         (mkdir-p (string-append #$run-directory "/fastcgi_temp"))
+         (mkdir-p (string-append #$run-directory "/uwsgi_temp"))
+         (mkdir-p (string-append #$run-directory "/scgi_temp"))
          ;; Check configuration file syntax.
          (system* (string-append #$nginx "/sbin/nginx")
                   "-c" #$config-file "-t")))))
@@ -114,8 +197,9 @@
 (define* (nginx-service #:key (nginx nginx)
                         (log-directory "/var/log/nginx")
                         (run-directory "/var/run/nginx")
+                        (vhost-list (list (nginx-vhost-configuration)))
                         (config-file
-                         (default-nginx-config log-directory run-directory)))
+                         (default-nginx-config log-directory run-directory vhost-list)))
   "Return a service that runs NGINX, the nginx web server.
 
 The nginx daemon loads its runtime configuration from CONFIG-FILE, stores log
diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm
index ead48f0e32..249b415ab4 100644
--- a/gnu/system/grub.scm
+++ b/gnu/system/grub.scm
@@ -27,9 +27,8 @@
   #:use-module (gnu artwork)
   #:use-module (gnu system file-systems)
   #:autoload   (gnu packages grub) (grub)
-  #:autoload   (gnu packages inkscape) (inkscape)
-  #:autoload   (gnu packages imagemagick) (imagemagick)
   #:autoload   (gnu packages compression) (gzip)
+  #:autoload   (gnu packages gtk) (guile-cairo guile-rsvg)
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (srfi srfi-1)
@@ -132,25 +131,23 @@ object denoting a file name."
 ;;; Background image & themes.
 ;;;
 
-(define (svg->png svg)
-  "Build a PNG from SVG."
-  ;; Don't use #:local-build? so that it's substitutable.
+(define* (svg->png svg #:key width height)
+  "Build a PNG of HEIGHT x WIDTH from SVG."
   (gexp->derivation "grub-image.png"
-                    #~(zero?
-                       (system* (string-append #$inkscape "/bin/inkscape")
-                                "--without-gui"
-                                (string-append "--export-png=" #$output)
-                                #$svg))))
-
-(define (resize-image image width height)
-  "Resize IMAGE to WIDTHxHEIGHT."
-  ;; Don't use #:local-build? so that it's substitutable.
-  (let ((size (string-append (number->string width)
-                             "x" (number->string height))))
-    (gexp->derivation "grub-image.resized.png"
-                      #~(zero?
-                         (system* (string-append #$imagemagick "/bin/convert")
-                                  "-resize" #$size #$image #$output)))))
+                    (with-imported-modules '((gnu build svg))
+                      #~(begin
+                          ;; We need these two libraries.
+                          (add-to-load-path (string-append #$guile-rsvg
+                                                           "/share/guile/site/"
+                                                           (effective-version)))
+                          (add-to-load-path (string-append #$guile-cairo
+                                                           "/share/guile/site/"
+                                                           (effective-version)))
+
+                          (use-modules (gnu build svg))
+                          (svg->png #$svg #$output
+                                    #:width #$width
+                                    #:height #$height)))))
 
 (define* (grub-background-image config #:key (width 1024) (height 768))
   "Return the GRUB background image defined in CONFIG with a ratio of
@@ -160,8 +157,8 @@ WIDTH/HEIGHT, or #f if none was found."
                         (= (grub-image-aspect-ratio image) ratio))
                       (grub-theme-images (grub-configuration-theme config)))))
     (if image
-        (mlet %store-monad ((png (svg->png (grub-image-file image))))
-          (resize-image png width height))
+        (svg->png (grub-image-file image)
+                  #:width width #:height height)
         (with-monad %store-monad
           (return #f)))))