summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2016-07-28 11:08:55 +0200
committerAndreas Enge <andreas@enge.fr>2016-07-28 11:08:55 +0200
commite309c7561043361afe63cc9435e620323f870a61 (patch)
treecd6fe073ba840bb68f446933ece44b45d8eb5ec7
parent1bb163b0dd07c8f2cfd7e91f1e428075cd3d5ed2 (diff)
parente335b82c4eba13fe873db2d680d399469931c10f (diff)
downloadguix-e309c7561043361afe63cc9435e620323f870a61.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
-rw-r--r--Makefile.am4
-rw-r--r--doc/guix.texi158
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm40
-rw-r--r--gnu/packages/bioinformatics.scm4
-rw-r--r--gnu/packages/code.scm4
-rw-r--r--gnu/packages/databases.scm41
-rw-r--r--gnu/packages/ebook.scm20
-rw-r--r--gnu/packages/emacs.scm10
-rw-r--r--gnu/packages/gnuzilla.scm17
-rw-r--r--gnu/packages/image.scm32
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/linux-libre-4.7-i686.conf (renamed from gnu/packages/linux-libre-4.6-i686.conf)145
-rw-r--r--gnu/packages/linux-libre-4.7-x86_64.conf (renamed from gnu/packages/linux-libre-4.6-x86_64.conf)164
-rw-r--r--gnu/packages/linux.scm38
-rw-r--r--gnu/packages/mail.scm7
-rw-r--r--gnu/packages/networking.scm38
-rw-r--r--gnu/packages/package-management.scm6
-rw-r--r--gnu/packages/patches/calibre-drop-unrar.patch48
-rw-r--r--gnu/packages/patches/mysql-fix-failing-test.patch57
-rw-r--r--gnu/packages/qt.scm27
-rw-r--r--gnu/packages/web.scm32
-rw-r--r--gnu/system.scm21
-rw-r--r--gnu/system/mapped-devices.scm29
-rw-r--r--guix/import/pypi.scm13
-rw-r--r--guix/profiles.scm11
-rw-r--r--guix/scripts/environment.scm5
-rw-r--r--guix/zlib.scm23
-rw-r--r--tests/guix-environment.sh4
-rw-r--r--tests/profiles.scm10
-rw-r--r--tests/publish.scm12
-rw-r--r--tests/pypi.scm16
32 files changed, 770 insertions, 271 deletions
diff --git a/Makefile.am b/Makefile.am
index dc81d32b6c..543b10175b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -171,8 +171,8 @@ dist_noinst_DATA = guix/tests.scm
 
 # Linux-Libre configurations.
 KCONFIGS =					\
-  gnu/packages/linux-libre-4.6-i686.conf	\
-  gnu/packages/linux-libre-4.6-x86_64.conf	\
+  gnu/packages/linux-libre-4.7-i686.conf	\
+  gnu/packages/linux-libre-4.7-x86_64.conf	\
   gnu/packages/linux-libre-4.4-i686.conf	\
   gnu/packages/linux-libre-4.4-x86_64.conf	\
   gnu/packages/linux-libre-4.1-i686.conf	\
diff --git a/doc/guix.texi b/doc/guix.texi
index dd2004dd63..de996907fe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -9,6 +9,9 @@
 
 @include version.texi
 
+@c Identifier of the OpenPGP key used to sign tarballs and such.
+@set OPENPGP-SIGNING-KEY-ID 090B11993D9AEBB5
+
 @copying
 Copyright @copyright{} 2012, 2013, 2014, 2015, 2016 Ludovic Courtès@*
 Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*
@@ -21,7 +24,8 @@ Copyright @copyright{} 2015, 2016 Leo Famulari@*
 Copyright @copyright{} 2015, 2016 Ricardo Wurmus@*
 Copyright @copyright{} 2016 Ben Woodcroft@*
 Copyright @copyright{} 2016 Chris Marusich@*
-Copyright @copyright{} 2016 Efraim Flashner
+Copyright @copyright{} 2016 Efraim Flashner@*
+Copyright @copyright{} 2016 ng0
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -373,6 +377,7 @@ Download the binary tarball from
 where @var{system} is @code{x86_64-linux} for an @code{x86_64} machine
 already running the kernel Linux, and so on.
 
+@c The following is somewhat duplicated in ``System Installation''.
 Make sure to download the associated @file{.sig} file and to verify the
 authenticity of the tarball against it, along these lines:
 
@@ -385,11 +390,12 @@ If that command fails because you do not have the required public key,
 then run this command to import it:
 
 @example
-$ gpg --keyserver pgp.mit.edu --recv-keys 090B11993D9AEBB5
+$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
 @end example
 
 @noindent
 and rerun the @code{gpg --verify} command.
+@c end authentication part
 
 @item
 As @code{root}, run:
@@ -5450,7 +5456,8 @@ details on Bash start-up files.}.
 
 @vindex GUIX_ENVIRONMENT
 @command{guix environment} defines the @code{GUIX_ENVIRONMENT}
-variable in the shell it spawns.  This allows users to, say, define a
+variable in the shell it spawns; its value is the file name of the
+profile of this environment.  This allows users to, say, define a
 specific prompt for development environments in their @file{.bashrc}
 (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}):
 
@@ -5461,6 +5468,13 @@ then
 fi
 @end example
 
+@noindent
+... or to browse the profile:
+
+@example
+$ ls "$GUIX_ENVIRONMENT/bin"
+@end example
+
 Additionally, more than one package may be specified, in which case the
 union of the inputs for the given packages are used.  For example, the
 command below spawns a shell where all of the dependencies of both Guile
@@ -6133,6 +6147,26 @@ for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;
 for a 32-bit GNU/Linux system on Intel-compatible CPUs.
 @end table
 
+@c start duplication of authentication part from ``Binary Installation''
+Make sure to download the associated @file{.sig} file and to verify the
+authenticity of the image against it, along these lines:
+
+@example
+$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig
+$ gpg --verify guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig
+@end example
+
+If that command fails because you do not have the required public key,
+then run this command to import it:
+
+@example
+$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
+@end example
+
+@noindent
+and rerun the @code{gpg --verify} command.
+@c end duplication
+
 This image contains a single partition with the tools necessary for an
 installation.  It is meant to be copied @emph{as is} to a large-enough
 USB stick.
@@ -6972,6 +7006,7 @@ and unmount user-space FUSE file systems.  This requires the
 @cindex mapped devices
 The Linux kernel has a notion of @dfn{device mapping}: a block device,
 such as a hard disk partition, can be @dfn{mapped} into another device,
+usually in @code{/dev/mapper/},
 with additional processing over the data that flows through
 it@footnote{Note that the GNU@tie{}Hurd makes no difference between the
 concept of a ``mapped device'' and that of a file system: both boil down
@@ -6981,42 +7016,14 @@ devices, like file systems, using the generic @dfn{translator} mechanism
 (@pxref{Translators,,, hurd, The GNU Hurd Reference Manual}).}.  A
 typical example is encryption device mapping: all writes to the mapped
 device are encrypted, and all reads are deciphered, transparently.
+Guix extends this notion by considering any device or set of devices that
+are @dfn{transformed} in some way to create a new device; for instance,
+RAID devices are obtained by @dfn{assembling} several other devices, such
+as hard disks or partitions, into a new one that behaves as one partition.
+Other examples, not yet implemented, are LVM logical volumes.
 
-Mapped devices are declared using the @code{mapped-device} form:
-
-@example
-(mapped-device
-  (source "/dev/sda3")
-  (target "home")
-  (type luks-device-mapping))
-@end example
-
-Or, better yet, like this:
-
-@example
-(mapped-device
-  (source (uuid "cb67fc72-0d54-4c88-9d4b-b225f30b0f44"))
-  (target "home")
-  (type luks-device-mapping))
-@end example
-
-@cindex disk encryption
-@cindex LUKS
-This example specifies a mapping from @file{/dev/sda3} to
-@file{/dev/mapper/home} using LUKS---the
-@url{http://code.google.com/p/cryptsetup,Linux Unified Key Setup}, a
-standard mechanism for disk encryption.  In the second example, the UUID
-(unique identifier) is the LUKS UUID returned for the device by a
-command like:
-
-@example
-cryptsetup luksUUID /dev/sdx9
-@end example
-
-The @file{/dev/mapper/home}
-device can then be used as the @code{device} of a @code{file-system}
-declaration (@pxref{File Systems}).  The @code{mapped-device} form is
-detailed below.
+Mapped devices are declared using the @code{mapped-device} form,
+defined as follows; for examples, see below.
 
 @deftp {Data Type} mapped-device
 Objects of this type represent device mappings that will be made when
@@ -7024,13 +7031,17 @@ the system boots up.
 
 @table @code
 @item source
-This string specifies the name of the block device to be mapped, such as
-@code{"/dev/sda3"}.
+This is either a string specifying the name of the block device to be mapped,
+such as @code{"/dev/sda3"}, or a list of such strings when several devices
+need to be assembled for creating a new one.
 
 @item target
-This string specifies the name of the mapping to be established.  For
-example, specifying @code{"my-partition"} will lead to the creation of
+This string specifies the name of the resulting mapped device.  For
+kernel mappers such as encrypted devices of type @code{luks-device-mapping},
+specifying @code{"my-partition"} leads to the creation of
 the @code{"/dev/mapper/my-partition"} device.
+For RAID devices of type @code{raid-device-mapping}, the full device name
+such as @code{"/dev/md0"} needs to be given.
 
 @item type
 This must be a @code{mapped-device-kind} object, which specifies how
@@ -7044,6 +7055,64 @@ command from the package with the same name.  It relies on the
 @code{dm-crypt} Linux kernel module.
 @end defvr
 
+@defvr {Scheme Variable} raid-device-mapping
+This defines a RAID device, which is assembled using the @code{mdadm}
+command from the package with the same name.  It requires a Linux kernel
+module for the appropriate RAID level to be loaded, such as @code{raid456}
+for RAID-4, RAID-5 or RAID-6, or @code{raid10} for RAID-10.
+@end defvr
+
+@cindex disk encryption
+@cindex LUKS
+The following example specifies a mapping from @file{/dev/sda3} to
+@file{/dev/mapper/home} using LUKS---the
+@url{http://code.google.com/p/cryptsetup,Linux Unified Key Setup}, a
+standard mechanism for disk encryption.
+The @file{/dev/mapper/home}
+device can then be used as the @code{device} of a @code{file-system}
+declaration (@pxref{File Systems}).
+
+@example
+(mapped-device
+  (source "/dev/sda3")
+  (target "home")
+  (type luks-device-mapping))
+@end example
+
+Alternatively, to become independent of device numbering, one may obtain
+the LUKS UUID (@dfn{unique identifier}) of the source device by a
+command like:
+
+@example
+cryptsetup luksUUID /dev/sda3
+@end example
+
+and use it as follows:
+
+@example
+(mapped-device
+  (source (uuid "cb67fc72-0d54-4c88-9d4b-b225f30b0f44"))
+  (target "home")
+  (type luks-device-mapping))
+@end example
+
+A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1}
+may be declared as follows:
+
+@example
+(mapped-device
+  (source (list "/dev/sda1" "/dev/sdb1"))
+  (target "/dev/md0")
+  (type raid-device-mapping))
+@end example
+
+The @file{/dev/md0} device can then be used as the @code{device} of a
+@code{file-system} declaration (@pxref{File Systems}).
+Note that the RAID level need not be given; it is chosen during the
+initial creation and formatting of the RAID device and is determined
+automatically later.
+
+
 @node User Accounts
 @subsection User Accounts
 
@@ -11477,9 +11546,10 @@ definition may look like this:
 
 @example
 (define my-package
-  (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7"))
+  (let ((commit "c3f29bc928d5900971f65965feaae59e1272a3f7")
+        (revision "1"))          ;Guix package revision
     (package
-      (version (string-append "0.9-1."
+      (version (string-append "0.9-" revision "."
                               (string-take commit 7)))
       (source (origin
                 (method git-fetch)
diff --git a/gnu/local.mk b/gnu/local.mk
index 911b89f14b..1580bf189c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -666,6 +666,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/mumps-build-parallelism.patch		\
   %D%/packages/patches/mupen64plus-ui-console-notice.patch	\
   %D%/packages/patches/mutt-store-references.patch		\
+  %D%/packages/patches/mysql-fix-failing-test.patch		\
   %D%/packages/patches/nasm-no-ps-pdf.patch			\
   %D%/packages/patches/net-tools-bitrot.patch			\
   %D%/packages/patches/netcdf-config-date.patch			\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index a7c4892b6b..195959efd1 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -132,46 +132,6 @@ the percentage of copied data.  It can also show estimated time and throughput,
 and provides a \"top-like\" mode (monitoring).")
     (license license:gpl3+)))
 
-(define-public dmd
-  ;; Deprecated.  Kept around "just in case."
-  (let ((base-version "0.2")
-        (patch-level  "01"))
-    (package
-      (name "dmd")
-      (version (string-append base-version "." patch-level))
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/dmd-"
-                                    base-version ".tar.gz"))
-                (sha256
-                 (base32
-                  "10fl4k96f17gqx2fv8iw9c61ld26gsk4bbrlfqckdmiimz1k175z"))
-                (patches
-                 (list (origin
-                         ;; This patch augments 'make-fork+exec-constructor' and
-                         ;; is used by a bunch of services.
-                         (method url-fetch)
-                         (uri (string-append
-                               "http://git.savannah.gnu.org/cgit/shepherd.git/"
-                               "patch?id=d1d0ff30b3ed2b86b0a3c9bc048d2a855f8e31e6"))
-                         (sha256
-                          (base32
-                           "1lqymypixfiyb72d6bn24m06ry2q1ljnnv0qrc89pbb4z9azaa4d"))
-                         (file-name "dmd-user-group.patch"))))))
-      (build-system gnu-build-system)
-      (arguments
-       '(#:configure-flags '("--localstatedir=/var")))
-      (native-inputs `(("pkg-config" ,pkg-config)))
-      (inputs `(("guile" ,guile-2.0)))
-      (synopsis "Daemon managing daemons")
-      (description
-       "GNU DMD is a daemon-managing daemon, meaning that it manages the
-execution of system services, replacing similar functionality found in
-typical init systems.  It provides dependency-handling through a convenient
-interface and is based on GNU Guile.")
-      (license license:gpl3+)
-      (home-page "http://www.gnu.org/software/dmd/"))))
-
 (define-public shepherd
   (package
     (name "shepherd")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6065a0079b..6f6ff8811f 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1568,7 +1568,7 @@ identify enrichments with functional annotations of the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.8.15")
+    (version "0.8.16")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -1577,7 +1577,7 @@ identify enrichments with functional annotations of the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "14n0p28b4i5j8vvz1fl4xj1gxnpg98bj0kr3i90mhn7miwr4pkpw"))))
+                "10p4lm88fk2gy2mqxhfllyfig8zyd2l7hwmqkhlilrv9h76bm71n"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 233e803431..64df95ded6 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -190,7 +190,7 @@ COCOMO model or user-provided parameters.")
 (define-public the-silver-searcher
   (package
     (name "the-silver-searcher")
-    (version "0.31.0")
+    (version "0.32.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -198,7 +198,7 @@ COCOMO model or user-provided parameters.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1a3xncsq3x8pci194k484s5mdqij2sirpz6dj6711n2p8mzq5g31"))
+                "1k543cjpignwvy8avhchz8pkqrqcgcryps36ycy8mz2w5rbhicn5"))
               (file-name (string-append name "-" version ".tar.gz"))))
     (build-system gnu-build-system)
     (native-inputs
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index fdee887af7..6bf8d81061 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -203,7 +203,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
 (define-public mysql
   (package
     (name "mysql")
-    (version "5.7.12")
+    (version "5.7.13")
     (source (origin
              (method url-fetch)
              (uri (list (string-append
@@ -213,9 +213,10 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
                         (string-append
                           "http://downloads.mysql.com/archives/get/file/"
                           name "-" version ".tar.gz")))
+             (patches (search-patches "mysql-fix-failing-test.patch"))
              (sha256
               (base32
-               "11qwbid666fspq143ymi86yva2b01lybaqh26k92rciasav3r11j"))))
+               "11qbib1xpy0zkki7j9ip17hks5kp5zgpcj7x8gy3a4m66lb1mgsh"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -276,7 +277,7 @@ Language.")
 (define-public mariadb
   (package
     (name "mariadb")
-    (version "10.1.14")
+    (version "10.1.16")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://downloads.mariadb.org/f/"
@@ -284,7 +285,7 @@ Language.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "04ysdbvj2qapfpaj7s5d2j3m8k9l0yb5k0c2yaini8jrl1s1krqq"))))
+                "14s3wq1c25n62n75hkixl8n7cni4m73w055nsx4czm655k33bjv7"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
@@ -1030,3 +1031,35 @@ trees (LSM), for sustained throughput under random insert workloads.")
     (license gpl3) ; or GPL-2
     ;; configure.ac: WiredTiger requires a 64-bit build.
     (supported-systems '("x86_64-linux" "mips64el-linux"))))
+
+(define-public perl-db-file
+ (package
+  (name "perl-db-file")
+  (version "1.838")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (string-append
+             "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
+             version
+             ".tar.gz"))
+      (sha256
+        (base32
+          "0yp5d5zr8dk9g6xdh7ygi5bq63q7nxvhd58dk2i3ki4nb7yv2yh9"))))
+  (build-system perl-build-system)
+  (inputs `(("bdb" ,bdb)))
+  (native-inputs `(("perl-test-pod" ,perl-test-pod)))
+  (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-before
+                   'configure 'modify-config.in
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (substitute* "config.in"
+                       (("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
+                     #t)))))
+  (home-page "http://search.cpan.org/dist/DB_File")
+  (synopsis
+    "Perl5 access to Berkeley DB version 1.x")
+  (description
+    "The DB::File module provides Perl bindings to the Berkeley DB version 1.x.")
+  (license (package-license perl))))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 69946b1e78..ad1871688e 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31,7 +32,6 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages pkg-config)
@@ -61,7 +61,7 @@
 (define-public calibre
   (package
     (name "calibre")
-    (version "2.62.0")
+    (version "2.63.0")
     (source
       (origin
         (method url-fetch)
@@ -70,7 +70,7 @@
                             version ".tar.xz"))
         (sha256
          (base32
-          "15qskfsdg3fy9cpw1m3mccwgn45366yn7lci5kim0fdzpw9pnkna"))
+          "1rwgv6rsmy3ljfwcpv42w203ghngw86s5kzb0yjm1zgsxmas2wh6"))
         ;; Remove non-free or doubtful code, see
         ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
         (modules '((guix build utils)))
@@ -83,7 +83,7 @@
     (build-system python-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("qtbase" ,qtbase) ; for qmake
+       ("qt" ,qt) ; for qmake
        ;; xdg-utils is supposed to be used for desktop integration, but it
        ;; also creates lots of messages
        ;; mkdir: cannot create directory '/homeless-shelter': Permission denied
@@ -102,7 +102,6 @@
        ("fontconfig" ,fontconfig)
        ("glib" ,glib)
        ("icu4c" ,icu4c)
-       ("imagemagick" ,imagemagick)
        ("libmtp" ,libmtp)
        ("libpng" ,libpng)
        ("libusb" ,libusb)
@@ -119,25 +118,24 @@
        ("python2-mechanize" ,python2-mechanize)
        ("python2-netifaces" ,python2-netifaces)
        ("python2-pillow" ,python2-pillow)
-       ("python2-pyqt" ,python2-pyqt)
+       ("python2-pyqt" ,python2-pyqt-5.5)
        ("python2-sip" ,python2-sip)
-       ("qtbase" ,qtbase)
+       ("qt" ,qt)
        ("sqlite" ,sqlite)))
     (arguments
      `(#:python ,python-2
        #:test-target "check"
        #:tests? #f ; FIXME: enable once flake8 is packaged
        #:phases
-         (alist-cons-before
-          'build 'configure
+       (modify-phases %standard-phases
+         (add-before 'build 'configure
           (lambda* (#:key inputs #:allow-other-keys)
             (let ((podofo (assoc-ref inputs "podofo"))
                   (pyqt (assoc-ref inputs "python2-pyqt")))
               (substitute* "setup/build_environment.py"
                 (("sys.prefix") (string-append "'" pyqt "'")))
               (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
-              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))
-          %standard-phases)))
+              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))))))
     (home-page "http://calibre-ebook.com/")
     (synopsis "E-book library management software")
     (description "Calibre is an ebook library manager.  It can view, convert
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5a718fa341..fb19c87bca 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -13,6 +13,7 @@
 ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -446,7 +447,9 @@ on stdout instead of using a socket as the Emacsclient does.")
     (build-system gnu-build-system)
     (native-inputs `(("texinfo" ,texinfo)
                      ("emacs" ,emacs-minimal)))
-    (inputs `(("git" ,git)))
+    (inputs
+     `(("git" ,git)
+       ("perl" ,perl)))
     (propagated-inputs
      `(("dash" ,emacs-dash)
        ("with-editor" ,emacs-with-editor)))
@@ -479,9 +482,12 @@ on stdout instead of using a socket as the Emacsclient does.")
          (add-before
           'build 'patch-exec-paths
           (lambda* (#:key inputs #:allow-other-keys)
-            (let ((git (assoc-ref inputs "git")))
+            (let ((git  (assoc-ref inputs "git"))
+                  (perl (assoc-ref inputs "perl")))
               (emacs-substitute-variables "lisp/magit-git.el"
                 ("magit-git-executable" (string-append git "/bin/git")))
+              (substitute* "lisp/magit-sequence.el"
+                (("perl") (string-append perl "/bin/perl")))
               #t))))))
     (home-page "http://magit.github.io/")
     (synopsis "Emacs interface for the Git version control system")
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 34b4040458..27c8ede8e9 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -572,7 +573,21 @@ standards.")
                  (("@MOZ_APP_NAME@")
                   "icecat"))
                (install-file "debian/icecat.desktop" applications)
-               #t))))))
+               #t)))
+         (add-after 'install-desktop-entry 'install-icons
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (with-directory-excursion "browser/branding/official"
+                 (for-each
+                  (lambda (file)
+                    (let* ((size (string-filter char-numeric? file))
+                           (icons (string-append out "/share/icons/hicolor/"
+                                                 size "x" size "/apps")))
+                      (mkdir-p icons)
+                      (copy-file file (string-append icons "/icecat.png"))))
+                  '("default16.png" "default22.png" "default24.png"
+                    "default32.png" "default48.png" "content/icon64.png"
+                    "mozicon128.png" "default256.png")))))))))
     (home-page "http://www.gnu.org/software/gnuzilla/")
     (synopsis "Entirely free browser derived from Mozilla Firefox")
     (description
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 188d142710..7d72492b1a 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -801,3 +802,34 @@ the programmer.")
     ;; test/extra/ contains musl-libm, 
     ;; which is MIT/expat licensed, but only used for tests
     (license (license:fsf-free "file://COPYING")))) ;WTFPL version 2
+
+(define-public perceptualdiff
+  (package
+    (name "perceptualdiff")
+    (version "1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/myint/perceptualdiff/archive/v"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+        (sha256
+         (base32
+          "0zl6xmp971fffg7fzcz2fbgxg5x2w7l8qa65c008i4kbkc9016ps"))))
+    (build-system cmake-build-system)
+    (inputs `(("freeimage" ,freeimage)))
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'fix-tests
+                    ;; cmake-build-system uses a build/ directory outside
+                    ;; of the source tree, one level higher than expected
+                    (lambda _
+                      (substitute* "test/run_tests.bash"
+                        (("../build") "../../build")))))))
+    (home-page "https://github.com/myint/perceptualdiff")
+    (synopsis "Perceptual image comparison utility")
+    (description "PerceptualDiff visually compares two images to determine
+whether they look alike.  It uses a computational model of the human visual
+system to detect similarities.  This allows it too see beyond irrelevant
+differences in file encoding, image quality, and other small variations.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 038ca00c79..e78d4e19f4 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -41,14 +41,14 @@
 (define-public imagemagick
   (package
     (name "imagemagick")
-    (version "6.9.5-0")
+    (version "6.9.5-3")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://imagemagick/ImageMagick-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1d1hmmnks071zfkpv971b3q56qlml0wv1xlw8yvq6cnybc2cwc3q"))))
+               "1v5lbmyd8w6rxrzcwcv61f7cd4iqdylbpcry2j64nhxp7d4rzv3g"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-frozenpaths")
diff --git a/gnu/packages/linux-libre-4.6-i686.conf b/gnu/packages/linux-libre-4.7-i686.conf
index 25cb00a6bd..0e7c67432b 100644
--- a/gnu/packages/linux-libre-4.6-i686.conf
+++ b/gnu/packages/linux-libre-4.7-i686.conf
@@ -1,12 +1,11 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.6.0-gnu Kernel Configuration
+# Linux/x86 4.7.0-gnu Kernel Configuration
 #
 # CONFIG_64BIT is not set
 CONFIG_X86_32=y
 CONFIG_X86=y
 CONFIG_INSTRUCTION_DECODER=y
-CONFIG_PERF_EVENTS_INTEL_UNCORE=y
 CONFIG_OUTPUT_FORMAT="elf32-i386"
 CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
 CONFIG_LOCKDEP_SUPPORT=y
@@ -140,6 +139,7 @@ CONFIG_BUILD_BIN2C=y
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=17
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_NMI_LOG_BUF_SHIFT=13
 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
 CONFIG_CGROUPS=y
@@ -181,6 +181,7 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
@@ -199,6 +200,7 @@ CONFIG_KALLSYMS_ALL=y
 # CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
 CONFIG_KALLSYMS_BASE_RELATIVE=y
 CONFIG_PRINTK=y
+CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_PCSPKR_PLATFORM=y
@@ -254,6 +256,7 @@ CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
 CONFIG_HAVE_OPTPROBES=y
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_NMI=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -286,11 +289,15 @@ CONFIG_HAVE_ARCH_HUGE_VMAP=y
 CONFIG_MODULES_USE_ELF_REL=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_HAVE_EXIT_THREAD=y
 CONFIG_ARCH_MMAP_RND_BITS=8
 CONFIG_HAVE_COPY_THREAD_TLS=y
+# CONFIG_HAVE_ARCH_HASH is not set
+CONFIG_ISA_BUS_API=y
 CONFIG_CLONE_BACKWARDS=y
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_OLD_SIGACTION=y
+# CONFIG_CPU_NO_EFFICIENT_FFS is not set
 
 #
 # GCOV-based kernel profiling
@@ -474,6 +481,14 @@ CONFIG_X86_MCE_AMD=y
 CONFIG_X86_MCE_THRESHOLD=y
 CONFIG_X86_MCE_INJECT=m
 CONFIG_X86_THERMAL_VECTOR=y
+
+#
+# Performance monitoring
+#
+CONFIG_PERF_EVENTS_INTEL_UNCORE=y
+CONFIG_PERF_EVENTS_INTEL_RAPL=y
+CONFIG_PERF_EVENTS_INTEL_CSTATE=y
+CONFIG_PERF_EVENTS_AMD_POWER=m
 # CONFIG_X86_LEGACY_VM86 is not set
 # CONFIG_VM86 is not set
 CONFIG_X86_16BIT=y
@@ -485,7 +500,6 @@ CONFIG_MICROCODE=y
 CONFIG_MICROCODE_INTEL=y
 CONFIG_MICROCODE_AMD=y
 CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_PERF_EVENTS_AMD_POWER=m
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
 # CONFIG_NOHIGHMEM is not set
@@ -517,6 +531,7 @@ CONFIG_MEMORY_ISOLATION=y
 # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
 CONFIG_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTPLUG_SPARSE=y
+# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
 CONFIG_MEMORY_HOTREMOVE=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
@@ -525,7 +540,6 @@ CONFIG_BALLOON_COMPACTION=y
 CONFIG_COMPACTION=y
 CONFIG_MIGRATION=y
 CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=1
 CONFIG_BOUNCE=y
 CONFIG_VIRT_TO_BUS=y
 CONFIG_MMU_NOTIFIER=y
@@ -543,6 +557,7 @@ CONFIG_CMA_AREAS=7
 CONFIG_ZSWAP=y
 CONFIG_ZPOOL=y
 CONFIG_ZBUD=y
+CONFIG_Z3FOLD=m
 CONFIG_ZSMALLOC=y
 CONFIG_PGTABLE_MAPPING=y
 # CONFIG_ZSMALLOC_STAT is not set
@@ -582,7 +597,6 @@ CONFIG_KEXEC_JUMP=y
 CONFIG_PHYSICAL_START=0x1000000
 CONFIG_RELOCATABLE=y
 CONFIG_RANDOMIZE_BASE=y
-CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x20000000
 CONFIG_X86_NEED_RELOCS=y
 CONFIG_PHYSICAL_ALIGN=0x1000000
 CONFIG_HOTPLUG_CPU=y
@@ -643,7 +657,7 @@ CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
 CONFIG_ACPI_THERMAL=y
 CONFIG_ACPI_CUSTOM_DSDT_FILE=""
 # CONFIG_ACPI_CUSTOM_DSDT is not set
-# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
+CONFIG_ACPI_TABLE_UPGRADE=y
 # CONFIG_ACPI_DEBUG is not set
 CONFIG_ACPI_PCI_SLOT=y
 CONFIG_X86_PM_TIMER=y
@@ -679,6 +693,7 @@ CONFIG_APM=m
 # CPU Frequency scaling
 #
 CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
 CONFIG_CPU_FREQ_GOV_COMMON=y
 CONFIG_CPU_FREQ_STAT=y
 CONFIG_CPU_FREQ_STAT_DETAILS=y
@@ -687,11 +702,13 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_USERSPACE=y
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=m
 
 #
 # CPU frequency scaling drivers
@@ -757,6 +774,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 # CONFIG_PCIEASPM_POWERSAVE is not set
 # CONFIG_PCIEASPM_PERFORMANCE is not set
 CONFIG_PCIE_PME=y
+CONFIG_PCIE_DPC=m
 CONFIG_PCI_BUS_ADDR_T_64BIT=y
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
@@ -785,6 +803,7 @@ CONFIG_HOTPLUG_PCI_SHPC=m
 # PCI host controller drivers
 #
 # CONFIG_PCIE_DW_PLAT is not set
+# CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_ISA=y
 CONFIG_EISA=y
@@ -840,6 +859,7 @@ CONFIG_RAPIDIO_CPS_GEN2=m
 # Executable file formats / Emulations
 #
 CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
 CONFIG_BINFMT_SCRIPT=y
 CONFIG_HAVE_AOUT=y
@@ -947,6 +967,8 @@ CONFIG_IPV6_SIT_6RD=y
 CONFIG_IPV6_NDISC_NODETYPE=y
 CONFIG_IPV6_TUNNEL=m
 CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
 CONFIG_IPV6_MULTIPLE_TABLES=y
 CONFIG_IPV6_SUBTREES=y
 CONFIG_IPV6_MROUTE=y
@@ -1313,6 +1335,7 @@ CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
 # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
 CONFIG_SCTP_COOKIE_HMAC_MD5=y
 CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
 CONFIG_RDS=m
 CONFIG_RDS_RDMA=m
 CONFIG_RDS_TCP=m
@@ -1679,7 +1702,7 @@ CONFIG_BT_ATH3K=m
 CONFIG_BT_WILINK=m
 CONFIG_AF_RXRPC=m
 # CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
+# CONFIG_RXKAD is not set
 CONFIG_AF_KCM=m
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
@@ -1745,7 +1768,6 @@ CONFIG_NFC_SHDLC=y
 #
 # Near Field Communication (NFC) devices
 #
-CONFIG_NFC_PN533=m
 CONFIG_NFC_WILINK=m
 CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
@@ -1756,6 +1778,9 @@ CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
 CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_PN533=m
+CONFIG_NFC_PN533_USB=m
+CONFIG_NFC_PN533_I2C=m
 CONFIG_NFC_MICROREAD=m
 CONFIG_NFC_MICROREAD_I2C=m
 CONFIG_NFC_MICROREAD_MEI=m
@@ -2272,7 +2297,6 @@ CONFIG_SCSI_GDTH=m
 CONFIG_SCSI_ISCI=m
 CONFIG_SCSI_GENERIC_NCR5380=m
 CONFIG_SCSI_GENERIC_NCR5380_MMIO=m
-CONFIG_SCSI_GENERIC_NCR53C400=y
 CONFIG_SCSI_IPS=m
 CONFIG_SCSI_INITIO=m
 CONFIG_SCSI_INIA100=m
@@ -2295,6 +2319,7 @@ CONFIG_SCSI_QLOGIC_FAS=m
 CONFIG_SCSI_QLOGIC_1280=m
 CONFIG_SCSI_QLA_FC=m
 CONFIG_TCM_QLA2XXX=m
+# CONFIG_TCM_QLA2XXX_DEBUG is not set
 CONFIG_SCSI_QLA_ISCSI=m
 CONFIG_SCSI_LPFC=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
@@ -2360,6 +2385,9 @@ CONFIG_ATA_BMDMA=y
 # SATA SFF controllers with BMDMA
 #
 CONFIG_ATA_PIIX=y
+CONFIG_SATA_DWC=m
+# CONFIG_SATA_DWC_OLD_DMA is not set
+# CONFIG_SATA_DWC_DEBUG is not set
 CONFIG_SATA_MV=m
 CONFIG_SATA_NV=m
 CONFIG_SATA_PROMISE=m
@@ -2484,6 +2512,7 @@ CONFIG_TCM_USER2=m
 CONFIG_LOOPBACK_TARGET=m
 CONFIG_TCM_FC=m
 CONFIG_ISCSI_TARGET=m
+CONFIG_ISCSI_TARGET_CXGB4=m
 CONFIG_SBP_TARGET=m
 CONFIG_FUSION=y
 CONFIG_FUSION_SPI=m
@@ -2523,6 +2552,7 @@ CONFIG_MACVTAP=m
 CONFIG_IPVLAN=m
 CONFIG_VXLAN=m
 CONFIG_GENEVE=m
+CONFIG_GTP=m
 CONFIG_MACSEC=m
 CONFIG_NETCONSOLE=m
 CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2599,8 +2629,6 @@ CONFIG_VHOST=m
 #
 # Distributed Switch Architecture drivers
 #
-# CONFIG_NET_DSA_MV88E6XXX is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
 CONFIG_ETHERNET=y
 CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
@@ -2659,7 +2687,7 @@ CONFIG_CHELSIO_T1_1G=y
 CONFIG_CHELSIO_T3=m
 CONFIG_CHELSIO_T4=m
 CONFIG_CHELSIO_T4_DCB=y
-# CONFIG_CHELSIO_T4_UWIRE is not set
+CONFIG_CHELSIO_T4_UWIRE=y
 CONFIG_CHELSIO_T4_FCOE=y
 CONFIG_CHELSIO_T4VF=m
 CONFIG_NET_VENDOR_CIRRUS=y
@@ -2740,7 +2768,6 @@ CONFIG_MLX4_DEBUG=y
 CONFIG_MLX5_CORE=m
 CONFIG_MLX5_CORE_EN=y
 CONFIG_MLX5_CORE_EN_DCB=y
-CONFIG_MLX5_CORE_EN_VXLAN=y
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_PCI=m
@@ -2787,7 +2814,10 @@ CONFIG_QLCNIC_HWMON=y
 CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
 CONFIG_QED=m
+CONFIG_QED_SRIOV=y
 CONFIG_QEDE=m
+# CONFIG_QEDE_VXLAN is not set
+# CONFIG_QEDE_GENEVE is not set
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_NET_VENDOR_REALTEK=y
 CONFIG_ATP=m
@@ -2848,6 +2878,7 @@ CONFIG_WIZNET_W5300=m
 # CONFIG_WIZNET_BUS_DIRECT is not set
 # CONFIG_WIZNET_BUS_INDIRECT is not set
 CONFIG_WIZNET_BUS_ANY=y
+# CONFIG_WIZNET_W5100_SPI is not set
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
 CONFIG_FDDI=y
@@ -3074,7 +3105,6 @@ CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
 # CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_UAPSD is not set
 # CONFIG_IWLWIFI_PCIE_RTPM is not set
 
 #
@@ -3700,7 +3730,6 @@ CONFIG_VT_CONSOLE_SLEEP=y
 CONFIG_HW_CONSOLE=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
 CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=0
 CONFIG_SERIAL_NONSTANDARD=y
@@ -3728,6 +3757,7 @@ CONFIG_SERIAL_EARLYCON=y
 CONFIG_SERIAL_8250=y
 # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
 CONFIG_SERIAL_8250_PNP=y
+# CONFIG_SERIAL_8250_FINTEK is not set
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DMA=y
 CONFIG_SERIAL_8250_PCI=y
@@ -3747,7 +3777,6 @@ 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
 CONFIG_SERIAL_8250_MOXA=m
 
@@ -3781,7 +3810,6 @@ CONFIG_SERIAL_RP2=m
 CONFIG_SERIAL_RP2_NR_UARTS=32
 CONFIG_SERIAL_FSL_LPUART=m
 CONFIG_SERIAL_MEN_Z135=m
-# CONFIG_SERIAL_MVEBU_UART is not set
 CONFIG_TTY_PRINTK=y
 CONFIG_PRINTER=m
 # CONFIG_LP_CONSOLE is not set
@@ -3965,6 +3993,7 @@ CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
 CONFIG_SPI_PXA2XX=m
 CONFIG_SPI_PXA2XX_PCI=m
+CONFIG_SPI_ROCKCHIP=m
 CONFIG_SPI_SC18IS602=m
 CONFIG_SPI_TOPCLIFF_PCH=m
 CONFIG_SPI_XCOMM=m
@@ -4288,6 +4317,7 @@ CONFIG_SENSORS_MAX16065=m
 CONFIG_SENSORS_MAX1619=m
 CONFIG_SENSORS_MAX1668=m
 CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX31722=m
 CONFIG_SENSORS_MAX6639=m
 CONFIG_SENSORS_MAX6642=m
 CONFIG_SENSORS_MAX6650=m
@@ -4403,9 +4433,15 @@ CONFIG_INTEL_POWERCLAMP=m
 CONFIG_X86_PKG_TEMP_THERMAL=m
 CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
 CONFIG_INTEL_SOC_DTS_THERMAL=m
+
+#
+# ACPI INT340X thermal drivers
+#
 CONFIG_INT340X_THERMAL=m
 CONFIG_ACPI_THERMAL_REL=m
+CONFIG_INT3406_THERMAL=m
 CONFIG_INTEL_PCH_THERMAL=m
+CONFIG_GENERIC_ADC_THERMAL=m
 CONFIG_WATCHDOG=y
 CONFIG_WATCHDOG_CORE=y
 # CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4679,7 +4715,6 @@ CONFIG_REGULATOR_MAX8660=m
 CONFIG_REGULATOR_MAX8907=m
 CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_MAX8973=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
 CONFIG_REGULATOR_MAX77693=m
@@ -4693,6 +4728,7 @@ CONFIG_REGULATOR_PCAP=m
 CONFIG_REGULATOR_PCF50633=m
 CONFIG_REGULATOR_PFUZE100=m
 CONFIG_REGULATOR_PV88060=m
+CONFIG_REGULATOR_PV88080=m
 CONFIG_REGULATOR_PV88090=m
 CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4963,6 +4999,7 @@ CONFIG_MEDIA_PCI_SUPPORT=y
 CONFIG_VIDEO_MEYE=m
 CONFIG_VIDEO_SOLO6X10=m
 CONFIG_VIDEO_TW68=m
+CONFIG_VIDEO_TW686X=m
 CONFIG_VIDEO_ZORAN=m
 CONFIG_VIDEO_ZORAN_DC30=m
 CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -5113,6 +5150,7 @@ CONFIG_VIDEO_SAA7146_VV=m
 CONFIG_SMS_SIANO_MDTV=m
 CONFIG_SMS_SIANO_RC=y
 CONFIG_SMS_SIANO_DEBUGFS=y
+CONFIG_VIDEO_V4L2_TPG=m
 
 #
 # Media ancillary drivers (tuners, sensors, i2c, frontends)
@@ -5449,6 +5487,7 @@ CONFIG_DRM_RADEON=m
 CONFIG_DRM_AMDGPU=m
 # CONFIG_DRM_AMDGPU_CIK is not set
 CONFIG_DRM_AMDGPU_USERPTR=y
+# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
 # CONFIG_DRM_AMD_POWERPLAY is not set
 
 #
@@ -5463,6 +5502,12 @@ CONFIG_DRM_I810=m
 CONFIG_DRM_I915=m
 # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
 CONFIG_DRM_I915_USERPTR=y
+
+#
+# drm/i915 Debugging
+#
+# CONFIG_DRM_I915_WERROR is not set
+# CONFIG_DRM_I915_DEBUG is not set
 CONFIG_DRM_MGA=m
 CONFIG_DRM_SIS=m
 CONFIG_DRM_VIA=m
@@ -5491,6 +5536,7 @@ CONFIG_DRM_BRIDGE=y
 #
 # Display Interface Bridges
 #
+CONFIG_DRM_ANALOGIX_ANX78XX=m
 
 #
 # Frame buffer Devices
@@ -5931,6 +5977,7 @@ CONFIG_SND_SST_IPC_ACPI=m
 CONFIG_SND_SOC_INTEL_SST=m
 CONFIG_SND_SOC_INTEL_SST_ACPI=m
 CONFIG_SND_SOC_INTEL_SST_MATCH=m
+CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
@@ -5993,6 +6040,7 @@ CONFIG_SND_SOC_PCM512x_SPI=m
 CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RL6347A=m
 CONFIG_SND_SOC_RT286=m
+CONFIG_SND_SOC_RT298=m
 CONFIG_SND_SOC_RT5616=m
 CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
@@ -6017,6 +6065,7 @@ CONFIG_SND_SOC_STI_SAS=m
 CONFIG_SND_SOC_TAS2552=m
 CONFIG_SND_SOC_TAS5086=m
 CONFIG_SND_SOC_TAS571X=m
+CONFIG_SND_SOC_TAS5720=m
 CONFIG_SND_SOC_TFA9879=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
@@ -6040,6 +6089,7 @@ CONFIG_SND_SOC_WM8804=m
 CONFIG_SND_SOC_WM8804_I2C=m
 CONFIG_SND_SOC_WM8804_SPI=m
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
 CONFIG_SND_SOC_WM8974=m
 CONFIG_SND_SOC_WM8978=m
@@ -6066,6 +6116,7 @@ CONFIG_HID_ACRUX=m
 CONFIG_HID_ACRUX_FF=y
 CONFIG_HID_APPLE=m
 CONFIG_HID_APPLEIR=m
+CONFIG_HID_ASUS=m
 CONFIG_HID_AUREAL=m
 CONFIG_HID_BELKIN=m
 CONFIG_HID_BETOP_FF=m
@@ -6261,6 +6312,7 @@ CONFIG_USB_MICROTEK=m
 CONFIG_USBIP_CORE=m
 CONFIG_USBIP_VHCI_HCD=m
 CONFIG_USBIP_HOST=m
+CONFIG_USBIP_VUDC=m
 # CONFIG_USBIP_DEBUG is not set
 CONFIG_USB_MUSB_HDRC=m
 # CONFIG_USB_MUSB_HOST is not set
@@ -6405,6 +6457,7 @@ CONFIG_USB_EZUSB_FX2=m
 CONFIG_USB_HSIC_USB3503=m
 CONFIG_USB_LINK_LAYER_TEST=m
 CONFIG_USB_CHAOSKEY=m
+CONFIG_UCSI=m
 CONFIG_USB_ATM=m
 CONFIG_USB_SPEEDTOUCH=m
 CONFIG_USB_CXACRU=m
@@ -6632,6 +6685,7 @@ CONFIG_LEDS_BLINKM=m
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_LEDS_TRIGGER_TIMER=m
 CONFIG_LEDS_TRIGGER_ONESHOT=m
+# CONFIG_LEDS_TRIGGER_MTD is not set
 CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 CONFIG_LEDS_TRIGGER_BACKLIGHT=m
 CONFIG_LEDS_TRIGGER_CPU=y
@@ -6643,6 +6697,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 #
 CONFIG_LEDS_TRIGGER_TRANSIENT=m
 CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_LEDS_TRIGGER_PANIC=y
 # CONFIG_ACCESSIBILITY is not set
 CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
@@ -6754,8 +6809,6 @@ CONFIG_RTC_DRV_RX8010=m
 CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
 CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
 
@@ -6764,6 +6817,7 @@ CONFIG_RTC_DRV_S5M=m
 #
 CONFIG_RTC_DRV_M41T93=m
 CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1302=m
 CONFIG_RTC_DRV_DS1305=m
 CONFIG_RTC_DRV_DS1343=m
 CONFIG_RTC_DRV_DS1347=m
@@ -6782,6 +6836,8 @@ CONFIG_RTC_I2C_AND_SPI=y
 #
 CONFIG_RTC_DRV_DS3232=m
 CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_RV3029C2=m
+CONFIG_RTC_DRV_RV3029_HWMON=y
 
 #
 # Platform RTC drivers
@@ -6853,6 +6909,11 @@ CONFIG_HSU_DMA_PCI=m
 #
 CONFIG_ASYNC_TX_DMA=y
 # CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+# CONFIG_SYNC_FILE is not set
 CONFIG_AUXDISPLAY=y
 CONFIG_KS0108=m
 CONFIG_KS0108_PORT=0x378
@@ -7093,9 +7154,7 @@ CONFIG_VT6656=m
 #
 CONFIG_ADIS16201=m
 CONFIG_ADIS16203=m
-CONFIG_ADIS16204=m
 CONFIG_ADIS16209=m
-CONFIG_ADIS16220=m
 CONFIG_ADIS16240=m
 CONFIG_LIS3L02DQ=m
 CONFIG_SCA3000=m
@@ -7206,7 +7265,6 @@ CONFIG_LIRC_SERIAL=m
 CONFIG_LIRC_SERIAL_TRANSMITTER=y
 CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
-CONFIG_STAGING_RDMA=m
 
 #
 # Android
@@ -7332,6 +7390,7 @@ CONFIG_GPIO_INTEL_PMIC=y
 CONFIG_INTEL_MID_POWER_BUTTON=m
 CONFIG_INTEL_MFLD_THERMAL=m
 CONFIG_INTEL_IPS=m
+CONFIG_INTEL_PMC_CORE=y
 CONFIG_IBM_RTL=m
 CONFIG_SAMSUNG_LAPTOP=m
 CONFIG_MXM_WMI=m
@@ -7350,6 +7409,7 @@ CONFIG_CHROMEOS_PSTORE=m
 CONFIG_CROS_EC_CHARDEV=m
 CONFIG_CROS_EC_LPC=m
 CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
@@ -7367,6 +7427,8 @@ CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
 CONFIG_COMMON_CLK_PWM=m
 # CONFIG_COMMON_CLK_PXA is not set
+# CONFIG_COMMON_CLK_PIC32 is not set
+# CONFIG_COMMON_CLK_OXNAS is not set
 
 #
 # Hardware Spinlock drivers
@@ -7425,6 +7487,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
 CONFIG_DEVFREQ_GOV_PERFORMANCE=y
 CONFIG_DEVFREQ_GOV_POWERSAVE=y
 CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=m
 
 #
 # DEVFREQ Drivers
@@ -7559,6 +7622,9 @@ CONFIG_AD5380=m
 CONFIG_AD5421=m
 CONFIG_AD5446=m
 CONFIG_AD5449=m
+CONFIG_AD5592R_BASE=m
+CONFIG_AD5592R=m
+CONFIG_AD5593R=m
 CONFIG_AD5504=m
 CONFIG_AD5624R_SPI=m
 CONFIG_AD5686=m
@@ -7625,6 +7691,7 @@ CONFIG_MAX30100=m
 #
 # Humidity sensors
 #
+CONFIG_AM2315=m
 CONFIG_DHT11=m
 CONFIG_HDC100X=m
 CONFIG_HTU21=m
@@ -7636,6 +7703,9 @@ CONFIG_SI7020=m
 #
 CONFIG_ADIS16400=m
 CONFIG_ADIS16480=m
+CONFIG_BMI160=m
+CONFIG_BMI160_I2C=m
+CONFIG_BMI160_SPI=m
 CONFIG_KMX61=m
 CONFIG_INV_MPU6050_IIO=m
 CONFIG_INV_MPU6050_I2C=m
@@ -7652,6 +7722,7 @@ CONFIG_AL3320A=m
 CONFIG_APDS9300=m
 CONFIG_APDS9960=m
 CONFIG_BH1750=m
+CONFIG_BH1780=m
 CONFIG_CM32181=m
 CONFIG_CM3232=m
 CONFIG_CM3323=m
@@ -7664,6 +7735,7 @@ CONFIG_JSA1212=m
 CONFIG_RPR0521=m
 CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
+CONFIG_MAX44000=m
 CONFIG_OPT3001=m
 CONFIG_PA12203001=m
 CONFIG_STK3310=m
@@ -7673,6 +7745,7 @@ CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL4531=m
 CONFIG_US5182D=m
 CONFIG_VCNL4000=m
+CONFIG_VEML6070=m
 
 #
 # Magnetometer sensors
@@ -7680,6 +7753,8 @@ CONFIG_VCNL4000=m
 CONFIG_AK8975=m
 CONFIG_AK09911=m
 CONFIG_BMC150_MAGN=m
+CONFIG_BMC150_MAGN_I2C=m
+CONFIG_BMC150_MAGN_SPI=m
 CONFIG_MAG3110=m
 CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
 CONFIG_MMC35240=m
@@ -7706,14 +7781,16 @@ CONFIG_IIO_SYSFS_TRIGGER=m
 #
 # Digital potentiometers
 #
+CONFIG_DS1803=m
+CONFIG_MCP4131=m
 CONFIG_MCP4531=m
 CONFIG_TPL0102=m
 
 #
 # Pressure sensors
 #
-CONFIG_BMP280=m
 CONFIG_HID_SENSOR_PRESS=m
+CONFIG_HP03=m
 CONFIG_MPL115=m
 CONFIG_MPL115_I2C=m
 CONFIG_MPL115_SPI=m
@@ -7726,6 +7803,7 @@ CONFIG_IIO_ST_PRESS=m
 CONFIG_IIO_ST_PRESS_I2C=m
 CONFIG_IIO_ST_PRESS_SPI=m
 CONFIG_T5403=m
+CONFIG_HP206C=m
 
 #
 # Lightning sensors
@@ -7810,7 +7888,7 @@ CONFIG_MCB_PCI=m
 # Performance monitor support
 #
 CONFIG_RAS=y
-CONFIG_AMD_MCE_INJ=m
+# CONFIG_MCE_AMD_INJ is not set
 CONFIG_THUNDERBOLT=m
 
 #
@@ -7823,6 +7901,7 @@ CONFIG_ND_BLK=m
 CONFIG_ND_CLAIM=y
 CONFIG_ND_BTT=m
 CONFIG_BTT=y
+CONFIG_DEV_DAX=m
 CONFIG_NVMEM=m
 CONFIG_STM=m
 CONFIG_STM_DUMMY=m
@@ -7869,6 +7948,8 @@ CONFIG_EFI_VARS_PSTORE=m
 CONFIG_EFI_RUNTIME_MAP=y
 # CONFIG_EFI_FAKE_MEMMAP is not set
 CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_BOOTLOADER_CONTROL=m
+# CONFIG_EFI_CAPSULE_LOADER is not set
 CONFIG_UEFI_CPER=y
 
 #
@@ -7927,6 +8008,7 @@ CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
 CONFIG_F2FS_FS_ENCRYPTION=y
 # CONFIG_F2FS_IO_TRACE is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_DAX=y
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
@@ -8319,6 +8401,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_PROVE_RCU is not set
 # CONFIG_SPARSE_RCU_POINTER is not set
 CONFIG_TORTURE_TEST=m
+# CONFIG_RCU_PERF_TEST is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_RCU_TRACE is not set
@@ -8376,6 +8459,7 @@ CONFIG_FUNCTION_PROFILER=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_FTRACE_STARTUP_TEST is not set
 CONFIG_MMIOTRACE=y
+# CONFIG_HIST_TRIGGERS is not set
 # CONFIG_MMIOTRACE_TEST is not set
 # CONFIG_TRACEPOINT_BENCHMARK is not set
 # CONFIG_RING_BUFFER_BENCHMARK is not set
@@ -8400,7 +8484,9 @@ CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
 CONFIG_TEST_PRINTF=m
 CONFIG_TEST_BITMAP=m
+CONFIG_TEST_UUID=m
 # CONFIG_TEST_RHASHTABLE is not set
+CONFIG_TEST_HASH=m
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
 CONFIG_TEST_LKM=m
@@ -8466,6 +8552,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
 CONFIG_BIG_KEYS=y
 CONFIG_TRUSTED_KEYS=y
 CONFIG_ENCRYPTED_KEYS=y
+CONFIG_KEY_DH_OPERATIONS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
@@ -8494,6 +8581,7 @@ CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
+# CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
@@ -8516,7 +8604,7 @@ CONFIG_IMA_DEFAULT_HASH="sha1"
 # CONFIG_IMA_READ_POLICY is not set
 CONFIG_IMA_APPRAISE=y
 CONFIG_IMA_TRUSTED_KEYRING=y
-# CONFIG_IMA_MOK_KEYRING is not set
+CONFIG_IMA_BLACKLIST_KEYRING=y
 # CONFIG_IMA_LOAD_X509 is not set
 CONFIG_EVM=y
 CONFIG_EVM_ATTR_FSUUID=y
@@ -8693,8 +8781,6 @@ CONFIG_ASYMMETRIC_KEY_TYPE=y
 CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
 CONFIG_X509_CERTIFICATE_PARSER=y
 CONFIG_PKCS7_MESSAGE_PARSER=y
-CONFIG_PKCS7_TEST_KEY=m
-CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 
 #
 # Certificates for signature checking
@@ -8702,6 +8788,7 @@ CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -8792,6 +8879,7 @@ CONFIG_TEXTSEARCH_BM=m
 CONFIG_TEXTSEARCH_FSM=m
 CONFIG_BTREE=y
 CONFIG_INTERVAL_TREE=y
+CONFIG_RADIX_TREE_MULTIORDER=y
 CONFIG_ASSOCIATIVE_ARRAY=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
@@ -8817,5 +8905,6 @@ CONFIG_FONT_SUPPORT=y
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
 # CONFIG_SG_SPLIT is not set
+CONFIG_SG_POOL=y
 CONFIG_ARCH_HAS_SG_CHAIN=y
 CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/gnu/packages/linux-libre-4.6-x86_64.conf b/gnu/packages/linux-libre-4.7-x86_64.conf
index a7c11eeae3..3571f75f9d 100644
--- a/gnu/packages/linux-libre-4.6-x86_64.conf
+++ b/gnu/packages/linux-libre-4.7-x86_64.conf
@@ -1,12 +1,11 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.6.0-gnu Kernel Configuration
+# Linux/x86 4.7.0-gnu Kernel Configuration
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
 CONFIG_X86=y
 CONFIG_INSTRUCTION_DECODER=y
-CONFIG_PERF_EVENTS_INTEL_UNCORE=y
 CONFIG_OUTPUT_FORMAT="elf64-x86-64"
 CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
 CONFIG_LOCKDEP_SUPPORT=y
@@ -145,6 +144,7 @@ CONFIG_BUILD_BIN2C=y
 # CONFIG_IKCONFIG is not set
 CONFIG_LOG_BUF_SHIFT=18
 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_NMI_LOG_BUF_SHIFT=13
 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
 CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
@@ -190,6 +190,7 @@ CONFIG_RD_LZMA=y
 CONFIG_RD_XZ=y
 CONFIG_RD_LZO=y
 CONFIG_RD_LZ4=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
 CONFIG_SYSCTL=y
 CONFIG_ANON_INODES=y
@@ -208,6 +209,7 @@ CONFIG_KALLSYMS_ALL=y
 CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
 CONFIG_KALLSYMS_BASE_RELATIVE=y
 CONFIG_PRINTK=y
+CONFIG_PRINTK_NMI=y
 CONFIG_BUG=y
 CONFIG_ELF_CORE=y
 CONFIG_PCSPKR_PLATFORM=y
@@ -263,6 +265,7 @@ CONFIG_HAVE_KPROBES=y
 CONFIG_HAVE_KRETPROBES=y
 CONFIG_HAVE_OPTPROBES=y
 CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_NMI=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_GENERIC_SMP_IDLE_THREAD=y
@@ -300,13 +303,17 @@ CONFIG_MODULES_USE_ELF_RELA=y
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_HAVE_EXIT_THREAD=y
 CONFIG_ARCH_MMAP_RND_BITS=28
 CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
 CONFIG_HAVE_COPY_THREAD_TLS=y
 CONFIG_HAVE_STACK_VALIDATION=y
+# CONFIG_HAVE_ARCH_HASH is not set
+# CONFIG_ISA_BUS_API is not set
 CONFIG_OLD_SIGSUSPEND3=y
 CONFIG_COMPAT_OLD_SIGACTION=y
+# CONFIG_CPU_NO_EFFICIENT_FFS is not set
 
 #
 # GCOV-based kernel profiling
@@ -467,6 +474,14 @@ CONFIG_X86_MCE_AMD=y
 CONFIG_X86_MCE_THRESHOLD=y
 CONFIG_X86_MCE_INJECT=m
 CONFIG_X86_THERMAL_VECTOR=y
+
+#
+# Performance monitoring
+#
+CONFIG_PERF_EVENTS_INTEL_UNCORE=y
+CONFIG_PERF_EVENTS_INTEL_RAPL=y
+CONFIG_PERF_EVENTS_INTEL_CSTATE=y
+CONFIG_PERF_EVENTS_AMD_POWER=m
 # CONFIG_VM86 is not set
 CONFIG_X86_16BIT=y
 CONFIG_X86_ESPFIX64=y
@@ -476,7 +491,6 @@ CONFIG_MICROCODE=y
 CONFIG_MICROCODE_INTEL=y
 CONFIG_MICROCODE_AMD=y
 CONFIG_MICROCODE_OLD_INTERFACE=y
-CONFIG_PERF_EVENTS_AMD_POWER=m
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
 CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
@@ -511,6 +525,7 @@ CONFIG_MOVABLE_NODE=y
 CONFIG_HAVE_BOOTMEM_INFO_NODE=y
 CONFIG_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTPLUG_SPARSE=y
+# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
 CONFIG_MEMORY_HOTREMOVE=y
 CONFIG_SPLIT_PTLOCK_CPUS=4
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
@@ -520,7 +535,6 @@ CONFIG_COMPACTION=y
 CONFIG_MIGRATION=y
 CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
 CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_ZONE_DMA_FLAG=0
 CONFIG_VIRT_TO_BUS=y
 CONFIG_MMU_NOTIFIER=y
 CONFIG_KSM=y
@@ -541,6 +555,7 @@ CONFIG_MEM_SOFT_DIRTY=y
 CONFIG_ZSWAP=y
 CONFIG_ZPOOL=y
 CONFIG_ZBUD=y
+CONFIG_Z3FOLD=m
 CONFIG_ZSMALLOC=y
 CONFIG_PGTABLE_MAPPING=y
 # CONFIG_ZSMALLOC_STAT is not set
@@ -580,13 +595,11 @@ CONFIG_SCHED_HRTICK=y
 CONFIG_KEXEC=y
 CONFIG_KEXEC_FILE=y
 CONFIG_KEXEC_VERIFY_SIG=y
-CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
 CONFIG_CRASH_DUMP=y
 CONFIG_KEXEC_JUMP=y
 CONFIG_PHYSICAL_START=0x1000000
 CONFIG_RELOCATABLE=y
 CONFIG_RANDOMIZE_BASE=y
-CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x40000000
 CONFIG_X86_NEED_RELOCS=y
 CONFIG_PHYSICAL_ALIGN=0x1000000
 CONFIG_HOTPLUG_CPU=y
@@ -655,7 +668,7 @@ CONFIG_ACPI_THERMAL=y
 CONFIG_ACPI_NUMA=y
 CONFIG_ACPI_CUSTOM_DSDT_FILE=""
 # CONFIG_ACPI_CUSTOM_DSDT is not set
-# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
+CONFIG_ACPI_TABLE_UPGRADE=y
 # CONFIG_ACPI_DEBUG is not set
 CONFIG_ACPI_PCI_SLOT=y
 CONFIG_X86_PM_TIMER=y
@@ -685,6 +698,7 @@ CONFIG_SFI=y
 # CPU Frequency scaling
 #
 CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
 CONFIG_CPU_FREQ_GOV_COMMON=y
 CONFIG_CPU_FREQ_STAT=y
 CONFIG_CPU_FREQ_STAT_DETAILS=y
@@ -693,11 +707,13 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
 # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
 # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
 CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
 CONFIG_CPU_FREQ_GOV_POWERSAVE=y
 CONFIG_CPU_FREQ_GOV_USERSPACE=y
 CONFIG_CPU_FREQ_GOV_ONDEMAND=y
 CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=m
 
 #
 # CPU frequency scaling drivers
@@ -751,6 +767,7 @@ CONFIG_PCIEASPM_DEFAULT=y
 # CONFIG_PCIEASPM_POWERSAVE is not set
 # CONFIG_PCIEASPM_PERFORMANCE is not set
 CONFIG_PCIE_PME=y
+CONFIG_PCIE_DPC=m
 CONFIG_PCI_BUS_ADDR_T_64BIT=y
 CONFIG_PCI_MSI=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
@@ -777,6 +794,7 @@ CONFIG_HOTPLUG_PCI_SHPC=m
 # PCI host controller drivers
 #
 # CONFIG_PCIE_DW_PLAT is not set
+# CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
 CONFIG_PCCARD=m
@@ -819,6 +837,7 @@ CONFIG_RAPIDIO_CPS_GEN2=m
 #
 CONFIG_BINFMT_ELF=y
 CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ELFCORE=y
 CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
 CONFIG_BINFMT_SCRIPT=y
 # CONFIG_HAVE_AOUT is not set
@@ -933,6 +952,8 @@ CONFIG_IPV6_SIT_6RD=y
 CONFIG_IPV6_NDISC_NODETYPE=y
 CONFIG_IPV6_TUNNEL=m
 CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
 CONFIG_IPV6_MULTIPLE_TABLES=y
 CONFIG_IPV6_SUBTREES=y
 CONFIG_IPV6_MROUTE=y
@@ -1299,6 +1320,7 @@ CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
 # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
 CONFIG_SCTP_COOKIE_HMAC_MD5=y
 CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
 CONFIG_RDS=m
 CONFIG_RDS_RDMA=m
 CONFIG_RDS_TCP=m
@@ -1655,7 +1677,7 @@ CONFIG_BT_ATH3K=m
 CONFIG_BT_WILINK=m
 CONFIG_AF_RXRPC=m
 # CONFIG_AF_RXRPC_DEBUG is not set
-CONFIG_RXKAD=m
+# CONFIG_RXKAD is not set
 CONFIG_AF_KCM=m
 CONFIG_FIB_RULES=y
 CONFIG_WIRELESS=y
@@ -1721,7 +1743,6 @@ CONFIG_NFC_SHDLC=y
 #
 # Near Field Communication (NFC) devices
 #
-CONFIG_NFC_PN533=m
 CONFIG_NFC_WILINK=m
 CONFIG_NFC_TRF7970A=m
 CONFIG_NFC_MEI_PHY=m
@@ -1732,6 +1753,9 @@ CONFIG_NFC_FDP_I2C=m
 CONFIG_NFC_PN544=m
 CONFIG_NFC_PN544_I2C=m
 CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_PN533=m
+CONFIG_NFC_PN533_USB=m
+CONFIG_NFC_PN533_I2C=m
 CONFIG_NFC_MICROREAD=m
 CONFIG_NFC_MICROREAD_I2C=m
 CONFIG_NFC_MICROREAD_MEI=m
@@ -1754,7 +1778,7 @@ CONFIG_LWTUNNEL=y
 CONFIG_DST_CACHE=y
 CONFIG_NET_DEVLINK=m
 CONFIG_MAY_USE_DEVLINK=m
-CONFIG_HAVE_BPF_JIT=y
+CONFIG_HAVE_EBPF_JIT=y
 
 #
 # Device Drivers
@@ -2262,6 +2286,7 @@ CONFIG_SCSI_IPR_DUMP=y
 CONFIG_SCSI_QLOGIC_1280=m
 CONFIG_SCSI_QLA_FC=m
 CONFIG_TCM_QLA2XXX=m
+# CONFIG_TCM_QLA2XXX_DEBUG is not set
 CONFIG_SCSI_QLA_ISCSI=m
 CONFIG_SCSI_LPFC=m
 # CONFIG_SCSI_LPFC_DEBUG_FS is not set
@@ -2317,6 +2342,9 @@ CONFIG_ATA_BMDMA=y
 # SATA SFF controllers with BMDMA
 #
 CONFIG_ATA_PIIX=y
+CONFIG_SATA_DWC=m
+# CONFIG_SATA_DWC_OLD_DMA is not set
+# CONFIG_SATA_DWC_DEBUG is not set
 CONFIG_SATA_MV=m
 CONFIG_SATA_NV=m
 CONFIG_SATA_PROMISE=m
@@ -2433,6 +2461,7 @@ CONFIG_TCM_USER2=m
 CONFIG_LOOPBACK_TARGET=m
 CONFIG_TCM_FC=m
 CONFIG_ISCSI_TARGET=m
+CONFIG_ISCSI_TARGET_CXGB4=m
 CONFIG_SBP_TARGET=m
 CONFIG_FUSION=y
 CONFIG_FUSION_SPI=m
@@ -2472,6 +2501,7 @@ CONFIG_MACVTAP=m
 CONFIG_IPVLAN=m
 CONFIG_VXLAN=m
 CONFIG_GENEVE=m
+CONFIG_GTP=m
 CONFIG_MACSEC=m
 CONFIG_NETCONSOLE=m
 CONFIG_NETCONSOLE_DYNAMIC=y
@@ -2547,8 +2577,6 @@ CONFIG_VHOST=m
 #
 # Distributed Switch Architecture drivers
 #
-# CONFIG_NET_DSA_MV88E6XXX is not set
-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
 CONFIG_ETHERNET=y
 CONFIG_MDIO=m
 CONFIG_NET_VENDOR_3COM=y
@@ -2607,7 +2635,7 @@ CONFIG_CHELSIO_T1_1G=y
 CONFIG_CHELSIO_T3=m
 CONFIG_CHELSIO_T4=m
 CONFIG_CHELSIO_T4_DCB=y
-# CONFIG_CHELSIO_T4_UWIRE is not set
+CONFIG_CHELSIO_T4_UWIRE=y
 CONFIG_CHELSIO_T4_FCOE=y
 CONFIG_CHELSIO_T4VF=m
 CONFIG_NET_VENDOR_CISCO=y
@@ -2687,7 +2715,6 @@ CONFIG_MLX4_DEBUG=y
 CONFIG_MLX5_CORE=m
 CONFIG_MLX5_CORE_EN=y
 CONFIG_MLX5_CORE_EN_DCB=y
-CONFIG_MLX5_CORE_EN_VXLAN=y
 CONFIG_MLXSW_CORE=m
 CONFIG_MLXSW_CORE_HWMON=y
 CONFIG_MLXSW_PCI=m
@@ -2731,7 +2758,10 @@ CONFIG_QLCNIC_HWMON=y
 CONFIG_QLGE=m
 CONFIG_NETXEN_NIC=m
 CONFIG_QED=m
+CONFIG_QED_SRIOV=y
 CONFIG_QEDE=m
+# CONFIG_QEDE_VXLAN is not set
+# CONFIG_QEDE_GENEVE is not set
 CONFIG_NET_VENDOR_QUALCOMM=y
 CONFIG_NET_VENDOR_REALTEK=y
 CONFIG_ATP=m
@@ -2791,6 +2821,7 @@ CONFIG_WIZNET_W5300=m
 # CONFIG_WIZNET_BUS_DIRECT is not set
 # CONFIG_WIZNET_BUS_INDIRECT is not set
 CONFIG_WIZNET_BUS_ANY=y
+# CONFIG_WIZNET_W5100_SPI is not set
 CONFIG_NET_VENDOR_XIRCOM=y
 CONFIG_PCMCIA_XIRC2PS=m
 CONFIG_FDDI=y
@@ -3020,7 +3051,6 @@ CONFIG_IWLDVM=m
 CONFIG_IWLMVM=m
 CONFIG_IWLWIFI_OPMODE_MODULAR=y
 # CONFIG_IWLWIFI_BCAST_FILTERING is not set
-# CONFIG_IWLWIFI_UAPSD is not set
 # CONFIG_IWLWIFI_PCIE_RTPM is not set
 
 #
@@ -3622,7 +3652,6 @@ CONFIG_VT_CONSOLE_SLEEP=y
 CONFIG_HW_CONSOLE=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
 CONFIG_UNIX98_PTYS=y
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
 CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=0
 CONFIG_SERIAL_NONSTANDARD=y
@@ -3650,6 +3679,7 @@ CONFIG_SERIAL_EARLYCON=y
 CONFIG_SERIAL_8250=y
 # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
 CONFIG_SERIAL_8250_PNP=y
+# CONFIG_SERIAL_8250_FINTEK is not set
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DMA=y
 CONFIG_SERIAL_8250_PCI=y
@@ -3664,7 +3694,6 @@ 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
 CONFIG_SERIAL_8250_MOXA=m
 
@@ -3696,7 +3725,6 @@ CONFIG_SERIAL_RP2=m
 CONFIG_SERIAL_RP2_NR_UARTS=32
 CONFIG_SERIAL_FSL_LPUART=m
 CONFIG_SERIAL_MEN_Z135=m
-# CONFIG_SERIAL_MVEBU_UART is not set
 CONFIG_TTY_PRINTK=y
 CONFIG_PRINTER=m
 # CONFIG_LP_CONSOLE is not set
@@ -3871,6 +3899,7 @@ CONFIG_SPI_LM70_LLP=m
 CONFIG_SPI_OC_TINY=m
 CONFIG_SPI_PXA2XX=m
 CONFIG_SPI_PXA2XX_PCI=m
+CONFIG_SPI_ROCKCHIP=m
 CONFIG_SPI_SC18IS602=m
 CONFIG_SPI_XCOMM=m
 # CONFIG_SPI_XILINX is not set
@@ -3961,14 +3990,10 @@ CONFIG_GPIO_ZX=y
 #
 # Port-mapped I/O GPIO drivers
 #
-CONFIG_GPIO_104_DIO_48E=m
-CONFIG_GPIO_104_IDIO_16=m
-CONFIG_GPIO_104_IDI_48=m
 CONFIG_GPIO_F7188X=m
 CONFIG_GPIO_IT87=m
 CONFIG_GPIO_SCH=m
 CONFIG_GPIO_SCH311X=m
-CONFIG_GPIO_WS16C48=m
 
 #
 # I2C GPIO expanders
@@ -4187,6 +4212,7 @@ CONFIG_SENSORS_MAX16065=m
 CONFIG_SENSORS_MAX1619=m
 CONFIG_SENSORS_MAX1668=m
 CONFIG_SENSORS_MAX197=m
+CONFIG_SENSORS_MAX31722=m
 CONFIG_SENSORS_MAX6639=m
 CONFIG_SENSORS_MAX6642=m
 CONFIG_SENSORS_MAX6650=m
@@ -4302,9 +4328,15 @@ CONFIG_INTEL_POWERCLAMP=m
 CONFIG_X86_PKG_TEMP_THERMAL=m
 CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
 CONFIG_INTEL_SOC_DTS_THERMAL=m
+
+#
+# ACPI INT340X thermal drivers
+#
 CONFIG_INT340X_THERMAL=m
 CONFIG_ACPI_THERMAL_REL=m
+CONFIG_INT3406_THERMAL=m
 CONFIG_INTEL_PCH_THERMAL=m
+CONFIG_GENERIC_ADC_THERMAL=m
 CONFIG_WATCHDOG=y
 CONFIG_WATCHDOG_CORE=y
 # CONFIG_WATCHDOG_NOWAYOUT is not set
@@ -4333,7 +4365,6 @@ CONFIG_ACQUIRE_WDT=m
 CONFIG_ADVANTECH_WDT=m
 CONFIG_ALIM1535_WDT=m
 CONFIG_ALIM7101_WDT=m
-CONFIG_EBC_C384_WDT=m
 CONFIG_F71808E_WDT=m
 CONFIG_SP5100_TCO=m
 CONFIG_SBC_FITPC2_WATCHDOG=m
@@ -4563,7 +4594,6 @@ CONFIG_REGULATOR_MAX8660=m
 CONFIG_REGULATOR_MAX8907=m
 CONFIG_REGULATOR_MAX8925=m
 CONFIG_REGULATOR_MAX8952=m
-CONFIG_REGULATOR_MAX8973=m
 CONFIG_REGULATOR_MAX8997=m
 CONFIG_REGULATOR_MAX8998=m
 CONFIG_REGULATOR_MAX77693=m
@@ -4577,6 +4607,7 @@ CONFIG_REGULATOR_PCAP=m
 CONFIG_REGULATOR_PCF50633=m
 CONFIG_REGULATOR_PFUZE100=m
 CONFIG_REGULATOR_PV88060=m
+CONFIG_REGULATOR_PV88080=m
 CONFIG_REGULATOR_PV88090=m
 CONFIG_REGULATOR_PWM=m
 CONFIG_REGULATOR_QCOM_SPMI=m
@@ -4846,6 +4877,7 @@ CONFIG_MEDIA_PCI_SUPPORT=y
 CONFIG_VIDEO_MEYE=m
 CONFIG_VIDEO_SOLO6X10=m
 CONFIG_VIDEO_TW68=m
+CONFIG_VIDEO_TW686X=m
 CONFIG_VIDEO_ZORAN=m
 CONFIG_VIDEO_ZORAN_DC30=m
 CONFIG_VIDEO_ZORAN_ZR36060=m
@@ -4981,6 +5013,7 @@ CONFIG_VIDEO_SAA7146_VV=m
 CONFIG_SMS_SIANO_MDTV=m
 CONFIG_SMS_SIANO_RC=y
 CONFIG_SMS_SIANO_DEBUGFS=y
+CONFIG_VIDEO_V4L2_TPG=m
 
 #
 # Media ancillary drivers (tuners, sensors, i2c, frontends)
@@ -5310,6 +5343,7 @@ CONFIG_DRM_RADEON=m
 CONFIG_DRM_AMDGPU=m
 # CONFIG_DRM_AMDGPU_CIK is not set
 CONFIG_DRM_AMDGPU_USERPTR=y
+# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
 # CONFIG_DRM_AMD_POWERPLAY is not set
 
 #
@@ -5324,6 +5358,12 @@ CONFIG_DRM_I810=m
 CONFIG_DRM_I915=m
 # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
 CONFIG_DRM_I915_USERPTR=y
+
+#
+# drm/i915 Debugging
+#
+# CONFIG_DRM_I915_WERROR is not set
+# CONFIG_DRM_I915_DEBUG is not set
 CONFIG_DRM_MGA=m
 CONFIG_DRM_SIS=m
 CONFIG_DRM_VIA=m
@@ -5351,6 +5391,7 @@ CONFIG_DRM_BRIDGE=y
 #
 # Display Interface Bridges
 #
+CONFIG_DRM_ANALOGIX_ANX78XX=m
 CONFIG_HSA_AMD=m
 
 #
@@ -5728,6 +5769,7 @@ CONFIG_SND_SST_IPC_ACPI=m
 CONFIG_SND_SOC_INTEL_SST=m
 CONFIG_SND_SOC_INTEL_SST_ACPI=m
 CONFIG_SND_SOC_INTEL_SST_MATCH=m
+CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
 CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m
 CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m
@@ -5790,6 +5832,7 @@ CONFIG_SND_SOC_PCM512x_SPI=m
 CONFIG_SND_SOC_RL6231=m
 CONFIG_SND_SOC_RL6347A=m
 CONFIG_SND_SOC_RT286=m
+CONFIG_SND_SOC_RT298=m
 CONFIG_SND_SOC_RT5616=m
 CONFIG_SND_SOC_RT5631=m
 CONFIG_SND_SOC_RT5640=m
@@ -5813,6 +5856,7 @@ CONFIG_SND_SOC_STI_SAS=m
 CONFIG_SND_SOC_TAS2552=m
 CONFIG_SND_SOC_TAS5086=m
 CONFIG_SND_SOC_TAS571X=m
+CONFIG_SND_SOC_TAS5720=m
 CONFIG_SND_SOC_TFA9879=m
 CONFIG_SND_SOC_TLV320AIC23=m
 CONFIG_SND_SOC_TLV320AIC23_I2C=m
@@ -5836,6 +5880,7 @@ CONFIG_SND_SOC_WM8804=m
 CONFIG_SND_SOC_WM8804_I2C=m
 CONFIG_SND_SOC_WM8804_SPI=m
 CONFIG_SND_SOC_WM8903=m
+CONFIG_SND_SOC_WM8960=m
 CONFIG_SND_SOC_WM8962=m
 CONFIG_SND_SOC_WM8974=m
 CONFIG_SND_SOC_WM8978=m
@@ -5862,6 +5907,7 @@ CONFIG_HID_ACRUX=m
 CONFIG_HID_ACRUX_FF=y
 CONFIG_HID_APPLE=m
 CONFIG_HID_APPLEIR=m
+CONFIG_HID_ASUS=m
 CONFIG_HID_AUREAL=m
 CONFIG_HID_BELKIN=m
 CONFIG_HID_BETOP_FF=m
@@ -6057,6 +6103,7 @@ CONFIG_USB_MICROTEK=m
 CONFIG_USBIP_CORE=m
 CONFIG_USBIP_VHCI_HCD=m
 CONFIG_USBIP_HOST=m
+CONFIG_USBIP_VUDC=m
 # CONFIG_USBIP_DEBUG is not set
 CONFIG_USB_MUSB_HDRC=m
 # CONFIG_USB_MUSB_HOST is not set
@@ -6201,6 +6248,7 @@ CONFIG_USB_EZUSB_FX2=m
 CONFIG_USB_HSIC_USB3503=m
 CONFIG_USB_LINK_LAYER_TEST=m
 CONFIG_USB_CHAOSKEY=m
+CONFIG_UCSI=m
 CONFIG_USB_ATM=m
 CONFIG_USB_SPEEDTOUCH=m
 CONFIG_USB_CXACRU=m
@@ -6426,6 +6474,7 @@ CONFIG_LEDS_BLINKM=m
 CONFIG_LEDS_TRIGGERS=y
 CONFIG_LEDS_TRIGGER_TIMER=m
 CONFIG_LEDS_TRIGGER_ONESHOT=m
+# CONFIG_LEDS_TRIGGER_MTD is not set
 CONFIG_LEDS_TRIGGER_HEARTBEAT=m
 CONFIG_LEDS_TRIGGER_BACKLIGHT=m
 CONFIG_LEDS_TRIGGER_CPU=y
@@ -6437,6 +6486,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
 #
 CONFIG_LEDS_TRIGGER_TRANSIENT=m
 CONFIG_LEDS_TRIGGER_CAMERA=m
+CONFIG_LEDS_TRIGGER_PANIC=y
 # CONFIG_ACCESSIBILITY is not set
 CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
@@ -6467,6 +6517,10 @@ CONFIG_INFINIBAND_SRPT=m
 CONFIG_INFINIBAND_ISER=m
 CONFIG_INFINIBAND_ISERT=m
 CONFIG_INFINIBAND_RDMAVT=m
+CONFIG_INFINIBAND_HFI1=m
+# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
+CONFIG_HFI1_VERBS_31BIT_PSN=y
+# CONFIG_SDMA_VERBOSITY is not set
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
 CONFIG_EDAC=y
@@ -6547,8 +6601,6 @@ CONFIG_RTC_DRV_RX8010=m
 CONFIG_RTC_DRV_RX8581=m
 CONFIG_RTC_DRV_RX8025=m
 CONFIG_RTC_DRV_EM3027=m
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
 CONFIG_RTC_DRV_RV8803=m
 CONFIG_RTC_DRV_S5M=m
 
@@ -6557,6 +6609,7 @@ CONFIG_RTC_DRV_S5M=m
 #
 CONFIG_RTC_DRV_M41T93=m
 CONFIG_RTC_DRV_M41T94=m
+CONFIG_RTC_DRV_DS1302=m
 CONFIG_RTC_DRV_DS1305=m
 CONFIG_RTC_DRV_DS1343=m
 CONFIG_RTC_DRV_DS1347=m
@@ -6575,6 +6628,8 @@ CONFIG_RTC_I2C_AND_SPI=y
 #
 CONFIG_RTC_DRV_DS3232=m
 CONFIG_RTC_DRV_PCF2127=m
+CONFIG_RTC_DRV_RV3029C2=m
+CONFIG_RTC_DRV_RV3029_HWMON=y
 
 #
 # Platform RTC drivers
@@ -6645,6 +6700,11 @@ CONFIG_HSU_DMA=m
 CONFIG_ASYNC_TX_DMA=y
 # CONFIG_DMATEST is not set
 CONFIG_DMA_ENGINE_RAID=y
+
+#
+# DMABUF options
+#
+# CONFIG_SYNC_FILE is not set
 CONFIG_DCA=m
 CONFIG_AUXDISPLAY=y
 CONFIG_KS0108=m
@@ -6887,9 +6947,7 @@ CONFIG_VT6656=m
 #
 CONFIG_ADIS16201=m
 CONFIG_ADIS16203=m
-CONFIG_ADIS16204=m
 CONFIG_ADIS16209=m
-CONFIG_ADIS16220=m
 CONFIG_ADIS16240=m
 CONFIG_LIS3L02DQ=m
 CONFIG_SCA3000=m
@@ -6995,11 +7053,6 @@ CONFIG_LIRC_SERIAL=m
 CONFIG_LIRC_SERIAL_TRANSMITTER=y
 CONFIG_LIRC_SIR=m
 CONFIG_LIRC_ZILOG=m
-CONFIG_STAGING_RDMA=m
-CONFIG_INFINIBAND_HFI1=m
-# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set
-CONFIG_HFI1_VERBS_31BIT_PSN=y
-# CONFIG_SDMA_VERBOSITY is not set
 
 #
 # Android
@@ -7122,6 +7175,7 @@ CONFIG_TOSHIBA_WMI=m
 CONFIG_ACPI_CMPC=m
 CONFIG_INTEL_HID_EVENT=m
 CONFIG_INTEL_IPS=m
+CONFIG_INTEL_PMC_CORE=y
 CONFIG_IBM_RTL=m
 CONFIG_SAMSUNG_LAPTOP=m
 CONFIG_MXM_WMI=m
@@ -7141,6 +7195,7 @@ CONFIG_CHROMEOS_PSTORE=m
 CONFIG_CROS_EC_CHARDEV=m
 CONFIG_CROS_EC_LPC=m
 CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_HAVE_CLK_PREPARE=y
 CONFIG_COMMON_CLK=y
@@ -7158,6 +7213,8 @@ CONFIG_CLK_TWL6040=m
 CONFIG_COMMON_CLK_PALMAS=m
 CONFIG_COMMON_CLK_PWM=m
 # CONFIG_COMMON_CLK_PXA is not set
+# CONFIG_COMMON_CLK_PIC32 is not set
+# CONFIG_COMMON_CLK_OXNAS is not set
 
 #
 # Hardware Spinlock drivers
@@ -7185,7 +7242,6 @@ CONFIG_IOMMU_SUPPORT=y
 #
 CONFIG_IOMMU_IOVA=y
 CONFIG_AMD_IOMMU=y
-CONFIG_AMD_IOMMU_STATS=y
 CONFIG_AMD_IOMMU_V2=m
 CONFIG_DMAR_TABLE=y
 CONFIG_INTEL_IOMMU=y
@@ -7218,6 +7274,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
 CONFIG_DEVFREQ_GOV_PERFORMANCE=y
 CONFIG_DEVFREQ_GOV_POWERSAVE=y
 CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=m
 
 #
 # DEVFREQ Drivers
@@ -7352,6 +7409,9 @@ CONFIG_AD5380=m
 CONFIG_AD5421=m
 CONFIG_AD5446=m
 CONFIG_AD5449=m
+CONFIG_AD5592R_BASE=m
+CONFIG_AD5592R=m
+CONFIG_AD5593R=m
 CONFIG_AD5504=m
 CONFIG_AD5624R_SPI=m
 CONFIG_AD5686=m
@@ -7417,6 +7477,7 @@ CONFIG_MAX30100=m
 #
 # Humidity sensors
 #
+CONFIG_AM2315=m
 CONFIG_DHT11=m
 CONFIG_HDC100X=m
 CONFIG_HTU21=m
@@ -7428,6 +7489,9 @@ CONFIG_SI7020=m
 #
 CONFIG_ADIS16400=m
 CONFIG_ADIS16480=m
+CONFIG_BMI160=m
+CONFIG_BMI160_I2C=m
+CONFIG_BMI160_SPI=m
 CONFIG_KMX61=m
 CONFIG_INV_MPU6050_IIO=m
 CONFIG_INV_MPU6050_I2C=m
@@ -7444,6 +7508,7 @@ CONFIG_AL3320A=m
 CONFIG_APDS9300=m
 CONFIG_APDS9960=m
 CONFIG_BH1750=m
+CONFIG_BH1780=m
 CONFIG_CM32181=m
 CONFIG_CM3232=m
 CONFIG_CM3323=m
@@ -7456,6 +7521,7 @@ CONFIG_JSA1212=m
 CONFIG_RPR0521=m
 CONFIG_SENSORS_LM3533=m
 CONFIG_LTR501=m
+CONFIG_MAX44000=m
 CONFIG_OPT3001=m
 CONFIG_PA12203001=m
 CONFIG_STK3310=m
@@ -7465,6 +7531,7 @@ CONFIG_SENSORS_TSL2563=m
 CONFIG_TSL4531=m
 CONFIG_US5182D=m
 CONFIG_VCNL4000=m
+CONFIG_VEML6070=m
 
 #
 # Magnetometer sensors
@@ -7472,6 +7539,8 @@ CONFIG_VCNL4000=m
 CONFIG_AK8975=m
 CONFIG_AK09911=m
 CONFIG_BMC150_MAGN=m
+CONFIG_BMC150_MAGN_I2C=m
+CONFIG_BMC150_MAGN_SPI=m
 CONFIG_MAG3110=m
 CONFIG_HID_SENSOR_MAGNETOMETER_3D=m
 CONFIG_MMC35240=m
@@ -7498,14 +7567,16 @@ CONFIG_IIO_SYSFS_TRIGGER=m
 #
 # Digital potentiometers
 #
+CONFIG_DS1803=m
+CONFIG_MCP4131=m
 CONFIG_MCP4531=m
 CONFIG_TPL0102=m
 
 #
 # Pressure sensors
 #
-CONFIG_BMP280=m
 CONFIG_HID_SENSOR_PRESS=m
+CONFIG_HP03=m
 CONFIG_MPL115=m
 CONFIG_MPL115_I2C=m
 CONFIG_MPL115_SPI=m
@@ -7518,6 +7589,7 @@ CONFIG_IIO_ST_PRESS=m
 CONFIG_IIO_ST_PRESS_I2C=m
 CONFIG_IIO_ST_PRESS_SPI=m
 CONFIG_T5403=m
+CONFIG_HP206C=m
 
 #
 # Lightning sensors
@@ -7604,7 +7676,7 @@ CONFIG_MCB_PCI=m
 # Performance monitor support
 #
 CONFIG_RAS=y
-CONFIG_AMD_MCE_INJ=m
+# CONFIG_MCE_AMD_INJ is not set
 CONFIG_THUNDERBOLT=m
 
 #
@@ -7619,6 +7691,9 @@ CONFIG_ND_BTT=m
 CONFIG_BTT=y
 CONFIG_ND_PFN=m
 CONFIG_NVDIMM_PFN=y
+CONFIG_NVDIMM_DAX=y
+CONFIG_DEV_DAX=m
+CONFIG_DEV_DAX_PMEM=m
 CONFIG_NVMEM=m
 CONFIG_STM=m
 CONFIG_STM_DUMMY=m
@@ -7665,6 +7740,8 @@ CONFIG_EFI_VARS_PSTORE=m
 CONFIG_EFI_RUNTIME_MAP=y
 # CONFIG_EFI_FAKE_MEMMAP is not set
 CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_BOOTLOADER_CONTROL=m
+# CONFIG_EFI_CAPSULE_LOADER is not set
 CONFIG_UEFI_CPER=y
 
 #
@@ -7723,8 +7800,8 @@ CONFIG_F2FS_FS_SECURITY=y
 # CONFIG_F2FS_CHECK_FS is not set
 CONFIG_F2FS_FS_ENCRYPTION=y
 # CONFIG_F2FS_IO_TRACE is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
 CONFIG_FS_DAX=y
-CONFIG_FS_DAX_PMD=y
 CONFIG_FS_POSIX_ACL=y
 CONFIG_EXPORTFS=y
 CONFIG_FILE_LOCKING=y
@@ -8121,6 +8198,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
 # CONFIG_PROVE_RCU is not set
 # CONFIG_SPARSE_RCU_POINTER is not set
 CONFIG_TORTURE_TEST=m
+# CONFIG_RCU_PERF_TEST is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_RCU_CPU_STALL_TIMEOUT=60
 # CONFIG_RCU_TRACE is not set
@@ -8179,6 +8257,7 @@ CONFIG_FUNCTION_PROFILER=y
 CONFIG_FTRACE_MCOUNT_RECORD=y
 # CONFIG_FTRACE_STARTUP_TEST is not set
 CONFIG_MMIOTRACE=y
+# CONFIG_HIST_TRIGGERS is not set
 # CONFIG_MMIOTRACE_TEST is not set
 # CONFIG_TRACEPOINT_BENCHMARK is not set
 # CONFIG_RING_BUFFER_BENCHMARK is not set
@@ -8203,7 +8282,9 @@ CONFIG_TEST_STRING_HELPERS=m
 CONFIG_TEST_KSTRTOX=m
 CONFIG_TEST_PRINTF=m
 CONFIG_TEST_BITMAP=m
+CONFIG_TEST_UUID=m
 # CONFIG_TEST_RHASHTABLE is not set
+CONFIG_TEST_HASH=m
 # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
 # CONFIG_DMA_API_DEBUG is not set
 CONFIG_TEST_LKM=m
@@ -8270,6 +8351,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
 CONFIG_BIG_KEYS=y
 CONFIG_TRUSTED_KEYS=y
 CONFIG_ENCRYPTED_KEYS=y
+CONFIG_KEY_DH_OPERATIONS=y
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 CONFIG_SECURITY=y
 CONFIG_SECURITYFS=y
@@ -8298,6 +8380,7 @@ CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
 CONFIG_SECURITY_APPARMOR=y
 CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
 CONFIG_SECURITY_APPARMOR_HASH=y
+# CONFIG_SECURITY_LOADPIN is not set
 CONFIG_SECURITY_YAMA=y
 CONFIG_INTEGRITY=y
 CONFIG_INTEGRITY_SIGNATURE=y
@@ -8320,7 +8403,7 @@ CONFIG_IMA_DEFAULT_HASH="sha1"
 # CONFIG_IMA_READ_POLICY is not set
 CONFIG_IMA_APPRAISE=y
 CONFIG_IMA_TRUSTED_KEYRING=y
-# CONFIG_IMA_MOK_KEYRING is not set
+CONFIG_IMA_BLACKLIST_KEYRING=y
 # CONFIG_IMA_LOAD_X509 is not set
 CONFIG_EVM=y
 CONFIG_EVM_ATTR_FSUUID=y
@@ -8515,8 +8598,6 @@ CONFIG_ASYMMETRIC_KEY_TYPE=y
 CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
 CONFIG_X509_CERTIFICATE_PARSER=y
 CONFIG_PKCS7_MESSAGE_PARSER=y
-CONFIG_PKCS7_TEST_KEY=m
-CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 
 #
 # Certificates for signature checking
@@ -8524,6 +8605,7 @@ CONFIG_SIGNED_PE_FILE_VERIFICATION=y
 CONFIG_SYSTEM_TRUSTED_KEYRING=y
 CONFIG_SYSTEM_TRUSTED_KEYS=""
 # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM_IRQCHIP=y
 CONFIG_HAVE_KVM_IRQFD=y
@@ -8614,6 +8696,7 @@ CONFIG_TEXTSEARCH_BM=m
 CONFIG_TEXTSEARCH_FSM=m
 CONFIG_BTREE=y
 CONFIG_INTERVAL_TREE=y
+CONFIG_RADIX_TREE_MULTIORDER=y
 CONFIG_ASSOCIATIVE_ARRAY=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
@@ -8639,6 +8722,7 @@ CONFIG_FONT_SUPPORT=y
 CONFIG_FONT_8x8=y
 CONFIG_FONT_8x16=y
 # CONFIG_SG_SPLIT is not set
+CONFIG_SG_POOL=y
 CONFIG_ARCH_HAS_SG_CHAIN=y
 CONFIG_ARCH_HAS_PMEM_API=y
 CONFIG_ARCH_HAS_MMIO_FLUSH=y
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7c5a9ef976..2d49bd2e6e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -226,7 +226,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
     (search-path %load-path file)))
 
 (define-public linux-libre
-  (let* ((version "4.6.4")
+  (let* ((version "4.7")
          (build-phase
           '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
              ;; Avoid introducing timestamps
@@ -304,7 +304,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
              (uri (linux-libre-urls version))
              (sha256
               (base32
-               "1294qw4agax0cnbhh0dk33jz358smhflllg77zv0rd8w9g433xiz"))))
+               "0ah3c70bj7iik5xrmrrixcbcz65pn3nf887x78drv6mdw2ayb0zl"))))
     (build-system gnu-build-system)
     (supported-systems '("x86_64-linux" "i686-linux"))
     (native-inputs `(("perl" ,perl)
@@ -358,13 +358,13 @@ It has been modified to remove all non-free binary blobs.")
 (define-public linux-libre-4.1
   (package
     (inherit linux-libre)
-    (version "4.1.27")
+    (version "4.1.28")
     (source (origin
               (method url-fetch)
               (uri (linux-libre-urls version))
               (sha256
                (base32
-                "0bbp782gdj8kz986a8hfygdrj7is0c8wgbb2mpb9gqhkfxcg74kf"))))
+                "02b7hq32cyx3h04k7l3mfzhh09snh5x4pxiwxllwchw94a6lkxl8"))))
     (native-inputs
      (let ((conf (kernel-config (or (%current-target-system)
                                     (%current-system))
@@ -2819,3 +2819,33 @@ from that to the system kernel's @file{/dev/random} machinery.")
 Linux kernel to retrieve and control processor features related to power saving,
 such as frequency and voltage scaling.")
     (license license:gpl2)))
+
+(define-public haveged
+  (package
+    (name "haveged")
+    (version "1.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.issihosts.com/haveged/haveged-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "059pxlfd4l5dqhd6r3lynzfz4wby2f17294fy17pi9j2jpnn68ww"))))
+    (build-system gnu-build-system)
+    (home-page "http://www.issihosts.com/haveged")
+    (synopsis "Entropy source for the Linux random number generator")
+    (description
+     "haveged generates an unpredictable stream of random numbers for use by
+Linux's @file{/dev/random} and @file{/dev/urandom} devices.  The kernel's
+standard mechanisms for filling the entropy pool may not be sufficient for
+systems with high needs or limited user interaction, such as headless servers.
+@command{haveged} runs as a privileged daemon, harvesting randomness from the
+indirect effects of hardware events on hidden processor state using the HArdware
+Volatile Entropy Gathering and Expansion (HAVEGE) algorithm.  It tunes itself to
+its environment and provides the same built-in test suite for the output stream
+as used on certified hardware security devices.")
+    (license (list (license:non-copyleft "file://nist/mconf.h")
+                   (license:non-copyleft "file://nist/packtest.c")
+                   license:public-domain        ; nist/dfft.c
+                   license:gpl3+))))            ; everything else
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index aed7db0dae..a043baa549 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -240,14 +241,14 @@ operating systems.")
           'unpack 'patch-paths-in-tests
           (lambda _
             ;; The test programs run several programs using 'system' with
-            ;; hard-coded paths.  Here we patch them all.  We also change "gpg"
-            ;; to "gpg2".  We use ISO-8859-1 here because test-iconv.c contains
+            ;; hard-coded paths.  Here we patch them all.
+            ;; We use ISO-8859-1 here because test-iconv.c contains
             ;; raw byte sequences in several different encodings.
             (with-fluids ((%default-port-encoding #f))
               (substitute* (find-files "tests" "\\.c$")
                 (("(system *\\(\")(/[^ ]*)" all pre prog-path)
                  (let* ((base (basename prog-path))
-                        (prog (which (if (string=? base "gpg") "gpg2" base))))
+                        (prog (which base)))
                    (string-append pre
                                   (or prog (error "not found: " base))))))))))))
     (home-page "http://spruce.sourceforge.net/gmime/")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index b92ad0a36a..1ef401f245 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright   2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -31,11 +31,13 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages admin)
   #:use-module (gnu packages adns)
+  #:use-module (gnu packages algebra)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages flex)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages linux)
@@ -376,3 +378,37 @@ sniffer}, that lets you capture and interactively browse the contents of
 network frames.")
     (license license:gpl2+)
     (home-page "https://www.wireshark.org/")))
+
+(define-public httping
+  (package
+    (name "httping")
+    (version "2.4")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.vanheusden.com/httping/httping-"
+                           version ".tgz"))
+       (sha256
+        (base32
+         "1110r3gpsj9xmybdw7w4zkhj3zmn5mnv2nq0ijbvrywbn019zdfs"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gettext" ,gnu-gettext)))
+    (inputs
+     `(("fftw" ,fftw)
+       ("ncurses" ,ncurses)
+       ("openssl" ,openssl)))
+    (arguments
+     `(#:make-flags (list "CC=gcc"
+                          (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+                          "PREFIX=")
+       #:tests? #f)) ; no tests
+    (home-page "https://www.vanheusden.com/httping/")
+    (synopsis "Web server latency and throughput monitor")
+    (description
+     "httping measures how long it takes to connect to a web server, send an
+HTTP(S) request, and receive the reply headers.  It is somewhat similar to
+@command{ping}, but can be used even in cases where ICMP traffic is blocked
+by firewalls or when you want to monitor the response time of the actual web
+application stack itself.")
+    (license license:gpl2)))        ; with permission to link with OpenSSL
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index cd58fde249..77c1da357c 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -211,9 +211,9 @@ the Nix package manager.")
   ;;
   ;; Note: use a very short commit id; with a longer one, the limit on
   ;; hash-bang lines would be exceeded while running the tests.
-  (let ((commit "e9017c98d61f305b624bacaa30e8891ec0100980"))
+  (let ((commit "97c8aef15de89799ac01b62dd9b91245c23eefcb"))
     (package (inherit guix-0.10.0)
-      (version (string-append "0.10.0-0." (string-take commit 4)))
+      (version (string-append "0.10.0-1." (string-take commit 4)))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -223,7 +223,7 @@ the Nix package manager.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "13mfk10cw6fk4diclzld56xwabshanxjcczdrjlj0wisaz32h3nl"))
+                  "0sdxq87mbvig7785gzf52ywmvl3p1q1qgsczmkzrlw988xkma1dr"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (arguments
        (substitute-keyword-arguments (package-arguments guix-0.10.0)
diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch
index 6b7a9f454c..4eb64404f6 100644
--- a/gnu/packages/patches/calibre-drop-unrar.patch
+++ b/gnu/packages/patches/calibre-drop-unrar.patch
@@ -1,4 +1,4 @@
-Taken from Debian.
+Taken from Debian. Updated by Alex Griffin.
 
 Author: Dmitry Shachnev <mitya57@gmail.com>
 Description: do not build unrar extension as we strip unrar from the tarball
@@ -7,37 +7,29 @@ Last-Update: 2013-04-04
 
 Index: calibre/setup/extensions.py
 ===================================================================
---- calibre.orig/setup/extensions.py	2014-02-02 10:42:14.510954007 +0100
-+++ calibre/setup/extensions.py	2014-02-02 10:42:14.502954007 +0100
-@@ -209,24 +209,6 @@
-                 sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
-                 ),
- 
--    Extension('unrar',
--              ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
--               rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
--               filefn.o filcreat.o archive.o arcread.o unicode.o system.o
--               isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
--               timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
--               secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o
--               volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o
--               '''.split()] + ['calibre/utils/unrar.cpp'],
--              inc_dirs=['unrar'],
--              cflags=[('/' if iswindows else '-') + x for x in (
--                  'DSILENT', 'DRARDLL', 'DUNRAR')] + (
--                  [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
--                                        '-D_LARGEFILE_SOURCE']),
--              optimize_level=2,
--              libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else []
--              ),
--
-     ]
+--- calibre.orig/setup/extensions.json	2016-07-21 21:21:05.000000000 -0500
++++ calibre/setup/extensions.json	2016-07-27 11:22:17.167710112 -0500
+@@ -211,14 +211,5 @@
+         "sources": "calibre/devices/mtp/unix/devices.c calibre/devices/mtp/unix/libmtp.c",
+         "headers": "calibre/devices/mtp/unix/devices.h calibre/devices/mtp/unix/upstream/music-players.h calibre/devices/mtp/unix/upstream/device-flags.h",
+         "libraries": "mtp"
+-    },
+-    {
+-        "name": "unrar",
+-        "sources": "unrar/rar.cpp unrar/strlist.cpp unrar/strfn.cpp unrar/pathfn.cpp unrar/savepos.cpp unrar/smallfn.cpp unrar/global.cpp unrar/file.cpp unrar/filefn.cpp unrar/filcreat.cpp unrar/archive.cpp unrar/arcread.cpp unrar/unicode.cpp unrar/system.cpp unrar/isnt.cpp unrar/crypt.cpp unrar/crc.cpp unrar/rawread.cpp unrar/encname.cpp unrar/resource.cpp unrar/match.cpp unrar/timefn.cpp unrar/rdwrfn.cpp unrar/consio.cpp unrar/options.cpp unrar/ulinks.cpp unrar/errhnd.cpp unrar/rarvm.cpp unrar/secpassword.cpp unrar/rijndael.cpp unrar/getbits.cpp unrar/sha1.cpp unrar/extinfo.cpp unrar/extract.cpp unrar/volume.cpp unrar/list.cpp unrar/find.cpp unrar/unpack.cpp unrar/cmddata.cpp unrar/filestr.cpp unrar/scantree.cpp calibre/utils/unrar.cpp",
+-        "inc_dirs": "unrar",
+-        "defines": "SILENT RARDLL UNRAR _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE",
+-        "windows_defines": "SILENT RARDLL UNRAR",
+-        "optimize_level": 2,
+-        "windows_libraries": "User32 Advapi32 kernel32 Shell32"
+     }
+ ]
  
  
 Index: calibre/src/calibre/ebooks/metadata/archive.py
 ===================================================================
---- calibre.orig/src/calibre/ebooks/metadata/archive.py	2014-02-02 10:42:14.510954007 +0100
-+++ calibre/src/calibre/ebooks/metadata/archive.py	2014-02-02 10:42:14.502954007 +0100
+--- calibre.orig/src/calibre/ebooks/metadata/archive.py	2016-07-21 21:21:05.000000000 -0500
++++ calibre/src/calibre/ebooks/metadata/archive.py	2016-07-27 11:21:07.793616039 -0500
 @@ -42,7 +42,7 @@
      description = _('Extract common e-book formats from archives '
          '(zip/rar) files. Also try to autodetect if they are actually '
diff --git a/gnu/packages/patches/mysql-fix-failing-test.patch b/gnu/packages/patches/mysql-fix-failing-test.patch
new file mode 100644
index 0000000000..730d138c18
--- /dev/null
+++ b/gnu/packages/patches/mysql-fix-failing-test.patch
@@ -0,0 +1,57 @@
+Fix spurious test failure:
+https://bugs.mysql.com/bug.php?id=81868
+
+Copied from Fedora:
+https://pkgs.fedoraproject.org/cgit/rpms/community-mysql.git/diff/community-mysql-5.7.13-pfs-oom-unittest.patch?id=a51381c6f98b9cd6855bc89ba93398a949ef7098
+
+commit 6c23035b52284c2575f297311dfd0278bcbb0dd1
+Author: Christopher Powers <chris.powers@oracle.com>
+Date:   Mon May 2 19:43:31 2016 +0100
+
+    Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY
+    
+    Two test cases pass on Windows but crash on Linux due to different init paths.
+    Now pass on both.
+
+diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc
+index db74c9c..b6bc818 100644
+--- a/storage/perfschema/unittest/pfs_instr-oom-t.cc
++++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc
+@@ -232,12 +232,14 @@ void test_oom()
+   ok(cond_2 == NULL, "oom (create cond)");
+ 
+   /* Create file. */
+-  stub_alloc_always_fails = false;
+   PFS_thread fake_thread;
++  rc = init_instruments(&param);
+   fake_thread.m_filename_hash_pins= NULL;
+   init_file_hash(&param);
+-  rc = init_instruments(&param);
+-  ok(rc == 0, "instances init");
++
++  stub_alloc_always_fails = true;
++  file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
++  ok(file_2 == NULL, "oom (create file)");
+ 
+   stub_alloc_always_fails= false;
+   file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
+@@ -245,10 +247,6 @@ void test_oom()
+   release_file(file_1);
+   cleanup_instruments();
+ 
+-  stub_alloc_always_fails= true;
+-  file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
+-  ok(file_2 == NULL, "oom (create file)");
+-
+   /* Create socket. */
+   stub_alloc_always_fails = false;
+   rc = init_instruments(&param);
+@@ -422,7 +420,7 @@ void do_all_tests()
+ 
+ int main(int, char **)
+ {
+-  plan(28);
++  plan(32);
+   MY_INIT("pfs_instr-oom-t");
+   do_all_tests();
+   return 0;
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 6c1bbc33c3..f2465509ec 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -910,6 +910,33 @@ contain over 620 classes.")
     (inputs
      `(("python" ,python-2)))))
 
+(define-public python-pyqt-5.5
+  (package (inherit python-pyqt)
+    (version "5.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri
+          (string-append "mirror://sourceforge/pyqt/PyQt5/"
+                         "PyQt-" version "/PyQt-gpl-"
+                         version ".tar.gz"))
+        (sha256
+         (base32
+          "056qmkv02wdcfblqdaxiswrgn4wa88sz22i1x58dpb1iniavplfd"))
+       (patches (search-patches "pyqt-configure.patch"))))
+    (native-inputs
+     `(("python-sip" ,python-sip)
+       ("qt" ,qt)))))
+
+(define-public python2-pyqt-5.5
+  (package (inherit python-pyqt-5.5)
+    (name "python2-pyqt")
+    (native-inputs
+     `(("python-sip" ,python2-sip)
+       ("qt" ,qt)))
+    (inputs
+     `(("python" ,python-2)))))
+
 (define-public python-pyqt-4
   (package (inherit python-pyqt)
     (name "python-pyqt")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 91186cdb19..fa791ffbe1 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -283,7 +283,7 @@ parse JSON formatted strings back into the C representation of JSON objects.")
 (define-public krona-tools
   (package
    (name "krona-tools")
-   (version "2.6.1")
+   (version "2.7")
    (source (origin
              (method url-fetch)
              (uri (string-append
@@ -291,24 +291,14 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                    version "/KronaTools-" version ".tar"))
              (sha256
               (base32
-               "1fj5mf6wbwz7v74n2safbw7fpw32fik19vf0wdbc2srn82i8fiwz"))))
+               "0wvgllcqscsfb4xc09y3fqhx8i38pmr4w55vjs5y79wx56n710iq"))))
    (build-system perl-build-system)
    (arguments
      `(#:phases
        (modify-phases %standard-phases
          ;; There is no configure or build steps.
          (delete 'configure)
-         (replace 'build
-           ;; Remove 'use lib' statements from scripts as PERL5LIB is set
-           ;; correctly during installation.
-           (lambda _
-             (for-each
-              (lambda (executable)
-                (display executable)(display "\n")
-                (substitute* executable
-                  (("use lib \\(`ktGetLibPath`\\);") "")))
-              (find-files "scripts/" ".*"))
-             #t))
+         (delete 'build)
          ;; Install script "install.pl" expects the build directory to remain
          ;; after installation, creating symlinks etc., so re-implement it
          ;; here.
@@ -325,7 +315,9 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                     (copy-file executable (string-append bin "/kt" script))))
                 '("ClassifyBLAST"
                   "GetContigMagnitudes"
-                  "GetTaxIDFromGI"
+                  "GetLCA"
+                  "GetTaxIDFromAcc"
+                  "GetTaxInfo"
                   "ImportBLAST"
                   "ImportDiskUsage"
                   "ImportEC"
@@ -341,13 +333,11 @@ parse JSON formatted strings back into the C representation of JSON objects.")
                   "ImportTaxonomy"
                   "ImportText"
                   "ImportXML"))
-               (copy-recursively "data" (string-append perl "/../data"))
-               (copy-recursively "img" (string-append perl "/../img"))
-               (copy-recursively "taxonomy" (string-append perl "/../taxonomy"))
-               (install-file "src/krona-2.0.js" (string-append perl "/../src"))
-               (substitute* "lib/KronaTools.pm"
-                 (("`ktGetLibPath`")
-                  (string-append "\"" perl "\"")))
+               (for-each 
+                (lambda (directory)
+                  (copy-recursively directory
+                                    (string-append perl "/../" directory)))
+                (list "data" "img" "taxonomy" "src"))
                (install-file "lib/KronaTools.pm" perl))))
          (add-after 'install 'wrap-program
            (lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/system.scm b/gnu/system.scm
index 476720b9f9..04dd7a845c 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -408,6 +408,17 @@ GUIX_PROFILE=/run/current-system/profile \\
 # Prepend setuid programs.
 export PATH=/run/setuid-programs:$PATH
 
+# Since 'lshd' does not use pam_env, /etc/environment must be explicitly
+# loaded when someone logs in via SSH.  See <http://bugs.gnu.org/22175>.
+# We need 'PATH' to be defined here, for 'cat' and 'cut'.  Do this before
+# reading the user's 'etc/profile' to allow variables to be overridden.
+if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\
+     -a -z \"$LINUX_MODULE_DIRECTORY\" ]
+then
+  . /etc/environment
+  export `cat /etc/environment | cut -d= -f1`
+fi
+
 if [ -f \"$HOME/.guix-profile/etc/profile\" ]
 then
   # Load the user profile's settings.
@@ -419,16 +430,6 @@ else
   export PATH=\"$HOME/.guix-profile/bin:$PATH\"
 fi
 
-# Since 'lshd' does not use pam_env, /etc/environment must be explicitly
-# loaded when someone logs in via SSH.  See <http://bugs.gnu.org/22175>.
-# We need 'PATH' to be defined here, for 'cat' and 'cut'.
-if [ -f /etc/environment -a -n \"$SSH_CLIENT\" \\
-     -a -z \"$LINUX_MODULE_DIRECTORY\" ]
-then
-  . /etc/environment
-  export `cat /etc/environment | cut -d= -f1`
-fi
-
 # Set the umask, notably for users logging in via 'lsh'.
 # See <http://bugs.gnu.org/22650>.
 umask 022
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index 732f73cc4b..d0a9f0288f 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:autoload   (gnu packages cryptsetup) (cryptsetup)
+  #:autoload   (gnu packages linux) (mdadm)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match)
   #:export (mapped-device
@@ -38,7 +40,8 @@
             device-mapping-service-type
             device-mapping-service
 
-            luks-device-mapping))
+            luks-device-mapping
+            raid-device-mapping))
 
 ;;; Commentary:
 ;;;
@@ -127,4 +130,28 @@
    (open open-luks-device)
    (close close-luks-device)))
 
+(define (open-raid-device source target)
+  "Return a gexp that assembles SOURCE (a list of devices) to the RAID device
+TARGET, using 'mdadm'."
+  #~(let ((every (@ (srfi srfi-1) every)))
+      (let loop ()
+        (unless (every file-exists? '#$source)
+          (format #t "waiting a bit...~%")
+          (sleep 1)
+          (loop)))
+       (zero? (system* (string-append #$mdadm "/sbin/mdadm")
+                                      "--assemble" #$target
+                                      #$@source))))
+
+(define (close-raid-device source target)
+  "Return a gexp that stops the RAID device TARGET."
+  #~(zero? (system* (string-append #$mdadm "/sbin/mdadm")
+                    "--stop" #$target)))
+
+(define raid-device-mapping
+  ;; The type of RAID mapped devices.
+  (mapped-device-kind
+   (open open-raid-device)
+   (close close-raid-device)))
+
 ;;; mapped-devices.scm ends here
diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm
index efa69081ef..343445aa22 100644
--- a/guix/import/pypi.scm
+++ b/guix/import/pypi.scm
@@ -33,6 +33,9 @@
   #:use-module (web uri)
   #:use-module (guix ui)
   #:use-module (guix utils)
+  #:use-module ((guix build utils)
+                #:select ((package-name->name+version
+                           . hyphen-package-name->name+version)))
   #:use-module (guix import utils)
   #:use-module ((guix download) #:prefix download:)
   #:use-module (guix import json)
@@ -41,7 +44,8 @@
   #:use-module (guix licenses)
   #:use-module (guix build-system python)
   #:use-module (gnu packages python)
-  #:export (pypi->guix-package
+  #:export (guix-package->pypi-name
+            pypi->guix-package
             %pypi-updater))
 
 (define (pypi-fetch name)
@@ -92,11 +96,8 @@ package."
   "Given a Python PACKAGE built from pypi.python.org, return the name of the
 package on PyPI."
   (let ((source-url (and=> (package-source package) origin-uri)))
-    ;; The URL has the form:
-    ;; 'https://pypi.python.org/packages/source/' +
-    ;; first letter of the package name +
-    ;; '/' + package name + '/' + ...
-    (substring source-url 42 (string-rindex source-url #\/))))
+    (hyphen-package-name->name+version
+     (basename (file-sans-extension source-url)))))
 
 (define (wheel-url->extracted-directory wheel-url)
   (match (string-split (basename wheel-url) #\-)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 1adb143c16..db807a8136 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -163,9 +163,8 @@
         (call-with-input-file file read-manifest)
         (manifest '()))))
 
-(define* (package->manifest-entry package #:optional output)
-  "Return a manifest entry for the OUTPUT of package PACKAGE.  When OUTPUT is
-omitted or #f, use the first output of PACKAGE."
+(define* (package->manifest-entry package #:optional (output "out"))
+  "Return a manifest entry for the OUTPUT of package PACKAGE."
   (let ((deps (map (match-lambda
                     ((label package)
                      (gexp-input package))
@@ -175,7 +174,7 @@ omitted or #f, use the first output of PACKAGE."
     (manifest-entry
      (name (package-name package))
      (version (package-version package))
-     (output (or output (car (package-outputs package))))
+     (output output)
      (item package)
      (dependencies (delete-duplicates deps))
      (search-paths (package-transitive-native-search-paths package)))))
@@ -188,8 +187,8 @@ denoting a specific output of a package."
    (map (match-lambda
          ((package output)
           (package->manifest-entry package output))
-         (package
-           (package->manifest-entry package)))
+         ((? package? package)
+          (package->manifest-entry package)))
         packages)))
 
 (define (manifest->gexp manifest)
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index ebe966f9cf..9f72b7bf24 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -90,8 +90,9 @@ existing enviroment variables with additional search paths."
             (evaluate-profile-search-paths profile paths))
 
   ;; Give users a way to know that they're in 'guix environment', so they can
-  ;; adjust 'PS1' accordingly, for instance.
-  (setenv "GUIX_ENVIRONMENT" "t"))
+  ;; adjust 'PS1' accordingly, for instance.  Set it to PROFILE so users can
+  ;; conveniently access its contents.
+  (setenv "GUIX_ENVIRONMENT" profile))
 
 (define (show-search-paths profile search-paths pure?)
   "Display SEARCH-PATHS applied to PROFILE.  When PURE? is #t, do not augment
diff --git a/guix/zlib.scm b/guix/zlib.scm
index 51e5e9e426..74420129f6 100644
--- a/guix/zlib.scm
+++ b/guix/zlib.scm
@@ -92,7 +92,8 @@ closes FD."
   (let ((proc (zlib-procedure int "gzread" (list '* '* unsigned-int))))
     (lambda* (gzfile bv #:optional (start 0) (count (bytevector-length bv)))
       "Read up to COUNT bytes from GZFILE into BV at offset START.  Return the
-number of uncompressed bytes actually read."
+number of uncompressed bytes actually read; it is zero if COUNT is zero or if
+the end-of-stream has been reached."
       (let ((ret (proc (gzip-file->pointer gzfile)
                        (bytevector->pointer bv start)
                        count)))
@@ -167,12 +168,20 @@ closed even if closing GZFILE triggers an exception."
   "Return an input port that decompresses data read from PORT, a file port.
 PORT is automatically closed when the resulting port is closed.  BUFFER-SIZE
 is the size in bytes of the internal buffer, 8 KiB by default; using a larger
-buffer increases decompression speed."
+buffer increases decompression speed.  An error is thrown if PORT contains
+buffered input, which would be lost (and is lost anyway)."
   (define gzfile
-    (gzdopen (fileno port) "r"))
+    (match (drain-input port)
+      (""                                         ;PORT's buffer is empty
+       (gzdopen (fileno port) "r"))
+      (_
+       ;; This is unrecoverable but it's better than having the buffered input
+       ;; be lost, leading to unclear end-of-file or corrupt-data errors down
+       ;; the path.
+       (throw 'zlib-error 'make-gzip-input-port
+              "port contains buffered input" port))))
 
   (define (read! bv start count)
-    ;; XXX: Can 'gzread!' return zero even though we haven't reached the EOF?
     (gzread! gzfile bv start count))
 
   (unless (= buffer-size %default-buffer-size)
@@ -189,8 +198,10 @@ buffer increases decompression speed."
 a file port, as its sink.  PORT is automatically closed when the resulting
 port is closed."
   (define gzfile
-    (gzdopen (fileno port)
-             (string-append "w" (number->string level))))
+    (begin
+      (force-output port)                         ;empty PORT's buffer
+      (gzdopen (fileno port)
+               (string-append "w" (number->string level)))))
 
   (define (write! bv start count)
     (gzwrite gzfile bv start count))
diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh
index 0b5123ab45..68343520b0 100644
--- a/tests/guix-environment.sh
+++ b/tests/guix-environment.sh
@@ -57,6 +57,10 @@ else
     test $? = 42
 fi
 
+# Make sure 'GUIX_ENVIRONMENT' points to the profile.
+guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
+     -- "$SHELL" -c 'test -f "$GUIX_ENVIRONMENT/bin/guile"'
+
 case "`uname -m`" in
     x86_64)
 	# On x86_64, we should be able to create a 32-bit environment.
diff --git a/tests/profiles.scm b/tests/profiles.scm
index fc1dfd2bfc..028d7b6fb4 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -207,6 +207,16 @@
                                        #:hooks '())))
     (return (derivation-inputs drv))))
 
+(test-assert "package->manifest-entry defaults to \"out\""
+  (let ((outputs (package-outputs packages:glibc)))
+    (equal? (manifest-entry-output
+             (package->manifest-entry (package
+                                        (inherit packages:glibc)
+                                        (outputs (reverse outputs)))))
+            (manifest-entry-output
+             (package->manifest-entry packages:glibc))
+            "out")))
+
 (test-assertm "profile-manifest, search-paths"
   (mlet* %store-monad
       ((guile ->   (package
diff --git a/tests/publish.scm b/tests/publish.scm
index 0ba33487bd..4dc807505c 100644
--- a/tests/publish.scm
+++ b/tests/publish.scm
@@ -58,8 +58,16 @@
     (lambda (response body) body)))
 
 (define (http-get-port uri)
-  (call-with-values (lambda () (http-get uri #:streaming? #t))
-    (lambda (response port) port)))
+  (let ((socket (open-socket-for-uri uri)))
+    ;; Make sure to use an unbuffered port so that we can then peek at the
+    ;; underlying file descriptor via 'call-with-gzip-input-port'.
+    (setvbuf socket _IONBF)
+    (call-with-values
+        (lambda ()
+          (http-get uri #:port socket #:streaming? #t))
+      (lambda (response port)
+        (setvbuf port _IONBF)
+        port))))
 
 (define (publish-uri route)
   (string-append "http://localhost:6789" route))
diff --git a/tests/pypi.scm b/tests/pypi.scm
index 379c288394..01d8a575ab 100644
--- a/tests/pypi.scm
+++ b/tests/pypi.scm
@@ -73,6 +73,22 @@ baz > 13.37")
 
 (test-begin "pypi")
 
+(test-equal "guix-package->pypi-name, old URL style"
+  "psutil"
+  (guix-package->pypi-name
+   (dummy-package "foo"
+                  (source (dummy-origin
+                           (uri
+                            "https://pypi.io/packages/source/p/psutil/psutil-4.3.0.tar.gz"))))))
+
+(test-equal "guix-package->pypi-name, new URL style"
+  "certbot"
+  (guix-package->pypi-name
+   (dummy-package "foo"
+                  (source (dummy-origin
+                           (uri
+                            "https://pypi.python.org/packages/a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/certbot-0.8.1.tar.gz"))))))
+
 (test-assert "pypi->guix-package"
   ;; Replace network resources with sample data.
   (mock ((guix import utils) url-fetch