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/audacity.scm4
-rw-r--r--gnu/packages/ccache.scm6
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/emacs.scm79
-rw-r--r--gnu/packages/game-development.scm45
-rw-r--r--gnu/packages/gnome.scm8
-rw-r--r--gnu/packages/guile.scm2
-rw-r--r--gnu/packages/haskell.scm61
-rw-r--r--gnu/packages/linux.scm19
-rw-r--r--gnu/packages/mail.scm4
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/music.scm6
-rw-r--r--gnu/packages/patches/libgit2-use-after-free.patch24
-rw-r--r--gnu/packages/perl.scm165
-rw-r--r--gnu/packages/python.scm15
-rw-r--r--gnu/packages/rust.scm7
-rw-r--r--gnu/packages/samba.scm19
-rw-r--r--gnu/packages/ssh.scm29
-rw-r--r--gnu/packages/version-control.scm20
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/webkit.scm8
-rw-r--r--gnu/packages/xdisorg.scm6
23 files changed, 414 insertions, 129 deletions
diff --git a/gnu/packages/audacity.scm b/gnu/packages/audacity.scm
index c448d0c1f2..a70d0e3a69 100644
--- a/gnu/packages/audacity.scm
+++ b/gnu/packages/audacity.scm
@@ -52,8 +52,8 @@
     (inputs
      ;; TODO: Add portSMF and libwidgetextra once they're packaged.  In-tree
      ;; versions shipping with Audacity are used for now.
-     `(("wxwidgets" ,wxwidgets)
-       ("gtk" ,gtk+)
+     `(("wxwidgets" ,wxwidgets-gtk2)
+       ("gtk" ,gtk+-2)
        ("alsa-lib" ,alsa-lib)
        ("jack" ,jack-1)
        ("expat" ,expat)
diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm
index 181fba2fd0..590fdb0ea1 100644
--- a/gnu/packages/ccache.scm
+++ b/gnu/packages/ccache.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,7 +29,7 @@
 (define-public ccache
   (package
     (name "ccache")
-    (version "3.3.3")
+    (version "3.3.4")
     (source
      (origin
       (method url-fetch)
@@ -37,7 +37,7 @@
                           version ".tar.xz"))
       (sha256
        (base32
-        "1v04ky2mhvx8gnqfbs9x2vvf4i9mzph4fwdg72s9xyhwv92sf0iv"))))
+        "0ks0vk408mdppfbk8v38p46fqx3p30r9a9cwiia43373i7rmpw94"))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)     ;for test.sh
                      ("which" ,(@ (gnu packages base) which))))
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index ec89abc670..57ac297a05 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -318,14 +318,14 @@ Extensions} (DNSSEC).")
 (define-public knot
   (package
     (name "knot")
-    (version "2.4.1")
+    (version "2.4.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://secure.nic.cz/files/knot-dns/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k3hkc6vqj8yd479zdn80ki5f0vnjhrm4fka7kfj9z7mkgwxsr60"))
+                "0licfnjl0mq9lzdn6frzdasrj65253xc9n33dhvxcjqr3z7pznip"))
               (modules '((guix build utils)))
               (snippet
                '(begin
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index b84faaff07..4fe2ffa4db 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1080,6 +1081,26 @@ like.  It can be linked with various Emacs mail clients (Message and Mail
 mode, Rmail, Gnus, MH-E, and VM).  BBDB is fully customizable.")
     (license license:gpl3+)))
 
+(define-public emacs-aggressive-indent
+  (package
+    (name "emacs-aggressive-indent")
+    (version "1.8.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://elpa.gnu.org/packages/"
+                                  "aggressive-indent-" version ".el"))
+              (sha256
+               (base32
+                "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
+    (build-system emacs-build-system)
+    (home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
+    (synopsis "Minor mode to aggressively keep your code always indented")
+    (description
+     "@code{aggressive-indent-mode} is a minor mode that keeps your code
+always indented.  It reindents after every change, making it more reliable
+than @code{electric-indent-mode}.")
+    (license license:gpl2+)))
+
 (define-public emacs-ag
   (package
     (name "emacs-ag")
@@ -1396,6 +1417,25 @@ code written in the D programming language.  This mode is currently known to
 work with Emacs 24 and 25.")
     (license license:gpl2+)))
 
+(define-public emacs-keyfreq
+  (package
+    (name "emacs-keyfreq")
+    (version "20160516.716")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://melpa.org/packages/keyfreq-"
+               version ".el"))
+        (sha256
+          (base32
+            "008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/dacap/keyfreq")
+    (synopsis "Track Emacs command frequencies")
+    (description "@code{emacs-keyfeq} tracks and shows how many times you used
+a command.")
+    (license license:gpl3+)))
+
 (define-public emacs-undo-tree
   (package
     (name "emacs-undo-tree")
@@ -1443,6 +1483,25 @@ allows easily move between them.")
 strings.")
     (license license:gpl3+)))
 
+(define-public emacs-symon
+  (package
+    (name "emacs-symon")
+    (version "20170224.33")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://melpa.org/packages/symon-"
+                           version ".el"))
+       (sha256
+        (base32
+         "109jd7yjhdrrf5jqpqyv543nb28g7065z58bji9pvxanzi4zl2iz"))))
+    (build-system emacs-build-system)
+    (home-page "http://hins11.yu-yake.com/")
+    (synopsis "Tiny graphical system monitor")
+    (description
+     "Tiny graphical system monitor for the Emacs minibuffer when idle.")
+    (license license:gpl2+)))
+
 (define-public emacs-sx
   (package
     (name "emacs-sx")
@@ -3364,6 +3423,26 @@ go to the second most recent edit, etc.  Negative argument, @kbd{C-u -}, is
 used for reverse direction.")
     (license license:gpl2+)))
 
+(define-public emacs-monroe
+  (package
+    (name "emacs-monroe")
+    (version "20170220.540")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://melpa.org/packages/monroe-"
+                            version ".el"))
+        (sha256
+          (base32
+            "06p0qdhg4arwij1qpiiiwsd0m1bbl1qwd20ij2bmhryrvrcpswq3"))))
+    (build-system emacs-build-system)
+    (home-page "http://www.github.com/sanel/monroe")
+    (synopsis "Clojure nREPL client for Emacs")
+    (description
+      "Monroe is a nREPL client for Emacs, focused on simplicity and easy
+distribution, primarily targeting Clojure users")
+    (license license:gpl3+)))
+
 (define-public emacs-writegood-mode
   (package
     (name "emacs-writegood-mode")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 29f0555886..b4fce3f3b9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
+;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
@@ -674,3 +674,46 @@ to create fully featured games and multimedia programs in the python language.")
 
 (define-public python2-pygame
   (package-with-python2 python-pygame))
+
+(define-public grafx2
+  (package
+    (name "grafx2")
+    (version "2.4")
+    (source (origin
+              (method url-fetch)
+              ;; XXX: There is no URL that contains the version. :(
+              (uri "http://pulkomandy.tk/projects/GrafX2/downloads/21")
+              (sha256
+               (base32
+                "0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure) ; no configure script
+         (add-before 'build 'change-to-src-directory
+           (lambda _
+             (chdir "src")
+             #t)))
+       #:make-flags
+       ;; SDL header files are referenced without the preceeding "SDL/".
+       (list (string-append "CFLAGS=-I"
+                            (assoc-ref %build-inputs "sdl-union")
+                            "/include/SDL")
+             (string-append "prefix="
+                            (assoc-ref %outputs "out")))
+       #:tests? #f)) ; no check target
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("libpng" ,libpng)
+       ("lua" ,lua-5.1)
+       ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-ttf)))))
+    (synopsis "Bitmap paint program")
+    (description "GrafX2 is a bitmap paint program inspired by the Amiga
+programs Deluxe Paint and Brilliance.  Specializing in 256-color drawing, it
+includes a very large number of tools and effects that make it particularly
+suitable for pixel art, game graphics, and generally any detailed graphics
+painted with a mouse.")
+    (home-page "http://pulkomandy.tk/projects/GrafX2")
+    (license license:gpl2))) ; GPLv2 only
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 60e1c7a330..cd001f5210 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2528,7 +2528,7 @@ output devices.")
 (define-public geoclue
   (package
     (name "geoclue")
-    (version "2.4.4")
+    (version "2.4.6")
     (source
      (origin
        (method url-fetch)
@@ -2537,7 +2537,7 @@ output devices.")
                            name "-" version ".tar.xz"))
        (sha256
         (base32
-         "0p1ibjf5vzjsahw5xif2si3lj6a00sxhll008jk7w1hj1jfznhww"))
+         "1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
        (patches (search-patches "geoclue-config.patch"))))
     (build-system glib-or-gtk-build-system)
     (arguments
@@ -3711,7 +3711,7 @@ work and the interface is well tested.")
 (define-public epiphany
   (package
     (name "epiphany")
-    (version "3.22.6")
+    (version "3.22.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -3719,7 +3719,7 @@ work and the interface is well tested.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1hpwjwiviwh9dgc9cwq0gmr5jy40rvigjcq0cbg2nw2hqiyshzny"))))
+                "1167x5s0kawkqngjnzml0a11ib18raxqc4p11kacivj4jv0pwnx1"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      ;; FIXME: tests run under Xvfb, but fail with:
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 0e75e026b5..3918e17b3d 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -1025,7 +1025,7 @@ Guile's foreign function interface.")
     (arguments
      `(#:modules ((ice-9 match) (ice-9 ftw)
                   ,@%gnu-build-system-modules)
-
+       #:tests? #f ; test suite is non-deterministic :(
        #:phases (modify-phases %standard-phases
                   (add-after 'install 'wrap-haunt
                     (lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm
index d48983a81a..7d49cada3a 100644
--- a/gnu/packages/haskell.scm
+++ b/gnu/packages/haskell.scm
@@ -8234,4 +8234,65 @@ handler built in.")
 handled safely, this is what you're left with.")
     (license license:isc)))
 
+(define-public ghc-json
+  (package
+    (name "ghc-json")
+    (version "0.9.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://hackage.haskell.org/package/json/"
+                           "json-" version ".tar.gz"))
+       (sha256
+        (base32
+         "18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-syb" ,ghc-syb)
+       ("ghc-mtl" ,ghc-mtl)
+       ("ghc-text" ,ghc-text)
+       ("ghc-parsec" ,ghc-parsec)))
+    (home-page "http://hackage.haskell.org/package/json")
+    (synopsis "Serializes Haskell data to and from JSON")
+    (description "This package provides a parser and pretty printer for
+converting between Haskell values and JSON.
+JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
+    (license license:bsd-3)))
+
+(define-public shellcheck
+  (package
+    (name "shellcheck")
+    (version "0.4.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/koalaman/shellcheck/archive/"
+                           "v" version ".tar.gz"))
+       (sha256
+        (base32
+         "14r84fcn28rin339avlvca5g0kz832f01x8dpmwb5ql8mbc4rlxr"))
+       (file-name (string-append name "-" version ".tar.gz"))))
+    (build-system haskell-build-system)
+    (inputs
+     `(("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-json" ,ghc-json)
+       ("ghc-mtl" ,ghc-mtl)
+       ("ghc-parsec" ,ghc-parsec)
+       ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
+    (home-page "https://github.com/koalaman/shellcheck")
+    (synopsis "Static analysis for shell scripts")
+    (description "@code{shellcheck} provides static analysis for
+@command{bash} and @command{sh} shell scripts.
+It gives warnings and suggestions in order to:
+
+@enumerate
+@item Point out and clarify typical beginner's syntax issues that cause
+a shell to give cryptic error messages.
+@item Point out and clarify typical intermediate level semantic problems
+that cause a shell to behave strangely and counter-intuitively.
+@item Point out subtle caveats, corner cases and pitfalls that may cause an
+advanced user's otherwise working script to fail under future circumstances.
+@end enumerate")
+    (license license:gpl3+)))
+
 ;;; haskell.scm ends here
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ea7be23d74..87483f7dbf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -348,8 +348,8 @@ It has been modified to remove all non-free binary blobs.")
 
 (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
 
-(define %linux-libre-version "4.10.4")
-(define %linux-libre-hash "0cmz4y8pb3sdag32bsrn7vg1i8v9rymfspg85ipkbamm53c7v54g")
+(define %linux-libre-version "4.10.5")
+(define %linux-libre-hash "0qxanna5a82vyh5yb3mv8vvx5i9kdzmq2p6q7xp1fy88x9gj11xb")
 
 (define-public linux-libre
   (make-linux-libre %linux-libre-version
@@ -358,14 +358,14 @@ It has been modified to remove all non-free binary blobs.")
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.9
-  (make-linux-libre "4.9.16"
-                    "0n7y7h7ps4l1pr9d0m75hkw41jnfyw301r343dsaznwc0lpq3ch7"
+  (make-linux-libre "4.9.17"
+                    "1543b159s6v5z9l2bskw9rd6v8d98da8sppd34lz7nin6nk00cpk"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.55"
-                    "1m4h3wi4j573hny1yfi9qwkiicx2bx3gwy52zpr8bhxpyqz0d2dl"
+  (make-linux-libre "4.4.56"
+                    "16fa4rf6vdyakvjis2ahvzdw87znsqgxd84458y86z2szwbaym7n"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
@@ -2054,6 +2054,7 @@ country-specific regulations for the wireless spectrum.")
                            "https://github.com/groeck/lm-sensors/archive/V"
                            (string-join (string-split version #\.) "-")
                            ".tar.gz")))
+              (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
                 "0knb09s9lvx0wzfsaizx3xq58q6kllqf7nkbwvir0wkgn31c2d73"))
@@ -3155,14 +3156,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
 (define-public mcelog
   (package
     (name "mcelog")
-    (version "148")
+    (version "149")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
                                   "mcelog.git/snapshot/v" version ".tar.gz"))
               (sha256
                (base32
-                "1d5g09ndfsnl56vyhb5xw0zxspnh0f937biw3agqhdfbvw40j9jr"))
+                "08hd8bl9rgss990icb69srarrfwcg8k7py979ak753j92ybbkhdm"))
               (file-name (string-append name "-" version ".tar.gz"))
               (modules '((guix build utils)))
               (snippet
@@ -3489,7 +3490,7 @@ Light is the successor of lightscript.")
                (setenv "TLP_BIN" (string-append out "/bin"))
                (setenv "TLP_TLIB" (string-append out "/share/tlp-pm"))
                (setenv "TLP_ULIB" (string-append out "/lib/udev"))
-               (setenv "TLP_CONF" (string-append out "/etc/tlp"))
+               (setenv "TLP_CONF" "/etc/tlp")
                (setenv "TLP_SHCPL"
                        (string-append out "/share/bash-completion/completions"))
                (setenv "TLP_MAN" (string-append out "/share/man")))))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 53a8632947..4ac42f80c8 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -892,7 +892,7 @@ compresses it.")
 (define-public claws-mail
   (package
     (name "claws-mail")
-    (version "3.14.1")
+    (version "3.15.0")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -900,7 +900,7 @@ compresses it.")
                     ".tar.xz"))
               (sha256
                (base32
-                "0df34gj4r5cbb92834hph19gnh7ih9rgmmw47rliyg8b9z01v6mp"))))
+                "0bnwd3l04y6j1nw3h861rdy6k6lyjzsi51j04d33vbpq8c6jskaf"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("bogofilter" ,bogofilter)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ec8316b5f5..8fad8f0aef 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -70,6 +70,7 @@
   #:use-module (gnu packages less)
   #:use-module (gnu packages lisp)
   #:use-module (gnu packages logging)
+  #:use-module (gnu packages lua)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages xorg)
@@ -495,7 +496,8 @@ singular value problems.")
     (inputs `(("readline" ,readline)
               ("cairo" ,cairo)
               ("pango" ,pango)
-              ("gd" ,gd)))
+              ("gd" ,gd)
+              ("lua" ,lua)))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("texlive" ,texlive-minimal)))
     (home-page "http://www.gnuplot.info")
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 416a3304ff..198c6f1fed 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
 ;;; Copyright © 2016 Al McElrath <hello@yrns.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
@@ -236,14 +236,14 @@ many input formats and provides a customisable Vi-style user interface.")
 (define-public denemo
   (package
     (name "denemo")
-    (version "2.0.14")
+    (version "2.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnu/denemo/denemo-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh"))))
+                "0hggf8c4xcrjcxd5m00r788r7jg7g8ff54w2idfaqpj5j2ix3299"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/patches/libgit2-use-after-free.patch b/gnu/packages/patches/libgit2-use-after-free.patch
new file mode 100644
index 0000000000..580af8781a
--- /dev/null
+++ b/gnu/packages/patches/libgit2-use-after-free.patch
@@ -0,0 +1,24 @@
+This patch is taken from <https://github.com/libgit2/libgit2/pull/4122>;
+we need it to fix the use-after-free error in 'git_commit_extract_signature'
+reported at <https://github.com/libgit2/libgit2/issues/4118>.
+
+From ade0d9c658fdfc68d8046935f6908f033fe7a529 Mon Sep 17 00:00:00 2001
+From: Patrick Steinhardt <ps@pks.im>
+Date: Mon, 13 Feb 2017 13:46:17 +0100
+Subject: [PATCH 3/3] commit: avoid possible use-after-free
+
+diff --git a/src/commit.c b/src/commit.c
+index 89a4db1..05b70a9 100644
+--- a/src/commit.c
++++ b/src/commit.c
+@@ -766,8 +766,9 @@ int git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_r
+ 		if (git_buf_oom(signature))
+ 			goto oom;
+ 
++		error = git_buf_puts(signed_data, eol+1);
+ 		git_odb_object_free(obj);
+-		return git_buf_puts(signed_data, eol+1);
++		return error;
+ 	}
+ 
+ 	giterr_set(GITERR_OBJECT, "this commit is not signed");
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 086e1fae03..3470121883 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -380,7 +380,7 @@ parent.")
 (define-public perl-b-hooks-endofscope
   (package
     (name "perl-b-hooks-endofscope")
-    (version "0.13")
+    (version "0.21")
     (source
      (origin
        (method url-fetch)
@@ -388,7 +388,7 @@ parent.")
                            "B-Hooks-EndOfScope-" version ".tar.gz"))
        (sha256
         (base32
-         "1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi"))))
+         "0b70vbpabsy9ia366k330cz1zbdyb1pwhb0l7j28pmpih045iwwh"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)
@@ -603,7 +603,7 @@ algorithm to keep the most used entries in the cache.")
 (define-public perl-capture-tiny
   (package
     (name "perl-capture-tiny")
-    (version "0.28")
+    (version "0.46")
     (source
      (origin
        (method url-fetch)
@@ -612,7 +612,7 @@ algorithm to keep the most used entries in the cache.")
              version ".tar.gz"))
        (sha256
         (base32
-         "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"))))
+         "05bhlx6d4nzamhkkh0pkckg7wlvaq6mazf7q1fbb5wpp1j1nlyjx"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Capture-Tiny")
     (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
@@ -973,7 +973,7 @@ loaded class.")
 (define-public perl-class-load
   (package
     (name "perl-class-load")
-    (version "0.22")
+    (version "0.23")
     (source
      (origin
        (method url-fetch)
@@ -981,7 +981,7 @@ loaded class.")
                            "Class-Load-" version ".tar.gz"))
        (sha256
         (base32
-         "049i285yj8hwgzj7nncjbs2bhxvpdk88wmx1d0nh0rdmh5hdnlmy"))))
+         "13xjfh4fadq4pkq7fcj42b26544jl7gqdg2y3imnra9fwxwsbg7j"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build-tiny" ,perl-module-build-tiny)
@@ -1154,14 +1154,14 @@ arrays for their internal representation.")
 (define-public perl-clone
   (package
     (name "perl-clone")
-    (version "0.37")
+    (version "0.38")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/G/GA/GARU/"
                                   "Clone-" version ".tar.gz"))
               (sha256
                (base32
-                "17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr"))))
+                "1s5xrv9zlckqqzyhxi0l9lwj9m6na2bz5hqxrkva2v7gnx5m7c4z"))))
     (build-system perl-build-system)
     (synopsis "Recursively copy Perl datatypes")
     (description
@@ -1175,7 +1175,7 @@ objects.")
 (define-public perl-common-sense
   (package
     (name "perl-common-sense")
-    (version "3.73")
+    (version "3.74")
     (source
      (origin
        (method url-fetch)
@@ -1183,7 +1183,7 @@ objects.")
                            "common-sense-" version ".tar.gz"))
        (sha256
         (base32
-         "047xwgpn5611zrhk4c8vk9pzcbk1q7n3q0lfiwhhq7k4fbjca441"))))
+         "1wxv2s0hbjkrnssvxvsds0k213awg5pgdlrpkr6xkpnimc17s7vp"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/common-sense")
     (synopsis "Sane defaults for Perl programs")
@@ -1307,7 +1307,7 @@ the caller.")
 (define-public perl-cpan-meta-check
   (package
     (name "perl-cpan-meta-check")
-    (version "0.009")
+    (version "0.011")
     (source
      (origin
        (method url-fetch)
@@ -1315,7 +1315,7 @@ the caller.")
                            "CPAN-Meta-Check-" version ".tar.gz"))
        (sha256
         (base32
-         "0qbk5dwvhd78qgq5x6nim2n0l78pylvlklpbrm56w9yss6pl6bgb"))))
+         "0nxi0xhhd3dwhgri3l8z8gpz2ibvhm5k7jjls8xmnlh0v84p04kh"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-test-deep" ,perl-test-deep)))
     (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta)))
@@ -2285,7 +2285,7 @@ variable in a subroutines scope to one of your choosing.")
 (define-public perl-devel-overloadinfo
   (package
     (name "perl-devel-overloadinfo")
-    (version "0.002")
+    (version "0.004")
     (source
      (origin
        (method url-fetch)
@@ -2293,8 +2293,10 @@ variable in a subroutines scope to one of your choosing.")
                            "Devel-OverloadInfo-" version ".tar.gz"))
        (sha256
         (base32
-         "14gzjlsqhypqp0szqj6152qfn69snzydgk1yk6bji5zimzv86qyy"))))
+         "0zckjhzdqa6smpp98y15mqafsyzwjxwrvk10snzhn2sb0r889s43"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-package-stash" ,perl-package-stash)
        ("perl-sub-identify" ,perl-sub-identify)
@@ -2309,7 +2311,7 @@ hierarchy the overloads are declared and where the code implementing it is.")
 (define-public perl-devel-partialdump
   (package
     (name "perl-devel-partialdump")
-    (version "0.17")
+    (version "0.18")
     (source
      (origin
        (method url-fetch)
@@ -2317,7 +2319,7 @@ hierarchy the overloads are declared and where the code implementing it is.")
                            "Devel-PartialDump-" version ".tar.gz"))
        (sha256
         (base32
-         "0nr3qa68x4yp219kd17j1ks9c95qc9agfvz7ddnpn8p78f3kgwfn"))))
+         "0i1khiyi4h4h8vfwn7xip5c53z2hb2rk6407f3csvrdsiibvy53q"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build-tiny" ,perl-module-build-tiny)
@@ -3002,6 +3004,34 @@ of arbitrary depth and to delete an entire directory subtree from the
 file system.")
     (license (package-license perl))))
 
+(define-public perl-file-pushd
+  (package
+    (name "perl-file-pushd")
+    (version "1.014")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "02rlqvyy7gly3dsqwaa81aisyy9c791b8xvwzczcbgmcwgzkgaxm"))))
+    (build-system perl-build-system)
+    (home-page
+     "http://search.cpan.org/dist/File-pushd")
+    (synopsis
+     "Change directory temporarily for a limited scope")
+    (description "@code{File::pushd} does a temporary @code{chdir} that is
+easily and automatically reverted, similar to @code{pushd} in some Unix
+command shells.  It works by creating an object that caches the original
+working directory.  When the object is destroyed, the destructor calls
+@code{chdir} to revert to the original working directory.  By storing the
+object in a lexical variable with a limited scope, this happens automatically
+at the end of the scope.")
+    (license asl2.0)))
+
 (define-public perl-file-list
   (package
     (name "perl-file-list")
@@ -4316,7 +4346,7 @@ handling of Perl modules, which are normally handled at compile time.")
 (define-public perl-module-runtime-conflicts
   (package
     (name "perl-module-runtime-conflicts")
-    (version "0.001")
+    (version "0.003")
     (source
      (origin
        (method url-fetch)
@@ -4324,7 +4354,7 @@ handling of Perl modules, which are normally handled at compile time.")
                            "Module-Runtime-Conflicts-" version ".tar.gz"))
        (sha256
         (base32
-         "0pz23ch78lbpn4kdbm04icgsmbr7jvmxwq1p5m4x2pap8qwd0wqg"))))
+         "0x9qfg4pq70v1rl9dfk775fmca7ia308m24vfy8zww4c0dsxqz3h"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
@@ -4416,14 +4446,14 @@ Moose and is optimised for rapid startup.")
 (define-public perl-moose
   (package
     (name "perl-moose")
-    (version "2.1403")
+    (version "2.2004")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
                                   "Moose-" version ".tar.gz"))
               (sha256
                (base32
-                "16iaazikbnq2jjjac84jrdpfzm4qwqg1nbfgs11jlwn84q4jp1n3"))))
+                "1c6jx2lnrh2mi9wlj2c0sirj6345xmbpr34ax8d85mcginzq3j74"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-cpan-meta-check" ,perl-cpan-meta-check)
@@ -5227,7 +5257,7 @@ instance, not by name.")
 (define-public perl-package-deprecationmanager
   (package
     (name "perl-package-deprecationmanager")
-    (version "0.13")
+    (version "0.17")
     (source
      (origin
        (method url-fetch)
@@ -5235,7 +5265,7 @@ instance, not by name.")
                            "Package-DeprecationManager-" version ".tar.gz"))
        (sha256
         (base32
-         "0fkvq3xxwc3l5hg64dr9sj3l12dl59i44cg407qx9sd6r51j3qfi"))))
+         "0jv8svfh1c1q4vxlkf8vjfbdq3n2sj3nx5llv1qrhp1b93d3lx0x"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)
@@ -5375,7 +5405,7 @@ checking parameters easier.")
 (define-public perl-params-validate
   (package
     (name "perl-params-validate")
-    (version "1.17")
+    (version "1.26")
     (source
      (origin
        (method url-fetch)
@@ -5383,7 +5413,7 @@ checking parameters easier.")
                            "Params-Validate-" version ".tar.gz"))
        (sha256
         (base32
-         "1wh23i9kkma6493c0q1kvy6wmahd6spg6xm3xbp2ar1iy1xhks5l"))))
+         "1vbj78qd46ip09i06dsbb62jfwpzp4bg7yi617v98nvim77w66l2"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
@@ -5997,7 +6027,7 @@ can see them.")
 (define-public perl-sub-name
   (package
     (name "perl-sub-name")
-    (version "0.12")
+    (version "0.21")
     (source
      (origin
        (method url-fetch)
@@ -6005,7 +6035,7 @@ can see them.")
                            "Sub-Name-" version ".tar.gz"))
        (sha256
         (base32
-         "1sdlc8pv7vyyc48gzh70hbwzn0hzwl3zbcy2dkmfw8vjzgya5i06"))))
+         "05viq8scqk29g964fsfvls2rhvlb8myz3jblwh5c2ivhw3gfjcmx"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-devel-checkbin" ,perl-devel-checkbin)))
@@ -6390,7 +6420,7 @@ using @code{Test::Class}.")
 (define-public perl-test-cleannamespaces
   (package
     (name "perl-test-cleannamespaces")
-    (version "0.16")
+    (version "0.22")
     (source
      (origin
        (method url-fetch)
@@ -6398,13 +6428,15 @@ using @code{Test::Class}.")
                            "Test-CleanNamespaces-" version ".tar.gz"))
        (sha256
         (base32
-         "1ynrds515gcq954z34zm03rgcx0dskiaz7qj0k7k5gmrjj1kfycp"))))
+         "1jma95agqqy7iwdcl6jbg1waqz7mjqng4l046lpknhfxjhcj4al6"))))
     (build-system perl-build-system)
     (native-inputs
-     `(("perl-test-requires" ,perl-test-requires)
+     `(("perl-file-pushd" ,perl-file-pushd)
+       ("perl-test-requires" ,perl-test-requires)
        ("perl-test-deep" ,perl-test-deep)
        ("perl-test-warnings" ,perl-test-warnings)
-       ("perl-test-tester" ,perl-test-tester)))
+       ("perl-test-tester" ,perl-test-tester)
+       ("perl-test-needs" ,perl-test-needs)))
     (propagated-inputs
      `(("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-package-stash" ,perl-package-stash)
@@ -6496,7 +6528,7 @@ files, as well as to verify that there are no missing or unknown files.")
 (define-public perl-test-exception
   (package
     (name "perl-test-exception")
-    (version "0.36")
+    (version "0.43")
     (source
      (origin
        (method url-fetch)
@@ -6504,7 +6536,7 @@ files, as well as to verify that there are no missing or unknown files.")
                            "Test-Exception-" version ".tar.gz"))
        (sha256
         (base32
-         "1zpwimspbq11wjrli481qk17aabzxab15cnnryflx45nzn3za2xk"))))
+         "0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
@@ -6733,6 +6765,34 @@ functions, along with automatically turning on strict and warning and gives a
 bit more fine-grained control over test suites.")
     (license (package-license perl))))
 
+(define-public perl-test-needs
+  (package
+    (name "perl-test-needs")
+    (version "0.002005")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-"
+             version
+             ".tar.gz"))
+       (sha256
+        (base32
+         "16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"))))
+    (build-system perl-build-system)
+    (home-page
+     "http://search.cpan.org/dist/Test-Needs")
+    (synopsis
+     "Skip tests when modules not available")
+    (description "@code{Test::Needs} allows you to skip test scripts if
+modules are not available.  The requested modules will be loaded, and
+optionally have their versions checked.  If the module is missing, the test
+script will be skipped.  Modules that are found but fail to compile will exit
+with an error rather than skip.
+
+If used in a subtest, the remainder of the subtest will be skipped.")
+    (license (package-license perl))))
+
 (define-public perl-test-nowarnings
   (package
     (name "perl-test-nowarnings")
@@ -6913,14 +6973,14 @@ makes fork(2) safe to use in test cases.")
 (define-public perl-test-simple
   (package
     (name "perl-test-simple")
-    (version "1.302062")
+    (version "1.302078")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
                                   "Test-Simple-" version ".tar.gz"))
               (sha256
                (base32
-                "1sjny65iwnin35lvc203pb07gyx9wrp3gmn6lfrjsbmi986hcab7"))))
+                "05acl24kmz3dgr2nayy162yaf0kz92h1j5vkiavyv6mdh2lz6ixb"))))
     (build-system perl-build-system)
     (synopsis "Basic utilities for writing tests")
     (description
@@ -7021,7 +7081,7 @@ warning based code.")
 (define-public perl-test-warnings
   (package
     (name "perl-test-warnings")
-    (version "0.020")
+    (version "0.026")
     (source
      (origin
        (method url-fetch)
@@ -7029,7 +7089,7 @@ warning based code.")
                            "Test-Warnings-" version ".tar.gz"))
        (sha256
         (base32
-         "1x262kybrdnbiiw53m1axp4zyh4lsfb9mm2shmpm8lwf7sp30isi"))))
+         "024srkwjckp15dxkni9lb1hc8bg4xwc52zz0iich8rv1nnqnhaxf"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Test-Warnings")
     (synopsis "Test for warnings and the lack of them")
@@ -7478,7 +7538,7 @@ rounded or exact terms.")
 (define-public perl-time-duration-parse
   (package
     (name "perl-time-duration-parse")
-    (version "0.11")
+    (version "0.13")
     (source
      (origin
        (method url-fetch)
@@ -7486,7 +7546,7 @@ rounded or exact terms.")
                            "Time-Duration-Parse-" version ".tar.gz"))
        (sha256
         (base32
-         "1yk4cqkldwzkfy9y9ngqrj7p7sbsrsfa26mrm8f70z5n5m8q31x0"))))
+         "0affdzhsiy7dr6dzj2p6m9lynmjh53k31bprfsfa21pz8551hjj1"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-time-duration" ,perl-time-duration)))
@@ -7624,7 +7684,7 @@ Tree::Simple::Visitor::* objects.")
          "068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Try-Tiny")
-    (synopsis "Minimal try/catch with proper preservation of $@")
+    (synopsis "Minimal try/catch with proper preservation of $@@")
     (description "This module provides bare bones try/catch/finally statements
 that are designed to minimize common mistakes with eval blocks, and nothing
 else.")
@@ -7781,7 +7841,7 @@ UNIVERSAL::isa as a function.")
 (define-public perl-variable-magic
   (package
     (name "perl-variable-magic")
-    (version "0.55")
+    (version "0.61")
     (source
      (origin
        (method url-fetch)
@@ -7789,7 +7849,7 @@ UNIVERSAL::isa as a function.")
                            "Variable-Magic-" version ".tar.gz"))
        (sha256
         (base32
-         "0xzh2vy45ph80bp09j5fcjy8ydgn8yaxsa0fj831q6p1spvyniwg"))))
+         "1mx6z36c3wk61x6lag6kyws5g1cba68cw20vrb92wan7ahpfkbxq"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Variable-Magic")
     (synopsis "Associate user-defined magic to variables from Perl")
@@ -7854,7 +7914,7 @@ neither visible nor modifiable from Perl space).")
 (define-public perl-yaml
   (package
     (name "perl-yaml")
-    (version "1.14")
+    (version "1.23")
     (source
      (origin
        (method url-fetch)
@@ -7862,7 +7922,7 @@ neither visible nor modifiable from Perl space).")
                            "YAML-" version ".tar.gz"))
        (sha256
         (base32
-         "0sswbkyisgny7ksw34n7zdaxrhsbbn7dgjb9gjybpzhcnml476kc"))))
+         "0kf8mllrgnrmlvjijxc6srjj1y9i8rik5jpjvm8jh4yx70h9gn1a"))))
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-yaml" ,perl-test-yaml)))
@@ -7953,7 +8013,7 @@ methods for interrogating that data.")
 (define-public perl-cpan-meta-requirements
   (package
     (name "perl-cpan-meta-requirements")
-    (version "2.131")
+    (version "2.140")
     (source
      (origin
        (method url-fetch)
@@ -7961,7 +8021,7 @@ methods for interrogating that data.")
                            "CPAN-Meta-Requirements-" version ".tar.gz"))
        (sha256
         (base32
-         "12p5s7w3cwcrbpcrxzanvpr0syswhwlqzbaki6m044c45jix2fss"))))
+         "1a8zflgaayycmn3zvd3n64yypa4jyl1va0h51wpr5w46irg69608"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/CPAN-Meta-Requirements")
     (synopsis "Set of version requirements for a CPAN dist")
@@ -7975,7 +8035,7 @@ representation.")
 (define-public perl-cpan-meta-yaml
   (package
     (name "perl-cpan-meta-yaml")
-    (version "0.012")
+    (version "0.018")
     (source
      (origin
        (method url-fetch)
@@ -7983,7 +8043,7 @@ representation.")
                            "CPAN-Meta-YAML-" version ".tar.gz"))
        (sha256
         (base32
-         "0a0d62w8d81kkas4j1h48znk0f0vrpibl31gvz9r8hm77dbqqwkw"))))
+         "150jh9l7baddl2587m23qs2l0pb395qsx9bhsgdsnn6y9k4zgjik"))))
     (build-system perl-build-system)
     (arguments
      `(#:tests? #f))                    ;Tests require Test::More >= 0.99
@@ -8023,15 +8083,16 @@ system---most of the @code{Module::Build} code is pure-Perl.")
 (define-public perl-parse-cpan-meta
   (package
     (name "perl-parse-cpan-meta")
-    (version "1.4414")
+    (version "2.150010")
     (source
      (origin
        (method url-fetch)
+       ;; This module is now known as CPAN::Meta on CPAN.
        (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
-                           "Parse-CPAN-Meta-" version ".tar.gz"))
+                           "CPAN-Meta-" version ".tar.gz"))
        (sha256
         (base32
-         "06ya2rg599qanqb1fxiyrd489mvmdgzbw4ph23hwjwpv9lahhxnd"))))
+         "1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74"))))
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)))
@@ -8044,7 +8105,7 @@ files, using JSON::PP and/or CPAN::Meta::YAML.")
 (define-public perl-scalar-list-utils
   (package
     (name "perl-scalar-list-utils")
-    (version "1.41")
+    (version "1.47")
     (source
      (origin
        (method url-fetch)
@@ -8052,7 +8113,7 @@ files, using JSON::PP and/or CPAN::Meta::YAML.")
                            "Scalar-List-Utils-" version ".tar.gz"))
        (sha256
         (base32
-         "04l1q4hps9n8b1hk9kpgpc1cryim7pl9sfdyb7fz5nq4gmz307j7"))))
+         "1qgg6zxqwziva5j1k5gjks4xmhmgklm551ni3zb74sd9f9rk90y4"))))
     (build-system perl-build-system)
     (home-page "http://search.cpan.org/dist/Scalar-List-Utils")
     (synopsis "Common Scalar and List utility subroutines")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 89aca2c540..c26e29d359 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
 ;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
@@ -1342,15 +1342,13 @@ Python 3.3+.")
   ;; spaces in indentation" with Python 3.
   (package
     (name "python2-dogtail")
-    (version "0.8.2")
+    (version "0.9.9")
     (source (origin
              (method url-fetch)
-             (uri (string-append
-                   "https://fedorahosted.org/released/dogtail/dogtail-"
-                   version ".tar.gz"))
+             (uri (pypi-uri "dogtail" version))
              (sha256
               (base32
-               "1yc4cg7ip87z15gyd4wy2vzbywrjc52a3m8r8gqy2b50d65llcg1"))))
+               "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"))))
     (build-system python-build-system)
     (arguments `(#:python ,python-2
                  #:tests? #f))                    ; invalid command "test"
@@ -6746,10 +6744,7 @@ provided that can be used to do various manipulations with LilyPond files.")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://pypi.python.org/packages/source/a/appdirs/appdirs-"
-               version
-               ".tar.gz"))
+        (uri (pypi-uri "appdirs" version))
         (sha256
           (base32
             "14id6wxi12lgyw0mg3bcfnf888ad07jz9yj46gfzhn186z8rcn4y"))))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index af4d322a73..9a56b1ffed 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -224,12 +224,9 @@ rustc-bootstrap and cargo-bootstrap packages.")
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-configure
            (lambda _
-             ;; Detect target CPU correctly.
              (substitute* "configure"
-               (("/usr/bin/env") (which "env")))
-             ;; Avoid curl as a build dependency.
-             (substitute* "configure"
-               (("probe_need CFG_CURL curl") ""))
+               (("/usr/bin/env") (which "env")) ; Detect target CPU correctly.
+               (("probe_need CFG_CURL curl") "")) ; Avoid curl as a build dependency.
              #t))
          (add-after 'unpack 'set-env
            (lambda _
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index b2309f4b51..3b2a6868d8 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -99,14 +99,14 @@ anywhere.")
 (define-public samba
   (package
     (name "samba")
-    (version "4.5.3")
+    (version "4.5.7")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://download.samba.org/pub/samba/stable/"
                                  "samba-" version ".tar.gz"))
              (sha256
               (base32
-               "1jif95684swssqwp9v3i2r08cn3r2iddf6ly68db4wmvl5ac8vgh"))))
+               "004lzl059bc2wvkmivxiy96y87l4ajjw16qvkqcdhf86z2dg0w5c"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -122,16 +122,17 @@ anywhere.")
                        ;; XXX: heimdal not packaged.
                        "--bundled-libraries=com_err"
                        (string-append "--prefix=" out)
-		       "--sysconfdir=/etc"
+                       "--sysconfdir=/etc"
                        ;; Install public and private libraries into
                        ;; a single directory to avoid RPATH issues.
                        (string-append "--libdir=" libdir)
                        (string-append "--with-privatelibdir=" libdir))))))
-	 (add-before 'install 'disable-etc-samba-directory-creation
+         (add-before 'install 'disable-etc-samba-directory-creation
            (lambda _
              (substitute* "dynconfig/wscript"
                (("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}")
-                "bld.INSTALL_DIRS(\"\", \"")))))
+                "bld.INSTALL_DIRS(\"\", \""))
+             #t)))
        ;; XXX: The test infrastructure attempts to set password with
        ;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
        ;; So disable tests until there's a workaround.
@@ -170,14 +171,14 @@ Desktops into Active Directory environments using the winbind daemon.")
 (define-public talloc
   (package
     (name "talloc")
-    (version "2.1.8")
+    (version "2.1.9")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.samba.org/ftp/talloc/talloc-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0c3ihyb0jd8mhvi7gg2mr5w1zl2habx6jlkbyxzyckad2q8lkl92"))))
+                "0qhhf4ib9k65sri2ky115iya6j7dgg0dsdi1r03j4cm3i35x9aph"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -197,7 +198,7 @@ Desktops into Active Directory environments using the winbind daemon.")
                                (string-append "--prefix=" out)))))))))
     (inputs
      `(("python" ,python-2)))
-    (home-page "http://talloc.samba.org")
+    (home-page "https://talloc.samba.org")
     (synopsis "Hierarchical, reference counted memory pool system")
     (description
      "Talloc is a hierarchical, reference counted memory pool system with
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 5501dd722c..9c18a7ab39 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
+;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -271,8 +272,11 @@ libssh library.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://www.agroman.net/corkscrew/corkscrew-"
-                           version ".tar.gz"))
+       ;; The agroman.net domain name expired on 2017-03-23, and the original
+       ;; "http://www.agroman.net/corkscrew/corkscrew-2.0.tar.gz" now returns
+       ;; bogus HTML.  Perhaps it will yet return.  Until then, use a mirror.
+       (uri (string-append "https://downloads.openwrt.org/sources/"
+                           "corkscrew-" version ".tar.gz"))
        (sha256 (base32
                 "1gmhas4va6gd70i2x2mpxpwpgww6413mji29mg282jms3jscn3qd"))))
     (build-system gnu-build-system)
@@ -295,26 +299,31 @@ libssh library.")
                (setenv "CONFIG_SHELL" bash)
                (zero? (apply system* bash
                              (string-append "." "/configure")
-                             flags))))))))
+                             flags)))))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/corkscrew")))
+               (install-file "README" doc)
+               #t))))))
     (home-page "http://www.agroman.net/corkscrew")
-    (synopsis "Tunneling SSH through HTTP proxies")
+    (synopsis "SSH tunneling through HTTP(S) proxies")
     (description
-     "Corkscrew allows creating TCP tunnels through HTTP proxies.  WARNING:
-At the moment only plain text authentication is supported, should you require
-to use it with your HTTP proxy.  Digest based authentication may be supported
-in future and NTLM based authentication is most likey never be supported.")
+     "Corkscrew tunnels SSH connections through most HTTP and HTTPS proxies.
+Proxy authentication is only supported through the plain-text HTTP basic
+authentication scheme.")
     (license license:gpl2+)))
 
 (define-public mosh
   (package
     (name "mosh")
-    (version "1.2.6")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://mosh.org/mosh-" version ".tar.gz"))
               (sha256
                (base32
-                "118fhpm754wpklf1blnlq5xbvrxqml6rdfs3b07wg666zkxvg0ky"))))
+                "0xikz40q873g9ihvz3x6bwkcb9hb8kcnp5wpcmb72pg5c7s143ij"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9136ea30a9..a024d51202 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -112,14 +112,14 @@ as well as the classic centralized workflow.")
 (define-public git
   (package
    (name "git")
-   (version "2.12.1")
+   (version "2.12.2")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://kernel.org/software/scm/git/git-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "18mdlg4ws78s4asfrn6licm9v6qw4wp9m0kdjq0y2r5pci1nf4fv"))))
+              "0jlccxx7l4c76h830y8lhrxr4kqksrxqlnmj3xb8sqbfa0irw6nj"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("native-perl" ,perl)
@@ -132,7 +132,7 @@ as well as the classic centralized workflow.")
                 version ".tar.xz"))
           (sha256
            (base32
-            "1km0sbrqgni0q88abh4zb1m7xa9ld3d4qi36095b11a3vr6w7xgv"))))))
+            "0n4mgw5mbrr1hm0y7xgwixf9p6gy61m6qm67ldagpxxhwq2dmlby"))))))
    (inputs
     `(("curl" ,curl)
       ("expat" ,expat)
@@ -343,13 +343,25 @@ everything from small to very large projects with speed and efficiency.")
                (("/bin/cp") (which "cp"))
                (("/bin/rm") (which "rm")))
              #t))
+         (add-after 'unpack 'apply-patch
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; XXX: For some reason adding the patch in 'patches', which
+             ;; leads to a new tarball with all timestamps reset and ordering
+             ;; by name (slightly different file order compared to the
+             ;; original tarball) leads to an obscure Python error while
+             ;; running 'generate.py':
+             ;;   'Module' object has no attribute 'callbacks'
+             ;; Thus, apply the patch here, which minimizes disruption.
+             (let ((patch (assoc-ref inputs "patch")))
+               (zero? (system* "patch" "-p1" "--force" "--input" patch)))))
          ;; Run checks more verbosely.
          (replace 'check
            (lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
     (inputs
      `(("libssh2" ,libssh2)
        ("libcurl" ,curl)
-       ("python" ,python-wrapper)))
+       ("python" ,python-wrapper)
+       ("patch" ,(search-patch "libgit2-use-after-free.patch"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (propagated-inputs
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 00117067ed..b29f6cc9f4 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -984,7 +984,7 @@ access to mpv's powerful playback capabilities.")
 (define-public youtube-dl
   (package
     (name "youtube-dl")
-    (version "2017.03.22")
+    (version "2017.03.26")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://yt-dl.org/downloads/"
@@ -992,7 +992,7 @@ access to mpv's powerful playback capabilities.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1zz97g23diggcnqg2hjq9grijskly8ag727f1i509hl7z0lxkh69"))))
+                "00ysv18p4rqg7sswbpjpmmvaih6nm135bpllqdlj4ns8kjqmh59j"))))
     (build-system python-build-system)
     (arguments
      ;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index c081345e03..499c3e4c8a 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -130,14 +130,14 @@ and its related documentation.")
 (define-public nginx
   (package
     (name "nginx")
-    (version "1.11.10")
+    (version "1.11.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0gak6pcsn1m8fsz0g95z4b72nn12ivy35vlxrmagfcvnn2mkr2vp"))))
+                "0qkj4xqv2f986dwqwlkidmr6jpxhv3ds67pxd1pd4a4f4j0c8yjs"))))
     (build-system gnu-build-system)
     (inputs `(("pcre" ,pcre)
               ("openssl" ,openssl)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index a9824cafc3..b90bd4d449 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -35,6 +35,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
@@ -45,7 +46,6 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages ruby)
-  #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg))
@@ -53,14 +53,14 @@
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.14.5")
+    (version "2.16.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "17rnjs7yl198bkghzcc2cgh30sb5i03irb6wag3xchwv7b1z3a1w"))))
+                "1p3w23n5bq30xg4qg0i9lmrk13vgck2l4wh8gmzwxwqfj7c738sy"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no tests
@@ -102,12 +102,12 @@
      `(("at-spi2-core" ,at-spi2-core)
        ("enchant" ,enchant)
        ("geoclue" ,geoclue)
-       ("gnutls" ,gnutls)
        ("gst-plugins-base" ,gst-plugins-base)
        ("gtk+-2" ,gtk+-2)
        ("harfbuzz" ,harfbuzz)
        ("hyphen" ,hyphen)
        ("icu4c" ,icu4c)
+       ("libgcrypt" ,libgcrypt)
        ("libjpeg" ,libjpeg)
        ("libnotify" ,libnotify)
        ("libpng" ,libpng)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 783bce0d56..7c8c616f89 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -472,7 +472,7 @@ selection's dimensions to stdout.")
 (define-public maim
   (package
     (name "maim")
-    (version "4.4.61")
+    (version "4.4.62")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -481,7 +481,7 @@ selection's dimensions to stdout.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "14jksv05xyydbpb9v8k3jgq7sl72bh356iapymg02vwg519i1d5k"))))
+                "08lnbsl9ialqik1ris6piz1g0fgq4r3767ycr4nziphw3kz89vr1"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f))            ; no "check" target
@@ -723,7 +723,7 @@ compact configuration syntax.")
                  (lambda _
                    (format #t
                            "[Desktop Entry]~@
-                           Name=rxvt-unicode~@
+                           Name=rxvt-unicode (client)~@
                            Comment=Rxvt clone with XFT and unicode support~@
                            Exec=~a/bin/urxvtc~@
                            TryExec=~@*~a/bin/urxvtc~@