summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-01-13 17:50:17 +0100
committerLudovic Courtès <ludo@gnu.org>2016-01-13 18:18:48 +0100
commit8c986ab12034d67db836a881f57c69754d8073ae (patch)
treebf5183011119695ac549d4cfff4dc2175e659397 /gnu
parent203795aceaabec0e0e5818e1650ad407d825d1b3 (diff)
parent7a2eed3aac1ecd0bdf293e33a234fad58f2e5f9e (diff)
downloadguix-8c986ab12034d67db836a881f57c69754d8073ae.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/linux-boot.scm3
-rw-r--r--gnu/build/linux-modules.scm2
-rw-r--r--gnu/packages/admin.scm13
-rw-r--r--gnu/packages/algebra.scm6
-rw-r--r--gnu/packages/audio.scm24
-rw-r--r--gnu/packages/bdw-gc.scm2
-rw-r--r--gnu/packages/bioinformatics.scm692
-rw-r--r--gnu/packages/boost.scm56
-rw-r--r--gnu/packages/code.scm28
-rw-r--r--gnu/packages/commencement.scm5
-rw-r--r--gnu/packages/ebook.scm6
-rw-r--r--gnu/packages/emacs.scm45
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnuzilla.scm9
-rw-r--r--gnu/packages/graphics.scm3
-rw-r--r--gnu/packages/gtk.scm18
-rw-r--r--gnu/packages/java.scm127
-rw-r--r--gnu/packages/julia.scm129
-rw-r--r--gnu/packages/kodi.scm2
-rw-r--r--gnu/packages/ldc.scm118
-rw-r--r--gnu/packages/libreoffice.scm15
-rw-r--r--gnu/packages/linux-libre-i686.conf220
-rw-r--r--gnu/packages/linux-libre-x86_64.conf252
-rw-r--r--gnu/packages/linux.scm12
-rw-r--r--gnu/packages/man.scm15
-rw-r--r--gnu/packages/maths.scm14
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/asymptote-gsl2.patch33
-rw-r--r--gnu/packages/patches/bedtools-32bit-compilation.patch171
-rw-r--r--gnu/packages/patches/boost-mips-avoid-m32.patch15
-rw-r--r--gnu/packages/patches/csound-header-ordering.patch20
-rw-r--r--gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch46
-rw-r--r--gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch38
-rw-r--r--gnu/packages/patches/julia-0.3.10-fix-empty-array.patch13
-rw-r--r--gnu/packages/patches/ldc-disable-tests.patch90
-rw-r--r--gnu/packages/patches/libcmis-fix-test-onedrive.patch35
-rw-r--r--gnu/packages/patches/nss-pkgconfig.patch27
-rw-r--r--gnu/packages/patches/openimageio-boost-1.60.patch47
-rw-r--r--gnu/packages/patches/sudo-CVE-2015-5602.patch372
-rw-r--r--gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch24
-rw-r--r--gnu/packages/patches/w3m-disable-weak-ciphers.patch24
-rw-r--r--gnu/packages/patches/w3m-fix-compile.patch15
-rw-r--r--gnu/packages/patches/w3m-force-ssl_verify_server-on.patch24
-rw-r--r--gnu/packages/patches/w3m-libgc.patch28
-rw-r--r--gnu/packages/plotutils.scm71
-rw-r--r--gnu/packages/ruby.scm42
-rw-r--r--gnu/packages/samba.scm8
-rw-r--r--gnu/packages/skribilo.scm9
-rw-r--r--gnu/packages/statistics.scm450
-rw-r--r--gnu/packages/texlive.scm119
-rw-r--r--gnu/packages/textutils.scm46
-rw-r--r--gnu/packages/video.scm6
-rw-r--r--gnu/packages/w3m.scm7
-rw-r--r--gnu/packages/webkit.scm6
-rw-r--r--gnu/packages/xml.scm25
-rw-r--r--gnu/packages/xorg.scm5
-rw-r--r--gnu/services.scm69
-rw-r--r--gnu/system.scm8
58 files changed, 2981 insertions, 738 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 30d6570b04..0fc90af6a3 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -381,7 +381,6 @@ to it are lost."
          (start-repl))
 
        (display "loading kernel modules...\n")
-       (current-module-debugging-port (current-output-port))
        (for-each (cut load-linux-module* <>
                       #:lookup-module lookup-module)
                  (map lookup-module linux-modules))
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm
index a3bc7d6e33..e6552fdb67 100644
--- a/gnu/build/linux-modules.scm
+++ b/gnu/build/linux-modules.scm
@@ -144,7 +144,7 @@ true, load its dependencies first (à la 'modprobe'.)  The actual files
 containing modules depended on are obtained by calling LOOKUP-MODULE with the
 module name."
   (define (slurp module)
-    ;; TODO: Use 'mmap' to reduce memory usage.
+    ;; TODO: Use 'finit_module' to reduce memory usage.
     (call-with-input-file file get-bytevector-all))
 
   (when recursive?
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 4f335a27d4..6e3024dffd 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
@@ -402,14 +402,14 @@ connection alive.")
                                       bind-release-version)))
     (package
       (name "isc-dhcp")
-      (version "4.3.3")
+      (version "4.3.3-P1")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
                                     version "/dhcp-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "1pjy4lylx7dww1fp2mk5ikya5vxaf97z70279j81n74vn12ljg2m"))))
+                  "08crcsmg4dm2v533aq3883ik8mf4vvvd6r998r4vrgx1zxnqj7n1"))))
       (build-system gnu-build-system)
       (arguments
        `(#:parallel-build? #f
@@ -700,12 +700,13 @@ system administrator.")
                                     version ".tar.gz")))
               (sha256
                (base32
-                "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"))))
+                "0263gi6i19fyzzc488n0qw3m518i39f6a7qmrfvahk9j10bkh5j3"))
+              (patches (list (search-patch "sudo-CVE-2015-5602.patch")))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
        (list "--with-logpath=/var/log/sudo.log"
-             "--with-rundir=/run/sudo"
+             "--with-rundir=/var/run/sudo"    ;must be cleaned up at boot time
              "--with-vardir=/var/db/sudo"
              "--with-iologdir=/var/log/sudo-io"
 
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 25e1af1750..dd6838140b 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
@@ -157,7 +157,7 @@ PARI is also available as a C library to allow for faster computations.")
 (define-public gp2c
   (package
    (name "gp2c")
-   (version "0.0.9pl4")
+   (version "0.0.9pl5")
    (source (origin
             (method url-fetch)
             (uri (string-append
@@ -165,7 +165,7 @@ PARI is also available as a C library to allow for faster computations.")
                   version ".tar.gz"))
             (sha256
               (base32
-                "079qq4yyxpc53a2kn08gg9pcfgdyffbl14c2hqsic11q8pnsr08z"))))
+                "1q003mkagc5ib6lqb2xfay7j4ffkwv7xlnznp6wdrq2sbqq4vyak"))))
    (build-system gnu-build-system)
    (native-inputs `(("perl" ,perl)))
    (inputs `(("pari-gp" ,pari-gp)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index df1f67bddd..3cc5cebc2c 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -320,7 +320,8 @@ tools (analyzer, mono/stereo tools, crossovers).")
                     version "/Csound" version ".tar.gz"))
               (sha256
                (base32
-                "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))))
+                "0a1sni6lr7qpwywpggbkp0ia3h9bwwgf9i87gsag8ra2h30v82hd"))
+              (patches (list (search-patch "csound-header-ordering.patch")))))
     (build-system cmake-build-system)
     (arguments
      ;; Work around this error on x86_64 with libc 2.22+:
@@ -1081,7 +1082,16 @@ software.")
        #:configure-flags
        (list (string-append "--boost-includes="
                             (assoc-ref %build-inputs "boost")
-                            "/include"))))
+                            "/include"))
+       #:phases (modify-phases %standard-phases
+                  (add-before
+                   'configure 'set-flags
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     ;; See e.g. https://github.com/lvtk/lvtk/issues/21
+                     (setenv "LDFLAGS"
+                             (string-append
+                              "-L" (assoc-ref inputs "boost") "/lib "
+                              "-lboost_system")))))))
     (inputs
      `(("boost" ,boost)
        ("lv2" ,lv2)))
@@ -1839,6 +1849,11 @@ result.")
                     "http://kokkinizita.linuxaudio.org"
                     "/linuxaudio/downloads/zita-convolver-"
                     version ".tar.bz2"))
+              (snippet
+               ;; Don't optimize for a specific processor architecture.
+               '(substitute* "libs/Makefile"
+                  (("^CXXFLAGS \\+= -march=native") "")))
+              (modules '((guix build utils)))
               (sha256
                (base32
                 "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz"))))
@@ -1881,6 +1896,11 @@ engine.")
                     "http://kokkinizita.linuxaudio.org"
                     "/linuxaudio/downloads/zita-resampler-"
                     version ".tar.bz2"))
+              (snippet
+               ;; Don't optimize for a specific processor architecture.
+               '(substitute* '("apps/Makefile" "libs/Makefile")
+                  (("^CXXFLAGS \\+= -march=native") "")))
+              (modules '((guix build utils)))
               (sha256
                (base32
                 "0r9ary5sc3y8vba5pad581ha7mgsrlyai83w7w4x2fmhfy64q0wq"))))
diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm
index 0a483ef864..992a11bac0 100644
--- a/gnu/packages/bdw-gc.scm
+++ b/gnu/packages/bdw-gc.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 76a1c17737..c6531d669f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
+;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;;
@@ -41,12 +41,14 @@
   #:use-module (gnu packages cpio)
   #:use-module (gnu packages file)
   #:use-module (gnu packages gawk)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages java)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages machine-learning)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages mpi)
   #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
@@ -56,6 +58,7 @@
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tbb)
   #:use-module (gnu packages textutils)
+  #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages vim)
   #:use-module (gnu packages web)
@@ -205,7 +208,7 @@ computational cluster.")
 (define-public bedtools
   (package
     (name "bedtools")
-    (version "2.24.0")
+    (version "2.25.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/arq5x/bedtools2/archive/v"
@@ -213,8 +216,7 @@ computational cluster.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0lnxrjvs3nnmb4bmskag1wg3h2hd80przz5q3xd0bvs7vyxrvpbl"))
-              (patches (list (search-patch "bedtools-32bit-compilation.patch")))))
+                "1ywcy3yfwzhl905b51l0ffjia55h75vv3mw5xkvib04pp6pj548m"))))
     (build-system gnu-build-system)
     (native-inputs `(("python" ,python-2)))
     (inputs `(("samtools" ,samtools)
@@ -222,25 +224,15 @@ computational cluster.")
     (arguments
      '(#:test-target "test"
        #:phases
-       (alist-cons-after
-        'unpack 'patch-makefile-SHELL-definition
-        (lambda _
-          ;; patch-makefile-SHELL cannot be used here as it does not
-          ;; yet patch definitions with `:='.  Since changes to
-          ;; patch-makefile-SHELL result in a full rebuild, features
-          ;; of patch-makefile-SHELL are reimplemented here.
-          (substitute* "Makefile"
-            (("^SHELL := .*$") (string-append "SHELL := " (which "bash") " -e \n"))))
-        (alist-delete
-         'configure
-         (alist-replace
-          'install
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
-              (for-each (lambda (file)
-                          (install-file file bin))
-                        (find-files "bin" ".*"))))
-          %standard-phases)))))
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+               (for-each (lambda (file)
+                           (install-file file bin))
+                         (find-files "bin" ".*")))
+             #t)))))
     (home-page "https://github.com/arq5x/bedtools2")
     (synopsis "Tools for genome analysis and arithmetic")
     (description
@@ -1064,14 +1056,14 @@ data and settings.")
 (define-public edirect
   (package
     (name "edirect")
-    (version "2.50")
+    (version "3.50")
     (source (origin
               (method url-fetch)
               ;; Note: older versions are not retained.
-              (uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.zip")
+              (uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.tar.gz")
               (sha256
                (base32
-                "08afhz2ph66h8h381hl1mqyxkdi5nbvzsyj9gfw3jfbdijnpi4qj"))))
+                "1cr3gzcs3flmgnnbj5iz93vh9w0fca1ilzi2q82cl63ln3mwvpz0"))))
     (build-system perl-build-system)
     (arguments
      `(#:tests? #f ;no "check" target
@@ -1111,8 +1103,6 @@ data and settings.")
        ("perl-uri" ,perl-uri)
        ("perl-www-robotrules" ,perl-www-robotrules)
        ("perl" ,perl)))
-    (native-inputs
-     `(("unzip" ,unzip)))
     (home-page "http://www.ncbi.nlm.nih.gov/books/NBK179288/")
     (synopsis "Tools for accessing the NCBI's set of databases")
     (description
@@ -1436,6 +1426,71 @@ genes in incomplete assemblies or complete genomes.")
     ;; GPL3+ according to private correspondense with the authors.
     (license license:gpl3+)))
 
+(define-public fxtract
+  (let ((util-commit "776ca85a18a47492af3794745efcb4a905113115"))
+    (package
+      (name "fxtract")
+      (version "2.3")
+      (source
+       (origin
+         (method url-fetch)
+         (uri (string-append
+               "https://github.com/ctSkennerton/fxtract/archive/"
+               version ".tar.gz"))
+         (file-name (string-append "ctstennerton-util-"
+                                   (string-take util-commit 7)
+                                   "-checkout"))
+         (sha256
+          (base32
+           "0275cfdhis8517hm01is62062swmi06fxzifq7mr3knbbxjlaiwj"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list
+                       (string-append "PREFIX=" (assoc-ref %outputs "out"))
+                       "CC=gcc")
+         #:test-target "fxtract_test"
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'build 'copy-util
+             (lambda* (#:key inputs #:allow-other-keys)
+               (rmdir "util")
+               (copy-recursively (assoc-ref inputs "ctskennerton-util") "util")
+               #t))
+           ;; Do not use make install as this requires additional dependencies.
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out"/bin")))
+                 (install-file "fxtract" bin)
+                 #t))))))
+      (inputs
+       `(("pcre" ,pcre)
+         ("zlib" ,zlib)))
+      (native-inputs
+       ;; ctskennerton-util is licensed under GPL2.
+       `(("ctskennerton-util"
+          ,(origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/ctSkennerton/util.git")
+                   (commit util-commit)))
+             (file-name (string-append
+                         "ctstennerton-util-" util-commit "-checkout"))
+             (sha256
+              (base32
+               "0cls1hd4vgj3f36fpzzg4xc77d6f3hpc60cbpfmn2gdr7ykzzad7"))))))
+      (home-page "https://github.com/ctSkennerton/fxtract")
+      (synopsis "Extract sequences from FASTA and FASTQ files")
+      (description
+       "Fxtract extracts sequences from a protein or nucleotide fastx (FASTA
+or FASTQ) file given a subsequence.  It uses a simple substring search for
+basic tasks but can change to using POSIX regular expressions, PCRE, hash
+lookups or multi-pattern searching as required.  By default fxtract looks in
+the sequence of each record but can also be told to look in the header,
+comment or quality sections.")
+      (license license:expat))))
+
 (define-public grit
   (package
     (name "grit")
@@ -1643,7 +1698,7 @@ from high-throughput sequencing assays.")
                        '(configure install check)))))
     (native-inputs
      `(("ant" ,ant)
-       ("jdk" ,icedtea6 "jdk")))
+       ("jdk" ,icedtea "jdk")))
     (home-page "http://samtools.github.io/htsjdk/")
     (synopsis "Java API for high-throughput sequencing data (HTS) formats")
     (description
@@ -1738,6 +1793,55 @@ to measure the reproducibility of findings identified from replicate
 experiments and provide highly stable thresholds based on reproducibility.")
     (license license:gpl3+)))
 
+(define-public jellyfish
+  (package
+    (name "jellyfish")
+    (version "2.2.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/gmarcais/Jellyfish/"
+                                  "releases/download/v" version
+                                  "/jellyfish-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0a6xnynqy2ibfbfz86b9g2m2dgm7f1469pmymkpam333gi3p26nk"))))
+    (build-system gnu-build-system)
+    (outputs '("out"      ;for library
+               "ruby"     ;for Ruby bindings
+               "python")) ;for Python bindings
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--enable-ruby-binding="
+                            (assoc-ref %outputs "ruby"))
+             (string-append "--enable-python-binding="
+                            (assoc-ref %outputs "python")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'set-SHELL-variable
+           (lambda _
+             ;; generator_manager.hpp either uses /bin/sh or $SHELL
+             ;; to run tests.
+             (setenv "SHELL" (which "bash"))
+             #t)))))
+    (native-inputs
+     `(("bc" ,bc)
+       ("time" ,time)
+       ("ruby" ,ruby)
+       ("python" ,python-2)))
+    (synopsis "Tool for fast counting of k-mers in DNA")
+    (description
+     "Jellyfish is a tool for fast, memory-efficient counting of k-mers in
+DNA.  A k-mer is a substring of length k, and counting the occurrences of all
+such substrings is a central step in many analyses of DNA sequence.  Jellyfish
+is a command-line program that reads FASTA and multi-FASTA files containing
+DNA sequences.  It outputs its k-mer counts in a binary format, which can be
+translated into a human-readable text format using the @code{jellyfish dump}
+command, or queried for specific k-mers with @code{jellyfish query}.")
+    (home-page "http://www.genome.umd.edu/jellyfish.html")
+    ;; The combined work is published under the GPLv3 or later.  Individual
+    ;; files such as lib/jsoncpp.cpp are released under the Expat license.
+    (license (list license:gpl3+ license:expat))))
+
 (define-public macs
   (package
     (name "macs")
@@ -2284,7 +2388,7 @@ distribution, coverage uniformity, strand specificity, etc.")
 (define-public samtools
   (package
     (name "samtools")
-    (version "1.2")
+    (version "1.3")
     (source
      (origin
        (method url-fetch)
@@ -2293,38 +2397,23 @@ distribution, coverage uniformity, strand specificity, etc.")
                        version "/samtools-" version ".tar.bz2"))
        (sha256
         (base32
-         "1akdqb685pk9xk1nb6sa9aq8xssjjhvvc06kp4cpdqvz2157l3j2"))))
+         "03mnf0mhbfwhqlqfslrhfnw68s3g0fs1as354i9a584mqw1l1smy"))))
     (build-system gnu-build-system)
     (arguments
-     `(;; There are 87 test failures when building on non-64-bit architectures
-       ;; due to invalid test data.  This has since been fixed upstream (see
-       ;; <https://github.com/samtools/samtools/pull/307>), but as there has
-       ;; not been a new release we disable the tests for all non-64-bit
-       ;; systems.
-       #:tests? ,(string=? (or (%current-system) (%current-target-system))
-                           "x86_64-linux")
-       #:modules ((ice-9 ftw)
+     `(#:modules ((ice-9 ftw)
                   (ice-9 regex)
                   (guix build gnu-build-system)
                   (guix build utils))
-       #:make-flags (list "LIBCURSES=-lncurses"
-                          (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:configure-flags (list "--with-ncurses")
        #:phases
        (alist-cons-after
-        'unpack
-        'patch-tests
-        (lambda* (#:key inputs #:allow-other-keys)
-          (let ((bash (assoc-ref inputs "bash")))
-            (substitute* "test/test.pl"
-              ;; The test script calls out to /bin/bash
-              (("/bin/bash")
-               (string-append bash "/bin/bash"))
-              ;; There are two failing tests upstream relating to the "stats"
-              ;; subcommand in test_usage_subcommand ("did not have Usage"
-              ;; and "usage did not mention samtools stats"), so we disable
-              ;; them.
-              (("(test_usage_subcommand\\(.*\\);)" cmd)
-               (string-append "unless ($subcommand eq 'stats') {" cmd "};")))))
+        'unpack 'patch-tests
+        (lambda _
+          (substitute* "test/test.pl"
+            ;; The test script calls out to /bin/bash
+            (("/bin/bash") (which "bash")))
+          #t)
         (alist-cons-after
          'install 'install-library
          (lambda* (#:key outputs #:allow-other-keys)
@@ -2339,7 +2428,7 @@ distribution, coverage uniformity, strand specificity, etc.")
                           (install-file file include))
                         (scandir "." (lambda (name) (string-match "\\.h$" name))))
               #t))
-          (alist-delete 'configure %standard-phases))))))
+          %standard-phases)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("ncurses" ,ncurses)
               ("perl" ,perl)
@@ -2489,7 +2578,7 @@ simultaneously.")
             `(modify-phases ,phases
                (replace 'enter-dir (lambda _ (chdir "ngs-java") #t)))))))
     (inputs
-     `(("jdk" ,icedtea6 "jdk")
+     `(("jdk" ,icedtea "jdk")
        ("ngs-sdk" ,ngs-sdk)))
     (synopsis "Java bindings for NGS SDK")))
 
@@ -3418,6 +3507,495 @@ GenomicRanges package defines general purpose containers for storing and
 manipulating genomic intervals and variables defined along a genome.")
     (license license:artistic2.0)))
 
+(define-public r-biobase
+  (package
+    (name "r-biobase")
+    (version "2.30.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "Biobase" version))
+              (sha256
+               (base32
+                "1qasjpq3kw8h7qw8cin3bjvv1256hqr1mm24fq3v0ymxzlb66szi"))))
+    (properties
+     `((upstream-name . "Biobase")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)))
+    (home-page "http://bioconductor.org/packages/Biobase")
+    (synopsis "Base functions for Bioconductor")
+    (description
+     "This package provides functions that are needed by many other packages
+on Bioconductor or which replace R functions.")
+    (license license:artistic2.0)))
+
+(define-public r-annotationdbi
+  (package
+    (name "r-annotationdbi")
+    (version "1.32.2")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "AnnotationDbi" version))
+              (sha256
+               (base32
+                "08ncdjvq0l44kqyiv32kn9wnbw1xgfb6qjfzfbjpqrcfp1jygz9j"))))
+    (properties
+     `((upstream-name . "AnnotationDbi")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-dbi" ,r-dbi)
+       ("r-iranges" ,r-iranges)
+       ("r-rsqlite" ,r-rsqlite)
+       ("r-s4vectors" ,r-s4vectors)))
+    (home-page "http://bioconductor.org/packages/AnnotationDbi")
+    (synopsis "Annotation database interface")
+    (description
+     "This package provides user interface and database connection code for
+annotation data packages using SQLite data storage.")
+    (license license:artistic2.0)))
+
+(define-public r-biomart
+  (package
+    (name "r-biomart")
+    (version "2.26.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "biomaRt" version))
+              (sha256
+               (base32
+                "1s709055abj2gd35g6nnk5d2ai5ii09iir270l2xika6pi62gj3f"))))
+    (properties
+     `((upstream-name . "biomaRt")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-rcurl" ,r-rcurl)
+       ("r-xml" ,r-xml)))
+    (home-page "http://bioconductor.org/packages/biomaRt")
+    (synopsis "Interface to BioMart databases")
+    (description
+     "biomaRt provides an interface to a growing collection of databases
+implementing the @url{BioMart software suite, http://www.biomart.org}.  The
+package enables retrieval of large amounts of data in a uniform way without
+the need to know the underlying database schemas or write complex SQL queries.
+Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene,
+Wormbase and dbSNP mapped to Ensembl.  These major databases give biomaRt
+users direct access to a diverse set of data and enable a wide range of
+powerful online queries from gene annotation to database mining.")
+    (license license:artistic2.0)))
+
+(define-public r-biocparallel
+  (package
+    (name "r-biocparallel")
+    (version "1.4.3")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "BiocParallel" version))
+              (sha256
+               (base32
+                "1f5mndx66vampcsq0n66afg6x851crl0h3nyv2nyp9bsgzj9cdzq"))))
+    (properties
+     `((upstream-name . "BiocParallel")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-futile-logger" ,r-futile-logger)
+       ("r-snow" ,r-snow)))
+    (home-page "http://bioconductor.org/packages/BiocParallel")
+    (synopsis "Bioconductor facilities for parallel evaluation")
+    (description
+     "This package provides modified versions and novel implementation of
+functions for parallel evaluation, tailored to use with Bioconductor
+objects.")
+    (license (list license:gpl2+ license:gpl3+))))
+
+(define-public r-biostrings
+  (package
+    (name "r-biostrings")
+    (version "2.38.2")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "Biostrings" version))
+              (sha256
+               (base32
+                "1afp9szc8ci6jn0m3hrrqh6df65cpw3v1dcnl6xir3d3m3lwwmk4"))))
+    (properties
+     `((upstream-name . "Biostrings")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-iranges" ,r-iranges)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xvector" ,r-xvector)))
+    (home-page "http://bioconductor.org/packages/Biostrings")
+    (synopsis "String objects and algorithms for biological sequences")
+    (description
+     "This package provides memory efficient string containers, string
+matching algorithms, and other utilities, for fast manipulation of large
+biological sequences or sets of sequences.")
+    (license license:artistic2.0)))
+
+(define-public r-rsamtools
+  (package
+    (name "r-rsamtools")
+    (version "1.22.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "Rsamtools" version))
+              (sha256
+               (base32
+                "1yc3nzzms3igjwr4l9yd3wdac95glcs08b4cfp7disyly0wcskjd"))))
+    (properties
+     `((upstream-name . "Rsamtools")))
+    (build-system r-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'use-system-zlib
+           (lambda _
+             (substitute* "DESCRIPTION"
+               (("zlibbioc, ") ""))
+             (substitute* "NAMESPACE"
+               (("import\\(zlibbioc\\)") ""))
+             #t)))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-biostrings" ,r-biostrings)
+       ("r-bitops" ,r-bitops)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xvector" ,r-xvector)))
+    (home-page "http://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
+    (synopsis "Interface to samtools, bcftools, and tabix")
+    (description
+     "This package provides an interface to the 'samtools', 'bcftools', and
+'tabix' utilities for manipulating SAM (Sequence Alignment / Map), FASTA,
+binary variant call (BCF) and compressed indexed tab-delimited (tabix)
+files.")
+    (license license:expat)))
+
+(define-public r-summarizedexperiment
+  (package
+    (name "r-summarizedexperiment")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "SummarizedExperiment" version))
+              (sha256
+               (base32
+                "0w1dwp99p6i7sc3cn0ir3dr8ksgxwjf16675h5i8n6gbv4rl9lz6"))))
+    (properties
+     `((upstream-name . "SummarizedExperiment")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-s4vectors" ,r-s4vectors)))
+    (home-page "http://bioconductor.org/packages/SummarizedExperiment")
+    (synopsis "Container for representing genomic ranges by sample")
+    (description
+     "The SummarizedExperiment container contains one or more assays, each
+represented by a matrix-like object of numeric or other mode.  The rows
+typically represent genomic ranges of interest and the columns represent
+samples.")
+    (license license:artistic2.0)))
+
+(define-public r-genomicalignments
+  (package
+    (name "r-genomicalignments")
+    (version "1.6.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "GenomicAlignments" version))
+              (sha256
+               (base32
+                "03pxzkmwcpl0d7a09ahan0nllfv7qw2i7w361w6af2s4n3xwrniz"))))
+    (properties
+     `((upstream-name . "GenomicAlignments")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biocparallel" ,r-biocparallel)
+       ("r-biostrings" ,r-biostrings)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)))
+    (home-page "http://bioconductor.org/packages/GenomicAlignments")
+    (synopsis "Representation and manipulation of short genomic alignments")
+    (description
+     "This package provides efficient containers for storing and manipulating
+short genomic alignments (typically obtained by aligning short reads to a
+reference genome).  This includes read counting, computing the coverage,
+junction detection, and working with the nucleotide content of the
+alignments.")
+    (license license:artistic2.0)))
+
+(define-public r-rtracklayer
+  (package
+    (name "r-rtracklayer")
+    (version "1.30.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "rtracklayer" version))
+              (sha256
+               (base32
+                "1if31hg56islx5vwydpgs5gkyas26kyvv2ljv1c7jikpm62w14qv"))))
+    (build-system r-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'use-system-zlib
+           (lambda _
+             (substitute* "DESCRIPTION"
+               (("zlibbioc, ") ""))
+             (substitute* "NAMESPACE"
+               (("import\\(zlibbioc\\)") ""))
+             #t)))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biostrings" ,r-biostrings)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-rcurl" ,r-rcurl)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xml" ,r-xml)
+       ("r-xvector" ,r-xvector)))
+    (home-page "http://bioconductor.org/packages/rtracklayer")
+    (synopsis "R interface to genome browsers and their annotation tracks")
+    (description
+     "rtracklayer is an extensible framework for interacting with multiple
+genome browsers (currently UCSC built-in) and manipulating annotation tracks
+in various formats (currently GFF, BED, bedGraph, BED15, WIG, BigWig and 2bit
+built-in).  The user may export/import tracks to/from the supported browsers,
+as well as query and modify the browser state, such as the current viewport.")
+    (license license:artistic2.0)))
+
+(define-public r-genomicfeatures
+  (package
+    (name "r-genomicfeatures")
+    (version "1.22.7")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "GenomicFeatures" version))
+              (sha256
+               (base32
+                "1jb4s49ar5j9qslpd3kfdg2wrl4q7ciysd55h9a7zvspymxcngq8"))))
+    (properties
+     `((upstream-name . "GenomicFeatures")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-biomart" ,r-biomart)
+       ("r-biostrings" ,r-biostrings)
+       ("r-dbi" ,r-dbi)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-rcurl" ,r-rcurl)
+       ("r-rsqlite" ,r-rsqlite)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xvector" ,r-xvector)))
+    (home-page "http://bioconductor.org/packages/GenomicFeatures")
+    (synopsis "Tools for working with transcript centric annotations")
+    (description
+     "This package provides a set of tools and methods for making and
+manipulating transcript centric annotations.  With these tools the user can
+easily download the genomic locations of the transcripts, exons and cds of a
+given organism, from either the UCSC Genome Browser or a BioMart
+database (more sources will be supported in the future).  This information is
+then stored in a local database that keeps track of the relationship between
+transcripts, exons, cds and genes.  Flexible methods are provided for
+extracting the desired features in a convenient format.")
+    (license license:artistic2.0)))
+
+(define-public r-go-db
+  (package
+    (name "r-go-db")
+    (version "3.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "GO.db" version))
+              (sha256
+               (base32
+                "00gariag9ampz82dh0xllrc26r85d7vdcwc0vca5zdy147rwxr7f"))))
+    (properties
+     `((upstream-name . "GO.db")))
+    (build-system r-build-system)
+    (home-page "http://bioconductor.org/packages/GO.db")
+    (synopsis "Annotation maps describing the entire Gene Ontology")
+    (description
+     "The purpose of this GO.db annotation package is to provide detailed
+information about the latest version of the Gene Ontologies.")
+    (license license:artistic2.0)))
+
+(define-public r-topgo
+  (package
+    (name "r-topgo")
+    (version "2.22.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "topGO" version))
+              (sha256
+               (base32
+                "029j9nb39b8l9xlzsp83pmjr8ap247aia387yzaa1yyw8klapdaf"))))
+    (properties
+     `((upstream-name . "topGO")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-biobase" ,r-biobase)
+       ("r-biocgenerics" ,r-biocgenerics)
+       ("r-go-db" ,r-go-db)
+       ("r-sparsem" ,r-sparsem)))
+    (home-page "http://bioconductor.org/packages/topGO")
+    (synopsis "Enrichment analysis for gene ontology")
+    (description
+     "The topGO package provides tools for testing @dfn{gene ontology} (GO)
+terms while accounting for the topology of the GO graph.  Different test
+statistics and different methods for eliminating local similarities and
+dependencies between GO terms can be implemented and applied.")
+    ;; Any version of the LGPL applies.
+    (license license:lgpl2.1+)))
+
+(define-public r-bsgenome
+  (package
+    (name "r-bsgenome")
+    (version "1.38.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "BSgenome" version))
+              (sha256
+               (base32
+                "130w0m6q8kkca7gyz1aqj5jjhalwvwi6rk2yvbjrnj4gpnncyrd2"))))
+    (properties
+     `((upstream-name . "BSgenome")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biocgenerics" ,r-biocgenerics)
+       ("r-biostrings" ,r-biostrings)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-xvector" ,r-xvector)))
+    (home-page "http://bioconductor.org/packages/BSgenome")
+    (synopsis "Infrastructure for Biostrings-based genome data packages")
+    (description
+     "This package provides infrastructure shared by all Biostrings-based
+genome data packages and support for efficient SNP representation.")
+    (license license:artistic2.0)))
+
+(define-public r-impute
+  (package
+    (name "r-impute")
+    (version "1.44.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "impute" version))
+              (sha256
+               (base32
+                "0y4x5jk7gsf4xn56jrkdcdnxpcfll4h6ivncd7n4snmzixldvmvw"))))
+    (inputs
+     `(("gfortran" ,gfortran)))
+    (build-system r-build-system)
+    (home-page "http://bioconductor.org/packages/impute")
+    (synopsis "Imputation for microarray data")
+    (description
+     "This package provides a function to impute missing gene expression
+microarray data, using nearest neighbor averaging.")
+    (license license:gpl2+)))
+
+(define-public r-seqpattern
+  (package
+    (name "r-seqpattern")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "seqPattern" version))
+              (sha256
+               (base32
+                "0p9zj6bic7sa0hb2bjm988kkk5n9r1kvlbqkzvy702f642n0j53i"))))
+    (properties
+     `((upstream-name . "seqPattern")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biostrings" ,r-biostrings)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-iranges" ,r-iranges)
+       ("r-plotrix" ,r-plotrix)))
+    (home-page "http://bioconductor.org/packages/seqPattern")
+    (synopsis "Visualising oligonucleotide patterns and motif occurrences")
+    (description
+     "This package provides tools to visualize oligonucleotide patterns and
+sequence motif occurrences across a large set of sequences centred at a common
+reference point and sorted by a user defined feature.")
+    (license license:gpl3+)))
+
+(define-public r-genomation
+  (package
+    (name "r-genomation")
+    (version "1.2.1")
+    (source (origin
+              (method url-fetch)
+              (uri (bioconductor-uri "genomation" version))
+              (sha256
+               (base32
+                "1mzs995snwim13qk9kz4q3nczpnbsy1allwp4whfq0cflg2mndfr"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-biostrings" ,r-biostrings)
+       ("r-bsgenome" ,r-bsgenome)
+       ("r-data-table" ,r-data-table)
+       ("r-genomeinfodb" ,r-genomeinfodb)
+       ("r-genomicalignments" ,r-genomicalignments)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-gridbase" ,r-gridbase)
+       ("r-impute" ,r-impute)
+       ("r-iranges" ,r-iranges)
+       ("r-matrixstats" ,r-matrixstats)
+       ("r-plotrix" ,r-plotrix)
+       ("r-plyr" ,r-plyr)
+       ("r-readr" ,r-readr)
+       ("r-reshape2" ,r-reshape2)
+       ("r-rsamtools" ,r-rsamtools)
+       ("r-rtracklayer" ,r-rtracklayer)
+       ("r-seqpattern" ,r-seqpattern)))
+    (home-page "http://bioinformatics.mdc-berlin.de/genomation/")
+    (synopsis "Summary, annotation and visualization of genomic data")
+    (description
+     "This package provides a package for summary and annotation of genomic
+intervals.  Users can visualize and quantify genomic intervals over
+pre-defined functional regions, such as promoters, exons, introns, etc.  The
+genomic intervals represent regions with a defined chromosome position, which
+may be associated with a score, such as aligned reads from HT-seq experiments,
+TF binding sites, methylation scores, etc.  The package can use any tabular
+genomic feature data as long as it has minimal information on the locations of
+genomic intervals.  In addition, it can use BAM or BigWig files as input.")
+    (license license:artistic2.0)))
+
 (define-public r-qtl
  (package
   (name "r-qtl")
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index d3b171245d..0a644e8940 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -33,7 +34,7 @@
 (define-public boost
   (package
     (name "boost")
-    (version "1.58.0")
+    (version "1.60.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -42,8 +43,7 @@
                     ".tar.bz2"))
               (sha256
                (base32
-                "1rfkqxns60171q62cppiyzj8pmsbwp1l8jd7p6crriryqd7j1z7x"))
-              (patches (list (search-patch "boost-mips-avoid-m32.patch")))))
+                "0fzx6dwqbrkd4bcd8pjv0fpapwmrxxwr8yx9g67lihlsk3zzysk8"))))
     (build-system gnu-build-system)
     (inputs `(("zlib" ,zlib)))
     (native-inputs
@@ -63,38 +63,38 @@
               ;; so we disable that too.
               ,@(if (string-prefix? "mips64" (or (%current-target-system)
                                                  (%current-system)))
-                    '("--without-context" "--without-coroutine")
+                    '("--without-context"
+                      "--without-coroutine" "--without-coroutine2")
                     '()))))
        `(#:tests? #f
          #:phases
-         (alist-replace
-          'configure
-          (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
-              (substitute* '("libs/config/configure"
-                             "libs/spirit/classic/phoenix/test/runtest.sh"
-                             "tools/build/doc/bjam.qbk"
-                             "tools/build/src/engine/execunix.c"
-                             "tools/build/src/engine/Jambase"
-                             "tools/build/src/engine/jambase.c")
-                (("/bin/sh") (which "sh")))
-
-              (setenv "SHELL" (which "sh"))
-              (setenv "CONFIG_SHELL" (which "sh"))
+         (modify-phases %standard-phases
+           (replace
+            'configure
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((out (assoc-ref outputs "out")))
+                (substitute* '("libs/config/configure"
+                               "libs/spirit/classic/phoenix/test/runtest.sh"
+                               "tools/build/doc/bjam.qbk"
+                               "tools/build/src/engine/execunix.c"
+                               "tools/build/src/engine/Jambase"
+                               "tools/build/src/engine/jambase.c")
+                  (("/bin/sh") (which "sh")))
 
-              (zero? (system* "./bootstrap.sh"
-                              (string-append "--prefix=" out)
-                              "--with-toolset=gcc"))))
-          (alist-replace
-           'build
-           (lambda* (#:key outputs #:allow-other-keys)
-             (zero? (system* "./b2" ,@build-flags)))
+                (setenv "SHELL" (which "sh"))
+                (setenv "CONFIG_SHELL" (which "sh"))
 
-           (alist-replace
+                (zero? (system* "./bootstrap.sh"
+                                (string-append "--prefix=" out)
+                                "--with-toolset=gcc")))))
+           (replace
+            'build
+            (lambda* (#:key outputs #:allow-other-keys)
+              (zero? (system* "./b2" ,@build-flags))))
+           (replace
             'install
             (lambda* (#:key outputs #:allow-other-keys)
-              (zero? (system* "./b2" "install" ,@build-flags)))
-            %standard-phases))))))
+              (zero? (system* "./b2" "install" ,@build-flags))))))))
 
     (home-page "http://boost.org")
     (synopsis "Peer-reviewed portable C++ source libraries")
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index e8c936849a..754a435347 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -91,14 +92,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
 (define-public global                             ; a global variable
   (package
     (name "global")
-    (version "6.5.1")
+    (version "6.5.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/global/global-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1y34nbazsw2p6r2jhv27z15qvm9mhy5xjchpz8pwps00shkm578f"))))
+               "07qx3dbjwkbd1dn42qs7zgj77rxdj2psfrf7bx7yx9al38f87z60"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("libltdl" ,libltdl)
@@ -110,18 +111,17 @@ highlighting your own code that seemed comprehensible when you wrote it.")
              (string-append "--with-sqlite3="
                             (assoc-ref %build-inputs "sqlite")))
 
-       #:phases (alist-cons-after
-                 'install 'post-install
-                 (lambda* (#:key outputs #:allow-other-keys)
-                   ;; Install the Emacs Lisp file in the right place.
-                   (let* ((out  (assoc-ref outputs "out"))
-                          (data (string-append out "/share/gtags"))
-                          (lisp (string-append out "/share/emacs/site-lisp")))
-                     (install-file (string-append data "/gtags.el")
-                                   lisp)
-                     (delete-file (string-append data "/gtags.el"))
-                     #t))
-                 %standard-phases)))
+       #:phases
+       (modify-phases %standard-phases
+        (add-after 'install 'post-install
+          (lambda* (#:key outputs #:allow-other-keys)
+            ;; Install the Emacs Lisp file in the right place.
+            (let* ((out  (assoc-ref outputs "out"))
+                   (data (string-append out "/share/gtags"))
+                   (lisp (string-append out "/share/emacs/site-lisp")))
+              (install-file (string-append data "/gtags.el") lisp)
+              (delete-file (string-append data "/gtags.el"))
+              #t))))))
     (home-page "http://www.gnu.org/software/global/")
     (synopsis "Cross-environment source code tag system")
     (description
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d758913859..1928360e2e 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
@@ -462,7 +462,8 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
     (package
       (inherit (package-with-bootstrap-guile
                 (package-with-explicit-inputs bash inputs
-                                              (current-source-location))))
+                                              (current-source-location)
+                                              #:guile %bootstrap-guile)))
       (native-inputs `(("bison" ,bison-boot1))))))
 
 (define gettext-boot0
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 258294f6c8..718e8b3e50 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -60,7 +60,7 @@
 (define-public calibre
   (package
     (name "calibre")
-    (version "2.41.0")
+    (version "2.48.0")
     (source
       (origin
         (method url-fetch)
@@ -69,7 +69,7 @@
                             version ".tar.xz"))
         (sha256
           (base32
-           "069fkcsx7kaazs7f095nkz4jw9jrm0k9zq16ayx41lxjbd1r97ik"))
+           "0bjzw806czqxkhq9qqkhff8bhfc428pijkidb1h6gr47jqdp4hpg"))
         ;; Remove non-free or doubtful code, see
         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
         (modules '((guix build utils)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 947c7e282c..ba7bd49901 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@@ -74,14 +74,20 @@
                             (search-patch "emacs-source-date-epoch.patch")))))
     (build-system glib-or-gtk-build-system)
     (arguments
-     '(#:phases (alist-cons-before
-                 'configure 'fix-/bin/pwd
-                 (lambda _
-                   ;; Use `pwd', not `/bin/pwd'.
-                   (substitute* (find-files "." "^Makefile\\.in$")
-                     (("/bin/pwd")
-                      "pwd")))
-                 %standard-phases)))
+     '(#:phases (modify-phases %standard-phases
+                  (add-before 'configure 'fix-/bin/pwd
+                    (lambda _
+                      ;; Use `pwd', not `/bin/pwd'.
+                      (substitute* (find-files "." "^Makefile\\.in$")
+                        (("/bin/pwd")
+                         "pwd"))))
+                  (add-after 'install 'remove-info.info
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; Remove 'info.info', which is provided by Texinfo.
+                      (let ((out (assoc-ref outputs "out")))
+                        (delete-file
+                         (string-append out "/share/info/info.info.gz"))
+                        #t))))))
     (inputs
      `(("gnutls" ,gnutls)
        ("ncurses" ,ncurses)
@@ -1008,6 +1014,27 @@ and stored in memory.")
     (description "This package provides a modern list API library for Emacs.")
     (license license:gpl3+)))
 
+(define-public emacs-undo-tree
+  (package
+    (name "emacs-undo-tree")
+    (version "0.6.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "http://dr-qubit.org/git/undo-tree.git")
+                    (commit "release/0.6.4")))
+              (file-name (string-append name "-" version "-checkout"))
+              (sha256
+                (base32
+                  "0b6hnv6bq1g5np5q2yw9r9aj1cxpp14akm21br7vpb7wp01fv4b3"))))
+    (build-system emacs-build-system)
+    (home-page "http://www.dr-qubit.org/emacs.php")
+    (synopsis "Treat undo history as a tree")
+    (description "Tree-like interface to Emacs undo system, providing
+graphical tree presentation of all previous states of buffer that
+allows easily move between them.")
+    (license license:gpl3+)))
+
 (define-public emacs-s
   (package
     (name "emacs-s")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index aa9fb6fded..e88ee8d904 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3396,7 +3396,7 @@ work and the interface is well tested.")
 (define-public epiphany
   (package
     (name "epiphany")
-    (version "3.16.3")
+    (version "3.18.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -3404,7 +3404,7 @@ work and the interface is well tested.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1cch4c7gh6lq1i4g0gs39qa2csl4i8a3pcdfapcj5v3r0xvz29ym"))))
+                "1hm6bpdcc6nf3zamzkvjhpvxnpaxzbnxnacfgl5v8swn643ifdl4"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      ;; FIXME: tests run under Xvfb, but fail with:
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 40a13e7939..6fac8ced40 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -167,7 +167,7 @@ in the Mozilla clients.")
 (define-public nss
   (package
     (name "nss")
-    (version "3.20.2")
+    (version "3.21")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -178,7 +178,7 @@ in the Mozilla clients.")
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "11pjjcp0mvcyx0ildyz20s9jlqzxsb6a9jlvcq5x1g3zsmckl6hl"))
+                "0fbjx3xsdm4gjc1gyzy2z315cvyw7yilsm7p9w75rpbwgl15nyiz"))
               ;; Create nss.pc and nss-config.
               (patches (list (search-patch "nss-pkgconfig.patch")))))
     (build-system gnu-build-system)
@@ -205,6 +205,7 @@ in the Mozilla clients.")
        (alist-replace
         'configure
         (lambda* (#:key system inputs #:allow-other-keys)
+          (setenv "CC" "gcc")
           ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system.
           (when (string-prefix? "x86_64" system)
             (setenv "USE_64" "1"))
@@ -266,7 +267,7 @@ standards.")
 (define-public icecat
   (package
     (name "icecat")
-    (version "38.5.0-gnu1")
+    (version "38.5.2-gnu1")
     (source
      (origin
       (method url-fetch)
@@ -275,7 +276,7 @@ standards.")
                           name "-" version ".tar.bz2"))
       (sha256
        (base32
-        "1bf20mpvx84jsa0dan2hhfc49f30v0wasikv7sh3cg8mwp62faj6"))
+        "0m18xyb0rd02yaw9xd5z4bab1wr2599iszzqhm86c134jv5vk6cg"))
       (patches (map search-patch '("icecat-avoid-bundled-includes.patch")))
       (modules '((guix build utils)))
       (snippet
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 4e15b814c8..560febe958 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -143,7 +143,8 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy"))))
+                "0mn7cz19mn8dcrhkq15h25gl20ammr1wz0j2j3c2vxs6ph7zn8jy"))
+              (patches (list (search-patch "openimageio-boost-1.60.patch")))))
     (build-system cmake-build-system)
     ;; FIXME: To run all tests successfully, test image sets from multiple
     ;; third party sources have to be present.  For details see
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index f85ea1970a..916873b356 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -522,7 +522,8 @@ is part of the GNOME accessibility project.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))))
+              "0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))
+            (patches (list (search-patch "gtk2-respect-GUIX_GTK2_PATH.patch")))))
    (build-system gnu-build-system)
    (outputs '("out" "doc"))
    (propagated-inputs
@@ -557,7 +558,11 @@ is part of the GNOME accessibility project.")
          ;; FIXME: re-enable tests requiring an X server
          (substitute* "gtk/Makefile.in"
            (("SUBDIRS = theme-bits . tests") "SUBDIRS = theme-bits .")))
-      %standard-phases)))
+       %standard-phases)))
+   (native-search-paths
+    (list (search-path-specification
+           (variable "GUIX_GTK2_PATH")
+           (files '("lib/gtk-2.0")))))
    (synopsis "Cross-platform toolkit for creating graphical user interfaces")
    (description
     "GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating
@@ -578,7 +583,8 @@ application suites.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))))
+              "0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))
+            (patches (list (search-patch "gtk3-respect-GUIX_GTK3_PATH.patch")))))
    (propagated-inputs
     `(("at-spi2-atk" ,at-spi2-atk)
       ("atk" ,atk)
@@ -637,7 +643,11 @@ application suites.")
                  (loaders.cache (find-files librsvg "^loaders\\.cache$")))
             (wrap-program prog
               `("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
-        %standard-phases))))))
+        %standard-phases))))
+   (native-search-paths
+    (list (search-path-specification
+           (variable "GUIX_GTK3_PATH")
+           (files '("lib/gtk-3.0")))))))
 
 ;;;
 ;;; Guile bindings.
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 60439d1534..3a5b1e1a44 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -81,7 +81,7 @@
          'build
          (lambda* (#:key inputs outputs #:allow-other-keys)
            (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
-             (setenv "JAVA_HOME" (assoc-ref inputs "icedtea6"))
+             (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
 
              ;; Build shared libraries.  Users of SWT have to set the system
              ;; property swt.library.path to the "lib" directory of this
@@ -115,7 +115,7 @@
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("unzip" ,unzip)
-       ("icedtea6" ,icedtea6 "jdk")))
+       ("jdk" ,icedtea "jdk")))
     (home-page "https://www.eclipse.org/swt/")
     (synopsis "Widget toolkit for Java")
     (description
@@ -184,9 +184,9 @@ and is best suited to building Java projects.  Ant uses XML to describe the
 build process and its dependencies, whereas Make uses Makefile format.")
     (license license:asl2.0)))
 
-(define-public icedtea6
+(define-public icedtea-6
   (package
-    (name "icedtea6")
+    (name "icedtea")
     (version "1.13.9")
     (source (origin
               (method url-fetch)
@@ -265,7 +265,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
            "--without-rhino"
            "--disable-downloading"
            "--disable-tests" ;they are run in the check phase instead
-           ,(string-append "--with-openjdk-src-dir=" "./openjdk")
+           "--with-openjdk-src-dir=./openjdk.src"
            ,(string-append "--with-javac=" jdk "/bin/javac")
            ,(string-append "--with-ecj-jar=" ecj)
            ,(string-append "--with-gcj=" gcj)
@@ -277,9 +277,9 @@ build process and its dependencies, whereas Make uses Makefile format.")
         (lambda* (#:key source inputs #:allow-other-keys)
           (and (zero? (system* "tar" "xvf" source))
                (begin
-                 (chdir (string-append ,name "-" ,version))
-                 (mkdir "openjdk")
-                 (with-directory-excursion "openjdk"
+                 (chdir (string-append "icedtea6-" ,version))
+                 (mkdir "openjdk.src")
+                 (with-directory-excursion "openjdk.src"
                    (copy-file (assoc-ref inputs "openjdk6-src")
                               "openjdk6-src.tar.xz")
                    (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz"))))))
@@ -302,7 +302,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
           (lambda _
             ;; buildtree.make generates shell scripts, so we need to replace
             ;; the generated shebang
-            (substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make")
+            (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
               (("/bin/sh") (which "bash")))
 
             (let ((corebin (string-append
@@ -311,8 +311,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
                             (assoc-ref %build-inputs "binutils") "/bin/"))
                   (grepbin (string-append
                             (assoc-ref %build-inputs "grep") "/bin/")))
-              (substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk"
-                             "openjdk/corba/make/common/shared/Defs-linux.gmk")
+              (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
+                             "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
                 (("UNIXCOMMAND_PATH  = /bin/")
                  (string-append "UNIXCOMMAND_PATH = " corebin))
                 (("USRBIN_PATH  = /usr/bin/")
@@ -326,8 +326,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
                  (string-append "DEF_OBJCOPY = " (which "objcopy"))))
 
               ;; fix hard-coded utility paths
-              (substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk"
-                             "openjdk/corba/make/common/shared/Defs-utils.gmk")
+              (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
+                             "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
                 (("ECHO *=.*echo")
                  (string-append "ECHO = " (which "echo")))
                 (("^GREP *=.*grep")
@@ -370,7 +370,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
               ;; Some of these timestamps cause problems as they are more than
               ;; 10 years ago, failing the build process.
               (substitute*
-                  "openjdk/jdk/src/share/classes/java/util/CurrencyData.properties"
+                  "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
                 (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
                 (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
                 (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
@@ -417,7 +417,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
             (alist-cons-before
              'check 'fix-hotspot-tests
              (lambda _
-               (with-directory-excursion "openjdk/hotspot/test/"
+               (with-directory-excursion "openjdk.src/hotspot/test/"
                  (substitute* "jprt.config"
                    (("PATH=\"\\$\\{path4sdk\\}\"")
                     (string-append "PATH=" (getenv "PATH")))
@@ -432,7 +432,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
              (alist-cons-before
               'check 'fix-jdk-tests
               (lambda _
-                (with-directory-excursion "openjdk/jdk/test/"
+                (with-directory-excursion "openjdk.src/jdk/test/"
                   (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
                     (("/bin/pwd") (which "pwd")))
                   (substitute* "com/sun/jdi/ShellScaffold.sh"
@@ -514,7 +514,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
                (alist-replace
                 'install
                 (lambda* (#:key outputs #:allow-other-keys)
-                  (let ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name))
+                  (let ((doc (string-append (assoc-ref outputs "doc")
+                                            "/share/doc/icedtea"))
                         (jre (assoc-ref outputs "out"))
                         (jdk (assoc-ref outputs "jdk")))
                     (copy-recursively "openjdk.build/docs" doc)
@@ -575,7 +576,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
     ;; same license as both GNU Classpath and OpenJDK.
     (license license:gpl2+)))
 
-(define-public icedtea7
+(define-public icedtea-7
   (let* ((version "2.6.3")
          (drop (lambda (name hash)
                  (origin
@@ -584,8 +585,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
                          "http://icedtea.classpath.org/download/drops/"
                          "/icedtea7/" version "/" name ".tar.bz2"))
                    (sha256 (base32 hash))))))
-    (package (inherit icedtea6)
-      (name "icedtea7")
+    (package (inherit icedtea-6)
       (version version)
       (source (origin
                 (method url-fetch)
@@ -616,51 +616,42 @@ build process and its dependencies, whereas Make uses Makefile format.")
          #:tests? #f
          ;; Apparently, the C locale is needed for some of the tests.
          #:locale "C"
-         ,@(substitute-keyword-arguments (package-arguments icedtea6)
+         ,@(substitute-keyword-arguments (package-arguments icedtea-6)
+             ((#:modules modules)
+              `((ice-9 match)
+                (srfi srfi-26)
+                ,@modules))
              ((#:configure-flags flags)
-              `(delete "--with-openjdk-src-dir=./openjdk"
-                       ;; TODO: package pcsc and sctp, and add to inputs
-                       (append '("--disable-system-pcsc"
-                                 "--disable-system-sctp")
-                               ,flags)))
+              ;; TODO: package pcsc and sctp, and add to inputs
+              `(append '("--disable-system-pcsc"
+                         "--disable-system-sctp")
+                       ,flags))
              ((#:phases phases)
               `(modify-phases ,phases
-                 (replace
-                  'unpack
-                  (lambda* (#:key source inputs #:allow-other-keys)
-                    (let ((target (string-append "icedtea-" ,version))
-                          (unpack (lambda (drop dir)
-                                    (mkdir dir)
-                                    (zero? (system* "tar" "xvjf"
-                                                    (assoc-ref inputs drop)
-                                                    "-C" dir
-                                                    "--strip-components=1")))))
-                      (and (zero? (system* "tar" "xvf" source))
-                           (chdir target)
-                           (unpack "openjdk-drop" "openjdk")
-                           (unpack "corba-drop"   "openjdk/corba")
-                           (unpack "jdk-drop"     "openjdk/jdk")
-                           (unpack "hotspot-drop" "openjdk/hotspot")
-
-                           ;; The build framework checks the tarballs, so we
-                           ;; need to keep them around even though we have
-                           ;; already unpacked some of them for patching.
-                           (begin
-                             (copy-file (assoc-ref inputs "openjdk-drop")
-                                        "openjdk.tar.bz2")
-                             (copy-file (assoc-ref inputs "corba-drop")
-                                        "corba.tar.bz2")
-                             (copy-file (assoc-ref inputs "hotspot-drop")
-                                        "hotspot.tar.bz2")
-                             (copy-file (assoc-ref inputs "jaxp-drop")
-                                        "jaxp.tar.bz2")
-                             (copy-file (assoc-ref inputs "jaxws-drop")
-                                        "jaxws.tar.bz2")
-                             (copy-file (assoc-ref inputs "jdk-drop")
-                                        "jdk.tar.bz2")
-                             (copy-file (assoc-ref inputs "langtools-drop")
-                                        "langtools.tar.bz2")
-                             #t)))))
+                 (replace 'unpack
+                   (lambda* (#:key source inputs #:allow-other-keys)
+                     (let ((target (string-append "icedtea-" ,version))
+                           (unpack (lambda* (name #:optional dir)
+                                     (let ((dir (or dir
+                                                    (string-drop-right name 5))))
+                                       (mkdir dir)
+                                       (zero? (system* "tar" "xvf"
+                                                       (assoc-ref inputs name)
+                                                       "-C" dir
+                                                       "--strip-components=1"))))))
+                       (mkdir target)
+                       (and
+                        (zero? (system* "tar" "xvf" source
+                                        "-C" target "--strip-components=1"))
+                        (chdir target)
+                        (unpack "openjdk-src" "openjdk.src")
+                        (with-directory-excursion "openjdk.src"
+                          (for-each unpack
+                                    (filter (cut string-suffix? "-drop" <>)
+                                            (map (match-lambda
+                                                   ((name . _) name))
+                                                 inputs))))
+                        #t))))
                  (replace
                   'set-additional-paths
                   (lambda* (#:key inputs #:allow-other-keys)
@@ -670,7 +661,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
                                              (str  (read-line port)))
                                         (close-pipe port)
                                         str)))
-                      (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
+                      (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
                         (("ALSA_INCLUDE=/usr/include/alsa/version.h")
                          (string-append "ALSA_INCLUDE="
                                         (assoc-ref inputs "alsa-lib")
@@ -698,7 +689,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
                  (add-after
                   'unpack 'fix-x11-extension-include-path
                   (lambda* (#:key inputs #:allow-other-keys)
-                    (substitute* "openjdk/jdk/make/sun/awt/mawt.gmk"
+                    (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
                       (((string-append "\\$\\(firstword \\$\\(wildcard "
                                        "\\$\\(OPENWIN_HOME\\)"
                                        "/include/X11/extensions\\).*$"))
@@ -719,14 +710,14 @@ build process and its dependencies, whereas Make uses Makefile format.")
                        (string-append "PATH=" (getenv "PATH"))))
                     (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
                       (("/usr/bin/env") (which "env")))
-                    (substitute* "openjdk/hotspot/test/test_env.sh"
+                    (substitute* "openjdk.src/hotspot/test/test_env.sh"
                       (("/bin/rm") (which "rm"))
                       (("/bin/cp") (which "cp"))
                       (("/bin/mv") (which "mv")))
                     #t))
                  (delete 'patch-patches))))))
       (native-inputs
-       `(("openjdk-drop"
+       `(("openjdk-src"
           ,(drop "openjdk"
                  "0vflz0hhq4arykvvmsv3yas4yk9i0jm57287iqvs3a4832xjcpcy"))
          ("corba-drop"
@@ -747,5 +738,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
          ("hotspot-drop"
           ,(drop "hotspot"
                  "03pggsrhkzpjnj939vhr3b7mcrhfp22b7yg3hkx52kcv8dqkg3yx"))
-         ,@(fold alist-delete (package-native-inputs icedtea6)
+         ,@(fold alist-delete (package-native-inputs icedtea-6)
                  '("openjdk6-src")))))))
+
+(define-public icedtea icedtea-7)
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index fc152c8720..4e6b87116a 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,6 +20,8 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
@@ -27,6 +29,7 @@
   #:use-module (gnu packages elf)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages llvm)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages maths)
   #:use-module (gnu packages multiprecision) ; mpfr
@@ -36,21 +39,44 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages wget)
   #:use-module (ice-9 match))
 
+(define libuv-julia
+  (let ((commit "07730c4bd595b4d45a498a8ee0bcd53878ff7c10")
+        (revision "2"))
+    (package (inherit libuv)
+      (name "libuv-julia")
+      (version (string-append "0.11.26." revision "-" (string-take commit 8)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/JuliaLang/libuv.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "1r0d4wb41w8k3bi9sjr7kapk1ag131ss2fbqa4jz4gnrzvw94sqx"))))
+      (build-system gnu-build-system)
+      (arguments
+       (substitute-keyword-arguments (package-arguments libuv)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (delete 'autogen)))))
+      (home-page "https://github.com/JuliaLang/libuv"))))
+
 (define-public julia
   (package
     (name "julia")
-    (version "0.3.10")
+    (version "0.4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "https://github.com/JuliaLang/julia/releases/download/v"
-                    version "/julia-" version "_c8ceeefcc1.tar.gz"))
+                    version "/julia-" version "-full.tar.gz"))
               (sha256
                (base32
-                "0j6mw6wr35lxid10nh9gz7k6wck3a90ic92w99n1r052325gl9r7"))
-              (patches (list (search-patch "julia-0.3.10-fix-empty-array.patch")))))
+                "1i8k847d8n9v37xg69grpl51dysx36p0phwf0d1qxpsqixdg579b"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -66,8 +92,7 @@
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
-         (add-after
-          'unpack 'hardcode-soname-map
+         (add-after 'unpack 'hardcode-soname-map
           ;; ./src/ccall.cpp creates a map from library names to paths using the
           ;; output of "/sbin/ldconfig -p".  Since ldconfig is not used in Guix,
           ;; we patch ccall.cpp to contain a static map.
@@ -82,46 +107,70 @@
                          "sonameMap[\"" libname "\"] = "
                          "\"" (assoc-ref inputs input) "/lib/" soname "\";")))
                      '(("libc"        "libc"           "libc.so.6")
-                       ("pcre"        "libpcre"        "libpcre.so")
+                       ("pcre2"       "libpcre2-8"     "libpcre2-8.so")
                        ("mpfr"        "libmpfr"        "libmpfr.so")
                        ("openblas"    "libblas"        "libopenblas.so")
                        ("arpack-ng"   "libarpack"      "libarpack.so")
                        ("lapack"      "liblapack"      "liblapack.so")
+                       ("libgit2"     "libgit2"        "libgit2.so")
                        ("gmp"         "libgmp"         "libgmp.so")
                        ("openlibm"    "libopenlibm"    "libopenlibm.so")
                        ("openspecfun" "libopenspecfun" "libopenspecfun.so")
                        ("fftw"        "libfftw3"       "libfftw3.so")
                        ("fftwf"       "libfftw3f"      "libfftw3f.so"))))))
             #t))
-         ;; This phase will no longer be necessary in 0.3.11; see
-         ;; https://github.com/JuliaLang/julia/issues/12028
-         (add-before
-          'build 'fix-building-with-mcjit-llvm
-          (lambda _
-            (substitute* "src/cgutils.cpp"
-              (("addComdat\\(gv\\);") ""))
-            #t))
-         (add-before
-          'build 'patch-include-path
-          (lambda _
+         (add-before 'build 'fix-include-and-link-paths
+          (lambda* (#:key inputs #:allow-other-keys)
+            ;; LIBUTF8PROC is a linker flag, not a build target.  It is
+            ;; included in the LIBFILES_* variable which is used as a
+            ;; collection of build targets and a list of libraries to link
+            ;; against.
+            (substitute* "src/flisp/Makefile"
+              (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)")
+               "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)")
+              (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)")
+               "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)"))
+
+            ;; The REPL must be linked with libuv.
+            (substitute* "ui/Makefile"
+              (("JLDFLAGS \\+= ")
+               (string-append "JLDFLAGS += "
+                              (assoc-ref %build-inputs "libuv")
+                              "/lib/libuv.so ")))
+
             (substitute* "deps/Makefile"
               (("/usr/include/double-conversion")
                (string-append (assoc-ref %build-inputs "double-conversion")
                               "/include/double-conversion")))
+            (substitute* "base/Makefile"
+              (("\\$\\(build_includedir\\)/uv-errno.h")
+               (string-append (assoc-ref inputs "libuv")
+                              "/include/uv-errno.h")))
             #t))
-         (add-before
-          'build 'replace-default-shell
+         (add-before 'build 'replace-default-shell
           (lambda _
             (substitute* "base/client.jl"
               (("/bin/sh") (which "sh")))
             #t))
-         (add-before
-          'check 'disable-broken-test
-          ;; One test fails because it produces slightly different output.
-          (lambda _
-            (substitute* "test/repl.jl"
-              (("@test output") "# @test output"))
-            #t)))
+         (add-after 'unpack 'hardcode-paths
+           (lambda _
+             (substitute* "base/interactiveutil.jl"
+               (("`which") (string-append "`" (which "which")))
+               (("`wget")  (string-append "`" (which "wget"))))
+             #t))
+         (add-before 'check 'disable-broken-tests
+           (lambda _
+             (substitute* "test/choosetests.jl"
+               ;; These tests time out.  See
+               ;; https://github.com/JuliaLang/julia/issues/14374 for ongoing
+               ;; discussion.
+               (("\"replcompletions\",") "")
+               (("\"repl\",") ""))
+             (substitute* "test/repl.jl"
+               ;; This test fails because we cannot escape the build
+               ;; directory.
+               (("@test pwd\\(\\) == homedir\\(\\)") "#"))
+             #t)))
        #:make-flags
        (list
         (string-append "prefix=" (assoc-ref %outputs "out"))
@@ -137,7 +186,6 @@
            (_ "MARCH=UNSUPPORTED"))
 
         "CONFIG_SHELL=bash"     ;needed to build bundled libraries
-        "USE_SYSTEM_LIBUV=0"    ;Julia expects a modified libuv
         "USE_SYSTEM_DSFMT=0"    ;not packaged for Guix and upstream has no
                                 ;build system for a shared library.
         "USE_SYSTEM_RMATH=0"    ;Julia uses a bundled version of R's math
@@ -158,10 +206,22 @@
         ;;                (assoc-ref %build-inputs "suitesparse")
         ;;                "/include")
 
+        "USE_GPL_LIBS=1"        ;proudly
         "USE_SYSTEM_GRISU=1"    ;for double-conversion
         "USE_SYSTEM_UTF8PROC=1"
+        (string-append "UTF8PROC_INC="
+                       (assoc-ref %build-inputs "utf8proc")
+                       "/include")
         "USE_SYSTEM_LLVM=1"
         "USE_SYSTEM_LIBUNWIND=1"
+        "USE_SYSTEM_LIBUV=1"
+        (string-append "LIBUV="
+                       (assoc-ref %build-inputs "libuv")
+                       "/lib/libuv.so")
+        (string-append "LIBUV_INC="
+                       (assoc-ref %build-inputs "libuv")
+                       "/include")
+        "USE_SYSTEM_PATCHELF=1"
         "USE_SYSTEM_PCRE=1"
         "USE_SYSTEM_OPENLIBM=1"
         "USE_SYSTEM_GMP=1"
@@ -172,26 +232,29 @@
     (inputs
      `(("llvm" ,llvm-3.5)
        ("arpack-ng" ,arpack-ng)
+       ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like
        ("lapack" ,lapack)
        ("openblas" ,openblas) ;Julia does not build with Atlas
        ("libunwind" ,libunwind)
        ("openlibm" ,openlibm)
        ("openspecfun" ,openspecfun)
        ("double-conversion" ,double-conversion)
+       ("libgit2" ,libgit2)
        ("fftw" ,fftw)
        ("fftwf" ,fftwf)
        ("fortran" ,gfortran)
-       ("pcre" ,pcre)
+       ("libuv" ,libuv-julia)
+       ("pcre2" ,pcre2)
        ("utf8proc" ,utf8proc)
-       ("git" ,git)
        ("mpfr" ,mpfr)
+       ("wget" ,wget)
+       ("which" ,which)
        ("gmp" ,gmp)))
     (native-inputs
      `(("perl" ,perl)
        ("patchelf" ,patchelf)
        ("pkg-config" ,pkg-config)
-       ("python" ,python-2)
-       ("which" ,which)))
+       ("python" ,python-2)))
     ;; Julia is not officially released for ARM and MIPS.
     ;; See https://github.com/JuliaLang/julia/issues/10639
     (supported-systems '("i686-linux" "x86_64-linux"))
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index f0c372bc29..4a9cebde01 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -149,7 +149,7 @@
        ("doxygen" ,doxygen)
        ("gawk" ,gawk)
        ("gettext" ,gnu-gettext)
-       ("icedtea7" ,icedtea7) ; needed at build-time only, mandatory
+       ("icedtea" ,icedtea) ; needed at build-time only, mandatory
        ("libtool" ,libtool)
        ("pkg-config" ,pkg-config)
        ("swig" ,swig)
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
new file mode 100644
index 0000000000..1981bc115d
--- /dev/null
+++ b/gnu/packages/ldc.scm
@@ -0,0 +1,118 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
+;;;
+;;; 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 ldc)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages libedit)
+  #:use-module (gnu packages llvm)
+  #:use-module (gnu packages textutils)
+  #:use-module (gnu packages zip))
+
+(define-public ldc
+  (package
+    (name "ldc")
+    (version "0.16.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/ldc-developers/ldc/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"))))
+    (build-system cmake-build-system)
+    ;; LDC currently only supports the x86_64 and i686 architectures.
+    (supported-systems '("x86_64-linux" "i686-linux"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'unpack-submodule-sources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((unpack (lambda (source target)
+                             (with-directory-excursion target
+                               (zero? (system* "tar" "xvf"
+                                               (assoc-ref inputs source)
+                                               "--strip-components=1"))))))
+               (and (unpack "phobos-src" "runtime/phobos")
+                    (unpack "druntime-src" "runtime/druntime")
+                    (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
+         (add-after 'unpack-submodule-sources 'patch-phobos
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "runtime/phobos/std/process.d"
+               (("/bin/sh") (which "sh"))
+               (("echo") (which "echo")))
+             (substitute* "runtime/phobos/std/datetime.d"
+               (("/usr/share/zoneinfo/")
+                (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")))
+             (substitute* "tests/d2/dmd-testsuite/Makefile"
+               (("/bin/bash") (which "bash")))
+             #t)))))
+    (inputs
+     `(("libconfig" ,libconfig)
+       ("libedit" ,libedit)
+       ("tzdata" ,tzdata)))
+    (native-inputs
+     `(("llvm" ,llvm)
+       ("clang" ,clang)
+       ("unzip" ,unzip)
+       ("phobos-src"
+        ,(origin
+           (method url-fetch)
+           (uri (string-append
+                 "https://github.com/ldc-developers/phobos/archive/ldc-v"
+                 version ".tar.gz"))
+           (sha256
+            (base32
+             "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
+           (patches (list (search-patch "ldc-disable-tests.patch")))))
+       ("druntime-src"
+        ,(origin
+           (method url-fetch)
+           (uri (string-append
+                 "https://github.com/ldc-developers/druntime/archive/ldc-v"
+                 version ".tar.gz"))
+           (sha256
+            (base32
+             "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"))))
+       ("dmd-testsuite-src"
+        ,(origin
+           (method url-fetch)
+           (uri (string-append
+                 "https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
+                 version ".tar.gz"))
+           (sha256
+            (base32
+             "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))))))
+    (home-page "http://wiki.dlang.org/LDC")
+    (synopsis "LLVM compiler for the D programming language")
+    (description
+     "LDC is a compiler for the D programming language.  It is based on the
+latest DMD frontend and uses LLVM as backend.")
+    ;; Most of the code is released under BSD-3, except for code originally
+    ;; written for GDC, which is released under GPLv2+, and the DMD frontend,
+    ;; which is released under the "Boost Software License version 1.0".
+    (license (list license:bsd-3
+                   license:gpl2+
+                   license:boost1.0))))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 7496a6c8b9..a82cde7d0a 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -25,6 +25,7 @@
                           non-copyleft x11-style))
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
@@ -130,15 +131,18 @@ CSV, CSS and XML.")
                "03ygxyb0vfjv8raif5q62sl33b54wkr5rzgadb8slijm6k281wpn"))))
     (build-system gnu-build-system)
     (native-inputs
-     `(("boost" ,boost)
-       ("cppunit" ,cppunit)
+     `(("cppunit" ,cppunit)
        ("doxygen" ,doxygen)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("zlib" ,zlib)))
+    (propagated-inputs                  ; Referenced by .la files
+     `(("boost" ,boost)))
     (arguments
      ;; avoid triggering configure errors by simple inclusion of boost headers
-     `(#:configure-flags '("--disable-werror")))
+     `(#:configure-flags '("--disable-werror"
+                           ;; Avoid undefined library references
+                           "LDFLAGS=-lboost_system")))
     (home-page "http://sourceforge.net/p/libwpd/wiki/librevenge/")
     (synopsis "Document importer for office suites")
     (description "Librevenge is a base library for writing document import
@@ -244,7 +248,8 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
       (uri (string-append "mirror://sourceforge/" name "/" name "-"
                           version ".tar.gz"))
       (sha256 (base32
-               "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8"))))
+               "1dprvk4fibylv24l7gr49gfqbkfgmxynvgssvdcycgpf7n8h4zm8"))
+      (patches (list (search-patch "libcmis-fix-test-onedrive.patch")))))
     (build-system gnu-build-system)
     (native-inputs
      `(("cppunit" ,cppunit)
@@ -805,6 +810,8 @@ and to return information on pronunciations, meanings and synonyms.")
           "--with-system-libs" ; enable all --with-system-* flags
           (string-append "--with-boost-libdir="
                          (assoc-ref %build-inputs "boost") "/lib")
+          ;; Avoid undefined symbols required by boost::spirit
+          "LDFLAGS=-lboost_system"
           ;; Avoid a dependency on ucpp.
           "--with-idlc-cpp=cpp"
           ;; The fonts require an external tarball (crosextrafonts).
diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf
index aae4dfe61c..e877f195af 100644
--- a/gnu/packages/linux-libre-i686.conf
+++ b/gnu/packages/linux-libre-i686.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.3.0-gnu Kernel Configuration
+# Linux/x86 4.4.0-gnu Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
@@ -274,8 +274,8 @@ CONFIG_SECCOMP_FILTER=y
 CONFIG_HAVE_CC_STACKPROTECTOR=y
 CONFIG_CC_STACKPROTECTOR=y
 # CONFIG_CC_STACKPROTECTOR_NONE is not set
-CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
 CONFIG_HAVE_ARCH_HUGE_VMAP=y
@@ -309,7 +309,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y
 # CONFIG_MODULE_SIG_SHA512 is not set
 # CONFIG_MODULE_COMPRESS is not set
 CONFIG_MODULES_TREE_LOOKUP=y
-CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
 CONFIG_LBDAF=y
 CONFIG_BLK_DEV_BSG=y
@@ -386,7 +385,7 @@ CONFIG_X86_INTEL_MID=y
 # CONFIG_X86_INTEL_QUARK is not set
 CONFIG_X86_INTEL_LPSS=y
 CONFIG_X86_AMD_PLATFORM_DEVICE=y
-CONFIG_IOSF_MBI=m
+CONFIG_IOSF_MBI=y
 CONFIG_IOSF_MBI_DEBUG=y
 # CONFIG_X86_RDC321X is not set
 # CONFIG_X86_32_NON_STANDARD is not set
@@ -482,9 +481,6 @@ CONFIG_MICROCODE=y
 CONFIG_MICROCODE_INTEL=y
 CONFIG_MICROCODE_AMD=y
 CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_MICROCODE_INTEL_EARLY=y
-CONFIG_MICROCODE_AMD_EARLY=y
-CONFIG_MICROCODE_EARLY=y
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
 # CONFIG_NOHIGHMEM is not set
@@ -622,6 +618,7 @@ CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SLEEP=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -991,7 +988,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
 CONFIG_NF_CT_NETLINK=m
 CONFIG_NF_CT_NETLINK_TIMEOUT=m
 CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
 CONFIG_NF_NAT=m
 CONFIG_NF_NAT_NEEDED=y
 CONFIG_NF_NAT_PROTO_DCCP=m
@@ -1360,6 +1357,7 @@ CONFIG_6LOWPAN_NHC_MOBILITY=m
 CONFIG_6LOWPAN_NHC_ROUTING=m
 CONFIG_6LOWPAN_NHC_UDP=m
 CONFIG_IEEE802154=m
+CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
 CONFIG_IEEE802154_SOCKET=m
 CONFIG_IEEE802154_6LOWPAN=m
 CONFIG_MAC802154=m
@@ -1458,6 +1456,7 @@ CONFIG_MPLS_ROUTING=m
 CONFIG_MPLS_IPTUNNEL=m
 CONFIG_HSR=m
 # CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
 CONFIG_XPS=y
@@ -1670,6 +1669,7 @@ CONFIG_CFG80211=m
 CONFIG_CFG80211_DEFAULT_PS=y
 CONFIG_CFG80211_DEBUGFS=y
 # CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
 CONFIG_CFG80211_WEXT=y
 CONFIG_CFG80211_WEXT_EXPORT=y
 CONFIG_LIB80211=m
@@ -1711,7 +1711,7 @@ CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
 CONFIG_NFC=m
 CONFIG_NFC_DIGITAL=m
 CONFIG_NFC_NCI=m
-CONFIG_NFC_NCI_SPI=y
+CONFIG_NFC_NCI_SPI=m
 CONFIG_NFC_NCI_UART=m
 CONFIG_NFC_HCI=m
 CONFIG_NFC_SHDLC=y
@@ -1725,6 +1725,8 @@ CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
+CONFIG_NFC_FDP=m
+CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
 CONFIG_NFC_PN544_MEI=m
@@ -1734,6 +1736,8 @@ CONFIG_NFC_MICROREAD_MEI=m
 CONFIG_NFC_MRVL=m
 CONFIG_NFC_MRVL_USB=m
 CONFIG_NFC_MRVL_UART=m
+CONFIG_NFC_MRVL_I2C=m
+CONFIG_NFC_MRVL_SPI=m
 CONFIG_NFC_ST21NFCA=m
 CONFIG_NFC_ST21NFCA_I2C=m
 CONFIG_NFC_ST_NCI=m
@@ -1996,7 +2000,6 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NVME=m
 CONFIG_BLK_DEV_OSD=m
 CONFIG_BLK_DEV_SX8=m
 CONFIG_BLK_DEV_RAM=y
@@ -2013,6 +2016,7 @@ CONFIG_VIRTIO_BLK=y
 # CONFIG_BLK_DEV_HD is not set
 CONFIG_BLK_DEV_RBD=m
 CONFIG_BLK_DEV_RSXX=m
+CONFIG_BLK_DEV_NVME=m
 
 #
 # Misc devices
@@ -2100,6 +2104,10 @@ CONFIG_VMWARE_VMCI=m
 #
 # SCIF Driver
 #
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
 CONFIG_ECHO=m
 # CONFIG_CXL_BASE is not set
 # CONFIG_CXL_KERNEL_API is not set
@@ -2190,12 +2198,10 @@ CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
 CONFIG_MEGARAID_LEGACY=m
 CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
 CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_MPT2SAS=m
 CONFIG_SCSI_UFSHCD=m
 CONFIG_SCSI_UFSHCD_PCI=m
 CONFIG_SCSI_UFSHCD_PLATFORM=m
@@ -2580,6 +2586,8 @@ CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=m
 CONFIG_NET_CADENCE=y
 CONFIG_MACB=m
 CONFIG_NET_VENDOR_BROADCOM=y
@@ -2594,6 +2602,8 @@ CONFIG_TIGON3=m
 CONFIG_BNX2X=m
 CONFIG_BNX2X_SRIOV=y
 CONFIG_BNX2X_VXLAN=y
+CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
 CONFIG_NET_VENDOR_BROCADE=y
 CONFIG_BNA=m
 CONFIG_NET_VENDOR_CAVIUM=y
@@ -2663,7 +2673,6 @@ CONFIG_I40EVF=m
 CONFIG_FM10K=m
 CONFIG_FM10K_VXLAN=y
 CONFIG_NET_VENDOR_I825XX=y
-CONFIG_IP1000=m
 CONFIG_JME=m
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
@@ -2690,6 +2699,7 @@ CONFIG_KSZ884X_PCI=m
 CONFIG_NET_VENDOR_MICROCHIP=y
 CONFIG_ENC28J60=m
 # CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ENCX24J600=m
 CONFIG_NET_VENDOR_MYRI=y
 CONFIG_MYRI10GE=m
 CONFIG_FEALNX=m
@@ -2720,6 +2730,8 @@ CONFIG_QLCNIC_VXLAN=y
 CONFIG_QLCNIC_HWMON=y
 CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
+CONFIG_QED=m
+CONFIG_QEDE=m
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_NET_VENDOR_REALTEK=y
 CONFIG_ATP=m
@@ -2804,6 +2816,7 @@ CONFIG_CICADA_PHY=m
 CONFIG_VITESSE_PHY=m
 CONFIG_TERANETICS_PHY=m
 CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
 CONFIG_BROADCOM_PHY=m
 CONFIG_BCM7XXX_PHY=m
 CONFIG_BCM87XX_PHY=m
@@ -2813,7 +2826,7 @@ CONFIG_NATIONAL_PHY=m
 CONFIG_STE10XP=m
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_MICREL_PHY=m
-# CONFIG_DP83848_PHY is not set
+CONFIG_DP83848_PHY=m
 CONFIG_DP83867_PHY=m
 CONFIG_MICROCHIP_PHY=m
 CONFIG_FIXED_PHY=y
@@ -2897,10 +2910,10 @@ CONFIG_PCMCIA_WL3501=m
 # CONFIG_PRISM54 is not set
 CONFIG_USB_ZD1201=m
 CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_ADM8211=m
 CONFIG_RTL8180=m
 CONFIG_RTL8187=m
 CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
 CONFIG_MAC80211_HWSIM=m
 CONFIG_MWL8K=m
 CONFIG_ATH_COMMON=m
@@ -2954,7 +2967,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y
 # CONFIG_B43_BUSES_SSB is not set
 CONFIG_B43_PCI_AUTOSELECT=y
 CONFIG_B43_PCICORE_AUTOSELECT=y
-# CONFIG_B43_PCMCIA is not set
 # CONFIG_B43_SDIO is not set
 CONFIG_B43_BCMA_PIO=y
 CONFIG_B43_PIO=y
@@ -3096,6 +3108,8 @@ CONFIG_RTLWIFI_USB=m
 CONFIG_RTL8192C_COMMON=m
 CONFIG_RTL8723_COMMON=m
 CONFIG_RTLBTCOEXIST=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
 CONFIG_WL_TI=y
 CONFIG_WL1251=m
 CONFIG_WL1251_SPI=m
@@ -3157,6 +3171,7 @@ CONFIG_SBNI=m
 CONFIG_IEEE802154_DRIVERS=m
 CONFIG_IEEE802154_FAKELB=m
 CONFIG_IEEE802154_AT86RF230=m
+CONFIG_IEEE802154_AT86RF230_DEBUGFS=y
 CONFIG_IEEE802154_MRF24J40=m
 CONFIG_IEEE802154_CC2520=m
 CONFIG_IEEE802154_ATUSB=m
@@ -3312,6 +3327,10 @@ CONFIG_MISDN_NETJET=m
 CONFIG_MISDN_IPAC=m
 CONFIG_MISDN_ISAR=m
 CONFIG_ISDN_HDLC=m
+CONFIG_NVM=y
+# CONFIG_NVM_DEBUG is not set
+CONFIG_NVM_GENNVM=m
+CONFIG_NVM_RRPC=m
 
 #
 # Input device support
@@ -3451,6 +3470,7 @@ CONFIG_TOUCHSCREEN_DA9052=m
 CONFIG_TOUCHSCREEN_DYNAPRO=m
 CONFIG_TOUCHSCREEN_HAMPSHIRE=m
 CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FT6236=m
 CONFIG_TOUCHSCREEN_FUJITSU=m
 CONFIG_TOUCHSCREEN_GOODIX=m
 CONFIG_TOUCHSCREEN_ILI210X=m
@@ -3502,6 +3522,8 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y
 CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
 CONFIG_TOUCHSCREEN_TOUCHIT213=m
 CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC200X_CORE=m
+CONFIG_TOUCHSCREEN_TSC2004=m
 CONFIG_TOUCHSCREEN_TSC2005=m
 CONFIG_TOUCHSCREEN_TSC2007=m
 CONFIG_TOUCHSCREEN_PCAP=m
@@ -3510,6 +3532,7 @@ CONFIG_TOUCHSCREEN_SUR40=m
 CONFIG_TOUCHSCREEN_SX8654=m
 CONFIG_TOUCHSCREEN_TPS6507X=m
 CONFIG_TOUCHSCREEN_ZFORCE=m
+CONFIG_TOUCHSCREEN_ROHM_BU21023=m
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_88PM860X_ONKEY=m
 CONFIG_INPUT_88PM80X_ONKEY=m
@@ -3586,6 +3609,7 @@ CONFIG_SERIO_ALTERA_PS2=m
 CONFIG_SERIO_PS2MULT=m
 CONFIG_SERIO_ARC_PS2=m
 CONFIG_HYPERV_KEYBOARD=m
+CONFIG_USERIO=m
 CONFIG_GAMEPORT=m
 CONFIG_GAMEPORT_NS558=m
 CONFIG_GAMEPORT_L4=m
@@ -3647,8 +3671,11 @@ CONFIG_SERIAL_8250_HUB6=m
 CONFIG_SERIAL_8250_SHARE_IRQ=y
 # CONFIG_SERIAL_8250_DETECT_IRQ is not set
 CONFIG_SERIAL_8250_RSA=y
+# CONFIG_SERIAL_8250_FSL is not set
 CONFIG_SERIAL_8250_DW=m
+CONFIG_SERIAL_8250_RT288X=y
 CONFIG_SERIAL_8250_FINTEK=m
+CONFIG_SERIAL_8250_MID=m
 
 #
 # Non-8250 serial port support
@@ -3806,6 +3833,7 @@ CONFIG_I2C_CBUS_GPIO=m
 CONFIG_I2C_DESIGNWARE_CORE=m
 CONFIG_I2C_DESIGNWARE_PLATFORM=m
 CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
 CONFIG_I2C_EG20T=m
 CONFIG_I2C_EMEV2=m
 CONFIG_I2C_GPIO=m
@@ -3925,6 +3953,7 @@ CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_BAYTRAIL=y
 CONFIG_PINCTRL_CHERRYVIEW=m
 CONFIG_PINCTRL_INTEL=m
+CONFIG_PINCTRL_BROXTON=m
 CONFIG_PINCTRL_SUNRISEPOINT=m
 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 CONFIG_GPIOLIB=y
@@ -3939,15 +3968,22 @@ CONFIG_GPIO_MAX730X=m
 #
 # Memory mapped GPIO drivers
 #
+CONFIG_GPIO_AMDPT=m
 CONFIG_GPIO_DWAPB=m
-CONFIG_GPIO_F7188X=m
 CONFIG_GPIO_GENERIC_PLATFORM=m
 CONFIG_GPIO_ICH=m
-CONFIG_GPIO_IT8761E=m
 CONFIG_GPIO_LYNXPOINT=y
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_ZX=y
+
+#
+# Port-mapped I/O GPIO drivers
+#
+CONFIG_GPIO_104_IDIO_16=m
+CONFIG_GPIO_F7188X=m
+CONFIG_GPIO_IT87=m
 CONFIG_GPIO_SCH=m
 CONFIG_GPIO_SCH311X=m
-CONFIG_GPIO_VX855=m
 
 #
 # I2C GPIO expanders
@@ -3999,9 +4035,12 @@ CONFIG_GPIO_RDC321X=m
 # SPI GPIO expanders
 #
 CONFIG_GPIO_MAX7301=m
-CONFIG_GPIO_MCP23S08=m
 CONFIG_GPIO_MC33880=m
-CONFIG_GPIO_ZX=y
+
+#
+# SPI or I2C GPIO expanders
+#
+CONFIG_GPIO_MCP23S08=m
 
 #
 # USB GPIO expanders
@@ -4052,12 +4091,13 @@ CONFIG_BATTERY_DS2780=m
 CONFIG_BATTERY_DS2781=m
 CONFIG_BATTERY_DS2782=m
 CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_BQ27XXX=m
+CONFIG_BATTERY_BQ27XXX_I2C=y
+CONFIG_BATTERY_BQ27XXX_PLATFORM=y
 CONFIG_BATTERY_DA9030=m
 CONFIG_BATTERY_DA9052=m
 CONFIG_CHARGER_DA9150=m
+CONFIG_BATTERY_DA9150=m
 CONFIG_AXP288_CHARGER=m
 CONFIG_AXP288_FUEL_GAUGE=m
 CONFIG_BATTERY_MAX17040=m
@@ -4085,9 +4125,11 @@ CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_BQ25890=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
+CONFIG_CHARGER_TPS65217=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
+CONFIG_AXP20X_POWER=m
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_RESTART=y
 CONFIG_POWER_AVS=y
@@ -4165,6 +4207,7 @@ CONFIG_SENSORS_MAX6639=m
 CONFIG_SENSORS_MAX6642=m
 CONFIG_SENSORS_MAX6650=m
 CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MAX31790=m
 CONFIG_SENSORS_HTU21=m
 CONFIG_SENSORS_MCP3021=m
 CONFIG_SENSORS_MENF21BMC_HWMON=m
@@ -4338,6 +4381,7 @@ CONFIG_W83877F_WDT=m
 CONFIG_W83977F_WDT=m
 CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_BCM7038_WDT=m
 CONFIG_MEN_A21_WDT=m
 CONFIG_XEN_WDT=m
 
@@ -4373,6 +4417,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
 # CONFIG_SSB_PCMCIAHOST is not set
 CONFIG_SSB_SDIOHOST_POSSIBLE=y
 CONFIG_SSB_SDIOHOST=y
+CONFIG_SSB_HOST_SOC=y
 # CONFIG_SSB_SILENT is not set
 # CONFIG_SSB_DEBUG is not set
 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
@@ -4904,6 +4949,7 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
 CONFIG_V4L_TEST_DRIVERS=y
 CONFIG_VIDEO_VIVID=m
+CONFIG_VIDEO_VIVID_MAX_DEVS=64
 CONFIG_VIDEO_VIM2M=m
 CONFIG_DVB_PLATFORM_DRIVERS=y
 
@@ -5306,7 +5352,7 @@ CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_USERPTR is not set
 # CONFIG_DRM_RADEON_UMS is not set
 CONFIG_DRM_AMDGPU=m
-CONFIG_DRM_AMDGPU_CIK=y
+# CONFIG_DRM_AMDGPU_CIK is not set
 CONFIG_DRM_AMDGPU_USERPTR=y
 CONFIG_DRM_NOUVEAU=m
 CONFIG_NOUVEAU_DEBUG=5
@@ -5449,6 +5495,7 @@ CONFIG_FB_GEODE_GX1=m
 CONFIG_FB_SM501=m
 CONFIG_FB_SMSCUFX=m
 CONFIG_FB_UDL=m
+CONFIG_FB_IBM_GXT4500=m
 # CONFIG_FB_VIRTUAL is not set
 CONFIG_XEN_FBDEV_FRONTEND=m
 CONFIG_FB_METRONOME=m
@@ -5541,7 +5588,9 @@ CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
 CONFIG_SND_OSSEMUL=y
 CONFIG_SND_MIXER_OSS=m
-# CONFIG_SND_PCM_OSS is not set
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_PCM_TIMER=y
 # CONFIG_SND_SEQUENCER_OSS is not set
 CONFIG_SND_HRTIMER=m
 CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
@@ -5717,6 +5766,7 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
 CONFIG_SND_HDA_CORE=m
 CONFIG_SND_HDA_DSP_LOADER=y
 CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_EXT_CORE=m
 CONFIG_SND_HDA_PREALLOC_SIZE=64
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
@@ -5742,12 +5792,16 @@ CONFIG_SND_ISIGHT=m
 CONFIG_SND_SCS1X=m
 CONFIG_SND_FIREWORKS=m
 CONFIG_SND_BEBOB=m
+CONFIG_SND_FIREWIRE_DIGI00X=m
+CONFIG_SND_FIREWIRE_TASCAM=m
 CONFIG_SND_PCMCIA=y
 CONFIG_SND_VXPOCKET=m
 CONFIG_SND_PDAUDIOCF=m
 CONFIG_SND_SOC=m
 CONFIG_SND_SOC_AC97_BUS=y
 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_COMPRESS=y
+CONFIG_SND_SOC_TOPOLOGY=y
 CONFIG_SND_ATMEL_SOC=m
 CONFIG_SND_DESIGNWARE_I2S=m
 
@@ -5781,6 +5835,13 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_SKYLAKE=m
+CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
+
+#
+# Allwinner SoC Audio support
+#
+CONFIG_SND_SUN4I_CODEC=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
@@ -5791,6 +5852,7 @@ CONFIG_SND_SOC_AC97_CODEC=m
 CONFIG_SND_SOC_ADAU1701=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4554=m
+CONFIG_SND_SOC_AK4613=m
 CONFIG_SND_SOC_AK4642=m
 CONFIG_SND_SOC_AK5386=m
 CONFIG_SND_SOC_ALC5623=m
@@ -5808,7 +5870,7 @@ CONFIG_SND_SOC_CS4271_SPI=m
 CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS4349=m
-CONFIG_SND_SOC_HDMI_CODEC=m
+CONFIG_SND_SOC_DMIC=m
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_GTM601=m
 CONFIG_SND_SOC_MAX98090=m
@@ -5894,6 +5956,7 @@ CONFIG_HID_BELKIN=m
 CONFIG_HID_BETOP_FF=m
 CONFIG_HID_CHERRY=m
 CONFIG_HID_CHICONY=m
+CONFIG_HID_CORSAIR=m
 CONFIG_HID_PRODIKEYS=m
 CONFIG_HID_CP2112=m
 CONFIG_HID_CYPRESS=m
@@ -5904,6 +5967,7 @@ CONFIG_HID_ELECOM=m
 CONFIG_HID_ELO=m
 CONFIG_HID_EZKEY=m
 CONFIG_HID_GEMBIRD=m
+CONFIG_HID_GFRM=m
 CONFIG_HID_HOLTEK=m
 CONFIG_HOLTEK_FF=y
 CONFIG_HID_GT683R=m
@@ -6002,7 +6066,6 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG is not set
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
 CONFIG_USB_ULPI_BUS=m
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
@@ -6024,7 +6087,6 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
 CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_FUSBH200_HCD=m
 CONFIG_USB_FOTG210_HCD=m
 CONFIG_USB_MAX3421_HCD=m
 CONFIG_USB_OHCI_HCD=y
@@ -6346,7 +6408,6 @@ CONFIG_UWB_WHCI=m
 CONFIG_UWB_I1480U=m
 CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_CLKGATE is not set
 
 #
 # MMC/SD/SDIO Card Drivers
@@ -6412,10 +6473,11 @@ CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=m
 CONFIG_LEDS_LP3944=m
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_LP8501=m
 CONFIG_LEDS_LP8788=m
 CONFIG_LEDS_LP8860=m
 CONFIG_LEDS_CLEVO_MAIL=m
@@ -6573,6 +6635,7 @@ CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
 CONFIG_RTC_DRV_RV3029C2=m
+CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
 
 #
@@ -6646,7 +6709,7 @@ CONFIG_DMADEVICES=y
 CONFIG_DMA_ENGINE=y
 CONFIG_DMA_VIRTUAL_CHANNELS=m
 CONFIG_DMA_ACPI=y
-CONFIG_IDMA64=m
+CONFIG_INTEL_IDMA64=m
 CONFIG_PCH_DMA=m
 CONFIG_TIMB_DMA=m
 CONFIG_DW_DMAC_CORE=m
@@ -6683,6 +6746,7 @@ CONFIG_VFIO_PCI=m
 CONFIG_VFIO_PCI_VGA=y
 CONFIG_VFIO_PCI_MMAP=y
 CONFIG_VFIO_PCI_INTX=y
+CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VIRTIO=y
 
@@ -6771,7 +6835,6 @@ CONFIG_COMEDI_DT2815=m
 CONFIG_COMEDI_DT2817=m
 CONFIG_COMEDI_DT282X=m
 CONFIG_COMEDI_DMM32AT=m
-CONFIG_COMEDI_UNIOXX5=m
 CONFIG_COMEDI_FL512=m
 CONFIG_COMEDI_AIO_AIO12_8=m
 CONFIG_COMEDI_AIO_IIRO_16=m
@@ -6990,9 +7053,6 @@ CONFIG_IIO_SIMPLE_DUMMY=m
 # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
 CONFIG_FB_SM750=m
 CONFIG_FB_XGI=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-CONFIG_FT1000_PCMCIA=m
 
 #
 # Speakup console speech
@@ -7028,7 +7088,7 @@ CONFIG_LIRC_SERIAL=m
 CONFIG_LIRC_SERIAL_TRANSMITTER=y
 CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
-CONFIG_STAGING_RDMA=y
+CONFIG_STAGING_RDMA=m
 CONFIG_INFINIBAND_AMSO1100=m
 # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
 
@@ -7048,14 +7108,7 @@ CONFIG_FWTTY_MAX_TOTAL_PORTS=64
 CONFIG_FWTTY_MAX_CARD_PORTS=32
 CONFIG_MTD_SPINAND_MT29F=m
 CONFIG_MTD_SPINAND_ONDIEECC=y
-CONFIG_LUSTRE_FS=m
-CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
-# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
-CONFIG_LUSTRE_LLITE_LLOOP=m
-CONFIG_LNET=m
-CONFIG_LNET_MAX_PAYLOAD=1048576
-CONFIG_LNET_SELFTEST=m
-CONFIG_LNET_XPRT_IB=m
+# CONFIG_LUSTRE_FS is not set
 CONFIG_DGNC=m
 CONFIG_DGAP=m
 CONFIG_GS_FPGABOOT=m
@@ -7082,6 +7135,7 @@ CONFIG_FB_TFT_SSD1306=m
 CONFIG_FB_TFT_SSD1331=m
 CONFIG_FB_TFT_SSD1351=m
 CONFIG_FB_TFT_ST7735R=m
+CONFIG_FB_TFT_ST7789V=m
 CONFIG_FB_TFT_TINYLCD=m
 CONFIG_FB_TFT_TLS8204=m
 CONFIG_FB_TFT_UC1611=m
@@ -7090,6 +7144,7 @@ CONFIG_FB_TFT_UPD161704=m
 CONFIG_FB_TFT_WATTEROTT=m
 CONFIG_FB_FLEX=m
 CONFIG_FB_TFT_FBTFT_DEVICE=m
+# CONFIG_WILC1000_DRIVER is not set
 CONFIG_MOST=m
 CONFIG_MOSTCORE=m
 CONFIG_AIM_CDEV=m
@@ -7142,6 +7197,7 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_ACPI_TOSHIBA=m
 CONFIG_TOSHIBA_BT_RFKILL=m
 CONFIG_TOSHIBA_HAPS=m
+CONFIG_TOSHIBA_WMI=m
 CONFIG_ACPI_CMPC=m
 CONFIG_INTEL_SCU_IPC=y
 CONFIG_INTEL_SCU_IPC_UTIL=m
@@ -7211,6 +7267,7 @@ CONFIG_IOMMU_SUPPORT=y
 CONFIG_IOMMU_IOVA=y
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_SVM=y
 # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
 
@@ -7263,17 +7320,20 @@ CONFIG_EXTCON_USB_GPIO=m
 CONFIG_MEMORY=y
 CONFIG_IIO=m
 CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
+CONFIG_IIO_BUFFER_CB=m
 CONFIG_IIO_KFIFO_BUF=m
 CONFIG_IIO_TRIGGERED_BUFFER=m
 CONFIG_IIO_TRIGGER=y
 CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_TRIGGERED_EVENT=m
 
 #
 # Accelerometers
 #
 CONFIG_BMA180=m
 CONFIG_BMC150_ACCEL=m
+CONFIG_BMC150_ACCEL_I2C=m
+CONFIG_BMC150_ACCEL_SPI=m
 CONFIG_HID_SENSOR_ACCEL_3D=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
 CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
@@ -7284,6 +7344,7 @@ CONFIG_MMA8452=m
 CONFIG_MMA9551_CORE=m
 CONFIG_MMA9551=m
 CONFIG_MMA9553=m
+CONFIG_MXC4005=m
 CONFIG_STK8312=m
 CONFIG_STK8BA50=m
 
@@ -7301,8 +7362,9 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
 CONFIG_AXP288_ADC=m
-CONFIG_DA9150_GPADC=m
 CONFIG_CC10001_ADC=m
+CONFIG_DA9150_GPADC=m
+CONFIG_HI8435=m
 CONFIG_LP8788_ADC=m
 CONFIG_MAX1027=m
 CONFIG_MAX1363=m
@@ -7325,10 +7387,16 @@ CONFIG_VIPERBOARD_ADC=m
 CONFIG_AD8366=m
 
 #
+# Chemical Sensors
+#
+CONFIG_VZ89X=m
+
+#
 # Hid Sensor IIO Common
 #
 CONFIG_HID_SENSOR_IIO_COMMON=m
 CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_IIO_MS_SENSORS_I2C=m
 
 #
 # SSP Sensor Common
@@ -7383,6 +7451,8 @@ CONFIG_ADIS16136=m
 CONFIG_ADIS16260=m
 CONFIG_ADXRS450=m
 CONFIG_BMG160=m
+CONFIG_BMG160_I2C=m
+CONFIG_BMG160_SPI=m
 CONFIG_HID_SENSOR_GYRO_3D=m
 CONFIG_IIO_ST_GYRO_3AXIS=m
 CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
@@ -7393,6 +7463,8 @@ CONFIG_ITG3200=m
 # Humidity sensors
 #
 CONFIG_DHT11=m
+CONFIG_HDC100X=m
+CONFIG_HTU21=m
 CONFIG_SI7005=m
 CONFIG_SI7020=m
 
@@ -7413,6 +7485,7 @@ CONFIG_ACPI_ALS=m
 CONFIG_ADJD_S311=m
 CONFIG_AL3320A=m
 CONFIG_APDS9300=m
+CONFIG_APDS9960=m
 CONFIG_BH1750=m
 CONFIG_CM32181=m
 CONFIG_CM3232=m
@@ -7433,6 +7506,7 @@ CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL4531=m
+CONFIG_US5182D=m
 CONFIG_VCNL4000=m
 
 #
@@ -7440,13 +7514,13 @@ CONFIG_VCNL4000=m
 #
 CONFIG_AK8975=m
 CONFIG_AK09911=m
+CONFIG_BMC150_MAGN=m
 CONFIG_MAG3110=m
 CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
 CONFIG_MMC35240=m
 CONFIG_IIO_ST_MAGN_3AXIS=m
 CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
 CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
-CONFIG_BMC150_MAGN=m
 
 #
 # Inclinometer sensors
@@ -7461,6 +7535,11 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
 CONFIG_IIO_SYSFS_TRIGGER=m
 
 #
+# Digital potentiometers
+#
+CONFIG_MCP4531=m
+
+#
 # Pressure sensors
 #
 CONFIG_BMP280=m
@@ -7470,6 +7549,7 @@ CONFIG_MPL3115=m
 CONFIG_MS5611=m
 CONFIG_MS5611_I2C=m
 CONFIG_MS5611_SPI=m
+CONFIG_MS5637=m
 CONFIG_IIO_ST_PRESS=m
 CONFIG_IIO_ST_PRESS_I2C=m
 CONFIG_IIO_ST_PRESS_SPI=m
@@ -7483,6 +7563,7 @@ CONFIG_AS3935=m
 #
 # Proximity sensors
 #
+CONFIG_LIDAR_LITE_V2=m
 CONFIG_SX9500=m
 
 #
@@ -7490,6 +7571,8 @@ CONFIG_SX9500=m
 #
 CONFIG_MLX90614=m
 CONFIG_TMP006=m
+CONFIG_TSYS01=m
+CONFIG_TSYS02D=m
 CONFIG_NTB=m
 CONFIG_NTB_PINGPONG=m
 CONFIG_NTB_TOOL=m
@@ -7519,6 +7602,7 @@ CONFIG_PWM_LP3943=m
 CONFIG_PWM_LPSS=m
 CONFIG_PWM_LPSS_PCI=m
 CONFIG_PWM_LPSS_PLATFORM=m
+CONFIG_PWM_PCA9685=m
 CONFIG_PWM_TWL=m
 CONFIG_PWM_TWL_LED=m
 CONFIG_IPACK_BUS=m
@@ -7566,6 +7650,22 @@ CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=m
 CONFIG_BTT=y
 CONFIG_NVMEM=m
+CONFIG_STM=m
+CONFIG_STM_DUMMY=m
+CONFIG_STM_SOURCE_CONSOLE=m
+CONFIG_INTEL_TH=m
+CONFIG_INTEL_TH_PCI=m
+CONFIG_INTEL_TH_GTH=m
+CONFIG_INTEL_TH_STH=m
+CONFIG_INTEL_TH_MSU=m
+CONFIG_INTEL_TH_PTI=m
+# CONFIG_INTEL_TH_DEBUG is not set
+
+#
+# FPGA Configuration Support
+#
+CONFIG_FPGA=m
+CONFIG_FPGA_MGR_ZYNQ_FPGA=m
 
 #
 # Firmware Drivers
@@ -7590,6 +7690,7 @@ CONFIG_EFI_ESRT=y
 CONFIG_EFI_VARS_PSTORE=m
 # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
 CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
 CONFIG_EFI_RUNTIME_WRAPPERS=y
 CONFIG_UEFI_CPER=y
 
@@ -7756,6 +7857,7 @@ CONFIG_UBIFS_FS=m
 # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
 CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UBIFS_ATIME_SUPPORT=y
 # CONFIG_LOGFS is not set
 CONFIG_CRAMFS=m
 CONFIG_SQUASHFS=m
@@ -7766,7 +7868,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
 CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
 CONFIG_SQUASHFS_XATTR=y
 CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SQUASHFS_LZ4 is not set
+CONFIG_SQUASHFS_LZ4=y
 CONFIG_SQUASHFS_LZO=y
 CONFIG_SQUASHFS_XZ=y
 # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -7951,6 +8053,7 @@ CONFIG_UNUSED_SYMBOLS=y
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -8090,6 +8193,7 @@ CONFIG_MMIOTRACE=y
 # CONFIG_RING_BUFFER_BENCHMARK is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_TRACE_ENUM_MAP_FILE is not set
+CONFIG_TRACING_EVENTS_GPIO=y
 
 #
 # Runtime Testing
@@ -8106,6 +8210,7 @@ CONFIG_ASYNC_RAID6_TEST=m
 CONFIG_TEST_HEXDUMP=m
 CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
+CONFIG_TEST_PRINTF=m
 # CONFIG_TEST_RHASHTABLE is not set
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
@@ -8131,9 +8236,12 @@ CONFIG_STRICT_DEVMEM=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
 CONFIG_EARLY_PRINTK_EFI=y
+# CONFIG_X86_PTDUMP_CORE is not set
 # CONFIG_X86_PTDUMP is not set
+# CONFIG_EFI_PGT_DUMP is not set
 CONFIG_DEBUG_RODATA=y
 # CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_WX is not set
 CONFIG_DEBUG_SET_MODULE_RONX=y
 # CONFIG_DEBUG_NX_TEST is not set
 CONFIG_DOUBLEFAULT=y
@@ -8286,6 +8394,7 @@ CONFIG_CRYPTO_ECB=y
 CONFIG_CRYPTO_LRW=m
 CONFIG_CRYPTO_PCBC=m
 CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
 
 #
 # Hash modes
@@ -8408,6 +8517,7 @@ CONFIG_HAVE_KVM_MSI=y
 CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
 CONFIG_KVM_VFIO=y
 CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf
index 6c233c079a..406053ab7a 100644
--- a/gnu/packages/linux-libre-x86_64.conf
+++ b/gnu/packages/linux-libre-x86_64.conf
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.3.0-gnu Kernel Configuration
+# Linux/x86 4.4.0-gnu Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -284,8 +284,8 @@ CONFIG_SECCOMP_FILTER=y
 CONFIG_HAVE_CC_STACKPROTECTOR=y
 CONFIG_CC_STACKPROTECTOR=y
 # CONFIG_CC_STACKPROTECTOR_NONE is not set
-CONFIG_CC_STACKPROTECTOR_REGULAR=y
-# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
+CONFIG_CC_STACKPROTECTOR_STRONG=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
@@ -322,7 +322,6 @@ CONFIG_MODULE_SRCVERSION_ALL=y
 # CONFIG_MODULE_SIG_SHA512 is not set
 # CONFIG_MODULE_COMPRESS is not set
 CONFIG_MODULES_TREE_LOOKUP=y
-CONFIG_STOP_MACHINE=y
 CONFIG_BLOCK=y
 CONFIG_BLK_DEV_BSG=y
 CONFIG_BLK_DEV_BSGLIB=y
@@ -388,7 +387,7 @@ CONFIG_FREEZER=y
 #
 # Processor type and features
 #
-CONFIG_ZONE_DMA=y
+# CONFIG_ZONE_DMA is not set
 CONFIG_SMP=y
 CONFIG_X86_FEATURE_NAMES=y
 CONFIG_X86_X2APIC=y
@@ -400,7 +399,7 @@ CONFIG_X86_NUMACHIP=y
 # CONFIG_X86_GOLDFISH is not set
 CONFIG_X86_INTEL_LPSS=y
 CONFIG_X86_AMD_PLATFORM_DEVICE=y
-CONFIG_IOSF_MBI=m
+CONFIG_IOSF_MBI=y
 CONFIG_IOSF_MBI_DEBUG=y
 CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
 CONFIG_SCHED_OMIT_FRAME_POINTER=y
@@ -469,9 +468,6 @@ CONFIG_MICROCODE=y
 CONFIG_MICROCODE_INTEL=y
 CONFIG_MICROCODE_AMD=y
 CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_MICROCODE_INTEL_EARLY=y
-CONFIG_MICROCODE_AMD_EARLY=y
-CONFIG_MICROCODE_EARLY=y
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
 CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
@@ -507,7 +503,6 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y
 CONFIG_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTPLUG_SPARSE=y
 CONFIG_MEMORY_HOTREMOVE=y
-CONFIG_PAGEFLAGS_EXTENDED=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
 CONFIG_MEMORY_BALLOON=y
@@ -516,8 +511,7 @@ CONFIG_COMPACTION=y
 CONFIG_MIGRATION=y
 CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
 CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
+CONFIG_ZONE_DMA_FLAG=0
 CONFIG_VIRT_TO_BUS=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
@@ -545,6 +539,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y
 CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
 # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
 CONFIG_IDLE_PAGE_TRACKING=y
+CONFIG_ZONE_DEVICE=y
 CONFIG_FRAME_VECTOR=y
 CONFIG_X86_PMEM_LEGACY_DEVICE=y
 CONFIG_X86_PMEM_LEGACY=y
@@ -586,6 +581,9 @@ CONFIG_HOTPLUG_CPU=y
 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
 # CONFIG_COMPAT_VDSO is not set
+# CONFIG_LEGACY_VSYSCALL_NATIVE is not set
+CONFIG_LEGACY_VSYSCALL_EMULATE=y
+# CONFIG_LEGACY_VSYSCALL_NONE is not set
 # CONFIG_CMDLINE_BOOL is not set
 CONFIG_MODIFY_LDT_SYSCALL=y
 CONFIG_HAVE_LIVEPATCH=y
@@ -624,6 +622,7 @@ CONFIG_ACPI=y
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+# CONFIG_ACPI_DEBUGGER is not set
 CONFIG_ACPI_SLEEP=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -967,7 +966,7 @@ CONFIG_NF_CONNTRACK_TFTP=m
 CONFIG_NF_CT_NETLINK=m
 CONFIG_NF_CT_NETLINK_TIMEOUT=m
 CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_QUEUE_CT=y
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
 CONFIG_NF_NAT=m
 CONFIG_NF_NAT_NEEDED=y
 CONFIG_NF_NAT_PROTO_DCCP=m
@@ -1332,6 +1331,7 @@ CONFIG_6LOWPAN_NHC_MOBILITY=m
 CONFIG_6LOWPAN_NHC_ROUTING=m
 CONFIG_6LOWPAN_NHC_UDP=m
 CONFIG_IEEE802154=m
+CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
 CONFIG_IEEE802154_SOCKET=m
 CONFIG_IEEE802154_6LOWPAN=m
 CONFIG_MAC802154=m
@@ -1430,6 +1430,7 @@ CONFIG_MPLS_ROUTING=m
 CONFIG_MPLS_IPTUNNEL=m
 CONFIG_HSR=m
 # CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
 CONFIG_RPS=y
 CONFIG_RFS_ACCEL=y
 CONFIG_XPS=y
@@ -1636,6 +1637,7 @@ CONFIG_CFG80211=m
 CONFIG_CFG80211_DEFAULT_PS=y
 CONFIG_CFG80211_DEBUGFS=y
 # CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
 CONFIG_CFG80211_WEXT=y
 CONFIG_CFG80211_WEXT_EXPORT=y
 CONFIG_LIB80211=m
@@ -1677,7 +1679,7 @@ CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
 CONFIG_NFC=m
 CONFIG_NFC_DIGITAL=m
 CONFIG_NFC_NCI=m
-CONFIG_NFC_NCI_SPI=y
+CONFIG_NFC_NCI_SPI=m
 CONFIG_NFC_NCI_UART=m
 CONFIG_NFC_HCI=m
 CONFIG_NFC_SHDLC=y
@@ -1691,6 +1693,8 @@ CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
 CONFIG_NFC_SIM=m
 CONFIG_NFC_PORT100=m
+CONFIG_NFC_FDP=m
+CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
 CONFIG_NFC_PN544_MEI=m
@@ -1700,6 +1704,8 @@ CONFIG_NFC_MICROREAD_MEI=m
 CONFIG_NFC_MRVL=m
 CONFIG_NFC_MRVL_USB=m
 CONFIG_NFC_MRVL_UART=m
+CONFIG_NFC_MRVL_I2C=m
+CONFIG_NFC_MRVL_SPI=m
 CONFIG_NFC_ST21NFCA=m
 CONFIG_NFC_ST21NFCA_I2C=m
 CONFIG_NFC_ST_NCI=m
@@ -1957,7 +1963,6 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m
 CONFIG_BLK_DEV_DRBD=m
 # CONFIG_DRBD_FAULT_INJECTION is not set
 CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_NVME=m
 CONFIG_BLK_DEV_SKD=m
 CONFIG_BLK_DEV_OSD=m
 CONFIG_BLK_DEV_SX8=m
@@ -1975,6 +1980,7 @@ CONFIG_VIRTIO_BLK=y
 # CONFIG_BLK_DEV_HD is not set
 CONFIG_BLK_DEV_RBD=m
 CONFIG_BLK_DEV_RSXX=m
+CONFIG_BLK_DEV_NVME=m
 
 #
 # Misc devices
@@ -2064,6 +2070,11 @@ CONFIG_INTEL_MIC_CARD=m
 # SCIF Driver
 #
 CONFIG_SCIF=m
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+CONFIG_MIC_COSM=m
 CONFIG_GENWQE=m
 CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
 CONFIG_ECHO=m
@@ -2151,12 +2162,10 @@ CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
 CONFIG_MEGARAID_LEGACY=m
 CONFIG_MEGARAID_SAS=m
-CONFIG_SCSI_MPT2SAS=m
-CONFIG_SCSI_MPT2SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT2SAS_LOGGING is not set
 CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
 CONFIG_SCSI_MPT3SAS_MAX_SGE=128
-# CONFIG_SCSI_MPT3SAS_LOGGING is not set
+CONFIG_SCSI_MPT2SAS=m
 CONFIG_SCSI_UFSHCD=m
 CONFIG_SCSI_UFSHCD_PCI=m
 CONFIG_SCSI_UFSHCD_PLATFORM=m
@@ -2511,6 +2520,8 @@ CONFIG_ATL1=m
 CONFIG_ATL1E=m
 CONFIG_ATL1C=m
 CONFIG_ALX=m
+CONFIG_NET_VENDOR_AURORA=y
+CONFIG_AURORA_NB8800=m
 CONFIG_NET_CADENCE=y
 CONFIG_MACB=m
 CONFIG_NET_VENDOR_BROADCOM=y
@@ -2525,6 +2536,8 @@ CONFIG_TIGON3=m
 CONFIG_BNX2X=m
 CONFIG_BNX2X_SRIOV=y
 CONFIG_BNX2X_VXLAN=y
+CONFIG_BNXT=m
+CONFIG_BNXT_SRIOV=y
 CONFIG_NET_VENDOR_BROCADE=y
 CONFIG_BNA=m
 CONFIG_NET_VENDOR_CAVIUM=y
@@ -2597,7 +2610,6 @@ CONFIG_I40EVF=m
 CONFIG_FM10K=m
 CONFIG_FM10K_VXLAN=y
 CONFIG_NET_VENDOR_I825XX=y
-CONFIG_IP1000=m
 CONFIG_JME=m
 CONFIG_NET_VENDOR_MARVELL=y
 CONFIG_MVMDIO=m
@@ -2624,6 +2636,7 @@ CONFIG_KSZ884X_PCI=m
 CONFIG_NET_VENDOR_MICROCHIP=y
 CONFIG_ENC28J60=m
 # CONFIG_ENC28J60_WRITEVERIFY is not set
+CONFIG_ENCX24J600=m
 CONFIG_NET_VENDOR_MYRI=y
 CONFIG_MYRI10GE=m
 CONFIG_MYRI10GE_DCA=y
@@ -2651,6 +2664,8 @@ CONFIG_QLCNIC_VXLAN=y
 CONFIG_QLCNIC_HWMON=y
 CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
+CONFIG_QED=m
+CONFIG_QEDE=m
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_NET_VENDOR_REALTEK=y
 CONFIG_ATP=m
@@ -2734,6 +2749,7 @@ CONFIG_CICADA_PHY=m
 CONFIG_VITESSE_PHY=m
 CONFIG_TERANETICS_PHY=m
 CONFIG_SMSC_PHY=m
+CONFIG_BCM_NET_PHYLIB=m
 CONFIG_BROADCOM_PHY=m
 CONFIG_BCM7XXX_PHY=m
 CONFIG_BCM87XX_PHY=m
@@ -2743,7 +2759,7 @@ CONFIG_NATIONAL_PHY=m
 CONFIG_STE10XP=m
 CONFIG_LSI_ET1011C_PHY=m
 CONFIG_MICREL_PHY=m
-# CONFIG_DP83848_PHY is not set
+CONFIG_DP83848_PHY=m
 CONFIG_DP83867_PHY=m
 CONFIG_MICROCHIP_PHY=m
 CONFIG_FIXED_PHY=y
@@ -2828,10 +2844,10 @@ CONFIG_PCMCIA_WL3501=m
 # CONFIG_PRISM54 is not set
 CONFIG_USB_ZD1201=m
 CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_ADM8211=m
 CONFIG_RTL8180=m
 CONFIG_RTL8187=m
 CONFIG_RTL8187_LEDS=y
-CONFIG_ADM8211=m
 CONFIG_MAC80211_HWSIM=m
 CONFIG_MWL8K=m
 CONFIG_ATH_COMMON=m
@@ -2885,7 +2901,6 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y
 # CONFIG_B43_BUSES_SSB is not set
 CONFIG_B43_PCI_AUTOSELECT=y
 CONFIG_B43_PCICORE_AUTOSELECT=y
-# CONFIG_B43_PCMCIA is not set
 # CONFIG_B43_SDIO is not set
 CONFIG_B43_BCMA_PIO=y
 CONFIG_B43_PIO=y
@@ -3027,6 +3042,8 @@ CONFIG_RTLWIFI_USB=m
 CONFIG_RTL8192C_COMMON=m
 CONFIG_RTL8723_COMMON=m
 CONFIG_RTLBTCOEXIST=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
 CONFIG_WL_TI=y
 CONFIG_WL1251=m
 CONFIG_WL1251_SPI=m
@@ -3082,6 +3099,7 @@ CONFIG_SBNI=m
 CONFIG_IEEE802154_DRIVERS=m
 CONFIG_IEEE802154_FAKELB=m
 CONFIG_IEEE802154_AT86RF230=m
+CONFIG_IEEE802154_AT86RF230_DEBUGFS=y
 CONFIG_IEEE802154_MRF24J40=m
 CONFIG_IEEE802154_CC2520=m
 CONFIG_IEEE802154_ATUSB=m
@@ -3221,6 +3239,10 @@ CONFIG_MISDN_NETJET=m
 CONFIG_MISDN_IPAC=m
 CONFIG_MISDN_ISAR=m
 CONFIG_ISDN_HDLC=m
+CONFIG_NVM=y
+# CONFIG_NVM_DEBUG is not set
+CONFIG_NVM_GENNVM=m
+CONFIG_NVM_RRPC=m
 
 #
 # Input device support
@@ -3357,6 +3379,7 @@ CONFIG_TOUCHSCREEN_DA9052=m
 CONFIG_TOUCHSCREEN_DYNAPRO=m
 CONFIG_TOUCHSCREEN_HAMPSHIRE=m
 CONFIG_TOUCHSCREEN_EETI=m
+CONFIG_TOUCHSCREEN_FT6236=m
 CONFIG_TOUCHSCREEN_FUJITSU=m
 CONFIG_TOUCHSCREEN_GOODIX=m
 CONFIG_TOUCHSCREEN_ILI210X=m
@@ -3406,6 +3429,8 @@ CONFIG_TOUCHSCREEN_USB_NEXIO=y
 CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
 CONFIG_TOUCHSCREEN_TOUCHIT213=m
 CONFIG_TOUCHSCREEN_TSC_SERIO=m
+CONFIG_TOUCHSCREEN_TSC200X_CORE=m
+CONFIG_TOUCHSCREEN_TSC2004=m
 CONFIG_TOUCHSCREEN_TSC2005=m
 CONFIG_TOUCHSCREEN_TSC2007=m
 CONFIG_TOUCHSCREEN_PCAP=m
@@ -3414,6 +3439,7 @@ CONFIG_TOUCHSCREEN_SUR40=m
 CONFIG_TOUCHSCREEN_SX8654=m
 CONFIG_TOUCHSCREEN_TPS6507X=m
 CONFIG_TOUCHSCREEN_ZFORCE=m
+CONFIG_TOUCHSCREEN_ROHM_BU21023=m
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_88PM860X_ONKEY=m
 CONFIG_INPUT_88PM80X_ONKEY=m
@@ -3489,6 +3515,7 @@ CONFIG_SERIO_ALTERA_PS2=m
 CONFIG_SERIO_PS2MULT=m
 CONFIG_SERIO_ARC_PS2=m
 CONFIG_HYPERV_KEYBOARD=m
+CONFIG_USERIO=m
 CONFIG_GAMEPORT=m
 CONFIG_GAMEPORT_NS558=m
 CONFIG_GAMEPORT_L4=m
@@ -3545,8 +3572,11 @@ CONFIG_SERIAL_8250_MANY_PORTS=y
 CONFIG_SERIAL_8250_SHARE_IRQ=y
 # CONFIG_SERIAL_8250_DETECT_IRQ is not set
 CONFIG_SERIAL_8250_RSA=y
+# CONFIG_SERIAL_8250_FSL is not set
 CONFIG_SERIAL_8250_DW=m
+CONFIG_SERIAL_8250_RT288X=y
 CONFIG_SERIAL_8250_FINTEK=m
+CONFIG_SERIAL_8250_MID=m
 
 #
 # Non-8250 serial port support
@@ -3696,6 +3726,7 @@ CONFIG_I2C_CBUS_GPIO=m
 CONFIG_I2C_DESIGNWARE_CORE=m
 CONFIG_I2C_DESIGNWARE_PLATFORM=m
 CONFIG_I2C_DESIGNWARE_PCI=m
+CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
 CONFIG_I2C_EMEV2=m
 CONFIG_I2C_GPIO=m
 CONFIG_I2C_KEMPLD=m
@@ -3810,6 +3841,7 @@ CONFIG_PINCTRL_AMD=y
 CONFIG_PINCTRL_BAYTRAIL=y
 CONFIG_PINCTRL_CHERRYVIEW=m
 CONFIG_PINCTRL_INTEL=m
+CONFIG_PINCTRL_BROXTON=m
 CONFIG_PINCTRL_SUNRISEPOINT=m
 CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
 CONFIG_GPIOLIB=y
@@ -3824,15 +3856,22 @@ CONFIG_GPIO_MAX730X=m
 #
 # Memory mapped GPIO drivers
 #
+CONFIG_GPIO_AMDPT=m
 CONFIG_GPIO_DWAPB=m
-CONFIG_GPIO_F7188X=m
 CONFIG_GPIO_GENERIC_PLATFORM=m
 CONFIG_GPIO_ICH=m
-CONFIG_GPIO_IT8761E=m
 CONFIG_GPIO_LYNXPOINT=y
+CONFIG_GPIO_VX855=m
+CONFIG_GPIO_ZX=y
+
+#
+# Port-mapped I/O GPIO drivers
+#
+CONFIG_GPIO_104_IDIO_16=m
+CONFIG_GPIO_F7188X=m
+CONFIG_GPIO_IT87=m
 CONFIG_GPIO_SCH=m
 CONFIG_GPIO_SCH311X=m
-CONFIG_GPIO_VX855=m
 
 #
 # I2C GPIO expanders
@@ -3880,9 +3919,12 @@ CONFIG_GPIO_RDC321X=m
 # SPI GPIO expanders
 #
 CONFIG_GPIO_MAX7301=m
-CONFIG_GPIO_MCP23S08=m
 CONFIG_GPIO_MC33880=m
-CONFIG_GPIO_ZX=y
+
+#
+# SPI or I2C GPIO expanders
+#
+CONFIG_GPIO_MCP23S08=m
 
 #
 # USB GPIO expanders
@@ -3933,12 +3975,13 @@ CONFIG_BATTERY_DS2780=m
 CONFIG_BATTERY_DS2781=m
 CONFIG_BATTERY_DS2782=m
 CONFIG_BATTERY_SBS=m
-CONFIG_BATTERY_BQ27x00=m
-CONFIG_BATTERY_BQ27X00_I2C=y
-CONFIG_BATTERY_BQ27X00_PLATFORM=y
+CONFIG_BATTERY_BQ27XXX=m
+CONFIG_BATTERY_BQ27XXX_I2C=y
+CONFIG_BATTERY_BQ27XXX_PLATFORM=y
 CONFIG_BATTERY_DA9030=m
 CONFIG_BATTERY_DA9052=m
 CONFIG_CHARGER_DA9150=m
+CONFIG_BATTERY_DA9150=m
 CONFIG_AXP288_CHARGER=m
 CONFIG_AXP288_FUEL_GAUGE=m
 CONFIG_BATTERY_MAX17040=m
@@ -3965,9 +4008,11 @@ CONFIG_CHARGER_BQ24735=m
 CONFIG_CHARGER_BQ25890=m
 CONFIG_CHARGER_SMB347=m
 CONFIG_CHARGER_TPS65090=m
+CONFIG_CHARGER_TPS65217=m
 CONFIG_BATTERY_GAUGE_LTC2941=m
 CONFIG_BATTERY_RT5033=m
 CONFIG_CHARGER_RT9455=m
+CONFIG_AXP20X_POWER=m
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_RESTART=y
 CONFIG_POWER_AVS=y
@@ -4045,6 +4090,7 @@ CONFIG_SENSORS_MAX6639=m
 CONFIG_SENSORS_MAX6642=m
 CONFIG_SENSORS_MAX6650=m
 CONFIG_SENSORS_MAX6697=m
+CONFIG_SENSORS_MAX31790=m
 CONFIG_SENSORS_HTU21=m
 CONFIG_SENSORS_MCP3021=m
 CONFIG_SENSORS_MENF21BMC_HWMON=m
@@ -4213,6 +4259,7 @@ CONFIG_W83877F_WDT=m
 CONFIG_W83977F_WDT=m
 CONFIG_MACHZ_WDT=m
 CONFIG_SBC_EPX_C3_WATCHDOG=m
+CONFIG_BCM7038_WDT=m
 CONFIG_MEN_A21_WDT=m
 CONFIG_XEN_WDT=m
 
@@ -4241,6 +4288,7 @@ CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
 # CONFIG_SSB_PCMCIAHOST is not set
 CONFIG_SSB_SDIOHOST_POSSIBLE=y
 CONFIG_SSB_SDIOHOST=y
+CONFIG_SSB_HOST_SOC=y
 # CONFIG_SSB_SILENT is not set
 # CONFIG_SSB_DEBUG is not set
 CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
@@ -4767,6 +4815,7 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
 CONFIG_VIDEO_SH_VEU=m
 CONFIG_V4L_TEST_DRIVERS=y
 CONFIG_VIDEO_VIVID=m
+CONFIG_VIDEO_VIVID_MAX_DEVS=64
 CONFIG_VIDEO_VIM2M=m
 CONFIG_DVB_PLATFORM_DRIVERS=y
 
@@ -5147,7 +5196,7 @@ CONFIG_DRM_RADEON=m
 # CONFIG_DRM_RADEON_USERPTR is not set
 # CONFIG_DRM_RADEON_UMS is not set
 CONFIG_DRM_AMDGPU=m
-CONFIG_DRM_AMDGPU_CIK=y
+# CONFIG_DRM_AMDGPU_CIK is not set
 CONFIG_DRM_AMDGPU_USERPTR=y
 CONFIG_DRM_NOUVEAU=m
 CONFIG_NOUVEAU_DEBUG=5
@@ -5284,6 +5333,7 @@ CONFIG_FB_CARMINE_DRAM_EVAL=y
 CONFIG_FB_SM501=m
 CONFIG_FB_SMSCUFX=m
 CONFIG_FB_UDL=m
+CONFIG_FB_IBM_GXT4500=m
 # CONFIG_FB_VIRTUAL is not set
 CONFIG_XEN_FBDEV_FRONTEND=m
 CONFIG_FB_METRONOME=m
@@ -5375,7 +5425,9 @@ CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
 CONFIG_SND_OSSEMUL=y
 CONFIG_SND_MIXER_OSS=m
-# CONFIG_SND_PCM_OSS is not set
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_PCM_TIMER=y
 # CONFIG_SND_SEQUENCER_OSS is not set
 CONFIG_SND_HRTIMER=m
 CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
@@ -5392,7 +5444,7 @@ CONFIG_SND_RAWMIDI_SEQ=m
 CONFIG_SND_OPL3_LIB_SEQ=m
 # CONFIG_SND_OPL4_LIB_SEQ is not set
 # CONFIG_SND_SBAWE_SEQ is not set
-CONFIG_SND_EMU10K1_SEQ=m
+# CONFIG_SND_EMU10K1_SEQ is not set
 CONFIG_SND_MPU401_UART=m
 CONFIG_SND_OPL3_LIB=m
 CONFIG_SND_VX_LIB=m
@@ -5412,9 +5464,7 @@ CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
 CONFIG_SND_SB_COMMON=m
 CONFIG_SND_PCI=y
 CONFIG_SND_AD1889=m
-CONFIG_SND_ALS300=m
 CONFIG_SND_ALS4000=m
-CONFIG_SND_ALI5451=m
 CONFIG_SND_ASIHPI=m
 CONFIG_SND_ATIIXP=m
 CONFIG_SND_ATIIXP_MODEM=m
@@ -5422,7 +5472,6 @@ CONFIG_SND_AU8810=m
 CONFIG_SND_AU8820=m
 CONFIG_SND_AU8830=m
 CONFIG_SND_AW2=m
-CONFIG_SND_AZT3328=m
 CONFIG_SND_BT87X=m
 # CONFIG_SND_BT87X_OVERCLOCK is not set
 CONFIG_SND_CA0106=m
@@ -5447,27 +5496,18 @@ CONFIG_SND_INDIGOIO=m
 CONFIG_SND_INDIGODJ=m
 CONFIG_SND_INDIGOIOX=m
 CONFIG_SND_INDIGODJX=m
-CONFIG_SND_EMU10K1=m
-CONFIG_SND_EMU10K1X=m
 CONFIG_SND_ENS1370=m
 CONFIG_SND_ENS1371=m
-CONFIG_SND_ES1938=m
-CONFIG_SND_ES1968=m
-CONFIG_SND_ES1968_INPUT=y
-CONFIG_SND_ES1968_RADIO=y
 CONFIG_SND_FM801=m
 CONFIG_SND_FM801_TEA575X_BOOL=y
 CONFIG_SND_HDSP=m
 CONFIG_SND_HDSPM=m
-CONFIG_SND_ICE1712=m
 CONFIG_SND_ICE1724=m
 CONFIG_SND_INTEL8X0=m
 CONFIG_SND_INTEL8X0M=m
 CONFIG_SND_KORG1212=m
 CONFIG_SND_LOLA=m
 CONFIG_SND_LX6464ES=m
-CONFIG_SND_MAESTRO3=m
-CONFIG_SND_MAESTRO3_INPUT=y
 CONFIG_SND_MIXART=m
 CONFIG_SND_NM256=m
 CONFIG_SND_PCXHR=m
@@ -5475,8 +5515,6 @@ CONFIG_SND_RIPTIDE=m
 CONFIG_SND_RME32=m
 CONFIG_SND_RME96=m
 CONFIG_SND_RME9652=m
-CONFIG_SND_SONICVIBES=m
-CONFIG_SND_TRIDENT=m
 CONFIG_SND_VIA82XX=m
 CONFIG_SND_VIA82XX_MODEM=m
 CONFIG_SND_VIRTUOSO=m
@@ -5510,6 +5548,7 @@ CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
 CONFIG_SND_HDA_CORE=m
 CONFIG_SND_HDA_DSP_LOADER=y
 CONFIG_SND_HDA_I915=y
+CONFIG_SND_HDA_EXT_CORE=m
 CONFIG_SND_HDA_PREALLOC_SIZE=64
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
@@ -5535,12 +5574,16 @@ CONFIG_SND_ISIGHT=m
 CONFIG_SND_SCS1X=m
 CONFIG_SND_FIREWORKS=m
 CONFIG_SND_BEBOB=m
+CONFIG_SND_FIREWIRE_DIGI00X=m
+CONFIG_SND_FIREWIRE_TASCAM=m
 CONFIG_SND_PCMCIA=y
 CONFIG_SND_VXPOCKET=m
 CONFIG_SND_PDAUDIOCF=m
 CONFIG_SND_SOC=m
 CONFIG_SND_SOC_AC97_BUS=y
 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_COMPRESS=y
+CONFIG_SND_SOC_TOPOLOGY=y
 CONFIG_SND_ATMEL_SOC=m
 CONFIG_SND_DESIGNWARE_I2S=m
 
@@ -5572,6 +5615,13 @@ CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
+CONFIG_SND_SOC_INTEL_SKYLAKE=m
+CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
+
+#
+# Allwinner SoC Audio support
+#
+CONFIG_SND_SUN4I_CODEC=m
 CONFIG_SND_SOC_XTFPGA_I2S=m
 CONFIG_SND_SOC_I2C_AND_SPI=m
 
@@ -5582,6 +5632,7 @@ CONFIG_SND_SOC_AC97_CODEC=m
 CONFIG_SND_SOC_ADAU1701=m
 CONFIG_SND_SOC_AK4104=m
 CONFIG_SND_SOC_AK4554=m
+CONFIG_SND_SOC_AK4613=m
 CONFIG_SND_SOC_AK4642=m
 CONFIG_SND_SOC_AK5386=m
 CONFIG_SND_SOC_ALC5623=m
@@ -5599,7 +5650,7 @@ CONFIG_SND_SOC_CS4271_SPI=m
 CONFIG_SND_SOC_CS42XX8=m
 CONFIG_SND_SOC_CS42XX8_I2C=m
 CONFIG_SND_SOC_CS4349=m
-CONFIG_SND_SOC_HDMI_CODEC=m
+CONFIG_SND_SOC_DMIC=m
 CONFIG_SND_SOC_ES8328=m
 CONFIG_SND_SOC_GTM601=m
 CONFIG_SND_SOC_MAX98090=m
@@ -5684,6 +5735,7 @@ CONFIG_HID_BELKIN=m
 CONFIG_HID_BETOP_FF=m
 CONFIG_HID_CHERRY=m
 CONFIG_HID_CHICONY=m
+CONFIG_HID_CORSAIR=m
 CONFIG_HID_PRODIKEYS=m
 CONFIG_HID_CP2112=m
 CONFIG_HID_CYPRESS=m
@@ -5694,6 +5746,7 @@ CONFIG_HID_ELECOM=m
 CONFIG_HID_ELO=m
 CONFIG_HID_EZKEY=m
 CONFIG_HID_GEMBIRD=m
+CONFIG_HID_GFRM=m
 CONFIG_HID_HOLTEK=m
 CONFIG_HOLTEK_FF=y
 CONFIG_HID_GT683R=m
@@ -5792,7 +5845,6 @@ CONFIG_USB_DYNAMIC_MINORS=y
 # CONFIG_USB_OTG is not set
 # CONFIG_USB_OTG_WHITELIST is not set
 # CONFIG_USB_OTG_BLACKLIST_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
 CONFIG_USB_ULPI_BUS=m
 CONFIG_USB_MON=m
 CONFIG_USB_WUSB=m
@@ -5814,7 +5866,6 @@ CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_OXU210HP_HCD=m
 CONFIG_USB_ISP116X_HCD=m
 CONFIG_USB_ISP1362_HCD=m
-CONFIG_USB_FUSBH200_HCD=m
 CONFIG_USB_FOTG210_HCD=m
 CONFIG_USB_MAX3421_HCD=m
 CONFIG_USB_OHCI_HCD=y
@@ -6136,7 +6187,6 @@ CONFIG_UWB_WHCI=m
 CONFIG_UWB_I1480U=m
 CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_CLKGATE is not set
 
 #
 # MMC/SD/SDIO Card Drivers
@@ -6201,10 +6251,11 @@ CONFIG_LEDS_PCA9532=m
 CONFIG_LEDS_PCA9532_GPIO=y
 CONFIG_LEDS_GPIO=m
 CONFIG_LEDS_LP3944=m
-# CONFIG_LEDS_LP5521 is not set
-# CONFIG_LEDS_LP5523 is not set
-# CONFIG_LEDS_LP5562 is not set
-# CONFIG_LEDS_LP8501 is not set
+CONFIG_LEDS_LP55XX_COMMON=m
+CONFIG_LEDS_LP5521=m
+CONFIG_LEDS_LP5523=m
+CONFIG_LEDS_LP5562=m
+CONFIG_LEDS_LP8501=m
 CONFIG_LEDS_LP8788=m
 CONFIG_LEDS_LP8860=m
 CONFIG_LEDS_CLEVO_MAIL=m
@@ -6359,6 +6410,7 @@ CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
 CONFIG_RTC_DRV_RV3029C2=m
+CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
 
 #
@@ -6431,14 +6483,13 @@ CONFIG_DMADEVICES=y
 CONFIG_DMA_ENGINE=y
 CONFIG_DMA_VIRTUAL_CHANNELS=m
 CONFIG_DMA_ACPI=y
-CONFIG_IDMA64=m
+CONFIG_INTEL_IDMA64=m
 CONFIG_INTEL_IOATDMA=m
 CONFIG_INTEL_MIC_X100_DMA=m
 CONFIG_DW_DMAC_CORE=m
 CONFIG_DW_DMAC=m
 CONFIG_DW_DMAC_PCI=m
 CONFIG_HSU_DMA=m
-CONFIG_HSU_DMA_PCI=m
 
 #
 # DMA Clients
@@ -6470,6 +6521,7 @@ CONFIG_VFIO_PCI=m
 CONFIG_VFIO_PCI_VGA=y
 CONFIG_VFIO_PCI_MMAP=y
 CONFIG_VFIO_PCI_INTX=y
+CONFIG_IRQ_BYPASS_MANAGER=m
 CONFIG_VIRT_DRIVERS=y
 CONFIG_VIRTIO=y
 
@@ -6559,7 +6611,6 @@ CONFIG_COMEDI_DT2815=m
 CONFIG_COMEDI_DT2817=m
 CONFIG_COMEDI_DT282X=m
 CONFIG_COMEDI_DMM32AT=m
-CONFIG_COMEDI_UNIOXX5=m
 CONFIG_COMEDI_FL512=m
 CONFIG_COMEDI_AIO_AIO12_8=m
 CONFIG_COMEDI_AIO_IIRO_16=m
@@ -6778,9 +6829,6 @@ CONFIG_IIO_SIMPLE_DUMMY=m
 # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set
 CONFIG_FB_SM750=m
 CONFIG_FB_XGI=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-CONFIG_FT1000_PCMCIA=m
 
 #
 # Speakup console speech
@@ -6812,7 +6860,7 @@ CONFIG_LIRC_SERIAL=m
 CONFIG_LIRC_SERIAL_TRANSMITTER=y
 CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
-CONFIG_STAGING_RDMA=y
+CONFIG_STAGING_RDMA=m
 CONFIG_INFINIBAND_AMSO1100=m
 # CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
 CONFIG_INFINIBAND_HFI1=m
@@ -6838,14 +6886,7 @@ CONFIG_FWTTY_MAX_TOTAL_PORTS=64
 CONFIG_FWTTY_MAX_CARD_PORTS=32
 CONFIG_MTD_SPINAND_MT29F=m
 CONFIG_MTD_SPINAND_ONDIEECC=y
-CONFIG_LUSTRE_FS=m
-CONFIG_LUSTRE_OBD_MAX_IOCTL_BUFFER=8192
-# CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK is not set
-CONFIG_LUSTRE_LLITE_LLOOP=m
-CONFIG_LNET=m
-CONFIG_LNET_MAX_PAYLOAD=1048576
-CONFIG_LNET_SELFTEST=m
-CONFIG_LNET_XPRT_IB=m
+# CONFIG_LUSTRE_FS is not set
 CONFIG_DGNC=m
 CONFIG_DGAP=m
 CONFIG_GS_FPGABOOT=m
@@ -6853,6 +6894,8 @@ CONFIG_CRYPTO_SKEIN=y
 CONFIG_UNISYSSPAR=y
 CONFIG_UNISYS_VISORBUS=m
 CONFIG_UNISYS_VISORNIC=m
+CONFIG_UNISYS_VISORINPUT=m
+CONFIG_UNISYS_VISORHBA=m
 CONFIG_FB_TFT=m
 CONFIG_FB_TFT_AGM1264K_FL=m
 CONFIG_FB_TFT_BD663474=m
@@ -6876,6 +6919,7 @@ CONFIG_FB_TFT_SSD1306=m
 CONFIG_FB_TFT_SSD1331=m
 CONFIG_FB_TFT_SSD1351=m
 CONFIG_FB_TFT_ST7735R=m
+CONFIG_FB_TFT_ST7789V=m
 CONFIG_FB_TFT_TINYLCD=m
 CONFIG_FB_TFT_TLS8204=m
 CONFIG_FB_TFT_UC1611=m
@@ -6884,6 +6928,7 @@ CONFIG_FB_TFT_UPD161704=m
 CONFIG_FB_TFT_WATTEROTT=m
 CONFIG_FB_FLEX=m
 CONFIG_FB_TFT_FBTFT_DEVICE=m
+# CONFIG_WILC1000_DRIVER is not set
 CONFIG_MOST=m
 CONFIG_MOSTCORE=m
 CONFIG_AIM_CDEV=m
@@ -6935,6 +6980,7 @@ CONFIG_TOPSTAR_LAPTOP=m
 CONFIG_ACPI_TOSHIBA=m
 CONFIG_TOSHIBA_BT_RFKILL=m
 CONFIG_TOSHIBA_HAPS=m
+CONFIG_TOSHIBA_WMI=m
 CONFIG_ACPI_CMPC=m
 CONFIG_INTEL_IPS=m
 CONFIG_IBM_RTL=m
@@ -7000,6 +7046,7 @@ CONFIG_AMD_IOMMU_STATS=y
 CONFIG_AMD_IOMMU_V2=m
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
+CONFIG_INTEL_IOMMU_SVM=y
 # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
 CONFIG_INTEL_IOMMU_FLOPPY_WA=y
 CONFIG_IRQ_REMAP=y
@@ -7053,17 +7100,20 @@ CONFIG_EXTCON_USB_GPIO=m
 CONFIG_MEMORY=y
 CONFIG_IIO=m
 CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
+CONFIG_IIO_BUFFER_CB=m
 CONFIG_IIO_KFIFO_BUF=m
 CONFIG_IIO_TRIGGERED_BUFFER=m
 CONFIG_IIO_TRIGGER=y
 CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_TRIGGERED_EVENT=m
 
 #
 # Accelerometers
 #
 CONFIG_BMA180=m
 CONFIG_BMC150_ACCEL=m
+CONFIG_BMC150_ACCEL_I2C=m
+CONFIG_BMC150_ACCEL_SPI=m
 CONFIG_HID_SENSOR_ACCEL_3D=m
 CONFIG_IIO_ST_ACCEL_3AXIS=m
 CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m
@@ -7074,6 +7124,7 @@ CONFIG_MMA8452=m
 CONFIG_MMA9551_CORE=m
 CONFIG_MMA9551=m
 CONFIG_MMA9553=m
+CONFIG_MXC4005=m
 CONFIG_STK8312=m
 CONFIG_STK8BA50=m
 
@@ -7091,8 +7142,9 @@ CONFIG_AD7887=m
 CONFIG_AD7923=m
 CONFIG_AD799X=m
 CONFIG_AXP288_ADC=m
-CONFIG_DA9150_GPADC=m
 CONFIG_CC10001_ADC=m
+CONFIG_DA9150_GPADC=m
+CONFIG_HI8435=m
 CONFIG_LP8788_ADC=m
 CONFIG_MAX1027=m
 CONFIG_MAX1363=m
@@ -7115,10 +7167,16 @@ CONFIG_VIPERBOARD_ADC=m
 CONFIG_AD8366=m
 
 #
+# Chemical Sensors
+#
+CONFIG_VZ89X=m
+
+#
 # Hid Sensor IIO Common
 #
 CONFIG_HID_SENSOR_IIO_COMMON=m
 CONFIG_HID_SENSOR_IIO_TRIGGER=m
+CONFIG_IIO_MS_SENSORS_I2C=m
 
 #
 # SSP Sensor Common
@@ -7173,6 +7231,8 @@ CONFIG_ADIS16136=m
 CONFIG_ADIS16260=m
 CONFIG_ADXRS450=m
 CONFIG_BMG160=m
+CONFIG_BMG160_I2C=m
+CONFIG_BMG160_SPI=m
 CONFIG_HID_SENSOR_GYRO_3D=m
 CONFIG_IIO_ST_GYRO_3AXIS=m
 CONFIG_IIO_ST_GYRO_I2C_3AXIS=m
@@ -7183,6 +7243,8 @@ CONFIG_ITG3200=m
 # Humidity sensors
 #
 CONFIG_DHT11=m
+CONFIG_HDC100X=m
+CONFIG_HTU21=m
 CONFIG_SI7005=m
 CONFIG_SI7020=m
 
@@ -7203,6 +7265,7 @@ CONFIG_ACPI_ALS=m
 CONFIG_ADJD_S311=m
 CONFIG_AL3320A=m
 CONFIG_APDS9300=m
+CONFIG_APDS9960=m
 CONFIG_BH1750=m
 CONFIG_CM32181=m
 CONFIG_CM3232=m
@@ -7223,6 +7286,7 @@ CONFIG_TCS3414=m
 CONFIG_TCS3472=m
 CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL4531=m
+CONFIG_US5182D=m
 CONFIG_VCNL4000=m
 
 #
@@ -7230,13 +7294,13 @@ CONFIG_VCNL4000=m
 #
 CONFIG_AK8975=m
 CONFIG_AK09911=m
+CONFIG_BMC150_MAGN=m
 CONFIG_MAG3110=m
 CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
 CONFIG_MMC35240=m
 CONFIG_IIO_ST_MAGN_3AXIS=m
 CONFIG_IIO_ST_MAGN_I2C_3AXIS=m
 CONFIG_IIO_ST_MAGN_SPI_3AXIS=m
-CONFIG_BMC150_MAGN=m
 
 #
 # Inclinometer sensors
@@ -7251,6 +7315,11 @@ CONFIG_IIO_INTERRUPT_TRIGGER=m
 CONFIG_IIO_SYSFS_TRIGGER=m
 
 #
+# Digital potentiometers
+#
+CONFIG_MCP4531=m
+
+#
 # Pressure sensors
 #
 CONFIG_BMP280=m
@@ -7260,6 +7329,7 @@ CONFIG_MPL3115=m
 CONFIG_MS5611=m
 CONFIG_MS5611_I2C=m
 CONFIG_MS5611_SPI=m
+CONFIG_MS5637=m
 CONFIG_IIO_ST_PRESS=m
 CONFIG_IIO_ST_PRESS_I2C=m
 CONFIG_IIO_ST_PRESS_SPI=m
@@ -7273,6 +7343,7 @@ CONFIG_AS3935=m
 #
 # Proximity sensors
 #
+CONFIG_LIDAR_LITE_V2=m
 CONFIG_SX9500=m
 
 #
@@ -7280,6 +7351,8 @@ CONFIG_SX9500=m
 #
 CONFIG_MLX90614=m
 CONFIG_TMP006=m
+CONFIG_TSYS01=m
+CONFIG_TSYS02D=m
 CONFIG_NTB=m
 CONFIG_NTB_INTEL=m
 CONFIG_NTB_PINGPONG=m
@@ -7310,6 +7383,7 @@ CONFIG_PWM_LP3943=m
 CONFIG_PWM_LPSS=m
 CONFIG_PWM_LPSS_PCI=m
 CONFIG_PWM_LPSS_PLATFORM=m
+CONFIG_PWM_PCA9685=m
 CONFIG_PWM_TWL=m
 CONFIG_PWM_TWL_LED=m
 CONFIG_IPACK_BUS=m
@@ -7356,7 +7430,25 @@ CONFIG_ND_BLK=m
 CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=m
 CONFIG_BTT=y
+CONFIG_ND_PFN=m
+CONFIG_NVDIMM_PFN=y
 CONFIG_NVMEM=m
+CONFIG_STM=m
+CONFIG_STM_DUMMY=m
+CONFIG_STM_SOURCE_CONSOLE=m
+CONFIG_INTEL_TH=m
+CONFIG_INTEL_TH_PCI=m
+CONFIG_INTEL_TH_GTH=m
+CONFIG_INTEL_TH_STH=m
+CONFIG_INTEL_TH_MSU=m
+CONFIG_INTEL_TH_PTI=m
+# CONFIG_INTEL_TH_DEBUG is not set
+
+#
+# FPGA Configuration Support
+#
+CONFIG_FPGA=m
+CONFIG_FPGA_MGR_ZYNQ_FPGA=m
 
 #
 # Firmware Drivers
@@ -7381,6 +7473,7 @@ CONFIG_EFI_ESRT=y
 CONFIG_EFI_VARS_PSTORE=m
 # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
 CONFIG_EFI_RUNTIME_MAP=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
 CONFIG_EFI_RUNTIME_WRAPPERS=y
 CONFIG_UEFI_CPER=y
 
@@ -7548,6 +7641,7 @@ CONFIG_UBIFS_FS=m
 # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
 CONFIG_UBIFS_FS_LZO=y
 CONFIG_UBIFS_FS_ZLIB=y
+CONFIG_UBIFS_ATIME_SUPPORT=y
 # CONFIG_LOGFS is not set
 CONFIG_CRAMFS=m
 CONFIG_SQUASHFS=m
@@ -7558,7 +7652,7 @@ CONFIG_SQUASHFS_FILE_DIRECT=y
 CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
 CONFIG_SQUASHFS_XATTR=y
 CONFIG_SQUASHFS_ZLIB=y
-# CONFIG_SQUASHFS_LZ4 is not set
+CONFIG_SQUASHFS_LZ4=y
 CONFIG_SQUASHFS_LZO=y
 CONFIG_SQUASHFS_XZ=y
 # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
@@ -7743,6 +7837,7 @@ CONFIG_UNUSED_SYMBOLS=y
 CONFIG_DEBUG_FS=y
 # CONFIG_HEADERS_CHECK is not set
 # CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
 CONFIG_ARCH_WANT_FRAME_POINTERS=y
 CONFIG_FRAME_POINTER=y
 # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
@@ -7884,6 +7979,7 @@ CONFIG_MMIOTRACE=y
 # CONFIG_RING_BUFFER_BENCHMARK is not set
 # CONFIG_RING_BUFFER_STARTUP_TEST is not set
 # CONFIG_TRACE_ENUM_MAP_FILE is not set
+CONFIG_TRACING_EVENTS_GPIO=y
 
 #
 # Runtime Testing
@@ -7900,6 +7996,7 @@ CONFIG_ASYNC_RAID6_TEST=m
 CONFIG_TEST_HEXDUMP=m
 CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
+CONFIG_TEST_PRINTF=m
 # CONFIG_TEST_RHASHTABLE is not set
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
@@ -7925,9 +8022,12 @@ CONFIG_STRICT_DEVMEM=y
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK_DBGP=y
 CONFIG_EARLY_PRINTK_EFI=y
+# CONFIG_X86_PTDUMP_CORE is not set
 # CONFIG_X86_PTDUMP is not set
+# CONFIG_EFI_PGT_DUMP is not set
 CONFIG_DEBUG_RODATA=y
 # CONFIG_DEBUG_RODATA_TEST is not set
+# CONFIG_DEBUG_WX is not set
 CONFIG_DEBUG_SET_MODULE_RONX=y
 # CONFIG_DEBUG_NX_TEST is not set
 CONFIG_DOUBLEFAULT=y
@@ -8081,6 +8181,7 @@ CONFIG_CRYPTO_ECB=y
 CONFIG_CRYPTO_LRW=m
 CONFIG_CRYPTO_PCBC=m
 CONFIG_CRYPTO_XTS=m
+CONFIG_CRYPTO_KEYWRAP=m
 
 #
 # Hash modes
@@ -8222,6 +8323,7 @@ CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
 CONFIG_KVM_VFIO=y
 CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
 CONFIG_KVM_COMPAT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
 CONFIG_VIRTUALIZATION=y
 CONFIG_KVM=m
 CONFIG_KVM_INTEL=m
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 798b1e26d8..7250cd5002 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -211,7 +211,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
      #f)))
 
 (define-public linux-libre
-  (let* ((version "4.3.3")
+  (let* ((version "4.4")
          (build-phase
           '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
              ;; Apply the neat patch.
@@ -285,7 +285,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
              (uri (linux-libre-urls version))
              (sha256
               (base32
-               "1z43kzs1pzwq5mkyh7zk8nq38sxlswp65824v54dzwngyc252a18"))))
+               "1839xsaifs7vvyblzin8jps0gqi10xmz1l9p4x0j27vmdj39jgpm"))))
     (build-system gnu-build-system)
     (supported-systems '("x86_64-linux" "i686-linux"))
     (native-inputs `(("perl" ,perl)
@@ -1784,7 +1784,7 @@ country-specific regulations for the wireless spectrum.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-"
+                    "ftp://ftp.netroedge.com/pub/lm-sensors/lm_sensors-"
                     version ".tar.bz2"))
               (sha256
                (base32
@@ -1842,7 +1842,7 @@ country-specific regulations for the wireless spectrum.")
               (string-append (assoc-ref inputs "coreutils")
                              "/bin/readlink -f"))))
          %standard-phases))))
-    (home-page "http://www.lm-sensors.org/")
+    (home-page "http://jdelvare.nerim.net/devel.html#lmsensors")
     (synopsis "Utilities to read temperature/voltage/fan sensors")
     (description
      "Lm-sensors is a hardware health monitoring package for Linux.  It allows
@@ -1857,7 +1857,7 @@ It works with most newer systems.")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-"
+                    "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
                     version ".tar.bz2"))
               (sha256
                (base32
@@ -1871,7 +1871,7 @@ It works with most newer systems.")
        #:phases (alist-delete 'configure %standard-phases)))
     (inputs
      `(("perl" ,perl)))
-    (home-page "http://www.lm-sensors.org/wiki/I2CTools")
+    (home-page "http://jdelvare.nerim.net/devel.html#i2ctools")
     (synopsis "I2C tools for Linux")
     (description
      "The i2c-tools package contains a heterogeneous set of I2C tools for
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index b11c0d149c..ab5e770b52 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -129,15 +129,20 @@ the traditional flat-text whatis databases.")
 (define-public man-pages
   (package
     (name "man-pages")
-    (version "3.82")
+    (version "4.04")
     (source (origin
               (method url-fetch)
-              (uri (string-append
+              (uri
+                (list
+                  (string-append
                     "mirror://kernel.org/linux/docs/man-pages/man-pages-"
-                    version ".tar.xz"))
+                    version ".tar.xz")
+                  (string-append
+                    "mirror://kernel.org/linux/docs/man-pages/Archive/"
+                    "man-pages-" version ".tar.xz")))
               (sha256
                (base32
-                "1c8q618shf469nfp55qrwjv9630fgq5abfk946xya9hw1bfp6wjl"))))
+                "0v8zxq4scfixy3pjpw9ankvv5v8frv62khv4xm1jpkswyq6rbqcg"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-delete 'configure %standard-phases)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index e2d5aa1ff4..51d9cc1ce4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -463,14 +463,14 @@ script files.")
 (define-public gmsh
   (package
     (name "gmsh")
-    (version "2.8.4")
+    (version "2.11.0")
     (source
      (origin
       (method url-fetch)
       (uri (string-append "http://www.geuz.org/gmsh/src/gmsh-"
                           version "-source.tgz"))
       (sha256
-       (base32 "0jv2yvk28w86rx5mvjkb0w12ff2jxih7axnpvznpd295lg5jg7hr"))
+       (base32 "1ilplibvjgf7a905grpnclrvkmqy9fgrpl7xyp3w4yl1qc682v9b"))
       (modules '((guix build utils)))
       (snippet
        ;; Remove non-free METIS code
@@ -489,7 +489,15 @@ script files.")
     (arguments
      `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF"
                            "-DENABLE_BUILD_SHARED:BOOL=ON"
-                           "-DENABLE_BUILD_DYNAMIC:BOOL=ON")))
+                           "-DENABLE_BUILD_DYNAMIC:BOOL=ON")
+       #:phases (modify-phases %standard-phases
+                  (replace
+                   'check
+                   (lambda _
+                     (zero? (system* "make" "test"
+                                     ;; Disable this test.  See
+                                     ;; https://geuz.org/trac/gmsh/ticket/271
+                                     "ARGS=-E component8_in_a_box")))))))
     (home-page "http://www.geuz.org/gmsh/")
     (synopsis "3D finite element grid generator")
     (description "Gmsh is a 3D finite element grid generator with a built-in
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index b8d0c9c2ac..b85ebece3c 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -195,9 +195,9 @@ the Nix package manager.")
   ;;
   ;; Note: use a short commit id; when using the long one, the limit on socket
   ;; file names is exceeded while running the tests.
-  (let ((commit "5c36edc"))
+  (let ((commit "f888c0b1207a92b0d7af4dcf7fb73cecd1f0b34f"))
     (package (inherit guix-0.9.0)
-      (version (string-append "0.9.0." commit))
+      (version (string-append "0.9.0." (string-take commit 7)))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -205,7 +205,7 @@ the Nix package manager.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "008fv3yj1jkxxma9vp8wzmkk3m82kgchaj9y7lpcvkqzcdhz8h7p"))
+                  "1g9yxnqg3xl3wk6ps46mbjz5gvbj9cdci7rr7in9mqcqs26llqy1"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (arguments
        (substitute-keyword-arguments (package-arguments guix-0.9.0)
diff --git a/gnu/packages/patches/asymptote-gsl2.patch b/gnu/packages/patches/asymptote-gsl2.patch
new file mode 100644
index 0000000000..4f73d16d7f
--- /dev/null
+++ b/gnu/packages/patches/asymptote-gsl2.patch
@@ -0,0 +1,33 @@
+From 71ff9e769ba5d9995b367201f0d41b7a8dedab9d Mon Sep 17 00:00:00 2001
+From: John Bowman <bowman@ualberta.ca>
+Date: Sat, 14 Nov 2015 01:25:56 -0700
+Subject: [PATCH] Support GSL 2.0.
+
+---
+ gsl.cc | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/gsl.cc b/gsl.cc
+index b500557..0f81dc6 100644
+--- a/gsl.cc
++++ b/gsl.cc
+@@ -27,6 +27,7 @@
+ #include <gsl/gsl_rng.h>
+ #include <gsl/gsl_randist.h>
+ #include <gsl/gsl_cdf.h>
++#include <gsl/gsl_version.h>
+ 
+ #include "opsymbols.h"
+ 
+@@ -1088,7 +1089,11 @@ void gen_rungsl_venv(venv &ve)
+   addGSLDOUBLE2Func<gsl_sf_ellint_F>(SYM(F));
+   addGSLDOUBLE2Func<gsl_sf_ellint_E>(SYM(E));
+   addGSLDOUBLE3Func<gsl_sf_ellint_P>(SYM(P),SYM(phi),SYM(k),SYM(n));
++#if GSL_MAJOR_VERSION >= 2
++  addGSLDOUBLE2Func<gsl_sf_ellint_D>(SYM(D),SYM(phi),SYM(k));
++#else  
+   addGSLDOUBLE3Func<gsl_sf_ellint_D>(SYM(D),SYM(phi),SYM(k),SYM(n));
++#endif  
+   addGSLDOUBLE2Func<gsl_sf_ellint_RC>(SYM(RC),SYM(x),SYM(y));
+   addGSLDOUBLE3Func<gsl_sf_ellint_RD>(SYM(RD),SYM(x),SYM(y),SYM(z));
+   addGSLDOUBLE3Func<gsl_sf_ellint_RF>(SYM(RF),SYM(x),SYM(y),SYM(z));
diff --git a/gnu/packages/patches/bedtools-32bit-compilation.patch b/gnu/packages/patches/bedtools-32bit-compilation.patch
deleted file mode 100644
index bc567f3f6b..0000000000
--- a/gnu/packages/patches/bedtools-32bit-compilation.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-Fixed in upstream, see
-https://github.com/arq5x/bedtools2/issues/271
-
-From b47dbefcb57f8e6c4fe397f64346338620740b71 Mon Sep 17 00:00:00 2001
-From: arq5x <arq5x@virginia.edu>
-Date: Wed, 15 Jul 2015 15:15:23 -0600
-Subject: [PATCH] settle on uint32_t signature for QuickString. Resolves #267
- and #271?
-
----
- src/coverageFile/coverageFile.cpp | 24 ++++++++++++------------
- src/utils/general/QuickString.cpp | 27 ++++++++++++++-------------
- src/utils/general/QuickString.h   |  6 +++---
- 3 files changed, 29 insertions(+), 28 deletions(-)
-
-diff --git a/src/coverageFile/coverageFile.cpp b/src/coverageFile/coverageFile.cpp
-index 859cfdc..0fb544b 100644
---- a/src/coverageFile/coverageFile.cpp
-+++ b/src/coverageFile/coverageFile.cpp
-@@ -83,11 +83,11 @@ void CoverageFile::giveFinalReport(RecordOutputMgr *outputMgr) {
- 		float depthPct = (float)basesAtDepth / (float)_totalQueryLen;
- 
- 		_finalOutput = "all\t";
--		_finalOutput.append(depth);
-+		_finalOutput.append(static_cast<uint32_t>(depth));
- 		_finalOutput.append("\t");
--		_finalOutput.append(basesAtDepth);
-+		_finalOutput.append(static_cast<uint32_t>(basesAtDepth));
- 		_finalOutput.append("\t");
--		_finalOutput.append(_totalQueryLen);
-+		_finalOutput.append(static_cast<uint32_t>(_totalQueryLen));
- 		_finalOutput.append("\t");
- 		format(depthPct);
- 
-@@ -138,7 +138,7 @@ size_t CoverageFile::countBasesAtDepth(size_t depth) {
- 
- void CoverageFile::doCounts(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
- {
--	_finalOutput = hits.size();
-+	_finalOutput = static_cast<uint32_t>(hits.size());
- 	outputMgr->printRecord(hits.getKey(), _finalOutput);
- }
- 
-@@ -147,9 +147,9 @@ void CoverageFile::doPerBase(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
- 	//loop through all bases in query, printing full record and metrics for each
- 	const Record * queryRec = hits.getKey();
- 	for (size_t i= 0; i < _queryLen; i++) {
--		_finalOutput = i +1;
-+		_finalOutput = static_cast<uint32_t>(i+1);
- 		_finalOutput.append("\t");
--		_finalOutput.append(_depthArray[i]);
-+		_finalOutput.append(static_cast<uint32_t>(_depthArray[i]));
- 
- 		outputMgr->printRecord(queryRec, _finalOutput);
- 	}
-@@ -181,11 +181,11 @@ void CoverageFile::doHist(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
- 		size_t numBasesAtDepth = iter->second;
- 		float coveredBases = (float)numBasesAtDepth / (float)_queryLen;
- 
--		_finalOutput = depth;
-+		_finalOutput = static_cast<uint32_t>(depth);
- 		_finalOutput.append("\t");
--		_finalOutput.append(numBasesAtDepth);
-+		_finalOutput.append(static_cast<uint32_t>(numBasesAtDepth));
- 		_finalOutput.append("\t");
--		_finalOutput.append(_queryLen);
-+		_finalOutput.append(static_cast<uint32_t>(_queryLen));
- 		_finalOutput.append("\t");
- 		format(coveredBases);
- 
-@@ -199,11 +199,11 @@ void CoverageFile::doDefault(RecordOutputMgr *outputMgr, RecordKeyVector &hits)
- 	size_t nonZeroBases = _queryLen - countBasesAtDepth(0);
- 	float coveredBases = (float)nonZeroBases / (float)_queryLen;
- 
--	_finalOutput = hits.size();
-+	_finalOutput = static_cast<uint32_t>(hits.size());
- 	_finalOutput.append("\t");
--	_finalOutput.append(nonZeroBases);
-+	_finalOutput.append(static_cast<uint32_t>(nonZeroBases));
- 	_finalOutput.append("\t");
--	_finalOutput.append(_queryLen);
-+	_finalOutput.append(static_cast<uint32_t>(_queryLen));
- 	_finalOutput.append("\t");
- 	format(coveredBases);
- 
-diff --git a/src/utils/general/QuickString.cpp b/src/utils/general/QuickString.cpp
-index 0757009..a83263e 100644
---- a/src/utils/general/QuickString.cpp
-+++ b/src/utils/general/QuickString.cpp
-@@ -105,11 +105,11 @@ QuickString &QuickString::operator = (uint32_t val) {
- 	return *this;
- }
- 
--QuickString &QuickString::operator = (size_t val) {
--	clear();
--	append(val);
--	return *this;
--}
-+// QuickString &QuickString::operator = (size_t val) {
-+// 	clear();
-+// 	append(val);
-+// 	return *this;
-+// }
- 
- QuickString &QuickString::operator = (float val) {
- 	clear();
-@@ -158,10 +158,11 @@ QuickString &QuickString::operator += (uint32_t num) {
- 	return *this;
- }
- 
--QuickString &QuickString::operator += (size_t num) {
--	append(num);
--	return *this;
--}
-+// QuickString &QuickString::operator += (size_t num) {
-+// 	append(num);
-+// 	return *this;
-+// }
-+
- QuickString &QuickString::operator += (float num) {
- 	append(num);
- 	return *this;
-@@ -273,12 +274,12 @@ void QuickString::append(int num) {
- }
- 
- void QuickString::append(uint32_t num) {
--	int2str((int)num, *this, true);
-+ 	int2str((int)num, *this, true);
- }
- 
--void QuickString::append(size_t num) {
--	int2str((int)num, *this, true);
--}
-+// void QuickString::append(size_t num) {
-+// 	int2str((int)num, *this, true);
-+// }
- 
- void QuickString::append(float num) {
- 	append(ToString(num));
-diff --git a/src/utils/general/QuickString.h b/src/utils/general/QuickString.h
-index b43fdfc..6e6fa94 100644
---- a/src/utils/general/QuickString.h
-+++ b/src/utils/general/QuickString.h
-@@ -38,7 +38,7 @@ class QuickString {
- 	QuickString &operator = (char);
- 	QuickString &operator = (int);
- 	QuickString &operator = (uint32_t);
--	QuickString &operator = (size_t);
-+	//QuickString &operator = (size_t);
- 	QuickString &operator = (float);
- 	QuickString &operator = (double);
- 	QuickString &operator += (const QuickString &);
-@@ -47,7 +47,7 @@ class QuickString {
- 	QuickString &operator += (char);
- 	QuickString &operator += (int);
- 	QuickString &operator += (uint32_t);
--	QuickString &operator += (size_t);
-+	//QuickString &operator += (size_t);
- 	QuickString &operator += (float);
- 	QuickString &operator += (double);
- 
-@@ -74,7 +74,7 @@ class QuickString {
- 	//for better performance.
- 	void append(int num);
- 	void append(uint32_t num);
--	void append(size_t num);
-+	//void append(size_t num);
- 	void append(float num);
- 	void append(double num);
- 
-
diff --git a/gnu/packages/patches/boost-mips-avoid-m32.patch b/gnu/packages/patches/boost-mips-avoid-m32.patch
deleted file mode 100644
index 811c9fb3aa..0000000000
--- a/gnu/packages/patches/boost-mips-avoid-m32.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-The following patch prevents the use of the -m32 flag on mips, where it
-is not understood by gcc, as well as other non-x86 architectures.
-
-diff -u -r boost_1_58_0.orig/tools/build/src/tools/gcc.jam boost_1_58_0/tools/build/src/tools/gcc.jam
---- boost_1_58_0.orig/tools/build/src/tools/gcc.jam	2015-04-04 19:25:07.000000000 +0200
-+++ boost_1_58_0/tools/build/src/tools/gcc.jam	2015-07-10 01:08:19.822733823 +0200
-@@ -451,7 +451,7 @@
-         else
-         {
-             local arch = [ feature.get-values architecture : $(properties) ] ;
--            if $(arch) != arm
-+            if $(arch) = x86
-             {
-                 if $(model) = 32
-                 {
diff --git a/gnu/packages/patches/csound-header-ordering.patch b/gnu/packages/patches/csound-header-ordering.patch
new file mode 100644
index 0000000000..3640d123dd
--- /dev/null
+++ b/gnu/packages/patches/csound-header-ordering.patch
@@ -0,0 +1,20 @@
+Prevent compilation issues with boost-1.60.0.
+
+Reported upstream at https://github.com/csound/csound/issues/570
+
+--- Csound6.05/Opcodes/chua/ChuaOscillator.cpp	2015-04-25 14:06:22.995646234 -0500
++++ Csound6.05/Opcodes/chua/ChuaOscillator.cpp	2015-12-21 10:31:58.182362640 -0600
+@@ -117,11 +117,12 @@
+ //     d = sys_variables(12);
+ //     gnor = a*(x.^3) + b*(x.^2) + c*x + d;
+ 
+-#include <OpcodeBase.hpp>
+ #include <boost/numeric/ublas/vector.hpp>
+ using namespace boost::numeric;
+ #include <cmath>
+ 
++#include <OpcodeBase.hpp>
++
+ #undef CS_KSMPS
+ #define CS_KSMPS     (opds.insdshead->ksmps)
+ 
diff --git a/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch
new file mode 100644
index 0000000000..93a8ddc242
--- /dev/null
+++ b/gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch
@@ -0,0 +1,46 @@
+This patch makes GTK+ look for additional modules in a list of directories
+specified by the environment variable "GUIX_GTK2_PATH".  This can be used
+instead of "GTK_PATH" to make GTK+ find modules that are incompatible with
+other major versions of GTK+.
+
+--- a/gtk/gtkmodules.c	2014-09-29 22:02:17.000000000 +0200
++++ b/gtk/gtkmodules.c	2015-12-02 18:41:53.306396938 +0100
+@@ -55,6 +55,7 @@
+ get_module_path (void)
+ {
+   const gchar *module_path_env;
++  const gchar *module_guix_gtk2_path_env;
+   const gchar *exe_prefix;
+   const gchar *home_dir;
+   gchar *home_gtk_dir = NULL;
+@@ -70,6 +71,7 @@
+     home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL);
+ 
+   module_path_env = g_getenv ("GTK_PATH");
++  module_guix_gtk2_path_env = g_getenv ("GUIX_GTK2_PATH");
+   exe_prefix = g_getenv ("GTK_EXE_PREFIX");
+ 
+   if (exe_prefix)
+@@ -77,9 +79,21 @@
+   else
+     default_dir = g_build_filename (GTK_LIBDIR, "gtk-2.0", NULL);
+ 
+-  if (module_path_env && home_gtk_dir)
++  if (module_guix_gtk2_path_env && module_path_env && home_gtk_dir)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk2_path_env, module_path_env, home_gtk_dir, default_dir, NULL);
++  else if (module_guix_gtk2_path_env && home_gtk_dir)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk2_path_env, home_gtk_dir, default_dir, NULL);
++  else if (module_guix_gtk2_path_env && module_path_env)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk2_path_env, module_path_env, default_dir, NULL);
++  else if (module_path_env && home_gtk_dir)
+     module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
+ 				module_path_env, home_gtk_dir, default_dir, NULL);
++  else if (module_guix_gtk2_path_env)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk2_path_env, default_dir, NULL);
+   else if (module_path_env)
+     module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
+ 				module_path_env, default_dir, NULL);
diff --git a/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch
new file mode 100644
index 0000000000..66fd2fd1c4
--- /dev/null
+++ b/gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch
@@ -0,0 +1,38 @@
+This patch makes GTK+ look for additional modules in a list of directories
+specified by the environment variable "GUIX_GTK3_PATH".  This can be used
+instead of "GTK_PATH" to make GTK+ find modules that are incompatible with
+other major versions of GTK+.
+
+--- a/gtk/gtkmodules.c	2015-09-20 20:09:05.060590217 +0200
++++ b/gtk/gtkmodules.c	2015-09-20 20:10:33.423124833 +0200
+@@ -52,6 +52,7 @@
+ get_module_path (void)
+ {
+   const gchar *module_path_env;
++  const gchar *module_guix_gtk3_path_env;
+   const gchar *exe_prefix;
+   gchar *module_path;
+   gchar *default_dir;
+@@ -61,6 +62,7 @@
+     return result;
+ 
+   module_path_env = g_getenv ("GTK_PATH");
++  module_guix_gtk3_path_env = g_getenv ("GUIX_GTK3_PATH");
+   exe_prefix = g_getenv ("GTK_EXE_PREFIX");
+ 
+   if (exe_prefix)
+@@ -68,7 +70,13 @@
+   else
+     default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL);
+ 
+-  if (module_path_env)
++  if (module_guix_gtk3_path_env && module_path_env)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk3_path_env, module_path_env, default_dir, NULL);
++  else if (module_guix_gtk3_path_env)
++    module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
++				module_guix_gtk3_path_env, default_dir, NULL);
++  else if (module_path_env)
+     module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
+ 				module_path_env, default_dir, NULL);
+   else
diff --git a/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch b/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch
deleted file mode 100644
index b00f6549e3..0000000000
--- a/gnu/packages/patches/julia-0.3.10-fix-empty-array.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-See https://github.com/JuliaLang/julia/issues/11817
-
---- a/src/codegen.cpp	2015-06-24 12:44:31.218674066 +0200
-+++ b/src/codegen.cpp	2015-04-23 11:19:50.000000000 +0200
-@@ -4551,7 +4551,7 @@
- #ifdef V128_BUG
-         "-avx",
- #endif
--    };
-+    ""};
-     SmallVector<std::string, 4> MAttrs(mattr, mattr+sizeof(mattr)/sizeof(mattr[0]));
-     EngineBuilder eb = EngineBuilder(engine_module)
-         .setEngineKind(EngineKind::JIT)
diff --git a/gnu/packages/patches/ldc-disable-tests.patch b/gnu/packages/patches/ldc-disable-tests.patch
new file mode 100644
index 0000000000..3f5e6c29a1
--- /dev/null
+++ b/gnu/packages/patches/ldc-disable-tests.patch
@@ -0,0 +1,90 @@
+This patch fixes a failing unit test by feeding buildNormalizedPath to the
+tzdata properly.  Three other tests are disabled, one assumes /root and the
+two others use networking.  Not bad out of almost 700 tests!
+
+by Pjotr Prins <pjotr.guix@thebird.nl>
+
+diff --git a/std/datetime.d b/std/datetime.d
+index 8e4ed3b..6c15bc5 100644
+--- a/std/datetime.d
++++ b/std/datetime.d
+@@ -28018,6 +28018,7 @@ public:
+             The default directory where the TZ Database files are. It's empty
+             for Windows, since Windows doesn't have them.
+           +/
++          
+         enum defaultTZDatabaseDir = "/usr/share/zoneinfo/";
+     }
+     else version(Windows)
+@@ -28069,14 +28070,13 @@ assert(tz.dstName == "PDT");
+         import std.range : retro;
+         import std.format : format;
+ 
+-        name = strip(name);
+-
+         enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
+         enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir)));
+ 
+-        immutable file = buildNormalizedPath(tzDatabaseDir, name);
++        auto filename = "./" ~ strip(name); // make sure the prefix is not stripped
++        immutable file = buildNormalizedPath(tzDatabaseDir, filename);
+ 
+-        enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file)));
++        enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir)));
+         enforce(file.isFile, new DateTimeException(format("%s is not a file.", file)));
+ 
+         auto tzFile = File(file);
+diff --git a/std/path.d b/std/path.d
+index 254d8f0..b0fc04d 100644
+--- a/std/path.d
++++ b/std/path.d
+@@ -3080,8 +3080,11 @@ unittest
+         }
+         else
+         {
++            pragma(msg, "test disabled on GNU Guix");
++/*
+             assert(expandTilde("~root") == "/root", expandTilde("~root"));
+             assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));
++*/
+         }
+         assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey");
+     }
+diff --git a/std/socket.d b/std/socket.d
+index b85d1c9..7fbf346 100644
+--- a/std/socket.d
++++ b/std/socket.d
+@@ -517,6 +517,8 @@ class Protocol
+ 
+ unittest
+ {
++    pragma(msg, "test disabled on GNU Guix");
++/*
+     // getprotobyname,number are unimplemented on Android
+     softUnittest({
+         Protocol proto = new Protocol;
+@@ -530,6 +532,7 @@ unittest
+         assert(proto.name == "tcp");
+         assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
+     });
++*/
+ }
+ 
+ 
+@@ -859,6 +862,8 @@ class InternetHost
+ 
+ unittest
+ {
++    pragma(msg, "test disabled on GNU Guix");
++    /*
+     InternetHost ih = new InternetHost;
+ 
+     ih.getHostByAddr(0x7F_00_00_01);
+@@ -889,6 +894,7 @@ unittest
+         //      writefln("aliases[%d] = %s", i, s);
+         // }
+     });
++    */
+ }
+ 
+ 
diff --git a/gnu/packages/patches/libcmis-fix-test-onedrive.patch b/gnu/packages/patches/libcmis-fix-test-onedrive.patch
new file mode 100644
index 0000000000..adf2e0b8e5
--- /dev/null
+++ b/gnu/packages/patches/libcmis-fix-test-onedrive.patch
@@ -0,0 +1,35 @@
+Patch from resolution of http://sourceforge.net/p/libcmis/tickets/13/
+
+From 814c7845d53688b35a747cf193c2ff99e40a8652 Mon Sep 17 00:00:00 2001
+From: Jonathan Wakely <jwakely@redhat.com>
+Date: Wed, 2 Sep 2015 16:35:45 +0100
+Subject: [PATCH 5/5] Remove invalid comments from test JSON file.
+
+---
+ qa/libcmis/data/onedrive/search-result.json | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/qa/libcmis/data/onedrive/search-result.json b/qa/libcmis/data/onedrive/search-result.json
+index 61d250a..2482429 100644
+--- a/qa/libcmis/data/onedrive/search-result.json
++++ b/qa/libcmis/data/onedrive/search-result.json
+@@ -8,7 +8,7 @@
+       },
+       "name":"OneDriveFile",
+       "description":"",
+-      "parent_id":"folderA", // path: /A/Wrong File 
++      "parent_id":"folderA",
+       "size":18047,
+       "upload_location":"https://apis.live.net/v5.0/wrongFileId/content/",
+       "comments_count":0,
+@@ -32,7 +32,7 @@
+       },
+       "name":"OneDriveFile",
+       "description":"",
+-      "parent_id":"folderC", // path: /A/B/C/Right File
++      "parent_id":"folderC",
+       "size":4,
+       "upload_location":"https://apis.live.net/v5.0/rightFileId/content/",
+       "comments_count":0,
+-- 
+2.4.3
\ No newline at end of file
diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-pkgconfig.patch
index 80c0c5b009..e611f69bea 100644
--- a/gnu/packages/patches/nss-pkgconfig.patch
+++ b/gnu/packages/patches/nss-pkgconfig.patch
@@ -7,8 +7,10 @@ Modifications:
   Remove optional patching in nss/Makefile.
   Include -L$libdir in output from "nss-config --libs".
 
---- nss-3.17.1/nss/config/Makefile
-+++ nss-3.17.1/nss/config/Makefile
+Later adapted to apply cleanly to nss-3.21.
+
+--- nss-3.21/nss/config/Makefile
++++ nss-3.21/nss/config/Makefile
 @@ -0,0 +1,40 @@
 +CORE_DEPTH = ..
 +DEPTH      = ..
@@ -50,8 +52,8 @@ Modifications:
 +
 +dummy: all export libs
 +
---- nss-3.17.1/nss/config/nss-config.in
-+++ nss-3.17.1/nss/config/nss-config.in
+--- nss-3.21/nss/config/nss-config.in
++++ nss-3.21/nss/config/nss-config.in
 @@ -0,0 +1,145 @@
 +#!/bin/sh
 +
@@ -198,8 +200,8 @@ Modifications:
 +      echo $libdirs
 +fi
 +
---- nss-3.17.1/nss/config/nss.pc.in
-+++ nss-3.17.1/nss/config/nss.pc.in
+--- nss-3.21/nss/config/nss.pc.in
++++ nss-3.21/nss/config/nss.pc.in
 @@ -0,0 +1,12 @@
 +prefix=@prefix@
 +exec_prefix=@exec_prefix@
@@ -213,14 +215,11 @@ Modifications:
 +Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3
 +Cflags: -I${includedir}
 +
---- nss-3.17.1/nss/manifest.mn
-+++ nss-3.17.1/nss/manifest.mn
-@@ -10,7 +10,7 @@
+--- nss-3.21/nss/manifest.mn
++++ nss-3.21/nss/manifest.mn
+@@ -10,4 +10,4 @@
  
  RELEASE = nss
  
--DIRS = coreconf lib cmd
-+DIRS = coreconf lib cmd config
- 
- ifdef NSS_BUILD_GTESTS
- DIRS += external_tests
+-DIRS = coreconf lib cmd external_tests
++DIRS = coreconf lib cmd external_tests config
diff --git a/gnu/packages/patches/openimageio-boost-1.60.patch b/gnu/packages/patches/openimageio-boost-1.60.patch
new file mode 100644
index 0000000000..92fc3237bb
--- /dev/null
+++ b/gnu/packages/patches/openimageio-boost-1.60.patch
@@ -0,0 +1,47 @@
+From 875fbbd92695397bfc83d1cd5fdd4094e1d50199 Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg@larrygritz.com>
+Date: Mon, 28 Dec 2015 11:46:07 -0800
+Subject: [PATCH] Python ImageCache binding fixes -- disable broken calls
+
+Some of these calls (thankfully undocumented and presumably unused)
+are horribly broken. They compiled before, but with new Boost 1.60
+they don't even compile properly. So just comment them out on this
+obsolete branch. They are fully fixed in RB-1.6 and beyond.
+
+--- a/src/python/py_imagecache.cpp
++++ b/src/python/py_imagecache.cpp
+@@ -199,23 +199,24 @@ void declare_imagecache()
+         .def("destroy", &ImageCacheWrap::destroy)
+         .staticmethod("destroy")
+         .def("clear", &ImageCacheWrap::clear)
+-        .def("attribute", &ImageCacheWrap::attribute)
++        // .def("attribute", &ImageCacheWrap::attribute)
+         .def("attribute", &ImageCacheWrap::attribute_int)
+         .def("attribute", &ImageCacheWrap::attribute_float)
+-        .def("attribute", &ImageCacheWrap::attribute_double)
+-        .def("attribute", &ImageCacheWrap::attribute_char)
++        // .def("attribute", &ImageCacheWrap::attribute_double)
++        // .def("attribute", &ImageCacheWrap::attribute_char)
+         .def("attribute", &ImageCacheWrap::attribute_string)
+-        .def("getattribute", &ImageCacheWrap::attribute)
++        // .def("getattribute", &ImageCacheWrap::attribute)
+         .def("getattribute", &ImageCacheWrap::getattribute_int)
+         .def("getattribute", &ImageCacheWrap::getattribute_float)
+-        .def("getattribute", &ImageCacheWrap::getattribute_double)
+-        .def("getattribute", &ImageCacheWrap::getattribute_char)
++        // .def("getattribute", &ImageCacheWrap::getattribute_double)
++        // .def("getattribute", &ImageCacheWrap::getattribute_char)
+         .def("getattribute", &ImageCacheWrap::getattribute_string)
+-        .def("resolve_filename", &ImageCacheWrap::resolve_filename)
+-        .def("get_image_info", &ImageCacheWrap::get_image_info)
+-        .def("get_image_info", &ImageCacheWrap::get_image_info_old)
++        // .def("get_image_info", &ImageCacheWrap::get_image_info)
++        // .def("get_image_info", &ImageCacheWrap::get_image_info_old)
+         .def("get_imagespec", &ImageCacheWrap::get_imagespec)
+-        .def("get_pixels", &ImageCacheWrap::get_pixels)
++        // .def("get_pixels", &ImageCacheWrap::get_pixels)
++        .def("resolve_filename", &ImageCacheWrap::resolve_filename)
++
+ //      .def("get_tile", &ImageCacheWrap::get_tile)
+ //      .def("release_tile", &ImageCacheWrap::release_tile)
+ //      .def("tile_pixels", &ImageCacheWrap::tile_pixels)
diff --git a/gnu/packages/patches/sudo-CVE-2015-5602.patch b/gnu/packages/patches/sudo-CVE-2015-5602.patch
new file mode 100644
index 0000000000..36c90fbee7
--- /dev/null
+++ b/gnu/packages/patches/sudo-CVE-2015-5602.patch
@@ -0,0 +1,372 @@
+Based on the patch from https://www.sudo.ws/repos/sudo/raw-rev/c2e36a80a279
+Backported to 1.8.15 by Mark H Weaver <mhw@netris.org>
+
+# HG changeset patch
+# User Todd C. Miller <Todd.Miller@courtesan.com>
+# Date 1452475889 25200
+# Node ID c2e36a80a27927c32cba55afae78b8dc830cddc3
+# Parent  94ffd6b18431fa4b9ed0a0c3f0b7b9582a4f6bde
+Rewritten sudoedit_checkdir support that checks all the dirs in the
+path and refuses to follow symlinks in writable directories.
+This is a better fix for CVE-2015-5602.
+Adapted from a diff by Ben Hutchings.  Bug #707
+
+diff -r 94ffd6b18431 -r c2e36a80a279 doc/CONTRIBUTORS
+--- a/doc/CONTRIBUTORS	Mon Jan 04 10:47:11 2016 -0700
++++ b/doc/CONTRIBUTORS	Sun Jan 10 18:31:29 2016 -0700
+@@ -58,6 +58,7 @@
+     Holloway, Nick
+     Hoover, Adam
+     Hunter, Michael T.
++    Hutchings, Ben
+     Irrgang, Eric
+     Jackson, Brian
+     Jackson, John R.
+diff -r 94ffd6b18431 -r c2e36a80a279 doc/UPGRADE
+--- a/doc/UPGRADE	Mon Jan 04 10:47:11 2016 -0700
++++ b/doc/UPGRADE	Sun Jan 10 18:31:29 2016 -0700
+@@ -1,6 +1,15 @@
+ Notes on upgrading from an older release
+ ========================================
+ 
++o Upgrading from a version prior to the post-1.8.15 fix for CVE-2015-5602.
++
++    The meaning of the sudoedit_checkdir sudoers option has changed.
++    Previously, it would only check the parent directory
++    of the file to be edited.  After the CVE fix, all directories
++    in the path to be edited are checked and sudoedit will refuse
++    to follow a symbolic link in a directory that is writable by
++    the invoking user.
++
+ o Upgrading from a version prior to 1.8.15:
+ 
+     Prior to version 1.8.15, when env_reset was enabled (the default)
+diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.cat
+--- a/doc/sudoers.cat	Mon Jan 04 10:47:11 2016 -0700
++++ b/doc/sudoers.cat	Sun Jan 10 18:31:29 2016 -0700
+@@ -1275,12 +1275,15 @@
+                        system call.  This flag is _o_f_f by default.
+ 
+      sudoedit_checkdir
+-                       If set, ssuuddooeeddiitt will refuse to edit files located in a
+-                       directory that is writable by the invoking user unless
+-                       it is run by root.  On many systems, this option
+-                       requires that the parent directory of the file to be
+-                       edited be readable by the target user.  This flag is
+-                       _o_f_f by default.
++                       If set, ssuuddooeeddiitt will check directories in the path to
++                       be edited for writability by the invoking user.
++                       Symbolic links will not be followed in writable
++                       directories and ssuuddooeeddiitt will also refuse to edit a
++                       file located in a writable directory.  Theses
++                       restrictions are not enforced when ssuuddooeeddiitt is invoked
++                       as root.  On many systems, this option requires that
++                       all directories in the path to be edited be readable by
++                       the target user.  This flag is _o_f_f by default.
+ 
+      sudoedit_follow   By default, ssuuddooeeddiitt will not follow symbolic links
+                        when opening files.  The _s_u_d_o_e_d_i_t___f_o_l_l_o_w option can be
+diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.man.in
+--- a/doc/sudoers.man.in	Mon Jan 04 10:47:11 2016 -0700
++++ b/doc/sudoers.man.in	Sun Jan 10 18:31:29 2016 -0700
+@@ -2715,10 +2715,16 @@
+ .br
+ If set,
+ \fBsudoedit\fR
+-will refuse to edit files located in a directory that is writable
+-by the invoking user unless it is run by root.
+-On many systems, this option requires that the parent directory
+-of the file to be edited be readable by the target user.
++will check directories in the path to be edited for writability
++by the invoking user.
++Symbolic links will not be followed in writable directories and
++\fBsudoedit\fR
++will also refuse to edit a file located in a writable directory.
++Theses restrictions are not enforced when
++\fBsudoedit\fR
++is invoked as root.
++On many systems, this option requires that all directories
++in the path to be edited be readable by the target user.
+ This flag is
+ \fIoff\fR
+ by default.
+diff -r 94ffd6b18431 -r c2e36a80a279 doc/sudoers.mdoc.in
+--- a/doc/sudoers.mdoc.in	Mon Jan 04 10:47:11 2016 -0700
++++ b/doc/sudoers.mdoc.in	Sun Jan 10 18:31:29 2016 -0700
+@@ -2549,10 +2549,16 @@
+ .It sudoedit_checkdir
+ If set,
+ .Nm sudoedit
+-will refuse to edit files located in a directory that is writable
+-by the invoking user unless it is run by root.
+-On many systems, this option requires that the parent directory
+-of the file to be edited be readable by the target user.
++will check directories in the path to be edited for writability
++by the invoking user.
++Symbolic links will not be followed in writable directories and
++.Nm sudoedit
++will also refuse to edit a file located in a writable directory.
++Theses restrictions are not enforced when
++.Nm sudoedit
++is invoked as root.
++On many systems, this option requires that all directories
++in the path to be edited be readable by the target user.
+ This flag is
+ .Em off
+ by default.
+diff -r 94ffd6b18431 -r c2e36a80a279 include/sudo_compat.h
+--- a/include/sudo_compat.h	Mon Jan 04 10:47:11 2016 -0700
++++ b/include/sudo_compat.h	Sun Jan 10 18:31:29 2016 -0700
+@@ -182,6 +182,8 @@
+ # ifndef UTIME_NOW
+ #  define UTIME_NOW	-2L
+ # endif
++#endif
++#if !defined(HAVE_OPENAT) || (!defined(HAVE_FUTIMENS) && !defined(HAVE_UTIMENSAT))
+ # ifndef AT_FDCWD
+ #  define AT_FDCWD	-100
+ # endif
+diff -r 94ffd6b18431 -r c2e36a80a279 src/sudo_edit.c
+--- a/src/sudo_edit.c	Mon Jan 04 10:47:11 2016 -0700
++++ b/src/sudo_edit.c	Sun Jan 10 18:31:29 2016 -0700
+@@ -179,13 +179,15 @@
+ }
+ 
+ #ifndef HAVE_OPENAT
+-/* This does not support AT_FDCWD... */
+ static int
+ sudo_openat(int dfd, const char *path, int flags, mode_t mode)
+ {
+     int fd, odfd;
+     debug_decl(sudo_openat, SUDO_DEBUG_EDIT)
+ 
++    if (dfd == AT_FDCWD)
++	debug_return_int(open(path, flags, mode));
++
+     /* Save cwd */
+     if ((odfd = open(".", O_RDONLY)) == -1)
+ 	debug_return_int(-1);
+@@ -207,6 +209,64 @@
+ #define openat sudo_openat
+ #endif /* HAVE_OPENAT */
+ 
++#ifdef O_NOFOLLOW
++static int
++sudo_edit_openat_nofollow(int dfd, char *path, int oflags, mode_t mode)
++{
++    debug_decl(sudo_edit_open_nofollow, SUDO_DEBUG_EDIT)
++
++    debug_return_int(openat(dfd, path, oflags|O_NOFOLLOW, mode));
++}
++#else
++/*
++ * Returns true if fd and path don't match or path is a symlink.
++ * Used on older systems without O_NOFOLLOW.
++ */
++static bool
++sudo_edit_is_symlink(int fd, char *path)
++{
++    struct stat sb1, sb2;
++    debug_decl(sudo_edit_is_symlink, SUDO_DEBUG_EDIT)
++
++    /*
++     * Treat [fl]stat() failure like there was a symlink.
++     */
++    if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1)
++	debug_return_bool(true);
++
++    /*
++     * Make sure we did not open a link and that what we opened
++     * matches what is currently on the file system.
++     */
++    if (S_ISLNK(sb2.st_mode) ||
++	sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) {
++	debug_return_bool(true);
++    }
++
++    debug_return_bool(false);
++}
++
++static int
++sudo_edit_openat_nofollow(char *path, int oflags, mode_t mode)
++{
++    struct stat sb1, sb2;
++    int fd;
++    debug_decl(sudo_edit_openat_nofollow, SUDO_DEBUG_EDIT)
++
++    fd = openat(dfd, path, oflags, mode);
++    if (fd == -1)
++	debug_return_int(-1);
++
++    if (sudo_edit_is_symlink(fd, path)) {
++	close(fd);
++	fd = -1;
++	errno = ELOOP;
++    }
++
++    debug_return_int(fd);
++}
++#endif /* O_NOFOLLOW */
++
+ /*
+  * Returns true if the directory described by sb is writable
+  * by the user.  We treat directories with the sticky bit as
+@@ -245,49 +305,94 @@
+     debug_return_bool(false);
+ }
+ 
++/*
++ * Directory open flags for use with openat(2) and fstat(2).
++ * Use O_PATH and O_DIRECTORY where possible.
++ */
++#if defined(O_PATH) && defined(O_DIRECTORY)
++# define DIR_OPEN_FLAGS	(O_PATH|O_DIRECTORY)
++#elif defined(O_PATH) && !defined(O_DIRECTORY)
++# define DIR_OPEN_FLAGS	O_PATH
++#elif !defined(O_PATH) && defined(O_DIRECTORY)
++# define DIR_OPEN_FLAGS	(O_RDONLY|O_DIRECTORY)
++#else
++# define DIR_OPEN_FLAGS	(O_RDONLY|O_NONBLOCK)
++#endif
++
+ static int
+ sudo_edit_open_nonwritable(char *path, int oflags, mode_t mode)
+ {
+-    char *base, *dir;
++    int dfd, fd, dflags = DIR_OPEN_FLAGS;
++#if defined(__linux__) && defined(O_PATH)
++    char *opath = path;
++#endif
++    bool is_writable;
+     struct stat sb;
+-    int dfd, fd;
+     debug_decl(sudo_edit_open_nonwritable, SUDO_DEBUG_EDIT)
+ 
+-    base = strrchr(path, '/');
+-    if (base != NULL) {
+-	*base++ = '\0';
+-	dir = path;
++#if defined(__linux__) && defined(O_PATH)
++restart:
++#endif
++    if (path[0] == '/') {
++	dfd = open("/", dflags);
++	path++;
+     } else {
+-	base = path;
+-	dir = ".";
++	dfd = open(".", dflags);
++	if (path[0] == '.' && path[1] == '/')
++	    path += 2;
+     }
+-#ifdef O_PATH
+-    if ((dfd = open(dir, O_PATH)) != -1) {
+-	/* Linux kernels < 3.6 can't do fstat on O_PATH fds. */
+-	if (fstat(dfd, &sb) == -1) {
+-	    close(dfd);
+-	    dfd = open(dir, O_RDONLY);
+-	    if (fstat(dfd, &sb) == -1) {
+-		close(dfd);
+-		dfd = -1;
+-	    }
+-	}
+-    }
+-#else
+-    if ((dfd = open(dir, O_RDONLY)) != -1) {
+-	if (fstat(dfd, &sb) == -1) {
+-	    close(dfd);
+-	    dfd = -1;
+-	}
+-    }
+-#endif
+-    if (base != path)
+-	base[-1] = '/';			/* restore path */
+     if (dfd == -1)
+ 	debug_return_int(-1);
+ 
+-    if (dir_is_writable(&sb, user_details.uid, user_details.gid,
+-	user_details.ngroups, user_details.groups)) {
++    for (;;) {
++	char *slash;
++	int subdfd;
++
++	/*
++	 * Look up one component at a time, avoiding symbolic links in
++	 * writable directories.
++	 */
++	if (fstat(dfd, &sb) == -1) {
++	    close(dfd);
++#if defined(__linux__) && defined(O_PATH)
++	    /* Linux prior to 3.6 can't fstat an O_PATH fd */
++	    if (ISSET(dflags, O_PATH)) {
++		CLR(dflags, O_PATH);
++		path = opath;
++		goto restart;
++	    }
++#endif
++	    debug_return_int(-1);
++	}
++#ifndef O_DIRECTORY
++	if (!S_ISDIR(sb.st_mode)) {
++	    close(dfd);
++	    errno = ENOTDIR;
++	    debug_return_int(-1);
++	}
++#endif
++	is_writable = dir_is_writable(&sb, user_details.uid, user_details.gid,
++	    user_details.ngroups, user_details.groups);
++
++	while (path[0] == '/')
++	    path++;
++	slash = strchr(path, '/');
++	if (slash == NULL)
++	    break;
++	*slash = '\0';
++	if (is_writable)
++	    subdfd = sudo_edit_openat_nofollow(dfd, path, dflags, 0);
++	else
++	    subdfd = openat(dfd, path, dflags, 0);
++	*slash = '/';			/* restore path */
++	close(dfd);
++	if (subdfd == -1)
++	    debug_return_int(-1);
++	path = slash + 1;
++	dfd = subdfd;
++    }
++
++    if (is_writable) {
+ 	close(dfd);
+ 	errno = EISDIR;
+ 	debug_return_int(-1);
+@@ -332,27 +437,10 @@
+     if (!ISSET(oflags, O_NONBLOCK))
+ 	(void) fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK);
+ 
+-    /*
+-     * Treat [fl]stat() failure like an open() failure.
+-     */
+-    if (fstat(fd, &sb1) == -1 || lstat(path, &sb2) == -1) {
+-	const int serrno = errno;
++    if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW) && sudo_edit_is_symlink(fd, path)) {
+ 	close(fd);
+-	errno = serrno;
+-	debug_return_int(-1);
+-    }
+-
+-    /*
+-     * Make sure we did not open a link and that what we opened
+-     * matches what is currently on the file system.
+-     */
+-    if (!ISSET(sflags, CD_SUDOEDIT_FOLLOW)) {
+-	if (S_ISLNK(sb2.st_mode) ||
+-	    sb1.st_dev != sb2.st_dev || sb1.st_ino != sb2.st_ino) {
+-	    close(fd);
+-	    errno = ELOOP;
+-	    debug_return_int(-1);
+-	}
++	fd = -1;
++	errno = ELOOP;
+     }
+ 
+     debug_return_int(fd);
+
diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
new file mode 100644
index 0000000000..5b78f2d909
--- /dev/null
+++ b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
@@ -0,0 +1,24 @@
+Subject: Disable SSLv2 and SSLv3.
+
+The only remaining methods are TLSv1.* (the code never distinguishes
+between TLSv1.0, TLSv1.1, and TLSv1.2).
+---
+ fm.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fm.h b/fm.h
+index 320906c..ddcd4fc 100644
+--- a/fm.h
++++ b/fm.h
+@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE);
+ #endif				/* defined(USE_SSL) &&
+ 				 * defined(USE_SSL_VERIFY) */
+ #ifdef USE_SSL
+-global char *ssl_forbid_method init(NULL);
++global char *ssl_forbid_method init("2, 3");
+ #endif
+ 
+ global int is_redisplay init(FALSE);
+-- 
+2.6.4
+
diff --git a/gnu/packages/patches/w3m-disable-weak-ciphers.patch b/gnu/packages/patches/w3m-disable-weak-ciphers.patch
new file mode 100644
index 0000000000..4780d54cb6
--- /dev/null
+++ b/gnu/packages/patches/w3m-disable-weak-ciphers.patch
@@ -0,0 +1,24 @@
+Subject: Disable weak ciphers
+
+Disable RC4, "export ciphers", and all keys < 128 bits.
+
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1325674
+---
+ url.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/url.c b/url.c
+index ed6062e..e86b1f3 100644
+--- a/url.c
++++ b/url.c
+@@ -326,6 +326,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert)
+ 	SSL_load_error_strings();
+ 	if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method())))
+ 	    goto eend;
++	SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP");
+ 	option = SSL_OP_ALL;
+ 	if (ssl_forbid_method) {
+ 	    if (strchr(ssl_forbid_method, '2'))
+-- 
+2.6.4
+
diff --git a/gnu/packages/patches/w3m-fix-compile.patch b/gnu/packages/patches/w3m-fix-compile.patch
deleted file mode 100644
index 5604052f67..0000000000
--- a/gnu/packages/patches/w3m-fix-compile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://bugs.archlinux.org/task/33397
-
-diff -aur old/main.c new/main.c
---- main.c	2013-01-14 18:16:14.216210053 -0600
-+++ main.c	2013-01-14 18:17:28.816220559 -0600
-@@ -833,7 +833,8 @@
-     mySignal(SIGPIPE, SigPipe);
- #endif
-
--    orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
-+    orig_GC_warn_proc = GC_get_warn_proc();
-+    GC_set_warn_proc(wrap_GC_warn_proc);
-     err_msg = Strnew();
-     if (load_argc == 0) {
-	/* no URL specified */
diff --git a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
new file mode 100644
index 0000000000..dc9f117f9d
--- /dev/null
+++ b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
@@ -0,0 +1,24 @@
+Subject: Force ssl_verify_server on.
+
+By default, SSL/TLS certificates are not verified. This enables the
+verification.
+---
+ fm.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fm.h b/fm.h
+index 8378939..320906c 100644
+--- a/fm.h
++++ b/fm.h
+@@ -1135,7 +1135,7 @@ global int view_unseenobject init(TRUE);
+ #endif
+ 
+ #if defined(USE_SSL) && defined(USE_SSL_VERIFY)
+-global int ssl_verify_server init(FALSE);
++global int ssl_verify_server init(TRUE);
+ global char *ssl_cert_file init(NULL);
+ global char *ssl_key_file init(NULL);
+ global char *ssl_ca_path init(NULL);
+-- 
+2.6.4
+
diff --git a/gnu/packages/patches/w3m-libgc.patch b/gnu/packages/patches/w3m-libgc.patch
new file mode 100644
index 0000000000..0dc6a4027c
--- /dev/null
+++ b/gnu/packages/patches/w3m-libgc.patch
@@ -0,0 +1,28 @@
+This patch fixes w3m compilation with libgc > 7.2.
+
+Reported:
+https://bugs.archlinux.org/task/33397
+
+Patch with explanation:
+http://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=770eec8304bdbe458
+---
+ main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/main.c b/main.c
+index b421943..249eb1a 100644
+--- a/main.c
++++ b/main.c
+@@ -833,7 +833,8 @@ main(int argc, char **argv, char **envp)
+     mySignal(SIGPIPE, SigPipe);
+ #endif
+ 
+-    orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
++    orig_GC_warn_proc = GC_get_warn_proc();
++    GC_set_warn_proc(wrap_GC_warn_proc);
+     err_msg = Strnew();
+     if (load_argc == 0) {
+ 	/* no URL specified */
+-- 
+2.6.4
+
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 6166226dce..e9a247142d 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,11 +22,21 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages algebra)
+  #:use-module (gnu packages bdw-gc)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages maths)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages readline)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages texlive)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages))
 
@@ -156,3 +167,61 @@ just-in-time graph generation, handles date and time data nicely, and has
 basic statistical capabilities.  It allows significant user control over
 colors, styles, options and details.")
     (license license:gpl2+)))
+
+(define-public asymptote
+  (package
+    (name "asymptote")
+    (version "2.35")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/asymptote/"
+                                  version "/asymptote-" version ".src.tgz"))
+              (sha256
+               (base32
+                "11f28vxw0ybhvl7vxmqcdwvw7y6gz55ykw9ybgzb2px6lsvgag7z"))
+              (patches (list (search-patch "asymptote-gsl2.patch")))))
+    (build-system gnu-build-system)
+    ;; Note: The 'asy' binary retains a reference to docdir for use with its
+    ;; "help" command in interactive mode, so adding a "doc" output is not
+    ;; currently useful.
+    (native-inputs
+     `(("gs" ,ghostscript)              ;For tests
+       ("texinfo" ,texinfo)             ;For generating documentation
+       ("texlive" ,texlive)             ;For tests and documentation
+       ("perl" ,perl)))
+    (inputs
+     `(("fftw" ,fftw)
+       ("freeglut" ,freeglut)
+       ("gsl" ,gsl)
+       ("libgc" ,libgc)
+       ("python" ,python-2)
+       ("readline" ,readline)
+       ("zlib" ,zlib)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--enable-gc=" (assoc-ref %build-inputs "libgc"))
+             (string-append "--with-latex="
+                            (assoc-ref %outputs "out")
+                            "/share/texmf/tex/latex")
+             (string-append "--with-context="
+                            (assoc-ref %outputs "out")
+                            "/share/texmf/tex/context/third"))
+       #:phases (modify-phases %standard-phases
+                  (add-before 'build 'patch-pdf-viewer
+                    (lambda _
+                      ;; Default to a free pdf viewer
+                      (substitute* "settings.cc"
+                        (("defaultPDFViewer=\"acroread\"")
+                         "defaultPDFViewer=\"gv\"")))))))
+    (home-page "http://asymptote.sourceforge.net")
+    (synopsis "Script-based vector graphics language")
+    (description
+     "Asymptote is a powerful descriptive vector graphics language for
+technical drawing, inspired by MetaPost but with an improved C++-like syntax.
+Asymptote provides for figures the same high-quality level of typesetting that
+LaTeX does for scientific text.")
+    ;; Most source files do not contain license statements, but the README
+    ;; contains: "All source files in the Asymptote project, unless explicitly
+    ;; noted otherwise, are released under version 3 (or later) of the GNU
+    ;; Lesser General Public License"
+    (license license:lgpl3+)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2977f94660..fd36f8d694 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -121,7 +121,7 @@ a focus on simplicity and productivity.")
 
 (define-public ruby-2.1
   (package (inherit ruby)
-    (version "2.1.6")
+    (version "2.1.8")
     (source
      (origin
        (method url-fetch)
@@ -130,7 +130,7 @@ a focus on simplicity and productivity.")
                            "/ruby-" version ".tar.bz2"))
        (sha256
         (base32
-         "1sbcmbhadcxk0509svwxbm2vvgmpf3xjxr1397bgp9x46nz36lkv"))))
+         "11rkbfc90cg9p9mzg32475alf3ddcn9q8a3ar3fwm5xskic0n395"))))
     (arguments
      `(#:test-target "test"
        #:parallel-tests? #f
@@ -490,7 +490,7 @@ supported: XML Markup and XML Events.")
             (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
             #t)))))
     (native-inputs
-     `(("jdk" ,icedtea7 "jdk")))
+     `(("jdk" ,icedtea "jdk")))
     (synopsis "Ruby-to-Java bridge using the Java Native Interface")
     (description "RJB is a bridge program that connects Ruby and Java via the
 Java Native Interface.")
@@ -2942,3 +2942,39 @@ programs to concentrate on the implementation of network protocols.  It can be
 used to create both network servers and clients.")
     (home-page "http://rubyeventmachine.com")
     (license (list license:ruby license:gpl3)))) ; GPLv3 only AFAICT
+
+(define-public ruby-ansi
+  (package
+    (name "ruby-ansi")
+    (version "1.5.0")
+    (source
+     (origin
+       (method url-fetch)
+       ;; Fetch from GitHub as the gem does not contain testing code.
+       (uri (string-append "https://github.com/rubyworks/ansi/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1zdip30hivyipi8hndhb457bhiz033awd00bgrsk5axjrwp6zhly"))))
+    (build-system ruby-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Disable testing to break the cycle ansi, ae, ansi, as well as the
+         ;; cycle ansi, qed, ansi.  Instead simply test that the library can
+         ;; be require'd.
+         (replace 'check
+           (lambda _
+             (zero? (system* "ruby" "-Ilib" "-r" "ansi")))))))
+    (synopsis "ANSI escape code related libraries")
+    (description
+     "This package is a collection of ANSI escape code related libraries
+enabling ANSI colorization and stylization of console output.  Included in the
+library are the @code{Code} module, which defines ANSI codes as constants and
+methods, a @code{Mixin} module for including color methods, a @code{Logger}, a
+@code{ProgressBar}, and a @code{String} subclass.  The library also includes a
+@code{Terminal} module which provides information about the current output
+device.")
+    (home-page "http://rubyworks.github.io/ansi")
+    (license license:bsd-2)))
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index ac3a17d512..1adc8aa218 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -98,14 +98,14 @@ anywhere.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.3.2")
+    (version "4.3.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://www.samba.org/samba/ftp/stable/samba-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0xcs2bcim421mlk6l9rcrkx4cq9y41gfssyfa7xzdw5draar3631"))))
+               "1pvh78d5magc7lriyx7v9k7crlgxccmsy2mqn0j9xcnb78qj2bg6"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -236,14 +236,14 @@ many event types, including timers, signals, and the classic file descriptor eve
 (define-public ldb
   (package
     (name "ldb")
-    (version "1.1.23")
+    (version "1.1.24")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0ncmwgga6q9v7maiywgw21w6rb3149m1w2ca11yq8k5j0izjz2wg"))))
+                "08ab66qzigfsfxqdvp6lx1knwsl3sqsww309xbq17l7hfcjgbsa5"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/skribilo.scm b/gnu/packages/skribilo.scm
index a1b3fe7c53..52ed1c34e3 100644
--- a/gnu/packages/skribilo.scm
+++ b/gnu/packages/skribilo.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +23,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages lout)
+  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages plotutils)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages ghostscript))
@@ -30,14 +31,14 @@
 (define-public skribilo
   (package
     (name "skribilo")
-    (version "0.9.2")
+    (version "0.9.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://savannah/skribilo/skribilo-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0wwi996403wzcp8s8iyc2p6w7f9v39lwmy35ysdd3wc31i5dy19q"))))
+               "04d8xa76jvlz25jnc6p1gzsplwcwcqrmi3f7ixdhddhl1chyz66y"))))
     (build-system gnu-build-system)
     (arguments
      ;; Make the modules available under the usual location.
@@ -62,6 +63,8 @@
 
        #:parallel-build? #f))
 
+    (native-inputs `(("pkg-config" ,pkg-config)))
+
     (inputs `(("guile" ,guile-2.0)
               ("imagemagick" ,imagemagick)
               ("ghostscript" ,ghostscript)        ; for 'convert'
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 81258d38f5..8bd87582ef 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -27,6 +27,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages curl)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell)
@@ -53,7 +54,7 @@
 (define-public r
   (package
     (name "r")
-    (version "3.2.2")
+    (version "3.2.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cran/src/base/R-"
@@ -61,7 +62,7 @@
                                   version ".tar.gz"))
               (sha256
                (base32
-                "07a6s865bjnh7w0fqsrkv1pva76w99v86w0w787qpdil87km54cw"))))
+                "1hdnv77ralzcx5k5b88jq1r8l6zqnywpq00g2qs949rqh63psfxr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
@@ -1497,3 +1498,448 @@ grobs.")
 and draw tables.")
     (license license:gpl2+)))
 
+(define-public r-rsqlite
+  (package
+    (name "r-rsqlite")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "RSQLite" version))
+              (sha256
+               (base32
+                "08b1syv8z887gxiw8i09dpqh0zisfb6ihq6qqr01zipvkahzq34f"))))
+    (properties `((upstream-name . "RSQLite")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-dbi" ,r-dbi)))
+    (home-page "https://github.com/rstats-db/RSQLite")
+    (synopsis "SQLite interface for R")
+    (description
+     "This package embeds the SQLite database engine in R and provides an
+interface compliant with the DBI package.  The source for the SQLite
+engine (version 3.8.6) is included.")
+    (license license:lgpl2.0+)))
+
+(define-public r-rcurl
+  (package
+    (name "r-rcurl")
+    (version "1.95-0.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://www.bioconductor.org/packages/"
+                                  "release/extra/src/"
+                                  "contrib/RCurl_" version ".tar.gz"))
+              (sha256
+               (base32
+                "0l7qi45jxlf898n0jazabnam1yyczvqfdknd00bdirhhiplpd1sc"))))
+    (properties `((upstream-name . "RCurl")))
+    (build-system r-build-system)
+    (inputs
+     `(("libcurl" ,curl)))
+    (propagated-inputs
+     `(("r-bitops" ,r-bitops)))
+    (home-page "http://www.omegahat.org/RCurl")
+    (synopsis "General network client interface for R")
+    (description
+     "The package allows one to compose general HTTP requests and provides
+convenient functions to fetch URIs, GET and POST forms, etc. and process the
+results returned by the Web server.  This provides a great deal of control
+over the HTTP/FTP/... connection and the form of the request while providing a
+higher-level interface than is available just using R socket connections.
+Additionally, the underlying implementation is robust and extensive,
+supporting FTP/FTPS/TFTP (uploads and downloads), SSL/HTTPS, telnet, dict,
+ldap, and also supports cookies, redirects, authentication, etc.")
+    (license license:bsd-3)))
+
+(define-public r-xml
+  (package
+    (name "r-xml")
+    (version "3.98-1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "XML" version))
+              (sha256
+               (base32
+                "0j9ayp8a35g0227a4zd8nbmvnbfnj5w687jal6qvj4lbhi3va7sy"))))
+    (properties
+     `((upstream-name . "XML")))
+    (build-system r-build-system)
+    (inputs
+     `(("libxml2" ,libxml2)))
+    (propagated-inputs
+     `(("r-rcurl" ,r-rcurl)))
+    (home-page "http://www.omegahat.org/RSXML")
+    (synopsis "Tools for parsing and generating XML within R")
+    (description
+     "Many approaches for both reading and creating XML (and HTML)
+documents (including DTDs), both local and accessible via HTTP or FTP.  Also
+offers access to an XPath \"interpreter\".")
+    (license license:bsd-2)))
+
+(define-public r-lambda-r
+  (package
+    (name "r-lambda-r")
+    (version "1.1.7")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "lambda.r" version))
+              (sha256
+               (base32
+                "1lxzrwyminc3dfb07pbn1rmj45kplxgsb17b06pzflj728knbqwa"))))
+    (properties `((upstream-name . "lambda.r")))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/lambda.r")
+    (synopsis "Functional programming extension for R")
+    (description
+     "This package provides a language extension to efficiently write
+functional programs in R.  Syntax extensions include multi-part function
+definitions, pattern matching, guard statements, built-in (optional) type
+safety.")
+    (license license:lgpl3+)))
+
+(define-public r-futile-options
+  (package
+    (name "r-futile-options")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "futile.options" version))
+              (sha256
+               (base32
+                "1hp82h6xqq5cck67h7lpf22n3j7mg3v1mla5y5ivnzrrb7iyr17f"))))
+    (properties
+     `((upstream-name . "futile.options")))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/futile.options")
+    (synopsis "Options management framework")
+    (description
+     "The futile.options subsystem provides an easy user-defined options
+management system that is properly scoped.  This means that options created
+via @code{futile.options} are fully self-contained and will not collide with
+options defined in other packages.")
+    (license license:lgpl3+)))
+
+(define-public r-futile-logger
+  (package
+    (name "r-futile-logger")
+    (version "1.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "futile.logger" version))
+              (sha256
+               (base32
+                "1plld1icxrcay7llplbd4i8inpg97crpnczk58mbk26j8glqbr51"))))
+    (properties `((upstream-name . "futile.logger")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-futile-options" ,r-futile-options)
+       ("r-lambda-r" ,r-lambda-r)))
+    (home-page "http://cran.r-project.org/web/packages/futile.logger")
+    (synopsis "Logging utility for R")
+    (description
+     "This package provides a simple yet powerful logging utility.  Based
+loosely on log4j, futile.logger takes advantage of R idioms to make logging a
+convenient and easy to use replacement for @code{cat} and @code{print}
+statements.")
+    (license license:lgpl3+)))
+
+(define-public r-snow
+  (package
+    (name "r-snow")
+    (version "0.4-1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "snow" version))
+              (sha256
+               (base32
+                "19r2yq8aqw99vwyx81p6ay4afsfqffal1wzvizk3dj882s2n4j8w"))))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/snow")
+    (synopsis "Support for simple parallel computing in R")
+    (description
+     "The snow package provides support for simple parallel computing on a
+network of workstations using R.  A master R process calls @code{makeCluster}
+to start a cluster of worker processes; the master process then uses functions
+such as @code{clusterCall} and @code{clusterApply} to execute R code on the
+worker processes and collect and return the results on the master.")
+    (license (list license:gpl2+ license:gpl3+))))
+
+(define-public r-sparsem
+  (package
+    (name "r-sparsem")
+    (version "1.7")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "SparseM" version))
+              (sha256
+               (base32
+                "0s9kab5khk7daqf6nfp1wm1qnhkssnnwnymisfwyk3kz4q5maqfz"))))
+    (properties
+     `((upstream-name . "SparseM")))
+    (build-system r-build-system)
+    (home-page "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html")
+    (synopsis "Sparse linear algebra")
+    (description
+     "This package provides some basic linear algebra functionality for sparse
+matrices.  It includes Cholesky decomposition and backsolving as well as
+standard R subsetting and Kronecker products.")
+    (license license:gpl2+)))
+
+(define-public r-dt
+  (package
+    (name "r-dt")
+    (version "0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "DT" version))
+              (sha256
+               (base32
+                "0mj7iiy1gglw7kixybmb7kr1bcl5r006zcb3klkw7p6vvvzdm6qj"))))
+    (properties
+     `((upstream-name . "DT")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-htmltools" ,r-htmltools)
+       ("r-htmlwidgets" ,r-htmlwidgets)
+       ("r-magrittr" ,r-magrittr)))
+    (home-page "http://rstudio.github.io/DT")
+    (synopsis "R wrapper of the DataTables JavaScript library")
+    (description
+     "This package allows for data objects in R to be rendered as HTML tables
+using the JavaScript library 'DataTables' (typically via R Markdown or Shiny).
+The 'DataTables' library has been included in this R package.")
+    ;; The DT package as a whole is distributed under GPLv3.  The DT package
+    ;; inludes other software components under different licenses:
+    ;;
+    ;;   * Expat: jQuery, jquery.highlight.js, DataTables
+    ;;   * ASL2.0: selectize.js
+    ;;   * WTFPL: noUiSlider
+    (license (list license:gpl3
+                   license:expat
+                   license:asl2.0
+                   (license:non-copyleft "http://www.wtfpl.net/txt/copying/")))))
+
+(define-public r-base64enc
+  (package
+    (name "r-base64enc")
+    (version "0.1-3")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "base64enc" version))
+              (sha256
+               (base32
+                "13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd"))))
+    (build-system r-build-system)
+    (home-page "http://www.rforge.net/base64enc")
+    (synopsis "Tools for Base64 encoding")
+    (description
+     "This package provides tools for handling Base64 encoding.  It is more
+flexible than the orphaned \"base64\" package.")
+    (license license:gpl2+)))
+
+(define-public r-r-methodss3
+  (package
+    (name "r-r-methodss3")
+    (version "1.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "R.methodsS3" version))
+              (sha256
+               (base32
+                "1dg4bbrwr8jcsqisjrrwxs942mrjq72zw8yvl2br4djdm0md8zz5"))))
+    (properties `((upstream-name . "R.methodsS3")))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/R.methodsS3")
+    (synopsis "S3 methods simplified")
+    (description
+     "This package provides methods that simplify the setup of S3 generic
+functions and S3 methods.  Major effort has been made in making definition of
+methods as simple as possible with a minimum of maintenance for package
+developers.  For example, generic functions are created automatically, if
+missing, and naming conflict are automatically solved, if possible.  The
+method @code{setMethodS3()} is a good start for those who in the future may
+want to migrate to S4.")
+    (license license:lgpl2.1+)))
+
+(define-public r-r-oo
+  (package
+    (name "r-r-oo")
+    (version "1.19.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "R.oo" version))
+              (sha256
+               (base32
+                "15rm1qb9a212bqazhcpk7m48hcp7jq8rh4yhd9c6zfyvdqszfmsb"))))
+    (properties `((upstream-name . "R.oo")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-r-methodss3" ,r-r-methodss3)))
+    (home-page "https://github.com/HenrikBengtsson/R.oo")
+    (synopsis "R object-oriented programming with or without references")
+    (description
+     "This package provides methods and classes for object-oriented
+programming in R with or without references.  Large effort has been made on
+making definition of methods as simple as possible with a minimum of
+maintenance for package developers.")
+    (license license:lgpl2.1+)))
+
+(define-public r-r-utils
+  (package
+    (name "r-r-utils")
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "R.utils" version))
+              (sha256
+               (base32
+                "03pi6pkcsq65fv7cn4x74cj050dc8x5d4xyg930p6f7flk788xaz"))))
+    (properties `((upstream-name . "R.utils")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-r-methodss3" ,r-r-methodss3)
+       ("r-r-oo" ,r-r-oo)))
+    (home-page "https://github.com/HenrikBengtsson/R.utils")
+    (synopsis "Various programming utilities")
+    (description
+     "This package provides utility functions useful when programming and
+developing R packages.")
+    (license license:lgpl2.1+)))
+
+(define-public r-r-cache
+  (package
+    (name "r-r-cache")
+    (version "0.12.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "R.cache" version))
+              (sha256
+               (base32
+                "006x52w9r8phw5hgqmyp0bz8z42vn8p5yibibnzi1sfa1xlw8iyx"))))
+    (properties `((upstream-name . "R.cache")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-digest" ,r-digest)
+       ("r-r-methodss3" ,r-r-methodss3)
+       ("r-r-oo" ,r-r-oo)
+       ("r-r-utils" ,r-r-utils)))
+    (home-page "https://github.com/HenrikBengtsson/R.cache")
+    (synopsis "Light-weight caching of objects and results")
+    (description
+     "This package provides methods for caching or memoization of objects and
+results.  With this package, any R object can be cached in a key-value storage
+where the key can be an arbitrary set of R objects.  The cache memory is
+persistent (on the file system).")
+    (license license:lgpl2.1+)))
+
+(define-public r-r-rsp
+  (package
+    (name "r-r-rsp")
+    (version "0.20.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "R.rsp" version))
+              (sha256
+               (base32
+                "06vq9qq5hdz3hqc99q82622mab6ix7jwap20h4za6ap6gnwqs0fv"))))
+    (properties `((upstream-name . "R.rsp")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-r-cache" ,r-r-cache)
+       ("r-r-methodss3" ,r-r-methodss3)
+       ("r-r-oo" ,r-r-oo)
+       ("r-r-utils" ,r-r-utils)))
+    (home-page "https://github.com/HenrikBengtsson/R.rsp")
+    (synopsis "Dynamic generation of scientific reports")
+    (description
+     "The RSP markup language provides a powerful markup for controlling the
+content and output of LaTeX, HTML, Markdown, AsciiDoc, Sweave and knitr
+documents (and more), e.g. @code{Today's date is <%=Sys.Date()%>}.  Contrary
+to many other literate programming languages, with RSP it is straightforward
+to loop over mixtures of code and text sections, e.g.  in month-by-month
+summaries.  RSP has also several preprocessing directives for incorporating
+static and dynamic contents of external files (local or online) among other
+things.  RSP is ideal for self-contained scientific reports and R package
+vignettes.")
+    (license license:lgpl2.1+)))
+
+(define-public r-matrixstats
+  (package
+    (name "r-matrixstats")
+    (version "0.15.0")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "matrixStats" version))
+              (sha256
+               (base32
+                "1068k85s6rlwfzlszw790c2rndydvrsw7rpck6k6z17896m8drfa"))))
+    (properties `((upstream-name . "matrixStats")))
+    (build-system r-build-system)
+    (native-inputs
+     `(("r-r-rsp" ,r-r-rsp))) ;used to build vignettes
+    (home-page "https://github.com/HenrikBengtsson/matrixStats")
+    (synopsis "Methods applying to vectors and matrix rows and columns")
+    (description
+     "This package provides methods operating on rows and columns of matrices,
+e.g.  @code{rowMedians()}, @code{rowRanks()}, and @code{rowSds()}.  There are
+also some vector-based methods, e.g. @code{binMeans()}, @code{madDiff()} and
+@code{weightedMedians()}.  All methods have been optimized for speed and
+memory usage.")
+    (license license:artistic2.0)))
+
+(define-public r-viridis
+  (package
+    (name "r-viridis")
+    (version "0.3.1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "viridis" version))
+              (sha256
+               (base32
+                "0zz9i874s1fwhl9bcbiprlzaz7zsy1rj6c729zn3k525d63qbnj7"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-ggplot2" ,r-ggplot2)
+       ("r-gridextra" ,r-gridextra)))
+    (home-page "https://github.com/sjmgarnier/viridis")
+    (synopsis "Matplotlib default color map")
+    (description
+     "This package is a port of the new @url{matplotlib,
+http://matplotlib.org/} color maps (@code{viridis}--the default--,
+@code{magma}, @code{plasma}, and @code{inferno}) to R.  These color maps are
+designed in such a way that they will analytically be perfectly
+perceptually-uniform, both in regular form and also when converted to
+black-and-white.  They are also designed to be perceived by readers with the
+most common form of color blindness.")
+    (license license:x11)))
+
+(define-public r-plotly
+  (package
+    (name "r-plotly")
+    (version "2.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "plotly" version))
+              (sha256
+               (base32
+                "16pqycns8qf0y1j21n009qf242lv0izwyidlx40zv88izxhg1vs0"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-base64enc" ,r-base64enc)
+       ("r-digest" ,r-digest)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-htmlwidgets" ,r-htmlwidgets)
+       ("r-httr" ,r-httr)
+       ("r-jsonlite" ,r-jsonlite)
+       ("r-magrittr" ,r-magrittr)
+       ("r-plyr" ,r-plyr)
+       ("r-viridis" ,r-viridis)))
+    (home-page "https://plot.ly/r")
+    (synopsis "Create interactive web graphics")
+    (description
+     "This package enables the translation of ggplot2 graphs to an interactive
+web-based version and/or the creation of custom web-based visualizations
+directly from R.  Once uploaded to a plotly account, plotly graphs (and the
+data behind them) can be viewed and modified in a web browser.")
+    (license license:x11)))
+
diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
index b6c996edfa..0b2dec41f6 100644
--- a/gnu/packages/texlive.scm
+++ b/gnu/packages/texlive.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;;
@@ -129,30 +129,29 @@
       #:tests? ,(not (string-prefix? "mips64" (or (%current-target-system)
                                                   (%current-system))))
       #:phases
-       (alist-cons-after
-        'install 'postinst
-         (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
-           (let* ((out (assoc-ref outputs "out"))
-                  (share (string-append out "/share"))
-                  (texlive-extra (assoc-ref inputs "texlive-extra-src"))
-                  (unpack (assoc-ref %standard-phases 'unpack))
-                  (patch-source-shebangs
-                    (assoc-ref %standard-phases 'patch-source-shebangs)))
-             ;; Create symbolic links for the latex variants and their
-             ;; man pages.
-             (with-directory-excursion (string-append out "/bin/")
-               (for-each symlink
-               '("pdftex" "pdftex"   "xetex"   "luatex")
-               '("latex"  "pdflatex" "xelatex" "lualatex")))
-             (with-directory-excursion (string-append share "/man/man1/")
-               (symlink "luatex.1" "lualatex.1"))
-             ;; Unpack texlive-extra and install tlpkg.
-             (mkdir "texlive-extra")
-             (with-directory-excursion "texlive-extra"
-               (apply unpack (list #:source texlive-extra))
-               (apply patch-source-shebangs (list #:source texlive-extra))
-               (system* "mv" "tlpkg" share))))
-        %standard-phases)))
+       (modify-phases %standard-phases
+         (add-after 'install 'postint
+           (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+             (let* ((out (assoc-ref outputs "out"))
+                    (share (string-append out "/share"))
+                    (texlive-extra (assoc-ref inputs "texlive-extra-src"))
+                    (unpack (assoc-ref %standard-phases 'unpack))
+                    (patch-source-shebangs
+                      (assoc-ref %standard-phases 'patch-source-shebangs)))
+               ;; Create symbolic links for the latex variants and their
+               ;; man pages.
+               (with-directory-excursion (string-append out "/bin/")
+                 (for-each symlink
+                 '("pdftex" "pdftex"   "xetex"   "luatex")
+                 '("latex"  "pdflatex" "xelatex" "lualatex")))
+               (with-directory-excursion (string-append share "/man/man1/")
+                 (symlink "luatex.1" "lualatex.1"))
+               ;; Unpack texlive-extra and install tlpkg.
+               (mkdir "texlive-extra")
+               (with-directory-excursion "texlive-extra"
+                 (apply unpack (list #:source texlive-extra))
+                 (apply patch-source-shebangs (list #:source texlive-extra))
+                 (system* "mv" "tlpkg" share))))))))
    (synopsis "TeX Live, a package of the TeX typesetting system")
    (description
     "TeX Live provides a comprehensive TeX document production system.
@@ -182,42 +181,40 @@ This package contains the binaries.")
                  (guix build utils)
                  (srfi srfi-26))
       #:phases
-        (alist-cons-before
-         'texmf-config 'install
-         (lambda* (#:key outputs #:allow-other-keys)
-           (let ((share (string-append (assoc-ref outputs "out") "/share")))
-             (mkdir-p share)
-             (system* "mv" "texmf-dist" share)))
-         (alist-cons-after
-          'patch-source-shebangs 'texmf-config
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let* ((out (assoc-ref outputs "out"))
-                   (share (string-append out "/share"))
-                   (texmfroot (string-append share "/texmf-dist/web2c"))
-                   (texmfcnf (string-append texmfroot "/texmf.cnf"))
-                   (texlive-bin (assoc-ref inputs "texlive-bin"))
-                   (texbin (string-append texlive-bin "/bin"))
-                   (tlpkg (string-append texlive-bin "/share/tlpkg")))
-              ;; Register SHARE as TEXMFROOT in texmf.cnf.
-              (substitute* texmfcnf
-                (("TEXMFROOT = \\$SELFAUTOPARENT")
-                (string-append "TEXMFROOT = " share)))
-              ;; Register paths in texmfcnf.lua, needed for context.
-              (substitute* (string-append texmfroot "/texmfcnf.lua")
-                (("selfautodir:") out)
-                (("selfautoparent:") (string-append share "/")))
-              ;; Set path to TeXLive Perl modules
-              (setenv "PERL5LIB"
-                      (string-append (getenv "PERL5LIB") ":" tlpkg))
-              ;; Configure the texmf-dist tree; inspired from
-              ;; http://slackbuilds.org/repository/13.37/office/texlive/
-              (setenv "PATH" (string-append (getenv "PATH") ":" texbin))
-              (setenv "TEXMFCNF" texmfroot)
-              (system* "updmap-sys" "--nohash" "--syncwithtrees")
-              (system* "mktexlsr")
-              (system* "fmtutil-sys" "--all")))
-          (map (cut assq <> %standard-phases)
-               '(set-paths unpack patch-source-shebangs))))))
+        (modify-phases (map (cut assq <> %standard-phases)
+                            '(set-paths unpack patch-source-shebangs))
+          (add-after 'patch-source-shebangs 'install
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let ((share (string-append (assoc-ref outputs "out") "/share")))
+                (mkdir-p share)
+                (system* "mv" "texmf-dist" share))))
+          (add-after 'install 'texmf-config
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (share (string-append out "/share"))
+                     (texmfroot (string-append share "/texmf-dist/web2c"))
+                     (texmfcnf (string-append texmfroot "/texmf.cnf"))
+                     (texlive-bin (assoc-ref inputs "texlive-bin"))
+                     (texbin (string-append texlive-bin "/bin"))
+                     (tlpkg (string-append texlive-bin "/share/tlpkg")))
+                ;; Register SHARE as TEXMFROOT in texmf.cnf.
+                (substitute* texmfcnf
+                  (("TEXMFROOT = \\$SELFAUTOPARENT")
+                  (string-append "TEXMFROOT = " share)))
+                ;; Register paths in texmfcnf.lua, needed for context.
+                (substitute* (string-append texmfroot "/texmfcnf.lua")
+                  (("selfautodir:") out)
+                  (("selfautoparent:") (string-append share "/")))
+                ;; Set path to TeXLive Perl modules
+                (setenv "PERL5LIB"
+                        (string-append (getenv "PERL5LIB") ":" tlpkg))
+                ;; Configure the texmf-dist tree; inspired from
+                ;; http://slackbuilds.org/repository/13.37/office/texlive/
+                (setenv "PATH" (string-append (getenv "PATH") ":" texbin))
+                (setenv "TEXMFCNF" texmfroot)
+                (system* "updmap-sys" "--nohash" "--syncwithtrees")
+                (system* "mktexlsr")
+                (system* "fmtutil-sys" "--all")))))))
    (synopsis "TeX Live, a package of the TeX typesetting system")
    (description
     "TeX Live provides a comprehensive TeX document production system.
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 537a840247..f2c60ddadf 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
 ;;;
@@ -25,6 +25,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages python))
 
@@ -95,7 +96,7 @@ libenca and several charset conversion libraries and tools.")
 (define-public utf8proc
   (package
     (name "utf8proc")
-    (version "1.1.6")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -104,23 +105,15 @@ libenca and several charset conversion libraries and tools.")
              version ".tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "0wmsi672knii0q70wh6a3ll0gv7qk33c50zbpzasrs3b16bqy659"))))
+        (base32 "1k48as5kjkar4yj3dwxyll8ykj4k723ib5a6mnw1g86q3zi0zdl3"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;no "check" target
-       #:make-flags '("CC=gcc")
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
-       (alist-replace
-        'install
-        (lambda* (#:key outputs #:allow-other-keys)
-          (let ((lib (string-append (assoc-ref outputs "out") "/lib/"))
-                (include (string-append (assoc-ref outputs "out") "/include/")))
-            (install-file "utf8proc.h" include)
-            (for-each (lambda (file)
-                        (install-file file lib))
-                      '("libutf8proc.a" "libutf8proc.so"))))
-        ;; no configure script
-        (alist-delete 'configure %standard-phases))))
+       (modify-phases %standard-phases
+         (delete 'configure))))
     (home-page "http://julialang.org/utf8proc/")
     (synopsis "C library for processing UTF-8 Unicode data")
     (description "utf8proc is a small C library that provides Unicode
@@ -201,3 +194,26 @@ files.  This file format is more compact and more readable than XML.  And
 unlike XML, it is type-aware, so it is not necessary to do string parsing in
 application code.")
     (license license:lgpl2.1+)))
+
+(define-public pfff
+  (package
+    (name "pfff")
+    (version "1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/pfff/pfff/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "00m553aa277iarxj6dalmklyb64r7ias49bfwzbacsfg8h3kar8m"))))
+    (build-system cmake-build-system)
+    (home-page "http://biit.cs.ut.ee/pfff/")
+    (synopsis "Probabilistic fast file fingerprinting tool")
+    (description
+     "pfff is a tool for calculating a compact digital fingerprint of a file
+by sampling randomly from the file instead of reading it in full.
+Consequently, the computation has a flat performance characteristic,
+correlated with data variation rather than file size.  pfff can be as reliable
+as existing hashing techniques, with provably negligible risk of collisions.")
+    (license license:bsd-3)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 63a623d05e..340027e849 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -66,7 +66,6 @@
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
-  #:use-module (gnu packages samba)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages texinfo)
@@ -736,7 +735,6 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
        ("mpg123" ,mpg123)
        ("pulseaudio" ,pulseaudio)
        ("rsound" ,rsound)
-       ("samba" ,samba)
        ("vapoursynth" ,vapoursynth)
        ("waf" ,(origin
                  (method url-fetch)
@@ -805,7 +803,7 @@ projects while introducing many more.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2015.12.29")
+    (version "2016.01.09")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://youtube-dl.org/downloads/"
@@ -813,7 +811,7 @@ projects while introducing many more.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0232wiq8mjs5ngmlcvf0292icrhvzr9mkwy2km0g0djznsf7rxjg"))))
+                "0kchbjn52smhhjcrgqcz4hdkz0wl0i73blz3m04ncb0ykbazwg26"))))
     (build-system python-build-system)
     (native-inputs `(("python-setuptools" ,python-setuptools)))
     (home-page "http://youtube-dl.org")
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
index d114d0a69e..45c9375def 100644
--- a/gnu/packages/w3m.scm
+++ b/gnu/packages/w3m.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,8 +44,10 @@
                "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
 
              ;; cf. https://bugs.archlinux.org/task/33397
-             (patches (list (search-patch "w3m-fix-compile.patch")))
-             (patch-flags '("-p0"))))
+             (patches (list (search-patch "w3m-libgc.patch")
+                            (search-patch "w3m-force-ssl_verify_server-on.patch")
+                            (search-patch "w3m-disable-sslv2-and-sslv3.patch")
+                            (search-patch "w3m-disable-weak-ciphers.patch")))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f  ; no check target
                  #:phases (alist-cons-before
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index d22aacd12f..dd05446603 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -40,6 +40,7 @@
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -52,14 +53,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.8.5")
+    (version "2.10.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "082dw0d8jxvsapx30ypmy5h2srzfzi42c3zr9pbkzx1m959hq7rx"))))
+                "0mghsbfnmmf6nsf7cb3ah76s77aigkzf3k6kw96wgh6all6jdy6v"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
@@ -105,6 +106,7 @@
        ("gst-plugins-base" ,gst-plugins-base)
        ("gtk+-2" ,gtk+-2)
        ("harfbuzz" ,harfbuzz)
+       ("hyphen" ,hyphen)
        ("icu4c" ,icu4c)
        ("libjpeg" ,libjpeg)
        ("libnotify" ,libnotify)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 8288869a9f..7419c61d3a 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015 Raimon Grau <raimonster@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -707,3 +708,27 @@ Cflags: -I${includedir}
 C++ programming langauge.")
     (home-page "http://www.grinninglizard.com/tinyxml/index.html")
     (license license:zlib)))
+
+(define-public xmlstarlet
+ (package
+   (name "xmlstarlet")
+   (version "1.6.1")
+   (source
+    (origin
+      (method url-fetch)
+      (uri (string-append "mirror://sourceforge/xmlstar/xmlstarlet/"
+                          version "/xmlstarlet-" version ".tar.gz"))
+      (sha256
+       (base32
+        "1jp737nvfcf6wyb54fla868yrr39kcbijijmjpyk4lrpyg23in0m"))))
+   (build-system gnu-build-system)
+   (inputs
+    `(("libxslt" ,libxslt)
+      ("libxml2" ,libxml2)))
+   (home-page "http://xmlstar.sourceforge.net/")
+   (synopsis "Command line XML toolkit")
+   (description "XMLStarlet is a set of command line utilities which can be
+used to transform, query, validate, and edit XML documents.  XPath is used to
+match and extract data, and elements can be added, deleted or modified using
+XSLT and EXSLT.")
+   (license license:x11)))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 42422a3c56..82a5d994d2 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2015 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -5375,14 +5376,14 @@ Intrinsics (Xt) Library.")
 (define-public xterm
   (package
     (name "xterm")
-    (version "320")
+    (version "322")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://ftp.invisible-island.net/xterm/"
                                   "xterm-" version ".tgz"))
               (sha256
                (base32
-                "19r4rs5pjq944m7aiqligazf6wgmv4f023x3bx183h1l8dbvn3d6"))))
+                "1mh9s5g3fs64iimnl7axk0isb5306dyshisxlv5gr8vn7ysl3nws"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--enable-wide-chars" "--enable-256-color"
diff --git a/gnu/services.scm b/gnu/services.scm
index 0e1c74bda8..f302816e9e 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -63,6 +63,7 @@
 
             system-service-type
             boot-service-type
+            cleanup-service-type
             activation-service-type
             activation-service->script
             %linux-bare-metal-service
@@ -208,23 +209,8 @@ containing the given entries."
 (define (compute-boot-script _ mexps)
   (mlet %store-monad ((gexps (sequence %store-monad mexps)))
     (gexp->file "boot"
-                #~(begin
-                    (use-modules (guix build utils))
-
-                    ;; Clean out /tmp and /var/run.
-                    ;;
-                    ;; XXX This needs to happen before service activations, so
-                    ;; it has to be here, but this also implicitly assumes
-                    ;; that /tmp and /var/run are on the root partition.
-                    (false-if-exception (delete-file-recursively "/tmp"))
-                    (false-if-exception (delete-file-recursively "/var/run"))
-                    (false-if-exception (mkdir "/tmp"))
-                    (false-if-exception (chmod "/tmp" #o1777))
-                    (false-if-exception (mkdir "/var/run"))
-                    (false-if-exception (chmod "/var/run" #o755))
-
-                    ;; Activate the system and spawn dmd.
-                    #$@gexps))))
+                ;; Clean up and activate the system, then spawn dmd.
+                #~(begin #$@gexps))))
 
 (define (boot-script-entry mboot)
   "Return, as a monadic value, an entry for the boot script in the system
@@ -247,6 +233,53 @@ directory."
   ;; The service that produces the boot script.
   (service boot-service-type #t))
 
+(define (cleanup-gexp _)
+  "Return as a monadic value a gexp to clean up /tmp and similar places upon
+boot."
+  (define %modules
+    '((guix build utils)))
+
+  (mlet %store-monad ((modules  (imported-modules %modules))
+                      (compiled (compiled-modules %modules)))
+    (return #~(begin
+                (eval-when (expand load eval)
+                  ;; Make sure 'use-modules' below succeeds.
+                  (set! %load-path (cons #$modules %load-path))
+                  (set! %load-compiled-path
+                    (cons #$compiled %load-compiled-path)))
+
+                (use-modules (guix build utils))
+
+                ;; Clean out /tmp and /var/run.
+                ;;
+                ;; XXX This needs to happen before service activations, so it
+                ;; has to be here, but this also implicitly assumes that /tmp
+                ;; and /var/run are on the root partition.
+                (letrec-syntax ((fail-safe (syntax-rules ()
+                                             ((_ exp rest ...)
+                                              (begin
+                                                (catch 'system-error
+                                                  (lambda () exp)
+                                                  (const #f))
+                                                (fail-safe rest ...)))
+                                             ((_)
+                                              #t))))
+                  ;; Ignore I/O errors so the system can boot.
+                  (fail-safe
+                   (delete-file-recursively "/tmp")
+                   (delete-file-recursively "/var/run")
+                   (mkdir "/tmp")
+                   (chmod "/tmp" #o1777)
+                   (mkdir "/var/run")
+                   (chmod "/var/run" #o755)))))))
+
+(define cleanup-service-type
+  ;; Service that cleans things up in /tmp and similar.
+  (service-type (name 'cleanup)
+                (extensions
+                 (list (service-extension boot-service-type
+                                          cleanup-gexp)))))
+
 (define* (file-union name files)                  ;FIXME: Factorize.
   "Return a <computed-file> that builds a directory containing all of FILES.
 Each item in FILES must be a list where the first element is the file name to
diff --git a/gnu/system.scm b/gnu/system.scm
index 6dfcc0fe3a..4aedb7ee36 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -295,8 +295,12 @@ a container or that of a \"bare metal\" system."
            %boot-service
 
            ;; %DMD-ROOT-SERVICE must come first so that the gexp that execs
-           ;; dmd comes last in the boot script (XXX).
-           %dmd-root-service %activation-service
+           ;; dmd comes last in the boot script (XXX).  Likewise, the cleanup
+           ;; service must come last so that its gexp runs before activation
+           ;; code.
+           %dmd-root-service
+           %activation-service
+           (service cleanup-service-type #f)
 
            (pam-root-service (operating-system-pam-services os))
            (account-service (append (operating-system-accounts os)