summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/base.scm28
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/certs.scm4
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/documentation.scm4
-rw-r--r--gnu/packages/freedesktop.scm8
-rw-r--r--gnu/packages/gcc.scm2
-rw-r--r--gnu/packages/gl.scm29
-rw-r--r--gnu/packages/gnuzilla.scm4
-rw-r--r--gnu/packages/gtk.scm21
-rw-r--r--gnu/packages/java.scm50
-rw-r--r--gnu/packages/linux.scm20
-rw-r--r--gnu/packages/maths.scm19
-rw-r--r--gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch15
-rw-r--r--gnu/packages/patches/meson-for-build-rpath.patch7
-rw-r--r--gnu/packages/patches/openblas-fix-tests-i686.patch35
-rw-r--r--gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch55
-rw-r--r--gnu/packages/patches/zathura-plugindir-environment-variable.patch11
-rw-r--r--gnu/packages/pdf.scm145
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/xdisorg.scm5
-rw-r--r--gnu/packages/xorg.scm16
-rw-r--r--guix/build/ant-build-system.scm89
24 files changed, 372 insertions, 210 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9057826770..34c0003f23 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -926,7 +926,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/mcrypt-CVE-2012-4426.patch			\
   %D%/packages/patches/mcrypt-CVE-2012-4527.patch			\
   %D%/packages/patches/mesa-skip-disk-cache-test.patch		\
-  %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch	\
   %D%/packages/patches/meson-for-build-rpath.patch		\
   %D%/packages/patches/metabat-fix-compilation.patch		\
   %D%/packages/patches/mhash-keygen-test-segfault.patch		\
@@ -970,6 +969,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/omake-fix-non-determinism.patch	\
   %D%/packages/patches/ola-readdir-r.patch			\
   %D%/packages/patches/opencascade-oce-glibc-2.26.patch		\
+  %D%/packages/patches/openblas-fix-tests-i686.patch		\
   %D%/packages/patches/openexr-missing-samples.patch		\
   %D%/packages/patches/openfoam-4.1-cleanup.patch			\
   %D%/packages/patches/openldap-CVE-2017-9287.patch		\
@@ -1212,6 +1212,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/xinetd-fix-fd-leak.patch			\
   %D%/packages/patches/xinetd-CVE-2013-4342.patch		\
   %D%/packages/patches/xmodmap-asprintf.patch 			\
+  %D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
   %D%/packages/patches/zathura-plugindir-environment-variable.patch
 
 MISC_DISTRO_FILES =				\
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index fef6002b3c..de0aa92adb 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
@@ -1131,7 +1131,7 @@ command.")
 (define-public tzdata
   (package
     (name "tzdata")
-    (version "2018d")
+    (version "2018e")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -1139,7 +1139,7 @@ command.")
                    version ".tar.gz"))
              (sha256
               (base32
-               "0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
+               "0bk97fv2i5ns42prpmlaadsswdjwv0ifi7whj2s4q6l44rcqwa3b"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f
@@ -1189,7 +1189,7 @@ command.")
                                 version ".tar.gz"))
                           (sha256
                            (base32
-                            "1nd882yhsazmcfqmcqyfig3axycryl30gmizgqhqsx5dpa2lxr3x"))))))
+                            "1kpb02631s58i068mwq63xlamcv1ffj4p6y4wpb9kdl01vr0qd6a"))))))
     (home-page "https://www.iana.org/time-zones")
     (synopsis "Database of current and historical time zones")
     (description "The Time Zone Database (often called tz or zoneinfo)
@@ -1205,7 +1205,25 @@ and daylight-saving rules.")
 ;;; will typically be obsolete and should never be referred to by a built
 ;;; package.
 (define-public tzdata-for-tests
-  (hidden-package tzdata))
+  (hidden-package
+   (package
+     (inherit tzdata)
+     (version "2018d")
+     (source (origin
+               (method url-fetch)
+               (uri (string-append "https://www.iana.org/time-zones/repository"
+                                   "/releases/tzdata" version ".tar.gz"))
+               (sha256
+                (base32
+                 "0m6020dnk9r40z7k36jp13fa06xip3hn0fdx3nly66jzxgffs1ji"))))
+     (inputs `(("tzcode" ,(origin
+                            (method url-fetch)
+                            (uri (string-append
+                                  "http://www.iana.org/time-zones/repository/releases/tzcode"
+                                  version ".tar.gz"))
+                            (sha256
+                             (base32
+                              "1nd882yhsazmcfqmcqyfig3axycryl30gmizgqhqsx5dpa2lxr3x")))))))))
 
 (define-public libiconv
   (package
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index a6d9fa8cfc..e693aec4ac 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -100,7 +100,7 @@ generate such a compilation database.")
 (define-public meson
   (package
     (name "meson")
-    (version "0.45.1")
+    (version "0.46.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/mesonbuild/meson/"
@@ -108,7 +108,7 @@ generate such a compilation database.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "1yqa4337nb8w92bvr91rsxmn0xkf7pmdybq9ljvnqmdvn7dv02sd"))))
+                "0y7f5hhy16q99l7x06x8sid9p9dbg6d7i60zs7c07cz5ww1plj8r"))))
     (build-system python-build-system)
     (arguments
      `(;; FIXME: Tests require many additional inputs, a fix for the RUNPATH
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
index 3f592cf17b..0b8d449998 100644
--- a/gnu/packages/certs.scm
+++ b/gnu/packages/certs.scm
@@ -76,7 +76,7 @@
 (define-public nss-certs
   (package
     (name "nss-certs")
-    (version "3.36.1")
+    (version "3.37.3")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -87,7 +87,7 @@
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0"))))
+                "1gn5bjhkvnh3zc7h74qy2y3a03rbn85qqgxqdf3bs46h2nvbpwls"))))
     (build-system gnu-build-system)
     (outputs '("out"))
     (native-inputs
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 0f1e47f485..c2005144b4 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -705,14 +705,14 @@ as a drop-in replacement of MySQL.")
 (define-public postgresql
   (package
     (name "postgresql")
-    (version "10.3")
+    (version "10.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://ftp.postgresql.org/pub/source/v"
                                   version "/postgresql-" version ".tar.bz2"))
               (sha256
                (base32
-                "06lkcwsf851z49zqcws5yc77s2yrbaazf2nvbk38hpp31rw6i8kf"))))
+                "0j000bcs9w8wrllg8m7j1lxsd3n2x0yzkack5p35cmxx20iq2q0v"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-uuid=e2fs")
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index 2ffe541294..f533535f03 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -123,14 +123,14 @@ markup) can be customized and extended by the user.")
 (define-public doxygen
   (package
     (name "doxygen")
-    (version "1.8.13")
+    (version "1.8.14")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
                                  name "-" version ".src.tar.gz"))
              (sha256
               (base32
-               "0srzawqn3apzrg8hwycwrawdylmmjrndij4spw6xr1vspn3phrmg"))
+               "0kcxymbam9jwiyjwyvwdjj0h74lbb6c467szsipzbxjyfl17wxfi"))
              (patches (search-patches "doxygen-test.patch"))))
     (build-system cmake-build-system)
     (native-inputs
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7df44dfb0f..26312e773c 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -147,14 +147,14 @@ freedesktop.org project.")
 (define-public libinput
   (package
     (name "libinput")
-    (version "1.10.3")
+    (version "1.11.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://freedesktop.org/software/libinput/"
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0002xk9cqzpqrlhgav1wp8nimsbp9d2w8rd8mgygczq2hjar0lhd"))))
+                "1z7i8vk0i61npkdqwsk85wp9v4yjlvylqnyydikjqnbsrjp9abk4"))))
     (build-system meson-build-system)
     (arguments
      `(#:configure-flags '("-Ddocumentation=false")))
@@ -474,7 +474,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
 (define-public wayland-protocols
   (package
     (name "wayland-protocols")
-    (version "1.13")
+    (version "1.14")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -482,7 +482,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
                     "wayland-protocols-" version ".tar.xz"))
               (sha256
                (base32
-                "0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07"))))
+                "1xknjcfhqvdi1s4iq4kk1q61fg2rar3g8q4vlqarpd324imqjj4n"))))
     (build-system gnu-build-system)
     (inputs
      `(("wayland" ,wayland)))
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 5012d9a913..130c212669 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -612,7 +612,7 @@ as the 'native-search-paths' field."
              (lambda* (#:key outputs #:allow-other-keys)
                (for-each delete-file
                          (find-files (string-append (assoc-ref outputs "out") "/bin")
-                                     ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc.*)"))
+                                     ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
                #t))))))))
 
 (define %generic-search-paths
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 503308ac16..bde6e55607 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -224,7 +224,7 @@ also known as DXTn or DXTC) for Mesa.")
 (define-public mesa
   (package
     (name "mesa")
-    (version "17.3.8")
+    (version "18.1.2")
     (source
       (origin
         (method url-fetch)
@@ -236,10 +236,9 @@ also known as DXTn or DXTC) for Mesa.")
                                   version "/mesa-" version ".tar.xz")))
         (sha256
          (base32
-          "1cd6a4ll5arla3kncxnw9196ak1v4rvnb098aa7lm3n4h7r9p7cg"))
+          "1ydivzm4c2k53b65lvm11d62z140xlmd7viw63bl5cm5idjg02q7"))
         (patches
-         (search-patches "mesa-wayland-egl-symbols-check-mips.patch"
-                         "mesa-skip-disk-cache-test.patch"))))
+         (search-patches "mesa-skip-disk-cache-test.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(;; The following are in the Requires.private field of gl.pc.
@@ -260,7 +259,7 @@ also known as DXTn or DXTC) for Mesa.")
         ("libxvmc" ,libxvmc)
         ,@(match (%current-system)
             ((or "x86_64-linux" "i686-linux")
-             `(("llvm" ,llvm-3.9.1))) ; exactly 3.9.0 or 3.9.1 for swrast
+             `(("llvm" ,llvm)))
             (_
              `()))
         ("makedepend" ,makedepend)
@@ -276,15 +275,15 @@ also known as DXTn or DXTC) for Mesa.")
        '(,@(match (%current-system)
              ("armhf-linux"
               ;; TODO: Add etnaviv,imx when libdrm supports etnaviv.
-              '("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,vc4,virgl"))
+              '("--with-gallium-drivers=freedreno,nouveau,r300,r600,swrast,tegra,vc4,virgl"))
              ("aarch64-linux"
               ;; TODO: Fix svga driver for aarch64 and armhf.
-              '("--with-gallium-drivers=freedreno,nouveau,pl111,r300,r600,swrast,vc4,virgl"))
+              '("--with-gallium-drivers=freedreno,nouveau,pl111,r300,r600,swrast,tegra,vc4,virgl"))
              (_
               '("--with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
          ;; Enable various optional features.  TODO: opencl requires libclc,
          ;; omx requires libomxil-bellagio
-         "--with-platforms=x11,drm,wayland,surfaceless"
+         "--with-platforms=x11,drm,surfaceless,wayland"
          "--enable-glx-tls"        ;Thread Local Storage, improves performance
          ;; "--enable-opencl"
          ;; "--enable-omx"
@@ -328,23 +327,15 @@ also known as DXTn or DXTC) for Mesa.")
          (add-after
            'unpack 'patch-create_test_cases
            (lambda _
-             (substitute* "src/compiler/glsl/tests/lower_jumps/create_test_cases.py"
-               (("/usr/bin/env bash") (which "bash")))
              (substitute* "src/intel/genxml/gen_pack_header.py"
                (("/usr/bin/env python2") (which "python")))
              #t))
          (add-before
            'build 'fix-dlopen-libnames
            (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((s2tc (assoc-ref inputs "s2tc"))
-                   (out (assoc-ref outputs "out")))
+             (let ((out (assoc-ref outputs "out")))
                ;; Remain agnostic to .so.X.Y.Z versions while doing
                ;; the substitutions so we're future-safe.
-               (substitute*
-                   '("src/gallium/auxiliary/util/u_format_s3tc.c"
-                     "src/mesa/main/texcompress_s3tc.c")
-                 (("\"libtxc_dxtn\\.so")
-                  (string-append "\"" s2tc "/lib/libtxc_dxtn.so")))
                (substitute* "src/glx/dri_common.c"
                  (("dlopen\\(\"libGL\\.so")
                   (string-append "dlopen(\"" out "/lib/libGL.so")))
@@ -559,7 +550,7 @@ OpenGL graphics API.")
 (define-public libepoxy
   (package
     (name "libepoxy")
-    (version "1.5.0")
+    (version "1.5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -567,7 +558,7 @@ OpenGL graphics API.")
                     version "/libepoxy-" version ".tar.xz"))
               (sha256
                (base32
-                "1md58amxyp34yjnw4xa185hw5jm0hnb2xnhdc28zdsx6k19rk52c"))))
+                "1n57xj5i6giw4mp5s59w1m9bm33sd6gjg7r00dzzvcwya6326mm9"))))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index df87700d6f..ba45d1f4f6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -291,7 +291,7 @@ in the Mozilla clients.")
 (define-public nss
   (package
     (name "nss")
-    (version "3.36.1")
+    (version "3.37.3")
     (source (origin
               (method url-fetch)
               (uri (let ((version-with-underscores
@@ -302,7 +302,7 @@ in the Mozilla clients.")
                       "nss-" version ".tar.gz")))
               (sha256
                (base32
-                "1zrb49mp7cy3snnday1zv8d76h1mgppbcwxnlkqsgxlga8fl89b0"))
+                "1gn5bjhkvnh3zc7h74qy2y3a03rbn85qqgxqdf3bs46h2nvbpwls"))
               ;; Create nss.pc and nss-config.
               (patches (search-patches "nss-pkgconfig.patch"
                                        "nss-increase-test-timeout.patch"))))
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 90878ee1e9..2e641c61c5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -42,6 +42,7 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
@@ -670,7 +671,7 @@ application suites.")
    (name "gtk+")
    ;; NOTE: When updating the version of 'gtk+', the hash of 'mate-themes' in
    ;;       mate.scm will also need to be updated.
-   (version "3.22.29")
+   (version "3.22.30")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/" name "/"
@@ -678,7 +679,7 @@ application suites.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "1y5vzdbgww9l7xcrg13azff2rs94kggkywmpcsh39h7w76wn8zd0"))
+              "0rv5k8fyi2i19k4zncai6vf429s6zy3kncr8vb6f3m034z0sb951"))
             (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"
                                      "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch"))))
    (outputs '("out" "bin" "doc"))
@@ -1362,15 +1363,15 @@ and routines to assist in editing internationalized text.")
 (define-public girara
   (package
     (name "girara")
-    (version "0.2.8")
+    (version "0.2.9")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/girara/download/girara-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "18wss3sak3djip090v2vdbvq1mvkwcspfswc87zbvv3magihan98"))))
+                "0lkxrfna818wkkr2f6mdzf15y5z8xl1b9592ylmzjbqsqya3w7x8"))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("check" ,check)
                      ("gettext" ,gettext-minimal)
@@ -1379,13 +1380,7 @@ and routines to assist in editing internationalized text.")
     ;; Listed in 'Requires.private' of 'girara.pc'.
     (propagated-inputs `(("gtk+" ,gtk+)))
     (arguments
-     `(#:make-flags
-       `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
-         "COLOR=0" "CC=gcc")
-       #:test-target "test"
-       #:disallowed-references (,xorg-server-1.19.3)
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure)
+     `(#:phases (modify-phases %standard-phases
                   (add-before 'check 'start-xserver
                     ;; Tests require a running X server.
                     (lambda* (#:key inputs #:allow-other-keys)
@@ -1401,7 +1396,7 @@ and routines to assist in editing internationalized text.")
                         (setenv "DBUS_FATAL_WARNINGS" "0")
                         (zero? (system (string-append xorg-server "/bin/Xvfb "
                                                       display " &")))))))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (home-page "https://pwmt.org/projects/girara/")
     (synopsis "Library for minimalistic gtk+3 user interfaces")
     (description "Girara is a library that implements a user interface that
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 30a9b77380..8caad1b51a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -212,7 +212,13 @@ JNI.")
                 "1cg0lga887qz5iizh6mlkxp01lciymrhmp7wzxpl6zpnldxmzrjx"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f ; no "check" target
+     `(#:imported-modules ((guix build syscalls)
+                           ,@%gnu-build-system-modules)
+       #:modules ((srfi srfi-1)
+                  (guix build gnu-build-system)
+                  (guix build utils)
+                  (guix build syscalls))
+       #:tests? #f ; no "check" target
        #:phases
        (modify-phases %standard-phases
          (delete 'bootstrap)
@@ -254,10 +260,42 @@ JNI.")
              (zero? (system* "bash" "bootstrap.sh"
                              (string-append "-Ddist.dir="
                                             (assoc-ref %outputs "out"))))))
+         (add-after 'build 'strip-jar-timestamps ;based on ant-build-system
+           (lambda* (#:key outputs #:allow-other-keys)
+             (define (repack-archive jar)
+               (let* ((dir (mkdtemp! "jar-contents.XXXXXX"))
+                      (manifest (string-append dir "/META-INF/MANIFESTS.MF")))
+                 (with-directory-excursion dir
+                   (invoke "unzip" jar))
+                 (delete-file jar)
+                 ;; XXX: copied from (gnu build install)
+                 (for-each (lambda (file)
+                             (let ((s (lstat file)))
+                               (unless (eq? (stat:type s) 'symlink)
+                                 (utime file  0 0 0 0))))
+                           (find-files dir #:directories? #t))
+                 ;; It is important that the manifest appears first.
+                 (with-directory-excursion dir
+                   (let* ((files (find-files "." ".*" #:directories? #t))
+                          ;; To ensure that the reference scanner can
+                          ;; detect all store references in the jars
+                          ;; we disable compression with the "-0" option.
+                          (command (if (file-exists? manifest)
+                                       `("zip" "-0" "-X" ,jar ,manifest
+                                         ,@files)
+                                       `("zip" "-0" "-X" ,jar ,@files))))
+                     (apply invoke command)))))
+             (for-each repack-archive
+                    (find-files
+                     (string-append (assoc-ref %outputs "out") "/lib")
+                     "\\.jar$"))
+             #t))
          (delete 'install))))
     (native-inputs
      `(("jikes" ,jikes)
-       ("jamvm" ,jamvm-1-bootstrap)))
+       ("jamvm" ,jamvm-1-bootstrap)
+       ("unzip" ,unzip)
+       ("zip", zip)))
     (home-page "http://ant.apache.org")
     (synopsis "Build tool for Java")
     (description
@@ -1649,7 +1687,9 @@ new Date();"))
                                (string-append "-Ddist.dir="
                                               (assoc-ref outputs "out"))))))))))
     (native-inputs
-     `(("jdk" ,icedtea-8 "jdk")))))
+     `(("jdk" ,icedtea-8 "jdk")
+       ("zip" ,zip)
+       ("unzip" ,unzip)))))
 
 ;; The 1.9.x series is the last that can be built with GCJ.  The 1.10.x series
 ;; requires Java 8.
@@ -1664,7 +1704,9 @@ new Date();"))
                (base32
                 "1k28mka0m3isy9yr8gz84kz1f3f879rwaxrd44vdn9xbfwvwk86n"))))
     (native-inputs
-     `(("jdk" ,icedtea-7 "jdk")))))
+     `(("jdk" ,icedtea-7 "jdk")
+       ("zip" ,zip)
+       ("unzip" ,unzip)))))
 
 (define-public ant-apache-bcel
   (package
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7e81f6387e..8c240b5990 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -3045,15 +3045,15 @@ Linux Device Mapper multipathing driver:
 (define-public libaio
   (package
     (name "libaio")
-    (version "0.3.110")
+    (version "0.3.111")
     (source (origin
               (method url-fetch)
-             (uri (list
-                   (string-append "mirror://debian/pool/main/liba/libaio/"
-                                  name "_" version ".orig.tar.gz")))
-             (sha256
-              (base32
-               "0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"))))
+              (uri (list
+                    (string-append "https://releases.pagure.org/libaio/"
+                                   name "-" version ".tar.gz")))
+              (sha256
+               (base32
+                "0ajhzbqjwsmz51gwccfyw6w9k4j4gmxcl2ph30sfn2gxv0d8gkv2"))))
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags
@@ -3061,7 +3061,7 @@ Linux Device Mapper multipathing driver:
        #:test-target "partcheck" ; need root for a full 'check'
        #:phases
        (modify-phases %standard-phases (delete 'configure)))) ; no configure script
-    (home-page "http://lse.sourceforge.net/io/aio.html")
+    (home-page "https://pagure.io/libaio")
     (synopsis "Linux-native asynchronous I/O access library")
     (description
      "This library enables userspace to use Linux kernel asynchronous I/O
@@ -3095,7 +3095,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
 (define-public bluez
   (package
     (name "bluez")
-    (version "5.49")
+    (version "5.50")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3103,7 +3103,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
+                "048r91vx9gs5nwwbah2s0xig04nwk14c5s0vb7qmaqdvighsmz2z"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ee9d84d1c3..7d70ac1fa6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2788,7 +2788,7 @@ parts of it.")
 (define-public openblas
   (package
     (name "openblas")
-    (version "0.2.20")
+    (version "0.3.0")
     (source
      (origin
        (method url-fetch)
@@ -2797,7 +2797,7 @@ parts of it.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1bd03c5xni0bla0wg1wba841b36b0sg13sjja955kn5xzvy4i61a"))))
+         "14a9vyvp2k5zpd0axbnqk0d3khc1v3cck10nb5fj7d2sgn8490ky"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -2836,6 +2836,16 @@ parts of it.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
+         ;; Conditionally apply a patch on i686 to avoid rebuilding
+         ;; all architectures.  FIXME: This should be moved to the
+         ;; (source (patches ...)) field in the next rebuild cycle.
+         ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                          (%current-system)))
+               `((add-after 'unpack 'fix-tests
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (invoke "patch" "-p1"
+                             "--input" (assoc-ref inputs "i686-fix-tests.patch")))))
+               '())
          (add-before 'build 'set-extralib
            (lambda* (#:key inputs #:allow-other-keys)
              ;; Get libgfortran found when building in utest.
@@ -2847,6 +2857,11 @@ parts of it.")
      `(("fortran-lib" ,gfortran "lib")))
     (native-inputs
      `(("cunit" ,cunit)
+       ,@(if (string-prefix? "i686" (or (%current-target-system)
+                                        (%current-system)))
+             `(("i686-fix-tests.patch"
+                ,(search-patch "openblas-fix-tests-i686.patch")))
+             '())
        ("fortran" ,gfortran)
        ("perl" ,perl)))
     (home-page "http://www.openblas.net/")
diff --git a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch b/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
deleted file mode 100644
index aa2278697e..0000000000
--- a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix 'wayland-egl-symbols-check' on mips64el-linux, where an additional symbol
-(_ftext) is present in libwayland-egl.so.
-
-Patch by Mark H Weaver <mhw@netris.org>
-
---- mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check.orig	2016-01-18 02:39:25.000000000 -0500
-+++ mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check	2016-10-24 16:25:07.110721426 -0400
-@@ -7,6 +7,7 @@
- wl_egl_window_destroy
- wl_egl_window_get_attached_size
- _fini
-+_ftext
- _init
- EOF
- done)
diff --git a/gnu/packages/patches/meson-for-build-rpath.patch b/gnu/packages/patches/meson-for-build-rpath.patch
index 4e20c9aed3..2151d53565 100644
--- a/gnu/packages/patches/meson-for-build-rpath.patch
+++ b/gnu/packages/patches/meson-for-build-rpath.patch
@@ -6,14 +6,13 @@ Patch by Peter Mikkelsen <petermikkelsen10@gmail.com>
 
 --- meson-0.42.0/mesonbuild/scripts/meson_install.py.orig	2017-09-09 01:49:39.147374148 +0200
 +++ meson-0.42.0/mesonbuild/scripts/meson_install.py	2017-09-09 01:51:01.209134717 +0200
-@@ -345,15 +345,6 @@
+@@ -391,14 +391,6 @@
                      print("Symlink creation does not work on this platform. "
                            "Skipping all symlinking.")
                      printed_symlink_error = True
--        if is_elf_platform() and os.path.isfile(outname):
+-        if os.path.isfile(outname):
 -            try:
--                e = depfixer.Elf(outname, False)
--                e.fix_rpath(install_rpath)
+-                depfixer.fix_rpath(outname, install_rpath, False)
 -            except SystemExit as e:
 -                if isinstance(e.code, int) and e.code == 0:
 -                    pass
diff --git a/gnu/packages/patches/openblas-fix-tests-i686.patch b/gnu/packages/patches/openblas-fix-tests-i686.patch
new file mode 100644
index 0000000000..3325546ea3
--- /dev/null
+++ b/gnu/packages/patches/openblas-fix-tests-i686.patch
@@ -0,0 +1,35 @@
+Fix a test failure on some i686 systems:
+
+https://github.com/xianyi/OpenBLAS/issues/1575
+
+This patch is a squashed version of these commits:
+
+https://github.com/xianyi/OpenBLAS/pull/1583
+
+diff --git a/kernel/x86/KERNEL.NEHALEM b/kernel/x86/KERNEL.NEHALEM
+index 835520ef..65b03ae5 100644
+--- a/kernel/x86/KERNEL.NEHALEM
++++ b/kernel/x86/KERNEL.NEHALEM
+@@ -1,3 +1 @@
+ include $(KERNELDIR)/KERNEL.PENRYN
+-SSWAPKERNEL  = ../arm/swap.c
+-DSWAPKERNEL  = ../arm/swap.c
+diff --git a/kernel/x86/swap.S b/kernel/x86/swap.S
+index 54b00b33..e30c2789 100644
+--- a/kernel/x86/swap.S
++++ b/kernel/x86/swap.S
+@@ -138,6 +138,14 @@
+ /* INCX != 1 or INCY != 1 */
+ 
+ .L14:
++	cmpl	$0, %ebx
++	jne	.L141
++	cmpl	$0, %ecx
++	jne	.L141
++/* INCX == 0 and INCY == 0 */
++	jmp	.L27
++
++.L141:
+ 	movl	%edx, %eax
+ 	sarl	$2,   %eax
+ 	jle	.L28
diff --git a/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch b/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch
new file mode 100644
index 0000000000..63e058bbef
--- /dev/null
+++ b/gnu/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch
@@ -0,0 +1,55 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Mon, 18 Jun 2018 02:37:41 +0200
+Subject: zathura-pdf-mupdf: Link to JPEG libraries.
+
+As of version 0.3.3, zathura-pdf-mupdf no longer links to some required
+JPEG libraries, leading to such errors as:
+
+  $ zathura foo.pdf
+  error: Could not load plugin '/gnu/store/...-profile/lib/zathura/libpdf-mupdf.so' (/gnu/store/...-profile/lib/zathura/libpdf-mupdf.so: undefined symbol: jpeg_resync_to_restart).
+
+The patch below, copied verbatim from Arch[0], fixes that.
+Its description happens to match our reality, too.
+
+[0]: https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/zathura-pdf-mupdf
+---
+From 3fb0ff750373d45d4f5172ce1d41b74183cd07e8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= <johannes@kyriasis.com>
+Date: Sat, 24 Mar 2018 14:31:18 +0100
+Subject: [PATCH] Explicitly link against jbig2dec, openjp2, and jpeg
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Normally these are statically linked into libmupdfthird, but we delete
+those to make mupdf use the system libraries.  Previously
+zathura-pdf-mupdf explicitly linked against them, but this is
+technically incorrect since they are supposed to be in libmupdfthird so
+that was removed.  This commit essentially reverts that in the new build
+system.
+
+Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
+---
+ meson.build | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3b0d7b7..ae2fc9c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -22,7 +22,11 @@ cairo = dependency('cairo')
+ mupdf = cc.find_library('mupdf')
+ mupdfthird = cc.find_library('mupdfthird')
+ 
+-build_dependencies = [zathura, girara, glib, cairo, mupdf, mupdfthird]
++jbig2dec = cc.find_library('jbig2dec')
++openjp2 = cc.find_library('openjp2')
++jpeg = cc.find_library('jpeg')
++
++build_dependencies = [zathura, girara, glib, cairo, mupdf, mupdfthird, jbig2dec, openjp2, jpeg]
+ 
+ # defines
+ defines = [
+-- 
+2.16.3
+
diff --git a/gnu/packages/patches/zathura-plugindir-environment-variable.patch b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
index 2e3ea527d0..a8ffff965a 100644
--- a/gnu/packages/patches/zathura-plugindir-environment-variable.patch
+++ b/gnu/packages/patches/zathura-plugindir-environment-variable.patch
@@ -8,15 +8,15 @@ different file formats) called ZATHURA_PLUGIN_PATH. Command line option
 -p still takes precedence.
 
 Patch by Paul van der Walt <paul@denknerd.org>
+Adjusted for Zathura 0.3.9 by Tobias Geerinckx-Rice <me@tobias.gr>
 ---
  zathura/zathura.c | 7 +++++++
  1 file changed, 7 insertions(+)
 
 diff --git a/zathura/zathura.c b/zathura/zathura.c
-index 589dd28..375ec54 100644
 --- a/zathura/zathura.c
 +++ b/zathura/zathura.c
-@@ -413,6 +413,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
+@@ -597,6 +597,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
    g_return_if_fail(zathura != NULL);
    g_return_if_fail(zathura->plugins.manager != NULL);
  
@@ -28,8 +28,5 @@ index 589dd28..375ec54 100644
 +    dir = g_getenv("ZATHURA_PLUGIN_PATH");
 +
    if (dir != NULL) {
-     girara_list_t* paths = girara_split_path_array(dir);
-     GIRARA_LIST_FOREACH(paths, char*, iter, path)
--- 
-2.3.1
-
+     set_plugin_dir(zathura, dir);
+ #ifdef ZATHURA_PLUGINDIR
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index fb7fd3d2fe..067b4061e8 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +37,7 @@
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system cmake)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages)
@@ -343,26 +344,32 @@ reading and editing of existing PDF files.")
 (define-public zathura-cb
   (package
     (name "zathura-cb")
-    (version "0.1.7")
+    (version "0.1.8")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura-cb/download/zathura-cb-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "0r4viisycj39kaz4281cmkr7n9w5q96dmlf7nf45n8zq8qy2npw3"))))
+                "1i6cf0vks501cggwvfsl6qb7mdaf3sszdymphimfvnspw810faj5"))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("libarchive" ,libarchive)
               ("zathura" ,zathura)))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "PLUGINDIR=" %output "/lib/zathura")
-                          "CC=gcc")
-       #:tests? #f ; Package does not contain tests.
+     `(#:tests? #f                      ; package does not contain tests
        #:phases
-       (modify-phases %standard-phases (delete 'configure))))
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-plugin-directory
+           ;; Something of a regression in 0.1.8: the new Meson build system
+           ;; now hard-codes an incorrect plugin directory.  Fix it.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("(install_dir:).*" _ key)
+                (string-append key
+                               "'" (assoc-ref outputs "out") "/lib/zathura'\n")))
+             #t)))))
     (home-page "https://pwmt.org/projects/zathura-cb/")
     (synopsis "Comic book support for zathura (libarchive backend)")
     (description "The zathura-cb plugin adds comic book support to zathura
@@ -372,26 +379,32 @@ using libarchive.")
 (define-public zathura-ps
   (package
     (name "zathura-ps")
-    (version "0.2.5")
+    (version "0.2.6")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "1x4knqja8pw2a5cb3y2209nr3iddj1z8nwasy48v5nprj61fdxqj"))))
+                "0wygq89nyjrjnsq7vbpidqdsirjm6iq4w2rijzwpk2f83ys8bc3y"))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs `(("libspectre" ,libspectre)
               ("zathura" ,zathura)))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "PLUGINDIR=" %output "/lib/zathura")
-                          "CC=gcc")
-       #:tests? #f ; Package does not contain tests.
+     `(#:tests? #f                      ; package does not contain tests
        #:phases
-       (modify-phases %standard-phases (delete 'configure))))
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-plugin-directory
+           ;; Something of a regression in 0.2.6: the new Meson build system
+           ;; now hard-codes an incorrect plugin directory.  Fix it.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("(install_dir:).*" _ key)
+                (string-append key
+                               "'" (assoc-ref outputs "out") "/lib/zathura'\n")))
+             #t)))))
     (home-page "https://pwmt.org/projects/zathura-ps/")
     (synopsis "PS support for zathura (libspectre backend)")
     (description "The zathura-ps plugin adds PS support to zathura
@@ -401,27 +414,33 @@ using libspectre.")
 (define-public zathura-djvu
   (package
     (name "zathura-djvu")
-    (version "0.2.7")
+    (version "0.2.8")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "1sbfdsyp50qc85xc4458sn4w1rv1qbygdwmcr5kjlfpsmdq98vhd"))))
+                "0axkv1crdxn0z44whaqp2ibkdqcykhjnxk7qzms0dp1b67an9rnh"))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs
      `(("djvulibre" ,djvulibre)
        ("zathura" ,zathura)))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "PLUGINDIR=" %output "/lib/zathura")
-                          "CC=gcc")
-       #:tests? #f ; Package does not contain tests.
+     `(#:tests? #f                      ; package does not contain tests
        #:phases
-       (modify-phases %standard-phases (delete 'configure))))
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-plugin-directory
+           ;; Something of a regression in 0.2.8: the new Meson build system
+           ;; now hard-codes an incorrect plugin directory.  Fix it.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("(install_dir:).*" _ key)
+                (string-append key
+                               "'" (assoc-ref outputs "out") "/lib/zathura'\n")))
+             #t)))))
     (home-page "https://pwmt.org/projects/zathura-djvu/")
     (synopsis "DjVu support for zathura (DjVuLibre backend)")
     (description "The zathura-djvu plugin adds DjVu support to zathura
@@ -431,15 +450,17 @@ using the DjVuLibre library.")
 (define-public zathura-pdf-mupdf
   (package
     (name "zathura-pdf-mupdf")
-    (version "0.3.2")
+    (version "0.3.3")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura-pdf-mupdf"
-                              "/download/zathura-pdf-mupdf-" version ".tar.gz"))
+                              "/download/zathura-pdf-mupdf-" version ".tar.xz"))
+              (patches
+               (search-patches "zathura-pdf-mupdf-link-to-jpeg-libraries.patch"))
               (sha256
                (base32
-                "0xkajc3is7ncmb2fmymbzfgrran2bz12i7zsm1vvxhxds728h7ck"))))
+                "1zbdqimav4wfgimpy3nfzl10qj7vyv23rdy2z5z7z93jwbp2rc2j"))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs
      `(("jbig2dec" ,jbig2dec)
@@ -448,13 +469,20 @@ using the DjVuLibre library.")
        ("openjpeg" ,openjpeg)
        ("openssl" ,openssl)
        ("zathura" ,zathura)))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "PLUGINDIR=" %output "/lib/zathura")
-                          "CC=gcc")
-       #:tests? #f ;No tests.
-       #:phases (modify-phases %standard-phases (delete 'configure))))
+     `(#:tests? #f                      ; package does not contain tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-plugin-directory
+           ;; Something of a regression in 0.3.3: the new Meson build system
+           ;; now hard-codes an incorrect plugin directory.  Fix it.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("(install_dir:).*" _ key)
+                (string-append key
+                               "'" (assoc-ref outputs "out") "/lib/zathura'\n")))
+             #t)))))
     (home-page "https://pwmt.org/projects/zathura-pdf-mupdf/")
     (synopsis "PDF support for zathura (mupdf backend)")
     (description "The zathura-pdf-mupdf plugin adds PDF support to zathura
@@ -464,27 +492,33 @@ by using the @code{mupdf} rendering library.")
 (define-public zathura-pdf-poppler
   (package
     (name "zathura-pdf-poppler")
-    (version "0.2.8")
+    (version "0.2.9")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "1m55m7s7f8ng8a7lmcw9z4n5zv7xk4vp9n6fp9j84z6rk2imf7a2"))))
+                "1p4jcny0jniygns78mcf0nlm298dszh49qpmjmackrm6dq8hc25y"))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs
      `(("poppler" ,poppler)
        ("zathura" ,zathura)))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags (list (string-append "PREFIX=" %output)
-                          (string-append "PLUGINDIR=" %output "/lib/zathura")
-                          "CC=gcc")
-       #:tests? #f ; Package does not include tests.
+     `(#:tests? #f                      ; package does not include tests
        #:phases
-       (modify-phases %standard-phases (delete 'configure))))
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-plugin-directory
+           ;; Something of a regression in 0.2.9: the new Meson build system
+           ;; now hard-codes an incorrect plugin directory.  Fix it.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "meson.build"
+               (("(install_dir:).*" _ key)
+                (string-append key
+                               "'" (assoc-ref outputs "out") "/lib/zathura'\n")))
+             #t)))))
     (home-page "https://pwmt.org/projects/zathura-pdf-poppler/")
     (synopsis "PDF support for zathura (poppler backend)")
     (description "The zathura-pdf-poppler plugin adds PDF support to zathura
@@ -494,21 +528,24 @@ by using the poppler rendering engine.")
 (define-public zathura
   (package
     (name "zathura")
-    (version "0.3.8")
+    (version "0.3.9")
     (source (origin
               (method url-fetch)
               (uri
                (string-append "https://pwmt.org/projects/zathura/download/zathura-"
-                              version ".tar.gz"))
+                              version ".tar.xz"))
               (sha256
                (base32
-                "0dz5pky3vmf3s2cp2rv1c099gb1s49p9xlgm3ghyy4pzyxc8bgs6"))
+                "0z09kz92a2n8qqv3cy8bx5j5k612g2f9mmh4szqlc7yvi39aax1g"))
               (patches (search-patches
                         "zathura-plugindir-environment-variable.patch"))))
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("gettext" ,gettext-minimal)
                      ("glib:bin" ,glib "bin")
 
+                     ;; For building documentation.
+                     ("python-sphinx" ,python-sphinx)
+
                      ;; For tests.
                      ("check" ,check)
                      ("xorg-server" ,xorg-server-1.19.3)))
@@ -520,15 +557,9 @@ by using the poppler rendering engine.")
      (list (search-path-specification
             (variable "ZATHURA_PLUGIN_PATH")
             (files '("lib/zathura")))))
-    (build-system gnu-build-system)
+    (build-system meson-build-system)
     (arguments
-     `(#:make-flags
-       `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
-         "CC=gcc" "COLOR=0")
-       #:test-target "test"
-       #:disallowed-references (,xorg-server-1.19.3)
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure)
+     `(#:phases (modify-phases %standard-phases
                   (add-before 'check 'start-xserver
                     ;; Tests require a running X server.
                     (lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 7bb918605c..9c0ddd037e 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -7831,14 +7831,14 @@ python-xdo for newer bindings.)")
 (define-public python-mako
   (package
     (name "python-mako")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "Mako" version))
        (sha256
         (base32
-         "03dyxgjknp4ffsv7vwfd28l5bbpzi0ylp20543wpg3iahyyrwma8"))))
+         "1bi5gnr8r8dva06qpyx4kgjc6spm2k1y908183nbbaylggjzs0jf"))))
     (build-system python-build-system)
     (propagated-inputs
      `(("python-markupsafe" ,python-markupsafe)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index bbc413a130..dc38b41494 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2017 Marek Benc <dusxmt@gmx.com>
 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
 ;;; Copyright © 2018 Thomas Sigurdsen <tonton@riseup.net>
+;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -318,7 +319,7 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.91")
+    (version "2.4.92")
     (source
       (origin
         (method url-fetch)
@@ -328,7 +329,7 @@ rasterisation.")
                ".tar.bz2"))
         (sha256
          (base32
-          "0068dn47c478vm1lyyhy02gilrpsma0xmcblhvs0dzqyrk80wjk3"))
+          "1yirzx8hmlvv6r0l7lb3zxmgy5la2mri9al0k16xqfg19pdqzr79"))
         (patches (search-patches "libdrm-symbol-check.patch"))))
     (build-system gnu-build-system)
     (arguments
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 37c1612acc..a647b7e582 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -1025,7 +1025,7 @@ of new capabilities and controls for text keyboards.")
 (define-public libdmx
   (package
     (name "libdmx")
-    (version "1.1.3")
+    (version "1.1.4")
     (source
       (origin
         (method url-fetch)
@@ -1035,7 +1035,7 @@ of new capabilities and controls for text keyboards.")
                ".tar.bz2"))
         (sha256
           (base32
-            "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"))))
+            "0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"))))
     (build-system gnu-build-system)
     (inputs
       `(("xorgproto" ,xorgproto)
@@ -2960,7 +2960,7 @@ It supports a variety of Intel graphics chipsets.")
 (define-public xf86-video-mach64
   (package
     (name "xf86-video-mach64")
-    (version "6.9.5")
+    (version "6.9.6")
     (source
       (origin
         (method url-fetch)
@@ -2970,7 +2970,7 @@ It supports a variety of Intel graphics chipsets.")
                ".tar.bz2"))
         (sha256
           (base32
-           "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y"))
+           "171wg8r6py1l138s58rlapin3rlpwsg9spmvhc7l68mm3g3hf1vs"))
         (patches (search-patches "xf86-video-mach64-glibc-2.20.patch"))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
@@ -3722,7 +3722,7 @@ alternative implementations like XRandR or TwinView.")
 (define xkbcomp-intermediate ; used as input for xkeyboard-config
   (package
     (name "xkbcomp-intermediate")
-    (version "1.4.1")
+    (version "1.4.2")
     (source
       (origin
         (method url-fetch)
@@ -3732,7 +3732,7 @@ alternative implementations like XRandR or TwinView.")
                ".tar.bz2"))
         (sha256
          (base32
-          "0djp7bb0ch2ddwmc1bkg4fddxdvamiiz375x0r0ni5dcb37w93bl"))))
+          "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"))))
     (build-system gnu-build-system)
     (inputs
       `(("xorgproto" ,xorgproto)
@@ -5071,7 +5071,7 @@ over Xlib, including:
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "1.19.6")
+    (version "1.20.0")
     (source
       (origin
         (method url-fetch)
@@ -5080,7 +5080,7 @@ over Xlib, including:
               name "-" version ".tar.bz2"))
         (sha256
          (base32
-          "15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7"))
+          "1rnka3sp8yg2bir0bjjhwn33jikj8qd8ckqcxrs94w05bwc7v5lx"))
         (patches
          (list
           ;; See:
diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index d081a2b313..87c782d853 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -68,14 +68,11 @@
 
                  (target (@ (name "manifest"))
                          (mkdir (@ (dir "${manifest.dir}")))
-                         (echo (@ (file "${manifest.file}")
-                                  (message ,(string-append
-                                              (if main-class
-                                                (string-append
-                                                  "Main-Class: " main-class
-                                                  "${line.separator}")
-                                                "")
-                                              "")))))
+                         (manifest (@ (file "${manifest.file}"))
+                                   ,(if main-class
+                                       `(attribute (@ (name "Main-Class")
+                                                      (value ,main-class)))
+                                       "")))
 
                  (target (@ (name "compile"))
                          (mkdir (@ (dir "${classes.dir}")))
@@ -150,7 +147,8 @@ to the default GNU unpack strategy."
       (begin
         (mkdir "src")
         (with-directory-excursion "src"
-          (zero? (system* "jar" "-xf" source))))
+          (invoke "jar" "-xf" source))
+        #t)
       ;; Use GNU unpack strategy for things that aren't jar archives.
       ((assq-ref gnu:%standard-phases 'unpack) #:source source)))
 
@@ -171,7 +169,7 @@ to the default GNU unpack strategy."
 
 (define* (build #:key (make-flags '()) (build-target "jar")
                 #:allow-other-keys)
-  (zero? (apply system* `("ant" ,build-target ,@make-flags))))
+  (apply invoke `("ant" ,build-target ,@make-flags)))
 
 (define* (generate-jar-indices #:key outputs #:allow-other-keys)
   "Generate file \"META-INF/INDEX.LIST\".  This file does not use word wraps
@@ -194,50 +192,49 @@ repack them.  This is necessary to ensure that archives are reproducible."
     (format #t "repacking ~a\n" jar)
     (let* ((dir (mkdtemp! "jar-contents.XXXXXX"))
            (manifest (string-append dir "/META-INF/MANIFEST.MF")))
-      (and (with-directory-excursion dir
-             (zero? (system* "jar" "xf" jar)))
-           (delete-file jar)
-           ;; XXX: copied from (gnu build install)
-           (for-each (lambda (file)
-                       (let ((s (lstat file)))
-                         (unless (eq? (stat:type s) 'symlink)
-                           (utime file 0 0 0 0))))
-                     (find-files dir #:directories? #t))
+      (with-directory-excursion dir
+        (invoke "jar" "xf" jar))
+      (delete-file jar)
+      ;; XXX: copied from (gnu build install)
+      (for-each (lambda (file)
+                  (let ((s (lstat file)))
+                    (unless (eq? (stat:type s) 'symlink)
+                      (utime file 0 0 0 0))))
+                (find-files dir #:directories? #t))
 
-           ;; The jar tool will always set the timestamp on the manifest file
-           ;; and the containing directory to the current time, even when we
-           ;; reuse an existing manifest file.  To avoid this we use "zip"
-           ;; instead of "jar".  It is important that the manifest appears
-           ;; first.
-           (with-directory-excursion dir
-             (let* ((files (find-files "." ".*" #:directories? #t))
-                    ;; To ensure that the reference scanner can detect all
-                    ;; store references in the jars we disable compression
-                    ;; with the "-0" option.
-                    (command (if (file-exists? manifest)
-                                 `("zip" "-0" "-X" ,jar ,manifest ,@files)
-                                 `("zip" "-0" "-X" ,jar ,@files))))
-               (unless (zero? (apply system* command))
-                 (error "'zip' failed"))))
-           (utime jar 0 0)
-           #t)))
+      ;; The jar tool will always set the timestamp on the manifest file
+      ;; and the containing directory to the current time, even when we
+      ;; reuse an existing manifest file.  To avoid this we use "zip"
+      ;; instead of "jar".  It is important that the manifest appears
+      ;; first.
+      (with-directory-excursion dir
+        (let* ((files (find-files "." ".*" #:directories? #t))
+               ;; To ensure that the reference scanner can detect all
+               ;; store references in the jars we disable compression
+               ;; with the "-0" option.
+               (command (if (file-exists? manifest)
+                            `("zip" "-0" "-X" ,jar ,manifest ,@files)
+                            `("zip" "-0" "-X" ,jar ,@files))))
+          (apply invoke command)))
+      (utime jar 0 0)
+      #t))
 
-  (every (match-lambda
-           ((output . directory)
-            (every repack-archive (find-files directory "\\.jar$"))))
-         outputs))
+  (for-each (match-lambda
+              ((output . directory)
+               (for-each repack-archive (find-files directory "\\.jar$"))))
+            outputs)
+  #t)
 
 (define* (check #:key target (make-flags '()) (tests? (not target))
                 (test-target "check")
                 #:allow-other-keys)
   (if tests?
-      (zero? (apply system* `("ant" ,test-target ,@make-flags)))
-      (begin
-        (format #t "test suite not run~%")
-        #t)))
+      (apply invoke `("ant" ,test-target ,@make-flags))
+      (format #t "test suite not run~%"))
+  #t)
 
 (define* (install #:key (make-flags '()) #:allow-other-keys)
-  (zero? (apply system* `("ant" "install" ,@make-flags))))
+  (apply invoke `("ant" "install" ,@make-flags)))
 
 (define %standard-phases
   (modify-phases gnu:%standard-phases