summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm24
-rw-r--r--gnu/packages/audio.scm52
-rw-r--r--gnu/packages/base.scm6
-rw-r--r--gnu/packages/bioinformatics.scm20
-rw-r--r--gnu/packages/cdrom.scm36
-rw-r--r--gnu/packages/cross-base.scm43
-rw-r--r--gnu/packages/firmware.scm4
-rw-r--r--gnu/packages/fonts.scm46
-rw-r--r--gnu/packages/freeipmi.scm4
-rw-r--r--gnu/packages/ftp.scm27
-rw-r--r--gnu/packages/games.scm19
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/gstreamer.scm38
-rw-r--r--gnu/packages/ibus.scm8
-rw-r--r--gnu/packages/image.scm63
-rw-r--r--gnu/packages/libidn.scm25
-rw-r--r--gnu/packages/make-bootstrap.scm5
-rw-r--r--gnu/packages/maths.scm7
-rw-r--r--gnu/packages/networking.scm7
-rw-r--r--gnu/packages/patches/libjxr-fix-function-signature.patch16
-rw-r--r--gnu/packages/patches/libjxr-fix-typos.patch29
-rw-r--r--gnu/packages/patches/python-ipython-inputhook-ctype.patch41
-rw-r--r--gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch24
-rw-r--r--gnu/packages/patches/w3m-disable-weak-ciphers.patch24
-rw-r--r--gnu/packages/patches/w3m-force-ssl_verify_server-on.patch24
-rw-r--r--gnu/packages/patches/w3m-libgc.patch28
-rw-r--r--gnu/packages/patches/weex-vacopy.patch13
-rw-r--r--gnu/packages/pdf.scm26
-rw-r--r--gnu/packages/python.scm577
-rw-r--r--gnu/packages/statistics.scm127
-rw-r--r--gnu/packages/video.scm29
-rw-r--r--gnu/packages/w3m.scm33
-rw-r--r--gnu/packages/web.scm29
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/xiph.scm8
36 files changed, 1131 insertions, 343 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 7d100b861a..0b50c8677b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1859,14 +1859,14 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
 (define-public sunxi-tools
   (package
     (name "sunxi-tools")
-    (version "1.3")
+    (version "1.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/linux-sunxi/"
                            "sunxi-tools/archive/v" version ".tar.gz"))
        (sha256
-        (base32 "1iazm28gws1i8sls3gxwc5p108n56ags287zmh1rpvkn2k1az81a"))
+        (base32 "06qd2b4dlzbmzfy4q9n8v5rkkbmgcfdbv4nkkcp4nysi10k7cpfs"))
        (modules '((guix build utils)))
        (snippet
         ;; Remove binaries contained in the tarball which are only for the
@@ -1882,19 +1882,16 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
      `(#:tests? #f ; no tests exist
        #:make-flags (list (string-append "PREFIX="
                                          (assoc-ref %outputs "out"))
-                          "TARGET_TOOLS=sunxi-pio sunxi-meminfo"
-                          "CROSS_COMPILE=")
+                          "CROSS_COMPILE="
+                          "CC=gcc"
+                          "all")
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'fix-Makefile
-           (lambda _
-             (substitute* "Makefile"
-               ;; Upstream adds Makefile and config.h as dependencies
-               ;; of all their tools which means $^ would pass them to gcc.
-               ;; gcc won't know what to do with a Makefile.
-               (("-o [$][@] [$]\\^") "-o $@ meminfo.c"))
-             #t))
-         (delete 'configure))))
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "install-all" "install-misc"
+                           make-flags)))))))
     (home-page "https://github.com/linux-sunxi/sunxi-tools")
     (synopsis "Hardware management tools for Allwinner computers")
     (description "This package contains tools for Allwinner devices:
@@ -1910,5 +1907,6 @@ bootloader) parameters.
 @item @command{sunxi-pio}: Sets GPIO parameters and oscillates a GPIO
 in order to be able to find it.
 @item @command{sunxi-meminfo}: Prints memory bus settings.
+@item @command{sunxi-nand-image-builder}: Prepares raw NAND images.
 @end enumerate")
     (license license:gpl2+)))
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 8ec8330b57..994c6e4e04 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -385,6 +385,50 @@ performances.  The plugins include a cellular automaton synthesizer, an
 envelope follower, distortion effects, tape effects and more.")
     (license license:gpl2+)))
 
+(define-public swh-plugins-lv2
+  (package
+    (name "swh-plugins-lv2")
+    (version "1.0.16")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/swh/"
+                                  "lv2/archive/v" version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0j1mih0lp4fds07knp5i32in515sh0df1qi6694pmyz2wqnm295w"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no check target
+       #:make-flags (list "CC=gcc"
+                          (string-append "PREFIX="
+                                         (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         ;; no configure script
+         (delete 'configure)
+         (add-after 'unpack 'patch-makefile-and-enter-directory
+           ;; The default install target doesn't install, but the
+           ;; "install-system" target does.
+           (lambda _
+             (substitute* "Makefile"
+               (("install:") "install: install-system"))
+             #t)))))
+    (inputs
+     `(("lv2" ,lv2)
+       ("fftwf" ,fftwf)))
+    (native-inputs
+     `(("libxslt" ,libxslt)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://plugin.org.uk")
+    (synopsis "SWH plugins in LV2 format")
+    (description
+     "Swh-plugins-lv2 is a collection of audio plugins in LV2 format.  Plugin
+classes include: dynamics (compressor, limiter), time (delay, chorus,
+flanger), ringmodulator, distortion, filters, pitchshift, oscillators,
+emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
+    (license license:gpl3+)))
+
 (define-public csound
   (package
     (name "csound")
@@ -1985,14 +2029,14 @@ surround and reverb.")
 (define-public libxmp
   (package
     (name "libxmp")
-    (version "4.3.10")
+    (version "4.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/xmp/libxmp/" version "/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1gm5xa0ca7ypcbj3bkmj3k1vvzl7nkch8gjyrm8p1a9vgzr0n761"))))
+                "1kycz4jsyvmf7ny9227b497wc7y5ligydi6fvvldmkf8hk63ad9m"))))
     (build-system gnu-build-system)
     (home-page "http://xmp.sourceforge.net/")
     (synopsis "Module player library")
@@ -2005,14 +2049,14 @@ Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).")
 (define-public xmp
   (package
     (name "xmp")
-    (version "4.0.10")
+    (version "4.1.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/xmp/xmp/" version "/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0gjylvvmq7ha0nhcjg56qfp0xxpsrcsj7y5r914svd5x1ppmzm5n"))))
+                "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 76052ef902..77ba2c7454 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1027,4 +1027,10 @@ program.  It supports a wide variety of different encodings.")
          (proc  (module-ref iface 'canonical-package)))
     (proc package)))
 
+(define-public (%final-inputs)
+  "Return the list of \"final inputs\"."
+  ;; Avoid circular dependency by lazily resolving 'commencement'.
+  (let ((iface (resolve-interface '(gnu packages commencement))))
+    (module-ref iface '%final-inputs)))
+
 ;;; base.scm ends here
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4750cb97bf..4dfac15040 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -6171,13 +6171,13 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "3.16.0")
+    (version "3.16.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "1qr20j55m35dwzqyzzmla69gk5bzff8v1v2qjh7yd3362wq1ch49"))))
+                "1r6hhwkqp13m022hjajzr1lnjsbai0yjhykwn0kp1f0la990a808"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -6235,13 +6235,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.30.0")
+    (version "3.30.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "0d8wp7b7nymawf4czwsg27k4c61i4ij2lhv7phi6cb3hdd8c76yf"))))
+                "04jris7wk2lxksrrvrjsysznsdb2k04lfgrnp18ic49sazva0hfy"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -6398,13 +6398,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.8.0")
+    (version "1.8.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "0vz23i14f7wjygr5d4y1hp8ki6l6igwcsjscfpr6dcigmknyi55c"))))
+                "123i928rwi4h4sy4fpysv6pinw5nns0sm3myxi2ghqhm34ws8gyl"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -6554,13 +6554,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.34.0")
+    (version "1.34.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "0mix5k75j70mwplbdipqw71n8qic75ny6y8w2f5jj0pqg1k0327d"))))
+                "0x59k2fd0iaqi93gy6bm58p2j2z90z1b7a6w5b4c098y98n096rc"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -7312,7 +7312,7 @@ paired-end data.")
 (define-public r-rcas
   (package
     (name "r-rcas")
-    (version "0.99.6")
+    (version "1.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/RCAS/archive/v"
@@ -7320,7 +7320,7 @@ paired-end data.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1ljgl2b4r6w2n0i9i04d9xaphajsvhfkjdj2i2z830nha4m3w8f0"))))
+                "1h7di822ihgkhmmmlfbfz3c2dkjyjxl307i6mx8w0cwjqbna1kp6"))))
     (build-system r-build-system)
     (native-inputs
      `(("r-knitr" ,r-knitr)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 1524ef530b..4173a37294 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -359,3 +360,38 @@ from an audio CD.")
 that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex
 and/or MPP/MP+ (Musepack) format, and tags them, all in one go.")
     (license gpl2+)))
+
+(define-public geteltorito
+  (package
+    (name "geteltorito")
+    (version "0.6")
+    (home-page
+     "https://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append home-page name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1gkbm9ahj2mgqrkrfpibzclsriqgsbsvjh19fr815vpd9f6snkxv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; No tests.
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "geteltorito"
+                             (string-append out "/bin"))))))))
+    (inputs `(("perl" ,perl)))
+    (synopsis "Extract the boot image from a CD-ROM")
+    (description
+     "@command{geteltorito} can extract the initial/default boot
+image from CDs (and ISOs) that follow the El Torito specification
+for bootable CD-ROMs.
+
+Image data is written to standard output by default and all other
+information is written to standard error.")
+    (license gpl2+)))
diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm
index c73222a735..e6553dcd34 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -24,7 +24,6 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages base)
-  #:use-module (gnu packages commencement)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages hurd)
   #:use-module (guix packages)
@@ -260,11 +259,11 @@ GCC that does not target a libc; otherwise, target that libc."
 
        ;; Call it differently so that the builder can check whether the "libc"
        ;; input is #f.
-       ("libc-native" ,@(assoc-ref %final-inputs "libc"))
+       ("libc-native" ,@(assoc-ref (%final-inputs) "libc"))
 
        ;; Remaining inputs.
        ,@(let ((inputs (append (package-inputs %xgcc)
-                               (alist-delete "libc" %final-inputs))))
+                               (alist-delete "libc" (%final-inputs)))))
            (if libc
                `(("libc" ,libc)
                  ("xkernel-headers"                ;the target headers
@@ -522,36 +521,14 @@ XBINUTILS and the cross tool chain."
                        ,@(package-native-inputs libc))))))
 
 
-;;;
-;;; Concrete cross toolchains.
-;;;
-
-(define-public xgcc-mips64el
-  (let* ((triplet "mips64el-linux-gnuabi64")      ;N64 ABI
-         (xgcc    (cross-gcc triplet
-                             (cross-binutils triplet)
-                             (cross-libc triplet))))
-    ;; Don't attempt to build this cross-compiler on i686;
-    ;; see <http://bugs.gnu.org/19598>.
-    (package (inherit xgcc)
-      (supported-systems (fold delete
-                               (package-supported-systems xgcc)
-                               '("mips64el-linux" "i686-linux"))))))
-
-(define-public xgcc-xtensa
-  ;; Bare-bones Xtensa cross-compiler, used to build the Atheros firmware.
-  (cross-gcc "xtensa-elf"))
-
-(define-public xgcc-armhf
-  (let* ((triplet "arm-linux-gnueabihf")
-         (xgcc    (cross-gcc triplet
-                             (cross-binutils triplet)
-                             (cross-libc triplet))))
-    (package (inherit xgcc)
-      (supported-systems (delete "armhf-linux" %supported-systems)))))
-
-;; (define-public xgcc-armel
-;;   (let ((triplet "armel-linux-gnueabi"))
+;;; Concrete cross tool chains are instantiated like this:
+;;
+;; (define-public xgcc-armhf
+;;   (let ((triplet "arm-linux-gnueabihf"))
 ;;     (cross-gcc triplet
 ;;                (cross-binutils triplet)
 ;;                (cross-libc triplet))))
+;;
+;;; We don't do that here because we'd be referring to bindings from (gnu
+;;; packages gcc) from the top level, which doesn't play well with circular
+;;; dependencies among modules.
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 45b7bf7ab1..484896f592 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -71,7 +71,7 @@
 
     ;; The firmware is cross-compiled using a "bare bones" compiler (no libc.)
     ;; Use our own tool chain for that.
-    (native-inputs `(("cross-gcc" ,xgcc-xtensa)
+    (native-inputs `(("cross-gcc" ,(cross-gcc "xtensa-elf"))
                      ("cross-binutils" ,(cross-binutils "xtensa-elf"))
                      ("cmake" ,cmake)
                      ("perl" ,perl)))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 22857e84b5..009efd2955 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,6 +30,7 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages fonts)
+  #:use-module (ice-9 regex)
   #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
@@ -852,3 +854,47 @@ powerline support.")
     (license (license:x11-style
               "https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md"
               "Hack Open Font License v2.0"))))
+
+(define-public font-adobe-source-code-pro
+  (package
+    (name "font-adobe-source-code-pro")
+    (version "2.030R-ro-1.050R-it")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/adobe-fonts/source-code-pro/archive/"
+                    (regexp-substitute/global
+                     ;; The upstream tag uses "/" between the roman and italic
+                     ;; versions, so substitute our "-" separator here.
+                     #f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0arhhsf3i7ss39ykn73d1j8k4n8vx7115xph6jwkd970p1cxvr54"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (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/opentype")))
+           (setenv "PATH" PATH)
+           (mkdir-p font-dir)
+           (zero? (system* tar "-C" font-dir "--strip-components=2"
+                           "-xvf" (assoc-ref %build-inputs "source")
+                           (string-append "source-code-pro-"
+                                          ,version "/OTF")))))))
+    (native-inputs
+     `(("gzip" ,gzip)
+       ("tar" ,tar)))
+    (home-page "https://github.com/adobe-fonts/source-code-pro")
+    (synopsis
+     "Monospaced font family for user interface and coding environments")
+    (description
+     "Source Code Pro is a set of monospaced OpenType fonts that have been
+designed to work well in user interface environments.")
+    (license license:silofl1.1)))
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index cd97d52f99..fc11bbd2b9 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -28,14 +28,14 @@
 (define-public freeipmi
   (package
     (name "freeipmi")
-    (version "1.5.4")
+    (version "1.5.5")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "1m8zvnyjyjap07vvc5z90nyghabbb6bjcyyc7qswj66qsmssf135"))))
+               "0lzzvhzbdl1cxin4xz3lirqxsjwmjr5ac0qr4g21cqsv2j6vj85f"))))
     (build-system gnu-build-system)
     (inputs
      `(("readline" ,readline)
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index a11265532a..eb622dd17c 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -25,6 +25,8 @@
   #:use-module (guix download)
   #:use-module (guix packages)
   #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gettext)
   #:use-module (gnu packages ncurses)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages pkg-config)
@@ -126,31 +128,26 @@ FTP browser, as well as non-interactive commands such as 'ncftpput' and
 (define-public weex
   (package
     (name "weex")
-    (version "2.6.1.5")
+    (version "2.8.2")
     (source
       (origin
         (method url-fetch)
         (uri
-          (string-append "mirror://sourceforge/weex/weex/" version
-                         "/weex-" version ".tar.gz"))
+          (string-append "mirror://sourceforge/weex/weex/"
+                         "/weex_" version ".tar.gz"))
         (sha256
           (base32
-            "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl"))
-        (patches (search-patches "weex-vacopy.patch"))))
+            "1ir761hjncr1bamaqcw9j7x57xi3s9jax3223bxwbq30a0vsw1pd"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("automake" ,automake)
+       ("autoconf" ,autoconf)
+       ("gettext" ,gnu-gettext)))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
-         (replace 'configure
-                  ;; configure does not work followed by both "SHELL=..." and
-                  ;; "CONFIG_SHELL=..."; set environment variables instead
-                  (lambda* (#:key outputs #:allow-other-keys)
-                    (let* ((out (assoc-ref outputs "out"))
-                           (bash (which "bash")))
-                      (setenv "SHELL" bash)
-                      (setenv "CONFIG_SHELL" bash)
-                      (zero? (system* bash "./configure"
-                                      (string-append "--prefix=" out)))))))))
+         (add-before 'configure 'bootstrap
+           (lambda _ (zero? (system* "autoreconf" "-vfi")))))))
     (home-page "http://weex.sourceforge.net/")
     (synopsis "Non-interactive client for FTP synchronization")
     (description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ec97c98f82..851d96eee0 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2518,7 +2518,7 @@ tactics.")
 (define-public starfighter
   (package
     (name "starfighter")
-    (version "1.5.1.1")
+    (version "1.6")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2527,7 +2527,7 @@ tactics.")
                     name "-" version "-src.tar.gz"))
               (sha256
                (base32
-                "1qc0hhw9m8sy3n9fips52c7aph3w8a8pdl4n45yaasgxzbvpn9xg"))))
+                "1qb5nk0b3d0ia5zszmg4a3ydf4fiy39fmymb66vwkqn4djajdhzq"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; no check target
@@ -2563,7 +2563,7 @@ in strikes against the evil corporation.")
 (define-public chromium-bsu
   (package
     (name "chromium-bsu")
-    (version "0.9.15.1")
+    (version "0.9.16.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/" name
@@ -2571,18 +2571,11 @@ in strikes against the evil corporation.")
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "01c4mki0rpz6wrqbf18fj4vd7axln5v0xqm80cyksbv63g04s6w6"))))
+                "0jk2w5b6s6nkzri585bbz16cif2fhqcnl5l1mq3rd98r9nil3hd1"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (add-after 'set-paths 'set-sdl-paths
-                             (lambda* (#:key inputs #:allow-other-keys)
-                               (setenv "CPATH"
-                                       (string-append (assoc-ref inputs "sdl-union")
-                                                      "/include/SDL"))
-                               #t)))))
     (native-inputs `(("pkg-config" ,pkg-config)))
-    (inputs `(("glu" ,glu)
+    (inputs `(("gettext" ,gnu-gettext)
+              ("glu" ,glu)
               ("quesoglc" ,quesoglc)
               ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer)))))
     (home-page "http://chromium-bsu.sourceforge.net/")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index d54ae2fb5f..cbb8115042 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3608,7 +3608,7 @@ work and the interface is well tested.")
 (define-public epiphany
   (package
     (name "epiphany")
-    (version "3.22.0")
+    (version "3.22.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -3616,7 +3616,7 @@ work and the interface is well tested.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "09rscbmyjxzd8wlibn1fbmbwmlwnahzfl1kkcka6dhm121yd2id6"))))
+                "03ncqmb8n06qr88rlwa2rph833gjcwsmxaw2wf1yawadwpnn5cda"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      ;; FIXME: tests run under Xvfb, but fail with:
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 6d9c3c8f33..bcefa42d11 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -163,7 +163,7 @@ and support for SSL3 and TLS.")
 (define-public gnurl
   (package
    (name "gnurl")
-   (version "7.50.3")
+   (version "7.51.0")
    (source (origin
             (method url-fetch)
             (uri (let ((version-with-underscores
@@ -172,7 +172,7 @@ and support for SSL3 and TLS.")
                                   name "-" version-with-underscores ".tar.bz2")))
             (sha256
              (base32
-              "07ij9mj60kpfrmi0436k14b1d1idsj79nk4w5h3bia69arzp2cnk"))))
+              "1rgl4agrzghvyfz1afk1p5ryq4b9cz28lavx8ikrav6aiv9h00ig"))))
    (build-system gnu-build-system)
    (inputs `(("gnutls" ,gnutls)
              ("libidn" ,libidn)
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index 4aea514411..0b73fd14e2 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -97,7 +97,7 @@ arrays of data.")
 (define-public gstreamer
   (package
     (name "gstreamer")
-    (version "1.8.2")
+    (version "1.10.0")
     (source
      (origin
       (method url-fetch)
@@ -106,7 +106,7 @@ arrays of data.")
             version ".tar.xz"))
       (sha256
        (base32
-        "0hc3j684nx209p10ampvnkza3gna2yiryr7jyx701ciakh3vxglx"))))
+        "01vjsgz58n6nrmnahs4ac7v4656yc042ymffqjzqa0a8pvx7hxqy"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (arguments
@@ -145,7 +145,7 @@ This package provides the core library and elements.")
 (define-public gst-plugins-base
   (package
     (name "gst-plugins-base")
-    (version "1.8.2")
+    (version "1.10.0")
     (source
      (origin
       (method url-fetch)
@@ -153,7 +153,7 @@ This package provides the core library and elements.")
                           name "-" version ".tar.xz"))
       (sha256
        (base32
-        "13fk751vvfrfhbm4ip28vxyvlsm4b4y0bc0pvf7fqp8azg40jwcx"))))
+        "0jp9rwv0am8qv32q3dzhdcbyygg5wjm4fg20njyhp6n6vybyzkdz"))))
     (build-system gnu-build-system)
     (outputs '("out" "doc"))
     (propagated-inputs
@@ -199,7 +199,7 @@ for the GStreamer multimedia library.")
 (define-public gst-plugins-good
   (package
     (name "gst-plugins-good")
-    (version "1.8.2")
+    (version "1.10.0")
     (source
      (origin
       (method url-fetch)
@@ -208,7 +208,7 @@ for the GStreamer multimedia library.")
             name "-" version ".tar.xz"))
       (sha256
        (base32
-        "0i1rlbbx3m6ykvcdyaidsd8wa2b7nq2qmcvbrsg00yivi88ljxcd"))))
+        "1qhx6x3ax1qqbvm20zhqax3dsas4yzlx7vdjnjqllqzmcfbma0vs"))))
     (build-system gnu-build-system)
     (inputs
      `(("aalib" ,aalib)
@@ -264,18 +264,18 @@ developers consider to have good quality code and correct functionality.")
 (define-public gst-plugins-bad
   (package
     (name "gst-plugins-bad")
-    (version "1.6.3")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                   name "/" name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0q9s5da54819gwncmdi95l5qzx97l9vxk6adx4zmx73a3l82j6wp"))))
+                "0kqwh5r4j05f2w9m353grvypn0106hxcr52409f7rvm3w4b9sprx"))))
     (outputs '("out" "doc"))
     (build-system gnu-build-system)
     (arguments
-     '(#:tests? #f ; XXX: 11 of 54 tests fail
+     '(#:tests? #f ; XXX: 18 of 65 tests fail
        #:configure-flags
        (list (string-append "--with-html-dir="
                             (assoc-ref %outputs "doc")
@@ -329,8 +329,9 @@ developers consider to have good quality code and correct functionality.")
        ;("qtx11extras" ,qtx11extras)
        ("soundtouch" ,soundtouch)
        ("x265" ,x265)
-       ("wayland" ,wayland)))
-    (home-page "http://gstreamer.freedesktop.org/")
+       ;("wayland" ,wayland) ; needs wayland-protocols
+       ))
+    (home-page "https://gstreamer.freedesktop.org/")
     (synopsis "Plugins for the GStreamer multimedia library")
     (description
      "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
@@ -340,7 +341,7 @@ par compared to the rest.")
 (define-public gst-plugins-ugly
   (package
     (name "gst-plugins-ugly")
-    (version "1.8.2")
+    (version "1.10.0")
     (source
      (origin
        (method url-fetch)
@@ -348,7 +349,7 @@ par compared to the rest.")
                            name "/" name "-" version ".tar.xz"))
        (sha256
         (base32
-         "1b58s7z430cbbaw8mgy87kslbpmj3xmm66wsr7bddhcgm6i36nww"))))
+         "1q2m3bl8kh9q3grshj55lb2mqby4r20qfsrffc2l7ddb0ccqvplp"))))
     (build-system gnu-build-system)
     (inputs
      `(("gst-plugins-base" ,gst-plugins-base)
@@ -379,7 +380,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
 (define-public gst-libav
   (package
     (name "gst-libav")
-    (version "1.8.2")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -387,7 +388,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
                     name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0yk8pxg3xi26ndj7pliqdfphy0jmqsq4dmdzy31gbd9rgficgwxm"))))
+                "0nyqkggcxfrbflcf4jyj0h9l1rkbi3r5h61w4fcbp2n72522165g"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--with-system-libav")
@@ -397,7 +398,8 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
                      (lambda _
                        (substitute* "gst-libs/ext/libav/configure"
                          (("#! /bin/sh")
-                          (string-append "#! "(which "sh")))))))))
+                          (string-append "#! "(which "sh"))))
+                       #t)))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("python" ,python)))
@@ -416,7 +418,7 @@ compression formats through the use of the libav library.")
 (define-public python-gst
   (package
     (name "python-gst")
-    (version "1.8.2")
+    (version "1.10.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -424,7 +426,7 @@ compression formats through the use of the libav library.")
                     "gst-python-" version ".tar.xz"))
               (sha256
                (base32
-                "15sdfa6lq5pswvi09vk51cs30yf8wr2rlm9myhb4q0c2jhiial2g"))))
+                "0hf71m0vqnd5sdj14li935xzzmqxh606qgw744a25w3vwj9v8nfy"))))
     (build-system gnu-build-system)
     (arguments
      ;; XXX: Factorize python-sitedir with python-build-system.
diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm
index 8dc5cdb742..d441485296 100644
--- a/gnu/packages/ibus.scm
+++ b/gnu/packages/ibus.scm
@@ -42,7 +42,7 @@
 (define-public ibus
   (package
    (name "ibus")
-   (version "1.5.11")
+   (version "1.5.14")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/ibus/ibus/"
@@ -50,10 +50,11 @@
                                  version "/ibus-" version ".tar.gz"))
              (sha256
               (base32
-               "1g26llizd26h9sfz4xdq8krhz19hn08pirvfbkk3g89ri8lmm6a9"))))
+               "0g4x02d7j5w1lfn4zvmzsq93h17lajgn9d7hlvr6pws28vz40ax4"))))
    (build-system glib-or-gtk-build-system)
    (arguments
     `(#:tests? #f  ; tests fail because there's no connection to dbus
+      #:configure-flags '("--disable-emoji-dict") ; cannot find emoji.json path
       #:make-flags
       (list "CC=gcc"
             (string-append "pyoverridesdir="
@@ -106,6 +107,7 @@
       ("gtk2" ,gtk+-2)
       ("gtk+" ,gtk+)
       ("intltool" ,intltool)
+      ("json-glib" ,json-glib)
       ("libnotify" ,libnotify)
       ("libx11" ,libx11)
       ("setxkbmap" ,setxkbmap)
@@ -127,7 +129,7 @@
     "IBus is an input framework providing a full-featured and user-friendly
 input method user interface.  It comes with multilingual input support.  It
 may also simplify input method development.")
-   (home-page "http://ibus.googlecode.com/")
+   (home-page "https://github.com/ibus/ibus/wiki")
    (license lgpl2.1+)))
 
 (define-public ibus-libpinyin
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 6cfc6e5be1..47544a629e 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -129,6 +130,62 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
             (sha256 (base32
                      "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))
 
+(define-public libjxr
+  (package
+    (name "libjxr")
+    (version "1.1")
+    (source (origin
+              ;; We are using the Debian source because CodePlex does not
+              ;; deliver an easily downloadable tarball.
+              (method url-fetch)
+              (uri (string-append "mirror://debian/pool/main/j/jxrlib/jxrlib_"
+                                  version ".orig.tar.gz"))
+              (sha256
+               (base32
+                "00w3f3cmjsm3fiaxq5mxskmp5rl3mki8psrf9y8s1vqbg237na67"))
+              (patch-flags '("-p1" "--binary"))
+              (patches (search-patches "libjxr-fix-function-signature.patch"
+                                       "libjxr-fix-typos.patch"))))
+    (build-system gnu-build-system)
+    (arguments '(#:make-flags '("CC=gcc")
+                 #:tests? #f ; no check target
+                 #:phases
+                 (modify-phases %standard-phases
+                   (delete 'configure) ; no configure script
+                   ;; The upstream makefile does not include an install phase.
+                   (replace 'install
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (bin (string-append out "/bin"))
+                              (lib (string-append out "/lib"))
+                              (include (string-append out "/include/jxrlib")))
+                         (for-each (lambda (file)
+                                     (install-file file include)
+                                     (delete-file file))
+                                   (append
+                                    '("jxrgluelib/JXRGlue.h"
+                                      "jxrgluelib/JXRMeta.h"
+                                      "jxrtestlib/JXRTest.h"
+                                      "image/sys/windowsmediaphoto.h")
+                                    (find-files "common/include" "\\.h$")))
+                         (for-each (lambda (file)
+                                     (install-file file lib)
+                                     (delete-file file))
+                                   (find-files "." "\\.a$"))
+                         (for-each (lambda (file)
+                                     (install-file file bin)
+                                     (delete-file file))
+                                   '("JxrDecApp" "JxrEncApp")))
+                       #t)))))
+    (synopsis "Implementation of the JPEG XR standard")
+    (description "JPEG XR is an approved ISO/IEC International standard (its
+official designation is ISO/IEC 29199-2). This library is an implementation of that standard.")
+    (license
+     (license:non-copyleft
+      "file://Makefile"
+      "See the header of the Makefile in the distribution."))
+    (home-page "https://jxrlib.codeplex.com/")))
+
 (define-public jpegoptim
   (package
    (name "jpegoptim")
@@ -791,17 +848,15 @@ convert, manipulate, filter and display a wide variety of image formats.")
 (define-public jasper
   (package
     (name "jasper")
-    (version "1.900.16")
+    (version "1.900.19")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper"
                                   "/software/jasper-" version ".tar.gz"))
               (sha256
                (base32
-                "0wgrz6970sf8apyld35vrxamzx46fq15l0ipkvjsjlbwfrhj57rl"))))
+                "0dm3k0wdny3s37zxm9s9riv46p69c14bnn532fv6cv5b6l1b0pwb"))))
     (build-system gnu-build-system)
-    (arguments
-     '(#:make-flags '("CFLAGS=-std=c99"))) ; 1.900.13 added c++ style comments
     (synopsis "JPEG-2000 library")
     (description "The JasPer Project is an initiative to provide a reference
 implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,
diff --git a/gnu/packages/libidn.scm b/gnu/packages/libidn.scm
index 0c9d0af3c8..bc67387b29 100644
--- a/gnu/packages/libidn.scm
+++ b/gnu/packages/libidn.scm
@@ -41,8 +41,31 @@
    (description
      "libidn is a library implementing of the Stringprep, Punycode and IDNA
 specifications.  These are used to encode and decode internationalized domain
-names.  It includes native C, C# and Java libraries.")
+names according to the IDNA2003 specifications.  It includes native C, C# and
+Java libraries.")
    ;; The C code is dual-licensed gpl2+ lgpl3+, the manual is fdl1.3+,
    ;; the command line tool is gpl3+.
    (license (list gpl2+ gpl3+ lgpl3+ fdl1.3+))
    (home-page "http://www.gnu.org/software/libidn/")))
+
+(define-public libidn2
+  (package
+    (name "libidn2")
+    (version "0.11")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://alpha.gnu.org/gnu/libidn/libidn2-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "1zxzhzx14q2b1xkx746pz4lawvqd8d055yy84n52ndwb4pf7nfax"))))
+    (build-system gnu-build-system)
+    (synopsis "Internationalized domain name library for IDNA2008")
+    (description "Libidn2 is an internationalized domain library implementing
+the IDNA2008 specifications.   Libidn2 is believed to be a complete IDNA2008
+implementation, but has yet to be as extensively used as the original Libidn
+library.")
+    (home-page "https://www.gnu.org/software/libidn/#libidn2")
+    ;; The command-line tool 'idn2' is GPL3+, while the library is dual-licensed
+    ;; GPL2+ or LGPL3+.
+    (license (list gpl2+ gpl3+ lgpl3+))))
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index d2df69d1e5..f31db6aaef 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -23,7 +23,6 @@
   #:use-module (guix build-system trivial)
   #:use-module (guix build-system gnu)
   #:use-module ((gnu packages) #:select (search-patch))
-  #:use-module ((gnu packages commencement) #:select (%final-inputs))
   #:use-module (gnu packages base)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages bash)
@@ -101,14 +100,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
                                           (cross-binutils target)
                                           (cross-bootstrap-libc)))
             ("cross-binutils" ,(cross-binutils target))
-            ,@%final-inputs))
+            ,@(%final-inputs)))
         `(("libc" ,(glibc-for-bootstrap))
           ("gcc" ,(package (inherit gcc)
                     (outputs '("out")) ; all in one so libgcc_s is easily found
                     (inputs
                      `(("libc",(glibc-for-bootstrap))
                        ,@(package-inputs gcc)))))
-          ,@(fold alist-delete %final-inputs '("libc" "gcc")))))
+          ,@(fold alist-delete (%final-inputs) '("libc" "gcc")))))
 
   (package-with-explicit-inputs p inputs
                                 (current-source-location)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index a3822887ae..5665c2a7b8 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -1847,7 +1847,7 @@ to BMP, JPEG or PNG image formats.")
 (define-public maxima
   (package
     (name "maxima")
-    (version "5.36.1")
+    (version "5.38.1")
     (source
      (origin
        (method url-fetch)
@@ -1855,7 +1855,7 @@ to BMP, JPEG or PNG image formats.")
                            version "-source/" name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"))
+         "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf"))
        (patches (search-patches "maxima-defsystem-mkdir.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -1864,7 +1864,8 @@ to BMP, JPEG or PNG image formats.")
        ("tk" ,tk)))                               ;Tcl/Tk is used by 'xmaxima'
     (native-inputs
      `(("texinfo" ,texinfo)
-       ("perl" ,perl)))
+       ("perl" ,perl)
+       ("python" ,python)))
     (arguments
      `(#:configure-flags
        (list "--enable-gcl"
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1bcdecf22a..a3e0d5f4f9 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -428,7 +428,7 @@ and up to 1 Mbit/s downstream.")
 (define-public whois
   (package
     (name "whois")
-    (version "5.2.12")
+    (version "5.2.13")
     (source
      (origin
        (method url-fetch)
@@ -436,7 +436,7 @@ and up to 1 Mbit/s downstream.")
                            name "_" version ".tar.xz"))
        (sha256
         (base32
-         "1wfdyqi64l5x56j259jrrlbh19b7q7i6r83a8q8rjzcqp0kl0vdj"))))
+         "0r3bbxpwsxssa99d8dcjnp79mw1cjwqxgmqjm1537q277jwsk0yc"))))
     (build-system gnu-build-system)
     ;; TODO: unbundle mkpasswd binary + its po files.
     (arguments
@@ -449,7 +449,8 @@ and up to 1 Mbit/s downstream.")
          (add-before 'build 'setenv
            (lambda _
              (setenv "HAVE_ICONV" "1")
-             (setenv "HAVE_LIBIDN" "1"))))))
+             (setenv "HAVE_LIBIDN" "1")
+             #t)))))
     (inputs
      `(("libidn" ,libidn)))
     (native-inputs
diff --git a/gnu/packages/patches/libjxr-fix-function-signature.patch b/gnu/packages/patches/libjxr-fix-function-signature.patch
new file mode 100644
index 0000000000..32f5f64512
--- /dev/null
+++ b/gnu/packages/patches/libjxr-fix-function-signature.patch
@@ -0,0 +1,16 @@
+Description: Fix function signature

+Author: Mathieu Malaterre <malat@debian.org>

+Origin: upstream, https://jxrlib.codeplex.com/SourceControl/changeset/04cf339385b8196f98025b43a366a0790deac994

+Bug-Debian: http://bugs.debian.org/748590

+

+--- jxrlib-1.1.orig/image/decode/JXRTranscode.c

++++ jxrlib-1.1/image/decode/JXRTranscode.c

+@@ -47,7 +47,7 @@ EXTERN_C Void FreeCodingContextDec(CWMIm

+ EXTERN_C Int StrEncInit(CWMImageStrCodec *);

+ EXTERN_C Void StrIOEncTerm(CWMImageStrCodec *);

+ EXTERN_C Void FreeCodingContextEnc(CWMImageStrCodec *);

+-EXTERN_C Void encodeMB(CWMImageStrCodec *, Int, Int);

++EXTERN_C Int encodeMB(CWMImageStrCodec *, Int, Int);

+ EXTERN_C Int  writeIndexTableNull(CWMImageStrCodec *);

+ EXTERN_C Void writePacketHeader(BitIOInfo *, U8, U8);

+ 

diff --git a/gnu/packages/patches/libjxr-fix-typos.patch b/gnu/packages/patches/libjxr-fix-typos.patch
new file mode 100644
index 0000000000..819db34900
--- /dev/null
+++ b/gnu/packages/patches/libjxr-fix-typos.patch
@@ -0,0 +1,29 @@
+Description: Fix typos and remove some warnings

+Author: Mathieu Malaterre <malat@debian.org>

+

+Index: jxrlib-1.1/jxrencoderdecoder/JxrEncApp.c

+===================================================================

+--- jxrlib-1.1.orig/jxrencoderdecoder/JxrEncApp.c

++++ jxrlib-1.1/jxrencoderdecoder/JxrEncApp.c

+@@ -578,7 +578,7 @@ main(int argc, char* argv[])

+ 

+     //================================

+     Call(PKCreateCodecFactory(&pCodecFactory, WMP_SDK_VERSION));

+-    Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, &pEncoder));

++    Call(pCodecFactory->CreateCodec(&IID_PKImageWmpEncode, (void**)&pEncoder));

+ 

+     //----------------------------------------------------------------

+     Call(PKCreateTestFactory(&pTestFactory, WMP_SDK_VERSION));

+Index: jxrlib-1.1/jxrgluelib/JXRMeta.h

+===================================================================

+--- jxrlib-1.1.orig/jxrgluelib/JXRMeta.h

++++ jxrlib-1.1/jxrgluelib/JXRMeta.h

+@@ -34,7 +34,7 @@

+ 

+ #ifndef UNREFERENCED_PARAMETER

+ #define UNREFERENCED_PARAMETER(P) { (P) = (P); }

+-#endif UNREFERENCED_PARAMETER

++#endif /*UNREFERENCED_PARAMETER*/

+ 

+ //================================================================

+ // Container

diff --git a/gnu/packages/patches/python-ipython-inputhook-ctype.patch b/gnu/packages/patches/python-ipython-inputhook-ctype.patch
deleted file mode 100644
index c77e310542..0000000000
--- a/gnu/packages/patches/python-ipython-inputhook-ctype.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 04c5d358c7ab74d3ddab4f7662e539393d8604c6 Mon Sep 17 00:00:00 2001
-From: Lucretiel <Lucretiel@users.noreply.github.com>
-Date: Wed, 13 May 2015 13:12:43 -0400
-Subject: [PATCH] register now checks for missing ctypes
-
-If ctypes is None, then no input hooks may be registered; `InputHookManager.register` skips registration of input hook classes. Also updated `__init__` to no longer skip creating the instance attributes, to prevent AttributeError exceptions at load time.
----
- IPython/lib/inputhook.py | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/IPython/lib/inputhook.py b/IPython/lib/inputhook.py
-index 4ae2cb3..6578365 100644
---- a/IPython/lib/inputhook.py
-+++ b/IPython/lib/inputhook.py
-@@ -107,8 +107,8 @@ class InputHookManager(object):
-     def __init__(self):
-         if ctypes is None:
-             warn("IPython GUI event loop requires ctypes, %gui will not be available")
--            return
--        self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
-+        else:
-+            self.PYFUNC = ctypes.PYFUNCTYPE(ctypes.c_int)
-         self.guihooks = {}
-         self.aliases = {}
-         self.apps = {}
-@@ -197,10 +197,11 @@ def enable(self, app=None):
-                     ...
-         """
-         def decorator(cls):
--            inst = cls(self)
--            self.guihooks[toolkitname] = inst
--            for a in aliases:
--                self.aliases[a] = toolkitname
-+            if ctypes is not None:
-+                inst = cls(self)
-+                self.guihooks[toolkitname] = inst
-+                for a in aliases:
-+                    self.aliases[a] = toolkitname
-             return cls
-         return decorator
- 
diff --git a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch b/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
deleted file mode 100644
index 5b78f2d909..0000000000
--- a/gnu/packages/patches/w3m-disable-sslv2-and-sslv3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable SSLv2 and SSLv3.
-
-The only remaining methods are TLSv1.* (the code never distinguishes
-between TLSv1.0, TLSv1.1, and TLSv1.2).
----
- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 320906c..ddcd4fc 100644
---- a/fm.h
-+++ b/fm.h
-@@ -1144,7 +1144,7 @@ global int ssl_path_modified init(FALSE);
- #endif				/* defined(USE_SSL) &&
- 				 * defined(USE_SSL_VERIFY) */
- #ifdef USE_SSL
--global char *ssl_forbid_method init(NULL);
-+global char *ssl_forbid_method init("2, 3");
- #endif
- 
- global int is_redisplay init(FALSE);
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/w3m-disable-weak-ciphers.patch b/gnu/packages/patches/w3m-disable-weak-ciphers.patch
deleted file mode 100644
index 4780d54cb6..0000000000
--- a/gnu/packages/patches/w3m-disable-weak-ciphers.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Disable weak ciphers
-
-Disable RC4, "export ciphers", and all keys < 128 bits.
-
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/w3m/+bug/1325674
----
- url.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/url.c b/url.c
-index ed6062e..e86b1f3 100644
---- a/url.c
-+++ b/url.c
-@@ -326,6 +326,7 @@ openSSLHandle(int sock, char *hostname, char **p_cert)
- 	SSL_load_error_strings();
- 	if (!(ssl_ctx = SSL_CTX_new(SSLv23_client_method())))
- 	    goto eend;
-+	SSL_CTX_set_cipher_list(ssl_ctx, "DEFAULT:!LOW:!RC4:!EXP");
- 	option = SSL_OP_ALL;
- 	if (ssl_forbid_method) {
- 	    if (strchr(ssl_forbid_method, '2'))
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch b/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
deleted file mode 100644
index dc9f117f9d..0000000000
--- a/gnu/packages/patches/w3m-force-ssl_verify_server-on.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: Force ssl_verify_server on.
-
-By default, SSL/TLS certificates are not verified. This enables the
-verification.
----
- fm.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fm.h b/fm.h
-index 8378939..320906c 100644
---- a/fm.h
-+++ b/fm.h
-@@ -1135,7 +1135,7 @@ global int view_unseenobject init(TRUE);
- #endif
- 
- #if defined(USE_SSL) && defined(USE_SSL_VERIFY)
--global int ssl_verify_server init(FALSE);
-+global int ssl_verify_server init(TRUE);
- global char *ssl_cert_file init(NULL);
- global char *ssl_key_file init(NULL);
- global char *ssl_ca_path init(NULL);
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/w3m-libgc.patch b/gnu/packages/patches/w3m-libgc.patch
deleted file mode 100644
index 0dc6a4027c..0000000000
--- a/gnu/packages/patches/w3m-libgc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-This patch fixes w3m compilation with libgc > 7.2.
-
-Reported:
-https://bugs.archlinux.org/task/33397
-
-Patch with explanation:
-http://anonscm.debian.org/cgit/collab-maint/w3m.git/commit/?id=770eec8304bdbe458
----
- main.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/main.c b/main.c
-index b421943..249eb1a 100644
---- a/main.c
-+++ b/main.c
-@@ -833,7 +833,8 @@ main(int argc, char **argv, char **envp)
-     mySignal(SIGPIPE, SigPipe);
- #endif
- 
--    orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);
-+    orig_GC_warn_proc = GC_get_warn_proc();
-+    GC_set_warn_proc(wrap_GC_warn_proc);
-     err_msg = Strnew();
-     if (load_argc == 0) {
- 	/* no URL specified */
--- 
-2.6.4
-
diff --git a/gnu/packages/patches/weex-vacopy.patch b/gnu/packages/patches/weex-vacopy.patch
deleted file mode 100644
index f593e86c08..0000000000
--- a/gnu/packages/patches/weex-vacopy.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Taken from the Debian 2.8.0 package.
-
---- weex-2.6.1.5/src/strlib.c	2003-08-18 11:52:38.000000000 +0200
-+++ weex-2.8.0/src/strlib.c	2007-12-04 14:22:02.000000000 +0100
-@@ -42,6 +42,8 @@
- #  define G_VA_COPY(ap1, ap2)     (*(ap1) = *(ap2))
- #  elif defined (G_VA_COPY_AS_ARRAY)
- #  define G_VA_COPY(ap1, ap2)     g_memmove ((ap1), (ap2), sizeof (va_list))
-+#  elif defined (__x86_64__)
-+#  define G_VA_COPY(ap1, ap2)     memmove ((ap1), (ap2), sizeof (va_list))
- #  else /* va_list is a pointer */
- #  define G_VA_COPY(ap1, ap2)     ((ap1) = (ap2))
- #  endif /* va_list is a pointer */
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index af153a05a3..bfb457fcb3 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -9,6 +9,7 @@
 ;;; Coypright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;; Coypright © 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Coypright © 2016 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -752,3 +753,28 @@ the PDF pages.")
 the framebuffer.")
 
     (license license:gpl2+)))
+
+(define-public pdf2svg
+  (package
+    (name "pdf2svg")
+    (version "0.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/dawbarton/pdf2svg/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "12pa1pajirnlrkz2il3h4l30lc2prryk1qr132jk6z9y1c3qdcag"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("cairo" ,cairo)
+       ("poppler" ,poppler)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "http://www.cityinthesky.co.uk/opensource/pdf2svg/")
+    (synopsis "PDF to SVG converter")
+    (description "@command{pdf2svg} is a simple command-line PDF to SVG
+converter using the Poppler and Cairo libraries.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0daa921c4b..30acb09a1d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -30,6 +30,7 @@
 ;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
 ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
 ;;; Copyright © 2016 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -80,6 +81,7 @@
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages statistics)
@@ -87,6 +89,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
+  #:use-module (gnu packages video)
   #:use-module (gnu packages web)
   #:use-module (gnu packages base)
   #:use-module (gnu packages xml)
@@ -1605,6 +1608,28 @@ standard library.")
      `(#:python ,python-2
        #:tests? #f)))) ; no setup.py test command
 
+(define-public python-pafy
+  (package
+    (name "python-pafy")
+    (version "0.5.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pafy" version))
+       (sha256
+        (base32
+         "1ckvrypyvb7jbqlgwdz0y337ajagjv7dgxyns326nqwypn1wpq0i"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     ;; Youtube-dl is a python package which is imported in the file
+     ;; "backend_youtube_dl.py", therefore it needs to be propagated.
+     `(("youtube-dl" ,youtube-dl)))
+    (home-page "https://np1.github.io/pafy/")
+    (synopsis "Retrieve YouTube content and metadata")
+    (description
+     "@code{pafy} is a python library to retrieve YouTube content and metadata.")
+    (license license:lgpl3+)))
+
 (define-public python-py
   (package
     (name "python-py")
@@ -4535,14 +4560,14 @@ standard library.")
 (define-public python-traitlets
   (package
     (name "python-traitlets")
-    (version "4.1.0")
+    (version "4.2.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "traitlets" version))
        (sha256
         (base32
-         "0nxgj8jxlm1kqf8cx2x7vjid05zdgbxpqhjbdl46r8njlpgkh3j4"))))
+         "1afy08sa5n9gnkvh3da49c16zkyv598vchv0p1hp7zzjy8895hz4"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -4568,37 +4593,165 @@ without using the configuration machinery.")
 (define-public python2-traitlets
   (package-with-python2 python-traitlets))
 
+(define-public python-jupyter-core
+  (package
+    (name "python-jupyter-core")
+    (version "4.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append (pypi-uri "jupyter_core" version)))
+       (sha256
+        (base32
+         "177d9csqldzhsh6xs1p4nf6lzvhzyg6gklqjf69lxgxyadx87v24"))))
+    (build-system python-build-system)
+    ;; FIXME: not sure how to run the tests
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-traitlets" ,python-traitlets)))
+    (home-page "http://jupyter.org/")
+    (synopsis "Jupyter base package")
+    (description
+     "Jupyter core is the base package on which Jupyter projects rely.")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-core
+  (package-with-python2 python-jupyter-core))
+
+(define-public python-jupyter-client
+  (package
+    (name "python-jupyter-client")
+    (version "4.4.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter_client" version))
+       (sha256
+        (base32
+         "1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
+    (build-system python-build-system)
+    ;; Tests fail because of missing native python kernel which I assume is
+    ;; provided by the ipython package, which we cannot use because it would
+    ;; cause a dependency cycle.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-pyzmq" ,python-pyzmq)
+       ("python-traitlets" ,python-traitlets)
+       ("python-jupyter-core" ,python-jupyter-core)))
+    (home-page "http://jupyter.org/")
+    (synopsis "Jupyter protocol implementation and client libraries")
+    (description
+     "The @code{jupyter_client} package contains the reference implementation
+of the Jupyter protocol.  It also provides client and kernel management APIs
+for working with kernels, and the @code{jupyter kernelspec} entrypoint for
+installing @code{kernelspec}s for use with Jupyter frontends.")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-client
+  (package-with-python2 python-jupyter-client))
+
+(define-public python-ipykernel
+  (package
+    (name "python-ipykernel")
+    (version "4.5.0")
+    (source
+     (origin
+      (method url-fetch)
+      (uri (pypi-uri "ipykernel" version))
+      (sha256
+       (base32 "15c2bp1x3i6s4xb7vz7742h3kmvdfdfn9n2haywm3mwgvf77jni4"))))
+    (build-system python-build-system)
+    ;; The tests load a submodule of IPython.  However, IPython itself depends
+    ;; on ipykernel.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     ;; imported at runtime during connect
+     `(("python-jupyter-client" ,python-jupyter-client)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython Kernel for Jupyter")
+    (description
+     "This package provides the IPython kernel for Jupyter.")
+    (license license:bsd-3)))
+
+(define-public python2-ipykernel
+  (package-with-python2 python-ipykernel))
+
+(define-public python-testpath
+  (package
+    (name "python-testpath")
+    (version "0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/jupyter/testpath/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "04kh3fgvmqz6cfcw79q70qwjz7ib7lxm27cc548iy2rpr33qqf55"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f ; this package does not even have a setup.py
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'install)
+         (replace 'build
+                  (lambda* (#:key inputs outputs #:allow-other-keys)
+                    (let ((dir (string-append
+                                (assoc-ref outputs "out")
+                                "/lib/python"
+                                (string-take (string-take-right
+                                              (assoc-ref inputs "python") 5) 3)
+                                "/site-packages/testpath")))
+                      (mkdir-p dir)
+                      (copy-recursively "testpath" dir))
+                    #t)))))
+    (home-page "https://github.com/takluyver/testpath")
+    (synopsis "Test utilities for code working with files and commands")
+    (description
+     "Testpath is a collection of utilities for Python code working with files
+and commands.  It contains functions to check things on the filesystem, and
+tools for mocking system commands and recording calls to those.")
+    (license license:expat)))
+
+(define-public python2-testpath
+  (package-with-python2 python-testpath))
+
 (define-public python-ipython
   (package
     (name "python-ipython")
-    (version "3.2.1")
+    (version "4.0.0")
     (source
      (origin
        (method url-fetch)
-       (patches (search-patches "python-ipython-inputhook-ctype.patch"))
-       (uri (string-append "https://pypi.python.org/packages/source/i/"
-                           "ipython/ipython-" version ".tar.gz"))
+       (uri (pypi-uri "ipython" version ".tar.gz"))
        (sha256
-        (base32 "0xwin0sa9n0cabx4cq1ibf5ldsiw5dyimibla82kicz5gbpas4y9"))))
+        (base32 "1npl8g6bfsff9j938ypx0q5fyzy2l8lp0jl8skjjj2zv0z27dlig"))))
     (build-system python-build-system)
     (outputs '("out" "doc"))
     (propagated-inputs
      `(("python-pyzmq" ,python-pyzmq)
-       ("python-terminado" ,python-terminado)))
-    (inputs
-     `(("readline" ,readline)
-       ("which" ,which)
+       ("python-terminado" ,python-terminado)
        ("python-matplotlib" ,python-matplotlib)
        ("python-numpy" ,python-numpy)
        ("python-numpydoc" ,python-numpydoc)
        ("python-jinja2" ,python-jinja2)
        ("python-mistune" ,python-mistune)
+       ("python-pexpect" ,python-pexpect)
+       ("python-pickleshare" ,python-pickleshare)
+       ("python-simplegeneric" ,python-simplegeneric)
        ("python-jsonschema" ,python-jsonschema)
-       ("python-pygments" ,python-pygments)
-       ("python-requests" ,python-requests) ;; for tests
-       ("python-nose" ,python-nose)))
+       ("python-traitlets" ,python-traitlets)
+       ("python-ipykernel" ,python-ipykernel)
+       ("python-pygments" ,python-pygments)))
+    (inputs
+     `(("readline" ,readline)
+       ("which" ,which)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
+       ("python-requests" ,python-requests) ;; for tests
+       ("python-testpath" ,python-testpath)
+       ("python-nose" ,python-nose)
        ("python-sphinx" ,python-sphinx)
        ("texlive" ,texlive)
        ("texinfo" ,texinfo)
@@ -4617,13 +4770,13 @@ without using the configuration machinery.")
                    (examples (string-append doc "/examples")))
               (setenv "LANG" "en_US.utf8")
               (with-directory-excursion "docs"
-                ;; FIXME: html and pdf fail to build
-                ;; (system* "make" "html")
-                ;; (system* "make" "pdf" "PAPER=a4")
+                ;; FIXME: pdf fails to build
+                ;;(system* "make" "pdf" "PAPER=a4")
+                (system* "make" "html")
                 (system* "make" "info"))
               (copy-recursively "docs/man" man1)
               (copy-recursively "examples" examples)
-              ;; (copy-recursively "docs/build/html" html)
+              (copy-recursively "docs/build/html" html)
               ;; (copy-file "docs/build/latex/ipython.pdf"
               ;;            (string-append doc "/ipython.pdf"))
               (mkdir-p info)
@@ -4732,6 +4885,22 @@ and written in Python.")
 (define-public python2-html5lib
   (package-with-python2 python-html5lib))
 
+;; Needed for python-bleach, a dependency of python-notebook
+(define-public python-html5lib-0.9
+  (package
+    (inherit python-html5lib)
+    (version "0.999")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "html5lib" version))
+       (sha256
+        (base32
+         "17n4zfsj6ynmbwdwviywmj8r6nzr3xvfx2zs0xhndmvm51z7z263"))))))
+
+(define-public python2-html5lib-0.9
+  (package-with-python2 python-html5lib-0.9))
+
 (define-public python-urwid
   (package
     (name "python-urwid")
@@ -6618,6 +6787,302 @@ Debian-related files, such as:
 (define-public python2-debian
   (package-with-python2 python-debian))
 
+(define-public python-nbformat
+  (package
+    (name "python-nbformat")
+    (version "4.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "nbformat" version))
+       (sha256
+        (base32
+         "0mq8iki3d4mnx7wy05phss7x98mds4fqydin8lcagidp1knw1xnv"))))
+    (build-system python-build-system)
+    (arguments `(#:tests? #f)) ; no test target
+    (propagated-inputs
+     `(("python-ipython-genutils" ,python-ipython-genutils)
+       ("python-jsonschema" ,python-jsonschema)
+       ("python-jupyter-core" ,python-jupyter-core)
+       ("python-traitlets" ,python-traitlets)))
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "http://jupyter.org")
+    (synopsis "Jupyter Notebook format")
+    (description "This package provides the reference implementation of the
+Jupyter Notebook format and Python APIs for working with notebooks.")
+    (license license:bsd-3)))
+
+(define-public python2-nbformat
+  (package-with-python2 python-nbformat))
+
+(define-public python-bleach
+  (package
+    (name "python-bleach")
+    (version "1.4.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "bleach" version))
+       (sha256
+        (base32
+         "0jvg3jxrvnx7xmm9gj262v60ib452xlnwlb0navyp7jsvcd0d4qj"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-html5lib" ,python-html5lib-0.9)
+       ("python-setuptools" ,python-setuptools)
+       ("python-six" ,python-six)))
+    (native-inputs
+     `(("python-nose" ,python-nose)))
+    (home-page "http://github.com/jsocol/bleach")
+    (synopsis "Whitelist-based HTML-sanitizing tool")
+    (description "Bleach is an easy whitelist-based HTML-sanitizing tool.")
+    (license license:asl2.0)))
+
+(define-public python2-bleach
+  (package-with-python2 python-bleach))
+
+(define-public python-entrypoints
+  (package
+    (name "python-entrypoints")
+    (version "0.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/takluyver/entrypoints/archive/"
+                           version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0azqlkh3j0za080lsf5crnhaxx3c93k9dpv5ihkhf5cppgw5sjz5"))))
+    (build-system python-build-system)
+    ;; The package does not come with a setup.py file, so we have to generate
+    ;; one ourselves.
+    (arguments
+     `(#:tests? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'create-setup.py
+           (lambda _
+             (call-with-output-file "setup.py"
+               (lambda (port)
+                 (format port "\
+from setuptools import setup
+setup(name='entrypoints', version='~a', py_modules=['entrypoints'])
+" ,version))))))))
+    (home-page "https://github.com/takluyver/entrypoints")
+    (synopsis "Discover and load entry points from installed Python packages")
+    (description "Entry points are a way for Python packages to advertise
+objects with some common interface.  The most common examples are
+@code{console_scripts} entry points, which define shell commands by
+identifying a Python function to run.  The @code{entrypoints} module contains
+functions to find and load entry points.")
+    (license license:expat)))
+
+(define-public python2-entrypoints
+  (package-with-python2 python-entrypoints))
+
+(define-public python-nbconvert
+  (package
+    (name "python-nbconvert")
+    (version "5.0.0b1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "nbconvert" version))
+       (sha256
+        (base32
+         "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
+    (build-system python-build-system)
+    ;; The "bdist_egg" target is disabled by default, causing the installation
+    ;; to fail.
+    (arguments `(#:configure-flags (list "bdist_egg")))
+    (propagated-inputs
+     `(("python-bleach" ,python-bleach)
+       ("python-entrypoints" ,python-entrypoints)
+       ("python-jinja2" ,python-jinja2)
+       ("python-jupyter-core" ,python-jupyter-core)
+       ("python-mistune" ,python-mistune)
+       ("python-nbformat" ,python-nbformat)
+       ("python-pygments" ,python-pygments)
+       ("python-setuptools" ,python-setuptools)
+       ("python-traitlets" ,python-traitlets)))
+    (home-page "http://jupyter.org")
+    (synopsis "Converting Jupyter Notebooks")
+    (description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
+notebooks to various other formats via Jinja templates.  It allows you to
+convert an @code{.ipynb} notebook file into various static formats including:
+
+@enumerate
+@item HTML
+@item LaTeX
+@item PDF
+@item Reveal JS
+@item Markdown (md)
+@item ReStructured Text (rst)
+@item executable script
+@end enumerate\n")
+    (license license:bsd-3)))
+
+(define-public python2-nbconvert
+  (package-with-python2 python-nbconvert))
+
+(define-public python-notebook
+  (package
+    (name "python-notebook")
+    (version "4.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "notebook" version))
+              (sha256
+               (base32
+                "0laq5c2f21frq6xcdckgq7raqhznbjb0qs0357g612z87wyn1a9r"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; HOME must be set for tests
+             (setenv "HOME" "/tmp")
+             (zero? (system* "nosetests")))))))
+    (propagated-inputs
+     `(("python-jupyter-core" ,python-jupyter-core)
+       ("python-nbformat" ,python-nbformat)
+       ("python-nbconvert" ,python-nbconvert)
+       ("python-ipython" ,python-ipython)))
+    (native-inputs
+     `(("python-nose" ,python-nose)
+       ("python-sphinx" ,python-sphinx)
+       ("python-requests" ,python-requests)))
+    (home-page "http://jupyter.org/")
+    (synopsis "Web-based notebook environment for interactive computing")
+    (description
+     "The Jupyter HTML notebook is a web-based notebook environment for
+interactive computing.")
+    (license license:bsd-3)))
+
+(define-public python2-notebook
+  (package-with-python2 python-notebook))
+
+(define-public python-widgetsnbextension
+  (package
+    (name "python-widgetsnbextension")
+    (version "1.2.6")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "widgetsnbextension" version))
+       (sha256
+        (base32
+         "0lff2mrwrgsa1mxmwx3phl9xvy0jqfpg6khbmxy53jbq56rwy666"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-notebook" ,python-notebook)))
+    (native-inputs
+     `(("python-nose" ,python-nose)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython HTML widgets for Jupyter")
+    (description "This package provides interactive HTML widgets for Jupyter
+notebooks.")
+    (license license:bsd-3)))
+
+(define-public python2-widgetsnbextension
+  (package-with-python2 python-widgetsnbextension))
+
+(define-public python-ipywidgets
+  (package
+    (name "python-ipywidgets")
+    (version "5.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "ipywidgets" version))
+       (sha256
+        (base32
+         "1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipython" ,python-ipython)
+       ("python-setuptools" ,python-setuptools)
+       ("python-traitlets" ,python-traitlets)
+       ("python-widgetsnbextension" ,python-widgetsnbextension)))
+    (home-page "http://ipython.org")
+    (synopsis "IPython HTML widgets for Jupyter")
+    (description "Ipywidgets are interactive HTML widgets for Jupyter
+notebooks and the IPython kernel.  Notebooks come alive when interactive
+widgets are used.  Users gain control of their data and can visualize changes
+in the data.")
+    (license license:bsd-3)))
+
+(define-public python2-ipywidgets
+  (package-with-python2 python-ipywidgets))
+
+(define-public python-jupyter-console
+  (package
+    (name "python-jupyter-console")
+    (version "5.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter_console" version))
+       (sha256
+        (base32
+         "04acmkwsi99rcg3vb54c6n492zv35s92h2ahabc0w6wj976cipvx"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipython" ,python-ipython)
+       ("python-jupyter-client" ,python-jupyter-client)
+       ("python-prompt-toolkit" ,python-prompt-toolkit)
+       ("python-pygments" ,python-pygments)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "https://jupyter.org")
+    (synopsis "Jupyter terminal console")
+    (description "This package provides a terminal-based console frontend for
+Jupyter kernels.  It also allows for console-based interaction with non-Python
+Jupyter kernels such as IJulia and IRKernel.")
+    (license license:bsd-3)))
+
+(define-public python2-jupyter-console
+  (package-with-python2 python-jupyter-console))
+
+(define-public jupyter
+  (package
+    (name "jupyter")
+    (version "1.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "jupyter" version))
+       (sha256
+        (base32
+         "0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r"))))
+    (build-system python-build-system)
+    ;; FIXME: it's not clear how to run the tests.
+    (arguments `(#:tests? #f))
+    (propagated-inputs
+     `(("python-ipykernel" ,python-ipykernel)
+       ("python-ipywidgets" ,python-ipywidgets)
+       ("python-jupyter-console" ,python-jupyter-console)
+       ("python-nbconvert" ,python-nbconvert)
+       ("python-notebook" ,python-notebook)
+       ("python-setuptools" ,python-setuptools)))
+    (home-page "http://jupyter.org")
+    (synopsis "Web application for interactive documents")
+    (description
+     "The Jupyter Notebook is a web application that allows you to create and
+share documents that contain live code, equations, visualizations and
+explanatory text.  Uses include: data cleaning and transformation, numerical
+simulation, statistical modeling, machine learning and much more.")
+    (license license:bsd-3)))
+
 (define-public python-chardet
   (package
     (name "python-chardet")
@@ -11625,3 +12090,79 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.")
       (inherit base)
       (native-inputs `(("python2-setuptools" ,python2-setuptools)
                        ,@(package-native-inputs base))))))
+
+(define-public python-axolotl-curve25519
+  (package
+    (name "python-axolotl-curve25519")
+    (version "0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "git://github.com/tgalal/python-axolotl-curve25519")
+             (commit "e4a9c4de0eae27223200579c58d1f8f6d20637e2")))
+       (file-name (string-append name "-" version "-checkout"))
+       (sha256
+        (base32
+         "0agap5q0hmvf6cwzjqc05kw53pjgf6942pcivpazksmg1vk400ra"))))
+    (build-system python-build-system)
+    (arguments
+     `(;; Prevent creation of the egg. This works around
+       ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
+       #:configure-flags '("--root=/")))
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (home-page "https://github.com/tgalal/python-axolotl-curve25519")
+    (synopsis "Python wrapper for curve25519 library")
+    (description "This is a python wrapper for the curve25519 library
+with ed25519 signatures.  The C code was pulled from
+libaxolotl-android.  At the moment this wrapper is meant for use by
+python-axolotl.")
+    (license (list license:gpl3    ; Most files
+                   license:bsd-3)))) ; curve/curve25519-donna.c
+
+(define-public python2-axolotl-curve25519
+  (package-with-python2 python-axolotl-curve25519))
+
+(define-public python-axolotl
+  (package
+    (name "python-axolotl")
+    (version "0.1.35")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/tgalal/python-axolotl/archive/"
+             version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1z8d89p7v40p4bwywjm9h4z28fdvra79ddw06azlkrfjbl7dxmz8"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Don't install tests
+         (add-before 'install 'remove-tests
+           (lambda _
+             (for-each delete-file-recursively
+                       '("axolotl/tests" "build/lib/axolotl/tests"))
+             #t)))
+       ;; Prevent creation of the egg. This works around
+       ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765
+       #:configure-flags '("--root=/")))
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)))
+    (propagated-inputs
+     `(("python-axolotl-curve25519" ,python-axolotl-curve25519)
+       ("python-dateutil" ,python-dateutil)
+       ("python-protobuf" ,python-protobuf)
+       ("python-pycrypto" ,python-pycrypto)))
+    (home-page "https://github.com/tgalal/python-axolotl")
+    (synopsis "Python port of libaxolotl-android")
+    (description "This is a python port of libaxolotl-android.  This
+is a ratcheting forward secrecy protocol that works in synchronous and
+asynchronous messaging environments.")
+    (license license:gpl3)))
+
+(define-public python2-axolotl
+  (package-with-python2 python-axolotl))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 4df1e2457a..4770aa89f1 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -506,13 +506,13 @@ panels or collapse high-dimensional arrays to simpler summary statistics.")
 (define-public r-proto
   (package
     (name "r-proto")
-    (version "0.3-10")
+    (version "1.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "proto" version))
        (sha256
-        (base32 "03mvzi529y6kjcp9bkpk7zlgpcakb3iz73hca6rpjy14pyzl3nfh"))))
+        (base32 "1l843p8vckjckdhgv37ngv47fga5jzy0n00pmipvp05nnaixk54j"))))
     (build-system r-build-system)
     (home-page "http://r-proto.googlecode.com")
     (synopsis "Prototype object-based programming")
@@ -694,20 +694,22 @@ aesthetic attributes.")
 (define-public r-gdtools
   (package
     (name "r-gdtools")
-    (version "0.0.7")
+    (version "0.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "gdtools" version))
        (sha256
         (base32
-         "1bmnf9d677f2jy8jnb9ymjz1qzm4yrd0qp6k5qrrly06jfffyx7g"))))
+         "1l9d759x9s4ddz51sls8kcjps2i9kwfbc72dnagrdavh82h0al8n"))))
     (build-system r-build-system)
     (native-inputs
      `(("r-rcpp" ,r-rcpp)
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("cairo" ,cairo)))
+    (propagated-inputs
+     `(("r-withr" ,r-withr)))
     (home-page "http://cran.r-project.org/web/packages/gdtools")
     (synopsis "Utilities for graphical rendering")
     (description
@@ -1217,14 +1219,14 @@ database.")
 (define-public r-acepack
   (package
     (name "r-acepack")
-    (version "1.4.0")
+    (version "1.4.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "acepack" version))
        (sha256
         (base32
-         "0brivhr0imf2qq1flc9qxibybg1zi5m8pxz8cjn5a8gb42bcv96n"))))
+         "1f98rpfjmhd92rdc3j004plyfpjailz6j0ycysbac0kgj83haxc2"))))
     (build-system r-build-system)
     (inputs
      `(("gfortran" ,gfortran)))
@@ -1646,14 +1648,14 @@ R version.")
 (define-public r-checkmate
   (package
     (name "r-checkmate")
-    (version "1.8.1")
+    (version "1.8.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "checkmate" version))
        (sha256
         (base32
-         "1nqyi58jl33af82y8kw8iy9xbna2080y1khhy90kf6lim6q74024"))))
+         "1zqcggl9m7slvc0q6zyhssdypb7jzf3l9byl5vxh1qdwjiw2y64g"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-backports" ,r-backports)))
@@ -1786,14 +1788,14 @@ collation, and NAMESPACE files.")
 (define-public r-openssl
   (package
     (name "r-openssl")
-    (version "0.9.4")
+    (version "0.9.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "openssl" version))
        (sha256
         (base32
-         "0rpb3xdzab453yjddr8ryad53ll27zss8abnj30aqa2lzbg4jwyb"))))
+         "1lal8mmcwjhhln10mfi96ipv3d364k0wiviiln220wvhddcpr9pp"))))
     (build-system r-build-system)
     (inputs
      `(("openssl" ,openssl)))
@@ -2789,6 +2791,75 @@ Fourier transform, fuzzy clustering, support vector machines, shortest path
 computation, bagged clustering, naive Bayes classifier, and more.")
     (license license:gpl2+)))
 
+(define-public r-bigmemory-sri
+  (package
+    (name "r-bigmemory-sri")
+    (version "0.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "bigmemory.sri" version))
+       (sha256
+        (base32 "0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"))))
+    (properties
+     `((upstream-name . "bigmemory.sri")))
+    (build-system r-build-system)
+    (home-page "http://cran.r-project.org/web/packages/bigmemory.sri")
+    (synopsis "Shared resource interface for the bigmemory package")
+    (description "This package provides a shared resource interface for the
+bigmemory and synchronicity packages.")
+    ;; Users can choose either LGPLv3 or ASL2.0.
+    (license (list license:lgpl3 license:asl2.0))))
+
+(define-public r-synchronicity
+  (package
+    (name "r-synchronicity")
+    (version "1.1.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "synchronicity" version))
+       (sha256
+        (base32
+         "0d9skpwmsnkn4xb3f2kgyyv8bhdi0r9p1kj3cvi0s92fjjnpi00c"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-bigmemory-sri" ,r-bigmemory-sri)
+       ("r-rcpp" ,r-rcpp)))
+    (home-page "http://www.bigmemory.org")
+    (synopsis "Boost mutex functionality in R")
+    (description "This package provides support for synchronization
+via mutexes and may eventually support interprocess communication and
+message passing.")
+    ;; Users can choose either LGPLv3 or ASL2.0.
+    (license (list license:lgpl3 license:asl2.0))))
+
+(define-public r-bigmemory
+  (package
+    (name "r-bigmemory")
+    (version "4.5.19")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "bigmemory" version))
+       (sha256
+        (base32
+         "191gbzca557kpk7mdsg716vfyqpr7j5din6qb8hin4g1nkzzwmg6"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-bh" ,r-bh)
+       ("r-rcpp" ,r-rcpp)
+       ("r-bigmemory-sri" ,r-bigmemory-sri)
+       ("r-r-utils" ,r-r-utils)))
+    (home-page "http://www.bigmemory.org")
+    (synopsis "Manage large matrices with shared memory or memory-mapped files")
+    (description "This package provides methods to create, store, access, and
+manipulate large matrices.  Matrices are allocated to shared memory and may use
+memory-mapped files.")
+    ;; Users can choose either LGPLv3 or ASL2.0.
+    (license (list license:lgpl3 license:asl2.0))))
+
 (define-public r-nmf
   (package
     (name "r-nmf")
@@ -2804,6 +2875,8 @@ computation, bagged clustering, naive Bayes classifier, and more.")
     (build-system r-build-system)
     (propagated-inputs
      `(("r-cluster" ,r-cluster)
+       ("r-bigmemory" ,r-bigmemory)
+       ("r-synchronicity" ,r-synchronicity)
        ("r-colorspace" ,r-colorspace)
        ("r-digest" ,r-digest)
        ("r-doparallel" ,r-doparallel)
@@ -2884,13 +2957,13 @@ want to migrate to S4.")
 (define-public r-r-oo
   (package
     (name "r-r-oo")
-    (version "1.20.0")
+    (version "1.21.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "R.oo" version))
               (sha256
                (base32
-                "1l1x4r69mdchjyi6sq52p580fz3b3bqv6dpn1706y9n4vq47qx24"))))
+                "0723gxjazgqq7v3lwnl7axw3brzcnizvhbd71ijkkv8mz31fwp34"))))
     (properties `((upstream-name . "R.oo")))
     (build-system r-build-system)
     (propagated-inputs
@@ -3232,17 +3305,37 @@ distribution).")
 classification, regression and survival trees.")
     (license (list license:gpl2+ license:gpl3+))))
 
+(define-public r-survival
+  (package
+    (name "r-survival")
+    (version "2.40-1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "survival" version))
+       (sha256
+        (base32
+         "10pf0kq0g66k5rgizrvh29mq3r84acljw2jgrv5yp6z38xw23mci"))))
+    (build-system r-build-system)
+    (home-page "https://github.com/therneau/survival")
+    (synopsis "Survival analysis")
+    (description
+     "This package contains the core survival analysis routines, including
+definition of Surv objects, Kaplan-Meier and Aalen-Johansen (multi-state)
+curves, Cox models, and parametric accelerated failure time models.")
+    (license license:lgpl2.0+)))
+
 (define-public r-hmisc
   (package
     (name "r-hmisc")
-    (version "3.17-4")
+    (version "4.0-0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Hmisc" version))
        (sha256
         (base32
-         "1hr2kycpm0h3li9gnlbx9pl6h13das7g2wqfk6cip1kx6lv00ypw"))))
+         "0azxmg9h9c456biydc0wpi9xhljmd37m8bv0zaadbvc93g7x0l4b"))))
     (properties `((upstream-name . "Hmisc")))
     (build-system r-build-system)
     (native-inputs
@@ -3257,7 +3350,13 @@ classification, regression and survival trees.")
        ("r-gridextra" ,r-gridextra)
        ("r-gtable" ,r-gtable)
        ("r-lattice" ,r-lattice)
+       ;; Hmisc needs survival >= 2.40.1, so it cannot use the survival
+       ;; package that comes with R 3.3.1.
+       ("r-survival" ,r-survival)
        ("r-latticeextra" ,r-latticeextra)
+       ("r-htmltable" ,r-htmltable)
+       ("r-htmltools" ,r-htmltools)
+       ("r-viridis" ,r-viridis)
        ("r-nnet" ,r-nnet)
        ("r-rpart" ,r-rpart)))
     (home-page "http://biostat.mc.vanderbilt.edu/Hmisc")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c77b769c0c..2e336dd048 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
 ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1684,3 +1685,31 @@ specifications.")
     (description "libaacs is a library which implements the Advanced Access
 Content System specification.")
     (license license:lgpl2.1+)))
+
+(define-public mps-youtube
+  (package
+    (name "mps-youtube")
+    (version "0.2.7.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/mps-youtube/mps-youtube/"
+                           "archive/v" version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1s7h35yx6f0szf8mm8612ic913w3v05m2kwphjfcxnpq0ammhyci"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pafy" ,python-pafy)
+       ("python-pygobject" ,python-pygobject))) ; For mpris2 support
+    (home-page "https://github.com/mps-youtube/mps-youtube")
+    (synopsis "Terminal based YouTube player and downloader")
+    (description
+     "@code{mps-youtube} is based on mps, a terminal based program to
+search, stream and download music.  This implementation uses YouTube as
+a source of content and can play and download video as well as audio.
+It can use either mpv or mplayer for playback, and for conversion of
+formats ffmpeg or libav is used.  Users should install one of the
+supported players in addition to this package.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm
index afda239356..5f0fb56b0c 100644
--- a/gnu/packages/w3m.scm
+++ b/gnu/packages/w3m.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,37 +29,29 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages)
   #:use-module (guix packages)
-  #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu))
 
 (define-public w3m
   (package
     (name "w3m")
-    (version "0.5.3")
+    (version "0.5.3+git20161031")
     (source (origin
-             (method url-fetch)
-             (uri (string-append "mirror://sourceforge/" name "/" name "/"
-                                 name "-" version "/"
-                                 name "-" version ".tar.gz"))
-             (sha256
-              (base32
-               "1qx9f0kprf92r1wxl3sacykla0g04qsi0idypzz24b7xy9ix5579"))
-
-             ;; cf. https://bugs.archlinux.org/task/33397
-             (patches (search-patches "w3m-libgc.patch"
-                                      "w3m-force-ssl_verify_server-on.patch"
-                                      "w3m-disable-sslv2-and-sslv3.patch"
-                                      "w3m-disable-weak-ciphers.patch"))))
+              (method git-fetch)
+              ;; Debian's fork of w3m is the only one that is still
+              ;; maintained.
+              (uri (git-reference
+                    (url "https://anonscm.debian.org/cgit/collab-maint/w3m.git")
+                    (commit (string-append "v" version))))
+              (file-name (string-append "w3m-" version "-checkout"))
+              (sha256
+               (base32
+                "142vkkmsk76wj9w6r4y2pa1hmy1kkzmc73an9zchx0ikm2z92x6s"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f  ; no check target
                  #:phases (alist-cons-before
                            'configure 'fix-perl
                            (lambda _
-                             ;; https://launchpad.net/bugs/935540
-                             ;; 'struct file_handle' is used by 'glibc'
-                             (substitute* '("istream.c" "istream.h")
-                              (("struct[[:blank:]]+file_handle")
-                               "struct w3m_file_handle"))
                              (substitute* '("scripts/w3mmail.cgi.in"
                                             "scripts/dirlist.cgi.in")
                                (("@PERL@") (which "perl"))))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 8ef041a2fd..c6ad0b117f 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3310,6 +3310,35 @@ various contexts including the R console, R Markdown documents, and Shiny web
 applications.")
     (license l:expat)))
 
+(define-public r-htmltable
+  (package
+    (name "r-htmltable")
+    (version "1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "htmlTable" version))
+       (sha256
+        (base32
+         "0x2f2hrbhvm53zqwn0ny9wxbk34nwf6zww8cx4bjy5ax15asdllm"))))
+    (properties `((upstream-name . "htmlTable")))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-knitr" ,r-knitr)
+       ("r-magrittr" ,r-magrittr)
+       ("r-stringr" ,r-stringr)))
+    (home-page "http://gforge.se/packages/")
+    (synopsis "Advanced tables for Markdown/HTML")
+    (description
+     "This package provides functions to build tables with advanced layout
+elements such as row spanners, column spanners, table spanners, zebra
+striping, and more.  While allowing advanced layout, the underlying
+CSS-structure is simple in order to maximize compatibility with word
+processors such as LibreOffice.  The package also contains a few text
+formatting functions that help outputting text compatible with HTML or
+LaTeX.")
+    (license l:gpl3+)))
+
 (define-public r-curl
   (package
     (name "r-curl")
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index fde5ff2c6f..79b49f0a85 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -53,14 +53,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.14.1")
+    (version "2.14.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1dffnz20psgc604azhbzn9a6cdhafar9dw74w3bbwrfy531pcb9f"))))
+                "0mjmcxhafh6l6j062z2nwfqbbvfyx16iqrzrbajswijh23awpnrf"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 81e0934889..708b31bf8e 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -229,8 +229,8 @@ meaning that audio is compressed in FLAC without any loss in quality.")
    (version "0.4.1")
    (source (origin
             (method url-fetch)
-            (uri (string-append "http://libkate.googlecode.com/files/libkate-"
-                                version ".tar.gz"))
+            (uri (string-append "http://downloads.xiph.org/releases/kate/"
+                                "libkate-" version ".tar.gz"))
             (sha256
              (base32
               "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4"))))
@@ -241,7 +241,7 @@ meaning that audio is compressed in FLAC without any loss in quality.")
    (inputs `(("bison" ,bison)
              ("libogg" ,libogg)
              ("libpng" ,libpng)
-("python" ,python-wrapper)
+             ("python" ,python-wrapper)
              ("zlib" ,zlib)))
    (synopsis "Karaoke and text codec for embedding in ogg")
    (description
@@ -257,7 +257,7 @@ This allows scrolling or fading text to be defined.  This can even be used
 to draw arbitrary shapes, so hand drawing can also be represented by a
 Kate stream.")
    (license license:bsd-3)
-   (home-page "http://code.google.com/p/libkate/")))
+   (home-page "https://wiki.xiph.org/OggKate")))
 
 (define vorbis-tools
   (package