summary refs log tree commit diff
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2016-11-02 20:03:35 -0400
committerLeo Famulari <leo@famulari.name>2016-11-02 20:03:35 -0400
commitb3cc0dce089917b1935218296f868ab6eedff5ed (patch)
tree984a26076026d2b588f6c34a1526d792ea3a052f
parent40330e555f2548d738fbcfac6fa5d80ab1bb2eb2 (diff)
parente681e347c4ed071db88442c2c592241ea0f43857 (diff)
downloadguix-b3cc0dce089917b1935218296f868ab6eedff5ed.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--doc/guix.texi2
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm8
-rw-r--r--gnu/packages/benchmark.scm4
-rw-r--r--gnu/packages/chez.scm96
-rw-r--r--gnu/packages/curl.scm14
-rw-r--r--gnu/packages/django.scm5
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs.scm114
-rw-r--r--gnu/packages/embedded.scm2
-rw-r--r--gnu/packages/engineering.scm6
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/haskell.scm92
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/linux.scm18
-rw-r--r--gnu/packages/package-management.scm4
-rw-r--r--gnu/packages/patches/python-django-fix-testcase.patch42
-rw-r--r--gnu/packages/perl.scm34
-rw-r--r--gnu/packages/regex.scm4
-rw-r--r--gnu/packages/search.scm4
-rw-r--r--gnu/packages/security-token.scm40
-rw-r--r--gnu/packages/speech.scm45
-rw-r--r--gnu/packages/textutils.scm33
-rw-r--r--guix/download.scm2
-rw-r--r--guix/licenses.scm2
25 files changed, 493 insertions, 91 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 70dbc0ac92..38c6ccb6bc 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -11769,7 +11769,7 @@ volatile root file system.
 The initial RAM disk produced by @code{base-initrd} honors several
 options passed on the Linux kernel command line (that is, arguments
 passed @i{via} the @code{linux} command of GRUB, or the
-@code{-append} option) of QEMU, notably:
+@code{-append} option of QEMU), notably:
 
 @table @code
 @item --load=@var{boot}
diff --git a/gnu/local.mk b/gnu/local.mk
index 2447cf90d8..a448ccbd5f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -793,7 +793,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/python-3.4-fix-tests.patch		\
   %D%/packages/patches/python-3.5-fix-tests.patch		\
   %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
-  %D%/packages/patches/python-django-fix-testcase.patch		\
   %D%/packages/patches/python-file-double-encoding-bug.patch	\
   %D%/packages/patches/python-fix-tests.patch			\
   %D%/packages/patches/python-ipython-inputhook-ctype.patch	\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 7a83a8cb8e..7d100b861a 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -470,7 +470,7 @@ connection alive.")
          (bind-minor-version "9")
          (bind-patch-version "9")
          (bind-release-type "-P")         ; for patch release, use "-P"
-         (bind-release-version "3")      ; for patch release, e.g. "4"
+         (bind-release-version "4")      ; for patch release, e.g. "4"
          (bind-version (string-append bind-major-version
                                       "."
                                       bind-minor-version
@@ -480,14 +480,14 @@ connection alive.")
                                       bind-release-version)))
     (package
       (name "isc-dhcp")
-      (version "4.3.4")
+      (version "4.3.5")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "http://ftp.isc.org/isc/dhcp/"
                                     version "/dhcp-" version ".tar.gz"))
                 (sha256
                  (base32
-                  "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm"))))
+                  "0m7rwxvpb7xrmfl9ynpckhl0hi0xgm9bq1fmbp2r68sxy5mr75gb"))))
       (build-system gnu-build-system)
       (arguments
        `(#:parallel-build? #f
@@ -586,7 +586,7 @@ connection alive.")
                                         "/bind-" bind-version ".tar.gz"))
                     (sha256
                      (base32
-                      "1qlii6syr491yjn6kpyqknlvbsrkwlsqa0grmmfbq1g3471fyfyn"))))
+                      "1qpi23lrs6jfxqx8dakbqfyg3hvrzq5ldchg6my19xcvx8515mgx"))))
 
                 ;; When cross-compiling, we need the cross Coreutils and sed.
                 ;; Otherwise just use those from %FINAL-INPUTS.
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 25813d1ab2..465c81b431 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -27,7 +27,7 @@
 (define-public fio
   (package
     (name "fio")
-    (version "2.13")
+    (version "2.15")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -35,7 +35,7 @@
                        "fio-" version ".tar.bz2"))
               (sha256
                (base32
-                "10bn9jzks8mam5vz6falhr9pmd9wx248kh53vqp1bazbfxs3qgz0"))))
+                "1ggma9c48717z2wz8j9f7jcgb3xqk8qawjl6c9hnabxxry94y130"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ; No tests.
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index c45306b5df..c3cb7d7659 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -19,7 +19,7 @@
 (define-module (gnu packages chez)
   #:use-module (gnu packages)
   #:use-module ((guix licenses)
-                #:select (gpl2+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat
+                #:select (gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ asl2.0 bsd-3 expat
                           public-domain))
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -470,3 +470,97 @@ concatenating, composing and extending these formatters efficiently
 without resorting to capturing and manipulating intermediate
 strings.")
     (license bsd-3)))
+
+(define-public chez-mit
+  (package
+    (name "chez-mit")
+    (version "0.1")
+    (home-page "https://github.com/fedeinthemix/chez-mit")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append home-page "/archive/v" version ".tar.gz"))
+       (sha256
+        (base32 "1p11q061znwxzxrxg3vw4dbsnpv1dav12hjhnkrjnzyyjvvdm2kn"))
+       (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("chez-srfi" ,chez-srfi))) ; for tests
+    (native-inputs
+     `(("chez-scheme" ,chez-scheme)))
+    (arguments
+     `(#:make-flags ,(chez-make-flags name version)
+       #:test-target "test"
+       #:phases (modify-phases %standard-phases
+                  (replace 'configure ,chez-configure))))
+    (synopsis "MIT/GNU Scheme compatibility library for Chez Scheme")
+    (description "This package provides a set of MIT/GNU Scheme compatibility
+libraries for Chez Scheme.  The main goal was to provide the functionality
+required to port the program 'Scmutils' to Chez Scheme.")
+    (license gpl3+)))
+
+(define-public chez-scmutils
+  (package
+    (name "chez-scmutils")
+    (version "0.1")
+    (home-page "https://github.com/fedeinthemix/chez-scmutils")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append home-page "/archive/v" version ".tar.gz"))
+       (sha256
+        (base32 "1a5j61pggaiwl1gl6m038rcy5n8r2sj5nyjmz86jydx97mm5i8hj"))
+       (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("chez-srfi" ,chez-srfi)))      ; for tests
+    (native-inputs
+     `(("chez-scheme" ,chez-scheme)))
+    (propagated-inputs
+     `(("chez-mit" ,chez-mit)
+       ("chez-srfi" ,chez-srfi)))
+    (arguments
+     `(#:make-flags ,(chez-make-flags name version)
+       #:tests? #f ; no test suite
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure ,chez-configure)
+         ;; Since the documentation is lacking, we install the source
+         ;; code.  For things to work correctly we have to replace
+         ;; relative paths by absolute ones in 'include' forms.  This
+         ;; in turn requires us to compile the files in the final
+         ;; destination.
+         (delete 'build)
+         (add-after 'install 'install-src
+           (lambda* (#:key (make-flags '()) #:allow-other-keys)
+             (zero? (apply system* "make" "install-src" make-flags))))
+         (add-after 'install-src 'absolute-path-in-scm-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (for-each (lambda (file)
+                           (substitute* file
+                             (("include +\"\\./scmutils")
+                              (string-append "include \"" (dirname file)))))
+                         (find-files out "\\.sls"))
+               (for-each (lambda (file)
+                           (substitute* file
+                             (("include +\"\\./scmutils/simplify")
+                              (string-append "include \"" (dirname file)))))
+                         (find-files out "fbe-syntax\\.scm"))
+               #t)))
+         (add-after 'absolute-path-in-scm-files 'build
+           (lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (mk-file (car (find-files out "Makefile"))))
+               (with-directory-excursion (dirname mk-file)
+                 (zero? (apply system* "make" "build" make-flags))))))
+         (add-after 'build 'clean-up
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out")))
+               (for-each delete-file
+                         (find-files out "Makefile|compile-all\\.ss"))))))))
+    (synopsis "Port of MIT/GNU Scheme Scmutils to Chez Scheme")
+    (description "This package provides a port of the MIT/GNU Scheme
+Scmutils program to Chez Scheme.  The port consists of a set of
+libraries providing most of the functionality of the original.")
+    (license gpl3+)))
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index b267497c7c..790f542a52 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -40,6 +40,7 @@
 (define-public curl
   (package
    (name "curl")
+   (replacement curl-7.51.0)
    (version "7.50.3")
    (source (origin
             (method url-fetch)
@@ -119,3 +120,16 @@ tunneling, and so on.")
    (license (license:non-copyleft "file://COPYING"
                                   "See COPYING in the distribution."))
    (home-page "http://curl.haxx.se/")))
+
+(define curl-7.51.0
+  (package
+    (inherit curl)
+    (source
+      (let ((version "7.51.0"))
+        (origin
+          (method url-fetch)
+          (uri (string-append "https://curl.haxx.se/download/curl-"
+                              version ".tar.lzma"))
+          (sha256
+           (base32
+            "0605f28m2kxjcxrcfcv1ja353gv167lwyxjc3xizqbwppdmmzvwy")))))))
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index e89c5fb0e0..f56ed58363 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -29,14 +29,13 @@
 (define-public python-django
   (package
     (name "python-django")
-    (version "1.10")
+    (version "1.10.3")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "Django" version))
               (sha256
                (base32
-                "01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26"))
-              (patches (search-patches "python-django-fix-testcase.patch"))))
+                "0c4c8zs7kzb0bdlpy4vlzv6va26dbazr32h91rldf6waxs6z14kg"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index f60f1d1c54..b49a0b7392 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -73,7 +73,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
 (define-public bind
   (package
     (name "bind")
-    (version "9.10.4-P3")
+    (version "9.10.4-P4")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -81,7 +81,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "1vxs29w4hnl7jcd7sknga58xv1qk2rcpsxyich7cpp7xi77faxd0"))))
+                "11lxkb7d79c75scrs28q4xmr0ii2li69zj1c650al3qxir8yf754"))))
     (build-system gnu-build-system)
     (outputs `("out" "utils"))
     (inputs
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 2c76b46e54..a065959d25 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -298,8 +298,36 @@ metadata.")
     (license license:bsd-3)))
 
 (define-public geiser-next
-  ;; This has become "geiser".
-  (deprecated-package "geiser-next" geiser))
+  ;; Geiser's upcoming version supports Chibi and Chez, while it was forgot to
+  ;; include some required files in 0.9.  When the next Geiser release comes
+  ;; out, we can remove this.
+  (let ((commit "16035b9fa475496f7f89a57fa81455057af749a0")
+        (revision "1"))
+    (package
+      (inherit geiser)
+      (name "geiser-next")
+      (version (string-append "0.9-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (file-name (string-append name "-" version ".tar.gz"))
+                (uri (git-reference
+                      (url "git://git.sv.gnu.org/geiser.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1rrafizrhjkai0msryjiz4c5dcdyihf0i2wmgiy8br74rwbxpyl5"))))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("texinfo" ,texinfo)
+         ,@(package-native-inputs geiser)))
+      (arguments
+       (substitute-keyword-arguments (package-arguments geiser)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             (add-after 'unpack 'autogen
+               (lambda _
+                 (zero? (system* "sh" "autogen.sh")))))))))))
 
 (define-public paredit
   (package
@@ -575,7 +603,7 @@ process, passing on the arguments as command line arguments.")
 (define-public haskell-mode
   (package
     (name "haskell-mode")
-    (version "13.14.2")
+    (version "16.1")
     (source (origin
               (method url-fetch)
               (file-name (string-append name "-" version ".tar.gz"))
@@ -583,7 +611,12 @@ process, passing on the arguments as command line arguments.")
                     "https://github.com/haskell/haskell-mode/archive/v"
                     version ".tar.gz"))
               (sha256
-               (base32 "1kxc2yj8vb122dv91r68h7c5ladcryx963fr16plfhg71fv7f9av"))))
+               (base32 "0g6lcjw7lcgavv3yrd8xjcyqgfyjl787y32r1z14amw2f009m78h"))))
+    (inputs
+     `(("emacs-el-search" ,emacs-el-search) ; for tests
+       ("emacs-stream" ,emacs-stream)))     ; for tests
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)))
     (native-inputs
      `(("emacs" ,emacs-minimal)
        ("texinfo" ,texinfo)))
@@ -592,15 +625,38 @@ process, passing on the arguments as command line arguments.")
      `(#:make-flags (list (string-append "EMACS="
                                          (assoc-ref %build-inputs "emacs")
                                          "/bin/emacs"))
+       #:modules ((ice-9 match)
+                  (srfi srfi-26)
+                  ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (add-before
           'build 'pre-build
           (lambda* (#:key inputs #:allow-other-keys)
+            (define (el-dir store-dir)
+              (match (find-files store-dir)
+                ((f1 f2 ...) (dirname f1))
+                (_ "")))
+
             (let ((sh (string-append (assoc-ref inputs "bash") "/bin/sh")))
+              (define emacs-prefix? (cut string-prefix? "emacs-" <>))
+
               (setenv "SHELL" "sh")
+              (setenv "EMACSLOADPATH"
+                      (string-concatenate
+                       (map (match-lambda
+                              (((? emacs-prefix? name) . dir)
+                               (string-append (el-dir dir) ":"))
+                              (_ ""))
+                            inputs)))
               (substitute* (find-files "." "\\.el") (("/bin/sh") sh))
+              (substitute* "tests/haskell-code-conventions.el"
+                ;; Function name recently changed in "emacs-el-search".
+                (("el-search--search-pattern") "el-search-forward")
+                ;; Don't contact home.
+                (("\\(when \\(>= emacs-major-version 25\\)")
+                 "(require 'el-search) (when nil"))
               #t)))
          (replace
           'install
@@ -621,9 +677,9 @@ process, passing on the arguments as command line arguments.")
                 (install-file "haskell-mode.info" info))
                (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
                (copy-to-dir el-dir (find-files "." "\\.elc?"))
-               ;; these are now distributed with emacs
+               ;; These are part of other packages.
                (with-directory-excursion el-dir
-                 (for-each delete-file '("cl-lib.el" "ert.el")))
+                 (for-each delete-file '("dash.el" "ert.el")))
                #t))))))
     (home-page "https://github.com/haskell/haskell-mode")
     (synopsis "Haskell mode for Emacs")
@@ -1652,14 +1708,14 @@ source code using IPython.")
 (define-public emacs-debbugs
   (package
     (name "emacs-debbugs")
-    (version "0.11")
+    (version "0.12")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://elpa.gnu.org/packages/debbugs-"
                                   version ".tar"))
               (sha256
                (base32
-                "10v9s7ayvfzd6j6hqfc9zihxgmsc2j0xhxrgy3ah30qkqn6z8w6n"))))
+                "1swi4d7fhahimid9j12cypmkz7dlqgffrnhfxy5ra44y3j2b35ph"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-async" ,emacs-async)))
@@ -3320,3 +3376,45 @@ This package contains the library runtime.")
     (description "This package provides an Emacs major mode for
 editing nginx config files.")
     (license license:gpl2+)))
+
+(define-public emacs-stream
+  (package
+    (name "emacs-stream")
+    (version "2.2.0")
+    (home-page "https://github.com/NicolasPetton/stream")
+    (source
+     (origin
+       (method url-fetch)
+       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (string-append home-page "/archive/"version ".tar.gz"))
+       (sha256
+        (base32 "03ql4nqfz5pn55mjly6clhvc3g7x2d28kj7mrlqmigvjbql39xxc"))))
+    (build-system emacs-build-system)
+    (synopsis "Implementation of streams for Emacs")
+    (description "This library provides an implementation of streams for Emacs.
+Streams are implemented as delayed evaluation of cons cells.")
+    (license license:gpl3+)))
+
+(define-public emacs-el-search
+  (let ((commit "f26277bfbb3fc3fc74beea6592f294c439796bd4")
+        (revision "1"))
+    (package
+      (name "emacs-el-search")
+      ;; No ufficial release.
+      (version (string-append "0.0-" revision "." (string-take commit 7)))
+      (home-page "https://github.com/emacsmirror/el-search")
+      (source
+       (origin
+         (method git-fetch)
+         (file-name (string-append name "-" version ".tar.gz"))
+         (uri (git-reference
+               (commit commit)
+               (url (string-append home-page ".git"))))
+         (sha256
+          (base32 "12xf40h9sb7xxg2r97gsia94q02543mgiiiw46fzh1ac7b7993g6"))))
+      (build-system emacs-build-system)
+      (inputs `(("emacs-stream" ,emacs-stream)))
+      (synopsis "Expression based interactive search for emacs-lisp-mode")
+      (description "This package provides expression based interactive search
+procedures for emacs-lisp-mode.")
+      (license license:gpl3+))))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 11df32a6f2..c4d05605a8 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -361,4 +361,4 @@ language.")
       (synopsis "On-Chip Debugger")
       (description "OpenOCD provides on-chip programming and debugging support
 with a layered architecture of JTAG interface and TAP support.")
-      (license license:gpl2))))
+      (license license:gpl2+))))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 4bc2fb8314..b4d9af041a 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
@@ -63,7 +63,7 @@
 (define-public librecad
   (package
     (name "librecad")
-    (version "2.1.1")
+    (version "2.1.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -72,7 +72,7 @@
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "132vv9pzbx64zmbnikyg06d4j47yzlmwi4mywxnd9gkaik4yd2kb"))))
+                "01nvc1g3si05r5np1pzn62ah9w84p8nxa32wqrjh6gdi17jfvi3l"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index de0b842b48..693d728464 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -280,14 +280,14 @@ archive on a per-file basis.")
 (define-public love
   (package
     (name "love")
-    (version "0.10.1")
+    (version "0.10.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://bitbucket.org/rude/love/downloads/"
                                  "love-" version "-linux-src.tar.gz"))
              (sha256
               (base32
-               "1ys18m7c4994k5s7avqlf17sc2icx5zgvfplz504q1ka16hwkc52"))))
+               "11x346pw0gqad8nmkmywzx4xpcbfc3dslbrdw5x94n1i25mk0sxj"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index a933162b8b..7a7d6bab87 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -7902,4 +7902,96 @@ monad, as well as a typeclass abstracting their common operations, and
 a set of wrappers to use the hash tables in the IO monad.")
     (license license:bsd-3)))
 
+(define-public ghc-data-accessor
+  (package
+    (name "ghc-data-accessor")
+    (version "0.2.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/data-accessor/data-accessor-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1vf2g1gac3rm32g97rl0fll51m88q7ry4m6khnl5j47qsmx24r9l"))))
+    (build-system haskell-build-system)
+    (home-page "http://www.haskell.org/haskellwiki/Record_access")
+    (synopsis
+     "Haskell utilities for accessing and manipulating fields of records")
+    (description "This package provides Haskell modules for accessing and
+manipulating fields of records.")
+    (license license:bsd-3)))
+
+(define-public ghc-data-accessor-transformers
+  (package
+    (name "ghc-data-accessor-transformers")
+    (version "0.2.1.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/data-accessor-transformers/"
+             "data-accessor-transformers-" version ".tar.gz"))
+       (sha256
+        (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
+    (home-page "http://www.haskell.org/haskellwiki/Record_access")
+    (synopsis "Use Accessor to access state in transformers State monad")
+    (description "This package provides Haskell modules to allow use of
+Accessor to access state in transformers State monad.")
+    (license license:bsd-3)))
+
+(define-public ghc-utility-ht
+  (package
+    (name "ghc-utility-ht")
+    (version "0.0.12")
+    (home-page "https://hackage.haskell.org/package/utility-ht")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
+       (sha256
+        (base32 "1vq5bd51rl9l5lgfmaqxgiggddk38hzgngcj7qgrqnalcd1myi54"))))
+    (build-system haskell-build-system)
+    (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+    (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
+    (description "This package includes Hakell modules providing various
+helper functions for Lists, Maybes, Tuples, Functions.")
+    (license license:bsd-3)))
+
+(define-public ghc-gnuplot
+  (package
+    (name "ghc-gnuplot")
+    (version "0.5.4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://hackage/package/gnuplot/gnuplot-"
+             version ".tar.gz"))
+       (sha256
+        (base32 "1xz8prw9xjk0rsyrkp9bsmxykzrbhpv9qhhkdapy75mdbmgwjm7s"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-temporary" ,ghc-temporary)
+       ("ghc-utility-ht" ,ghc-utility-ht)
+       ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
+       ("ghc-data-accessor" ,ghc-data-accessor)
+       ("gnuplot" ,gnuplot)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'fix-path-to-gnuplot
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gnuplot (assoc-ref inputs "gnuplot")))
+               (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
+                 (("(gnuplotName = ).*$" all cmd)
+                  (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
+    (home-page "http://www.haskell.org/haskellwiki/Gnuplot")
+    (synopsis "2D and 3D plots using gnuplot")
+    (description "This package provides a Haskell module for creating 2D and
+3D plots using gnuplot.")
+    (license license:bsd-3)))
+
 ;;; haskell.scm ends here
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 4c3c636b68..071d42a165 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -43,14 +43,14 @@
 (define-public imagemagick
   (package
     (name "imagemagick")
-    (version "6.9.6-2")
+    (version "6.9.6-3")
     (source (origin
              (method url-fetch)
              (uri (string-append "mirror://imagemagick/ImageMagick-"
                                  version ".tar.xz"))
              (sha256
               (base32
-               "139h9lycxw3lszn052m34xm0rqyanin4nb529vxjcrkkzqilh91r"))))
+               "0min87mdhv6bni5hz99i3j1wkrjrqp88dx4ckjzmilg28p9ick63"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 673f2ce70e..01f5d6c88d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -325,14 +325,14 @@ It has been modified to remove all non-free binary blobs.")
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 
 (define-public linux-libre
-  (make-linux-libre "4.8.5"
-                    "124sf2jvckn0afy1zfyaqgr1679qsx3fnylw1wpl7p5298hwyf9m"
+  (make-linux-libre "4.8.6"
+                    "07h618x13yyp3lnf77px4v60pdcz7il0fa7p466wa5gp3h0yhvmi"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.28"
-                    "1yn74vci0bygn5bi9mcgx1zz8xw9m3jb6j260wqsgkv1hbksa2yp"
+  (make-linux-libre "4.4.30"
+                    "16jjcjfbf3s4mrifk6v7kmnm8l7yywispfap98wcv6gw6mv9sxdx"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -343,8 +343,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 ;; Avoid rebuilding kernel variants when there is a minor version bump.
-(define %linux-libre-version "4.8.5")
-(define %linux-libre-hash "124sf2jvckn0afy1zfyaqgr1679qsx3fnylw1wpl7p5298hwyf9m")
+(define %linux-libre-version "4.8.6")
+(define %linux-libre-hash "07h618x13yyp3lnf77px4v60pdcz7il0fa7p466wa5gp3h0yhvmi")
 
 (define-public linux-libre-arm-generic
   (make-linux-libre %linux-libre-version
@@ -922,7 +922,7 @@ packet filter.")
 (define-public iproute
   (package
     (name "iproute2")
-    (version "4.4.0")
+    (version "4.8.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -930,12 +930,14 @@ packet filter.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "05351m4m0whsivlblvs3m0nz5q9v6r06ik80z27gf6ca51kw74dw"))))
+                "12dk5hn1zlraqk2p0z8dv2xgsz0x9v8l3vcvf51fzj0v8b45j2d3"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                                ; no test suite
        #:make-flags (let ((out (assoc-ref %outputs "out")))
                       (list "DESTDIR="
+                            (string-append "BASH_COMPDIR=" out
+                                           "/etc/bash_completion.d")
                             (string-append "LIBDIR=" out "/lib")
                             (string-append "SBINDIR=" out "/sbin")
                             (string-append "CONFDIR=" out "/etc")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 7c1ba846c9..9b3a4d3981 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -478,13 +478,13 @@ transactions from C or Python.")
 (define-public diffoscope
   (package
     (name "diffoscope")
-    (version "61")
+    (version "62")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri name version))
               (sha256
                (base32
-                "1qpk2l6p9z58s61jfx6adm96f5r21ns128db0876zd6b6h34411p"))))
+                "127b4gsw11hjbha5jpz5i42pc142h52pwzs1p792047y0j1yjg8z"))))
     (build-system python-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/patches/python-django-fix-testcase.patch b/gnu/packages/patches/python-django-fix-testcase.patch
deleted file mode 100644
index 4c1f9806d7..0000000000
--- a/gnu/packages/patches/python-django-fix-testcase.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 24123c31362b5f3783d84d133c160e9fe16805fe Mon Sep 17 00:00:00 2001
-From: Tim Graham <timograham@gmail.com>
-Date: Mon, 1 Aug 2016 15:40:46 -0400
-Subject: [PATCH] Fixed admin_utils test failures due to translation updates.
-
-https://github.com/django/django/commit/24123c31362b5f3783d84d133c160e9fe16805fe
-
----
- tests/admin_utils/test_logentry.py | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/tests/admin_utils/test_logentry.py b/tests/admin_utils/test_logentry.py
-index 7798373..8259bf0 100644
---- a/tests/admin_utils/test_logentry.py
-+++ b/tests/admin_utils/test_logentry.py
-@@ -59,7 +59,7 @@ class LogEntryTests(TestCase):
-         logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id')
-         self.assertEqual(logentry.get_change_message(), 'Changed title and hist.')
-         with translation.override('fr'):
--            self.assertEqual(logentry.get_change_message(), 'Modification de title et hist.')
-+            self.assertEqual(logentry.get_change_message(), 'Title et hist modifié(s).')
- 
-         add_url = reverse('admin:admin_utils_article_add')
-         post_data['title'] = 'New'
-@@ -117,11 +117,12 @@ class LogEntryTests(TestCase):
-             'Changed domain. Added article "Article object". '
-             'Changed title for article "Article object". Deleted article "Article object".'
-         )
-+
-         with translation.override('fr'):
-             self.assertEqual(
-                 logentry.get_change_message(),
--                'Modification de domain. Article « Article object » ajouté. '
--                'Modification de title pour l\'objet article « Article object ». Article « Article object » supprimé.'
-+                "Domain modifié(s). Article « Article object » ajouté. "
-+                "Title modifié(s) pour l'objet article « Article object ». Article « Article object » supprimé."
-             )
- 
-     def test_logentry_get_edited_object(self):
--- 
-2.7.4
-
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 81f8f688f6..7beca849c8 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
@@ -2685,6 +2685,34 @@ functionality; it returns a list of file names that match the given pattern.
 For instance, it supports the @code{**/*.pm} form.")
     (license (package-license perl))))
 
+(define-public perl-getopt-long
+  (package
+    (name "perl-getopt-long")
+    (version "v2.49.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/J/JV/JV/"
+                           "Getopt-Long-" (substring version 1) ".tar.gz"))
+       (sha256
+        (base32
+         "0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq"))))
+    (build-system perl-build-system)
+    (home-page "http://search.cpan.org/dist/Getopt-Long")
+    (synopsis "Module to handle parsing command line options")
+    (description "The @code{Getopt::Long} module implements an extended getopt
+function called @code{GetOptions()}.  It parses the command line from
+@code{ARGV}, recognizing and removing specified options and their possible
+values.
+
+This function adheres to the POSIX syntax for command line options, with GNU
+extensions.  In general, this means that options have long names instead of
+single letters, and are introduced with a double dash \"--\".  Support for
+bundling of command line options, as was the case with the more traditional
+single-letter approach, is provided but not enabled by default.")
+    ;; Can be used with either license.
+    (license (list (package-license perl) gpl2+))))
+
 (define-public perl-getopt-long-descriptive
   (package
     (name "perl-getopt-long-descriptive")
@@ -6053,14 +6081,14 @@ makes fork(2) safe to use in test cases.")
 (define-public perl-test-simple
   (package
     (name "perl-test-simple")
-    (version "1.302026")
+    (version "1.302062")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
                                   "Test-Simple-" version ".tar.gz"))
               (sha256
                (base32
-                "1mq1sykv48rgjamw4wxa290mnyjm0dw9w9lpzncnac9gfx18vm72"))))
+                "1sjny65iwnin35lvc203pb07gyx9wrp3gmn6lfrjsbmi986hcab7"))))
     (build-system perl-build-system)
     (synopsis "Basic utilities for writing tests")
     (description
diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm
index e685a17d28..a2bd2390c6 100644
--- a/gnu/packages/regex.scm
+++ b/gnu/packages/regex.scm
@@ -27,7 +27,7 @@
 (define-public re2
    (package
      (name "re2")
-     (version "2016-08-01")
+     (version "2016-11-01")
      (source (origin
                (method url-fetch)
                (uri
@@ -37,7 +37,7 @@
                (file-name (string-append name "-" version ".tar.gz"))
                (sha256
                 (base32
-                 "06pfm3xi5irrrij85m0c46rsn9jyg1rc2r431wi2knhjvbw9f0bx"))))
+                 "0scn3rimfxz0kqxxasap04kv9cbzjsgi7krkqmyhbi710fgr9vh1"))))
      (build-system gnu-build-system)
      (arguments
       `(#:test-target "test"
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm
index 5d7def5b2f..f0dbbc9b11 100644
--- a/gnu/packages/search.scm
+++ b/gnu/packages/search.scm
@@ -35,13 +35,13 @@
 (define-public xapian
   (package
     (name "xapian")
-    (version "1.4.0")
+    (version "1.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://oligarchy.co.uk/xapian/" version
                                   "/xapian-core-" version ".tar.xz"))
               (sha256
-               (base32 "0xv4da5rmqqzkkkzx2v3jwh5hz5zxhd2b7m8x30fk99a25blyn0h"))))
+               (base32 "1svhrs5zl7cyv9kqh70k02zc3cmpcpn6nvgdkv0pl1iwwx6m7wn5"))))
     (build-system gnu-build-system)
     (inputs `(("zlib" ,zlib)
               ("util-linux" ,util-linux)))
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 735b2fe0ec..8f58c589d9 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,11 +26,50 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages man)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config))
 
+(define-public ccid
+  (package
+    (name "ccid")
+    (version "1.4.25")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://alioth.debian.org/frs/download.php/file/4187/"
+                    "ccid-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "029n4lpy5nvg278s4mybisyj4lm0bcjslvwfslw6hkghw162n1kb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
+                                              "/pcsc/drivers"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-Makefile
+           (lambda _
+             (substitute* "src/Makefile.in"
+               (("/bin/echo") (which "echo")))
+             #t)))))
+    (native-inputs
+     `(("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libusb" ,libusb)
+       ("pcsc-lite" ,pcsc-lite)))
+    (home-page "https://pcsclite.alioth.debian.org/ccid.html")
+    (synopsis "PC/SC driver for USB smart card devices")
+    (description
+     "This package provides a PC/SC IFD handler implementation for devices
+compliant with the CCID and ICCD protocols.  It supports a wide range of
+readers and is needed to communicate with such devices through the
+@command{pcscd} resource manager.")
+    (license license:lgpl2.1+)))
+
 (define-public libyubikey
   (package
     (name "libyubikey")
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index 95c7591480..39a940dfde 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,7 +23,12 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
-  #:use-module (gnu packages gcc))
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gcc)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pulseaudio)
+  #:use-module (gnu packages textutils))
 
 (define-public mitlm
   (package
@@ -49,3 +55,40 @@ models involving iterative parameter estimation.  It achieves much of its
 efficiency through the use of a compact vector representation of n-grams.")
     (home-page "https://github.com/mitlm/mitlm")
     (license license:expat)))
+
+(define-public speech-dispatcher
+  (package
+    (name "speech-dispatcher")
+    (version "0.8.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://devel.freebsoft.org/pub/"
+                                  "projects/speechd/speech-dispatcher-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("intltool" ,intltool)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("dotconf" ,dotconf)
+       ("glib" ,glib)
+       ("libltdl" ,libltdl)
+       ("libsndfile" ,libsndfile)))
+    (synopsis "Common interface to speech synthesizers")
+    (description "The Speech Dispatcher project provides a high-level
+device independent layer for access to speech synthesis through a simple,
+stable and well documented interface.")
+    (home-page "https://devel.freebsoft.org/speechd")
+    ;; The software is distributed under GPL2+, but includes a number
+    ;; of files covered by other licenses.
+    (license (list license:gpl2+
+                   license:fdl1.2+ ; Most files in doc/ are dual gpl2+/fdl1.2+.
+                   license:lgpl2.1+
+                   license:gpl2
+                   (license:non-copyleft
+                    ;; festival_client.{c,h} carries an expat-style license.
+                    "See src/modules/festival_client.c in the distribution.")
+                   license:gpl3+)))) ; doc/texinfo.tex -- with TeX exception.
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 2259a16c91..db6e5a1894 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -459,3 +460,35 @@ categories.")
     ;;   GNU General Public License, (c) by the Free Software Foundation.
     ;;   Guix excludes this file.
     (license (list license:gpl3+ license:public-domain))))
+
+(define-public dotconf
+  (package
+    (name "dotconf")
+    (version "1.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/williamh/dotconf/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0lsnh0yaw44psmx59hq94cj1932gscp5h8d3cnh05l0svr0cy7kz"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; FIXME maketest.sh does not work.
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autoreconf
+           (lambda _
+             (zero? (system* "autoreconf" "-vif")))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://github.com/williamh/dotconf")
+    (synopsis "Configuration file parser library")
+    (description
+     "C library for creating and parsing configuration files.")
+    (license (list license:lgpl2.1         ; Main distribution.
+                   license:asl1.1))))      ; src/readdir.{c,h}
diff --git a/guix/download.scm b/guix/download.scm
index 649e96b51b..80507f952a 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -87,6 +87,8 @@
        "http://ftp.linux.org.uk/mirrors/ftp.gnome.org/"
        "http://ftp.gnome.org/pub/GNOME/"
        "http://mirror.yandex.ru/mirrors/ftp.gnome.org/")
+      (hackage
+       "http://hackage.haskell.org/")
       (savannah
        "http://download.savannah.gnu.org/releases/"
        "ftp://ftp.twaren.net/Unix/NonGNU/"
diff --git a/guix/licenses.scm b/guix/licenses.scm
index ff214cf957..1e19300586 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -48,7 +48,7 @@
             giftware
             gpl1 gpl1+ gpl2 gpl2+ gpl3 gpl3+
             gfl1.0
-            fdl1.1+ fdl1.3+
+            fdl1.1+ fdl1.2+ fdl1.3+
             opl1.0+
             isc
             ijg