summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/admin.scm145
-rw-r--r--gnu/packages/algebra.scm87
-rw-r--r--gnu/packages/bittorrent.scm27
-rw-r--r--gnu/packages/ccache.scm6
-rw-r--r--gnu/packages/cdrom.scm14
-rw-r--r--gnu/packages/code.scm11
-rw-r--r--gnu/packages/dav.scm4
-rw-r--r--gnu/packages/debian.scm48
-rw-r--r--gnu/packages/emacs.scm94
-rw-r--r--gnu/packages/enlightenment.scm5
-rw-r--r--gnu/packages/finance.scm34
-rw-r--r--gnu/packages/games.scm32
-rw-r--r--gnu/packages/gl.scm31
-rw-r--r--gnu/packages/gnunet.scm4
-rw-r--r--gnu/packages/guile.scm15
-rw-r--r--gnu/packages/image-viewers.scm24
-rw-r--r--gnu/packages/image.scm66
-rw-r--r--gnu/packages/java.scm31
-rw-r--r--gnu/packages/linux.scm16
-rw-r--r--gnu/packages/lisp.scm4
-rw-r--r--gnu/packages/lxqt.scm15
-rw-r--r--gnu/packages/maven.scm57
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/ocaml.scm23
-rw-r--r--gnu/packages/package-management.scm2
-rw-r--r--gnu/packages/patches/handbrake-pkg-config-path.patch24
-rw-r--r--gnu/packages/patches/patchutils-test-perms.patch14
-rw-r--r--gnu/packages/patches/patchutils-xfail-gendiff-tests.patch26
-rw-r--r--gnu/packages/patchutils.scm12
-rw-r--r--gnu/packages/pdf.scm12
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/python-web.scm11
-rw-r--r--gnu/packages/python.scm26
-rw-r--r--gnu/packages/sml.scm19
-rw-r--r--gnu/packages/sync.scm48
-rw-r--r--gnu/packages/terminals.scm46
-rw-r--r--gnu/packages/tor.scm11
-rw-r--r--gnu/packages/version-control.scm48
-rw-r--r--gnu/packages/video.scm187
-rw-r--r--gnu/packages/vim.scm13
-rw-r--r--gnu/packages/web-browsers.scm111
-rw-r--r--gnu/packages/wine.scm4
-rw-r--r--gnu/packages/wxwidgets.scm15
-rw-r--r--gnu/packages/xdisorg.scm59
44 files changed, 969 insertions, 520 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index d30c13d845..01a58763d8 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -45,6 +45,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system emacs)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
@@ -1344,25 +1345,30 @@ system is under heavy load.")
 (define-public detox
   (package
     (name "detox")
-    (version "1.2.0")
+    (version "1.3.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/detox/detox/" version
-                                  "/detox-" version ".tar.bz2"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dharple/detox.git")
+                    (commit (string-append "v" version))))
               (sha256
                (base32
-                "1y6vvjqsg54kl49cry73jbfhr04s7wjs779vrr9zrq6kww7dkymb"))))
+                "1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr"))))
     (build-system gnu-build-system)
-    ;; Both flex and popt are used in this case for their runtime libraries
-    ;; (libfl and libpopt).
-    (inputs
-     `(("flex" ,flex)
-       ("popt" ,popt)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("flex" ,flex)))
     (arguments
-     `(#:configure-flags `(,(string-append "--with-popt="
-                                           (assoc-ref %build-inputs "popt")))
-       #:tests? #f))                    ;no 'check' target
-    (home-page "http://detox.sourceforge.net")
+     `(#:tests? #f                    ;no 'check' target
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'delete-configure
+                    ;; The "configure" script is present, but otherwise the
+                    ;; project is not bootstrapped: missing install-sh and
+                    ;; Makefile.in, so delete it so the bootstrap phase will
+                    ;; take over.
+                    (lambda _ (delete-file "configure") #t)))))
+    (home-page "https://github.com/dharple/detox")
     (synopsis "Clean up file names")
     (description
      "Detox is a program that renames files to make them easier to work with
@@ -1594,14 +1600,14 @@ of supported upstream metrics systems simultaneously.")
 (define-public ansible
   (package
     (name "ansible")
-    (version "2.5.7")
+    (version "2.7.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "ansible" version))
        (sha256
         (base32
-         "0wbsjjx3xjlm8g50a9j9c6p9rn23jx32yn1234bf5rmj1qgy3p85"))
+         "0p1n6yyc632522fl2r247p0jg4mncc7z4hqngzbh1zxq3dcb12s9"))
        (patches (search-patches "ansible-wrap-program-hack.patch"))))
     (build-system python-build-system)
     (native-inputs
@@ -1627,6 +1633,34 @@ ad hoc task execution, and multinode orchestration---including trivializing
 things like zero-downtime rolling updates with load balancers.")
     (license license:gpl3+)))
 
+(define-public emacs-ansible-doc
+  (let ((commit "86083a7bb2ed0468ca64e52076b06441a2f8e9e0"))
+    (package
+      (name "emacs-ansible-doc")
+      (version (git-version "0.4" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/lunaryorn/ansible-doc.el")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0lap404ch74w99n3xip176jr42b38xhyzkfnkyqg0g3wk2cd3aq8"))))
+      (build-system emacs-build-system)
+      ;; Unmaintained by upstream.
+      (home-page "https://github.com/lunaryorn/ansible-doc.el")
+      (synopsis "Ansible documentation for Emacs")
+      (description
+       "This package provides an Ansible documentation for GNU Emacs.
+
+@code{ansible-doc} allows you to view the documentation of an Ansible
+module and @code{ansible-doc-mode} minor mode adds documentation
+lookup to YAML Mode.  You could enable the mode with @code{(add-hook
+'yaml-mode-hook #'ansible-doc-mode)}.")
+      (license license:gpl3+))))
+
 (define-public cpulimit
   (package
     (name "cpulimit")
@@ -2840,3 +2874,82 @@ support forum.  It runs with the @code{/exec} command in most IRC clients.")
     (description "This package provides tools to manage clients of the
 Logitech Unifying Receiver.")
     (license license:gpl2)))
+
+(define-public lynis
+  (package
+    (name "lynis")
+    (version "2.7.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/CISOfy/lynis")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0rzc0y8lk22bymf56249jzmllki2lh0rz5in4lkrc5fkmp29c2wv"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Remove proprietary plugins. As of now, all plugins supplied with
+           ;; lynis are proprietary. In the future, if free plugins are
+           ;; provided, whitelist them from deletion.
+           (for-each delete-file (find-files "plugins"))
+           #t))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(;; For tests
+       ("lynis-sdk"
+        ,(origin
+           (method git-fetch)
+           (uri (git-reference
+                 (url "https://github.com/CISOfy/lynis-sdk")
+                 (commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d")))
+           (file-name (git-file-name "lynis-sdk" version))
+           (sha256
+            (base32
+             "0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "lynis"
+               (("/usr/share/lynis")
+                (string-append (assoc-ref outputs "out") "/share/lynis")))
+             (substitute* "include/functions"
+               (("/usr/local/etc/lynis")
+                (string-append (assoc-ref outputs "out") "/etc/lynis")))
+             #t))
+         (delete 'build)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (install-file "lynis" (string-append out "/bin/"))
+               (install-file "default.prf" (string-append out "/etc/lynis"))
+               (for-each
+                (lambda (dir)
+                  (copy-recursively dir (string-append out "/share/lynis/" dir)))
+                (list "db" "include" "plugins"))
+               (install-file "lynis.8" (string-append out "/share/man/man8"))
+               #t)))
+         (replace 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively (assoc-ref inputs "lynis-sdk") "../lynis-sdk")
+             (setenv "LANG" "en_US.UTF-8")
+             (let ((lynis-dir (getcwd)))
+               (with-directory-excursion "../lynis-sdk"
+                 (substitute* "config"
+                   (("\\.\\./lynis") lynis-dir))
+                 (substitute* "unit-tests/tests-language-translations.sh"
+                   (("\\.\\./lynis") lynis-dir))
+                 (invoke "sh" "lynis-devkit" "run" "unit-tests"))))))))
+    (home-page "https://cisofy.com/lynis/")
+    (synopsis "Security auditing tool")
+    (description "Lynis is a security auditing tool.  It performs an in-depth
+security scan and runs on the system itself.  The primary goal is to test
+security defenses and provide tips for further system hardening.  It will also
+scan for general system information, vulnerable software packages, and
+possible configuration issues.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 8ee4bc4080..7b0e24049f 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -376,47 +376,47 @@ fast arithmetic.")
 
 (define-public arb
   (package
-   (name "arb")
-   (version "2.14.0")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append
-                  "https://github.com/fredrik-johansson/arb/archive/"
-                  version ".tar.gz"))
-            (file-name (string-append name "-" version ".tar.gz"))
-            (sha256
-              (base32
-                "0ncr27nd20xxi18nj30cvpa6r52v59nq7gbi34x3l4xym3p8mlmx"))))
-   (build-system gnu-build-system)
-   (propagated-inputs
-    `(("flint" ,flint))) ; flint.h is included by arf.h
-   (inputs
-    `(("gmp" ,gmp)
-      ("mpfr" ,mpfr)))
-   (arguments
-    `(#:phases
-      (modify-phases %standard-phases
-        (replace 'configure
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (flint (assoc-ref inputs "flint"))
-                  (gmp (assoc-ref inputs "gmp"))
-                  (mpfr (assoc-ref inputs "mpfr")))
-              ;; do not pass "--enable-fast-install", which makes the
-              ;; homebrew configure process fail
-              (invoke "./configure"
-                      (string-append "--prefix=" out)
-                      (string-append "--with-flint=" flint)
-                      (string-append "--with-gmp=" gmp)
-                      (string-append "--with-mpfr=" mpfr))))))))
-   (synopsis "Arbitrary precision floating-point ball arithmetic")
-   (description
-    "Arb is a C library for arbitrary-precision floating-point ball
+    (name "arb")
+    (version "2.14.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fredrik-johansson/arb.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ndxg7h4xvccjgp5l9z2f8b66dsff6fhf86bn5n7f75a1ksd7554"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+     `(("flint" ,flint)))               ; flint.h is included by arf.h
+    (inputs
+     `(("gmp" ,gmp)
+       ("mpfr" ,mpfr)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (flint (assoc-ref inputs "flint"))
+                   (gmp (assoc-ref inputs "gmp"))
+                   (mpfr (assoc-ref inputs "mpfr")))
+               ;; do not pass "--enable-fast-install", which makes the
+               ;; homebrew configure process fail
+               (invoke "./configure"
+                       (string-append "--prefix=" out)
+                       (string-append "--with-flint=" flint)
+                       (string-append "--with-gmp=" gmp)
+                       (string-append "--with-mpfr=" mpfr))))))))
+    (synopsis "Arbitrary precision floating-point ball arithmetic")
+    (description
+     "Arb is a C library for arbitrary-precision floating-point ball
 arithmetic.  It supports efficient high-precision computation with
 polynomials, power series, matrices and special functions over the
 real and complex numbers, with automatic, rigorous error control.")
-   (license license:lgpl2.1+)
-   (home-page "http://fredrikj.net/arb/")))
+    (license license:lgpl2.1+)
+    (home-page "http://fredrikj.net/arb/")))
 
 (define-public ntl
   (package
@@ -568,13 +568,14 @@ syntax is similar to that of C, so basic usage is familiar.  It also includes
     (name "kiss-fft-for-extempore")
     (version "1.3.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/extemporelang/kiss_fft/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/extemporelang/kiss_fft.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0hkp9l6l4c92fb1l2sh6a6zv1hynpvb2s4d03vd8vxyvybc0l4pv"))))
+                "0jasbmqy4wkqrqx3w64s1dfmj34875xmsl72mb26aa4hpyn14bi2"))))
     (build-system cmake-build-system)
     (arguments `(#:tests? #f)) ; no tests included
     ;; Extempore refuses to build on architectures other than x86_64
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 9df5a8e119..e834ba3d2a 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -1,14 +1,14 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
 ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
 ;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -217,14 +217,14 @@ Transmission BitTorrent daemon.")
     (name "transmission-remote-cli")
     (version "1.7.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/fagga/"
-                                  "transmission-remote-cli/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/fagga/transmission-remote-cli.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1y0hkpcjf6jw9xig8yf484hbhy63nip0pkchx401yxj81m25l4z9"))))
+                "09w9f8vrm61lapin8fmq4rgahr95y3c6wss10g0fgd0kl16f895v"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2 ; only supports Python 2
@@ -341,13 +341,14 @@ downloads, download scheduling, download rate limiting.")
     (name "mktorrent")
     (version "1.1")
     (source (origin
-              (method url-fetch)
-              (file-name (string-append name "-" version ".tar.gz"))
-              (uri (string-append "https://github.com/Rudde/mktorrent/archive/v"
-                                  version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Rudde/mktorrent.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1j9qc4fxa9isnaygqk6jazsiklqywl2wcs95b8dx01963407bx6h"))))
+                "17pdc5mandl739f8q26n5is8ga56s83aqcrwhlnnplbxwx2inidr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm
index af29cee565..0a1112c310 100644
--- a/gnu/packages/ccache.scm
+++ b/gnu/packages/ccache.scm
@@ -30,7 +30,7 @@
 (define-public ccache
   (package
     (name "ccache")
-    (version "3.4.3")
+    (version "3.5")
     (source
      (origin
       (method url-fetch)
@@ -38,9 +38,9 @@
                           version ".tar.xz"))
       (sha256
        (base32
-        "0jjzq5340qw3jm5gkajjkkb5wd0yqqy1dyjw3mf3jy15cakmazi9"))))
+        "04n0xram2416pv98qrd7pi5lfsk0bjqyz7zgvvia41j5mrr4pm5x"))))
     (build-system gnu-build-system)
-    (native-inputs `(("perl" ,perl)     ; for test.sh
+    (native-inputs `(("perl" ,perl)     ; for test/run
                      ("which" ,(@ (gnu packages base) which))))
     (inputs `(("zlib" ,zlib)))
     (arguments
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index ccb276607a..d94636ba4c 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29,6 +30,7 @@
 
 (define-module (gnu packages cdrom)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+ cddl1.0))
   #:use-module (guix build-system cmake)
@@ -430,14 +432,14 @@ graphical interface.")
     (name "libcue")
     (version "2.2.1")
     (source (origin
-             (method url-fetch)
-             (uri (string-append
-                   "https://github.com/lipnitsk/libcue/archive/v"
-                   version ".tar.gz"))
-             (file-name (string-append name "-" version ".tar.gz"))
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/lipnitsk/libcue.git")
+                   (commit (string-append "v" version))))
+             (file-name (git-file-name name version))
              (sha256
               (base32
-               "000j5xqp7cc7njwlixr9byahz9kn8pcfdgm76afwv4p8nbmw6yzj"))))
+               "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 1e863b0df1..86070acdf0 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -542,13 +542,14 @@ independent targets.")
     (name "uncrustify")
     (version "0.68.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/uncrustify/uncrustify/archive/"
-                    "uncrustify-" version ".zip"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/uncrustify/uncrustify/")
+                    (commit (string-append name "-" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1jb3hmm11m2mgnypapak2lgyyvspnmx9bxd9dxis5swaja2ddxlg"))))
+                "0gf6vjcfy8pl7idvwsd500ffj9hri62q0n79kpb6cnfprrqpbgf4"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("unzip" ,unzip)
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 1a154ea351..e937d59358 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -30,13 +30,13 @@
 (define-public radicale
   (package
     (name "radicale")
-    (version "1.1.2")
+    (version "1.1.6")
     (source (origin
              (method url-fetch)
              (uri (pypi-uri "Radicale" version))
              (sha256
               (base32
-               "1g20p3998f46ywda7swv0py63wjbrhvk0nrafajlbb6wgzxjmqpb"))))
+               "0ay90nj6fmr2aq8imi0mbjl4m2rzq7a83ikj8qs9gxsylj71j1y0"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f)) ; The tests are not distributed in the PyPi release.
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index 622c77b01e..ba19547898 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -27,8 +27,7 @@
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages perl)
-  #:use-module (gnu packages wget))
+  #:use-module (gnu packages perl))
 
 (define-public debian-archive-keyring
   (package
@@ -118,7 +117,7 @@ contains the archive keys used for that.")
 (define-public debootstrap
   (package
     (name "debootstrap")
-    (version "1.0.109")
+    (version "1.0.111")
     (source
       (origin
         (method git-fetch)
@@ -128,7 +127,7 @@ contains the archive keys used for that.")
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "0bjqlyg605lnsjcn3wjplc6jl75nx7c6miyac2qsahi484rylg5g"))))
+          "1b8s00a2kvaajqhjlms3q2dk3gqv6g4yq9h843jal1pm66zsx19n"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -137,46 +136,57 @@ contains the archive keys used for that.")
          (add-after 'unpack 'patch-source
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let ((out    (assoc-ref outputs "out"))
-                   (coreutils (assoc-ref inputs "coreutils"))
-                   (wget   (assoc-ref inputs "wget"))
+                   (tzdata (assoc-ref inputs "tzdata"))
                    (debian (assoc-ref inputs "debian-keyring"))
                    (ubuntu (assoc-ref inputs "ubuntu-keyring")))
                (substitute* "Makefile"
                  (("/usr") "")
                  (("-o root -g root") "")
                  (("chown root.*") "\n"))
-               (substitute* "scripts/sid"
+               (substitute* '("scripts/etch"
+                              "scripts/potato"
+                              "scripts/sarge"
+                              "scripts/sid"
+                              "scripts/woody"
+                              "scripts/woody.buildd")
                  (("/usr") debian))
                (substitute* "scripts/gutsy"
                  (("/usr") ubuntu))
                (substitute* "debootstrap"
-                 (("chroot ") (string-append coreutils "/bin/chroot "))
                  (("=/usr") (string-append "=" out)))
-               (substitute* "functions"
-                 (("wget ") (string-append wget "/bin/wget ")))
+               (substitute* (find-files "scripts" ".")
+                 (("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo")))
                #t)))
          (add-after 'install 'install-man-file
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (install-file "debootstrap.8"
                              (string-append out "/share/man/man8"))
+               #t)))
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((debootstrap (string-append (assoc-ref outputs "out")
+                                               "/sbin/debootstrap"))
+                   (path        (getenv "PATH")))
+               (wrap-program debootstrap
+                             `("PATH" ":" prefix (,path)))
                #t))))
        #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
        #:tests? #f)) ; no tests
     (inputs
-     `(("coreutils" ,coreutils)
-       ("debian-keyring" ,debian-archive-keyring)
+     `(("debian-keyring" ,debian-archive-keyring)
        ("ubuntu-keyring" ,ubuntu-keyring)
-       ("wget" ,wget)))
-    ;; The following are required for debootstrap to work correctly
-    (propagated-inputs
-     `(("binutils" ,binutils)
-       ("gnupg" ,gnupg)
-       ("perl" ,perl)))
+       ("tzdata" ,tzdata)))
+    (native-inputs
+     `(("perl" ,perl)))
     (home-page "https://tracker.debian.org/pkg/debootstrap")
     (synopsis "Bootstrap a basic Debian system")
     (description "Debootstrap is used to create a Debian base system from
 scratch, without requiring the availability of @code{dpkg} or @code{apt}.
 It does this by downloading .deb files from a mirror site, and carefully
-unpacking them into a directory which can eventually be chrooted into.")
+unpacking them into a directory which can eventually be chrooted into.
+
+It is recommended to run @code{debootstrap --foreign --arch=...} and then
+@code{chroot} into the directory, set the PATH and run @code{debootstrap
+--second-stage} after.")
     (license license:gpl2)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index b1e2db8344..a845c312d6 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -71,6 +71,7 @@
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages audio)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages cmake)
@@ -1360,7 +1361,7 @@ a set of simplified face specifications and a user-supplied color palette")
                            (guix build emacs-utils))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'rename-lispdir 'make-autoloads
+         (add-after 'install 'make-autoloads
            (assoc-ref emacs:%standard-phases 'make-autoloads)))))
     (home-page "http://howm.osdn.jp/")
     (synopsis "Note-taking tool for Emacs")
@@ -1372,7 +1373,7 @@ searches.  Unlike code@{emacs-wiki.el}, it can be combined with any format.")
 (define-public emacs-calfw
   (package
     (name "emacs-calfw")
-    (version "1.5")
+    (version "1.6")
     (source
      (origin
        (method url-fetch)
@@ -1382,7 +1383,7 @@ searches.  Unlike code@{emacs-wiki.el}, it can be combined with any format.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "17ssg8gx66yp63nhygjq2r6kgl4h45cacmrxsxs9f0lrfcx37k0l"))))
+         "1zr91xr0f1xfcv78yxka8vs5ximmq2ixmqf2pkb57kwwnxlypq4i"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-howm" ,emacs-howm)))
@@ -2880,6 +2881,50 @@ with irony-mode using clang-tooling.")
     (home-page "https://github.com/Sarcasm/company-irony")
     (license license:gpl3+)))
 
+(define-public emacs-flycheck-irony
+  (package
+    (name "emacs-flycheck-irony")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/Sarcasm/flycheck-irony.git")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32 "0qa5a8wzvzxwqql92ibc9s43k8sj3vwn7skz9hfr8av0skkhx996"))
+              (file-name (string-append name "-" version))))
+    (build-system emacs-build-system)
+    (inputs
+     `(("irony-mode" ,emacs-irony-mode)
+       ("flycheck-mode" ,emacs-flycheck)
+       ("emacs-company" ,emacs-company)))
+    (synopsis "Live syntax checking frontend for Flycheck using irony-mode")
+    (description "This package provides a frontend for Flycheck that lets
+irony-mode do the syntax checking.")
+    (home-page "https://github.com/Sarcasm/flycheck-irony")
+    (license license:gpl3+)))
+
+(define-public emacs-irony-eldoc
+  (package
+    (name "emacs-irony-eldoc")
+    (version (package-version emacs-irony-mode))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ikirill/irony-eldoc.git")
+             (commit "0df5831eaae264a25422b061eb2792aadde8b3f2")))
+       (sha256 (base32 "1l5qpr66v1l12fb50yh73grb2rr85xxmbj19mm33b5rdrq2bqmmd"))
+       (file-name (string-append name "-" version))))
+    (build-system emacs-build-system)
+    (inputs
+     `(("irony-mode" ,emacs-irony-mode)))
+    (synopsis "Eldoc integration for irony-mode")
+    (description "Irony-eldoc is an eldoc extension that shows documentation
+for the current function or variable in the minibuffer.")
+    (home-page "https://github.com/ikirill/irony-eldoc")
+    (license license:gpl3+)))
+
 (define-public emacs-company-quickhelp
   (package
     (name "emacs-company-quickhelp")
@@ -4397,7 +4442,7 @@ to all the other commands, too.")
 (define-public emacs-js2-mode
   (package
     (name "emacs-js2-mode")
-    (version "20150909")
+    (version "20180301")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mooz/js2-mode/archive/"
@@ -4405,7 +4450,7 @@ to all the other commands, too.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1nsm36c4kwb473p13i58fgrnlk8fbn3rdhj47d9xz70az4ra44q0"))))
+                "13aghgwaqrmbf3pbifcry52kya454wnh1gbdh5805n1n6xgjm5w3"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/mooz/js2-mode/")
     (synopsis "Improved JavaScript editing mode for Emacs")
@@ -7979,6 +8024,35 @@ takes only a few lines of code.  Polymode also provides extensible facilities
 for external literate programming tools for exporting, weaving and tangling.")
     (license license:gpl3+)))
 
+(define-public emacs-polymode-ansible
+  (let ((commit "b26094d029e25dc797b94254f797e7807a57e4c8"))
+    (package
+      (name "emacs-polymode-ansible")
+      ;; No upstream version release yet.
+      (version (git-version "0.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://gitlab.com/mavit/poly-ansible")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "055shddqibib3hx2ykwdz910nrqws40cd407mq946l2bf6v87gj6"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-ansible-doc" ,emacs-ansible-doc)
+         ("emacs-jinja2-mode" ,emacs-jinja2-mode)
+         ("emacs-polymode" ,emacs-polymode)
+         ("emacs-yaml-mode" ,emacs-yaml-mode)))
+      (properties '((upstream-name . "poly-ansible")))
+      (home-page "https://gitlab.com/mavit/poly-ansible/")
+      (synopsis "Polymode for Ansible - Jinja2 in YAML")
+      (description
+       "Edit YAML files for Ansible containing embedded Jinja2 templating.")
+      (license license:gpl3+))))
+
 (define-public eless
   (package
     (name "eless")
@@ -11485,7 +11559,7 @@ the GIF result.")
 (define-public emacs-google-translate
   (package
     (name "emacs-google-translate")
-    (version "0.11.15")
+    (version "0.11.16")
     (source
      (origin
        (method url-fetch)
@@ -11494,7 +11568,7 @@ the GIF result.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1zxvfagbaf5mxi528mz33c8vxdk86wj0xx5y2jfy97wi8dzrwn3g"))))
+         "01n9spj1d0gjfj39x526rl3m9c28wnx9afipmf5s8y77cx3mfwhl"))))
     (build-system emacs-build-system)
     (home-page "https://github.com/atykhonov/google-translate")
     (synopsis "Emacs interface to Google Translate")
@@ -11846,10 +11920,10 @@ file.")
   (deprecated-package "emacs-wgrep-helm" emacs-wgrep))
 
 (define-public emacs-mu4e-conversation
-  (let ((commit "54368a009474276247bdf39683e25ea68ae1f943"))
+  (let ((commit "e7d4bfcb0d392b0aed1f705ccac2419a168d1f5e"))
     (package
       (name "emacs-mu4e-conversation")
-      (version (git-version "20181105" "3" commit))
+      (version (git-version "20181126" "4" commit))
       (source
        (origin
          (method url-fetch)
@@ -11860,7 +11934,7 @@ file.")
          (file-name (string-append name "-" version "-checkout"))
          (sha256
           (base32
-           "1zqnp1d3cxyvzsd76d5iw40lkif19k9svlbhqy6dvqiaqm0jbd15"))))
+           "0b52hf9rm2afba9pvgink9bwqm705sk0y5qikp0ff5sk53wqvy29"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("mu" ,mu)))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index fb77642f5f..43ac388b25 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -183,7 +183,7 @@ removable devices or support for multimedia.")
 (define-public terminology
   (package
     (name "terminology")
-    (version "1.2.1")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri
@@ -191,10 +191,9 @@ removable devices or support for multimedia.")
                               "terminology/terminology-" version ".tar.xz"))
               (sha256
                (base32
-                "1ii8332bl88l8md3gvz5dhi9bjpm6shyf14ck9kfyy7d56hp71mc"))
+                "07vw28inkimi9avp16j0rqcfqjq16081554qsv29pcqhz18xp59r"))
               (modules '((guix build utils)))
               ;; Remove the bundled fonts.
-              ;; TODO: Remove bundled lz4.
               (snippet
                '(begin
                   (delete-file-recursively "data/fonts")
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 929f8a52de..7d7c3ab111 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -847,7 +847,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
 (define-public python-duniterpy
   (package
     (name "python-duniterpy")
-    (version "0.43.7")
+    (version "0.50.0")
     (source
      (origin
        (method git-fetch)
@@ -858,10 +858,14 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "19m36z98361bqxjdb65597j2kxbly491927c6p9z47s1vxc3raaq"))))
+         "0f24ihglmzphy30pgc49w0rxmsjc76mgcggg078cfsz7xrrk13gf"))))
     (build-system python-build-system)
+    (arguments
+     ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
+     `(#:tests? #f))
     (propagated-inputs
      `(("python-aiohttp" ,python-aiohttp)
+       ("python-attr" ,python-attr)
        ("python-base58" ,python-base58)
        ("python-jsonschema" ,python-jsonschema)
        ("python-libnacl" ,python-libnacl)
@@ -882,7 +886,7 @@ main features are:
 (define-public silkaj
   (package
     (name "silkaj")
-    (version "0.5.0")
+    (version "0.6.0")
     (source
      (origin
        (method git-fetch)
@@ -892,30 +896,10 @@ main features are:
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0xy25lpgz04nxikjvxlnlckrc9xmsxyiz2qm0bsiid8cnbdqcn12"))))
+         "02n028rz1pshgh7w0af3b291r8lwvhzskm1q98d991gr8rscvad2"))))
     (build-system python-build-system)
     (arguments
-     `(#:tests? #f                      ;no test
-       #:phases
-       (modify-phases %standard-phases
-         ;; The program is just a bunch of Python files in "src/" directory.
-         ;; Many phases are useless.  However, `python-build-system' correctly
-         ;; sets PYTHONPATH and patches Python scripts.
-         (delete 'configure)
-         (delete 'build)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (share (string-append out "/share/silkaj"))
-                    (executable (string-append share "/silkaj.py"))
-                    (bin (string-append out "/bin")))
-               ;; Install data.
-               (copy-recursively "src" share)
-               ;; Install executable.
-               (mkdir-p bin)
-               (with-directory-excursion bin
-                 (symlink executable "silkaj")))
-             #t)))))
+     `(#:tests? #f))                    ;no test
     (inputs
      `(("python-commandlines" ,python-commandlines)
        ("python-ipaddress" ,python-ipaddress)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index b025dfe232..7f84e447bb 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu>
-;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
 ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
 ;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
@@ -3259,7 +3259,7 @@ safety of the Chromium vessel.")
 (define-public tuxpaint
   (package
     (name "tuxpaint")
-    (version "0.9.22")                  ;keep VER_DATE below in sync
+    (version "0.9.23")                  ;keep VER_DATE below in sync
     (source
      (origin
        (method url-fetch)
@@ -3267,7 +3267,7 @@ safety of the Chromium vessel.")
                            version "/tuxpaint-" version ".tar.gz"))
        (sha256
         (base32
-         "1qrbrdck9yxpcg3si6jb9i11w8lw9h4hqad0pfaxgyiniqpr7gca"))
+         "09k9pxi88r3dx6dyjwf9h85d4qpva4i29qz63dc558hg9v21k69l"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -3295,16 +3295,22 @@ safety of the Chromium vessel.")
        ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf sdl-image)))))
     ;; TODO: Use system fonts rather than those in data/fonts
     (arguments
-     `(#:make-flags `("VER_DATE=2014-08-23"
+     `(#:make-flags `("VER_DATE=2018-09-02"
                       "GPERF=gperf" "CC=gcc"
                       "SDL_PCNAME=sdl SDL_image SDL_mixer SDL_ttf"
                       ,(string-append "PREFIX=" %output)
-                      "GNOME_PREFIX=$(PREFIX)"
+                      "KDE_PREFIX=$(PREFIX)/share/applications"
+                      "KDE_ICON_PREFIX=$(PREFIX)/share/icons/"
                       "COMPLETIONDIR=$(PREFIX)/etc/bash_completion.d")
        #:parallel-build? #f             ;fails on some systems
        #:tests? #f                      ;No tests
        #:phases (modify-phases %standard-phases
                   (delete 'configure)   ;no configure phase
+                  (add-before 'install 'no-sys-cache
+                    (lambda _           ;do not rebuild system conf cache
+                      (substitute* "Makefile"
+                        (("kbuildsycoca4") ""))
+                      #t))
                   (add-after 'install 'fix-import
                     (lambda* (#:key inputs outputs #:allow-other-keys)
                       (let* ((out (assoc-ref outputs "out"))
@@ -3336,7 +3342,7 @@ your child be creative.")
 (define-public tuxpaint-stamps
   (package
     (name "tuxpaint-stamps")
-    (version "2014.08.23")
+    (version "2018.09.01")
     (source
      (origin
        (method url-fetch)
@@ -3345,7 +3351,7 @@ your child be creative.")
                            "/tuxpaint-stamps-" version ".tar.gz"))
        (sha256
         (base32
-         "0rhlwrjz44wp269v3rid4p8pi0i615pzifm1ym6va64gn1bms06q"))))
+         "1skr23k27yj3vgwfazpzxp90lb2a278gxrkr3bxw7az6zpkmb3yp"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("tar" ,tar)
@@ -3374,7 +3380,7 @@ with the \"Stamp\" tool within Tux Paint.")
 (define-public tuxpaint-config
   (package
     (name "tuxpaint-config")
-    (version "0.0.13")                  ;keep VER_DATE below in sync
+    (version "0.0.14")                  ;keep VER_DATE below in sync
     (source
      (origin
        (method url-fetch)
@@ -3382,7 +3388,7 @@ with the \"Stamp\" tool within Tux Paint.")
                            version "/tuxpaint-config-" version ".tar.gz"))
        (sha256
         (base32
-         "1z12s46mvy87qs3vgq9m0ki9pp21zqc52mmgphahpihw3s7haf6v"))))
+         "0zkgxk436nqcp43zghkfmh397c7dvh5bwn2as7gwvv208bzyij6g"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)))
@@ -3394,7 +3400,7 @@ with the \"Stamp\" tool within Tux Paint.")
        ("libxft" ,libxft)
        ("mesa" ,mesa)))
     (arguments
-     `(#:make-flags `("VER_DATE=2014-08-23"
+     `(#:make-flags `("VER_DATE=2018-09-01"
                       "CONFDIR=/etc/tuxpaint" ;don't write to store
                       ,(string-append "PREFIX=" %output)
                       "GNOME_PREFIX=$(PREFIX)")
@@ -3645,7 +3651,7 @@ throwing people around in pseudo-randomly generated buildings.")
 (define-public hyperrogue
   (package
     (name "hyperrogue")
-    (version "10.4x")
+    (version "10.5")
     ;; When updating this package, be sure to update the "hyperrogue-data"
     ;; origin in native-inputs.
     (source (origin
@@ -3656,7 +3662,7 @@ throwing people around in pseudo-randomly generated buildings.")
                     "-src.tgz"))
               (sha256
                (base32
-                "0khk7xqdw4aiw1wnf1xrhmd7fklnzmpdavd7ix4mkm510dr5wklm"))))
+                "04wk50f51xrb9vszwil4ivkfpy7xc6nw3gnp90hbna2zqi2jnvb8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no check target
@@ -3733,7 +3739,7 @@ throwing people around in pseudo-randomly generated buildings.")
              "-win.zip"))
            (sha256
             (base32
-             "1dv3kdv1n5imh3n9900b55rf0wwbjj7243lhsbk7lcjqsqxia39q"))))
+             "0r6xvnr7b56iv27n8z10qmxhsz5h7w6ayhxkz3xinlvch84bk708"))))
        ("unzip" ,unzip)))
     (inputs
      `(("font-dejavu" ,font-dejavu)
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 851a31447b..d7c112928f 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 David Thompson <davet@gnu.org>
 ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@@ -49,6 +49,7 @@
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
@@ -177,12 +178,13 @@ Polygon meshes, and Extruded polygon meshes.")
     (version "1.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/divVerent/s2tc/archive/v" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/divVerent/s2tc.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0ibfdib277fhbqvxzan0bmglwnsl1y1rw2g8skvz82l1sfmmn752"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+        (base32 "1fg323fk7wlv2xh6lw66wswgcv6qi8aaadk7c28h2f2lj1s7njnf"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -190,12 +192,6 @@ Polygon meshes, and Extruded polygon meshes.")
        ("libtool" ,libtool)))
     (inputs
      `(("mesa-headers" ,mesa-headers)))
-    (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autogen
-          (lambda _
-            (zero? (system* "sh" "autogen.sh")))))))
     (home-page "https://github.com/divVerent/s2tc")
     (synopsis "S3 Texture Compression implementation")
     (description
@@ -729,13 +725,14 @@ mixed vector/bitmap output.")
     (version "2.6")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/VirtualGL/virtualgl/archive/"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/VirtualGL/virtualgl.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "1ck1d0w19cgyqvrb9mdlj6l5db90xf18yln71kdninlqxvpgj6h7"))))
+         "0di2igj2bhwb153fndgxks7y57pyhp0gj31n47j93gb7lxc9qcck"))))
     (arguments
      `(#:tests? #f                      ; no tests are available
        #:configure-flags (list
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index b4c9c463f7..d1dc8fd588 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -186,13 +186,13 @@ authentication and support for SSL3 and TLS.")
 (define-public gnurl
   (package
    (name "gnurl")
-   (version "7.61.1")
+   (version "7.62.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z"))
             (sha256
              (base32
-              "0amnhhmlxaliz2rzp3zf1x6ixjqvgmiq7in0q14gd21rjlk9kvir"))))
+              "1n258my5q4rxv140xvb1qh6vsh42ii0i8p7f2m15szqabm89487q"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                             ; 1.5 MiB of man3 pages
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 5676cc6c82..c271c4b6a0 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -898,16 +898,13 @@ for Guile\".")
     (home-page "https://github.com/aconchillo/guile-json")
     (source (origin
               (method url-fetch)
-              (uri (string-append home-page "/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (uri (string-append "https://download.savannah.nongnu.org/releases/"
+                                  name "/" name "-" version ".tar.gz"))
               (sha256
                (base32
-                "02kqv0q98fmchn7i4y7ycmrjlh4b2c93ij0z7k036qwpp204w4gh"))))
+                "15gnb84d7hpazqhskkf3g9z4r6knw54wfj4ch5270kakz1lp70c9"))))
     (build-system gnu-build-system)
-    (native-inputs `(("autoconf" ,autoconf)
-                     ("automake" ,automake)
-                     ("pkg-config" ,pkg-config)
+    (native-inputs `(("pkg-config" ,pkg-config)
                      ("guile" ,guile-2.2)))
     (inputs `(("guile" ,guile-2.2)))
     (synopsis "JSON module for Guile")
@@ -1131,14 +1128,14 @@ Guile's foreign function interface.")
 (define-public haunt
   (package
     (name "haunt")
-    (version "0.2.2")
+    (version "0.2.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://files.dthompson.us/haunt/haunt-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0nm00krmqq4zmqi2irh35dbf2cn6al58s620hijmhfvhgvdqznlp"))))
+                "056z4znikk83nr5mr0x2ac3iinqbywa2bvb37mhr566a1q50isfc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:modules ((ice-9 match) (ice-9 ftw)
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index fce2b021bd..8e70f1fdfc 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -28,6 +28,7 @@
 (define-module (gnu packages image-viewers)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
@@ -191,14 +192,14 @@ It is the default image viewer on LXDE desktop environment.")
     (name "sxiv")
     (version "24")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/muennich/sxiv/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/muennich/sxiv.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "044i077li6m4zsz2fswlcdi2m0sbr9mwws1h3k1zjaln29fw87ai"))))
+                "020n1bdxbzqncprh8a4rnjzc4frp335yxbqh5w6dr970f7n5qm8d"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no check target
@@ -287,13 +288,14 @@ your images.  Among its features are:
     (version "2.4.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/posva/catimg/archive"
-                           "/v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/posva/catimg.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "1rwgbq2imd5l4nql5hrz7rr5f4gz8aad1amlf0j3cxir8slpbd1y"))))
+         "1sk74nfc1aklg784pzknr37dyz4k7h9fck3mifpn43rav5qy2zpy"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f                      ; no tests
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index d03a0a287d..207faede91 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -501,13 +501,13 @@ collection of tools for doing simple manipulations of TIFF images.")
     (version "1.74.4")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append
-             "https://github.com/DanBloomberg/leptonica/archive/" version
-             ".tar.gz"))
-       (file-name (string-append "leptonica-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/DanBloomberg/leptonica.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "10pw7pwccd0m0fc9rlrr2m41s7j1qvba2wcrav17pw1gclkf34i0"))))
+        (base32 "0sfg1ky0lghlq7xx0qii5167bim0wwfnnr83dl4skbj9awyvjiwi"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gnuplot" ,gnuplot)             ;needed for test suite
@@ -1102,13 +1102,14 @@ convert, manipulate, filter and display a wide variety of image formats.")
     (name "jasper")
     (version "2.0.14")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mdadams/jasper/archive/"
-                                  "version-" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mdadams/jasper.git")
+                    (commit (string-append "version-" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0yx9y5y0g6jv142vnqp50j3k8k5yqznz3smrblv192wgfbm6w9l5"))))
+                "0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f"))))
     (build-system cmake-build-system)
     (inputs `(("libjpeg" ,libjpeg)))
     (synopsis "JPEG-2000 library")
@@ -1124,13 +1125,14 @@ ISO/IEC 15444-1).")
     (version "2.5")
     (source
       (origin
-        (method url-fetch)
-        (uri (string-append "https://github.com/sekrit-twc/zimg/archive/"
-                            "release-" version ".tar.gz"))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/sekrit-twc/zimg.git")
+              (commit (string-append "release-" version))))
+        (file-name (git-file-name name version))
         (sha256
          (base32
-          "0kbq2dy659645fmgxpzg38b6y6x82kwkydhc380kdkaikv2brcjh"))))
+          "05krggiifbl6hyg2j3z8qz2k7si84g1qg9snhsnf1ml7mrhqhhlr"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -1374,12 +1376,14 @@ medical image data, e.g. magnetic resonance image (MRI) and functional MRI
     (name "gpick")
     (version "0.2.5")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/thezbyg/gpick/archive/"
-                                  name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/thezbyg/gpick.git")
+                    (commit (string-append name "-" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0mxvxk15xhk2i5vfavjhnkk4j3bnii0gpf8di14rlbpq070hd5rs"))))
+                "0mcj806zagh122qgrdkrg0macpzby97y89xi2sjyn3bh8vmmyxjy"))))
     (build-system scons-build-system)
     (native-inputs
      `(("boost" ,boost)
@@ -1435,13 +1439,14 @@ parsing, viewing, modifying, and saving this metadata.")
     (version "0.5.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/lupoDharkael/flameshot/archive/"
-                           "v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/lupoDharkael/flameshot.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0kp451bqgssvg8n3sg60s3fifplm9l5kxiij0yxkl864p2mhw8im"))))
+         "13h77np93r796jf289v4r687cmnpqkyqs34dm9gif4akaig74ky0"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("qttools" ,qttools)))
@@ -1544,13 +1549,14 @@ identical visual appearance.")
     (version "1.0.7")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/cslarsen/jp2a/archive/v"
-                           version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/cslarsen/jp2a.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0nahpjvrahixcfqqrjj2k4fscc8qs4hqnmj2qgjzsjj3z6xxh2g5"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+         "12a1z9ba2j16y67f41y8ax5sgv1wdjd71pg7circdxkj263n78ql"))))
     (build-system gnu-build-system)
     (inputs
      `(("libjpeg" ,libjpeg)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9af22146ed..a09bcfabe5 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -9855,6 +9855,37 @@ against expected outcomes.")
     (native-inputs
      `(("java-mockito-1" ,java-mockito-1)))))
 
+(define-public java-xmlunit-matchers
+  (package
+    (inherit java-xmlunit)
+    (name "java-xmlunit-matchers")
+    (arguments
+     `(#:jar-name "java-xmlunit-matchers.jar"
+       #:source-dir "xmlunit-matchers/src/main/java"
+       #:test-dir "xmlunit-matchers/src/test"
+       #:test-exclude
+       ;; Cannot open xsd for http://www.xmlunit.org/test-support/Book.xsd
+       (list "**/ValidationMatcherTest.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'copy-test-class
+           (lambda _
+             (copy-file "xmlunit-core/src/test/java/org/xmlunit/TestResources.java"
+                        "xmlunit-matchers/src/test/java/org/xmlunit/TestResources.java")
+             #t))
+         (add-before 'build 'fix-test-resources-path
+           (lambda _
+             (substitute* (find-files "xmlunit-matchers/src/test" ".*.java")
+               (("../test-resources") "test-resources"))
+             #t))
+         (add-before 'check 'copy-test-resources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (copy-recursively (assoc-ref inputs "resources") "test-resources")
+             #t)))))
+    (inputs
+     `(("java-xmlunit" ,java-xmlunit)
+       ("java-junit" ,java-junit)))))
+
 (define-public java-openchart2
   (package
     (name "java-openchart2")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 35fec7c5ed..9d61734f34 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -400,8 +400,8 @@ It has been modified to remove all non-free binary blobs.")
 ;; supports qemu "virt" machine and possibly a large number of ARM boards.
 ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
 
-(define %linux-libre-version "4.19.5")
-(define %linux-libre-hash "1ailss05c3p9aw2ysv75kj9j7qk04rc0cn9y9dk6fmjhnbnw9abm")
+(define %linux-libre-version "4.19.6")
+(define %linux-libre-hash "1ybi878li06algbv2pdwn81jlh038pfvzz3axn1bzic9p4c9rjhf")
 
 (define %linux-libre-4.19-patches
   (list %boot-logo-patch
@@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.")
                     #:patches %linux-libre-4.19-patches
                     #:configuration-file kernel-config))
 
-(define %linux-libre-4.14-version "4.14.84")
-(define %linux-libre-4.14-hash "0mdf436bxlrsv0jbnzwd5bblpavv9vk5qx7h2x55jp0iy9pvp3n2")
+(define %linux-libre-4.14-version "4.14.85")
+(define %linux-libre-4.14-hash "1jh11y6jakkp3xlq9jbf2myfjzbccjx1iyhd6ny7r9cjkv6r5i5i")
 
 (define-public linux-libre-4.14
   (make-linux-libre %linux-libre-4.14-version
@@ -433,14 +433,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.141"
-                    "1cjyni2wf1m9l8nvfl4gcswxlk9rwhpr0q3lvhnlg20761kvixp4"
+  (make-linux-libre "4.9.142"
+                    "0a7c41m41p83byn68cfixq460sy73ahwcx9y3xm6cv05grqza8zh"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
 (define-public linux-libre-4.4
-  (make-linux-libre "4.4.165"
-                    "1adpj8hbly5z3j7mlnydnm2kx2isi3194n1hszzwxki8gj0xnqk4"
+  (make-linux-libre "4.4.166"
+                    "1pb6hk141hzf6yf2423h0jfv9bjq09cynsp1xbm12mxayn637xmm"
                     %intel-compatible-systems
                     #:configuration-file kernel-config))
 
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 90b57efe74..5e8b6fdd3d 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -3427,7 +3427,7 @@ is a library for creating graphical user interfaces.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/atlas-engineer/cl-webkit")
+               (url "https://github.com/jmercouris/cl-webkit")
                (commit commit)))
          (file-name (git-file-name "cl-webkit" version))
          (sha256
@@ -3449,7 +3449,7 @@ is a library for creating graphical user interfaces.")
                  (("libwebkit2gtk" all)
                   (string-append
                    (assoc-ref inputs "webkitgtk") "/lib/" all))))))))
-      (home-page "https://github.com/atlas-engineer/cl-webkit")
+      (home-page "https://github.com/jmercouris/cl-webkit")
       (synopsis "Binding to WebKitGTK+ for Common Lisp")
       (description
        "@command{cl-webkit} is a binding to WebKitGTK+ for Common Lisp,
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index b78b8ac99f..4cb24ebf64 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
 
 (define-module (gnu packages lxqt)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
@@ -68,14 +70,15 @@
     (version "0.9.3+16.04.20160218-0ubuntu1")
     (source
      (origin
-       (method url-fetch)
-       ;; Download from github rather than launchpad beacuse launchpad trunk
+       (method git-fetch)
+       ;; Download from github rather than launchpad because launchpad trunk
        ;; tarball hash is not deterministic.
-       (uri (string-append "https://github.com/unity8-team/" name
-                           "/archive/" version ".tar.gz"))
+       (uri (git-reference
+             (url "https://github.com/unity8-team/libdbusmenu-qt.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "0abwyggnpg50sa9cxphscp5zdkv9nxqnlav55vj21df6q1h3jb5w"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+        (base32 "0b7ii1cvmpcyl79gqal9c3va9m55h055s4hx7fpxkhhqs9463ggg"))))
     (build-system cmake-build-system)
     (arguments
      ;; XXX: Tests require a dbus session and some icons.
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 34fbce0e62..5379eb9166 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -77,22 +77,26 @@ provides the Maven plugin generating the component metadata.")))
 (define-public maven-resolver-api
   (package
     (name "maven-resolver-api")
-    (version "1.1.1")
+    (version "1.3.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/apache/maven-resolver/"
                                   "archive/maven-resolver-" version ".tar.gz"))
               (sha256
                (base32
-                "0rpvdg3qr1j88gw0ankf0wnwfyq6238mdlm7s39vf5jrcvhdgwcl"))))
+                "0gfkf8g5zbjh6ciq3dnby9m5irhrbyc7d2jzic9l8xx6hl61q6mm"))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "maven-resolver-api.jar"
        #:source-dir "maven-resolver-api/src/main/java"
        #:test-dir "maven-resolver-api/src/test"))
     (native-inputs
-     `(("java-junit" ,java-junit)
-       ("java-hamcrest-core" ,java-hamcrest-core)))
+     `(("java-asm" ,java-asm)
+       ("java-cglib" ,java-cglib)
+       ("java-hamcrest-core" ,java-hamcrest-core)
+       ("java-junit" ,java-junit)
+       ("java-mockito-1" ,java-mockito-1)
+       ("java-objenesis" ,java-objenesis)))
     (home-page "https://github.com/apache/maven-resolver")
     (synopsis "Maven repository system API")
     (description "This package contains the API for the maven repository system.")
@@ -164,12 +168,14 @@ ease usage of the repository system.")))
              (mkdir-p "build/classes/META-INF/sisu")
              (with-output-to-file "build/classes/META-INF/sisu/javax.inject.Named"
                (lambda _
-                 (display "org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory\n"))))))))
+                 (display "org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory\n")))
+             #t)))))
     (inputs
      `(("maven-resolver-api" ,maven-resolver-api)
        ("maven-resolver-spi" ,maven-resolver-spi)
        ("maven-resolver-util" ,maven-resolver-util)
-       ("java-javax-inject" ,java-javax-inject)))
+       ("java-javax-inject" ,java-javax-inject)
+       ("java-slf4j-api" ,java-slf4j-api)))
     (native-inputs
      `(("java-junit" ,java-junit)
        ("java-hamcrest-core" ,java-hamcrest-core)
@@ -198,28 +204,28 @@ for repositories using URI-based layouts.")))
                    (string-append
                      ;; Build this list by looking for files containing "@Named"
                      "org.eclipse.aether.internal.impl.DefaultArtifactResolver\n"
-                     "org.eclipse.aether.internal.impl.DefaultTransporterProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer\n"
-                     "org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositorySystem\n"
-                     "org.eclipse.aether.internal.impl.LoggerFactoryProvider\n"
+                     "org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector\n"
+                     "org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider\n"
+                     "org.eclipse.aether.internal.impl.DefaultDeployer\n"
                      "org.eclipse.aether.internal.impl.DefaultFileProcessor\n"
+                     "org.eclipse.aether.internal.impl.DefaultInstaller\n"
                      "org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider\n"
-                     "org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultDeployer\n"
                      "org.eclipse.aether.internal.impl.DefaultMetadataResolver\n"
-                     "org.eclipse.aether.internal.impl.DefaultInstaller\n"
-                     "org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultSyncContextFactory\n"
                      "org.eclipse.aether.internal.impl.DefaultOfflineController\n"
-                     "org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider\n"
                      "org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher\n"
                      "org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider\n"
+                     "org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher\n"
+                     "org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider\n"
+                     "org.eclipse.aether.internal.impl.DefaultRepositorySystem\n"
+                     "org.eclipse.aether.internal.impl.DefaultSyncContextFactory\n"
+                     "org.eclipse.aether.internal.impl.DefaultTransporterProvider\n"
                      "org.eclipse.aether.internal.impl.DefaultUpdateCheckManager\n"
-                     "org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider\n"
-                     "org.eclipse.aether.internal.impl.DefaultDependencyCollector\n"))))
+                     "org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer\n"
+                     "org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory\n"
+                     "org.eclipse.aether.internal.impl.LoggerFactoryProvider\n"
+                     "org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory\n"
+                     "org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory\n"
+                     "org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory"))))
              #t)))))
     (inputs
      `(("maven-resolver-api" ,maven-resolver-api)
@@ -306,6 +312,7 @@ for repositories using URI-based layouts.")))
        ("java-plexus-component-annotation" ,java-plexus-component-annotations)
        ("java-plexus-classworld" ,java-plexus-classworlds)
        ("java-plexus-plexus-util" ,java-plexus-utils)
+       ("java-slf4j-api" ,java-slf4j-api)
        ("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
        ("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)))
     (native-inputs
@@ -675,13 +682,13 @@ gets and puts artifacts through HTTP(S) using Apache HttpClient-4.x.")))
 (define-public maven-artifact
   (package
     (name "maven-artifact")
-    (version "3.5.4")
+    (version "3.6.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://archive.apache.org/dist/maven/"
                                   "maven-3/" version "/source/"
                                   "apache-maven-" version "-src.tar.gz"))
-              (sha256 (base32 "1xg20g87svzzscbn7m92c2njvrr61va1dija2x2w7m5v4hdizfpk"))
+              (sha256 (base32 "17jrqfqwn569jgnv8m4pqc27csssb0rf6mznpq61l5bnbd6hl75k"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -915,8 +922,8 @@ inheritance, interpolation, @dots{}")))
        ("java-asm" ,java-asm)
        ("sisu-inject" ,java-eclipse-sisu-inject)
        ("javax-inject" ,java-javax-inject)
-       ("xmlunit" ,java-xmlunit)
-       ("xmlunit" ,java-xmlunit-legacy)
+       ("java-xmlunit" ,java-xmlunit)
+       ("java-xmlunit-matchers" ,java-xmlunit-matchers)
        ("xbean" ,java-geronimo-xbean-reflect)
        ("classworlds" ,java-plexus-classworlds)))
     (description "Apache Maven is a software project management and comprehension
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 568b6f41f7..faf5aab09a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2779,7 +2779,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
 (define-public schismtracker
   (package
     (name "schismtracker")
-    (version "20180513")
+    (version "20180810")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -2788,7 +2788,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0fayix1zbl96zhkfszgj71qr25dnddgy9hr6149nslww4gl7jk36"))
+                "0cwp5fna14hjrlf652l96ja5cjq63is3cwg6pp4wbpx43mb7qb2d"))
               (modules '((guix build utils)))
               (snippet
                ;; Remove use of __DATE__ and __TIME__ for reproducibility.
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9c0ab94f3e..11389440dc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -249,6 +249,17 @@ functional, imperative and object-oriented styles of programming.")
              (lambda _
                ;; Specifying '-j' at all causes the build to fail.
                (zero? (system* "make" "world.opt"))))
+           ,@(if (string=? "aarch64-linux" (%current-system))
+               ;; Custom configure script doesn't recongnize aarch64.
+               '((replace 'configure
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((out (assoc-ref outputs "out"))
+                           (mandir (string-append out "/share/man")))
+                      (invoke "./configure"
+                              "--prefix" out
+                              "--mandir" mandir
+                              "-host" "armv8l-unknown-linux-gnu")))))
+               '())
            (replace 'check
              (lambda _
                (with-directory-excursion "testsuite"
@@ -261,7 +272,7 @@ functional, imperative and object-oriented styles of programming.")
 (define-public ocaml-4.07
   (package
     (inherit ocaml-4.02)
-    (version "4.07.0")
+    (version "4.07.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -270,7 +281,7 @@ functional, imperative and object-oriented styles of programming.")
                     "/ocaml-" version ".tar.xz"))
               (sha256
                (base32
-                "03wzkzv6w4rdiiva20g5amz0n4x75swpjl8d80468p6zm8hgfnzl"))))
+                "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z"))))
     (arguments
      (substitute-keyword-arguments (package-arguments ocaml-4.02)
        ((#:phases phases)
@@ -487,7 +498,7 @@ syntax of OCaml.")
 (define-public camlp5
   (package
     (name "camlp5")
-    (version "7.06")
+    (version "7.07")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/camlp5/camlp5/archive/rel"
@@ -495,7 +506,7 @@ syntax of OCaml.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "08kr0h2rq3jh3kzqh5f6pr589bqw3y76z8k59ad2kdh50fjgp8xy"))))
+                "148r6p93xlxi6v7kbsqv8i70r6av04cyn0109pwss5xj6fw97i52"))))
     (build-system gnu-build-system)
     (inputs
      `(("ocaml" ,ocaml)))
@@ -617,7 +628,7 @@ the OCaml core distribution.")
 (define-public coq
   (package
     (name "coq")
-    (version "8.8.1")
+    (version "8.8.2")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/coq/coq/archive/V"
@@ -625,7 +636,7 @@ the OCaml core distribution.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "13cyvbg8cgqkg9wz0ax7jq03srj9k0lyvny97fcka4ai1zrzwln8"))))
+                "0i2hs0i6rp27cy8zd0mx7jscqw5cx2y0diw0pxgij66s3yr47y7r"))))
     (native-search-paths
      (list (search-path-specification
             (variable "COQPATH")
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 952758e2ee..c5ba65a863 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -387,7 +387,7 @@ the Nix package manager.")
        (propagated-inputs
         (fold alist-delete
               (package-propagated-inputs guix)
-              '("guile-json" "guile-ssh")))))))
+              '("guile-ssh")))))))
 
 (define (source-file? file stat)
   "Return true if FILE is likely a source file, false if it is a typical
diff --git a/gnu/packages/patches/handbrake-pkg-config-path.patch b/gnu/packages/patches/handbrake-pkg-config-path.patch
deleted file mode 100644
index 18f3953eaa..0000000000
--- a/gnu/packages/patches/handbrake-pkg-config-path.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Do not clobber PKG_CONFIG_PATH during configure.
-
---- HandBrake-0.10.5/gtk/module.rules.orig	2016-02-11 14:14:05.000000000 -0600
-+++ HandBrake-0.10.5/gtk/module.rules	2016-10-29 22:27:50.550960848 -0500
-@@ -15,7 +15,7 @@
- 	set -e; cd $(GTK.src/); NOCONFIGURE=1 ./autogen.sh
- 	set -e; cd $(GTK.build/); $(call fn.ABSOLUTE,$(GTK.src/))configure \
- 		$(GTK.CONFIGURE.extra) \
--		PKG_CONFIG_PATH=$(BUILD/)contrib/lib/pkgconfig \
-+		PKG_CONFIG_PATH=$(BUILD/)contrib/lib/pkgconfig$(if $(PKG_CONFIG_PATH),:)$(PKG_CONFIG_PATH) \
- 	    CFLAGS="$(call fn.ARGS,GTK.GCC,.g .O *D ?extra)" \
- 	    LDFLAGS="$(call fn.ARGS,GTK.GCC,?strip .g .O ?extra.exe)" \
- 	    --prefix=$(PREFIX) \
---- Handbrake-0.10.5-0.77d09e9-checkout/make/include/contrib.defs	1969-12-31 18:00:00.000000000 -0600
-+++ Handbrake-0.10.5-0.77d09e9-checkout/make/include/contrib.defs	2016-11-01 13:11:43.826144311 -0500
-@@ -119,7 +119,7 @@
-     endif
-     $(1).CONFIGURE.env.CPPFLAGS = CPPFLAGS="-I$$(call fn.ABSOLUTE,$(CONTRIB.build/))include $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra *D)"
-     $(1).CONFIGURE.env.LDFLAGS  = LDFLAGS="-L$$(call fn.ABSOLUTE,$(CONTRIB.build/))lib $$(call fn.ARGS,$(1).GCC,*archs *sysroot *minver ?extra.exe *D)"
--    $(1).CONFIGURE.env.PKG_CONFIG_PATH  = PKG_CONFIG_PATH="$$(call fn.ABSOLUTE,$$(CONTRIB.build/))lib/pkgconfig"
-+    $(1).CONFIGURE.env.PKG_CONFIG_PATH  = PKG_CONFIG_PATH="$$(call fn.ABSOLUTE,$$(CONTRIB.build/))lib/pkgconfig$(if $(PKG_CONFIG_PATH),:)$(PKG_CONFIG_PATH)"
- 
-     $(1).CONFIGURE.env.args = !CC !CFLAGS !CXX !CXXFLAGS !CPPFLAGS !LD !LDFLAGS !PKG_CONFIG_PATH !LOCAL_PATH !CROSS
-     $(1).CONFIGURE.env = $$(call fn.ARGS,$(1).CONFIGURE.env,$$($(1).CONFIGURE.env.args))
diff --git a/gnu/packages/patches/patchutils-test-perms.patch b/gnu/packages/patches/patchutils-test-perms.patch
new file mode 100644
index 0000000000..c7652b9af2
--- /dev/null
+++ b/gnu/packages/patches/patchutils-test-perms.patch
@@ -0,0 +1,14 @@
+Need to mark one of the tests as PHONY to get permissions set correctly on
+built scripts.
+
+--- a/Makefile.in	2011-02-10 09:44:43.000000000 -0600
++++ b/Makefile.in	2018-11-29 21:52:05.000000000 -0600
+@@ -1106,5 +1108,6 @@
+ 	rm -f $(DESTDIR)$(bindir)/"`echo lsdiff|sed '$(transform)'`"
+ 	rm -f $(DESTDIR)$(bindir)/"`echo grepdiff|sed '$(transform)'`"
+ 
++.PHONY: tests/newline1/run-test
+ tests/newline1/run-test: src/combinediff$(EXEEXT) src/flipdiff$(EXEEXT) \
+ 		src/lsdiff$(EXEEXT) src/grepdiff$(EXEEXT) \
+		scripts/splitdiff
+
diff --git a/gnu/packages/patches/patchutils-xfail-gendiff-tests.patch b/gnu/packages/patches/patchutils-xfail-gendiff-tests.patch
deleted file mode 100644
index b2e77d22f2..0000000000
--- a/gnu/packages/patches/patchutils-xfail-gendiff-tests.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-The gendiff1 and gendiff2 tests need the gendiff script that's distributed
-with the rpm package management tool.  Without that script, these tests are
-expected to fail.
-
-Need to mark one of the tests as PHONY to get permissions set correctly on
-built scripts.
-
---- a/Makefile.in	2011-02-10 09:44:43.000000000 -0600
-+++ b/Makefile.in	2014-03-06 17:27:55.610048953 -0600
-@@ -378,6 +378,8 @@
- # These ones don't work yet.
- # Feel free to send me patches. :-)
- XFAIL_TESTS = \
-+	tests/gendiff1/run-test \
-+	tests/gendiff2/run-test \
- 	tests/delhunk5/run-test \
- 	tests/delhunk6/run-test
- 
-@@ -1106,6 +1108,7 @@
- 	rm -f $(DESTDIR)$(bindir)/"`echo lsdiff|sed '$(transform)'`"
- 	rm -f $(DESTDIR)$(bindir)/"`echo grepdiff|sed '$(transform)'`"
- 
-+.PHONY: tests/combine1/run-test
- tests/combine1/run-test: src/combinediff$(EXEEXT) src/flipdiff$(EXEEXT) \
- 		src/lsdiff$(EXEEXT) src/grepdiff$(EXEEXT)
- 	for script in $(bin_SCRIPTS); do \
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 688e62cdc8..fa5ad62e44 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -43,7 +43,7 @@
 (define-public patchutils
   (package
     (name "patchutils")
-    (version "0.3.3")
+    (version "0.3.4")
     (source
      (origin
       (method url-fetch)
@@ -51,8 +51,8 @@
                           name "-" version ".tar.xz"))
       (sha256
        (base32
-        "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i"))
-      (patches (search-patches "patchutils-xfail-gendiff-tests.patch"))))
+        "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg"))
+      (patches (search-patches "patchutils-test-perms.patch"))))
     (build-system gnu-build-system)
     (inputs `(("perl" ,perl)))
     (arguments
@@ -61,10 +61,8 @@
        (modify-phases %standard-phases
          (add-before 'check 'patch-test-scripts
            (lambda _
-             (let ((echo (which "echo")))
-               (substitute*
-                   (find-files "tests" "^run-test$")
-                 (("/bin/echo") echo)))
+             (substitute* (find-files "tests" "^run-test$")
+               (("/bin/echo") (which "echo")))
              #t))
          (add-after 'install 'wrap-program
            ;; Point installed scripts to the utilities they need.
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index b89d49fd52..65d7b26df3 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -877,14 +877,14 @@ the framebuffer.")
     (name "pdf2svg")
     (version "0.2.3")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/dawbarton/pdf2svg/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dawbarton/pdf2svg.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "12pa1pajirnlrkz2il3h4l30lc2prryk1qr132jk6z9y1c3qdcag"))))
+                "14ffdm4y26imq99wjhkrhy9lp33165xci1l5ndwfia8hz53bl02k"))))
     (build-system gnu-build-system)
     (inputs
      `(("cairo" ,cairo)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index aa9c93622f..1b1458a285 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -423,7 +423,7 @@ and enhance them.")
 (define-public hugin
   (package
     (name "hugin")
-    (version "2016.2.0")
+    (version "2018.0.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
@@ -431,7 +431,7 @@ and enhance them.")
                                   "/hugin-" version ".tar.bz2"))
               (sha256
                (base32
-                "058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl"))))
+                "1jv5wpqbq49fhbl5g521g1qxhdm1rm7acxd18fr3n3n5d830vbyk"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("gettext" ,gnu-gettext)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 8957d28268..f05047bb9c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -68,22 +68,17 @@
 (define-public python-aiohttp
   (package
     (name "python-aiohttp")
-    (version "3.1.3")
+    (version "3.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "aiohttp" version))
        (sha256
         (base32
-         "1b888lggmyf2d08rfayq9khszzc0pav1z70ssc0b4d9kkr4g1klz"))))
+         "1ykm6kdjkrg556j0zd7dx2l1rsrbh0d9g27ivr6dmaahz9pyrbsi"))))
     (build-system python-build-system)
     (arguments
-     `(#:tests? #f))                    ;FIXME: 2 errors, 2084 passed
-    (native-inputs
-     `(("python-async-generator" ,python-async-generator)
-       ("python-pytest" ,python-pytest)
-       ("python-pytest-capturelog" ,python-pytest-capturelog)
-       ("python-pytest-mock" ,python-pytest-mock)))
+     `(#:tests? #f))                    ;missing pytest-timeout
     (propagated-inputs
      `(("python-aiodns" ,python-aiodns)
        ("python-async-timeout" ,python-async-timeout)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 2a41e81c66..c951d6a78b 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6630,14 +6630,14 @@ responses, rather than doing any computation.")
 (define-public python-pip
   (package
     (name "python-pip")
-    (version "9.0.1")
+    (version "18.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "pip" version))
        (sha256
         (base32
-         "03clr9c1dih5n9c00c592zzvf6r1ffimywkaq9agcqdllzhl7wh9"))))
+         "188fclay154s520n43s7cxxlhdaiysvxf19zk8vr1xbyjyyr58n0"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f))          ; there are no tests in the pypi archive.
@@ -13936,14 +13936,14 @@ generators and Python 3.7's context managers into Python 3.5.")
 (define-public python-async-timeout
   (package
     (name "python-async-timeout")
-    (version "2.0.1")
+    (version "3.0.1")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "async-timeout" version))
        (sha256
         (base32
-         "1l3kg062m02mph6rf9rdv8r5c5n356clxa6b6mrn0i77vk9g9kq0"))))
+         "0pscbyr840m7fyfc3r8zv9kgkwdcn9f78p7zsrczciwd09m82g0c"))))
     (build-system python-build-system)
     (home-page "https://github.com/aio-libs/async_timeout/")
     (synopsis "Timeout context manager for asyncio programs")
@@ -14793,3 +14793,21 @@ RFC 8265 and RFC 8266.")
 @url{https://www.wikidata.org/, Wikidata}.")
     (properties '((upstream-name . "Wikidata")))
     (license license:gpl3+)))
+
+(define-public python-attr
+  (package
+    (name "python-attr")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "attr" version))
+       (sha256
+        (base32
+         "0pbpskvxp5hzdvcaf766ljwpckshir8sf7z6jqji6zyib20594ch"))))
+    (build-system python-build-system)
+    (home-page "https://github.com/denis-ryzhkov/attr")
+    (synopsis "Decorator for attributes of target function or class")
+    (description "Simple decorator to set attributes of target function or
+class in a @acronym{DRY, Don't Repeat Yourself} way.")
+    (license license:expat)))
diff --git a/gnu/packages/sml.scm b/gnu/packages/sml.scm
index 1d7fd3fb51..0874b81cc7 100644
--- a/gnu/packages/sml.scm
+++ b/gnu/packages/sml.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages))
 
@@ -31,14 +33,15 @@
   (package
     (name "polyml")
     (version "5.7.1")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/polyml/polyml/archive/v"
-                           version ".tar.gz"))
-       (sha256
-        (base32 "0a3hcv80p9j0fny6726kvgmzjzdmak9xw7f7rv8sxv96nhjdi3fi"))
-       (file-name (string-append name "-" version ".tar.gz"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/polyml/polyml.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0j0wv3ijfrjkfngy7dswm4k1dchk3jak9chl5735dl8yrl8mq755"))))
     (build-system gnu-build-system)
     (inputs
      `(("gmp" ,gmp)
diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm
index 60e66437a8..7e0da38285 100644
--- a/gnu/packages/sync.scm
+++ b/gnu/packages/sync.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
 (define-module (gnu packages sync)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system meson)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -32,6 +34,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages curl)
   #:use-module (gnu packages databases)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages perl)
@@ -244,3 +247,48 @@ over the Internet in an HTTP and CDN friendly way;
 @item An efficient backup system.
 @end itemize\n")
     (license license:lgpl2.1+)))
+
+(define-public rclone
+  (package
+    (name "rclone")
+    (version "1.45")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ncw/rclone.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "06xg0ibv9pnrnmabh1kblvxx1pk8h5rmkr9mjbymv497sx3zgz26"))))
+    ;; FIXME: Rclone bundles some libraries Guix already provides.  Need to
+    ;; un-bundle them.
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/ncw/rclone"
+       #:install-source? #f
+       #:phases
+       (modify-phases %standard-phases
+         ;; Fix failure during "check" phase: "mkdir /homeless-shelter:
+         ;; permission denied".
+         (add-after 'unpack 'set-home-directory
+           (lambda _ (setenv "HOME" "/tmp") #t)))))
+    (synopsis "@code{rsync} for cloud storage")
+    (description "@code{Rclone} is a command line program to sync files and
+directories to and from different cloud storage providers.
+
+Features include:
+@itemize
+@item MD5/SHA1 hashes checked at all times for file integrity
+@item Timestamps preserved on files
+@item Partial syncs supported on a whole file basis
+@item Copy mode to just copy new/changed files
+@item Sync (one way) mode to make a directory identical
+@item Check mode to check for file hash equality
+@item Can sync to and from network, e.g., two different cloud accounts
+@item Optional encryption (Crypt)
+@item Optional cache (Cache)
+@item Optional FUSE mount (rclone mount)
+@end itemize")
+    (home-page "https://rclone.org/")
+    (license license:expat)))
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 2d15d77524..369e79bf5b 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Petter <petter@mykolab.ch>
 ;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -71,12 +71,14 @@
     (name "tilda")
     (version "1.4.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/lanoxx/tilda/archive/"
-                                  "tilda-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/lanoxx/tilda.git")
+                    (commit (string-append "tilda-" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0w2hry2bqcqrkik4l100b1a9jlsih6sq8zwhfpl8zzfq20i00lfs"))))
+                "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj"))))
     (build-system glib-or-gtk-build-system)
     (arguments
      '(#:phases (modify-phases %standard-phases
@@ -329,14 +331,14 @@ combining, and so on, with a simple interface.")
     (name "picocom")
     (version "2.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/npat-efault/picocom"
-                    "/archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/npat-efault/picocom.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1knl6dglnrynx1fhy21nylw56i1q3dkizkgxzkq42mb7ilah8f9y"))))
+                "06b2ic34dnxc73cprc5imi3iamlhsv623sbg9vj5h5rvs586dwjx"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags '("CC=gcc")
@@ -400,13 +402,14 @@ has no notion of what's interesing, but it's very good at that notifying part.")
     (version "1.2.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/mauke/unibilium/"
-                           "archive/v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mauke/unibilium.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "1hbf011d8nzsp7c96fidjiq8yw8zlxf6f1s050ii2yyampvb8ib0"))))
+         "11mbfijdrvbmdlmxs8j4vij78ki0vna89yg3r9n9g1i6j45hiq2r"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
@@ -873,13 +876,14 @@ per-line fullscreen terminal rendering, and keyboard input event reporting.")
     (version "2.2.1")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/tmate-io/tmate/archive/"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/tmate-io/tmate.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "01f3hhm3x0sd6apyb1ajkjfdfvq5m2759w00yp2slr9fyicsrhnr"))))
+         "0pfl9vrswzim9ydi1n652h3rax2zrmy6sqkp0r09yy3lw83h4y1r"))))
     (build-system gnu-build-system)
     (inputs
      `(("libevent" ,libevent)
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index e28a6d4f48..a9bbebcd13 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -165,13 +165,14 @@ networks.")
     (version "0.9.2")
     (source
       (origin
-        (method url-fetch)
-        (uri (string-append "https://github.com/micahflee/onionshare/archive/v"
-                            version ".tar.gz"))
-        (file-name (string-append name "-" version ".tar.gz"))
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/micahflee/onionshare.git")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
         (sha256
          (base32
-          "02iv7dg15da57gy3zvfchnwwpr21n1gva7mqwpwr958ni2034smk"))))
+          "1nzr6m3jp04p1i8b652s27zv0xhybl3zwcn5r6l9h0f7d7x4iglv"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index cec3e5fc6c..d068c30735 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
@@ -2395,3 +2395,49 @@ used to keep a folder in sync between computers.")
 given commit into the specified ref(s).  It has various options that control
 how information about the merge is displayed.")
       (license license:gpl2+))))
+
+(define-public git-imerge
+  (package
+    (name "git-imerge")
+    (version "1.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mhagger/git-imerge/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0a6ay8fpgz3yd84jc40w41x0rcfpan6bcq4wd1hxiiqwb51jysb2"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; The are only manual test scripts.
+       #:make-flags (list (string-append "DESTDIR=" %output)
+                          "PREFIX=")
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'install 'patch-git
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((git (string-append (assoc-ref inputs "git")
+                                       "/bin/git")))
+               (substitute* "git-imerge"
+                 (("'git'") (string-append "'" git "'")))
+               #t)))
+         (add-after 'install 'wrap-script
+           (lambda* (#:key outputs #:allow-other-keys)
+             (wrap-program (string-append (assoc-ref outputs "out")
+                                          "/bin/git-imerge")
+               `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
+             #t)))))
+    (inputs
+     `(("git" ,git)
+       ("python" ,python-wrapper)))
+    (home-page "https://github.com/mhagger/git-imerge")
+    (synopsis "Incremental merge for Git")
+    (description "This Git extension defines a subcommand, @code{imerge},
+which performs an incremental merge between two branches.  Its two primary
+design goals are to reduce the pain of resolving merge conflicts by finding
+the smallest possible conflicts and to allow a merge to be saved, tested,
+interrupted, published, and collaborated on while in progress.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d586bd0815..fc6caf3ff8 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5,7 +5,7 @@
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015, 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
@@ -890,12 +890,14 @@ audio/video codec library.")
     (name "ffmpegthumbnailer")
     (version "2.2.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/dirkvdb/"
-                                  name "/archive/" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dirkvdb/ffmpegthumbnailer.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "13qs4iwd4l3iiim30s5051n80z0vgsnikym8vsn321cnm9algiwb"))))
+                "0kl8aa547icy9b05njps02a8sw4yn4f8fzs228kig247sn09s4cp"))))
     (build-system cmake-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -1187,14 +1189,14 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
     (name "mpv")
     (version "0.29.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/mpv-player/mpv/archive/v" version
-                    ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mpv-player/mpv.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "08x63hlpj6s8xixmdbx6raff5p5mih7cnk0bcql9f3wrs5hx9ygr"))
-              (file-name (string-append name "-" version ".tar.gz"))))
+                "138921kx8g6qprim558xin09xximjhsj9ss8b71ifg2m6kclym8m"))))
     (build-system waf-build-system)
     (native-inputs
      `(("perl" ,perl) ; for zsh completion file
@@ -1457,14 +1459,14 @@ other site that youtube-dl supports.")
     (name "you-get")
     (version "0.4.1077")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/soimort/you-get/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/soimort/you-get.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "04vxc91k627qgsqs8dhqajrb6vpj4pw21jlwbha28qakfiz2x11k"))))
+                "1rwkn3wb3r70b8cqj40qdknkg9kqbgzkvi901hbpy2a8s1b7858n"))))
     (build-system python-build-system)
     (inputs
      `(("ffmpeg" ,ffmpeg)))             ; for multi-part and >=1080p videos
@@ -1856,14 +1858,14 @@ capabilities.")
     (name "vapoursynth")
     (version "37")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/vapoursynth/vapoursynth/archive/R"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/vapoursynth/vapoursynth.git")
+                    (commit (string-append "R" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1g3hc079jw4mz1cmkv2y28pdb556wqc8ql7iravgh1rg8j3f1zi5"))))
+                "1ma2s7dxk6y6l04qj1jvgwia4xj7999ny3a1yx2vbk5l83giam2p"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("autoconf" ,autoconf)
@@ -2008,13 +2010,14 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
     (name "mlt")
     (version "6.10.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mltframework/mlt/"
-                                  "archive/v" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mltframework/mlt.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1zzdj1g3g24q6v8hd0v34lv0pkh37a13fhjpl44h1ffi00mz3577"))
+                "0ki86yslr5ywa6sz8pjrgd9a4rn2rr4mss2zkmqi7pq8prgsm1fr"))
               (modules '((guix build utils)))
               (snippet '(begin
                           ;; As of glibc 2.26, <xlocale.h> no longer is.
@@ -2107,13 +2110,14 @@ be used for realtime video capture via Linux-specific APIs.")
     (name "obs")
     (version "20.1.3")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/jp9000/obs-studio"
-                                  "/archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/jp9000/obs-studio.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1g5z6z050v25whc7n3xvg6l238wmg5crp7ihvk73qngvzxr8bg28"))))
+                "0qdpa2xxiiw53ksvlrf80jm8gz6kxsn56sffv2v2ijxvy7kw5zcg"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f)) ; no tests
@@ -2269,13 +2273,14 @@ making @dfn{screencasts}.")
     (version "0.3.11")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/MaartenBaert/ssr/archive/"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/MaartenBaert/ssr.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal"))))
+         "0n702dnv4qshgn3b90ixvplfafjhgz6040yir5vy8khjdpciysq4"))))
     (build-system cmake-build-system)
     ;; Although libx11, libxfixes, libxext are listed as build dependencies in
     ;; README.md, the program builds and functions properly without them.
@@ -2393,13 +2398,14 @@ Content System specification.")
     (version "0.2.8")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/mps-youtube/mps-youtube/"
-                           "archive/v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mps-youtube/mps-youtube.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0x7cmfh199q9j396v7bz81nnvanfllhsg86489i5dw2p3yyc9wnm"))))
+         "1w1jhw9rg3dx7vp97cwrk5fymipkcy2wrbl1jaa38ivcjhqg596y"))))
     (build-system python-build-system)
     (arguments
      ;; Tests need to be disabled until #556 upstream is fixed. It reads as if the
@@ -2424,22 +2430,27 @@ supported players in addition to this package.")
 (define-public handbrake
   (package
     (name "handbrake")
-    (version "0.10.5")
+    (version "1.1.2")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://handbrake.fr/rotation.php?file="
-                                  "HandBrake-" version ".tar.bz2"))
-              (file-name (string-append "handbrake-" version ".tar.bz2"))
+              (uri (string-append "https://download.handbrake.fr/releases/"
+                                  version "/HandBrake-" version "-source.tar.bz2"))
               (sha256
                (base32
-                "1w720y3bplkz187wgvy4a4xm0vpppg45mlni55l6yi8v2bfk14pv"))
-              (patches (search-patches "handbrake-pkg-config-path.patch"))
+                "0bny0hwlr55g2c69rsamv0xvwmfh1s4a582b9vq20xv5ly84m6ms"))
               (modules '((guix build utils)))
               (snippet
-               ;; Remove bundled libraries and source not necessary for
-               ;; running under a GNU environment.
+               ;; Remove "contrib" and source not necessary for
+               ;; building/running under a GNU environment.
                '(begin
-                  (for-each delete-file-recursively '("contrib" "macosx" "win"))
+                  (for-each delete-file-recursively
+                            '("contrib" "macosx" "win"))
+                  (substitute* "make/include/main.defs"
+                    ;; Disable unconditional inclusion of "contrib" libraries
+                    ;; (ffmpeg, libvpx, libdvdread, libdvdnav, and libbluray),
+                    ;; which would lead to fetching and building of these
+                    ;; libraries.  Use our own instead.
+                    (("MODULES \\+= contrib") "# MODULES += contrib"))
                   #t))))
     (build-system  glib-or-gtk-build-system)
     (native-inputs
@@ -2453,13 +2464,14 @@ supported players in addition to this package.")
     (inputs
      `(("bzip2" ,bzip2)
        ("dbus-glib" ,dbus-glib)
-       ("ffmpeg" ,ffmpeg-3.4)           ;compilation errors with ffmpeg-4
+       ("ffmpeg" ,ffmpeg)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("glib" ,glib)
        ("gstreamer" ,gstreamer)
        ("gst-plugins-base" ,gst-plugins-base)
        ("gtk+" ,gtk+)
+       ("jansson" ,jansson)
        ("lame" ,lame)
        ("libass" ,libass)
        ("libbluray" ,libbluray)
@@ -2469,6 +2481,7 @@ supported players in addition to this package.")
        ("libmpeg2" ,libmpeg2)
        ("libnotify" ,libnotify)
        ("libogg" ,libogg)
+       ("libopus" ,opus)
        ("libsamplerate" ,libsamplerate)
        ("libtheora" ,libtheora)
        ("libvorbis" ,libvorbis)
@@ -2479,6 +2492,11 @@ supported players in addition to this package.")
        ("zlib" ,zlib)))
     (arguments
      `(#:tests? #f             ;tests require Ruby and claim to be unsupported
+       #:configure-flags
+       (list (string-append "CPPFLAGS=-I"
+                            (assoc-ref %build-inputs "libxml2")
+                            "/include/libxml2")
+             "LDFLAGS=-lx265")
        #:phases
        (modify-phases %standard-phases
          (replace 'bootstrap
@@ -2490,21 +2508,6 @@ supported players in addition to this package.")
              (substitute* "gtk/module.rules"
                ((".*autogen\\.sh.*") ""))
              (invoke "sh" "./gtk/autogen.sh")))
-         (add-before 'configure 'disable-contrib
-           (lambda _
-             (substitute* "make/include/main.defs"
-               ;; Disable unconditional inclusion of some "contrib"
-               ;; libraries (ffmpeg, libvpx, libdvdread, libdvdnav,
-               ;; and libbluray), which would lead to fetching and
-               ;; building of these libraries.  Use our own instead.
-               (("MODULES \\+= contrib") "# MODULES += contrib"))
-             #t))
-         (add-before 'configure 'fix-x265-linking
-           (lambda _
-             (substitute* "test/module.defs"
-               ;; Fix missing library during linking error
-               (("TEST.GCC.l =") "TEST.GCC.l = x265"))
-             #t))
          (replace 'configure
            (lambda* (#:key outputs configure-flags #:allow-other-keys)
              ;; 'configure' is not an autoconf-generated script, and
@@ -2521,8 +2524,9 @@ supported players in addition to this package.")
     (description
      "HandBrake is a tool for converting video from any format to a selection
 of modern, widely supported codecs.")
-    ;; Most under GPL version 2 or later, and portions under BSD 3 Clause
-    (license (list license:gpl2+ license:bsd-3))))
+    ;; Some under GPLv2+, some under LGPLv2.1+, and portions under BSD3.
+    ;; Combination under GPLv2.  See LICENSE.
+    (license license:gpl2)))
 
 (define-public openh264
   (package
@@ -2787,12 +2791,14 @@ and ITU-T H.222.0.")
     (version "2.23")
     (home-page "https://github.com/FFMS/ffms2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append home-page "/archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/FFMS/ffms2.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1vbkab8vrplxz5xgag8ggzkwp4f7nf285pd0l2a7zy66n6i2m6xh"))))
+                "0dkz5b3gxq5p4xz0qqg6l2sigszrlsinz3skyf0ln4wf3zrvf8m5"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags
@@ -2876,13 +2882,14 @@ tools for styling them, including a built-in real-time video preview.")
     (version "1.12.2")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/pitivi/gst-transcoder/"
-                           "archive/" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pitivi/gst-transcoder.git")
+             (commit version)))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0cnwmrsd321s02ff91m3j27ydj7f8wks0jvmp5admlhka6z7zxm9"))))
+         "0nw1zykqc6c8xs3ri55pm00pwyz93z4y4nd880apfiwj7yv5p3az"))))
     (build-system meson-build-system)
     (inputs
      `(("gobject-introspection" ,gobject-introspection)
@@ -3068,14 +3075,14 @@ save it to the appropriate filename.")
     (name "l-smash")
     (version "2.14.5")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/" name "/" name "/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/l-smash/l-smash.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0dary0h65kq6sv93iabv25djlvzr5ckdcp3ywagbix44wqfw7xz6"))))
+                "0rcq9727im6kd8da8b7kzzbzxdldvmh5nsljj9pvr4m3lj484b02"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ;no tests
@@ -3130,12 +3137,14 @@ online.")
     (name "vidstab")
     (version "1.1.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/georgmartius/vid.stab/"
-                                  "archive/v" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/georgmartius/vid.stab.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1fy03n343djfdi19msac81833v5iivpv635yjzrx9nkfwm9s1lhl"))))
+                "0a3frpm2kdbx7vszhg64p3alisag73bcspl7fp3a2f1kgq7rbh38"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f)) ; tests are not run as part of standard build process
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 0ba2f4e7ef..ecce4e0ae6 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -459,7 +459,7 @@ trouble using them, because you do not have to remember each snippet name.")
 (define-public vim-fugitive
   (package
     (name "vim-fugitive")
-    (version "2.3")
+    (version "2.5")
     (source
       (origin
         (method git-fetch)
@@ -469,7 +469,7 @@ trouble using them, because you do not have to remember each snippet name.")
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "17s94a8g5z0lrs7yy4nyqyvp9ykys5ws2ar3m3c0bjsn0iazd7m3"))))
+          "17yz7gxn7a49jzndr4z5vnk1y4a6c22qss3mwxzmq4m46fni0k8q"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -481,9 +481,13 @@ trouble using them, because you do not have to remember each snippet name.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (vimfiles (string-append out "/share/vim/vimfiles"))
+                    (autoload (string-append vimfiles "/autoload"))
                     (doc (string-append vimfiles "/doc"))
+                    (ftdetect (string-append vimfiles "/ftdetect"))
                     (plugin (string-append vimfiles "/plugin")))
+               (copy-recursively "autoload" autoload)
                (copy-recursively "doc" doc)
+               (copy-recursively "ftdetect" ftdetect)
                (copy-recursively "plugin" plugin)
                #t))))))
     (home-page "https://github.com/tpope/vim-fugitive")
@@ -652,7 +656,7 @@ are detected, the user is notified.")))
 (define-public neovim
   (package
     (name "neovim")
-    (version "0.2.0")
+    (version "0.3.1")
     (source
      (origin
        (method url-fetch)
@@ -661,12 +665,13 @@ are detected, the user is notified.")))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1db27zm6cldm1aw0570vii1bxc16a34x8lissl1h9rizsbwn7qkj"))))
+         "08mdffcw4k503bccm1plq8r7hjx4w61w5jyfdj80fr079hnkjpmw"))))
     (build-system cmake-build-system)
     (arguments
      `(#:modules ((srfi srfi-26)
                   (guix build cmake-build-system)
                   (guix build utils))
+       #:configure-flags '("-DPREFER_LUA:BOOL=YES")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-lua-paths
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index f63f269ae0..578cfca560 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
+;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -36,6 +37,7 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libidn)
+  #:use-module (gnu packages lisp)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages ncurses)
@@ -52,7 +54,8 @@
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
-  #:use-module (guix build-system python))
+  #:use-module (guix build-system python)
+  #:use-module (guix build-system asdf))
 
 (define-public dillo
   (package
@@ -359,3 +362,109 @@ the webkit web browser engine and the GTK toolkit.  Vimb is modal like the great
 vim editor and also easily configurable during runtime.  Vimb is mostly keyboard
 driven and does not detract you from your daily work.")
     (license license:gpl3+)))
+
+(define-public next-gtk-webkit
+  (let ((commit "b8899341bbdefd0a33412608fbb0b1f92f818c65"))
+    (package
+      (name "next-gtk-webkit")
+      (version (git-version "1.0.0" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://source.atlas.engineer/public/next")
+               (commit commit)))
+         (sha256
+          (base32
+           "12jmf1b9qr85il9h15mb9vpsfh1wzcln9x9xpn4lps0kkccnpkz9"))
+         (file-name (git-file-name "next" version))))
+      (build-system glib-or-gtk-build-system)
+      (arguments
+       `(#:tests? #f                    ; no tests
+         #:make-flags (list "gtk-webkit"
+                            "CC=gcc"
+                            (string-append "PREFIX=" %output))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key (make-flags '()) #:allow-other-keys)
+               (apply invoke "make" "install-gtk-webkit" make-flags))))))
+      (inputs
+       `(("glib-networking" ,glib-networking)
+         ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+         ("webkitgtk" ,webkitgtk)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)))
+      (home-page "https://next.atlas.engineer")
+      (synopsis "Infinitely extensible web-browser (user interface only)")
+      (description "Next is a keyboard-oriented, extensible web-browser
+inspired by Emacs and designed for power users.  The application has familiar
+key-bindings, is fully configurable and extensible in Lisp, and has powerful
+features for productive professionals.")
+      (license license:bsd-3))))
+
+(define-public sbcl-next
+  (package
+    (inherit next-gtk-webkit)
+    (name "sbcl-next")
+    (build-system asdf-build-system/sbcl)
+    (outputs '("out" "lib"))
+    (arguments
+     `(#:tests? #f                      ; no tests
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-platform-port-path
+                    (lambda* (#:key inputs #:allow-other-keys)
+                      (substitute* "source/ports/gtk-webkit.lisp"
+                        (("\"next-gtk-webkit\"")
+                         (string-append "\"" (assoc-ref inputs "next-gtk-webkit")
+                                        "/bin/next-gtk-webkit\"")))))
+                  (add-before 'cleanup 'move-bundle
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (define lib (assoc-ref outputs "lib"))
+                      (define actual-fasl (string-append
+                                           lib
+                                           "/lib/sbcl/next.fasl"))
+                      (define expected-fasl (string-append
+                                             lib
+                                             "/lib/sbcl/next--system.fasl"))
+                      (pk actual-fasl)
+                      (pk expected-fasl)
+                      (copy-file actual-fasl expected-fasl)
+                      #t))
+                  (add-after 'create-symlinks 'build-program
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (build-program
+                       (string-append (assoc-ref outputs "out") "/bin/next")
+                       outputs
+                       #:entry-program '((next:start-with-port) 0))))
+                  (add-before 'build 'install-assets
+                    ;; Since the ASDF build system generates a new .asd with a
+                    ;; possibly suffixed and thus illegal version number, assets
+                    ;; should not be installed after the 'build phase or else
+                    ;; the illegal version will result in NIL in the .desktop
+                    ;; file.
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (invoke "make" "install-assets"
+                              (string-append "PREFIX="
+                                             (assoc-ref outputs "out"))))))))
+    (inputs
+     `(("next-gtk-webkit" ,next-gtk-webkit)
+       ;; Lisp libraries:
+       ("trivial-features" ,sbcl-trivial-features)
+       ("alexandria" ,sbcl-alexandria)
+       ("cl-strings" ,sbcl-cl-strings)
+       ("cl-string-match" ,sbcl-cl-string-match)
+       ("puri" ,sbcl-puri)
+       ("queues.simple-queue" ,sbcl-queues.simple-queue)
+       ("sqlite" ,sbcl-cl-sqlite)
+       ("parenscript" ,sbcl-parenscript)
+       ("cl-json" ,sbcl-cl-json)
+       ("swank" ,sbcl-slime-swank)
+       ("cl-markup" ,sbcl-cl-markup)
+       ("cl-css" ,sbcl-cl-css)
+       ("usocket" ,sbcl-usocket)
+       ("bordeaux-threads" ,sbcl-bordeaux-threads)
+       ("s-xml-rpc" ,sbcl-s-xml-rpc)
+       ("unix-opts" ,sbcl-unix-opts)))
+    (synopsis "Infinitely extensible web-browser (with Lisp development files)")))
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 26d5f497e3..802b3dd38f 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -71,7 +71,7 @@
 (define-public wine
   (package
     (name "wine")
-    (version "3.0.3")
+    (version "3.0.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://dl.winehq.org/wine/source/"
@@ -79,7 +79,7 @@
                                   "/wine-" version ".tar.xz"))
               (sha256
                (base32
-                "18add8wqqz7y1aj8x0dcba7pqj9jkbhngwjv4yjmar3gxacmjr7b"))))
+                "037vlrk80lagy362w7500i2ldwvdwsadrknajzi67cvxpvnqhnnl"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index 6cbfd76e10..b95be3ec14 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
 ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -26,6 +26,7 @@
 (define-module (gnu packages wxwidgets)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module ((guix licenses) #:prefix l:)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system python)
@@ -140,12 +141,14 @@ and many other languages.")
            (version "3.1.0")
            (source
             (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/wxWidgets/wxWidgets/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append "wxwidgets-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/wxWidgets/wxWidgets.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "wxwidgets" version))
               (sha256
-               (base32 "1yan5ysjwh6a7xw82sfjd1xn0nsy1dn2s0cx9ac7cw19191blc3y"))))
+               (base32
+                "14kl1rsngm70v3mbyv1mal15iz2b18k97avjx8jn7s81znha1c7f"))))
            (inputs `(("gstreamer" ,gstreamer)
                      ("gst-plugins-base" ,gst-plugins-base)
                      ,@(package-inputs wxwidgets)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 966847e245..82ed065a3f 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -131,14 +131,15 @@ program.")
     (name "xclip")
     (version "0.13")
     (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://github.com/astrand/xclip"
-                            "/archive/" version ".tar.gz"))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-           "0n7pczk9vv30zf8qfln8ba3hnif9yfdxg0m84djac469wc28hnya"))))
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/astrand/xclip.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0q0hmvcjlv8arhh1pzhja2wglyj6n7z209jnpnzd281kqqv4czcs"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f))                              ;there is no test suite
@@ -497,14 +498,14 @@ of the screen selected by mouse.")
     (name "slop")
     (version "7.4")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/naelstrof/slop/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/naelstrof/slop.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1kpdrikgpjb4fpxalb6pjcih5njv1w9cnrjj5612ywdv1q5mjs48"))))
+                "0fgd8a2dqkg64all0f96sca92sdss9r3pzmv5kck46b99z2325z6"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f)) ; no "check" target
@@ -530,14 +531,14 @@ selection's dimensions to stdout.")
     (name "maim")
     (version "5.5.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/naelstrof/maim/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/naelstrof/maim.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "14zdhsx1cndg5m8wbv1rqmza7wgknwfj5h0knzxg3p2jkjw66i95"))))
+                "14mfxdm39kc5jk8wysrzx05ag2g4sk9l24i8m5pzqn8j611150v3"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f))            ; no "check" target
@@ -849,15 +850,15 @@ within a single process.")
   (package
     (name "xcape")
     (version "1.2")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append "https://github.com/alols/" name
-                            "/archive/v" version ".tar.gz"))
-        (file-name (string-append name "-" version ".tar.gz"))
-        (sha256
-          (base32
-            "0898zc3vwxia00h9kfknpf7jygxgwggrx8v5mxc31w4lzn2dhzm2"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/alols/xcape.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "09a05cxgrip6nqy1qmwblamp2bhknqnqmxn7i2a1rgxa0nba95dm"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no check target