summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-04-06 12:00:29 +0200
committerLudovic Courtès <ludo@gnu.org>2016-04-06 12:00:29 +0200
commit933d2fe4cfb380f66af631a2203ec23c367e5b1a (patch)
treef10581ed0da1911eed9b02e69d999ba481d9d3c6 /gnu
parentf8835ff4b3dd59d59bf44838d05d3d60114d15d2 (diff)
parent998afc3608242b75051f43ece36d52474c51e285 (diff)
downloadguix-933d2fe4cfb380f66af631a2203ec23c367e5b1a.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/activation.scm3
-rw-r--r--gnu/packages/admin.scm121
-rw-r--r--gnu/packages/algebra.scm58
-rw-r--r--gnu/packages/backup.scm67
-rw-r--r--gnu/packages/bioinformatics.scm88
-rw-r--r--gnu/packages/bittorrent.scm9
-rw-r--r--gnu/packages/calendar.scm22
-rw-r--r--gnu/packages/cdrom.scm5
-rw-r--r--gnu/packages/code.scm4
-rw-r--r--gnu/packages/databases.scm16
-rw-r--r--gnu/packages/emacs.scm4
-rw-r--r--gnu/packages/fonts.scm71
-rw-r--r--gnu/packages/fontutils.scm44
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/ghostscript.scm7
-rw-r--r--gnu/packages/gnome.scm33
-rw-r--r--gnu/packages/gnu-doc.scm101
-rw-r--r--gnu/packages/gnucash.scm7
-rw-r--r--gnu/packages/gnunet.scm2
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gnustep.scm44
-rw-r--r--gnu/packages/gstreamer.scm45
-rw-r--r--gnu/packages/guile.scm7
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/iso-codes.scm11
-rw-r--r--gnu/packages/kodi.scm1
-rw-r--r--gnu/packages/libusb.scm5
-rw-r--r--gnu/packages/linux.scm28
-rw-r--r--gnu/packages/mail.scm6
-rw-r--r--gnu/packages/maths.scm79
-rw-r--r--gnu/packages/mc.scm8
-rw-r--r--gnu/packages/miscfiles.scm47
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/music.scm51
-rw-r--r--gnu/packages/networking.scm44
-rw-r--r--gnu/packages/openstack.scm43
-rw-r--r--gnu/packages/package-management.scm37
-rw-r--r--gnu/packages/patches/libextractor-ffmpeg-3.patch360
-rw-r--r--gnu/packages/patches/mc-fix-ncurses-build.patch37
-rw-r--r--gnu/packages/patches/openssl-c-rehash.patch17
-rw-r--r--gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch17
-rw-r--r--gnu/packages/patches/wicd-template-instantiation.patch29
-rw-r--r--gnu/packages/patches/wicd-wpa2-ttls.patch38
-rw-r--r--gnu/packages/perl.scm26
-rw-r--r--gnu/packages/python.scm274
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/scheme.scm39
-rw-r--r--gnu/packages/sdl.scm28
-rw-r--r--gnu/packages/statistics.scm88
-rw-r--r--gnu/packages/telephony.scm4
-rw-r--r--gnu/packages/texinfo.scm35
-rw-r--r--gnu/packages/textutils.scm21
-rw-r--r--gnu/packages/tls.scm86
-rw-r--r--gnu/packages/version-control.scm78
-rw-r--r--gnu/packages/video.scm12
-rw-r--r--gnu/packages/vim.scm15
-rw-r--r--gnu/packages/web.scm133
-rw-r--r--gnu/packages/webkit.scm10
-rw-r--r--gnu/packages/wicd.scm7
-rw-r--r--gnu/packages/wm.scm5
-rw-r--r--gnu/packages/xiph.scm4
-rw-r--r--gnu/services/base.scm8
-rw-r--r--gnu/services/databases.scm5
-rw-r--r--gnu/services/dbus.scm2
-rw-r--r--gnu/services/xorg.scm2
-rw-r--r--gnu/system.scm40
-rw-r--r--gnu/system/examples/desktop.tmpl20
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl45
-rw-r--r--gnu/system/install.scm39
69 files changed, 1900 insertions, 762 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm
index ae614994d6..6666cb4856 100644
--- a/gnu/build/activation.scm
+++ b/gnu/build/activation.scm
@@ -92,7 +92,8 @@
     (for-each (lambda (file)
                 (let ((target (string-append home "/" file)))
                   (copy-recursively (string-append directory "/" file)
-                                    target)
+                                    target
+                                    #:log (%make-void-port "w"))
                   (make-file-writable target)))
               files)))
 
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 69802e9a36..9636ee939f 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
+;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@@ -42,8 +42,10 @@
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages compression)
@@ -53,6 +55,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages openldap)
+  #:use-module (gnu packages mcrypt)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages texinfo)
@@ -66,6 +69,37 @@
   #:use-module (gnu packages man)
   #:use-module (gnu packages autotools))
 
+(define-public aide
+  (package
+    (name "aide")
+    (version "0.15.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/aide/aide/"
+                                  version "/aide-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1vsrc0s62kv1i84skm6k6zy868gayjck268qwj38rpspc8c5qgih"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("bison" ,bison)
+       ("flex" ,flex)))
+    (inputs
+     `(("libgcrypt" ,libgcrypt)
+       ("libgpg-error" ,libgpg-error)
+       ("libmhash" ,libmhash)
+       ("zlib" ,zlib)))
+    (synopsis "File and directory integrity checker")
+    (description
+     "AIDE (Advanced Intrusion Detection Environment) is a file and directory
+integrity checker.  It creates a database from the regular expression rules
+that it finds from its configuration files.  Once this database is initialized
+it can be used to verify the integrity of the files.  It has several message
+digest algorithms that are used to check the integrity of files.  All of the
+usual file attributes can be checked for inconsistencies.")
+    (home-page "http://aide.sourceforge.net/")
+    (license license:gpl2+)))
+
 (define-public dmd
   ;; Deprecated.  Kept around "just in case."
   (let ((base-version "0.2")
@@ -109,14 +143,14 @@ interface and is based on GNU Guile.")
 (define-public shepherd
   (package
     (name "shepherd")
-    (version "0.3")
+    (version "0.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://alpha.gnu.org/gnu/dmd/shepherd-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "13mcy2131h7hggqvxbfxyrnbz46aaiaq2agng3x3f789a78n4mnn"))))
+                "0f3yi3n4sl9myiay95yhv2a9an338qddfjrbv7da753ip66dkfz6"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")))
@@ -157,14 +191,14 @@ graphs and can export its output to different formats.")
 (define-public htop
   (package
    (name "htop")
-   (version "2.0.0")
+   (version "2.0.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://hisham.hm/htop/releases/"
                   version "/htop-" version ".tar.gz"))
             (sha256
              (base32
-              "1d944hn0ldxvxfrz9acr26lpmzlwj91m0s7x2xnivnfnmfha4p6i"))))
+              "0rjn9ybqx5sav7z4gn18f1q6k23nmqyb6yydfgghzdznz9nn447l"))))
    (build-system gnu-build-system)
    (inputs
     `(("ncurses" ,ncurses)))
@@ -1497,3 +1531,80 @@ for writing audit records to the disk.  Viewing the logs is done with the
 @code{ausearch} or @code{aureport} utilities.  Configuring the audit rules is
 done with the @code{auditctl} utility.")
     (license license:gpl2+)))
+
+(define-public nmap
+  (package
+    (name "nmap")
+    (version "7.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://nmap.org/dist/nmap-" version
+                                  ".tar.bz2"))
+              (sha256
+               (base32
+                "0jlmq1w0gjqpa7qa523kdj73ndm1xzww2wjvb94hxh6yalargyhk"))
+              (modules '((guix build utils)))
+              (snippet
+               '(map delete-file-recursively
+                 ;; Remove bundled lua, pcap, and pcre libraries.
+                 ;; FIXME: Remove bundled liblinear once packaged.
+                 '("liblua"
+                   "libpcap"
+                   "libpcre"
+                   ;; Remove pre-compiled binares.
+                   "mswin32")))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("openssl" ,openssl)
+       ("libpcap" ,libpcap)
+       ("pcre" ,pcre)
+       ("lua" ,lua)
+       ;; For 'ndiff'.
+       ("python" ,python-2)))
+
+    ;; TODO Add zenmap output.
+    (outputs '("out" "ndiff"))
+    (arguments
+     '(#:configure-flags '("--without-zenmap")
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (define (make out . args)
+               (unless (zero? (apply system* "make"
+                                     (string-append "prefix=" out)
+                                     args))
+                 (error "make failed")))
+             (define (python-path dir)
+               (string-append dir "/lib/python2.7/site-packages"))
+             (let ((out (assoc-ref outputs "out"))
+                   (ndiff (assoc-ref outputs "ndiff")))
+               (for-each mkdir-p (list out ndiff))
+               (make out
+                 "install-nmap"
+                 "install-nse"
+                 "install-ncat"
+                 "install-nping")
+               (make ndiff "install-ndiff")
+               (wrap-program (string-append ndiff "/bin/ndiff")
+                 `("PYTHONPATH" prefix
+                   (,(python-path ndiff)))))))
+         ;; These are the tests that do not require network access.
+         (replace 'check
+           (lambda _ (zero? (system* "make"
+                                     "check-nse"
+                                     "check-ndiff"
+                                     "check-dns")))))
+       ;; Nmap can't cope with out-of-source building.
+       #:out-of-source? #f))
+    (home-page "https://nmap.org/")
+    (synopsis "Network discovery and security auditing tool")
+    (description
+     "Nmap (\"Network Mapper\") is a network discovery and security auditing
+tool.  It is also useful for tasks such as network inventory, managing service
+upgrade schedules, and monitoring host or service uptime.  It also provides an
+advanced netcat implementation (ncat), a utility for comparing scan
+results (ndiff), and a packet generation and response analysis tool (nping).")
+    ;; This package uses nmap's bundled versions of libdnet and liblinear, which
+    ;; both use a 3-clause BSD license.
+    (license (list license:nmap license:bsd-3))))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 11fb460df5..a7455feb88 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -20,6 +20,7 @@
 
 (define-module (gnu packages algebra)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages mpi)
@@ -133,17 +134,14 @@ solve the shortest vector problem.")
              ("readline" ,readline)))
    (arguments
     '(#:make-flags '("all")
-      ;; FIXME: building the documentation requires tex; once this is
-      ;; available, replace "gp" by "all"
       #:test-target "dobench"
-      #:phases
-      (alist-replace
-       'configure
-       (lambda* (#:key outputs #:allow-other-keys)
-         (let ((out (assoc-ref outputs "out")))
-           (zero?
-            (system* "./Configure" (string-append "--prefix=" out)))))
-       %standard-phases)))
+      #:phases (modify-phases %standard-phases
+                 (replace 'configure
+                          (lambda* (#:key outputs #:allow-other-keys)
+                           (let ((out (assoc-ref outputs "out")))
+                            (zero?
+                             (system* "./Configure"
+                                      (string-append "--prefix=" out)))))))))
    (synopsis "PARI/GP, a computer algebra system for number theory")
    (description
     "PARI/GP is a widely used computer algebra system designed for fast
@@ -284,6 +282,46 @@ real and complex numbers, with automatic, rigorous error control.")
    (license license:gpl2+)
    (home-page "http://fredrikj.net/arb/")))
 
+(define-public ntl
+  (package
+   (name "ntl")
+   (version "9.7.0")
+   (source (origin
+            (method url-fetch)
+            (uri (string-append "http://shoup.net/ntl/ntl-"
+                                version ".tar.gz"))
+            (sha256 (base32
+                     "115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq"))))
+   (build-system gnu-build-system)
+   (native-inputs
+    `(("libtool" ,libtool)
+      ("perl" ,perl))) ; for configuration
+   ;; FIXME: Add optional input gf2x once available; then also add
+   ;; configure flag "NTL_GF2X_LIB=on".
+   (inputs
+    `(("gmp" ,gmp)))
+   (arguments
+    `(#:phases
+      (modify-phases %standard-phases
+        (replace 'configure
+         (lambda* (#:key outputs #:allow-other-keys)
+           (chdir "src")
+           (system* "./configure"
+                    (string-append "PREFIX=" (assoc-ref outputs "out"))
+                    ;; Do not build especially for the build machine.
+                    "NATIVE=off"
+                    ;; Also do not tune to the build machine.
+                    "WIZARD=off"
+                    "SHARED=on")
+           #t)))))
+   (synopsis "C++ library for number theory")
+   (description
+    "NTL is a C++ library providing data structures and algorithms
+for manipulating signed, arbitrary length integers, and for vectors,
+matrices, and polynomials over the integers and over finite fields.")
+   (license license:gpl2+)
+   (home-page "http://shoup.net/ntl/")))
+
 (define-public bc
   (package
     (name "bc")
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index aa8ccbce69..ec95769a5e 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
-;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -348,8 +348,16 @@ rdiff-backup is easy to use and settings have sensible defaults.")
     (inputs
      `(("acl" ,acl)
        ("openssl" ,openssl)
-       ("python-llfuse" ,python-llfuse)
-       ("python-msgpack" ,python-msgpack)))
+       ("python-msgpack" ,python-msgpack)
+
+       ;; Attic is probably incompatible with llfuse > 0.41.
+       ;; These links are to discussions of llfuse compatibility from
+       ;; the borg project. Borg is a recent fork of attic, and attic
+       ;; has not been updated since the fork, so it's likely that
+       ;; llfuse compatibility requirements are still the same.
+       ;; https://github.com/borgbackup/borg/issues/642
+       ;; https://github.com/borgbackup/borg/issues/643
+       ("python-llfuse" ,python-llfuse-0.41)))
     (synopsis "Deduplicating backup program")
     (description "Attic is a deduplicating backup program.  The main goal of
 Attic is to provide an efficient and secure way to backup data.  The data
@@ -398,3 +406,56 @@ compression, and more.  The library itself implements storage techniques such
 as content-addressable storage, content hash keys, Merkle trees, similarity
 detection, and lossless compression.")
     (license license:gpl3+)))
+
+(define-public borg
+  (package
+    (name "borg")
+    (version "1.0.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "borgbackup" version))
+              (sha256
+               (base32
+                "0wa6cvqs3rni5nwrgagigchcly8a53rxk56z0zn8iaii2cqrw2sh"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'set-env
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((openssl (assoc-ref inputs "openssl"))
+                   (lz4 (assoc-ref inputs "lz4")))
+               (setenv "BORG_OPENSSL_PREFIX" openssl)
+               (setenv "BORG_LZ4_PREFIX" lz4)
+               (setenv "PYTHON_EGG_CACHE" "/tmp")
+               #t)))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (man (string-append out "/share/man/man1")))
+               (and
+                 (zero? (system* "python3" "setup.py" "build_ext" "--inplace"))
+                 (zero? (system* "make" "-C" "docs" "man"))
+                 (begin
+                   (install-file "docs/_build/man/borg.1" man)
+                   #t))))))))
+    (native-inputs
+     `(("python-setuptools-scm" ,python-setuptools-scm)
+       ;; For generating the documentation.
+       ("python-sphinx" ,python-sphinx)
+       ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
+    (inputs
+     `(("acl" ,acl)
+       ("lz4" ,lz4)
+       ("openssl" ,openssl)
+       ("python-llfuse" ,python-llfuse)
+       ("python-msgpack" ,python-msgpack)))
+    (synopsis "Deduplicated, encrypted, authenticated and compressed backups")
+    (description "Borg is a deduplicating backup program.  Optionally, it
+supports compression and authenticated encryption.  The main goal of Borg is to
+provide an efficient and secure way to backup data.  The data deduplication
+technique used makes Borg suitable for daily backups since only changes are
+stored.  The authenticated encryption technique makes it suitable for backups
+to not fully trusted targets.  Borg is a fork of Attic.")
+    (home-page "https://borgbackup.github.io/borgbackup/")
+    (license license:bsd-3)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 281bd1f427..0afc0a6979 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2507,16 +2508,13 @@ interrupted by stop codons.  OrfM finds and prints these ORFs.")
 (define-public python2-pbcore
   (package
     (name "python2-pbcore")
-    (version "0.9.3")
+    (version "1.2.8")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "https://github.com/PacificBiosciences/pbcore/archive/"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (uri (pypi-uri "pbcore" version))
               (sha256
                (base32
-                "1z46rwjac93jm87cbj2zgjg6qvsgs65140wkbbxsvxps7ai4pm09"))))
+                "02pfn5raa3zf739672bg0dkx7z3j2c4nx7vmpfjqy5b12jrqpymk"))))
     (build-system python-build-system)
     (arguments `(#:python ,python-2)) ; pbcore requires Python 2.7
     (inputs
@@ -2525,7 +2523,10 @@ interrupted by stop codons.  OrfM finds and prints these ORFs.")
        ("python-pysam" ,python2-pysam)
        ("python-h5py" ,python2-h5py)))
     (native-inputs
-     `(("python-setuptools" ,python2-setuptools)))
+     `(("python-docutils" ,python2-docutils)
+       ("python-nose" ,python2-nose)
+       ("python-setuptools" ,python2-setuptools)
+       ("python-sphinx" ,python2-sphinx)))
     (home-page "http://pacificbiosciences.github.io/pbcore/")
     (synopsis "Library for reading and writing PacBio data files")
     (description
@@ -3691,15 +3692,15 @@ Cuffdiff or Ballgown programs.")
 (define-public vcftools
   (package
     (name "vcftools")
-    (version "0.1.12b")
+    (version "0.1.14")
     (source (origin
               (method url-fetch)
               (uri (string-append
-                    "mirror://sourceforge/vcftools/vcftools_"
-                     version ".tar.gz"))
+                    "https://github.com/vcftools/vcftools/releases/download/v"
+                    version "/vcftools-" version ".tar.gz"))
               (sha256
                (base32
-                "148al9h7f8g8my2qdnpax51kdd2yjrivlx6frvakf4lz5r8j88wx"))))
+                "10l5c07z9p4i9pr4gl54b2c9h6ndhqlbq1rashg2zcgwkbfrkmvn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no "check" target
@@ -3707,18 +3708,13 @@ Cuffdiff or Ballgown programs.")
                      "CFLAGS=-O2" ; override "-m64" flag
                      (string-append "PREFIX=" (assoc-ref %outputs "out"))
                      (string-append "MANDIR=" (assoc-ref %outputs "out")
-                                    "/share/man/man1"))
-       #:phases
-       (alist-cons-after
-        'unpack 'patch-manpage-install
-        (lambda _
-          (substitute* "Makefile"
-            (("cp \\$\\{PREFIX\\}/cpp/vcftools.1") "cp ./cpp/vcftools.1")))
-        (alist-delete 'configure %standard-phases))))
+                                    "/share/man/man1"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (inputs
      `(("perl" ,perl)
        ("zlib" ,zlib)))
-    (home-page "http://vcftools.sourceforge.net/")
+    (home-page "https://vcftools.github.io/")
     (synopsis "Tools for working with VCF files")
     (description
      "VCFtools is a program package designed for working with VCF files, such
@@ -3726,7 +3722,7 @@ as those generated by the 1000 Genomes Project.  The aim of VCFtools is to
 provide easily accessible methods for working with complex genetic variation
 data in the form of VCF files.")
     ;; The license is declared as LGPLv3 in the README and
-    ;; at http://vcftools.sourceforge.net/license.html
+    ;; at https://vcftools.github.io/license.html
     (license license:lgpl3)))
 
 (define-public vsearch
@@ -3927,8 +3923,7 @@ barplots or heatmaps.")
                (base32
                 "0f16ryy5f012hvksrwlmm33bcl7lw97i2jvhbnwfwl03j4w7nhc1"))))
     (properties
-     `((upstream-name . "BiocGenerics")
-       (r-repository . bioconductor)))
+     `((upstream-name . "BiocGenerics")))
     (build-system r-build-system)
     (home-page "http://bioconductor.org/packages/BiocGenerics")
     (synopsis "S4 generic functions for Bioconductor")
@@ -3970,8 +3965,7 @@ abnormal copy number.")
                (base32
                 "12iibcs63m9iy7f45wgjcqsna2dnqwckphk682389grshz0g4x66"))))
     (properties
-     `((upstream-name . "S4Vectors")
-       (r-repository . bioconductor)))
+     `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)))
@@ -3998,8 +3992,7 @@ S4Vectors package itself.")
                (base32
                 "0hi5k1j5jm4xrg1l506g279qw1xkvp1gg1zgsjzpbng4vx4k4iyl"))))
     (properties
-     `((upstream-name . "IRanges")
-       (r-repository . bioconductor)))
+     `((upstream-name . "IRanges")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -4020,16 +4013,15 @@ possible.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.6.1")
+    (version "1.6.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "1j2n1v1mrw1fxn7cyffz112pm76wd6gy9q9qwlsfv3brbsqbvdbf"))))
+                "1ggp005n2rlkad00ilzn95y4rd484yr1chdhnd6fwg45rbi94d63"))))
     (properties
-     `((upstream-name . "GenomeInfoDb")
-       (r-repository . bioconductor)))
+     `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -4055,8 +4047,7 @@ names in their natural, rather than lexicographic, order.")
                (base32
                 "0havwyr6xqk7w0rmbwfj9jq1djz7wzdz7w39adhklwzwz9l4ih3a"))))
     (properties
-     `((upstream-name . "XVector")
-       (r-repository . bioconductor)))
+     `((upstream-name . "XVector")))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -4084,16 +4075,15 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.22.2")
+    (version "1.22.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "1jffvcs0jsi7q4l3pvjj6r73vll80csgkljvhqp0g2ixc43jjng9"))))
+                "02df5683nrpn9d10ws8jz9b55nr9055hh882xp2i154xdddir0k0"))))
     (properties
-     `((upstream-name . "GenomicRanges")
-       (r-repository . bioconductor)))
+     `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -4215,13 +4205,13 @@ objects.")
 (define-public r-biostrings
   (package
     (name "r-biostrings")
-    (version "2.38.2")
+    (version "2.38.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biostrings" version))
               (sha256
                (base32
-                "1afp9szc8ci6jn0m3hrrqh6df65cpw3v1dcnl6xir3d3m3lwwmk4"))))
+                "0cjd7i4bdwabzb02gm753aji5xaihkj5ak8nb0d32cclxbj0hp33"))))
     (properties
      `((upstream-name . "Biostrings")))
     (build-system r-build-system)
@@ -4285,13 +4275,13 @@ files.")
 (define-public r-summarizedexperiment
   (package
     (name "r-summarizedexperiment")
-    (version "1.0.1")
+    (version "1.0.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "SummarizedExperiment" version))
               (sha256
                (base32
-                "0w1dwp99p6i7sc3cn0ir3dr8ksgxwjf16675h5i8n6gbv4rl9lz6"))))
+                "1gpmh1mi70m5k5qnyjs1h0qn8ajrzalzic7k3762xchxsmmdvxn4"))))
     (properties
      `((upstream-name . "SummarizedExperiment")))
     (build-system r-build-system)
@@ -4314,13 +4304,13 @@ samples.")
 (define-public r-genomicalignments
   (package
     (name "r-genomicalignments")
-    (version "1.6.1")
+    (version "1.6.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicAlignments" version))
               (sha256
                (base32
-                "03pxzkmwcpl0d7a09ahan0nllfv7qw2i7w361w6af2s4n3xwrniz"))))
+                "02b9j1pfd39bkvb623k5k0ziq9rpw093hifqw65vb954dwj29jhd"))))
     (properties
      `((upstream-name . "GenomicAlignments")))
     (build-system r-build-system)
@@ -4347,13 +4337,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.30.1")
+    (version "1.30.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "1if31hg56islx5vwydpgs5gkyas26kyvv2ljv1c7jikpm62w14qv"))))
+                "0knjnwywh9k726mq28s3sy013zhw6d6nfa8hfw670720nq18i2p0"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -4392,13 +4382,13 @@ as well as query and modify the browser state, such as the current viewport.")
 (define-public r-genomicfeatures
   (package
     (name "r-genomicfeatures")
-    (version "1.22.7")
+    (version "1.22.13")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "1jb4s49ar5j9qslpd3kfdg2wrl4q7ciysd55h9a7zvspymxcngq8"))))
+                "0n3rkj66la6wizgcsf2rmwcsyfxz9kv5zak337lmk1raqfnancz4"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -4582,13 +4572,13 @@ reference point and sorted by a user defined feature.")
 (define-public r-genomation
   (package
     (name "r-genomation")
-    (version "1.2.1")
+    (version "1.2.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "genomation" version))
               (sha256
                (base32
-                "1mzs995snwim13qk9kz4q3nczpnbsy1allwp4whfq0cflg2mndfr"))))
+                "0kvzwc21zsh2c8d34yn935ncn38bfkpzmknycd8h7b0521x20mi9"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biostrings" ,r-biostrings)
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index a930eabaf6..26b0fc6fdc 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
@@ -73,7 +73,12 @@
                      (mkdir-p (string-append gui "/bin"))
                      (rename-file (string-append out "/bin/transmission-gtk")
                                   (string-append gui
-                                                 "/bin/transmission-gtk"))))
+                                                 "/bin/transmission-gtk"))
+
+                     ;; Move the '.desktop' file as well.
+                     (mkdir (string-append gui "/share"))
+                     (rename-file (string-append out "/share/applications")
+                                  (string-append gui "/share/applications"))))
                  %standard-phases)))
     (inputs
      `(("inotify-tools" ,inotify-tools)
diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 2e4481f94b..5ef5ec9271 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -79,12 +79,25 @@ data units.")
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
-        ;; Bug reported: https://github.com/geier/khal/issues/309
-        (add-after 'unpack 'disable-test
+        (add-after 'unpack 'disable-tests
           (lambda _
+            ;; Bug reported for test_only_update_old_event:
+            ;; https://github.com/geier/khal/issues/309
             (substitute* "tests/khalendar_test.py"
                          (("test_only_update_old_event")
-                          "disabled_only_update_old_event"))))
+                           "disabled_only_update_old_event"))
+
+            ;; Bug reported for test_dt_two_tz:
+            ;; https://github.com/pimutils/khal/issues/382
+            (substitute* "tests/event_test.py"
+                         (("test_dt_two_tz")
+                           "disabled_dt_two_tz"))
+            ;; Another timezone / DST issue:
+            ;; https://github.com/pimutils/khal/issues/146
+            (substitute* "tests/event_test.py"
+                         (("test_raw_dt")
+                           "disabled_raw_dt"))))
+
         ;; Building the manpage requires khal to be installed.
         (add-after 'install 'manpage
           (lambda* (#:key outputs #:allow-other-keys)
@@ -95,6 +108,7 @@ data units.")
             (install-file
               "doc/build/man/khal.1"
               (string-append (assoc-ref outputs "out") "/share/man/man1"))))
+
         ;; The tests require us to choose a timezone.
         (replace 'check
           (lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 050f8c68ac..46a5b234aa 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -233,13 +233,14 @@ capacity is user-selectable.")
     (version "1.4.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "https://github.com/lipnitsk/libcue/archive/v"
+             (uri (string-append "https://github.com/lipnitsk/libcue/releases/"
+                                 "download/v" version "/libcue-"
                                  version ".tar.bz2"))
              (sha256
               (base32
                "17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb"))))
     (build-system gnu-build-system)
-    (home-page "http://libcue.sourceforge.net/")
+    (home-page "https://github.com/lipnitsk/libcue")
     (synopsis "C library to parse cue sheets")
     (description "Libcue is a C library to parse so-called @dfn{cue sheets}
 which contain meta-data for CD/DVD tracks.  It provides an API to manipulate
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 0bc1a7d33b..af671d5780 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -92,14 +92,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
 (define-public global                             ; a global variable
   (package
     (name "global")
-    (version "6.5.2")
+    (version "6.5.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/global/global-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "07qx3dbjwkbd1dn42qs7zgj77rxdj2psfrf7bx7yx9al38f87z60"))))
+               "19hxajpwld6qx0faz4rzyh1hfs25ycjmws6bas8pavx4hskf05mg"))))
     (build-system gnu-build-system)
     (inputs `(("ncurses" ,ncurses)
               ("libltdl" ,libltdl)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 71ad77b9be..0ca6fd8986 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -274,15 +274,25 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "9.5.1")
+    (version "9.5.2")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://ftp.postgresql.org/pub/source/v"
+              (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "1ljvijaja5zy4i5b1450drbj8m3fcm3ly1zzaakp75x30s2rsc3b"))))
+                "0hbwwhh0pz0a6vf8j5bskiq7gmz9rwc9ywcqyhg5asshckj35lgq"))))
     (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-/bin/sh
+                     (lambda _
+                       ;; Refer to the actual shell.
+                       (substitute* '("src/bin/pg_ctl/pg_ctl.c"
+                                      "src/bin/psql/command.c")
+                         (("/bin/sh") (which "sh")))
+                       #t)))))
     (inputs
      `(("readline" ,readline)
        ("zlib" ,zlib)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 215061a67a..db5668e1fc 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -370,7 +370,7 @@ on stdout instead of using a socket as the Emacsclient does.")
 (define-public magit
   (package
     (name "magit")
-    (version "2.5.0")
+    (version "2.6.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -378,7 +378,7 @@ on stdout instead of using a socket as the Emacsclient does.")
                    version "/" name "-" version ".tar.gz"))
              (sha256
               (base32
-               "0i6qpx5szzc4kyfcdhaic8gif0sqdqcya1niyj93lpvw66jcxsxa"))))
+               "04km5j6118yqz7h3dyfd4ijjd6w3pb76pjlaj25wh1bchf1yilir"))))
     (build-system gnu-build-system)
     (native-inputs `(("texinfo" ,texinfo)
                      ("emacs" ,emacs-no-x)))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 8aa5a0dc33..65d53896e8 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -33,10 +33,12 @@
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
-  #:use-module (gnu packages zip)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages xorg)
-  #:use-module (gnu packages pkg-config))
+  #:use-module (gnu packages zip))
 
 (define-public font-inconsolata
   (package
@@ -260,47 +262,44 @@ sans-serif designed for on-screen reading.  It is used by GNOME@tie{}3.")
 (define-public font-gnu-freefont-ttf
   (package
     (name "font-gnu-freefont-ttf")
-    (version "20100919")
+    (version "20120503")
     (source (origin
              (method url-fetch)
-             (uri (string-append "mirror://gnu/freefont/freefont-ttf-"
+             (uri (string-append "mirror://gnu/freefont/freefont-src-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1q3h5jp1mbdkinkwxy0lfd0a1q7azlbagraydlzaa2ng82836wg4"))))
-    (build-system trivial-build-system)
+               "0yk58blhcd4hm7nyincmqq4jrzjjk82wif2zmk1l3y2m4vif4qhd"))))
+    (build-system gnu-build-system)
     (arguments
-     `(#:modules ((guix build utils))
-       #:builder (begin
-                   (use-modules (guix build utils)
-                                (srfi srfi-26))
-
-                   (let ((tar      (string-append (assoc-ref %build-inputs
-                                                             "tar")
-                                                  "/bin/tar"))
-                         (PATH     (string-append (assoc-ref %build-inputs
-                                                             "gzip")
-                                                  "/bin"))
-                         (font-dir (string-append %output
-                                                  "/share/fonts/truetype"))
-                         (doc-dir  (string-append %output "/share/doc/"
-                                                  ,name "-" ,version)))
-                     (setenv "PATH" PATH)
-                     (system* tar "xvf" (assoc-ref %build-inputs "source"))
-
-                     (mkdir-p font-dir)
-                     (mkdir-p doc-dir)
-                     (chdir (string-append "freefont-" ,version))
-                     (for-each (lambda (file)
-                                 (let ((dir (if (string-suffix? "ttf" file)
-                                                font-dir
-                                                doc-dir)))
+     `(#:phases (modify-phases %standard-phases
+                  (delete 'configure)
+                  (replace 'install
+                   (lambda _
+                     (let ((doc-dir  (string-append %output "/share/doc/"
+                                                    ,name "-" ,version))
+                           (font-dir (string-append %output
+                                                    "/share/fonts/truetype")))
+                       (mkdir-p doc-dir)
+                       (substitute* "Makefile"
+                         (("\\$\\(TMPDIR\\)") doc-dir)
+                         (("sfd/\\*.ttf") ""))
+                       (system* "make" "ttftar")
+                       (mkdir-p font-dir)
+                       (for-each (lambda (file)
                                    (copy-file file
-                                              (string-append dir "/" file))))
-                               (find-files "." ""))))))
-    (native-inputs `(("source" ,source)
-                     ("tar" ,tar)
-                     ("gzip" ,gzip)))
+                                              (string-append font-dir "/"
+                                                             (basename file))))
+                                 (filter
+                                   (lambda (file) (string-suffix? "ttf" file))
+                                   (find-files "." "")))))))
+       #:test-target "tests"))
+    ;; replace python 3 with python 2
+    ;; python 3 support commits aren't yet released in 20120503
+    ;; so freefont needs python 2 support in fontforge
+    (native-inputs `(("fontforge" ,(package (inherit fontforge)
+                                     (inputs `(("python-2" ,python-2)
+                                     ,@(package-inputs fontforge)))))))
     (home-page "http://www.gnu.org/software/freefont/")
     (synopsis "Unicode-encoded outline fonts")
     (description
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 2912ce2366..8d33211fb6 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -208,9 +208,8 @@ applications should be.")
 
 (define-public graphite2
   (package
-   (replacement graphite2-1.3.6)
    (name "graphite2")
-   (version "1.3.5")
+   (version "1.3.6")
    (source
      (origin
        (method url-fetch)
@@ -218,8 +217,8 @@ applications should be.")
                            version ".tar.gz"))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-         (base32
-           "0jrjb56zim57xg2pckfdyrw46c624mqz9zywgwza0g1bxg26940w"))))
+        (base32
+         "1frd9mjaqzvh9gs74ngc43igi53vzjzlwr5chbrs6ii1hc4aa23s"))))
    (build-system cmake-build-system)
    (native-inputs
     `(("python" ,python-2) ; because of "import imap" in tests
@@ -235,21 +234,6 @@ and returns a sequence of positioned glyphids from the font.")
    (license license:lgpl2.1+)
    (home-page "https://github.com/silnrsi/graphite")))
 
-(define graphite2-1.3.6
-  (package
-    (inherit graphite2)
-    (replacement #f)
-    (source
-     (let ((name "graphite2") (version "1.3.6"))
-       (origin
-         (method url-fetch)
-         (uri (string-append "https://github.com/silnrsi/graphite/archive/"
-                             version ".tar.gz"))
-         (file-name (string-append name "-" version ".tar.gz"))
-         (sha256
-          (base32
-           "1frd9mjaqzvh9gs74ngc43igi53vzjzlwr5chbrs6ii1hc4aa23s")))))))
-
 (define-public potrace
   (package
     (name "potrace")
@@ -367,14 +351,20 @@ definitions.")
                      "0gfcm8yn1d30giqhdwbchnfnspcqypqdzrxlhqhwy1i18wgl0v2v"))
             (modules '((guix build utils)))
             (snippet
-             ;; Make builds bit-reproducible by using fixed date strings.
-             '(substitute* "configure"
-                (("^FONTFORGE_MODTIME=.*$")
-                 "FONTFORGE_MODTIME=\"1458399002\"\n")
-                (("^FONTFORGE_MODTIME_STR=.*$")
-                 "FONTFORGE_MODTIME_STR=\"15:50 CET 19-Mar-2016\"\n")
-                (("^FONTFORGE_VERSIONDATE=.*$")
-                 "FONTFORGE_VERSIONDATE=\"20160319\"\n")))))
+             '(begin
+               ;; Make builds bit-reproducible by using fixed date strings.
+               (substitute* "configure"
+                 (("^FONTFORGE_MODTIME=.*$")
+                  "FONTFORGE_MODTIME=\"1458399002\"\n")
+                 (("^FONTFORGE_MODTIME_STR=.*$")
+                  "FONTFORGE_MODTIME_STR=\"15:50 CET 19-Mar-2016\"\n")
+                 (("^FONTFORGE_VERSIONDATE=.*$")
+                  "FONTFORGE_VERSIONDATE=\"20160319\"\n"))
+
+               ;; Make TTF builds bit-reproducible by clearing the timestamp
+               ;; that goes in TTF files.
+               (substitute* "fontforge/tottf.c"
+                 (("cvt_unix_to_1904\\(now") "cvt_unix_to_1904(0"))))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 972eafc669..24c4564689 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -508,7 +508,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
 (define-public modem-manager
   (package
     (name "modem-manager")
-    (version "1.4.12")
+    (version "1.4.14")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -516,7 +516,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.")
                     "ModemManager-" version ".tar.xz"))
               (sha256
                (base32
-                "1cvhpkbdch9a77sdir0wcks45m2zlvq1sna2ly2v4lx9fm9h7xby"))))
+                "18hvffwcncwz14kdzk42jbkh362n0kjv3kgx7axbqx572pawvrmb"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index d2eb066817..88f24209c8 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -64,7 +64,10 @@ Consortium standard (ICC), approved as ISO 15076-1.")
    (source (origin
             (method url-fetch)
             (uri (string-append
-                   "http://ftp.de.debian.org/debian/pool/main/libp/libpaper/libpaper_"
+                   ;; Debian moved their libpaper-1.1.24 to archive.debian.net
+                   ;; but in the move the hash of their tarball changed.
+                   "http://pkgs.fedoraproject.org/repo/pkgs/libpaper/libpaper_"
+                   version ".tar.gz/5bc87d494ba470aba54f6d2d51471834/libpaper_"
                    version ".tar.gz"))
             (sha256 (base32
                      "0zhcx67afb6b5r936w5jmaydj3ks8zh83n9rm5sv3m3k8q8jib1q"))))
@@ -75,7 +78,7 @@ Consortium standard (ICC), approved as ISO 15076-1.")
 way for applications to take actions based on a system- or user-specified
 paper size.")
    (license license:gpl2)
-   (home-page "http://packages.qa.debian.org/libp/libpaper.html")))
+   (home-page "https://packages.qa.debian.org/libp/libpaper.html")))
 
 (define-public psutils
   (package
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index eebb547de3..5c2cf0197e 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
+;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4208,7 +4209,7 @@ users.")
 (define-public network-manager
   (package
     (name "network-manager")
-    (version "1.0.10")
+    (version "1.0.12")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/NetworkManager/"
@@ -4216,7 +4217,7 @@ users.")
                                   "NetworkManager-" version ".tar.xz"))
               (sha256
                (base32
-                "1g4z2wg036n0njqp8fycrisj46l3yda6pl00l4rg9nfz862cxkqv"))))
+                "17jan0g5jzp8mrpklyacwdgnnw016m1c5pc4az5im6qhc260yirs"))))
     (build-system gnu-build-system)
     (outputs '("out"
                "doc")) ; 8 MiB of gtk-doc HTML
@@ -4928,3 +4929,31 @@ command-line interface.  It can record part or all of an X display for a
 specified duration and save it as a GIF encoded animated image file.")
       (home-page "https://git.gnome.org/browse/byzanz")
       (license license:gpl2+))))
+
+(define-public libzapojit
+  (package
+    (name "libzapojit")
+    (version "0.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnome/sources/" name "/"
+                                  (version-major+minor version) "/"
+                                  name "-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("gobject-introspection" ,gobject-introspection)
+       ("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gnome-online-accounts" ,gnome-online-accounts)
+       ("json-glib" ,json-glib)
+       ("rest" ,rest)))
+    (home-page "https://wiki.gnome.org/Projects/Zapojit")
+    (synopsis "Library for accessing SkyDrive and Hotmail")
+    (description
+     "Libzapojit is a GLib-based library for accessing online service APIs of
+Microsoft SkyDrive and Hotmail, using their REST protocols.")
+    (license license:lgpl2.1+)))
diff --git a/gnu/packages/gnu-doc.scm b/gnu/packages/gnu-doc.scm
new file mode 100644
index 0000000000..3daa54ff12
--- /dev/null
+++ b/gnu/packages/gnu-doc.scm
@@ -0,0 +1,101 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages gnu-doc)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages texinfo)
+
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial)
+  #:use-module (guix cvs-download)
+  #:use-module (guix download)
+  #:use-module (guix licenses)
+  #:use-module (guix packages))
+
+(define-public miscfiles
+  (package
+    (name "miscfiles")
+    (version "1.5")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/" name "/" name "-"
+                          version ".tar.gz"))
+      (sha256
+       (base32
+        "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka"))))
+    (build-system gnu-build-system)
+    (home-page "https://www.gnu.org/software/miscfiles/")
+    (synopsis
+     "Data files for airport codes, zip codes, a dictionary, and more")
+    (description
+     "GNU Miscfiles is a collection of common data files.  They include, for
+example, country abbreviations, names and capital cities; currency
+abbreviations and names; a Best Current Practices index; a map of the ASCII
+character set; a list of three-letter airport codes; and an English word
+list.")
+    (license gpl2+)))
+
+(define-public gnu-standards
+  (package
+    (name "gnu-standards")
+    (version "2016-03-25")
+    (source
+     (origin
+       (method cvs-fetch)
+       (uri (cvs-reference
+             (root-directory
+              ":pserver:anonymous@cvs.savannah.gnu.org:/sources/gnustandards")
+             (module "gnustandards")
+             (revision "2016-03-25")))
+       (sha256
+        (base32
+         "0qn7mzdjqwc6h9prin22x6kj9iqipxpbzldzhmis7q4x4hpi61vj"))))
+    (build-system trivial-build-system)
+    (native-inputs `(("gzip" ,gzip)
+                     ("source" ,source)
+                     ("texinfo" ,texinfo)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+        (begin
+          (use-modules (guix build utils))
+          (let ((gzip (assoc-ref %build-inputs "gzip"))
+                (source (assoc-ref %build-inputs "source"))
+                (texinfo (assoc-ref %build-inputs "texinfo"))
+                (info-dir (string-append %output "/share/info")))
+            (setenv "PATH" (string-append gzip "/bin"
+                                          ":" texinfo "/bin"))
+            (mkdir-p info-dir)
+            (system* "makeinfo" "--output" info-dir
+                     (string-append source "/maintain.texi"))
+            (system* "makeinfo" "--output" info-dir
+                     (string-append source "/standards.texi"))
+            (system* "gzip" (string-append info-dir "/maintain.info"))
+            (system* "gzip" (string-append info-dir "/standards.info"))))))
+    (home-page "http://www.gnu.org/prep/standards/")
+    (synopsis "GNU coding standards and maintainer information")
+    (description "The GNU Coding Standards were written by Richard Stallman
+and other GNU Project volunteers.  Their purpose is to make the GNU system
+clean, consistent, and easy to install.
+
+The information for maintainers of GNU software has guidelines and advice for
+someone who is the maintainer of a GNU program on behalf of the GNU Project.")
+    (license fdl1.3+)))
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index e252f98f94..58d3bda561 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,7 +38,7 @@
 (define-public gnucash
   (package
     (name "gnucash")
-    (version "2.6.9")
+    (version "2.6.12")
     (source
      (origin
       (method url-fetch)
@@ -45,7 +46,7 @@
                           version ".tar.bz2"))
       (sha256
        (base32
-        "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and"))
+        "0x84f07p30pwhriamv8ifljgw755cj87rc12jy1xddf47spyj7rp"))
       (patches (list (search-patch "gnucash-price-quotes-perl.patch")))))
     (build-system gnu-build-system)
     (inputs
@@ -97,7 +98,7 @@
                         "gnc-fq-check"
                         "gnc-fq-helper"
                         "gnc-fq-dump")))))))
-    (home-page "https://gnu.org/software/gnucash")
+    (home-page "http://www.gnucash.org/")
     (synopsis "Personal and small business financial accounting software")
     (description
      "GnuCash is personal and professional financial-accounting software.
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index eb0c4cbe83..471f383b85 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Ni* Gillmann <ng@niasterisk.space>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -66,6 +67,7 @@
             (sha256
              (base32
               "0zvv7wd011npcx7yphw9bpgivyxz6mlp87a57n96nv85k96dd2l6"))
+            (patches (list (search-patch "libextractor-ffmpeg-3.patch")))
             (modules '((guix build utils)))
             (snippet
              ;; Nowadays libmagic (from 'file') returns 'audio/ogg' and not
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 350865addb..c3b859b7a2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -248,14 +248,14 @@ libskba (working with X.509 certificates and CMS data).")
 
 (define-public gnupg-2.0
   (package (inherit gnupg)
-    (version "2.0.29")
+    (version "2.0.30")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnupg/gnupg/gnupg-" version
                                   ".tar.bz2"))
               (sha256
                (base32
-                "1jaakn0mi6pi2b3g3imxj3qzxw2zg0ifxs30baq2b157dcw6pvb8"))))
+                "0wax4cy14hh0h7kg9hj0hjn9424b71z8lrrc5kbsasrn9xd7hag3"))))
     (native-inputs '())
     (inputs
      `(("adns" ,adns)
diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm
index edd159d262..ae97eb7936 100644
--- a/gnu/packages/gnustep.scm
+++ b/gnu/packages/gnustep.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,10 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix licenses)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages gnome)
+  #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages image)
   #:use-module (gnu packages pkg-config))
@@ -83,3 +88,42 @@ interface.  It is fast, feature rich, easy to configure, and easy to use.")
 
     ;; Artwork is distributed under the WTFPL.
     (license gpl2+)))
+
+(define-public wmbattery
+  (package
+    (name "wmbattery")
+    (version "2.50")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://debian/pool/main/w/wmbattery/wmbattery_"
+                    version ".orig.tar.gz"))
+              (sha256
+               (base32
+                "0hi6bivv3xd2k68w08krndfl68wdx7nmc2wjzsmcd4q3qgwgyk44"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f              ; no "check" target
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autoconf
+           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
+    (inputs
+     `(("glib" ,glib)
+       ("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("libxpm" ,libxpm)
+       ("upower" ,upower)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://windowmaker.org/dockapps/?name=wmbattery")
+    (synopsis "Display laptop battery info")
+    (description
+     "Wmbattery displays the status of your laptop's battery in a small icon.
+This includes if it is plugged in, if the battery is charging, how many minutes
+of battery life remain, battery life remaining (with both a percentage and a
+graph), and battery status (high - green, low - yellow, or critical - red).")
+    (license gpl2)))
+
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 59b1076294..97900958c8 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -96,7 +97,7 @@ arrays of data.")
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.6.3")
+    (version "1.8.0")
     (source
      (origin
       (method url-fetch)
@@ -105,7 +106,7 @@ arrays of data.")
             version ".tar.xz"))
       (sha256
        (base32
-        "093zldafh7xh3lrlwzm7j0vvjz6k9ca83wqil40gfz5qcy6mdy92"))))
+        "1p5y9bbrhywng0prmpxv29p6jsz6vd039d49bnc98p9b45532yll"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -144,7 +145,7 @@ This package provides the core library and elements.")
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.6.3")
+    (version "1.8.0")
     (source
      (origin
       (method url-fetch)
@@ -152,7 +153,7 @@ This package provides the core library and elements.")
                           name "-" version ".tar.xz"))
       (sha256
        (base32
-        "0xbskifk95rw7jd85sqjrmqh2kys1bpi0inrxyapx1x4vf7ly5dn"))))
+        "08hmg7fp519wim1fm04r7f2q2020ssdninawqsbrqjsvs70srh5b"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (propagated-inputs
@@ -186,7 +187,7 @@ This package provides the core library and elements.")
            (lambda _
              (substitute* "tests/check/libs/pbutils.c"
                (("/bin/sh") (which "sh"))))))))
-    (home-page "http://gstreamer.freedesktop.org/")
+    (home-page "https://gstreamer.freedesktop.org/")
     (synopsis
      "Plugins for the GStreamer multimedia library")
     (description "This package provides an essential exemplary set of plug-ins
@@ -197,7 +198,7 @@ for the GStreamer multimedia library.")
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.6.3")
+    (version "1.8.0")
     (source
      (origin
       (method url-fetch)
@@ -206,7 +207,7 @@ for the GStreamer multimedia library.")
             name "-" version ".tar.xz"))
       (sha256
        (base32
-        "0xx16h0q63gs3pxlzdflnpyssba3vcrh1qnzplg4d0ra1fvrvc94"))))
+        "0kczdvqxvl8kxiy2d7czv16jp73hv9k3nykh47ckihnv8x6i6362"))))
     (build-system gnu-build-system)
     (inputs
      `(("aalib" ,aalib)
@@ -237,16 +238,18 @@ for the GStreamer multimedia library.")
      `(#:phases
        (modify-phases %standard-phases
          (add-after
-          'unpack 'disable-failing-rtprtx-tests
+          'unpack 'disable-failing-tests
           (lambda _
-            ;; Disable rtprtx tests that frequently fail.
-            ;; XXX FIXME: Try removing this for version > 1.6.3.
+            ;; Disable tests that fail non-deterministically.
+            ;; XXX FIXME: Try removing this for version > 1.8.0.
             (substitute* "tests/check/elements/rtprtx.c"
-              (("tcase_add_test \\(tc_chain,\
- (test_rtxsender_max_size_packets|test_rtxreceive_data_reconstruction)\\);" all)
+              (("tcase_add_test \\(tc_chain, test_push_forward_seq\\);" all)
+               (string-append "/* " all " */")))
+            (substitute* "tests/check/elements/splitmux.c"
+              (("tcase_add_test \\(tc_chain, test_splitmuxsink\\);" all)
                (string-append "/* " all " */")))
             #t)))))
-    (home-page "http://gstreamer.freedesktop.org/")
+    (home-page "https://gstreamer.freedesktop.org/")
     (synopsis
      "Plugins for the GStreamer multimedia library")
     (description "GStreamer Good Plug-ins is a set of plug-ins for the
@@ -330,7 +333,7 @@ par compared to the rest.")
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.6.3")
+    (version "1.8.0")
     (source
      (origin
        (method url-fetch)
@@ -338,7 +341,7 @@ par compared to the rest.")
                            name "/" name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0r6h3ys5n90jv3c06crxzcac561z07s4h04hy5i8ybw8qyvzgv1g"))))
+         "137b6kqykh5nwbmiv28nn1pc1d2x2rb2xxg382pc9pa9gpxpyrak"))))
     (build-system gnu-build-system)
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
@@ -358,7 +361,7 @@ par compared to the rest.")
      `(("glib:bin" ,glib "bin")
        ("pkg-config" ,pkg-config)
        ("python-wrapper" ,python-wrapper)))
-    (home-page "http://gstreamer.freedesktop.org/")
+    (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer plugins from the \"ugly\" set")
     (description "GStreamer Ugly Plug-ins.  This set contains those plug-ins
 which the developers consider to have good quality code but that might pose
@@ -368,7 +371,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.6.3")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -376,7 +379,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1aylbg1xnm68c3wc49mzx813qhsjfg23hqnjqqwdwdq31839qyw5"))))
+                "0719njp8aarhvn038pijq6dmsnli0zlg146hyfs3rsdffs4f472s"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-system-libav")
@@ -405,7 +408,7 @@ compression formats through the use of the libav library.")
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.6.2")
+    (version "1.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -413,7 +416,7 @@ compression formats through the use of the libav library.")
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "09ci5zvr7lms7mvgbjgsjwaxcl4nq45n1g9pdwnqmx3rf0qkwxjf"))))
+                "1spn49x7yaj69df6mxh9wwcs0y3abswkfpk84njs71lzqlbzyiff"))))
     (build-system gnu-build-system)
     (arguments
      ;; XXX: Factorize python-sitedir with python-build-system.
@@ -435,7 +438,7 @@ compression formats through the use of the libav library.")
     (propagated-inputs
      `(("gst-plugins-base" ,gst-plugins-base)
        ("python-pygobject" ,python-pygobject)))
-    (home-page "http://gstreamer.freedesktop.org/")
+    (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "GStreamer GObject Introspection overrides for Python")
     (description
      "This package contains GObject Introspection overrides for Python that can
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 882a62d09f..fe043cba0b 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -275,14 +275,14 @@ without requiring the source code to be rewritten.")
 (define-public artanis
   (package
     (name "artanis")
-    (version "0.1.0")
+    (version "0.1.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1mc2zy6n9wnn4hzi3zp3jd6b5rlr0lv7fvh800xf4fyrxg0zia4g"))))
+                "19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp"))))
     (build-system gnu-build-system)
     ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
     (inputs `(("guile" ,guile-2.0)))
@@ -296,7 +296,8 @@ without requiring the source code to be rewritten.")
               (dir (string-append out "/share/guile/site/2.0")))
          ;; Don't use (%site-dir) for site paths.
          (list (string-append "MOD_PATH=" dir)
-               (string-append "MOD_COMPILED_PATH=" dir)))
+               (string-append "MOD_COMPILED_PATH=" dir)
+               (string-append "DESTDIR=" out)))
        #:test-target "test"
        #:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index ba5b9e26ae..a17330ec63 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -92,7 +92,7 @@ irssi, but graphical.")
 (define-public irssi
   (package
     (name "irssi")
-    (version "0.8.18")
+    (version "0.8.19")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/irssi/irssi/"
@@ -100,7 +100,7 @@ irssi, but graphical.")
                                  version ".tar.xz"))
              (sha256
               (base32
-               "0h3q0p5rnm6h0hcv06m8vrs97kyr1l7snjdy3qbjsz3m97vpg8f0"))))
+               "1lz57v3nkki30lb883pipp5syyfkssvjlq3xxf9yl578902h982c"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm
index be0b746796..0a9427cef2 100644
--- a/gnu/packages/iso-codes.scm
+++ b/gnu/packages/iso-codes.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,21 +29,21 @@
 (define-public iso-codes
   (package
     (name "iso-codes")
-    (version "3.49")
+    (version "3.67")
     (source (origin
              (method url-fetch)
              (uri (string-append
-                   "http://pkg-isocodes.alioth.debian.org/downloads/iso-codes-"
+                   "https://pkg-isocodes.alioth.debian.org/downloads/iso-codes-"
                    version ".tar.xz"))
              (sha256
               (base32
-               "1ryk5i467p7xxrbrqynb35ci046yj9k9b4d3hfxzass962lz9q04"))))
+               "037hmfs5pk3g36psm378vap1mbrkk86vv8wsdnv65mzbnph52gv0"))))
     (build-system gnu-build-system)
     (inputs
      `(("gettext" ,gnu-gettext)
        ("perl" ,perl)
-       ("python-2" ,python-2)))
-    (home-page "http://pkg-isocodes.alioth.debian.org/")
+       ("python" ,python-wrapper)))
+    (home-page "https://pkg-isocodes.alioth.debian.org/")
     (synopsis "Various ISO standards")
     (description
      "This package provides lists of various ISO standards (e.g. country,
diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm
index 6975443646..0c30aa1977 100644
--- a/gnu/packages/kodi.scm
+++ b/gnu/packages/kodi.scm
@@ -80,6 +80,7 @@
                 (uri (git-reference
                       (url "https://github.com/graeme-hill/crossguid.git")
                       (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
                   "1i29y207qqddvaxbn39pk2fbh3gx8zvdprfp35wasj9rw2wjk3s9"))))
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index 266669061e..c3427e7f6f 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -126,14 +127,14 @@ proposed for standardization.")
 (define-public gmtp
   (package
     (name "gmtp")
-    (version "1.3.9")
+    (version "1.3.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/gmtp/" version
                                   "/gmtp-" version ".tar.gz"))
               (sha256
                (base32
-                "0bdxvi0jf3q870a39xzsaj4qrjwc9b5bgvc95plc7xb6vf2m7zsv"))))
+                "0fyi3pdl2g57vr0p46ip2wwzyap3l0by7iqaqygv0yxfcs79l6xj"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:configure-flags
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 53d13d5b57..0eb379eb77 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -223,6 +224,10 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
   (let* ((version "4.5")
          (build-phase
           '(lambda* (#:key system inputs #:allow-other-keys #:rest args)
+             ;; Avoid introducing timestamps
+             (setenv "KCONFIG_NOTIMESTAMP" "1")
+             (setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
+
              ;; Apply the neat patch.
              (system* "patch" "-p1" "--force"
                       "-i" (assoc-ref inputs "patch/freedo+gnu"))
@@ -348,13 +353,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.19")
+    (version "4.1.20")
     (source (origin
               (method url-fetch)
               (uri (linux-libre-urls version))
               (sha256
                (base32
-                "0xkj94xmnmxr768qp6n68r1g68ix1sds95nv6zfg4x8fc7fzn8km"))))
+                "0vwk6jh57djbwr29xvlgaf14409bq9vmwf6r6nq9jdl6dizfd110"))))
     (native-inputs
      (let ((conf (kernel-config (or (%current-target-system)
                                     (%current-system))
@@ -1581,7 +1586,6 @@ from the module-init-tools project.")
 
 (define-public eudev
   ;; The post-systemd fork, maintained by Gentoo.
-  ;; TODO: Merge with 'eudev-with-blkid' below at an opportune time.
   (package
     (name "eudev")
     (version "3.1.5")
@@ -1600,7 +1604,11 @@ from the module-init-tools project.")
        ("perl" ,perl)
        ("gperf" ,gperf)))
     (inputs
-     `(("kmod" ,kmod)))
+     ;; When linked against libblkid, eudev can populate /dev/disk/by-label
+     ;; and similar; it also installs the '60-persistent-storage.rules' file,
+     ;; which contains the rules to do that.
+     `(("util-linux" ,util-linux)                 ;for blkid
+       ("kmod" ,kmod)))
     (home-page "https://wiki.gentoo.org/wiki/Project:Eudev")
     (synopsis "Userspace device management")
     (description "Udev is a daemon which dynamically creates and removes
@@ -1608,18 +1616,6 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot
 time.")
     (license license:gpl2+)))
 
-(define-public eudev-with-blkid
-  ;; TODO: Merge with 'eudev' above at an opportune time.
-  (package
-    (inherit eudev)
-    (name "eudev-with-blkid")
-    (inputs
-     ;; When linked against libblkid, eudev can populate /dev/disk/by-label
-     ;; and similar; it also installs the '60-persistent-storage.rules' file,
-     ;; which contains the rules to do that.
-     `(("util-linux" ,util-linux)                 ;for blkid
-       ,@(package-inputs eudev)))))
-
 (define-public lvm2
   (package
     (name "lvm2")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 5bb633d66f..7bcb93cbc6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -177,18 +177,19 @@ aliasing facilities to work just as they would on normal mail.")
 (define-public mutt
   (package
     (name "mutt")
-    (version "1.5.24")
+    (version "1.6.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2"))
+               "06bc2drbgalkk68rzg7hq2v5m5qgjxff5357wg0419dpi8ivdbr9"))
              (patches (list (search-patch "mutt-store-references.patch")))))
     (build-system gnu-build-system)
     (inputs
      `(("cyrus-sasl" ,cyrus-sasl)
+       ("gdbm" ,gdbm)
        ("gpgme" ,gpgme)
        ("ncurses" ,ncurses)
        ("openssl" ,openssl)
@@ -198,6 +199,7 @@ aliasing facilities to work just as they would on normal mail.")
                            "--enable-imap"
                            "--enable-pop"
                            "--enable-gpgme"
+                           "--enable-hcache" ; for header caching
                            "--with-ssl"
                            "--with-sasl"
                            ;; so that mutt does not check whether the path
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 6d3d134c20..adebf09a32 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
@@ -52,7 +52,6 @@
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gd)
   #:use-module (gnu packages ghostscript)
-  #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
   #:use-module (gnu packages less)
@@ -177,7 +176,7 @@ numbers.")
 (define-public glpk
   (package
     (name "glpk")
-    (version "4.59")
+    (version "4.60")
     (source
      (origin
       (method url-fetch)
@@ -185,7 +184,7 @@ numbers.")
                           version ".tar.gz"))
       (sha256
        (base32
-        "1bpbp5z0378kaj5bqmc5m2j5h9c7553p0s2j6a28badqghpbx673"))))
+        "15z2ymzqhxwss6wgdj5f7vkyqlqdsjgrvm0x871kmlx0n0664mhk"))))
     (build-system gnu-build-system)
     (inputs
      `(("gmp" ,gmp)))
@@ -201,45 +200,57 @@ translator for the language.  In addition to the C library, a stand-alone
 LP/MIP solver is included in the package.")
     (license license:gpl3+)))
 
-(define-public pspp
+(define-public 4ti2
   (package
-    (name "pspp")
-    (version "0.8.5")
+    (name "4ti2")
+    (version "1.6.7")
     (source
      (origin
       (method url-fetch)
-      (uri (string-append "mirror://gnu/pspp/pspp-"
-                          version ".tar.gz"))
+      (uri (string-append "http://www.4ti2.de/version_" version
+                          "/4ti2-" version ".tar.gz"))
       (sha256
        (base32
-        "0c8326yykidi94xi7jn27j8iqxc38vc07d4wf5zyk0l8lpzx5vz7"))))
+        "1frix3rnm9ffr93alqzw4cavxbfpf524l8rfbmcpyhwd3n1km0yl"))))
     (build-system gnu-build-system)
-    (inputs
-     `(("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("gettext" ,gnu-gettext)
-       ("gsl" ,gsl)
-       ("libxml2" ,libxml2)
-       ("pango" ,pango)
-       ("readline" ,readline)
-       ("gtk" ,gtk+-2)
-       ("gtksourceview" ,gtksourceview-2)
-       ("zlib" ,zlib)))
     (native-inputs
-     `(("glib" ,glib "bin")             ;for glib-genmarshal
-       ("perl" ,perl)
-       ("texinfo" ,texinfo)
-       ("pkg-config" ,pkg-config)))
-    (home-page "http://www.gnu.org/software/pspp/")
-    (synopsis "Statistical analysis")
+     `(("which" ,(@ (gnu packages base) which)))) ; for the tests
+    (inputs
+     `(("glpk" ,glpk)
+       ("gmp" ,gmp)))
+    (home-page "http://www.4ti2.de/")
+    (synopsis "Mathematical tool suite for problems on linear spaces")
     (description
-     "GNU PSPP is a statistical analysis program.  It can perform
-descriptive statistics, T-tests, linear regression and non-parametric tests.
-It features both a graphical interface as well as command-line input.  PSPP
-is designed to interoperate with Gnumeric, LibreOffice and OpenOffice.  Data
-can be imported from spreadsheets, text files and database sources and it can
-be output in text, PostScript, PDF or HTML.")
-    (license license:gpl3+)))
+     "4ti2 implements algorithms for solving algebraic, geometric and
+combinatorial problems on linear spaces.  Among others, it solves systems
+of linear equations, computes extreme rays of polyhedral cones, solves
+integer programming problems and computes Markov bases for statistics.")
+    (license license:gpl2+)))
+
+(define-public cddlib
+  (package
+    (name "cddlib")
+    (version "0.94h")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-"
+                          (string-delete #\. version) ".tar.gz"))
+      (sha256
+       (base32
+        "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("gmp" ,gmp)))
+    (home-page "https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html")
+    (synopsis "Library for convex hulls and extreme rays of polyhedra")
+    (description
+     "The C-library cddlib implements the Double Description Method of
+Motzkin et al. for generating all vertices (i.e. extreme points) and extreme
+rays of a general convex polyhedron given by a system of linear inequalities
+in arbitrary dimension.  It can also be used for the converse operation of
+computing convex hulls.")
+    (license license:gpl2+)))
 
 (define-public arpack-ng
   (package
diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm
index 6e3747c943..43dab8ff41 100644
--- a/gnu/packages/mc.scm
+++ b/gnu/packages/mc.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -33,7 +34,7 @@
 (define-public mc
   (package
     (name "mc")
-    (version "4.8.11")
+    (version "4.8.16")
     (source
      (origin
       (method url-fetch)
@@ -41,8 +42,7 @@
                           version ".tar.xz"))
       (sha256
        (base32
-        "0flrw5pq2mg2d39bh6dllndhpcfppjza6g70p4ry2wcx9y2flxqq"))
-      (patches (list (search-patch "mc-fix-ncurses-build.patch")))))
+        "083h5gwc0nny9b557way5dsmj71g2bzkiai4bn30y5nkjwqbxg5v"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("perl" ,perl)))
@@ -63,4 +63,4 @@ copying and moving, Midnight Commander also supports viewing the contents of
 RPM package files and other archives and managing files on other computers via
 FTP or FISH.  It also includes a powerful text editor for opening text
 files.")
-    (license gpl2)))
+    (license gpl3+)))
diff --git a/gnu/packages/miscfiles.scm b/gnu/packages/miscfiles.scm
deleted file mode 100644
index fd0fc7b8e2..0000000000
--- a/gnu/packages/miscfiles.scm
+++ /dev/null
@@ -1,47 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright 2014 John Darrington <jmd@gnu.org>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages miscfiles)
-  #:use-module (guix licenses)
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu))
-
-(define-public miscfiles
-  (package
-    (name "miscfiles")
-    (version "1.5")
-    (source
-     (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnu/" name "/" name "-"
-                          version ".tar.gz"))
-      (sha256
-       (base32
-        "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka"))))
-    (build-system gnu-build-system)
-    (home-page "https://www.gnu.org/software/miscfiles/")
-    (synopsis
-     "Data files for airport codes, zip codes, a dictionary, and more")
-    (description
-     "GNU Miscfiles is a collection of common data files.  They include, for
-example, country abbreviations, names and capital cities; currency
-abbreviations and names; a Best Current Practices index; a map of the ASCII
-character set; a list of three-letter airport codes; and an English word
-list.")
-    (license gpl2+)))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index 55c09bc897..1af66e039c 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -72,7 +72,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
 (define-public mpd
   (package
     (name "mpd")
-    (version "0.19.12")
+    (version "0.19.14")
     (source (origin
               (method url-fetch)
               (uri
@@ -81,7 +81,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
                               "/mpd-" version ".tar.xz"))
               (sha256
                (base32
-                "0xg8w5vn6xd0yfw55qj6wnav7v14nmr00s3d4w5gixbjrv3ycvvv"))))
+                "1rwr1qb9an1qylddf35xwdasyfkxghd00c29saj04l1f2c2kilig"))))
     (build-system gnu-build-system)
     (inputs `(("ao" ,ao)
               ("alsa-lib" ,alsa-lib)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index ffee9d6245..1fa142120e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -78,6 +79,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -312,7 +314,10 @@ interface.  It is implemented as a frontend to @code{klick}.")
          (add-before 'configure 'prepare-configuration
           (lambda _
             (substitute* "configure"
-              (("SHELL=/bin/sh") "SHELL=sh"))
+              (("SHELL=/bin/sh") "SHELL=sh")
+              ;; When checking the fontforge version do not consider the
+              ;; version string that's part of the directory.
+              (("head -n") "tail -n"))
             (setenv "out" "www")
             (setenv "conf" "www")
             #t))
@@ -1068,14 +1073,14 @@ computer's keyboard.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.7.3")
+    (version "0.7.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
+                "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f)) ; no "check" target
     (inputs
@@ -1198,9 +1203,8 @@ MusicBrainz database.")
     (build-system python-build-system)
     (home-page "https://github.com/echonest/pyechonest")
     (synopsis "Python interface to The Echo Nest APIs")
-    (description "Pyechonest is an open source Python library for the Echo Nest
-API.  With Pyechonest you have Python access to the entire set of API methods
-including:
+    (description "Pyechonest is a Python library for the Echo Nest API.  With
+Pyechonest you have Python access to the entire set of API methods including:
 
 @enumerate
 @item artist - search for artists by name, description, or attribute, and get
@@ -1272,13 +1276,16 @@ websites such as Libre.fm.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-HOME
-           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
+           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))
+         (replace 'check
+           (lambda _ (zero? (system* "nosetests" "-v")))))))
     (native-inputs
      `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
        ("python2-flask" ,python2-flask)
        ("python2-setuptools" ,python2-setuptools)
        ("python2-mock" ,python2-mock)
        ("python2-mpd2" ,python2-mpd2)
+       ("python2-nose" ,python2-nose)
        ("python2-pathlib" ,python2-pathlib)
        ("python2-pyxdg" ,python2-pyxdg)
        ("python2-pyechonest" ,python2-pyechonest)
@@ -1301,3 +1308,33 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://milkytracker.org/files/"
+                                  name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags '("CXXFLAGS=-lasound")))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Music tracker for working with .MOD/.XM module files")
+    (description "MilkyTracker is a music application for creating .MOD and .XM
+module files.  It attempts to recreate the module replay and user experience of
+the popular DOS program Fasttracker II, with special playback modes available
+for improved Amiga ProTracker 2/3 compatibility.")
+    (home-page "http://milkytracker.org/")
+    ;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or later.
+    (license (list license:bsd-3 license:gpl3+))))
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ac7e4e70e6..a4f431a0b1 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,7 +27,10 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages ncurses))
+  #:use-module (gnu packages ncurses)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages compression))
 
 (define-public miredo
   (package
@@ -210,3 +214,41 @@ bandwidth usage in real time.  It visualizes the in- and outgoing traffic using
 two graphs and provides additional info like total amount of transfered data
 and min/max network usage.")
     (license license:gpl2+)))
+
+(define-public iodine
+  (package
+    (name "iodine")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://code.kryo.se/" name "/"
+                                  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0gh17kcxxi37k65zm4gqsvbk3aw7yphcs3c02pn1c4s2y6n40axd"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'check 'delete-failing-tests
+           ;; Avoid https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=802105
+           (lambda _
+             (substitute* "tests/common.c"
+               (("tcase_add_test\\(tc, \
+test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);")
+                "")))))
+       #:make-flags (list "CC=gcc"
+                          (string-append "prefix=" (assoc-ref %outputs "out")))
+       #:test-target "test"))
+    (inputs `(("zlib" ,zlib)))
+    (native-inputs `(("check" ,check)
+                     ("pkg-config" ,pkg-config)))
+    (home-page "http://code.kryo.se/iodine/")
+    (synopsis "Tunnel IPv4 data through a DNS server")
+    (description "Iodine tunnels IPv4 data through a DNS server.  This
+can be useful in different situations where internet access is firewalled, but
+DNS queries are allowed.  The bandwidth is asymmetrical, with limited upstream
+and up to 1 Mbit/s downstream.")
+    ;; src/md5.[ch] is released under the zlib license
+    (license (list license:isc license:zlib))))
diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 0fa488f842..947abf31a4 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -20,7 +20,6 @@
 (define-module (gnu packages openstack)
   #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
-  #:use-module (gnu packages version-control)
   #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module ((guix licenses)
@@ -235,48 +234,6 @@ tested on Python version 3.2, 2.7 and 2.6.")
 (define-public python2-os-testr
   (package-with-python2 python-os-testr))
 
-(define-public python-pbr
-  (package
-    (name "python-pbr")
-    (version "1.8.1")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://pypi.python.org/packages/source/p/pbr/pbr-"
-               version
-               ".tar.gz"))
-        (sha256
-          (base32
-            "0jcny36cf3s8ar5r4a575npz080hndnrfs4np1fqhv0ym4k7c4p2"))))
-    (build-system python-build-system)
-    (arguments
-     `(#:tests? #f)) ;; Most tests seem to use the Internet.
-    (propagated-inputs
-      `(("python-testrepository" ,python-testrepository)
-        ("git" ,git))) ;; pbr actually uses the "git" binary.
-    (inputs
-      `(("python-fixtures" ,python-fixtures)
-        ("python-mimeparse" ,python-mimeparse)
-        ("python-mock" ,python-mock)
-        ("python-setuptools" ,python-setuptools)
-        ("python-six" ,python-six)
-        ("python-sphinx" ,python-sphinx)
-        ("python-testrepository" ,python-testrepository)
-        ("python-testresources" ,python-testresources)
-        ("python-testscenarios" ,python-testscenarios)
-        ("python-testtools" ,python-testtools)
-        ("python-virtualenv" ,python-virtualenv)))
-    (home-page "https://launchpad.net/pbr")
-    (synopsis "Change the default behavior of Python’s setuptools")
-    (description
-      "Python Build Reasonableness (PBR) is a library that injects some useful
-and sensible default behaviors into your setuptools run.")
-    (license asl2.0)))
-
-(define-public python2-pbr
-  (package-with-python2 python-pbr))
-
 (define-public python-requests-mock
   (package
     (name "python-requests-mock")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 7a7dec3363..38c9bdb7d1 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -60,17 +60,17 @@
                      arch "-linux"
                      "/20131110/guile-2.0.9.tar.xz")))
 
-(define-public guix-0.9.0
+(define-public guix-0.10.0
   (package
     (name "guix")
-    (version "0.9.0")
+    (version "0.10.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "ftp://alpha.gnu.org/gnu/guix/guix-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "0h573z2br0bf43sxyzia9xlm03n3y43zg1snds3c2piq2m6kabrn"))))
+               "0d4afwy7bpqi4k4bzvwc4ga4shwssis1nrvdw53qjyg9bw1a8lbn"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags (list
@@ -140,9 +140,16 @@
                             (path   (string-append
                                      json "/share/guile/site/2.0:"
                                      gnutls "/share/guile/site/2.0")))
+
+                       ;; Ignore user settings so that a bogus
+                       ;; GUILE_LOAD_COMPILED_PATH does not prevent use of
+                       ;; 'guix', notably when it contains entries pointing to
+                       ;; incompatible .go files as reported at
+                       ;; <https://lists.gnu.org/archive/html/guix-devel/2016-03/msg01261.html>.
                        (wrap-program (string-append out "/bin/guix")
-                         `("GUILE_LOAD_PATH" ":" prefix (,path))
-                         `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,path)))
+                         `("GUILE_LOAD_PATH" ":" = (,path))
+                         `("GUILE_LOAD_COMPILED_PATH" ":" = (,path)))
+
                        #t))))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("emacs" ,emacs-no-x)))      ;for guix.el
@@ -193,11 +200,11 @@ the Nix package manager.")
 (define guix-devel
   ;; Development version of Guix.
   ;;
-  ;; Note: use a short commit id; when using the long one, the limit on socket
-  ;; file names is exceeded while running the tests.
-  (let ((commit "71e2065a38cf2641b7eb8c557b0f043f5a42a649"))
-    (package (inherit guix-0.9.0)
-      (version (string-append "0.9.0." (string-take commit 7)))
+  ;; 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 "761139354798303c605964b896c250a01486b00a"))
+    (package (inherit guix-0.10.0)
+      (version (string-append "0.10.0-0." (string-take commit 4)))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -205,10 +212,10 @@ the Nix package manager.")
                       (commit commit)))
                 (sha256
                  (base32
-                  "0wrrywfdc27yxjns55qdz5si49c8zcb9q5557g2kx48dbm7p0dzw"))
+                  "1wvy9kms3v6k7cybw6489mqk161lv8d03qgmmxbmdgiwjmjxbzbn"))
                 (file-name (string-append "guix-" version "-checkout"))))
       (arguments
-       (substitute-keyword-arguments (package-arguments guix-0.9.0)
+       (substitute-keyword-arguments (package-arguments guix-0.10.0)
          ((#:configure-flags flags)
           ;; Set 'DOT_USER_PROGRAM' to the empty string so we don't keep a
           ;; reference to Graphviz, whose closure is pretty big (too big for
@@ -232,7 +239,7 @@ the Nix package manager.")
          ("texinfo" ,texinfo)
          ("graphviz" ,graphviz)
          ("help2man" ,help2man)
-         ,@(package-native-inputs guix-0.9.0))))))
+         ,@(package-native-inputs guix-0.10.0))))))
 
 (define-public guix guix-devel)
 
@@ -389,13 +396,13 @@ transactions from C or Python.")
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "49")
+    (version "51")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1mf6b7j82ckn90ggz6bp6c2jydz87xj8r8jmfl4hg7jcmf7dxmim"))))
+                "18rn6rrwh586228vnaf1nq0wayh19zbvfc0qmnbys6ln2pv2v007"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/patches/libextractor-ffmpeg-3.patch b/gnu/packages/patches/libextractor-ffmpeg-3.patch
new file mode 100644
index 0000000000..d0f83f624c
--- /dev/null
+++ b/gnu/packages/patches/libextractor-ffmpeg-3.patch
@@ -0,0 +1,360 @@
+Fix build with ffmpeg-3, based on upstream revisions r35548 and r35549 by LRN
+and r36975 by Christian Grothoff, and backported to libextractor-1.3 by
+Mark H Weaver <mhw@netris.org>
+
+--- libextractor-1.3/src/plugins/thumbnailffmpeg_extractor.c.orig	2013-12-21 11:04:41.000000000 -0500
++++ libextractor-1.3/src/plugins/thumbnailffmpeg_extractor.c	2016-04-04 23:38:46.429041081 -0400
+@@ -59,6 +59,12 @@
+ #include <ffmpeg/swscale.h>
+ #endif
+ 
++#ifdef PIX_FMT_RGB24
++#define PIX_OUTPUT_FORMAT PIX_FMT_RGB24
++#else
++#define PIX_OUTPUT_FORMAT AV_PIX_FMT_RGB24
++#endif
++
+ /**
+  * Set to 1 to enable debug output.
+  */ 
+@@ -153,7 +159,7 @@
+ static size_t 
+ create_thumbnail (int src_width, int src_height, 
+ 		  int src_stride[],
+-		  enum PixelFormat src_pixfmt, 
++		  enum AVPixelFormat src_pixfmt,
+ 		  const uint8_t * const src_data[],
+ 		  int dst_width, int dst_height,
+ 		  uint8_t **output_data, 
+@@ -189,7 +195,8 @@
+   if (NULL == 
+       (scaler_ctx =
+        sws_getContext (src_width, src_height, src_pixfmt,
+-		       dst_width, dst_height, PIX_FMT_RGB24, 
++		       dst_width, dst_height,
++		       PIX_OUTPUT_FORMAT,
+ 		       SWS_BILINEAR, NULL, NULL, NULL)))
+     {
+ #if DEBUG
+@@ -199,7 +206,12 @@
+       return 0;
+     }
+ 
+-  if (NULL == (dst_frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  dst_frame = av_frame_alloc ();
++#else
++  dst_frame = avcodec_alloc_frame();
++#endif
++  if (NULL == dst_frame)
+     {
+ #if DEBUG
+       fprintf (stderr,
+@@ -209,18 +221,24 @@
+       return 0;
+     }
+   if (NULL == (dst_buffer =
+-	       av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height))))
++	       av_malloc (avpicture_get_size (PIX_OUTPUT_FORMAT,
++					      dst_width, dst_height))))
+     {
+ #if DEBUG
+       fprintf (stderr,
+                "Failed to allocate the destination image buffer\n");
+ #endif
+-      av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&dst_frame);
++#else
++      avcodec_free_frame (&dst_frame);
++#endif
+       sws_freeContext (scaler_ctx);
+       return 0;
+     }
+   avpicture_fill ((AVPicture *) dst_frame, dst_buffer,
+-                  PIX_FMT_RGB24, dst_width, dst_height);
++                  PIX_OUTPUT_FORMAT,
++                  dst_width, dst_height);
+   sws_scale (scaler_ctx,
+              src_data, 
+              src_stride,
+@@ -236,7 +254,11 @@
+                "Failed to allocate the encoder output buffer\n");
+ #endif
+       av_free (dst_buffer);
+-      av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&dst_frame);
++#else
++      avcodec_free_frame (&dst_frame);
++#endif
+       sws_freeContext (scaler_ctx);
+       return 0;
+     }
+@@ -249,13 +271,17 @@
+ #endif
+       av_free (encoder_output_buffer);
+       av_free (dst_buffer);
+-      av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&dst_frame);
++#else
++      avcodec_free_frame (&dst_frame);
++#endif
+       sws_freeContext (scaler_ctx);
+       return 0;
+     }
+   encoder_codec_ctx->width = dst_width;
+   encoder_codec_ctx->height = dst_height;
+-  encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24;
++  encoder_codec_ctx->pix_fmt = PIX_OUTPUT_FORMAT;
+   opts = NULL;
+   if (avcodec_open2 (encoder_codec_ctx, encoder_codec, &opts) < 0)
+     {
+@@ -263,10 +289,14 @@
+       fprintf (stderr,
+                "Failed to open the encoder\n");
+ #endif
+-      av_free (encoder_codec_ctx);
++      avcodec_free_context (&encoder_codec_ctx);
+       av_free (encoder_output_buffer);
+       av_free (dst_buffer);
+-      av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&dst_frame);
++#else
++      avcodec_free_frame (&dst_frame);
++#endif
+       sws_freeContext  (scaler_ctx);
+       return 0;
+     }
+@@ -295,9 +325,13 @@
+ cleanup:
+   av_dict_free (&opts);
+   avcodec_close (encoder_codec_ctx);
+-  av_free (encoder_codec_ctx);
++  avcodec_free_context (&encoder_codec_ctx);
+   av_free (dst_buffer);
+-  av_free (dst_frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  av_frame_free (&dst_frame);
++#else
++  avcodec_free_frame (&dst_frame);
++#endif
+   sws_freeContext (scaler_ctx);
+   *output_data = encoder_output_buffer;
+ 
+@@ -406,18 +440,23 @@
+       fprintf (stderr,
+ 	       "Failed to open image codec\n");
+ #endif
+-      av_free (codec_ctx);
++      avcodec_free_context (&codec_ctx);
+       return;
+     }
+   av_dict_free (&opts);
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  frame = av_frame_alloc ();
++#else
++  frame = avcodec_alloc_frame();
++#endif
++  if (NULL == frame)
+     {
+ #if DEBUG
+       fprintf (stderr,
+                "Failed to allocate frame\n");
+ #endif
+       avcodec_close (codec_ctx);
+-      av_free (codec_ctx);
++      avcodec_free_context (&codec_ctx);
+       return;
+     }
+ 
+@@ -441,9 +480,13 @@
+       fprintf (stderr,
+ 	       "Failed to decode a complete frame\n");
+ #endif
+-      av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&frame);
++#else
++      avcodec_free_frame (&frame);
++#endif
+       avcodec_close (codec_ctx);
+-      av_free (codec_ctx);
++      avcodec_free_context (&codec_ctx);
+       return;
+     }
+   calculate_thumbnail_dimensions (codec_ctx->width, codec_ctx->height,
+@@ -467,9 +510,13 @@
+ 		err);
+       av_free (encoded_thumbnail);
+     }
+-  av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  av_frame_free (&frame);
++#else
++  avcodec_free_frame (&frame);
++#endif
+   avcodec_close (codec_ctx);
+-  av_free (codec_ctx);
++  avcodec_free_context (&codec_ctx);
+ }
+ 
+ 
+@@ -563,7 +610,12 @@
+       return;
+     }
+ 
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  frame = av_frame_alloc ();
++#else
++  frame = avcodec_alloc_frame();
++#endif
++  if (NULL == frame)
+     {
+ #if DEBUG
+       fprintf (stderr,
+@@ -616,7 +668,11 @@
+       fprintf (stderr,
+ 	       "Failed to decode a complete frame\n");
+ #endif
+-      av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++      av_frame_free (&frame);
++#else
++      avcodec_free_frame (&frame);
++#endif
+       avcodec_close (codec_ctx);
+       avformat_close_input (&format_ctx);
+       av_free (io_ctx);
+@@ -643,7 +699,11 @@
+ 		err);
+       av_free (encoded_thumbnail);
+     }
+-  av_free (frame);
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  av_frame_free (&frame);
++#else
++  avcodec_free_frame (&frame);
++#endif
+   avcodec_close (codec_ctx);
+   avformat_close_input (&format_ctx);
+   av_free (io_ctx);
+--- libextractor-1.3/src/plugins/previewopus_extractor.c.orig	2013-12-22 17:44:18.000000000 -0500
++++ libextractor-1.3/src/plugins/previewopus_extractor.c	2016-04-04 23:39:41.377720710 -0400
+@@ -296,8 +296,13 @@
+ /** Initialize one audio frame for reading from the input file */
+ static int init_input_frame(AVFrame **frame)
+ {
+-    if (!(*frame = avcodec_alloc_frame())) {
+- #if DEBUG
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++    *frame = av_frame_alloc ();
++#else
++    *frame = avcodec_alloc_frame();
++#endif
++    if (NULL == *frame) {
++#if DEBUG
+         fprintf(stderr, "Could not allocate input frame\n");
+ #endif
+         return AVERROR(ENOMEM);
+@@ -655,7 +660,11 @@
+         av_freep(&converted_input_samples[0]);
+         free(converted_input_samples);
+     }
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++    av_frame_free (&input_frame);
++#else
+     avcodec_free_frame(&input_frame);
++#endif
+ 
+     return ret;
+ }
+@@ -671,10 +680,15 @@
+     int error;
+ 
+     /** Create a new frame to store the audio samples. */
+-    if (!(*frame = avcodec_alloc_frame())) {
+-        #if DEBUG
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++    *frame = av_frame_alloc ();
++#else
++    *frame = avcodec_alloc_frame();
++#endif
++    if (NULL == *frame) {
++#if DEBUG
+ 		fprintf(stderr, "Could not allocate output frame\n");
+-		#endif
++#endif
+         return AVERROR_EXIT;
+     }
+ 
+@@ -699,10 +713,14 @@
+      * sure that the audio frame can hold as many samples as specified.
+      */
+     if ((error = av_frame_get_buffer(*frame, 0)) < 0) {
+-        #if DEBUG
++#if DEBUG
+ 		fprintf(stderr, "Could allocate output frame samples (error '%s')\n", get_error_text(error));
+-		#endif
++#endif
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++        av_frame_free (frame);
++#else
+         avcodec_free_frame(frame);
++#endif
+         return error;
+     }
+ 
+@@ -780,20 +798,32 @@
+      * The samples are stored in the frame temporarily.
+      */
+     if (av_audio_fifo_read(fifo, (void **)output_frame->data, frame_size) < frame_size) {
+-        #if DEBUG
++#if DEBUG
+ 		fprintf(stderr, "Could not read data from FIFO\n");
+-		#endif
++#endif
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++        av_frame_free (&output_frame);
++#else
+         avcodec_free_frame(&output_frame);
++#endif
+         return AVERROR_EXIT;
+     }
+ 
+     /** Encode one frame worth of audio samples. */
+     if (encode_audio_frame(output_frame, output_format_context,
+                            output_codec_context, &data_written)) {
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++        av_frame_free (&output_frame);
++#else
+         avcodec_free_frame(&output_frame);
++#endif
+         return AVERROR_EXIT;
+     }
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++    av_frame_free (&output_frame);
++#else
+     avcodec_free_frame(&output_frame);
++#endif
+     return 0;
+ }
+ /** Write the trailer of the output file container. */
+@@ -907,7 +937,12 @@
+       return;
+     }
+ 
+-  if (NULL == (frame = avcodec_alloc_frame ()))
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
++  frame = av_frame_alloc ();
++#else
++  frame = avcodec_alloc_frame();
++#endif
++  if (NULL == frame)
+     {
+ #if DEBUG
+       fprintf (stderr,
diff --git a/gnu/packages/patches/mc-fix-ncurses-build.patch b/gnu/packages/patches/mc-fix-ncurses-build.patch
deleted file mode 100644
index c583c92e10..0000000000
--- a/gnu/packages/patches/mc-fix-ncurses-build.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Patch cherry-picked from resolution of
-http://www.midnight-commander.org/ticket/3114
-
---- a/lib/tty/key.c	(revision 0ed4a91d7df4e50512defd2e0734ecab7c9da07f)
-+++ b/lib/tty/key.c	(revision d870aedad1907773f8586fe818a89e6b5178b849)
-@@ -1947,4 +1947,5 @@
- {
-     int c;
-+    int flag = 0;               /* Return value from select */
- #ifdef HAVE_LIBGPM
-     static struct Gpm_Event ev; /* Mouse event */
-@@ -1979,5 +1980,4 @@
-     {
-         int nfd;
--        static int flag = 0;    /* Return value from select */
-         fd_set select_set;
- 
---- a/lib/tty/tty-ncurses.c	(revision bb65b467900ea9eb1f7867c059fd26fac86c747c)
-+++ b/lib/tty/tty-ncurses.c	(revision d870aedad1907773f8586fe818a89e6b5178b849)
-@@ -50,4 +50,5 @@
- #include "tty.h"
- #include "color-internal.h"
-+#include "key.h"
- #include "mouse.h"
- #include "win.h"
-@@ -531,4 +532,5 @@
-     {
-         int res;
-+        unsigned char str[UTF8_CHAR_LEN + 1];
- 
-         res = g_unichar_to_utf8 (c, (char *) str);
-@@ -541,5 +543,4 @@
-         else
-         {
--            unsigned char str[UTF8_CHAR_LEN + 1];
-             const char *s;
- 
diff --git a/gnu/packages/patches/openssl-c-rehash.patch b/gnu/packages/patches/openssl-c-rehash.patch
deleted file mode 100644
index f873a9af23..0000000000
--- a/gnu/packages/patches/openssl-c-rehash.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This patch removes the explicit reference to the 'perl' binary,
-such that OpenSSL does not retain a reference to Perl.
-
-The 'c_rehash' program is seldom used, but it is used nonetheless
-to create symbolic links to certificates, for instance in the 'nss-certs'
-package.
-
---- openssl-1.0.2d/tools/c_rehash	2015-09-09 18:36:07.313316482 +0200
-+++ openssl-1.0.2d/tools/c_rehash	2015-09-09 18:36:28.965458458 +0200
-@@ -1,4 +1,6 @@
--#!/usr/bin/perl
-+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
-+  & eval 'exec perl -wS "$0" $argv:q'
-+    if 0;
- 
- # Perl c_rehash script, scan all files in a directory
- # and add symbolic links to their hash values.
diff --git a/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch b/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch
deleted file mode 100644
index 671b5fb910..0000000000
--- a/gnu/packages/patches/webkitgtk-2.4-sql-init-string.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Copied from Fedora.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1189303
-http://pkgs.fedoraproject.org/cgit/webkitgtk.git/commit/?id=e689e45d0cc2c50484e69d20371ba607af7326f3
-
-diff -up webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp
---- webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp.sql_initialize_string	2015-09-14 09:25:43.004200172 +0200
-+++ webkitgtk-2.4.9/Source/WebCore/platform/sql/SQLiteStatement.cpp	2015-09-14 09:25:57.852082368 +0200
-@@ -71,7 +71,7 @@ int SQLiteStatement::prepare()
-     // this lets SQLite avoid an extra string copy.
-     size_t lengthIncludingNullCharacter = query.length() + 1;
- 
--    const char* tail;
-+    const char* tail = nullptr;
-     int error = sqlite3_prepare_v2(m_database.sqlite3Handle(), query.data(), lengthIncludingNullCharacter, &m_statement, &tail);
- 
-     if (error != SQLITE_OK)
diff --git a/gnu/packages/patches/wicd-template-instantiation.patch b/gnu/packages/patches/wicd-template-instantiation.patch
deleted file mode 100644
index 16d8fa6e1d..0000000000
--- a/gnu/packages/patches/wicd-template-instantiation.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Wicd 1.7.3 fails to instantiate template lines that have several
-variable references.  For instance, the line:
-
-  wep_key$_KEY_INDEX=$_KEY
-
-which is found in in the 'wep-hex' template, expands to these two
-lines:
-
-  wep_key0=$_KEY
-  wep_key0=123456789ab
-
-This patch fixes that by only emitting the fully substituted line.
-
-Patch by Ludovic Courtès <ludo@gnu.org>.
-
---- a/wicd/misc.py	2012-11-17 00:07:08 +0000
-+++ b/wicd/misc.py	2015-05-09 11:22:37 +0000
-@@ -321,11 +321,11 @@ def ParseEncryption(network):
-                                 rep_val = '0'
-                         if rep_val:
-                             line = line.replace("$_%s" % cur_val, str(rep_val))
--                            config_file = ''.join([config_file, line])
-                         else:
-                             print "Ignoring template line: '%s'" % line
-                     else:
-                         print "Weird parsing error occurred"
-+                config_file = ''.join([config_file, line])
-             else:  # Just a regular entry.
-                 config_file = ''.join([config_file, line])
diff --git a/gnu/packages/patches/wicd-wpa2-ttls.patch b/gnu/packages/patches/wicd-wpa2-ttls.patch
new file mode 100644
index 0000000000..9d80ee7ed2
--- /dev/null
+++ b/gnu/packages/patches/wicd-wpa2-ttls.patch
@@ -0,0 +1,38 @@
+Add a template for WPA2-TTLS, which is notably used by Eduroam.
+
+--- a/encryption/templates/active
++++ b/encryption/templates/active
+@@ -4,6 +4,7 @@ wpa-psk
+ wpa-psk-hex
+ wpa2-leap
+ wpa2-peap
++wpa2-ttls
+ wep-hex
+ wep-passphrase
+ wep-shared
+diff --git a/encryption/templates/wpa2-ttls b/encryption/templates/wpa2-ttls
+new file mode 100644
+index 0000000..4f66a1e
+--- /dev/null
++++ b/encryption/templates/wpa2-ttls
+@@ -0,0 +1,20 @@
++name = WPA2-TTLS (used notably by Eduroam)
++author = various contributors
++version = 1
++require identity *Identity anonymous_identity *Anonymous_identity password *Password ca_cert *Path_to_CA_Cert
++protected password *Password
++-----
++ctrl_interface=/var/run/wpa_supplicant
++network={
++        ssid="$_ESSID"
++        scan_ssid=$_SCAN
++        proto=WPA2
++        key_mgmt=WPA-EAP
++        group=CCMP TKIP
++        eap=TTLS
++        identity="$_IDENTITY"
++        password="$_PASSWORD"
++        anonymous_identity="$_ANONYMOUS_IDENTITY"
++        ca_cert="$_CA_CERT"
++        phase2="auth=PAP"
++}
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index fb42735495..9bbcc8ffa4 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -38,7 +38,6 @@
 (define-public perl
   ;; Yeah, Perl...  It is required early in the bootstrap process by Linux.
   (package
-    (replacement perl-fixed)
     (name "perl")
     (version "5.22.1")
     (source (origin
@@ -54,7 +53,8 @@
                              "perl-source-date-epoch.patch"
                              "perl-deterministic-ordering.patch"
                              "perl-no-build-time.patch"
-                             "perl-CVE-2015-8607.patch")))))
+                             "perl-CVE-2015-8607.patch"
+                             "perl-CVE-2016-2381.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -116,28 +116,6 @@
     (home-page "http://www.perl.org/")
     (license gpl1+)))                          ; or "Artistic"
 
-(define perl-fixed
-  (package
-    (inherit perl)
-    (replacement #f)
-    (source
-      (let ((name "perl") (version "5.22.1"))
-        (origin
-          (method url-fetch)
-          (uri (string-append "http://www.cpan.org/src/5.0/perl-"
-                              version ".tar.gz"))
-          (sha256
-           (base32
-            "09wg24w5syyafyv87l6z8pxwz4bjgcdj996bx5844k6m9445sirb"))
-          (patches (map search-patch
-                        '("perl-no-sys-dirs.patch"
-                          "perl-autosplit-default-time.patch"
-                          "perl-source-date-epoch.patch"
-                          "perl-deterministic-ordering.patch"
-                          "perl-no-build-time.patch"
-                          "perl-CVE-2015-8607.patch"
-                          "perl-CVE-2016-2381.patch"))))))))
-
 (define-public perl-algorithm-c3
   (package
     (name "perl-algorithm-c3")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index c2685f6055..1db749bff1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -16,7 +16,7 @@
 ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
-;;; Copyright © 2015 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -69,6 +69,7 @@
   #:use-module (gnu packages texlive)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (gnu packages web)
   #:use-module (gnu packages base)
   #:use-module (gnu packages xml)
@@ -701,7 +702,7 @@ concepts.")
 (define-public python-lockfile
   (package
     (name "python-lockfile")
-    (version "0.9.1")
+    (version "0.12.2")
     (source
      (origin
        (method url-fetch)
@@ -709,18 +710,25 @@ concepts.")
                            "lockfile-" version ".tar.gz"))
        (sha256
         (base32
-         "0iwif7i84gwpvrnpv4brshdk8j6l77smvknm8k3bg77mj6f5ini3"))))
+         "16gpx5hm73ah5n1079ng0vy381hl802v606npkx4x8nb0gg05vba"))))
     (build-system python-build-system)
     (arguments '(#:test-target "check"))
+    (native-inputs
+     `(("python-pbr" ,python-pbr)))
     (home-page "http://code.google.com/p/pylockfile/")
     (synopsis "Platform-independent file locking module")
     (description
      "The lockfile package exports a LockFile class which provides a simple
 API for locking files.")
-    (license license:expat)))
+    (license license:expat)
+    (properties `((python2-variant . ,(delay python2-lockfile))))))
 
 (define-public python2-lockfile
-  (package-with-python2 python-lockfile))
+  (let ((base (package-with-python2 (strip-python2-variant python-lockfile))))
+    (package
+      (inherit base)
+      (native-inputs `(("python2-setuptools" ,python2-setuptools)
+                       ,@(package-native-inputs base))))))
 
 (define-public python-mock
   (package
@@ -967,20 +975,14 @@ datetime module, available in Python 2.3+.")
 (define-public python-pandas
   (package
     (name "python-pandas")
-    (version "0.16.2")
+    (version "0.18.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pandas" version))
        (sha256
-        (base32 "10agmrkps8bi5948vwpipfxds5kj1d076m9i0nhaxwqiw7gm6670"))))
+        (base32 "050qw0ap5bhyv5flp78x3lcq1dlminl3xaj6kbrm0jqmx0672xf9"))))
     (build-system python-build-system)
-    (arguments
-     `(;; Three tests fail:
-       ;; - test_read_google
-       ;; - test_read_yahoo
-       ;; - test_month_range_union_tz_dateutil
-       #:tests? #f))
     (propagated-inputs
      `(("python-numpy" ,python-numpy)
        ("python-pytz" ,python-pytz)
@@ -1519,7 +1521,7 @@ code introspection, and logging.")
 (define-public python-pytest
   (package
     (name "python-pytest")
-    (version "2.6.1")
+    (version "2.7.3")
     (source
      (origin
        (method url-fetch)
@@ -1528,7 +1530,7 @@ code introspection, and logging.")
              version ".tar.gz"))
        (sha256
         (base32
-         "0g2w4p0n42wvz8rq4k6gnzpkakgz3g8sfanxk8jrsra9675snkcr"))
+         "1z4yi986f9n0p8qmzmn21m21m8j1x78hk3505f89baqm6pdw7afm"))
        (modules '((guix build utils)))
        (snippet
         ;; One of the tests involves the /usr directory, so it fails.
@@ -1862,6 +1864,48 @@ and sensible default behaviors into your setuptools run.")
 (define-public python2-pbr-0.11
   (package-with-python2 python-pbr-0.11))
 
+(define-public python-pbr
+  (package
+    (name "python-pbr")
+    (version "1.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://pypi.python.org/packages/source/p/pbr/pbr-"
+               version
+               ".tar.gz"))
+        (sha256
+          (base32
+            "0jcny36cf3s8ar5r4a575npz080hndnrfs4np1fqhv0ym4k7c4p2"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f)) ;; Most tests seem to use the Internet.
+    (propagated-inputs
+      `(("python-testrepository" ,python-testrepository)
+        ("git" ,git))) ;; pbr actually uses the "git" binary.
+    (inputs
+      `(("python-fixtures" ,python-fixtures)
+        ("python-mimeparse" ,python-mimeparse)
+        ("python-mock" ,python-mock)
+        ("python-setuptools" ,python-setuptools)
+        ("python-six" ,python-six)
+        ("python-sphinx" ,python-sphinx)
+        ("python-testrepository" ,python-testrepository)
+        ("python-testresources" ,python-testresources)
+        ("python-testscenarios" ,python-testscenarios)
+        ("python-testtools" ,python-testtools)
+        ("python-virtualenv" ,python-virtualenv)))
+    (home-page "https://launchpad.net/pbr")
+    (synopsis "Change the default behavior of Python’s setuptools")
+    (description
+      "Python Build Reasonableness (PBR) is a library that injects some useful
+and sensible default behaviors into your setuptools run.")
+    (license asl2.0)))
+
+(define-public python2-pbr
+  (package-with-python2 python-pbr))
+
 (define-public python-fixtures
   (package
     (name "python-fixtures")
@@ -5376,7 +5420,7 @@ should be stored on various operating systems.")
 (define-public python-llfuse
   (package
     (name "python-llfuse")
-    (version "0.41")
+    (version "1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -5384,7 +5428,7 @@ should be stored on various operating systems.")
                     "llfuse-" version ".tar.bz2"))
               (sha256
                (base32
-                "0yzy8ixpmxk00kdq6lx5vvwbs0n6s59qnja5q0js2ahbqyxiz2hb"))))
+                "1li7q04ljrvwharw4fblcbfhvk6s0l3lnv8yqb4c22lcgbkiqlps"))))
     (build-system python-build-system)
     (inputs
      `(("fuse" ,fuse)
@@ -5396,34 +5440,54 @@ should be stored on various operating systems.")
     (description
      "Python-LLFUSE is a set of Python bindings for the low level FUSE API.")
     (home-page "https://bitbucket.org/nikratio/python-llfuse/")
-    ;; Python-LLFUSE includes underscore.js, which is MIT (expat) licensed.
-    ;; The rest of the package is licensed under LGPL2.0 or later.
-    (license (list license:expat lgpl2.0+))))
+    (license lgpl2.0+)
+    (properties `((python2-variant . ,(delay python2-llfuse))))))
 
 (define-public python2-llfuse
-  (package-with-python2 python-llfuse))
+  (package (inherit (package-with-python2
+                 (strip-python2-variant python-llfuse)))
+    (propagated-inputs `(("python2-contextlib2" ,python2-contextlib2)))))
+
+;; For attic-0.16
+(define-public python-llfuse-0.41
+  (package (inherit python-llfuse)
+    (version "0.41.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://bitbucket.org/nikratio/python-llfuse/downloads/"
+                    "llfuse-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1imlqw9b73086y97izr036f58pgc5akv4ihc2rrf8j5h75jbrlaa"))))
+    ;; Python-LLFUSE < 0.42 includes underscore.js, which is MIT (expat)
+    ;; licensed.  The rest of the package is licensed under LGPL2.0 or later.
+    (license (list license:expat lgpl2.0+))))
 
 (define-public python-msgpack
   (package
     (name "python-msgpack")
-    (version "0.4.6")
+    (version "0.4.7")
     (source (origin
               (method url-fetch)
-              (uri (string-append
-                    "https://pypi.python.org/packages/source/m/"
-                    "msgpack-python/msgpack-python-" version ".tar.gz"))
+              (uri (pypi-uri "msgpack-python" version))
               (sha256
                (base32
-                "1527c76b6fn4zzkgfq5xvhh7x9a9686g7fjiz717rw5vklf5ik5z"))))
+                "0syd7bs83qs9qmxw540jbgsildbqk4yb57fmrlns1021llli402y"))))
     (build-system python-build-system)
-    (native-inputs
-     `(("python-setuptools" ,python-setuptools)))
     (synopsis "MessagePack (de)serializer")
     (description "MessagePack is a fast, compact binary serialization format,
 suitable for similar data to JSON.  This package provides CPython bindings for
 reading and writing MessagePack data.")
     (home-page "https://pypi.python.org/pypi/msgpack-python/")
-    (license asl2.0)))
+    (license asl2.0)
+    (properties `((python2-variant . ,(delay python2-msgpack))))))
+
+(define-public python2-msgpack
+  (package (inherit (package-with-python2
+                     (strip-python2-variant python-msgpack)))
+    (native-inputs
+     `(("python2-setuptools" ,python2-setuptools)))))
 
 (define-public python2-msgpack
   (package-with-python2 python-msgpack))
@@ -5760,7 +5824,7 @@ responses, rather than doing any computation.")
 (define-public python-cryptography-vectors
   (package
     (name "python-cryptography-vectors")
-    (version "1.2.3")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
@@ -5769,7 +5833,7 @@ responses, rather than doing any computation.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "0shawgpax79gvjrj0a313sll9gaqys7q1hxngn6j4k24lmz7bwki"))))
+         "1144l3ypz3bngxd59lb4y74xa401w92lhvvjgxzglmvbh8wzkcbb"))))
     (build-system python-build-system)
     (native-inputs
      `(("python-setuptools" ,python-setuptools)))
@@ -5786,14 +5850,14 @@ responses, rather than doing any computation.")
 (define-public python-cryptography
   (package
     (name "python-cryptography")
-    (version "1.2.3")
+    (version "1.3.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "cryptography" version))
        (sha256
         (base32
-         "0kj511z4g21fhcr649pyzpl0zzkkc7hsgxxjys6z8wwfvmvirccf"))))
+         "1qjkrpfvxcyd0kal3zpm5y7f9p3y77ixn9jw8f4dqpgrw1sn3cxl"))))
     (build-system python-build-system)
     (inputs
      `(("openssl" ,openssl)))
@@ -5837,7 +5901,7 @@ message digests and key derivation functions.")
 (define-public python-pyopenssl
   (package
     (name "python-pyopenssl")
-    (version "0.15.1")
+    (version "16.0.0")
     (source
      (origin
        (method url-fetch)
@@ -5845,29 +5909,8 @@ message digests and key derivation functions.")
                            "pyOpenSSL/pyOpenSSL-" version ".tar.gz"))
        (sha256
         (base32
-         "0wnnq15rhj7fhdcd8ycwiw6r6g3w9f9lcy6cigg8226vsrq618ph"))))
+         "0zfijaxlq4vgi6jz0d4i5xq9ygqnyps6br7lmigjhqnh8gp10g9n"))))
     (build-system python-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-tests
-          (lambda* (#:key inputs #:allow-other-keys)
-            (substitute* "OpenSSL/test/test_ssl.py"
-              (("client\\.connect\\(\\('verisign\\.com', 443\\)\\)")
-               "return True")
-              ;; FIXME: disable broken test
-              (("test_set_tmp_ecdh") "disabled__set_tmp_ecdh"))
-            (substitute* "OpenSSL/test/test_crypto.py"
-              (("command = b\"openssl \"")
-               (string-append "command = b\""
-                              (assoc-ref inputs "openssl")
-                              "/bin/openssl" " \""))
-              ;; FIXME: disable four broken tests
-              (("test_der")             "disabled__der")
-              (("test_digest")          "disabled__digest")
-              (("test_get_extension")   "disabled__get_extension")
-              (("test_extension_count") "disabled__extension_count"))
-            #t)))))
     (propagated-inputs
      `(("python-cryptography" ,python-cryptography)
        ("python-six" ,python-six)))
@@ -6025,7 +6068,10 @@ Python's @code{ctypes} foreign function interface (FFI).")
                         #t))))))
     (inputs `(("file" ,file)))
     (self-native-input? #f)
-    (synopsis "Python bindings to the libmagic file type guesser")))
+    (synopsis "Python bindings to the libmagic file type guesser.  Note that
+this module and the python-magic module both provide a \"magic.py\" file;
+these two modules, which are different and were developed separately, both
+serve the same purpose: provide Python bindings for libmagic.")))
 
 (define-public python2-file
   (package-with-python2 python-file))
@@ -6736,13 +6782,13 @@ WebSocket usage in Python programs.")
 (define-public python-atomicwrites
   (package
     (name "python-atomicwrites")
-    (version "0.1.9")
+    (version "1.0.0")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "atomicwrites" version))
              (sha256
               (base32
-               "08s05h211r07vs66r4din3swrbzb344vli041fihpg34q3lcxpvw"))))
+               "019fa4771q7fb1167yfbh6msdzcqini6v7i59rmf72mzdjd7x5qv"))))
     (build-system python-build-system)
     (synopsis "Atomic file writes in Python")
     (description "Library for atomic file writes using platform dependent tools
@@ -7200,9 +7246,9 @@ authenticated session objects providing things like keep-alive.")
 3.2.3 for use with older versions of Python and PyPy.")
     (license license:expat)))
 
-(define-public python-futures
+(define-public python2-futures
   (package
-    (name "python-futures")
+    (name "python2-futures")
     (version "3.0.3")
     (source
       (origin
@@ -7212,8 +7258,9 @@ authenticated session objects providing things like keep-alive.")
          (base32
           "1vcb34dqhzkhbq1957vdjszhhm5y3j9ba88dgwhqx2zynhmk9qig"))))
     (build-system python-build-system)
+    (arguments `(#:python ,python-2))
     (native-inputs
-     `(("python-setuptools" ,python-setuptools)))
+     `(("python2-setuptools" ,python2-setuptools)))
     (home-page "https://github.com/agronholm/pythonfutures")
     (synopsis
      "Backport of the concurrent.futures package from Python 3.2")
@@ -7223,9 +7270,6 @@ asynchronously executing callables.  This package backports the
 concurrent.futures package from Python 3.2")
     (license bsd-3)))
 
-(define-public python2-futures
-  (package-with-python2 python-futures))
-
 (define-public python-urllib3
   (package
     (name "python-urllib3")
@@ -8459,3 +8503,103 @@ is made as zipfile like as possible.")
 
 (define-public python2-rarfile
   (package-with-python2 python-rarfile))
+
+(define-public python-magic
+  (package
+    (name "python-magic")
+    (version "0.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/ahupp/python-magic/archive/"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "17bgy92i7sb021f2s4mw1dcvpm6p1mi9jihridwy1pyn8mzvpjgk"))
+       (file-name (string-append name "-" version "-checkout"))))
+    (build-system python-build-system)
+    (arguments
+     ;; The tests are unreliable, so don't run them.  The tests fail
+     ;; under Python3 because they were written for Python2 and
+     ;; contain import statements that do not work in Python3.  One of
+     ;; the tests fails under Python2 because its assertions are
+     ;; overly stringent; it relies on comparing output strings which
+     ;; are brittle and can change depending on the version of
+     ;; libmagic being used and the system on which the test is
+     ;; running.  In my case, under GuixSD 0.10.0, only one test
+     ;; failed, and it seems to have failed only because the version
+     ;; of libmagic that is packaged in Guix outputs a slightly
+     ;; different (but not wrong) string than the one that the test
+     ;; expected.
+     '(#:tests? #f
+       #:phases (modify-phases %standard-phases
+         ;; Replace a specific method call with a hard-coded
+         ;; path to the necessary libmagic.so file in the
+         ;; store.  If we don't do this, then the method call
+         ;; will fail to find the libmagic.so file, which in
+         ;; turn will cause any application using
+         ;; python-magic to fail.
+         (add-before 'build 'hard-code-path-to-libmagic
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((file (assoc-ref inputs "file")))
+               (substitute* "magic.py"
+                 (("ctypes.util.find_library\\('magic'\\)")
+                  (string-append "'" file "/lib/libmagic.so'")))
+           #t))))))
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (inputs
+     ;; python-magic needs to be able to find libmagic.so.
+     `(("file" ,file)))
+    (home-page "https://github.com/ahupp/python-magic")
+    (synopsis "File type identification using libmagic")
+    (description
+     "This module uses ctypes to access the libmagic file type
+identification library.  It makes use of the local magic database and
+supports both textual and MIME-type output.  Note that this module and
+the python-file module both provide a \"magic.py\" file; these two
+modules, which are different and were developed separately, both serve
+the same purpose: to provide Python bindings for libmagic.")
+    (license license:expat)))
+
+(define-public python2-magic
+  (package-with-python2 python-magic))
+
+(define-public python2-s3cmd
+  (package
+    (name "python2-s3cmd")
+    (version "1.6.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "mirror://sourceforge/s3tools/"
+                            "s3cmd-" version ".tar.gz"))
+        (sha256
+          (base32
+            "0ki1rzhm5icvi9ry5jswi4b22yqwyj0d2wsqsgilwx6qhi7pjxa6"))))
+    (build-system python-build-system)
+    (arguments
+     ;; s3cmd is written for python2 only and contains no tests.
+     `(#:python ,python-2
+       #:tests? #f))
+    (native-inputs
+     `(("python2-setuptools" ,python2-setuptools)))
+    (inputs
+     `(("python2-dateutil" ,python2-dateutil)
+       ;; The python-file package also provides a magic.py module.
+       ;; This is an unfortunate state of affairs; however, s3cmd
+       ;; fails to install if it cannot find specifically the
+       ;; python-magic package.  Thus we include it, instead of using
+       ;; python-file.  Ironically, s3cmd sometimes works better
+       ;; without libmagic bindings at all:
+       ;; https://github.com/s3tools/s3cmd/issues/198
+       ("python2-magic" ,python2-magic)))
+    (home-page "http://s3tools.org/s3cmd")
+    (synopsis "Command line tool for S3-compatible storage services")
+    (description
+     "S3cmd is a command line tool for uploading, retrieving and managing data
+in storage services that are compatible with the Amazon Simple Storage
+Service (S3) protocol, including S3 itself.  It supports rsync-like backup,
+GnuPG encryption, and more.  It also supports management of Amazon's
+CloudFront content delivery network.")
+    (license gpl2+)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 2abb261a45..0ca3415a9f 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -121,7 +121,7 @@ a focus on simplicity and productivity.")
 
 (define-public ruby-2.1
   (package (inherit ruby)
-    (version "2.1.8")
+    (version "2.1.10")
     (source
      (origin
        (method url-fetch)
@@ -130,7 +130,7 @@ a focus on simplicity and productivity.")
                            "/ruby-" version ".tar.bz2"))
        (sha256
         (base32
-         "11rkbfc90cg9p9mzg32475alf3ddcn9q8a3ar3fwm5xskic0n395"))))
+         "1wglbd599mlwxfcb2xgqcxi2shr363pjn5dpbv11m04si9bpaim7"))))
     (arguments
      `(#:test-target "test"
        #:parallel-tests? #f
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 00b573fc0b..50533b9a29 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -2,6 +2,8 @@
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,6 +37,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages avahi)
   #:use-module (gnu packages libphidget)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages libffi)
@@ -309,14 +312,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
 (define-public chicken
   (package
     (name "chicken")
-    (version "4.9.0.1")
+    (version "4.10.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://code.call-cc.org/releases/4.9.0/chicken-"
-                                 version ".tar.gz"))
+             (uri (string-append "http://code.call-cc.org/releases/"
+                                 version "/chicken-" version ".tar.gz"))
              (sha256
               (base32
-               "0598mar1qswfd8hva9nqs88zjn02lzkqd8fzdd21dz1nki1prpq4"))))
+               "16w96jrhb6qf62fgznk53f55yhfv81damghdjn31k5hirnmza1qf"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((guix build gnu-build-system)
@@ -325,11 +328,19 @@ mashups, office (web agendas, mail clients, ...), etc.")
 
        ;; No `configure' script; run "make check" after "make install" as
        ;; prescribed by README.
-       #:phases (alist-cons-after
-                 'install 'check
-                 (assoc-ref %standard-phases 'check)
-                 (fold alist-delete %standard-phases
-                       '(configure check)))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (add-after 'install 'check
+           (assoc-ref %standard-phases 'check))
+         (add-after 'unpack 'disable-broken-tests
+           (lambda _
+             ;; The port tests fail with this error:
+             ;; Error: (line 294) invalid escape-sequence '\x o'
+             (substitute* "tests/runtests.sh"
+               (("\\$interpret -s port-tests\\.scm") ""))
+             #t)))
 
        #:make-flags (let ((out (assoc-ref %outputs "out")))
                       (list "PLATFORM=linux"
@@ -338,6 +349,12 @@ mashups, office (web agendas, mail clients, ...), etc.")
 
        ;; Parallel builds are not supported, as noted in README.
        #:parallel-build? #f))
+    ;; One of the tests ("testing direct invocation can detect calls of too
+    ;; many arguments...") times out when building with a more recent GCC.
+    ;; The problem was reported here:
+    ;; https://lists.gnu.org/archive/html/chicken-hackers/2015-04/msg00059.html
+    (native-inputs
+     `(("gcc" ,gcc-4.8)))
     (home-page "http://www.call-cc.org/")
     (synopsis "R5RS Scheme implementation that compiles native code via C")
     (description
@@ -349,14 +366,14 @@ language standard, and includes many enhancements and extensions.")
 (define-public scheme48
   (package
     (name "scheme48")
-    (version "1.9")
+    (version "1.9.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://s48.org/" version
                                  "/scheme48-" version ".tgz"))
              (sha256
               (base32
-               "0rw2lz5xgld0klvld292ds6hvfk5l12vskzgf1hhwjdpa38r3fnw"))
+               "1x4xfm3lyz2piqcw1h01vbs1iq89zq7wrsfjgh3fxnlm1slj2jcw"))
              (patches (list (search-patch "scheme48-tests.patch")))))
     (build-system gnu-build-system)
     (home-page "http://s48.org/")
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 825e7db5d9..458fdc599f 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -27,6 +27,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (gnu packages audio)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages image)
@@ -94,7 +95,7 @@ joystick, and graphics hardware.")
 (define sdl2
   (package (inherit sdl)
     (name "sdl2")
-    (version "2.0.3")
+    (version "2.0.4")
     (source (origin
              (method url-fetch)
              (uri
@@ -102,7 +103,7 @@ joystick, and graphics hardware.")
                              version ".tar.gz"))
              (sha256
               (base32
-               "0369ngvb46x6c26h8zva4x22ywgy6mvn0wx87xqwxg40pxm9m9m5"))))
+               "0jqp46mxxbh9lhpx1ih6sp93k752j2smhpc0ad0q4cb3px0famfs"))))
     (license bsd-3)))
 
 (define libmikmod
@@ -216,7 +217,8 @@ WEBP, XCF, XPM, and XV.")
     (inputs `(("libvorbis" ,libvorbis)
               ("libflac" ,flac)
               ("libmad" ,libmad)
-              ("libmikmod" ,libmikmod)))
+              ("libmikmod" ,libmikmod)
+              ("libmodplug" ,libmodplug)))
     ;; FIXME: Add libfluidsynth
     (propagated-inputs `(("sdl" ,sdl)))
     (synopsis "SDL multi-channel audio mixer library")
@@ -310,7 +312,7 @@ directory.")
 (define-public sdl2-image
   (package (inherit sdl-image)
     (name "sdl2-image")
-    (version "2.0.0")
+    (version "2.0.1")
     (source (origin
               (method url-fetch)
               (uri
@@ -318,37 +320,45 @@ directory.")
                               version ".tar.gz"))
               (sha256
                (base32
-                "0d3jlhkmr0j5a2dd5h6y29jfcsj7mkl16wghm6n3nqqp7g3ib65j"))))
+                "0r3z1l7fdn76qkpy7snpkcjqz8dkv2zp6lsqpq25q4m5xsyaygis"))))
     (propagated-inputs
      (propagated-inputs-with-sdl2 sdl-image))))
 
 (define-public sdl2-mixer
   (package (inherit sdl-mixer)
     (name "sdl2-mixer")
-    (version "2.0.0")
+    (version "2.0.1")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "http://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-"
                               version ".tar.gz"))
+              (modules '((guix build utils)))
+              (snippet
+               ;; Remove bundled libraries.
+               '(delete-file-recursively "external"))
               (sha256
                (base32
-                "0nvjdxjchrajrn0jag877hdx9zb788hsd315zzg1lyck2wb0xkm8"))))
+                "0pv9jzjpcjlbiaybvwrb4avmv46qk7iqxlnqrd2dfj82c4mgc92s"))))
     (propagated-inputs
      (propagated-inputs-with-sdl2 sdl-mixer))))
 
 (define-public sdl2-ttf
   (package (inherit sdl-ttf)
     (name "sdl2-ttf")
-    (version "2.0.12")
+    (version "2.0.14")
     (source (origin
              (method url-fetch)
              (uri
               (string-append "http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-"
                              version ".tar.gz"))
+             (modules '((guix build utils)))
+             (snippet
+              ;; Remove bundled libraries.
+              '(delete-file-recursively "external"))
              (sha256
               (base32
-               "0vkg6lyj278mdpd52map3rfi65fbq16w67ahmmfcl77a8da60a47"))))
+               "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl"))))
     (propagated-inputs
      (propagated-inputs-with-sdl2 sdl-ttf))))
 
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 15c68238e2..9c197f4977 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -33,6 +33,8 @@
   #:use-module (gnu packages curl)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages glib)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
@@ -53,6 +55,45 @@
   #:use-module (gnu packages zip)
   #:use-module (srfi srfi-1))
 
+
+(define-public pspp
+  (package
+    (name "pspp")
+    (version "0.10.1")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (string-append "mirror://gnu/pspp/pspp-"
+                          version ".tar.gz"))
+      (sha256
+       (base32
+        "0xw61kq0hxh7f6a4yjhnqbhc0fj9r3wb3qnpq05qhdp79n30ik24"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("cairo" ,cairo)
+       ("gettext" ,gnu-gettext)
+       ("gsl" ,gsl)
+       ("libxml2" ,libxml2)
+       ("pango" ,pango)
+       ("readline" ,readline)
+       ("gtk" ,gtk+)
+       ("gtksourceview" ,gtksourceview)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("glib" ,glib "bin")             ;for glib-genmarshal
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://www.gnu.org/software/pspp/")
+    (synopsis "Statistical analysis")
+    (description
+     "GNU PSPP is a statistical analysis program.  It can perform
+descriptive statistics, T-tests, linear regression and non-parametric tests.
+It features both a graphical interface as well as command-line input.  PSPP
+is designed to interoperate with Gnumeric, LibreOffice and OpenOffice.  Data
+can be imported from spreadsheets, text files and database sources and it can
+be output in text, PostScript, PDF or HTML.")
+    (license license:gpl3+)))
+
 (define-public r
   (package
     (name "r")
@@ -1234,13 +1275,13 @@ informative error messages when it's not available.")
 (define-public r-devtools
   (package
     (name "r-devtools")
-    (version "1.9.1")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "devtools" version))
               (sha256
                (base32
-                "10ycx3kkiz5x8nmgw31d9wa5hhlx2fhda2nqzxfrczqpz1jik6ci"))))
+                "11x51bqhjwypbxv5sfnrnxx06b92k8kzmmx7zrwk3537r072b6pa"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-curl" ,r-curl)
@@ -1253,13 +1294,33 @@ informative error messages when it's not available.")
        ("r-roxygen2" ,r-roxygen2)
        ("r-rstudioapi" ,r-rstudioapi)
        ("r-rversions" ,r-rversions)
-       ("r-whisker" ,r-whisker)))
+       ("r-whisker" ,r-whisker)
+       ("r-withr" ,r-withr)))
     (home-page "https://github.com/hadley/devtools")
     (synopsis "Tools to make developing R packages easier")
     (description "The devtools package is a collection of package development
 tools to simplify the devolpment of R packages.")
     (license license:gpl2+)))
 
+(define-public r-withr
+  (package
+    (name "r-withr")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "withr" version))
+              (sha256
+               (base32
+                "0zbj3rd7dc0ycknmay7y7rm1qvnh9n05jw93gjggz46j2zfmy93y"))))
+    (build-system r-build-system)
+    (home-page "https://github.com/jimhester/withr")
+    (synopsis "Run code with temporarily modified global state")
+    (description
+     "This package provides a set of functions to run R code in an environment
+in which global state has been temporarily modified.  Many of these functions
+were originally a part of the r-devtools package.")
+    (license license:gpl2+)))
+
 (define-public r-readr
   (package
     (name "r-readr")
@@ -2026,3 +2087,24 @@ directly from R.  Once uploaded to a plotly account, plotly graphs (and the
 data behind them) can be viewed and modified in a web browser.")
     (license license:x11)))
 
+
+(define-public r-ztable
+  (package
+    (name "r-ztable")
+    (version "0.1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (cran-uri "ztable" version))
+              (sha256
+               (base32
+                "1jfqnqy9544gfvz3bsb48v4177nwp4b4n9l2743asq8sbq305b5r"))))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/ztable")
+    (synopsis "Zebra-striped tables in LaTeX and HTML formats for R")
+    (description
+     "This package provides functions to make zebra-striped tables (tables
+with alternating row colors) in LaTeX and HTML formats easily from
+@code{data.frame}, @code{matrix}, @code{lm}, @code{aov}, @code{anova},
+@code{glm}, @code{coxph}, @code{nls}, @code{fitdistr}, @code{mytable} and
+@code{cbind.mytable} objects.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 3f4ab56091..76e369a563 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -191,14 +191,14 @@ internet.")
 (define-public libsrtp
   (package
     (name "libsrtp")
-    (version "1.5.2")
+    (version "1.5.4")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/cisco/libsrtp/archive/v"
                                   version ".tar.gz"))
              (sha256
               (base32
-               "1njf62f6sazz2q7qc4j495v1pga385whkmxxyr8hfz1ragiyzqc6"))))
+               "1w2g623qkd7gdyydglx2hr4s2y237lg0nszjmy7z8d2iq8hvb9sn"))))
     (native-inputs
      `(("procps" ,procps)))
     (build-system gnu-build-system)
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 8b9ed00de7..51497030c2 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -89,6 +89,41 @@ is on expressing the content semantically, avoiding physical markup commands.")
     (native-inputs '())
     (inputs `(("ncurses" ,ncurses) ("xz" ,xz)))))
 
+(define-public info-reader
+  ;; The idea of this package is to have the standalone Info reader without
+  ;; the dependency on Perl that 'makeinfo' drags.
+  (package
+    (inherit texinfo-6.1)
+    (name "info-reader")
+    (arguments
+     `(#:disallowed-references ,(assoc-ref (package-inputs texinfo-6.1)
+                                           "perl")
+
+       #:modules ((ice-9 ftw) (srfi srfi-1)
+                  ,@%gnu-build-system-modules)
+
+       #:phases (modify-phases %standard-phases
+                  (add-after 'install 'keep-only-info-reader
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      ;; Remove everything but 'bin/info' and associated
+                      ;; files.
+                      (define (files)
+                        (scandir "." (lambda (file)
+                                       (not (member file '("." ".."))))))
+
+                      (let ((out (assoc-ref outputs "out")))
+                        (with-directory-excursion out
+                          (for-each delete-file-recursively
+                                    (fold delete (files) '("bin" "share"))))
+                        (with-directory-excursion (string-append out "/bin")
+                          (for-each delete-file (delete "info" (files))))
+                        (with-directory-excursion (string-append out "/share")
+                          (for-each delete-file-recursively
+                                    (fold delete (files)
+                                          '("info" "locale"))))
+                        #t))))))
+    (synopsis "Standalone Info documentation reader")))
+
 (define-public texi2html
   (package
     (name "texi2html")
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 73a0532478..71cf25b224 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -271,3 +272,23 @@ Consequently, the computation has a flat performance characteristic,
 correlated with data variation rather than file size.  pfff can be as reliable
 as existing hashing techniques, with provably negligible risk of collisions.")
     (license license:bsd-3)))
+
+(define-public oniguruma
+  (package
+    (name "oniguruma")
+    (version "5.9.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/kkos/"
+                                  "oniguruma/releases/download/v" version
+                                  "/onig-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19s79vsclqn170mw0ajwv7j37qsbn4f1yjz3yavnhvva6c820r6m"))))
+    (build-system gnu-build-system)
+    (home-page "https://github.com/kkos/oniguruma")
+    (synopsis "Regular expression library")
+    (description "Oniguruma is a regular expressions library.  The special
+characteristic of this library is that different character encoding for every
+regular expression object can be specified.")
+    (license license:bsd-2)))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 8132ef2053..61fb651552 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -179,22 +180,21 @@ required structures.")
 
 (define-public openssl
   (package
-   (replacement openssl-1.0.2g)
    (name "openssl")
-   (version "1.0.2f")
+   (version "1.0.2g")
    (source (origin
-            (method url-fetch)
-            (uri (list (string-append "ftp://ftp.openssl.org/source/"
-                                      name "-" version ".tar.gz")
-                       (string-append "ftp://ftp.openssl.org/source/old/"
-                                      (string-trim-right version char-set:letter)
-                                      "/" name "-" version ".tar.gz")))
-            (sha256
-             (base32
-              "171fkdg9v6j29d962nh6kb79kfm8kkhy7n9makw39d7jvvj4wawk"))
-            (patches (map search-patch
-                          '("openssl-runpath.patch"
-                            "openssl-c-rehash.patch")))))
+             (method url-fetch)
+             (uri (list (string-append "ftp://ftp.openssl.org/source/"
+                                       name "-" version ".tar.gz")
+                        (string-append "ftp://ftp.openssl.org/source/old/"
+                                       (string-trim-right version char-set:letter)
+                                       "/" name "-" version ".tar.gz")))
+             (sha256
+              (base32
+               "0cxajjayi859czi545ddafi24m9nwsnjsw4q82zrmqvwj2rv315p"))
+             (patches (map search-patch
+                           '("openssl-runpath.patch"
+                             "openssl-c-rehash-in.patch")))))
    (build-system gnu-build-system)
    (native-inputs `(("perl" ,perl)))
    (arguments
@@ -287,64 +287,10 @@ required structures.")
    (license license:openssl)
    (home-page "http://www.openssl.org/")))
 
-(define openssl-1.0.2g
-  (package
-    (inherit openssl)
-    (replacement #f)
-    (source
-     (let ((name "openssl") (version "1.0.2g"))
-       (origin
-         (method url-fetch)
-         (uri (list (string-append "ftp://ftp.openssl.org/source/"
-                                   name "-" version ".tar.gz")
-                    (string-append "ftp://ftp.openssl.org/source/old/"
-                                   (string-trim-right version char-set:letter)
-                                   "/" name "-" version ".tar.gz")))
-         (sha256
-          (base32
-           "0cxajjayi859czi545ddafi24m9nwsnjsw4q82zrmqvwj2rv315p"))
-         (patches (map search-patch
-                       '("openssl-runpath.patch"
-                         "openssl-c-rehash-in.patch"))))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments openssl)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (replace 'configure
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let ((out (assoc-ref outputs "out")))
-                 (zero?
-                  (system*
-                   "./config"
-
-                   ;; XXX TEMPORARY, FOR GRAFTING ONLY
-                   ;;     Enable ssl2 code to preserve
-                   ;;     ABI compatibility with 1.0.2f
-                   "enable-ssl2"
-
-                   "shared"             ;build shared libraries
-                   "--libdir=lib"
-
-                   ;; The default for this catch-all directory is
-                   ;; PREFIX/ssl.  Change that to something more
-                   ;; conventional.
-                   (string-append "--openssldir=" out
-                                  "/share/openssl-" ,(package-version openssl))
-
-                   (string-append "--prefix=" out)
-
-                   ;; XXX FIXME: Work around a code generation bug in GCC
-                   ;; 4.9.3 on ARM when compiled with -mfpu=neon.  See:
-                   ;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66917>
-                   ,@(if (and (not (%current-target-system))
-                              (string-prefix? "armhf" (%current-system)))
-                         '("-mfpu=vfpv3")
-                         '()))))))))))))
-
 (define-public libressl
   (package
     (name "libressl")
-    (version "2.2.6")
+    (version "2.3.3")
     (source
      (origin
       (method url-fetch)
@@ -352,7 +298,7 @@ required structures.")
              "http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-"
              version ".tar.gz"))
       (sha256 (base32
-               "0kynb15l5gq1qgp3p4ncn20sc65sbl8lk89vyr07s17xrya9kq8y"))))
+               "1a8anm8nsfyxds03csk738m2cmzjbsb867my1rz5ij3w31k32wvn"))))
     (build-system gnu-build-system)
     (native-search-paths
       ;; FIXME: These two variables must designate a single file or directory
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 7d7276abac..0b70d545b9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -364,6 +364,67 @@ write native speed custom Git applications in any language with bindings.")
     ;; GPLv2 with linking exception
     (license gpl2)))
 
+(define-public cgit
+  (package
+    (name "cgit")
+    (version "0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://git.zx2c4.com/cgit/snapshot/cgit-"
+                    version ".tar.xz"))
+              (sha256
+               (base32
+                "1dx54hgfyabmg9nm5qp6d01f54nlbqbbdwhwl0llb9imjf237qif"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:tests? #f ; XXX: fail to build the in-source git.
+       #:test-target "test"
+       #:make-flags '("CC=gcc" "SHELL_PATH=sh")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'unpack-git
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Unpack the source of git into the 'git' directory.
+             (zero? (system*
+                     "tar" "--strip-components=1" "-C" "git" "-xf"
+                     (assoc-ref inputs "git:src")))))
+         (delete 'configure) ; no configure script
+         (add-after 'build 'build-man
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* `("make" ,@make-flags "doc-man")))))
+         (replace 'install
+           (lambda* (#:key make-flags outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (and (zero? (apply system*
+                                  `("make" ,@make-flags
+                                    ,(string-append "prefix=" out)
+                                    ,(string-append
+                                      "CGIT_SCRIPT_PATH=" out "/share/cgit")
+                                    "install" "install-man")))
+                    ;; Move the platform-dependent 'cgit.cgi' into lib
+                    ;; to get it stripped.
+                    (rename-file (string-append out "/share/cgit/cgit.cgi")
+                                 (string-append out "/lib/cgit/cgit.cgi"))
+                    #t)))))))
+    (native-inputs
+     ;; For building manpage.
+     `(("asciidoc" ,asciidoc)
+       ("docbook-xml" ,docbook-xml)
+       ("docbook-xsl" ,docbook-xsl)
+       ("xmllint" ,libxml2)
+       ("xsltprot" ,libxslt)))
+    (inputs
+     `(("git:src" ,(package-source git))
+       ("openssl" ,openssl)
+       ("zlib" ,zlib)))
+    (home-page "https://git.zx2c4.com/cgit/")
+    (synopsis "Web frontend for git repositories")
+    (description
+     "CGit is an attempt to create a fast web interface for the Git SCM, using
+a built-in cache to decrease server I/O pressure.")
+    (license gpl2)))
+
 (define-public shflags
   (package
     (name "shflags")
@@ -545,14 +606,14 @@ control to Git repositories.")
 (define-public mercurial
   (package
     (name "mercurial")
-    (version "3.7.2")
+    (version "3.7.3")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://www.mercurial-scm.org/"
                                  "release/mercurial-" version ".tar.gz"))
              (sha256
               (base32
-               "0ykdvj7k4yxiwbfk0gnrq2flmdlf2cracsvqn3vr7nxhda6l7aav"))))
+               "0c2vkad9piqkggyk8y310rf619qgdfcwswnk3nv21mg2fhnw96f0"))))
     (build-system python-build-system)
     (arguments
      `(;; Restrict to Python 2, as Python 3 would require
@@ -1048,15 +1109,16 @@ Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.")
                (base32
                 "196g3jkaybjx11nbr51n0cjps3wjzb145ab76y717diqvvxp5v4r"))))
     (build-system python-build-system)
+    (arguments `(#:python ,python-2))
     (native-inputs
-     `(("python-setuptools" ,python-setuptools)
+     `(("python2-setuptools" ,python2-setuptools)
        ;; for the tests
-       ("python-six" ,python-six)))
+       ("python2-six" ,python2-six)))
     (propagated-inputs
-     `(("python-dateutil" ,python-dateutil-2)
-       ("python-futures" ,python-futures)
-       ("python-rauth" ,python-rauth)
-       ("python-swiftclient" ,python-swiftclient)))
+     `(("python2-dateutil" ,python2-dateutil-2)
+       ("python2-futures" ,python2-futures)
+       ("python2-rauth" ,python2-rauth)
+       ("python2-swiftclient" ,python2-swiftclient)))
     (home-page "https://github.com/Schnouki/git-annex-remote-hubic/")
     (synopsis "Use hubic as a git-annex remote")
     (description
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index a870dd8ee1..8f93950e97 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -372,14 +372,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
 (define-public ffmpeg
   (package
     (name "ffmpeg")
-    (version "2.8.6")
+    (version "3.0")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "1yh7dvm7zwdlsspdaq524s5qaggma5md9h95qc4kvb5dmyyyvg15"))))
+               "0w74b165l4ry4y72f4xmgd357pvbc7yr61y313v3ai6787p2rwqj"))))
     (build-system gnu-build-system)
     (inputs
      `(("fontconfig" ,fontconfig)
@@ -392,7 +392,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
        ("libbluray" ,libbluray)
        ("libcaca" ,libcaca)
        ("libcdio-paranoia" ,libcdio-paranoia)
-       ("libquvi" ,libquvi)
        ("libtheora" ,libtheora)
        ("libvdpau" ,libvdpau)
        ("libvorbis" ,libvorbis)
@@ -480,7 +479,6 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
          "--enable-libmp3lame"
          "--enable-libopus"
          "--enable-libpulse"
-         "--enable-libquvi"
          "--enable-libsoxr"
          "--enable-libspeex"
          "--enable-libtheora"
@@ -498,7 +496,7 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
          ;; Runtime cpu detection is not implemented on
          ;; MIPS, so we disable some features.
          "--disable-mips32r2"
-         "--disable-mipsdspr1"
+         "--disable-mipsdsp"
          "--disable-mipsdspr2"
          "--disable-mipsfpu")
        #:phases
@@ -604,7 +602,7 @@ treaming protocols.")
 (define-public mplayer
   (package
     (name "mplayer")
-    (version "1.2.1")
+    (version "1.3.0")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -612,7 +610,7 @@ treaming protocols.")
                    version ".tar.xz"))
              (sha256
               (base32
-               "0prbqnsl6s7fbpp6nc6babx7gzwdrhrhzf0cmp6xz6w9gl4sy6w3"))))
+               "0hwqn04bdknb2ic88xd75smffxx63scvz0zvwvjb56nqj9n89l1s"))))
     (build-system gnu-build-system)
     ;; FIXME: Add additional inputs once available.
     (native-inputs
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 241896323c..73433e955f 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -44,14 +44,13 @@
      `(#:test-target "test"
        #:parallel-tests? #f
        #:phases
-        (alist-cons-after
-         'configure 'patch-config-files
-         (lambda _
-           (substitute* "runtime/tools/mve.awk"
-             (("/usr/bin/nawk") (which "gawk")))
-           (substitute* "src/testdir/Makefile"
-             (("/bin/sh") (which "sh"))))
-          %standard-phases)))
+       (modify-phases %standard-phases
+         (add-after 'configure 'patch-config-files
+           (lambda _
+             (substitute* "runtime/tools/mve.awk"
+               (("/usr/bin/nawk") (which "gawk")))
+             (substitute* "src/testdir/Makefile"
+               (("/bin/sh") (which "sh"))))))))
     (inputs
      `(("gawk" ,gawk)
        ("inetutils" ,inetutils)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 516e623f10..1f13474e95 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -7,6 +7,9 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -52,10 +55,12 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages valgrind)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages texinfo)
+  #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages statistics))
 
@@ -351,29 +356,19 @@ for efficient socket-like bidirectional reliable communication channels.")
 (define-public libpsl
   (package
     (name "libpsl")
-    (version "0.7.1")
+    (version "0.13.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/rockdaboot/libpsl/"
-                                  "archive/libpsl-" version ".tar.gz"))
+                                  "releases/download/libpsl-" version
+                                  "/libpsl-" version ".tar.gz"))
               (sha256
                (base32
-                "1k0klj668c9v0r4993vfs3kq773mzdz61vsigqw6v1mjcwnf1si3"))))
+                "0afn2c4s2m65xifa5sfdll0s2gyqbh2q9k9nq4nsmx1b6c2i3i7x"))))
     (build-system gnu-build-system)
-    (inputs `(("icu4c" ,icu4c)))
-    ;; The release tarball lacks the generated files.
-    (native-inputs `(("autoconf" ,autoconf)
-                     ("automake" ,automake)
-                     ("gettext"  ,gnu-gettext)
-                     ("which"    ,which)
-                     ("libtool"  ,libtool)
-                     ("pkg-config" ,pkg-config)))
-    (arguments
-     `(#:phases (alist-cons-after
-                 'unpack 'bootstrap
-                 (lambda _
-                   (zero? (system* "sh" "autogen.sh")))
-                 %standard-phases)))
+    (inputs
+     `(("icu4c" ,icu4c)
+       ("python-2" ,python-2)))
     (home-page "https://github.com/rockdaboot/libpsl")
     (synopsis "C library for the Publix Suffix List")
     (description
@@ -3109,3 +3104,107 @@ callback or connection interfaces.")
      "Gumbo is an implementation of the HTML5 parsing algorithm implemented as
 a pure C99 library.")
     (license l:asl2.0)))
+
+(define-public uwsgi
+  (package
+    (name "uwsgi")
+    (version "2.0.12")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://projects.unbit.it/downloads/uwsgi-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "02g46dnw5j1iw8fsq392bxbk8d21b9pdgb3ypcinv3b4jzdm2srh"))))
+    (build-system gnu-build-system)
+    (outputs '("out" "python"))
+    (arguments
+     '(;; XXX: The 'check' target runs cppcheck to do static code analysis.
+       ;;      But there is no obvious way to run the real tests.
+       #:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           ;; Configuration is done by writing an ini file.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out       (assoc-ref outputs "out"))
+                    (bindir    (string-append out "/bin"))
+                    (plugindir (string-append out "/lib/uwsgi")))
+               ;; The build phase outputs files to these directories directly.
+               (mkdir-p bindir)
+               (mkdir-p plugindir)
+               ;; XXX: Enable other plugins.
+               (call-with-output-file "buildconf/guix.ini"
+                 (lambda (port)
+                   (format port "[uwsgi]
+yaml = libyaml
+bin_name = ~a/uwsgi
+plugin_dir = ~a
+
+inherit = base
+plugins = cgi,python
+embedded_plugins =
+" bindir plugindir))))
+             (setenv "PROFILE" "guix")
+             #t))
+         (replace 'install
+           ;; Move plugins into their own output.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out           (assoc-ref outputs "out"))
+                    (plugindir     (string-append out "/lib/uwsgi"))
+                    (python-plugin (string-append
+                                    plugindir "/python_plugin.so")))
+               (install-file python-plugin
+                             (string-append
+                              (assoc-ref outputs "python") "/lib/uwsgi"))
+               (delete-file python-plugin)
+               #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("jansson" ,jansson)
+       ("libxml2" ,libxml2)
+       ("libyaml" ,libyaml)
+       ("openssl" ,openssl)
+       ("pcre" ,pcre)
+       ("zlib" ,zlib)
+       ;; For plugins.
+       ("python" ,python)))
+    (home-page "https://uwsgi-docs.readthedocs.org/")
+    (synopsis "Application container server")
+    (description
+     "uWSGI presents a complete stack for networked/clustered web applications,
+implementing message/object passing, caching, RPC and process management.
+It uses the uwsgi protocol for all the networking/interprocess communications.")
+    (license l:gpl2+))) ; with linking exception
+
+(define-public jq
+  (package
+    (name "jq")
+    (version "1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/stedolan/" name
+                                  "/releases/download/" name "-" version
+                                  "/" name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4"))))
+    (inputs
+     `(("oniguruma" ,oniguruma)))
+    (native-inputs
+     `(;; TODO fix gems to generate documentation
+       ;;("ruby" ,ruby)
+       ;;("bundler" ,bundler)
+       ("valgrind" ,valgrind)))
+    (build-system gnu-build-system)
+    (home-page "http://stedolan.github.io/jq/")
+    (synopsis "Command-line JSON processor")
+    (description "jq is like sed for JSON data – you can use it to slice and
+filter and map and transform structured data with the same ease that sed, awk,
+grep and friends let you play with text.  It is written in portable C.  jq can
+mangle the data format that you have into the one that you want with very
+little effort, and the program to do so is often shorter and simpler than
+you'd expect.")
+    (license (list l:expat l:cc-by3.0))))
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 3f2d11e70c..473d2e7cdc 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -53,14 +53,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.10.8")
+    (version "2.12.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1a98z7fa8vxk7y2hlbnkl767908anyyxbwkyiar5gi037yr84dii"))))
+                "19jyvyw8ss4bacq3f7ybdb0r16r84q12j2bpciyj9jqvzpw091m6"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
@@ -136,16 +136,14 @@ HTML/CSS applications to full-fledged web browsers.")
 (define-public webkitgtk-2.4
   (package (inherit webkitgtk)
     (name "webkitgtk")
-    (version "2.4.9")
+    (version "2.4.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0r651ar3p0f8zwl7764kyimxk5hy88cwy116pv8cl5l8hbkjkpxg"))
-              (patches
-               (list (search-patch "webkitgtk-2.4-sql-init-string.patch")))))
+                "0566yx5lxi40g0wpvmwbc8y76akd7zph7flrjdp2vv3z1nra9z9k"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; no tests
diff --git a/gnu/packages/wicd.scm b/gnu/packages/wicd.scm
index cad078e061..350baf7373 100644
--- a/gnu/packages/wicd.scm
+++ b/gnu/packages/wicd.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
 ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,7 +37,7 @@
 (define-public wicd
   (package
     (name "wicd")
-    (version "1.7.3")
+    (version "1.7.4")
     (source
      (origin
        (method url-fetch)
@@ -44,12 +45,12 @@
                            (version-major+minor version) "/" version
                            "/+download/wicd-" version ".tar.gz"))
        (sha256
-        (base32 "00c4rq753bhg64rv1v9yl834ssq7igyy7cz3swp287b5n5bqiqwi"))
+        (base32 "0qpbwwsrqdp40mm3a8djpn2d055rxxspdhwijwsdnws700a9d637"))
        (patches (map search-patch
                      '("wicd-bitrate-none-fix.patch"
                        "wicd-get-selected-profile-fix.patch"
                        "wicd-urwid-1.3.patch"
-                       "wicd-template-instantiation.patch")))))
+                       "wicd-wpa2-ttls.patch")))))
     (build-system python-build-system)
     (native-inputs `(("gettext" ,gnu-gettext)))
     (inputs `(("dbus-glib" ,dbus-glib)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 53259dcb29..a63e597599 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -144,14 +145,14 @@ commands would.")
 (define-public i3-wm
   (package
     (name "i3-wm")
-    (version "4.10.3")
+    (version "4.12")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://i3wm.org/downloads/i3-"
                                   version ".tar.bz2"))
               (sha256
                (base32
-                "1lq7h4w7m0hi31iva8g7yf1sc11ispnknxjdaj9agld4smxqb44j"))))
+                "1d3q3lgpjbkmcwzjhp0dfr0jq847silcfg087slcnj95ikh1r7p1"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 04dfd70c5a..1e157a4c96 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -378,7 +378,7 @@ windows systems.")
 (define-public icecast
   (package
     (name "icecast")
-    (version "2.4.1")
+    (version "2.4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -386,7 +386,7 @@ windows systems.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "0js5lylrgklhvvaksx46zc8lc975qb1bns8h1ms545nv071rxy23"))))
+                "14n5vm2xnyn8y7kl46lnnlgv6v5fjykhc57ffdsh0qaxfs6a8p68"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 9b3dc73831..b168543a65 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -29,7 +29,7 @@
   #:use-module (gnu system file-systems)          ; 'file-system', etc.
   #:use-module (gnu packages admin)
   #:use-module ((gnu packages linux)
-                #:select (eudev-with-blkid kbd e2fsprogs lvm2 fuse alsa-utils crda gpm))
+                #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils crda gpm))
   #:use-module ((gnu packages base)
                 #:select (canonical-package glibc))
   #:use-module (gnu packages package-management)
@@ -733,9 +733,7 @@ the tty to run, among other things."
                                                   (string-append dir "/lib"))
                                                 (list #$@name-services))
                                            ":")))))
-           (stop #~(make-kill-destructor))
-
-           (respawn? #f)))))
+           (stop #~(make-kill-destructor))))))
 
 (define nscd-activation
   ;; Actions to take before starting nscd.
@@ -1170,7 +1168,7 @@ item of @var{packages}."
                               (udev udev)
                               (rules (append initial-rules rules)))))))))
 
-(define* (udev-service #:key (udev eudev-with-blkid) (rules '()))
+(define* (udev-service #:key (udev eudev) (rules '()))
   "Run @var{udev}, which populates the @file{/dev} directory dynamically.  Get
 extra rules from the packages listed in @var{rules}."
   (service udev-service-type
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 6c3b829df7..690375eb09 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
-;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -56,6 +56,7 @@ host	all	all	::1/128 	trust"))
 
 (define %default-postgres-config
   (mixed-text-file "postgresql.conf"
+                   "log_destination = 'syslog'\n"
                    "hba_file = '" %default-postgres-hba "'\n"
                    "ident_file = '" %default-postgres-ident "'\n"))
 
@@ -116,7 +117,7 @@ host	all	all	::1/128 	trust"))
        (list (shepherd-service
               (provision '(postgres))
               (documentation "Run the PostgreSQL daemon.")
-              (requirement '(user-processes loopback))
+              (requirement '(user-processes loopback syslogd))
               (start #~(make-forkexec-constructor #$start-script))
               (stop #~(make-kill-destructor))))))))
 
diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
index cd1b5f4b8a..9a4a13d41d 100644
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index e16247b3b8..9908b9526b 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -250,7 +250,7 @@ which should be passed to this script as the first argument.  If not, the
                                 ((_ x ..1) x))))
           (if (file-exists? xsession-file)
               ;; Run ~/.xsession when it exists.
-              (exec-from-login-shell xsession-file session)
+              (apply exec-from-login-shell xsession-file session)
               ;; Otherwise, start the specified session.
               (apply exec-from-login-shell session)))))
 
diff --git a/gnu/system.scm b/gnu/system.scm
index 5be24ba586..a4259fb61b 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -365,7 +365,7 @@ explicitly appear in OS."
          iproute
          net-tools                        ; XXX: remove when Inetutils suffices
          man-db
-         texinfo                               ;for the standalone Info reader
+         info-reader                     ;the standalone Info reader (no Perl)
 
          ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also
          ;; want the other commands and the man pages (notably because
@@ -374,7 +374,7 @@ explicitly appear in OS."
 
          ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev
          ;; already depends on it anyway.
-         kmod eudev-with-blkid
+         kmod eudev
 
          e2fsprogs kbd
 
@@ -400,37 +400,11 @@ This is the GNU system.  Welcome.\n")
   "Return the default /etc/hosts file."
   (plain-file "hosts" (local-host-aliases host-name)))
 
-(define (emacs-site-file)
-  "Return the Emacs 'site-start.el' file.  That file contains the necessary
-settings for 'guix.el' to work out-of-the-box."
-  (scheme-file "site-start.el"
-               #~(progn
-                  ;; Add the "normal" elisp directory to the search path;
-                  ;; guix.el may be there.
-                  (add-to-list
-                   'load-path
-                   "/run/current-system/profile/share/emacs/site-lisp")
-
-                  ;; Attempt to load guix.el.
-                  (require 'guix-init nil t)
-
-                  ;; Attempt to load geiser.
-                  (require 'geiser-install nil t))))
-
-(define (emacs-site-directory)
-  "Return the Emacs site directory, aka. /etc/emacs."
-  (computed-file "emacs"
-                 #~(begin
-                     (mkdir #$output)
-                     (chdir #$output)
-                     (symlink #$(emacs-site-file) "site-start.el"))))
-
 (define* (operating-system-etc-service os)
   "Return a <service> that builds containing the static part of the /etc
 directory."
   (let ((login.defs (plain-file "login.defs" "# Empty for now.\n"))
 
-        (emacs      (emacs-site-directory))
         (issue      (plain-file "issue" (operating-system-issue os)))
         (nsswitch   (plain-file "nsswitch.conf"
                                 (name-service-switch->string
@@ -507,7 +481,6 @@ fi\n")))
      `(("services" ,#~(string-append #$net-base "/etc/services"))
        ("protocols" ,#~(string-append #$net-base "/etc/protocols"))
        ("rpc" ,#~(string-append #$net-base "/etc/rpc"))
-       ("emacs" ,#~#$emacs)
        ("login.defs" ,#~#$login.defs)
        ("issue" ,#~#$issue)
        ("nsswitch.conf" ,#~#$nsswitch)
@@ -587,10 +560,11 @@ use 'plain-file' instead~%")
     ("SSL_CERT_DIR" . "/etc/ssl/certs")
     ("SSL_CERT_FILE" . "/etc/ssl/certs/ca-certificates.crt")
     ("GIT_SSL_CAINFO" . "/etc/ssl/certs/ca-certificates.crt")
-    ;; Prepend the directory of 'site-start.el' to the search path, so
-    ;; that it has higher precedence than the 'site-start.el' file our
-    ;; Emacs package provides.
-    ("EMACSLOADPATH" . "/etc/emacs:")
+
+    ;; 'GTK_DATA_PREFIX' must name one directory where GTK+ themes are
+    ;; searched for.
+    ("GTK_DATA_PREFIX" . "/run/current-system/profile")
+
     ;; By default, applications that use D-Bus, such as Emacs, abort at startup
     ;; when /etc/machine-id is missing.  Make sure these warnings are non-fatal.
     ("DBUS_FATAL_WARNINGS" . "0")))
diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl
index 07183a533b..2fcf90f8b1 100644
--- a/gnu/system/examples/desktop.tmpl
+++ b/gnu/system/examples/desktop.tmpl
@@ -1,9 +1,9 @@
 ;; This is an operating system configuration template
-;; for a "desktop" setup with X11.
+;; for a "desktop" setup with GNOME and Xfce.
 
 (use-modules (gnu) (gnu system nss))
 (use-service-modules desktop)
-(use-package-modules xfce ratpoison certs)
+(use-package-modules certs)
 
 (operating-system
   (host-name "antelope")
@@ -29,15 +29,17 @@
                 (home-directory "/home/bob"))
                %base-user-accounts))
 
-  ;; Add Xfce and Ratpoison; that allows us to choose
-  ;; sessions using either of these at the log-in screen.
-  (packages (cons* xfce ratpoison    ;desktop environments
-                   nss-certs         ;for HTTPS access
+  ;; This is where we specify system-wide packages.
+  (packages (cons* nss-certs         ;for HTTPS access
                    %base-packages))
 
-  ;; Use the "desktop" services, which include the X11
-  ;; log-in service, networking with Wicd, and more.
-  (services %desktop-services)
+  ;; Add GNOME and/or Xfce---we can choose at the log-in
+  ;; screen with F1.  Use the "desktop" services, which
+  ;; include the X11 log-in service, networking with Wicd,
+  ;; and more.
+  (services (cons* (gnome-desktop-service)
+                   (xfce-desktop-service)
+                   %desktop-services))
 
   ;; Allow resolution of '.local' host names with mDNS.
   (name-service-switch %mdns-host-lookup-nss))
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
new file mode 100644
index 0000000000..7cb461f2b9
--- /dev/null
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -0,0 +1,45 @@
+;; This is an operating system configuration template
+;; for a "desktop" setup without full-blown desktop
+;; environments.
+
+(use-modules (gnu) (gnu system nss))
+(use-service-modules desktop)
+(use-package-modules wm ratpoison certs)
+
+(operating-system
+  (host-name "antelope")
+  (timezone "Europe/Paris")
+  (locale "en_US.UTF-8")
+
+  ;; Assuming /dev/sdX is the target hard disk, and "my-root"
+  ;; is the label of the target root file system.
+  (bootloader (grub-configuration (device "/dev/sdX")))
+
+  (file-systems (cons (file-system
+                        (device "my-root")
+                        (title 'label)
+                        (mount-point "/")
+                        (type "ext4"))
+                      %base-file-systems))
+
+  (users (cons (user-account
+                (name "alice")
+                (comment "Bob's brother")
+                (group "users")
+                (supplementary-groups '("wheel" "netdev"
+                                        "audio" "video"))
+                (home-directory "/home/alice"))
+               %base-user-accounts))
+
+  ;; Add a bunch of window managers; we can choose one at
+  ;; the log-in screen with F1.
+  (packages (cons* ratpoison i3-wm xmonad  ;window managers
+                   nss-certs               ;for HTTPS access
+                   %base-packages))
+
+  ;; Use the "desktop" services, which include the X11
+  ;; log-in service, networking with Wicd, and more.
+  (services %desktop-services)
+
+  ;; Allow resolution of '.local' host names with mDNS.
+  (name-service-switch %mdns-host-lookup-nss))
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index b380716b69..a94e3ab2d5 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -111,7 +111,7 @@ manual."
                     ;; 'gunzip' is needed to decompress the doc.
                     (setenv "PATH" (string-append #$gzip "/bin"))
 
-                    (execl (string-append #$texinfo-4 "/bin/info") "info"
+                    (execl (string-append #$info-reader "/bin/info") "info"
                            "-d" "/run/current-system/profile/share/info"
                            "-f" (string-append #$guix "/share/info/guix.info")
                            "-n" "System Installation"))))
@@ -215,9 +215,11 @@ the user's target storage device rather than on the RAM disk."
                                               (string-append #$output "/"
                                                              target)))
                                  '(#$(file "bare-bones.tmpl")
-                                   #$(file "desktop.tmpl"))
+                                   #$(file "desktop.tmpl")
+                                   #$(file "lightweight-desktop.tmpl"))
                                  '("bare-bones.scm"
-                                   "desktop.scm"))
+                                   "desktop.scm"
+                                   "lightweight-desktop.scm"))
                        #t)
                    #:modules '((guix build utils))))
 
@@ -338,17 +340,33 @@ Use Alt-F2 for documentation.
     (file-systems
      ;; Note: the disk image build code overrides this root file system with
      ;; the appropriate one.
-     (cons (file-system
-             (mount-point "/")
-             (device "gnu-disk-image")
-             (title 'label)
-             (type "ext4"))
-           %base-file-systems))
+     (cons* (file-system
+              (mount-point "/")
+              (device "gnu-disk-image")
+              (title 'label)
+              (type "ext4"))
+
+            ;; Make /tmp a tmpfs instead of keeping the unionfs.  This is
+            ;; because FUSE creates '.fuse_hiddenXYZ' files for each open file,
+            ;; and this confuses Guix's test suite, for instance.  See
+            ;; <http://bugs.gnu.org/23056>.
+            (file-system
+              (mount-point "/tmp")
+              (device "none")
+              (title 'device)
+              (type "tmpfs")
+              (check? #f))
+
+            ;; XXX: This should be %BASE-FILE-SYSTEMS but we don't need
+            ;; elogind's cgroup file systems.
+            (list %pseudo-terminal-file-system
+                  %shared-memory-file-system
+                  %immutable-store)))
 
     (users (list (user-account
                   (name "guest")
                   (group "users")
-                  (supplementary-groups '("wheel"))  ; allow use of sudo
+                  (supplementary-groups '("wheel")) ; allow use of sudo
                   (password "")
                   (comment "Guest of GNU")
                   (home-directory "/home/guest"))))
@@ -366,7 +384,6 @@ Use Alt-F2 for documentation.
      (base-pam-services #:allow-empty-passwords? #t))
 
     (packages (cons* (canonical-package glibc) ;for 'tzselect' & co.
-                     texinfo-4                 ;for the standalone Info reader
                      parted ddrescue
                      grub                  ;mostly so xrefs to its manual work
                      cryptsetup