summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbuild-aux/list-packages.scm11
-rw-r--r--gnu-system.am24
-rw-r--r--gnu/packages/fltk.scm2
-rw-r--r--gnu/packages/fonts.scm6
-rw-r--r--gnu/packages/games.scm25
-rw-r--r--gnu/packages/gl.scm58
-rw-r--r--gnu/packages/glib.scm29
-rw-r--r--gnu/packages/gnome.scm1
-rw-r--r--gnu/packages/gtk.scm9
-rw-r--r--gnu/packages/inkscape.scm21
-rw-r--r--gnu/packages/kde.scm2
-rw-r--r--gnu/packages/mail.scm2
-rw-r--r--gnu/packages/maths.scm1
-rw-r--r--gnu/packages/patches/inkscape-stray-comma.patch13
-rw-r--r--gnu/packages/patches/irrlicht-mesa-10.patch46
-rw-r--r--gnu/packages/patches/sdl-libx11-1.6.patch13
-rw-r--r--gnu/packages/patches/vtk-mesa-10.patch36
-rw-r--r--gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch63
-rw-r--r--gnu/packages/patches/xf86-video-ark-remove-mibstore.patch23
-rw-r--r--gnu/packages/patches/xf86-video-ast-remove-mibstore.patch90
-rw-r--r--gnu/packages/patches/xf86-video-geode-glibc-2.20.patch15
-rw-r--r--gnu/packages/patches/xf86-video-glint-remove-mibstore.patch24
-rw-r--r--gnu/packages/patches/xf86-video-i128-remove-mibstore.patch23
-rw-r--r--gnu/packages/patches/xf86-video-intel-compat-api.patch13
-rw-r--r--gnu/packages/patches/xf86-video-intel-glibc-2.20.patch15
-rw-r--r--gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch17
-rw-r--r--gnu/packages/patches/xf86-video-mga-glibc-2.20.patch17
-rw-r--r--gnu/packages/patches/xf86-video-nv-remove-mibstore.patch72
-rw-r--r--gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch15
-rw-r--r--gnu/packages/patches/xf86-video-openchrome-includes.patch35
-rw-r--r--gnu/packages/patches/xf86-video-r128-glibc-2.20.patch17
-rw-r--r--gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch16
-rw-r--r--gnu/packages/patches/xf86-video-sis-update-api.patch128
-rw-r--r--gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch26
-rw-r--r--gnu/packages/patches/xf86-video-tga-remove-mibstore.patch34
-rw-r--r--gnu/packages/patches/xf86-video-trident-remove-mibstore.patch23
-rw-r--r--gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch15
-rw-r--r--gnu/packages/pdf.scm7
-rw-r--r--gnu/packages/popt.scm4
-rw-r--r--gnu/packages/python.scm2
-rw-r--r--gnu/packages/sdl.scm4
-rw-r--r--gnu/packages/stalonetray.scm2
-rw-r--r--gnu/packages/vtk.scm8
-rw-r--r--gnu/packages/xdisorg.scm8
-rw-r--r--gnu/packages/xorg.scm940
-rw-r--r--gnu/services/xorg.scm4
-rw-r--r--guix/build/download.scm48
-rw-r--r--guix/scripts/lint.scm121
-rw-r--r--guix/tests.scm12
-rw-r--r--tests/lint.scm359
-rw-r--r--tests/packages.scm7
51 files changed, 1728 insertions, 778 deletions
diff --git a/build-aux/list-packages.scm b/build-aux/list-packages.scm
index 6e0455a7a0..c55e84a76b 100755
--- a/build-aux/list-packages.scm
+++ b/build-aux/list-packages.scm
@@ -27,6 +27,8 @@ exec guile -l "$0"                              \
   #:use-module (guix packages)
   #:use-module (guix licenses)
   #:use-module (guix gnu-maintenance)
+  #:use-module ((guix download) #:select (%mirrors))
+  #:use-module ((guix build download) #:select (maybe-expand-mirrors))
   #:use-module (gnu packages)
   #:use-module (sxml simple)
   #:use-module (sxml fold)
@@ -107,9 +109,12 @@ decreasing, is 1."
          "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
          (basename patch)))
        ((? origin? patch)
-        (match (origin-uri patch)
-          ((? string? uri) uri)
-          ((head . tail) head)))))
+        (uri->string
+         (first (maybe-expand-mirrors (string->uri
+                                       (match (origin-uri patch)
+                                         ((? string? uri) uri)
+                                         ((head . tail) head)))
+                                      %mirrors))))))
 
     (define patch-name
       (match-lambda
diff --git a/gnu-system.am b/gnu-system.am
index 9790543d35..c2266c0da4 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -386,7 +386,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/icecat-CVE-2014-1592.patch		\
   gnu/packages/patches/icecat-CVE-2014-1593.patch		\
   gnu/packages/patches/icecat-CVE-2014-1594.patch		\
-  gnu/packages/patches/inkscape-stray-comma.patch               \
+  gnu/packages/patches/irrlicht-mesa-10.patch			\
   gnu/packages/patches/jbig2dec-ignore-testtest.patch		\
   gnu/packages/patches/kmod-module-directory.patch		\
   gnu/packages/patches/libarchive-CVE-2013-0211.patch		\
@@ -440,6 +440,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/ripperx-libm.patch			\
   gnu/packages/patches/scheme48-tests.patch			\
   gnu/packages/patches/scotch-test-threading.patch		\
+  gnu/packages/patches/sdl-libx11-1.6.patch			\
   gnu/packages/patches/slim-session.patch			\
   gnu/packages/patches/slim-config.patch			\
   gnu/packages/patches/slim-sigusr1.patch			\
@@ -454,10 +455,27 @@ dist_patch_DATA =						\
   gnu/packages/patches/udev-gir-libtool.patch			\
   gnu/packages/patches/util-linux-perl.patch			\
   gnu/packages/patches/vpnc-script.patch			\
+  gnu/packages/patches/vtk-mesa-10.patch			\
   gnu/packages/patches/w3m-fix-compile.patch			\
   gnu/packages/patches/wmctrl-64-fix.patch			\
-  gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch	\
-  gnu/packages/patches/xf86-video-openchrome-includes.patch	\
+  gnu/packages/patches/xf86-video-ark-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-ast-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-geode-glibc-2.20.patch	\
+  gnu/packages/patches/xf86-video-glint-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-i128-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-intel-compat-api.patch	\
+  gnu/packages/patches/xf86-video-intel-glibc-2.20.patch	\
+  gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch	\
+  gnu/packages/patches/xf86-video-mga-glibc-2.20.patch		\
+  gnu/packages/patches/xf86-video-nv-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch	\
+  gnu/packages/patches/xf86-video-r128-glibc-2.20.patch		\
+  gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch \
+  gnu/packages/patches/xf86-video-sis-update-api.patch		\
+  gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-tga-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-trident-remove-mibstore.patch	\
+  gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch	\
   gnu/packages/patches/xfce4-panel-plugins.patch		\
   gnu/packages/patches/xmodmap-asprintf.patch
 
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index 9d228927d2..6aee41d31f 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -50,7 +50,7 @@
           (substitute* "makeinclude.in"
             (("/bin/sh") (which "sh"))))
         %standard-phases)))
-    (home-page "https://www.fltk.org")
+    (home-page "http://www.fltk.org")
     (synopsis "3D C++ GUI library")
     (description "FLTK is a C++ GUI toolkit providing modern GUI functionality
 without the bloat.  It supports 3D graphics via OpenGL and its built-in GLUT
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 74cfc9dbe1..c16ab93242 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
 ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
@@ -144,13 +144,13 @@ provide serif, sans and monospaced variants.")
     (native-inputs `(("source" ,source)
                      ("tar" ,tar)
                      ("bzip2" ,bzip2)))
-    (home-page "https://www-old.gnome.org/fonts/")
+    (home-page "http://www.gnome.org/fonts/")
     (synopsis "Bitstream Vera sans-serif typeface")
     (description "Vera is a sans-serif typeface from Bitstream, Inc.  This
 package provides the TrueType (TTF) files.")
     (license
      (license:x11-style
-      "https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
+      "http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
 
 (define-public font-gnu-freefont-ttf
   (package
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 99a4a78c11..5261c192eb 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -81,12 +82,13 @@
               ("readline" ,readline)
               ("gtk+" ,gtk+-2)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("gtkglext" ,gtkglext)
               ("sqlite" ,sqlite)
               ("libcanberra" ,libcanberra)))
     (native-inputs `(("python-2" ,python-2)
                      ("pkg-config" ,pkg-config)))
-    (home-page "https://gnubg.org")
+    (home-page "http://gnubg.org")
     (synopsis "Backgammon game")
     (description "The GNU backgammon application can be used for playing, analyzing and
 teaching the game.  It has an advanced evaluation engine based on artificial
@@ -110,6 +112,7 @@ representation of the playing board.")
     (build-system gnu-build-system)
     (inputs `(("gtk+" ,gtk+-2)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("libx11" ,libx11)
               ("guile" ,guile-2.0)
               ("gtkglext" ,gtkglext)))
@@ -208,6 +211,7 @@ that beneath its ruins lay buried an ancient evil.")
               ("sdl-image" ,sdl-image)
               ("sdl-mixer" ,sdl-mixer)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("libpng" ,libpng)
               ("boost" ,boost)))
     (arguments
@@ -279,7 +283,7 @@ a C library, so they can easily be integrated into other programs.")
                                     (string-append "--prefix=" out)))))
                       %standard-phases)))
     (inputs `(("ncurses" ,ncurses)))
-    (home-page "http://wwww.asty.org/cmatrix")
+    (home-page "http://www.asty.org/cmatrix")
     (synopsis "Simulate the display from \"The Matrix\"")
     (description "CMatrix simulates the display from \"The Matrix\" and is
 based on the screensaver from the movie's website.  It works with terminal
@@ -300,7 +304,7 @@ asynchronously and at a user-defined speed.")
         (base32
          "1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn"))))
     (build-system gnu-build-system)
-    (home-page "http://wwww.gnu.org/software/chess")
+    (home-page "http://www.gnu.org/software/chess")
     (synopsis "Full chess implementation")
     (description "GNU Chess is a chess engine.  It allows you to compete
 against the computer in a game of chess, either through the default terminal
@@ -607,14 +611,21 @@ buffers, and audio capture.")
                     (and (zero? (system* "unzip" source))
                          ;; The actual source is buried a few directories deep.
                          (chdir "irrlicht-1.8.1/source/Irrlicht/")))
-                  ;; No configure script
-                  (alist-delete 'configure %standard-phases)))
+                  (alist-cons-after
+                   'unpack 'apply-patch/mesa-10-fix
+                   (lambda* (#:key inputs #:allow-other-keys)
+                     (zero? (system* "patch" "--force" "-p3" "-i"
+                                     (assoc-ref inputs "patch/mesa-10-fix"))))
+                   ;; No configure script
+                   (alist-delete 'configure %standard-phases))))
        #:tests? #f ; no check target
        #:make-flags '("CC=gcc" "sharedlib")))
     (native-inputs
-     `(("unzip" ,unzip)))
+     `(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch"))
+       ("unzip" ,unzip)))
     (inputs
-     `(("mesa" ,mesa)))
+     `(("mesa" ,mesa)
+       ("glu" ,glu)))
     (synopsis "3D game engine written in C++")
     (description
      "The Irrlicht Engine is a high performance realtime 3D engine written in
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 17a6d4fd3c..791b413da6 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
 ;;; Copyright © 2014 David Thompson <davet@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +28,8 @@
   #:use-module (gnu packages bison)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages gettext)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages xml)
@@ -122,49 +125,60 @@ Polygon meshes, and Extruded polygon meshes")
 (define-public mesa
   (package
     (name "mesa")
-    ;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an
-    ;; infinite configure loop, see
-    ;; https://bugs.freedesktop.org/show_bug.cgi?id=58812
-    (version "8.0.5")
+    (version "10.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/"
-               version
-               "/MesaLib-" version
-               ".tar.bz2"))
+        (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
+                            version "/MesaLib-" version ".tar.bz2"))
         (sha256
-          (base32
-            "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"))))
+         (base32
+          "069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("glproto" ,glproto)
-        ("libdrm" ,libdrm-2.4.33)
+        ("libdrm" ,libdrm)
         ("libx11" ,libx11)
         ("libxdamage" ,libxdamage)
         ("libxxf86vm" ,libxxf86vm)))
     (inputs
-      `(("dri2proto" ,dri2proto)
+      `(("udev" ,eudev)
+        ("dri2proto" ,dri2proto)
+        ("dri3proto" ,dri3proto)
+        ("presentproto" ,presentproto)
+        ("libxshmfence" ,libxshmfence)
         ("expat" ,expat)
         ("libxfixes" ,libxfixes)
         ("libxml2" ,libxml2)
+        ;; TODO: Add 'libva'
+        ;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
         ("makedepend" ,makedepend)))
     (native-inputs
       `(("pkg-config" ,pkg-config)
+        ("gettext" ,gnu-gettext)
         ("flex" ,flex)
         ("bison" ,bison)
         ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
     (arguments
-      `(#:configure-flags
-         `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm
-        #:phases
-         (alist-cons-after
-          'unpack 'remove-symlink
-          (lambda _
-            ;; remove dangling symlink to /usr/include/wine/windows
-            (delete-file "src/gallium/state_trackers/d3d1x/w32api"))
-         %standard-phases)))
+     `(#:configure-flags
+       `(;; drop r300 from default gallium drivers, as it requires llvm
+         "--with-gallium-drivers=r600,svga,swrast"
+         "--enable-xa")
+       #:phases (alist-cons-after
+                 'unpack 'add-missing-m4-files
+                 (lambda _
+                   ;; When these files are missing, make tries to rebuild
+                   ;; several parts of the build system.
+                   (zero? (system* "touch" "--date=@0"
+                                   "m4/libtool.m4" "m4/ltoptions.m4"
+                                   "m4/ltsugar.m4" "m4/ltversion.m4"
+                                   "m4/lt~obsolete.m4")))
+                 (alist-cons-after
+                  'unpack 'patch-create_test_cases
+                  (lambda _
+                    (substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
+                      (("/usr/bin/env bash") (which "bash"))))
+                  %standard-phases))))
     (home-page "http://mesa3d.org/")
     (synopsis "OpenGL implementation")
     (description "Mesa is a free implementation of the OpenGL specification -
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 93b465b130..5a5b4dfd0a 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -56,7 +57,7 @@
 (define dbus
   (package
     (name "dbus")
-    (version "1.8.10")
+    (version "1.8.12")
     (source (origin
              (method url-fetch)
              (uri
@@ -64,7 +65,7 @@
                              version ".tar.gz"))
              (sha256
               (base32
-               "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh"))
+               "07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569"))
              (patches (list (search-patch "dbus-localstatedir.patch")))))
     (build-system gnu-build-system)
     (arguments
@@ -118,7 +119,7 @@ shared NFS home directories.")
 (define glib
   (package
    (name "glib")
-   (version "2.40.2")
+   (version "2.42.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnome/sources/"
@@ -126,7 +127,7 @@ shared NFS home directories.")
                                 name "-" version ".tar.xz"))
             (sha256
              (base32
-              "0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8"))
+              "16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg"))
             (patches (list (search-patch "glib-tests-homedir.patch")
                            (search-patch "glib-tests-desktop.patch")
                            (search-patch "glib-tests-prlimit.patch")
@@ -164,7 +165,12 @@ shared NFS home directories.")
                                  "glib/tests/utils.c"
                                  "tests/spawn-test.c")
                     (("/bin/sh")
-                     (string-append (assoc-ref inputs "bash") "/bin/sh"))))
+                     (string-append (assoc-ref inputs "bash") "/bin/sh")))
+
+                  ;; Disable a test that requires dbus.
+                  (substitute* "gio/tests/gdbus-serialization.c"
+                    (("g_test_add_func \\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
+                     (string-append "/* " all " */"))))
                 %standard-phases)
 
       ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
@@ -334,7 +340,7 @@ translated.")
 (define dbus-glib
   (package
     (name "dbus-glib")
-    (version "0.100.2")
+    (version "0.102")
     (source (origin
              (method url-fetch)
              (uri
@@ -342,7 +348,7 @@ translated.")
                              version ".tar.gz"))
              (sha256
               (base32
-               "1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"))))
+               "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"))))
     (build-system gnu-build-system)
     (inputs
      `(("dbus" ,dbus)
@@ -387,14 +393,15 @@ has an ease of use unmatched by other C++ callback libraries.")
 (define glibmm
   (package
     (name "glibmm")
-    (version "2.37.7")
+    (version "2.42.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "mirror://gnome/sources/glibmm/2.37/glibmm-"
-                                 version ".tar.xz"))
+             (uri (string-append "mirror://gnome/sources/glibmm/"
+                                 (version-major+minor version)
+                                 "/glibmm-" version ".tar.xz"))
              (sha256
               (base32
-               "0mms4yl5izsya1135772z4jkb184ss86x0wlg6dm7yvwxvb6bjlw"))))
+               "15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases (alist-cons-before
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index daa172fe2a..ab988cd70d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -473,6 +473,7 @@ the API")
     (build-system gnu-build-system)
     (inputs `(("gtk+" ,gtk+-2)
               ("mesa" ,mesa)
+              ("glu" ,glu)
               ("libx11" ,libx11)
               ("libxt" ,libxt)))
     (native-inputs `(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 8646397aad..ce1c533df8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -71,14 +71,14 @@ tools have full access to view and control running applications.")
 (define-public cairo
   (package
    (name "cairo")
-   (version "1.12.16")
+   (version "1.12.18")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://cairographics.org/releases/cairo-"
                                 version ".tar.xz"))
             (sha256
              (base32
-              "0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"))))
+              "1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw"))))
    (build-system gnu-build-system)
    (propagated-inputs
     `(("fontconfig" ,fontconfig)
@@ -408,6 +408,7 @@ application suites.")
       ("gdk-pixbuf" ,gdk-pixbuf)
       ("libxi" ,libxi)
       ("libxinerama" ,libxinerama)
+      ("libxdamage" ,libxdamage)
       ("pango" ,pango)))
    (inputs
     `(("libxml2" ,libxml2)))
@@ -513,14 +514,14 @@ exceptions, macros, and a dynamic programming environment.")
 (define-public cairomm
   (package
     (name "cairomm")
-    (version "1.10.0")
+    (version "1.11.2")
     (source (origin
              (method url-fetch)
              (uri (string-append "http://cairographics.org/releases/cairomm-"
                                  version ".tar.gz"))
              (sha256
               (base32
-               "13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386"))))
+               "138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc"))))
     (build-system gnu-build-system)
     (arguments
      ;; The examples lack -lcairo.
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index b48bedc78d..26513b87be 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,15 +42,14 @@
 (define-public inkscape
   (package
     (name "inkscape")
-    (version "0.48.4")
+    (version "0.48.5")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/inkscape/inkscape-"
-                                  version ".tar.gz"))
+                                  version ".tar.bz2"))
               (sha256
                (base32
-                "0nhxsgrgsx6zrgpkd1akxjvmdqjp8ccnsvlwxh62l0brg84fw6bf"))
-              (patches (list (search-patch "inkscape-stray-comma.patch")))))
+                "0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b"))))
     (build-system gnu-build-system)
     (inputs
      `(("aspell" ,aspell)
@@ -60,11 +60,7 @@
        ("libpng" ,libpng)
        ("libxml2" ,libxml2)
        ("libxslt" ,libxslt)
-
-       ;; With libgc 7.4, compilation fails with:
-       ;; gc.cpp:123:1: error: invalid conversion from 'int (*)(void**, const void*)' to 'int (*)(void**, void*)'
-       ("libgc" ,libgc-7.2)
-
+       ("libgc" ,libgc)
        ("freetype" ,freetype)
        ("popt" ,popt)
        ("python" ,python-2)
@@ -74,6 +70,13 @@
      `(("intltool" ,intltool)
        ("perl" ,perl)
        ("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:phases (alist-cons-after
+                 'unpack 'fix-test-includes
+                 (lambda _
+                   (substitute* "src/cxxtests.cpp"
+                     (("\\.\\./\\.\\./src") "../src")))
+                 %standard-phases)))
     (home-page "http://inkscape.org/")
     (synopsis "Vector graphics editor")
     (description "Inkscape is a vector graphics editor.  What sets Inkscape
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index e97ac277b7..52ed93e6a7 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -153,7 +153,7 @@ and import their menus over DBus.")
     (build-system cmake-build-system)
     (inputs
      `(("qt" ,qt-4)))
-    (home-page "https://projects.kde.org/projects/kdesupport/attica")
+    (home-page "https://projects.kde.org/projects/frameworks/attica")
     (synopsis "Qt library for the Open Collaboration Services API")
     (description "Attica is a Qt library that implements the Open
 Collaboration Services API version 1.6.  It grants easy access to the
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 6051dabb29..534476f7d1 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -144,7 +144,7 @@ software.")
     (arguments
      `(#:configure-flags (list (string-append "--with-ssl="
                                               (assoc-ref %build-inputs "openssl")))))
-    (home-page "http://fetchmail.berlios.de/")
+    (home-page "http://www.fetchmail.info/")
     (synopsis "Remote-mail retrieval and forwarding utility")
     (description
      "Fetchmail is a full-featured, robust, well-documented remote-mail
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7296d48d83..c3cf30c7a7 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -387,6 +387,7 @@ files.")
        ("hdf5-include" ,hdf5 "include")
        ("lapack" ,lapack)
        ("mesa" ,mesa)
+       ("glu" ,glu)
        ("libx11" ,libx11)
        ("libxext" ,libxext)))
     (arguments
diff --git a/gnu/packages/patches/inkscape-stray-comma.patch b/gnu/packages/patches/inkscape-stray-comma.patch
deleted file mode 100644
index 0b000d9e30..0000000000
--- a/gnu/packages/patches/inkscape-stray-comma.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-This is verbatim from Upstream:        http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_48_BRANCH/diff/9943
---- a/src/widgets/desktop-widget.h	2011-06-06 06:43:00 +0000
-+++ b/src/widgets/desktop-widget.h	2013-01-05 14:34:09 +0000
-@@ -239,7 +239,7 @@
- private:
-     GtkWidget *tool_toolbox;
-     GtkWidget *aux_toolbox;
--    GtkWidget *commands_toolbox,;
-+    GtkWidget *commands_toolbox;
-     GtkWidget *snap_toolbox;
- 
-     static void init(SPDesktopWidget *widget);
-
diff --git a/gnu/packages/patches/irrlicht-mesa-10.patch b/gnu/packages/patches/irrlicht-mesa-10.patch
new file mode 100644
index 0000000000..b567c384a3
--- /dev/null
+++ b/gnu/packages/patches/irrlicht-mesa-10.patch
@@ -0,0 +1,46 @@
+Patch to work around incompatibility between irrlicht-1.8.1 and mesa-10.x.
+Upstream bug (fixed in trunk): http://sourceforge.net/p/irrlicht/bugs/429/
+Upstream fix: http://sourceforge.net/p/irrlicht/code/4810
+This patch copied from:
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/irrlicht/files/irrlicht-1.8.1-mesa-10.x.patch?view=markup
+
+From 244d00280c1b082ca164f92337773e9e4e1a3898 Mon Sep 17 00:00:00 2001
+From: hiker <henrichsjoerg@mgail.com>
+Date: Wed, 26 Feb 2014 11:13:03 +1100
+Subject: [PATCH] Applied patch from jpirie for fixing mesa 10 compilation
+ problems.
+
+--- irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
++++ irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
+@@ -21,6 +21,7 @@
+ 	#endif

+ 	#include <GL/gl.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++		typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 		#include "glext.h"

+ 	#endif

+ 	#include "wglext.h"

+@@ -35,6 +36,7 @@
+ 	#endif

+ 	#include <OpenGL/gl.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++		typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 		#include "glext.h"

+ 	#endif

+ #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)

+@@ -48,6 +50,7 @@
+ 	#define NO_SDL_GLEXT

+ 	#include <SDL/SDL_video.h>

+ 	#include <SDL/SDL_opengl.h>

++	typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 	#include "glext.h"

+ #else

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

+@@ -60,6 +63,7 @@
+ 	#include <GL/gl.h>

+ 	#include <GL/glx.h>

+ 	#if defined(_IRR_OPENGL_USE_EXTPOINTER_)

++	typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);

+ 	#include "glext.h"

+ 	#undef GLX_ARB_get_proc_address // avoid problems with local glxext.h

+ 	#include "glxext.h"

diff --git a/gnu/packages/patches/sdl-libx11-1.6.patch b/gnu/packages/patches/sdl-libx11-1.6.patch
new file mode 100644
index 0000000000..73ba9ac071
--- /dev/null
+++ b/gnu/packages/patches/sdl-libx11-1.6.patch
@@ -0,0 +1,13 @@
+Update _XData32 declaration in SDL_x11sym.h to match that of libx11 1.6.
+
+--- SDL-1.2.15/src/video/x11/SDL_x11sym.h.~1~	2012-01-19 01:30:06.000000000 -0500
++++ SDL-1.2.15/src/video/x11/SDL_x11sym.h	2014-12-26 00:22:36.445067694 -0500
+@@ -165,7 +165,7 @@
+  */
+ #ifdef LONG64
+ SDL_X11_MODULE(IO_32BIT)
+-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
++SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
+ SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
+ #endif
+ 
diff --git a/gnu/packages/patches/vtk-mesa-10.patch b/gnu/packages/patches/vtk-mesa-10.patch
new file mode 100644
index 0000000000..bc60af68c4
--- /dev/null
+++ b/gnu/packages/patches/vtk-mesa-10.patch
@@ -0,0 +1,36 @@
+Fix build against new mesa.  See:
+
+  https://bugs.freedesktop.org/show_bug.cgi?id=83631
+  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765938
+
+Description: fixes FTBFS against new libjpeg-turbo
+Author: Ondřej Surý <ondrej@debian.org>
+Bug-Debian: https://bugs.debian.org/765938
+Reviewed-By: Anton Gladky <gladk@debian.org>
+Last-Update: 2014-10-22
+
+Index: vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkOpenGL.h
+===================================================================
+--- vtk6-6.1.0+dfsg2.orig/Rendering/OpenGL/vtkOpenGL.h
++++ vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkOpenGL.h
+@@ -20,6 +20,7 @@
+ 
+ // To prevent gl.h to include glext.h provided by the system
+ #define GL_GLEXT_LEGACY
++#define GLX_GLEXT_LEGACY
+ #if defined(__APPLE__) && (defined(VTK_USE_CARBON) || defined(VTK_USE_COCOA))
+ # include <OpenGL/gl.h> // Include OpenGL API.
+ #else
+Index: vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
+===================================================================
+--- vtk6-6.1.0+dfsg2.orig/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
++++ vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
+@@ -27,7 +27,7 @@
+ 
+ // define GLX_GLXEXT_LEGACY to prevent glx.h to include glxext.h provided by
+ // the system
+-//#define GLX_GLXEXT_LEGACY
++#define GLX_GLXEXT_LEGACY
+ #include "GL/glx.h"
+ 
+ #include "vtkgl.h"
diff --git a/gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch b/gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch
deleted file mode 100644
index 93263e1f19..0000000000
--- a/gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Allow builds with libc 2.20.
-Patch from <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
-
-From 96e60a4ea242d2decf109835981ae186cc36f642 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Fri, 29 Aug 2014 07:57:41 +1000
-Subject: Include xorg-server.h to fix build errors on newest glibc
-
-In file included from /usr/include/string.h:634:0,
-                 from /usr/include/xorg/os.h:53,
-                 from /usr/include/xorg/misc.h:115,
-                 from /usr/include/xorg/xf86str.h:37,
-                 from /usr/include/xorg/xf86Xinput.h:54,
-                 from synproto.h:36,
-                 from synproto.c:24:
-/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
- strndup(const char *str, size_t n);
-
-See http://lists.freedesktop.org/archives/xorg-devel/2014-July/043070.html
-
-Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
-Status: Backport
-
-Index: xf86-input-synaptics-1.8.0/src/eventcomm.h
-===================================================================
---- xf86-input-synaptics-1.8.0.orig/src/eventcomm.h	2014-08-28 18:40:28.628070587 -0700
-+++ xf86-input-synaptics-1.8.0/src/eventcomm.h	2014-08-28 18:40:28.620070587 -0700
-@@ -27,6 +27,8 @@
- #ifndef _EVENTCOMM_H_
- #define _EVENTCOMM_H_
- 
-+#include <xorg-server.h>
-+
- #include <linux/input.h>
- #include <linux/version.h>
- #include <xf86Xinput.h>
-Index: xf86-input-synaptics-1.8.0/src/ps2comm.h
-===================================================================
---- xf86-input-synaptics-1.8.0.orig/src/ps2comm.h	2014-08-28 18:40:28.628070587 -0700
-+++ xf86-input-synaptics-1.8.0/src/ps2comm.h	2014-08-28 18:40:28.620070587 -0700
-@@ -22,6 +22,8 @@
- #ifndef _PS2COMM_H_
- #define _PS2COMM_H_
- 
-+#include <xorg-server.h>
-+
- #include <unistd.h>
- #include <sys/ioctl.h>
- #include "xf86_OSproc.h"
-Index: xf86-input-synaptics-1.8.0/src/synproto.h
-===================================================================
---- xf86-input-synaptics-1.8.0.orig/src/synproto.h	2014-08-28 18:40:28.628070587 -0700
-+++ xf86-input-synaptics-1.8.0/src/synproto.h	2014-08-28 18:40:28.624070587 -0700
-@@ -31,6 +31,8 @@
- #include "config.h"
- #endif
- 
-+#include <xorg-server.h>
-+
- #include <unistd.h>
- #include <sys/ioctl.h>
- #include <xf86Xinput.h>
diff --git a/gnu/packages/patches/xf86-video-ark-remove-mibstore.patch b/gnu/packages/patches/xf86-video-ark-remove-mibstore.patch
new file mode 100644
index 0000000000..4a5b629b43
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-ark-remove-mibstore.patch
@@ -0,0 +1,23 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-ark-0.7.5/src/ark_driver.c.~1~	2012-07-17 00:51:36.000000000 -0400
++++ xf86-video-ark-0.7.5/src/ark_driver.c	2014-12-19 00:23:13.028931734 -0500
+@@ -39,7 +39,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+-#include "mibstore.h"
+ #include "fb.h"
+ #include "ark.h"
+ 
+@@ -538,7 +537,6 @@
+ 
+ 	fbPictureInit (pScreen, 0, 0);
+ 
+-	miInitializeBackingStore(pScreen);
+ 	xf86SetBackingStore(pScreen);
+ 
+ 	if (!pARK->NoAccel) {
diff --git a/gnu/packages/patches/xf86-video-ast-remove-mibstore.patch b/gnu/packages/patches/xf86-video-ast-remove-mibstore.patch
new file mode 100644
index 0000000000..58a44ae260
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-ast-remove-mibstore.patch
@@ -0,0 +1,90 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_2dtool.c xf86-video-ast-0.93.10/src/ast_2dtool.c
+--- xf86-video-ast-0.93.10.orig/src/ast_2dtool.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_2dtool.c	2014-12-19 02:42:32.422383728 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_accel.c xf86-video-ast-0.93.10/src/ast_accel.c
+--- xf86-video-ast-0.93.10.orig/src/ast_accel.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_accel.c	2014-12-19 02:41:55.534200809 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_cursor.c xf86-video-ast-0.93.10/src/ast_cursor.c
+--- xf86-video-ast-0.93.10.orig/src/ast_cursor.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_cursor.c	2014-12-19 02:42:37.258407708 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_driver.c xf86-video-ast-0.93.10/src/ast_driver.c
+--- xf86-video-ast-0.93.10.orig/src/ast_driver.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_driver.c	2014-12-19 02:42:50.710474414 -0500
+@@ -31,7 +31,6 @@
+ #endif
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+@@ -865,7 +864,6 @@
+    }
+ #endif /* end of Accel_2D */
+      
+-   miInitializeBackingStore(pScreen);
+    xf86SetBackingStore(pScreen);
+    xf86SetSilkenMouse(pScreen);
+ 
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_mode.c xf86-video-ast-0.93.10/src/ast_mode.c
+--- xf86-video-ast-0.93.10.orig/src/ast_mode.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_mode.c	2014-12-19 02:42:24.894346398 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_tool.c xf86-video-ast-0.93.10/src/ast_tool.c
+--- xf86-video-ast-0.93.10.orig/src/ast_tool.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_tool.c	2014-12-19 02:42:03.930242443 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+diff -ru xf86-video-ast-0.93.10.orig/src/ast_vgatool.c xf86-video-ast-0.93.10/src/ast_vgatool.c
+--- xf86-video-ast-0.93.10.orig/src/ast_vgatool.c	2012-03-23 21:40:56.000000000 -0400
++++ xf86-video-ast-0.93.10/src/ast_vgatool.c	2014-12-19 02:42:18.406314226 -0500
+@@ -27,7 +27,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86cmap.h"
+ #include "compiler.h"
+-#include "mibstore.h"
+ #include "vgaHW.h"
+ #include "mipointer.h"
+ #include "micmap.h"
diff --git a/gnu/packages/patches/xf86-video-geode-glibc-2.20.patch b/gnu/packages/patches/xf86-video-geode-glibc-2.20.patch
new file mode 100644
index 0000000000..4dc69e3611
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-geode-glibc-2.20.patch
@@ -0,0 +1,15 @@
+Allow builds with glibc 2.20.
+Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-geode-2.11.16/src/lx_memory.c.~1~	2014-07-16 16:59:37.000000000 -0400
++++ xf86-video-geode-2.11.16/src/lx_memory.c	2014-12-19 00:38:11.753388268 -0500
+@@ -23,6 +23,8 @@
+  * software without specific prior written permission.
+  */
+ 
++#include <xorg-server.h>
++
+ #include "xf86.h"
+ #include "geode.h"
+ #include "cim/cim_regs.h"
diff --git a/gnu/packages/patches/xf86-video-glint-remove-mibstore.patch b/gnu/packages/patches/xf86-video-glint-remove-mibstore.patch
new file mode 100644
index 0000000000..969ed7e41e
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-glint-remove-mibstore.patch
@@ -0,0 +1,24 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-glint-1.2.8/src/glint_driver.c.~1~	2012-07-15 22:50:47.000000000 -0400
++++ xf86-video-glint-1.2.8/src/glint_driver.c	2014-12-19 00:42:39.162714279 -0500
+@@ -52,8 +52,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+ 
+-#include "mibstore.h"
+-
+ #include "pm3_regs.h"
+ #include "glint_regs.h"
+ #include "IBM.h"
+@@ -2904,7 +2902,6 @@
+         }
+     }
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
diff --git a/gnu/packages/patches/xf86-video-i128-remove-mibstore.patch b/gnu/packages/patches/xf86-video-i128-remove-mibstore.patch
new file mode 100644
index 0000000000..b269d63473
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-i128-remove-mibstore.patch
@@ -0,0 +1,23 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-i128-1.3.6/src/i128_driver.c.~1~	2012-07-17 01:21:15.000000000 -0400
++++ xf86-video-i128-1.3.6/src/i128_driver.c	2014-12-19 00:47:16.140087736 -0500
+@@ -51,7 +51,6 @@
+ #include "mipointer.h"
+ 
+ /* All drivers implementing backing store need this */
+-#include "mibstore.h"
+ #include "micmap.h"
+ 
+ #include "xf86DDC.h"
+@@ -1557,7 +1556,6 @@
+         return FALSE;
+     }
+     
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
diff --git a/gnu/packages/patches/xf86-video-intel-compat-api.patch b/gnu/packages/patches/xf86-video-intel-compat-api.patch
new file mode 100644
index 0000000000..786de5c45d
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-intel-compat-api.patch
@@ -0,0 +1,13 @@
+This patch was copied from Debian.
+
+--- xserver-xorg-video-intel-2.21.15.orig/src/compat-api.h
++++ xserver-xorg-video-intel-2.21.15/src/compat-api.h
+@@ -158,4 +158,8 @@
+ 	if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
+ #endif
+ 
++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
++#define DamageUnregister(d, dd) DamageUnregister(dd)
++#endif
++
+ #endif
diff --git a/gnu/packages/patches/xf86-video-intel-glibc-2.20.patch b/gnu/packages/patches/xf86-video-intel-glibc-2.20.patch
new file mode 100644
index 0000000000..aeebfacdcd
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-intel-glibc-2.20.patch
@@ -0,0 +1,15 @@
+Allow builds with glibc 2.20.
+Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-intel-2.21.15/src/intel_device.c.~1~	2013-08-09 16:58:48.000000000 -0400
++++ xf86-video-intel-2.21.15/src/intel_device.c	2014-12-18 00:03:54.700759577 -0500
+@@ -33,6 +33,8 @@
+ 
+ #include <sys/ioctl.h>
+ 
++#include <xorg-server.h>
++
+ #include <pciaccess.h>
+ #include <xf86.h>
+ #include <xf86drm.h>
diff --git a/gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch b/gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch
new file mode 100644
index 0000000000..7fb1452c20
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch
@@ -0,0 +1,17 @@
+Fix test compilation with exa.h in configure when using glibc 2.20.
+Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-mach64-6.9.4/configure.~1~	2012-12-20 01:16:10.000000000 -0500
++++ xf86-video-mach64-6.9.4/configure	2014-12-19 02:48:18.040097554 -0500
+@@ -18370,7 +18370,9 @@
+ 
+         SAVE_CPPFLAGS="$CPPFLAGS"
+         CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+-        ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
++        ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
++#include <xorg-server.h>
++"
+ if test "x$ac_cv_header_exa_h" = xyes; then :
+   have_exa_h="yes"
+ else
diff --git a/gnu/packages/patches/xf86-video-mga-glibc-2.20.patch b/gnu/packages/patches/xf86-video-mga-glibc-2.20.patch
new file mode 100644
index 0000000000..3b8277df80
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-mga-glibc-2.20.patch
@@ -0,0 +1,17 @@
+Fix test compilation with exa.h in configure when using glibc 2.20.
+Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-mga-1.6.3/configure.~1~	2013-12-04 21:10:25.000000000 -0500
++++ xf86-video-mga-1.6.3/configure	2014-12-19 01:06:23.005774736 -0500
+@@ -18464,7 +18464,9 @@
+ 
+     SAVE_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+-    ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
++    ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
++#include <xorg-server.h>
++"
+ if test "x$ac_cv_header_exa_h" = xyes; then :
+   have_exa_h="yes"
+ else
diff --git a/gnu/packages/patches/xf86-video-nv-remove-mibstore.patch b/gnu/packages/patches/xf86-video-nv-remove-mibstore.patch
new file mode 100644
index 0000000000..48588ed0e4
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-nv-remove-mibstore.patch
@@ -0,0 +1,72 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+diff -ru xf86-video-nv-2.1.20.orig/src/g80_driver.c xf86-video-nv-2.1.20/src/g80_driver.c
+--- xf86-video-nv-2.1.20.orig/src/g80_driver.c	2012-07-17 02:47:02.000000000 -0400
++++ xf86-video-nv-2.1.20/src/g80_driver.c	2014-12-17 10:11:42.197579082 -0500
+@@ -34,7 +34,6 @@
+ #include <xf86Resources.h>
+ #endif
+ #include <mipointer.h>
+-#include <mibstore.h>
+ #include <micmap.h>
+ #include <xf86cmap.h>
+ #include <fb.h>
+@@ -833,7 +832,6 @@
+         }
+     }
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+diff -ru xf86-video-nv-2.1.20.orig/src/nv_driver.c xf86-video-nv-2.1.20/src/nv_driver.c
+--- xf86-video-nv-2.1.20.orig/src/nv_driver.c	2012-07-17 02:47:02.000000000 -0400
++++ xf86-video-nv-2.1.20/src/nv_driver.c	2014-12-17 10:11:39.037563413 -0500
+@@ -2550,7 +2550,6 @@
+     if (!pNv->NoAccel)
+ 	NVAccelInit(pScreen);
+     
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+diff -ru xf86-video-nv-2.1.20.orig/src/nv_include.h xf86-video-nv-2.1.20/src/nv_include.h
+--- xf86-video-nv-2.1.20.orig/src/nv_include.h	2012-07-17 02:48:19.000000000 -0400
++++ xf86-video-nv-2.1.20/src/nv_include.h	2014-12-17 10:11:22.089479372 -0500
+@@ -24,9 +24,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+ 
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ #include "micmap.h"
+ 
+ #include "xf86DDC.h"
+diff -ru xf86-video-nv-2.1.20.orig/src/riva_driver.c xf86-video-nv-2.1.20/src/riva_driver.c
+--- xf86-video-nv-2.1.20.orig/src/riva_driver.c	2012-07-17 02:47:02.000000000 -0400
++++ xf86-video-nv-2.1.20/src/riva_driver.c	2014-12-17 10:11:31.101524060 -0500
+@@ -1168,7 +1168,6 @@
+     if (!pRiva->NoAccel)
+ 	RivaAccelInit(pScreen);
+     
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+diff -ru xf86-video-nv-2.1.20.orig/src/riva_include.h xf86-video-nv-2.1.20/src/riva_include.h
+--- xf86-video-nv-2.1.20.orig/src/riva_include.h	2012-07-17 02:48:45.000000000 -0400
++++ xf86-video-nv-2.1.20/src/riva_include.h	2014-12-17 10:11:12.229430478 -0500
+@@ -22,9 +22,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+ 
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ #include "micmap.h"
+ 
+ #include "xf86DDC.h"
diff --git a/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch b/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
new file mode 100644
index 0000000000..4ed7ab00bf
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch
@@ -0,0 +1,15 @@
+Allow builds with glibc 2.20.
+Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-openchrome-0.3.3/src/via_3d.h.~1~	2013-05-23 11:11:28.000000000 -0400
++++ xf86-video-openchrome-0.3.3/src/via_3d.h	2014-12-19 01:17:04.000953259 -0500
+@@ -24,6 +24,8 @@
+ #ifndef VIA_3D_H
+ #define VIA_3D_H
+ 
++#include <xorg-server.h>
++
+ #include "xf86.h"
+ #include "via_dmabuffer.h"
+ 
diff --git a/gnu/packages/patches/xf86-video-openchrome-includes.patch b/gnu/packages/patches/xf86-video-openchrome-includes.patch
deleted file mode 100644
index 3c79596387..0000000000
--- a/gnu/packages/patches/xf86-video-openchrome-includes.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch
-to allow building with glibc-2.20.
-diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h
---- xf86-video-openchrome-0.2.906.old/src/via_3d.h	2014-11-23 14:04:58.000000000 +0100
-+++ xf86-video-openchrome-0.2.906/src/via_3d.h	2014-11-23 14:18:37.000000000 +0100
-@@ -24,6 +24,7 @@
- #ifndef VIA_3D_H
- #define VIA_3D_H
- 
-+#include "xorg-server.h"
- #include "xf86.h"
- #include "via_dmabuffer.h"
- 
-diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h
---- xf86-video-openchrome-0.2.906.old/src/via_driver.h	2014-11-23 14:04:58.000000000 +0100
-+++ xf86-video-openchrome-0.2.906/src/via_driver.h	2014-11-23 14:21:43.000000000 +0100
-@@ -35,6 +35,7 @@
- #endif
- 
- #include "vgaHW.h"
-+#include "xorg-server.h"
- #include "xf86.h"
- 
- #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 
-diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h
---- xf86-video-openchrome-0.2.906.old/src/via_timing.h	2014-11-23 14:04:58.000000000 +0100
-+++ xf86-video-openchrome-0.2.906/src/via_timing.h	2014-11-23 14:20:50.000000000 +0100
-@@ -25,6 +25,7 @@
- #ifndef _TIMING_H_
- #define _TIMING_H_
- 
-+#include "xorg-server.h"
- #include "xf86.h"
- 
- /* Aspect ratio not CVT standard */
diff --git a/gnu/packages/patches/xf86-video-r128-glibc-2.20.patch b/gnu/packages/patches/xf86-video-r128-glibc-2.20.patch
new file mode 100644
index 0000000000..21a430ebc6
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-r128-glibc-2.20.patch
@@ -0,0 +1,17 @@
+Fix test compilation with exa.h in configure when using glibc 2.20.
+Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-r128-6.9.2/configure.~1~	2013-10-02 14:38:15.000000000 -0400
++++ xf86-video-r128-6.9.2/configure	2014-12-19 01:23:03.346735159 -0500
+@@ -18400,7 +18400,9 @@
+ 
+         SAVE_CPPFLAGS="$CPPFLAGS"
+         CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
+-        ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
++        ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
++#include <xorg-server.h>
++"
+ if test "x$ac_cv_header_exa_h" = xyes; then :
+   have_exa_h="yes"
+ else
diff --git a/gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch b/gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch
new file mode 100644
index 0000000000..5fd9100609
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch
@@ -0,0 +1,16 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-siliconmotion-1.7.7/src/smi_driver.c.~1~	2012-07-17 00:53:21.000000000 -0400
++++ xf86-video-siliconmotion-1.7.7/src/smi_driver.c	2014-12-19 01:30:16.708884086 -0500
+@@ -1750,8 +1750,6 @@
+ 		   "Done writing mode.  Register dump:\n");
+     SMI_PrintRegs(pScrn);
+ 
+-    miInitializeBackingStore(pScreen);
+-
+ #ifdef HAVE_XMODES
+     xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset));
+ #endif
diff --git a/gnu/packages/patches/xf86-video-sis-update-api.patch b/gnu/packages/patches/xf86-video-sis-update-api.patch
new file mode 100644
index 0000000000..d8c5c07273
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-sis-update-api.patch
@@ -0,0 +1,128 @@
+Update xf86-video-sis to the current xorg-server API.
+
+Copied from: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/tree/sis-0.10.7-git.patch?id=2705859f0ddc7ee7a3b07f21b442ebeab5df1276
+Commit log: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/log/sis-0.10.7-git.patch
+
+Patch by Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/sis.h b/src/sis.h
+index 46fca2a..20e6134 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -75,7 +75,6 @@
+ 
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 61e8075..0fd83d7 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -57,7 +57,6 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "edid.h"
+ 
+ #define SIS_NEED_inSISREG
+@@ -94,6 +93,10 @@
+ #include "dri.h"
+ #endif
+ 
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+  * LookupWindow was removed with video abi 11.
+  */
+@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+         if(pSiSEnt->MapCountIOBase) {
+ 	    pSiSEnt->MapCountIOBase--;
+ 	    if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#else
++	        pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBase = NULL;
+ 		pSiSEnt->MapCountIOBase = 0;
+ 		pSiSEnt->forceUnmapIOBase = FALSE;
+@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountIOBaseDense) {
+ 	    pSiSEnt->MapCountIOBaseDense--;
+ 	    if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBaseDense = NULL;
+ 		pSiSEnt->MapCountIOBaseDense = 0;
+ 		pSiSEnt->forceUnmapIOBaseDense = FALSE;
+@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountFbBase) {
+ 	    pSiSEnt->MapCountFbBase--;
+ 	    if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#endif
+ 		pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
+ 		pSiSEnt->MapCountFbBase = 0;
+ 		pSiSEnt->forceUnmapFbBase = FALSE;
+@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	}
+     } else {
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBase = NULL;
+ #ifdef __alpha__
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBaseDense = NULL;
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#endif
+ 	pSiS->FbBase = pSiS->RealFbBase = NULL;
+ #ifdef SISDUALHEAD
+     }
+@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+     }
+     pSiS->SiSFastVidCopyDone = TRUE;
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+      }
+      if(doit) {
+ 	sigstate = xf86BlockSIGIO();
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
++        {
++            double dx = x, dy = y;
++            miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
++            x = (int)dx;
++            y = (int)dy;
++        }
++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+         {
+             double dx = x, dy = y;
+             miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
diff --git a/gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch b/gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch
new file mode 100644
index 0000000000..05e2154433
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch
@@ -0,0 +1,26 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-tdfx-1.4.5/src/tdfx_driver.c.~1~	2012-07-17 01:21:16.000000000 -0400
++++ xf86-video-tdfx-1.4.5/src/tdfx_driver.c	2014-12-19 01:36:42.762798424 -0500
+@@ -62,10 +62,6 @@
+ 
+ #include "compiler.h"
+ 
+-/* Drivers using the mi implementation of backing store need: */
+-
+-#include "mibstore.h"
+-
+ /* All drivers using the vgahw module need this */
+ /* This driver needs to be modified to not use vgaHW for multihead operation */
+ #include "vgaHW.h"
+@@ -2373,7 +2369,6 @@
+     }
+   }
+ 
+-  miInitializeBackingStore(pScreen);
+   xf86SetBackingStore(pScreen);
+   xf86SetSilkenMouse(pScreen);
+ 
diff --git a/gnu/packages/patches/xf86-video-tga-remove-mibstore.patch b/gnu/packages/patches/xf86-video-tga-remove-mibstore.patch
new file mode 100644
index 0000000000..b1a96c3f10
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-tga-remove-mibstore.patch
@@ -0,0 +1,34 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-tga-1.2.2/src/tga_accel.c.~1~	2012-07-15 23:54:04.000000000 -0400
++++ xf86-video-tga-1.2.2/src/tga_accel.c	2014-12-19 01:40:27.535913013 -0500
+@@ -37,7 +37,6 @@
+ #include "xf86cmap.h"
+ #include "mipointer.h"
+ 
+-#include "mibstore.h"
+ #include "miline.h"
+ 
+ #include "tga_regs.h"
+--- xf86-video-tga-1.2.2/src/tga_driver.c.~1~	2012-07-15 23:54:28.000000000 -0400
++++ xf86-video-tga-1.2.2/src/tga_driver.c	2014-12-19 01:40:48.756018238 -0500
+@@ -46,8 +46,6 @@
+ 
+ /* software cursor */
+ #include "mipointer.h"
+-/* backing store */
+-#include "mibstore.h"
+ 
+ /*  #include "mibank.h" */
+ /* colormap manipulation */
+@@ -1451,7 +1449,6 @@
+     
+     fbPictureInit (pScreen, 0, 0);
+     
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
diff --git a/gnu/packages/patches/xf86-video-trident-remove-mibstore.patch b/gnu/packages/patches/xf86-video-trident-remove-mibstore.patch
new file mode 100644
index 0000000000..74c89878e7
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-trident-remove-mibstore.patch
@@ -0,0 +1,23 @@
+Removes references to mibstore.h and miInitializeBackingStore, which
+have been removed from xorg-server.  Zack Rusin <zackr@vmware.com>
+wrote: "It was a noop for at least 5 years and it has been removed."
+See: http://patches.openembedded.org/patch/46133/
+
+--- xf86-video-trident-1.3.6/src/trident_driver.c.~1~	2012-07-15 22:16:00.000000000 -0400
++++ xf86-video-trident-1.3.6/src/trident_driver.c	2014-12-19 01:45:29.529410518 -0500
+@@ -56,7 +56,6 @@
+ 
+ #include "mipointer.h"
+ 
+-#include "mibstore.h"
+ #include "shadow.h"
+ #include "trident.h"
+ #include "trident_regs.h"
+@@ -3037,7 +3036,6 @@
+     	TridentAccelInit(pScreen);
+     }
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+ 
+     /* Initialise cursor functions */
diff --git a/gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch b/gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch
new file mode 100644
index 0000000000..43d21d13ab
--- /dev/null
+++ b/gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch
@@ -0,0 +1,15 @@
+Allow builds with glibc 2.20.
+Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
+See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
+
+--- xf86-video-vmware-13.0.2/vmwgfx/vmwgfx_overlay.c.~1~	2014-03-20 09:15:03.000000000 -0400
++++ xf86-video-vmware-13.0.2/vmwgfx/vmwgfx_overlay.c	2014-12-19 02:31:34.759122552 -0500
+@@ -35,6 +35,8 @@
+  */
+ 
+ 
++#include <xorg-server.h>
++
+ #include "xf86xv.h"
+ #include "fourcc.h"
+ #define debug_printf(...)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index f0a739b406..7d5100af24 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,13 +41,13 @@
 (define-public poppler
   (package
    (name "poppler")
-   (version "0.22.0")
+   (version "0.28.1")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://poppler.freedesktop.org/poppler-"
-                                version ".tar.gz"))
+                                version ".tar.xz"))
             (sha256 (base32
-                     "1rmrspavldlpqi6g76fijcmshy80m0kxd01nc1dmy4id3h4las44"))))
+                     "01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc"))))
    (build-system gnu-build-system)
    ;; FIXME: more dependencies could  be added
    ;;  cairo output:       no (requires cairo >= 1.10.0)
diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm
index e822b5c795..9ccca5c8b5 100644
--- a/gnu/packages/popt.scm
+++ b/gnu/packages/popt.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -43,7 +43,7 @@
                    (substitute* "testit.sh"   ; don't expect old libtool names
                      (("lt-test1") "test1")))
                  %standard-phases)))
-    (home-page #f)
+    (home-page "http://rpm5.org/files/popt/")
     (synopsis "Command line option parsing library")
     (description
      "This is the popt(3) command line option parsing library.  While it is
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 90e1f8948c..c2eab7dc6d 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -358,7 +358,7 @@ API for locking files.")
          "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq"))))
     (build-system python-build-system)
     (arguments '(#:test-target "check"))
-    (home-page "http://code.google.com/m/mock/")
+    (home-page "http://code.google.com/p/mock/")
     (synopsis "Python mocking and patching library for testing")
     (description
      "Mock is a library for testing in Python.  It allows you to replace parts
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 069ea6b5f4..b686bd87cb 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -53,7 +54,8 @@
                              version ".tar.gz"))
              (sha256
               (base32
-               "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))))
+               "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))
+             (patches (list (search-patch "sdl-libx11-1.6.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(;; Explicitly link against Xext because SDL tries to dlopen it and
diff --git a/gnu/packages/stalonetray.scm b/gnu/packages/stalonetray.scm
index 762ac8c99b..e1604327ab 100644
--- a/gnu/packages/stalonetray.scm
+++ b/gnu/packages/stalonetray.scm
@@ -38,7 +38,7 @@
          "1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll"))))
     (inputs `(("libx11" ,libx11)))
     (build-system gnu-build-system)
-    (home-page "stalonetray")
+    (home-page "http://stalonetray.sourceforge.net")
     (synopsis "Standalone freedesktop.org and KDE systray implementation")
     (description
      "Stalonetray is a stand-alone freedesktop.org and KDE system
diff --git a/gnu/packages/vtk.scm b/gnu/packages/vtk.scm
index 3d30279683..17312103dd 100644
--- a/gnu/packages/vtk.scm
+++ b/gnu/packages/vtk.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21,6 +22,7 @@
   #:use-module (guix download)
   #:use-module (guix licenses)
   #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages gl))
 
@@ -36,7 +38,8 @@
                                   "/VTK-" version ".tar.gz"))
               (sha256
                (base32
-                "0d7shccdkyj4mbh2riilslgx3gd28in4c7xpm0lxa1ln8w5g2zdx"))))
+                "0d7shccdkyj4mbh2riilslgx3gd28in4c7xpm0lxa1ln8w5g2zdx"))
+              (patches (list (search-patch "vtk-mesa-10.patch")))))
     (build-system cmake-build-system)
     (arguments
      ;; Build without '-g' to save space.
@@ -46,7 +49,8 @@
      `(("libXt" ,libxt)
        ("xproto" ,xproto)
        ("libX11" ,libx11)
-       ("mesa" ,mesa)))
+       ("mesa" ,mesa)
+       ("glu" ,glu)))
     (home-page "http://www.vtk.org/")
     (synopsis "Libraries for 3D computer graphics")
     (description
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 6a84a45376..d44b6a6246 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -130,7 +130,7 @@ following the mouse.")
 (define-public pixman
   (package
     (name "pixman")
-    (version "0.32.4")
+    (version "0.32.6")
     (source
       (origin
         (method url-fetch)
@@ -140,7 +140,7 @@ following the mouse.")
                ".tar.gz"))
         (sha256
           (base32
-           "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
+           "0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix"))))
     (build-system gnu-build-system)
     (inputs
       `(("libpng" ,libpng)
@@ -158,7 +158,7 @@ rasterisation.")
 (define-public libdrm
   (package
     (name "libdrm")
-    (version "2.4.46")
+    (version "2.4.58")
     (source
       (origin
         (method url-fetch)
@@ -168,7 +168,7 @@ rasterisation.")
                ".tar.bz2"))
         (sha256
           (base32
-            "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
+            "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi"))))
     (build-system gnu-build-system)
     (inputs
       `(("libpciaccess" ,libpciaccess)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index fcefebffc5..e898c1c935 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -125,17 +125,17 @@ autotools system.")
 (define-public bdftopcf
   (package
     (name "bdftopcf")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/bdftopcf-"
+               "mirror://xorg/individual/app/bdftopcf-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w"))))
+            "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxfont" ,libxfont)))
@@ -155,7 +155,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/bigreqsproto-"
+               "mirror://xorg/individual/proto/bigreqsproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -177,7 +177,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/compositeproto-"
+               "mirror://xorg/individual/proto/compositeproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -202,7 +202,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/damageproto-"
+               "mirror://xorg/individual/proto/damageproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -224,7 +224,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/dmxproto-"
+               "mirror://xorg/individual/proto/dmxproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -241,17 +241,17 @@ autotools system.")
 (define-public dri2proto
   (package
     (name "dri2proto")
-    (version "2.6")
+    (version "2.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/dri2proto-"
+               "mirror://xorg/individual/proto/dri2proto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "02drlfqvjm2q7dvkkwli3fs2crb6rdb3kyd13vwx7z0rijrc10md"))))
+            "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr"))))
     (build-system gnu-build-system)
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
@@ -259,7 +259,6 @@ autotools system.")
     (license license:x11)))
 
 
-;; not part of X11R7.7, required for newer versions of mesa
 (define-public dri3proto
   (package
     (name "dri3proto")
@@ -290,7 +289,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/encodings-"
+               "mirror://xorg/individual/font/encodings-"
                version
                ".tar.bz2"))
         (sha256
@@ -315,7 +314,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-"
+               "mirror://xorg/individual/font/font-adobe-100dpi-"
                version
                ".tar.bz2"))
         (sha256
@@ -347,7 +346,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-"
+               "mirror://xorg/individual/font/font-adobe-75dpi-"
                version
                ".tar.bz2"))
         (sha256
@@ -383,7 +382,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-alias-"
+               "mirror://xorg/individual/font/font-alias-"
                version
                ".tar.bz2"))
         (sha256
@@ -405,7 +404,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-arabic-misc-"
+               "mirror://xorg/individual/font/font-arabic-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -442,7 +441,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-"
+               "mirror://xorg/individual/font/font-cronyx-cyrillic-"
                version
                ".tar.bz2"))
         (sha256
@@ -475,7 +474,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-dec-misc-"
+               "mirror://xorg/individual/font/font-dec-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -504,7 +503,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-isas-misc-"
+               "mirror://xorg/individual/font/font-isas-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -534,7 +533,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-micro-misc-"
+               "mirror://xorg/individual/font/font-micro-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -560,7 +559,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-"
+               "mirror://xorg/individual/font/font-misc-cyrillic-"
                version
                ".tar.bz2"))
         (sha256
@@ -586,7 +585,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-"
+               "mirror://xorg/individual/font/font-misc-ethiopic-"
                version
                ".tar.bz2"))
         (sha256
@@ -615,7 +614,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-misc-misc-"
+               "mirror://xorg/individual/font/font-misc-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -645,7 +644,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-mutt-misc-"
+               "mirror://xorg/individual/font/font-mutt-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -671,7 +670,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-"
+               "mirror://xorg/individual/font/font-schumacher-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -701,7 +700,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-"
+               "mirror://xorg/individual/font/font-screen-cyrillic-"
                version
                ".tar.bz2"))
         (sha256
@@ -727,7 +726,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-sony-misc-"
+               "mirror://xorg/individual/font/font-sony-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -753,7 +752,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-sun-misc-"
+               "mirror://xorg/individual/font/font-sun-misc-"
                version
                ".tar.bz2"))
         (sha256
@@ -779,7 +778,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-util-"
+               "mirror://xorg/individual/font/font-util-"
                version
                ".tar.bz2"))
         (sha256
@@ -801,7 +800,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-"
+               "mirror://xorg/individual/font/font-winitzki-cyrillic-"
                version
                ".tar.bz2"))
         (sha256
@@ -827,7 +826,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-"
+               "mirror://xorg/individual/font/font-xfree86-type1-"
                version
                ".tar.bz2"))
         (sha256
@@ -847,17 +846,17 @@ autotools system.")
 (define-public fontsproto
   (package
     (name "fontsproto")
-    (version "2.1.2")
+    (version "2.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/fontsproto-"
+               "mirror://xorg/individual/proto/fontsproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746"))))
+            "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -869,17 +868,17 @@ autotools system.")
 (define-public glproto
   (package
     (name "glproto")
-    (version "1.4.15")
+    (version "1.4.17")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/glproto-"
+               "mirror://xorg/individual/proto/glproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0wf1vq9g4pyzahb23ywx554pm5bpax49lz188fk6m5p8wbmmc0wr"))))
+            "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -891,17 +890,17 @@ autotools system.")
 (define-public iceauth
   (package
     (name "iceauth")
-    (version "1.0.5")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/iceauth-"
+               "mirror://xorg/individual/app/iceauth-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl"))))
+            "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"))))
     (build-system gnu-build-system)
     (inputs
       `(("libice" ,libice)))
@@ -916,17 +915,17 @@ autotools system.")
 (define-public inputproto
   (package
     (name "inputproto")
-    (version "2.2")
+    (version "2.3.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/inputproto-"
+               "mirror://xorg/individual/proto/inputproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1c5wqamfsd8g5i8kya5pjfmcac8q5zq1l3vclh6p96f24nmicxfy"))))
+            "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -943,7 +942,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/kbproto-"
+               "mirror://xorg/individual/proto/kbproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -964,17 +963,17 @@ autotools system.")
 (define-public libdmx
   (package
     (name "libdmx")
-    (version "1.1.2")
+    (version "1.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libdmx-"
+               "mirror://xorg/individual/lib/libdmx-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7"))))
+            "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"))))
     (build-system gnu-build-system)
     (inputs
       `(("xextproto" ,xextproto)
@@ -989,20 +988,45 @@ autotools system.")
     (license license:x11)))
 
 
+(define-public libxshmfence
+  (package
+    (name "libxshmfence")
+    (version "1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://xorg/individual/lib/"
+                    name "-" version ".tar.bz2"))
+              (sha256
+               (base32
+                "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (inputs `(("xproto" ,xproto)))
+    (home-page "http://xorg.freedesktop.org")
+    (synopsis "X shared memory fences")
+    (description
+     "This library provides an interface to shared-memory fences for
+synchronization between the X server and direct-rendering clients.")
+
+    ;; Same license as libevdev.
+    (license (license:x11-style "file://COPYING"))))
+
+
 (define-public libfontenc
   (package
     (name "libfontenc")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libfontenc-"
+               "mirror://xorg/individual/lib/libfontenc-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny"))))
+            "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959"))))
     (build-system gnu-build-system)
     (inputs
       `(("zlib" ,zlib)
@@ -1018,17 +1042,17 @@ autotools system.")
 (define-public libfs
   (package
     (name "libfs")
-    (version "1.0.4")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libFS-"
+               "mirror://xorg/individual/lib/libFS-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "05c3bqgn5m7j4kx8wvy0p36faq6f9jv5yq12m6033m4lflg7cwvh"))))
+            "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh"))))
     (build-system gnu-build-system)
     (inputs
       `(("xtrans" ,xtrans)
@@ -1045,17 +1069,17 @@ autotools system.")
 (define-public libpciaccess
   (package
     (name "libpciaccess")
-    (version "0.13.1")
+    (version "0.13.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libpciaccess-"
+               "mirror://xorg/individual/lib/libpciaccess-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7"))))
+            "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb"))))
     (build-system gnu-build-system)
     (inputs
       `(("zlib" ,zlib)))
@@ -1075,7 +1099,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "http://xcb.freedesktop.org/dist/libpthread-stubs-"
+               "mirror://xorg/individual/xcb/libpthread-stubs-"
                version
                ".tar.bz2"))
         (sha256
@@ -1092,17 +1116,17 @@ autotools system.")
 (define-public libsm
   (package
     (name "libsm")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libSM-"
+               "mirror://xorg/individual/lib/libSM-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck"))))
+            "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libice" ,libice))) ; SMlib.h includes ICElib.h
@@ -1125,7 +1149,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libWindowsWM-"
+               "mirror://xorg/individual/lib/libWindowsWM-"
                version
                ".tar.bz2"))
         (sha256
@@ -1148,17 +1172,17 @@ autotools system.")
 (define-public libxcomposite
   (package
     (name "libxcomposite")
-    (version "0.4.3")
+    (version "0.4.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXcomposite-"
+               "mirror://xorg/individual/lib/libXcomposite-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j"))))
+            "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd"))))
     (build-system gnu-build-system)
     (propagated-inputs
      ;; xcomposite.pc refers to all these.
@@ -1182,7 +1206,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXdmcp-"
+               "mirror://xorg/individual/lib/libXdmcp-"
                version
                ".tar.bz2"))
         (sha256
@@ -1202,17 +1226,17 @@ autotools system.")
 (define-public libxft
   (package
     (name "libxft")
-    (version "2.3.1")
+    (version "2.3.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXft-"
+               "mirror://xorg/individual/lib/libXft-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz"))))
+            "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm"))))
     (build-system gnu-build-system)
     (propagated-inputs
      ;; xft.pc refers to all these.
@@ -1238,7 +1262,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libxkbfile-"
+               "mirror://xorg/individual/lib/libxkbfile-"
                version
                ".tar.bz2"))
         (sha256
@@ -1258,17 +1282,17 @@ autotools system.")
 (define-public libxmu
   (package
     (name "libxmu")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXmu-"
+               "mirror://xorg/individual/lib/libXmu-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h"))))
+            "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxt" ,libxt)
@@ -1285,17 +1309,17 @@ autotools system.")
 (define-public libxpm
   (package
     (name "libxpm")
-    (version "3.5.10")
+    (version "3.5.11")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXpm-"
+               "mirror://xorg/individual/lib/libXpm-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6"))))
+            "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5"))))
     (build-system gnu-build-system)
     (inputs
       `(("gettext" ,gnu-gettext)
@@ -1313,17 +1337,17 @@ autotools system.")
 (define-public libxres
   (package
     (name "libxres")
-    (version "1.0.6")
+    (version "1.0.7")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXres-"
+               "mirror://xorg/individual/lib/libXres-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1478pm70gdi6l70r4jpkyyg2am9wv6xh53z9ibwq5cg84p4n31pz"))))
+            "1rd0bzn67cpb2qkc946gch2183r4bdjfhs6cpqbipy47m9a91296"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)
@@ -1346,7 +1370,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXScrnSaver-"
+               "mirror://xorg/individual/lib/libXScrnSaver-"
                version
                ".tar.bz2"))
         (sha256
@@ -1369,17 +1393,17 @@ autotools system.")
 (define-public libxxf86dga
   (package
     (name "libxxf86dga")
-    (version "1.1.3")
+    (version "1.1.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXxf86dga-"
+               "mirror://xorg/individual/lib/libXxf86dga-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm"))))
+            "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("xf86dgaproto" ,xf86dgaproto)))
@@ -1402,7 +1426,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/luit-"
+               "mirror://xorg/individual/app/luit-"
                version
                ".tar.bz2"))
         (sha256
@@ -1425,17 +1449,17 @@ autotools system.")
 (define-public makedepend
   (package
     (name "makedepend")
-    (version "1.0.4")
+    (version "1.0.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/makedepend-"
+               "mirror://xorg/individual/util/makedepend-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb"))))
+            "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)))
@@ -1449,17 +1473,17 @@ autotools system.")
 (define-public mkfontscale
   (package
     (name "mkfontscale")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/mkfontscale-"
+               "mirror://xorg/individual/app/mkfontscale-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff"))))
+            "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"))))
     (build-system gnu-build-system)
     (inputs
       `(("zlib" ,zlib)
@@ -1474,7 +1498,6 @@ autotools system.")
     (license license:x11)))
 
 
-;; not part of X11R7.7, required for newer versions of mesa
 (define-public presentproto
   (package
     (name "presentproto")
@@ -1496,7 +1519,6 @@ autotools system.")
     (license (license:x11-style "file://presentproto.h"
                                 "See 'presentproto.h' in the distribution."))))
 
-;; The package is missing from X11R7.7.
 (define-public printproto
   (package
     (name "printproto")
@@ -1522,17 +1544,17 @@ autotools system.")
 (define-public randrproto
   (package
     (name "randrproto")
-    (version "1.3.2")
+    (version "1.4.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/randrproto-"
+               "mirror://xorg/individual/proto/randrproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr"))))
+            "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -1549,7 +1571,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/recordproto-"
+               "mirror://xorg/individual/proto/recordproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1571,7 +1593,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/renderproto-"
+               "mirror://xorg/individual/proto/renderproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1593,7 +1615,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/resourceproto-"
+               "mirror://xorg/individual/proto/resourceproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1615,7 +1637,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/scrnsaverproto-"
+               "mirror://xorg/individual/proto/scrnsaverproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1632,17 +1654,17 @@ autotools system.")
 (define-public sessreg
   (package
     (name "sessreg")
-    (version "1.0.7")
+    (version "1.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/sessreg-"
+               "mirror://xorg/individual/app/sessreg-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47"))))
+            "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)))
@@ -1662,7 +1684,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/setxkbmap-"
+               "mirror://xorg/individual/app/setxkbmap-"
                version
                ".tar.bz2"))
         (sha256
@@ -1694,7 +1716,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/smproxy-"
+               "mirror://xorg/individual/app/smproxy-"
                version
                ".tar.bz2"))
         (sha256
@@ -1715,17 +1737,17 @@ autotools system.")
 (define-public util-macros
   (package
     (name "util-macros")
-    (version "1.17")
+    (version "1.19.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/util-macros-"
+               "mirror://xorg/individual/util/util-macros-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"))))
+            "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (arguments
@@ -1753,17 +1775,17 @@ autotools system.")
 (define-public videoproto
   (package
     (name "videoproto")
-    (version "2.3.1")
+    (version "2.3.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/videoproto-"
+               "mirror://xorg/individual/proto/videoproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry"))))
+            "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -1780,7 +1802,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/windowswmproto-"
+               "mirror://xorg/individual/proto/windowswmproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1802,7 +1824,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/x11perf-"
+               "mirror://xorg/individual/app/x11perf-"
                version
                ".tar.bz2"))
         (sha256
@@ -1825,17 +1847,17 @@ autotools system.")
 (define-public xauth
   (package
     (name "xauth")
-    (version "1.0.7")
+    (version "1.0.9")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xauth-"
+               "mirror://xorg/individual/app/xauth-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4"))))
+            "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxmu" ,libxmu)
@@ -1844,6 +1866,10 @@ autotools system.")
         ("libx11" ,libx11)))
     (native-inputs
       `(("pkg-config" ,pkg-config)))
+
+    ;; FIXME: The test suite needs http://liw.fi/cmdtest/
+    (arguments `(#:tests? #f))
+
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
@@ -1853,24 +1879,23 @@ autotools system.")
 (define-public xbacklight
   (package
     (name "xbacklight")
-    (version "1.1.2")
+    (version "1.2.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xbacklight-"
+               "mirror://xorg/individual/app/xbacklight-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg"))))
+            "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp"))))
     (build-system gnu-build-system)
     (inputs
-      `(("libx11" ,libx11)
-        ("libxrandr" ,libxrandr)
-        ("libxrender" ,libxrender)))
+     `(("libxcb" ,libxcb)
+       ("xcb-util" ,xcb-util)))
     (native-inputs
-      `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
@@ -1885,7 +1910,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xbitmaps-"
+               "mirror://xorg/individual/data/xbitmaps-"
                version
                ".tar.bz2"))
         (sha256
@@ -1907,7 +1932,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "http://xcb.freedesktop.org/dist/xcb-proto-"
+               "mirror://xorg/individual/xcb/xcb-proto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1930,7 +1955,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xcmiscproto-"
+               "mirror://xorg/individual/proto/xcmiscproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -1952,7 +1977,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xcmsdb-"
+               "mirror://xorg/individual/app/xcmsdb-"
                version
                ".tar.bz2"))
         (sha256
@@ -1972,17 +1997,17 @@ autotools system.")
 (define-public xcursor-themes
   (package
     (name "xcursor-themes")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xcursor-themes-"
+               "mirror://xorg/individual/data/xcursor-themes-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr"))))
+            "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxcursor" ,libxcursor)
@@ -2003,17 +2028,17 @@ autotools system.")
 (define-public xcursorgen
   (package
     (name "xcursorgen")
-    (version "1.0.5")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xcursorgen-"
+               "mirror://xorg/individual/app/xcursorgen-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "10f5wk1326mm45gvgpf4m2p0j80fcd0i4c52zikahb91zah72wdw"))))
+            "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxcursor" ,libxcursor)
@@ -2029,17 +2054,17 @@ autotools system.")
 (define-public xdpyinfo
   (package
     (name "xdpyinfo")
-    (version "1.3.0")
+    (version "1.3.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xdpyinfo-"
+               "mirror://xorg/individual/app/xdpyinfo-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3"))))
+            "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf"))))
     (build-system gnu-build-system)
     (inputs
       `(("inputproto" ,inputproto)
@@ -2068,7 +2093,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xdriinfo-"
+               "mirror://xorg/individual/app/xdriinfo-"
                version
                ".tar.bz2"))
         (sha256
@@ -2089,17 +2114,17 @@ autotools system.")
 (define-public xev
   (package
     (name "xev")
-    (version "1.2.0")
+    (version "1.2.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xev-"
+               "mirror://xorg/individual/app/xev-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip"))))
+            "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxrender" ,libxrender)
@@ -2117,17 +2142,17 @@ autotools system.")
 (define-public xextproto
   (package
     (name "xextproto")
-    (version "7.2.1")
+    (version "7.3.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xextproto-"
+               "mirror://xorg/individual/proto/xextproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw"))))
+            "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -2136,23 +2161,50 @@ autotools system.")
     (license license:x11)))
 
 
+(define-public libevdev
+  (package
+    (name "libevdev")
+    (version "1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.freedesktop.org/software/" name "/"
+                           name "-" version ".tar.xz"))
+       (sha256
+        (base32
+         "0iil4pnla0kjdx52ay7igq65sx32sjbzn1wx9q3v74m5g7712m16"))))
+    (build-system gnu-build-system)
+    (native-inputs `(("python" ,python)))
+    (home-page "http://www.freedesktop.org/wiki/Software/libevdev/")
+    (synopsis "Wrapper library for evdev devices")
+    (description
+     "libevdev is a wrapper library for evdev devices. it moves the common
+tasks when dealing with evdev devices into a library and provides a library
+interface to the callers, thus avoiding erroneous ioctls, etc.
+
+The eventual goal is that libevdev wraps all ioctls available to evdev
+devices, thus making direct access unnecessary.")
+    (license (license:x11-style "file://COPYING"))))
+
+
 (define-public xf86-input-evdev
   (package
     (name "xf86-input-evdev")
-    (version "2.7.0")
+    (version "2.8.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-evdev-"
+               "mirror://xorg/individual/driver/xf86-input-evdev-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y"))))
+            "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"))))
     (build-system gnu-build-system)
     (inputs
-      `(("udev" ,udev)
+      `(("udev" ,eudev)
+        ("libevdev" ,libevdev)
         ("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (arguments
@@ -2169,17 +2221,17 @@ autotools system.")
 (define-public xf86-input-joystick
   (package
     (name "xf86-input-joystick")
-    (version "1.6.1")
+    (version "1.6.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-"
+               "mirror://xorg/individual/driver/xf86-input-joystick-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x"))))
+            "038mfqairyyqvz02rk7v3i070sab1wr0k6fkxvyvxdgkfbnqcfzf"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2197,17 +2249,17 @@ autotools system.")
 (define-public xf86-input-keyboard
   (package
     (name "xf86-input-keyboard")
-    (version "1.6.1")
+    (version "1.8.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-"
+               "mirror://xorg/individual/driver/xf86-input-keyboard-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma"))))
+            "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2220,20 +2272,25 @@ autotools system.")
 (define-public xf86-input-mouse
   (package
     (name "xf86-input-mouse")
-    (version "1.7.2")
+    (version "1.9.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-"
+               "mirror://xorg/individual/driver/xf86-input-mouse-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark"))))
+            "1kn5kx3qyn9qqvd6s24a2l1wfgck2pgfvzl90xpl024wfxsx719l"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
+    (arguments
+     `(#:configure-flags
+       (list (string-append "--with-sdkdir="
+                            (assoc-ref %outputs "out")
+                            "/include/xorg"))))
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
@@ -2243,22 +2300,21 @@ autotools system.")
 (define-public xf86-input-synaptics
   (package
     (name "xf86-input-synaptics")
-    (version "1.6.1")
+    (version "1.8.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-synaptics-"
+               "mirror://xorg/individual/driver/xf86-input-synaptics-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s"))
-        (patches
-         (list (search-patch "xf86-input-synaptics-glibc-2.20.patch")))))
+            "16phzd7yhl4wns957c35qz2nahmjvnlx05jf975s524qkvrdlkyp"))))
     (build-system gnu-build-system)
     (inputs `(("libx11" ,libx11)
               ("libxi" ,libxi)
+              ("libevdev" ,libevdev)
               ("mtdev" ,mtdev)
               ("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2285,7 +2341,7 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-input-void-"
+               "mirror://xorg/individual/driver/xf86-input-void-"
                version
                ".tar.bz2"))
         (sha256
@@ -2303,17 +2359,18 @@ autotools system.")
 (define-public xf86-video-ark
   (package
     (name "xf86-video-ark")
-    (version "0.7.4")
+    (version "0.7.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-ark-"
+               "mirror://xorg/individual/driver/xf86-video-ark-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x"))))
+           "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466"))
+        (patches (list (search-patch "xf86-video-ark-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2331,12 +2388,13 @@ autotools system.")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-ast-"
+               "mirror://xorg/individual/driver/xf86-video-ast-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69"))))
+           "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69"))
+        (patches (list (search-patch "xf86-video-ast-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2349,23 +2407,23 @@ autotools system.")
 (define-public xf86-video-ati
   (package
     (name "xf86-video-ati")
-    (version "6.14.6")
+    (version "7.5.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               ;; FIXME: When updating, switch back to release uri.
                "mirror://xorg/individual/driver/xf86-video-ati-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0dpcdgw7vmx53l3byp900na5s980v1nw11a7y5yps67hwjrqclma"))))
+            "0dkrw036ikym8aacl43lnf04q0wbms5498xg5b3l16ngnq36ygpc"))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xxf86driproto" ,xf86driproto)
               ("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
+    (arguments `(#:configure-flags `("--disable-glamor"))) ; TODO: Enable glamor
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
@@ -2375,17 +2433,17 @@ autotools system.")
 (define-public xf86-video-cirrus
   (package
     (name "xf86-video-cirrus")
-    (version "1.4.0")
+    (version "1.5.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-cirrus-"
+               "mirror://xorg/individual/driver/xf86-video-cirrus-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0blnbspj4936wy46lp346s4b08dfcray6yicsxvv5b4699fzl1rb"))))
+            "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2402,17 +2460,17 @@ autotools system.")
 (define-public xf86-video-fbdev
   (package
     (name "xf86-video-fbdev")
-    (version "0.4.2")
+    (version "0.4.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-fbdev-"
+               "mirror://xorg/individual/driver/xf86-video-fbdev-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk"))))
+            "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2422,28 +2480,28 @@ autotools system.")
     (license license:x11)))
 
 
-;; Compilation errors: Assembler messages operand size mismatch etc.
-;; (define-public xf86-video-geode
-;;   (package
-;;     (name "xf86-video-geode")
-;;     (version "2.11.13")
-;;     (source
-;;       (origin
-;;         (method url-fetch)
-;;         (uri (string-append
-;;                "mirror://xorg/X11R7.7/src/everything/xf86-video-geode-"
-;;                version
-;;                ".tar.bz2"))
-;;         (sha256
-;;           (base32
-;;             "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863"))))
-;;     (build-system gnu-build-system)
-;;     (inputs `(("pkg-config" ,pkg-config)
-;;               ("xorg-server" ,xorg-server)))
-;;     (home-page "http://www.x.org/wiki/")
-;;     (synopsis "Xorg implementation of the X Window System")
-;;     (description "X.org provides an implementation of the X Window System")
-;;     (license license:x11)))
+(define-public xf86-video-geode
+  (package
+    (name "xf86-video-geode")
+    (version "2.11.16")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "mirror://xorg/individual/driver/xf86-video-geode-"
+               version
+               ".tar.bz2"))
+        (sha256
+          (base32
+           "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q"))
+        (patches (list (search-patch "xf86-video-geode-glibc-2.20.patch")))))
+    (build-system gnu-build-system)
+    (inputs `(("pkg-config" ,pkg-config)
+              ("xorg-server" ,xorg-server)))
+    (home-page "http://www.x.org/wiki/")
+    (synopsis "Xorg implementation of the X Window System")
+    (description "X.org provides an implementation of the X Window System")
+    (license license:x11)))
 
 
 ;; Driver for obsolete graphics cards, depends on libglide:
@@ -2475,17 +2533,19 @@ autotools system.")
 (define-public xf86-video-glint
   (package
     (name "xf86-video-glint")
-    (version "1.2.7")
+    (version "1.2.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-glint-"
+               "mirror://xorg/individual/driver/xf86-video-glint-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs"))))
+           "08a2aark2yn9irws9c78d9q44dichr03i9zbk61jgr54ncxqhzv5"))
+        (patches (list
+                  (search-patch "xf86-video-glint-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xf86dgaproto" ,xf86dgaproto)
               ("xorg-server" ,xorg-server)))
@@ -2499,17 +2559,19 @@ autotools system.")
 (define-public xf86-video-i128
   (package
     (name "xf86-video-i128")
-    (version "1.3.5")
+    (version "1.3.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-i128-"
+               "mirror://xorg/individual/driver/xf86-video-i128-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y"))))
+           "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq"))
+        (patches (list
+                  (search-patch "xf86-video-i128-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2522,19 +2584,22 @@ autotools system.")
 (define-public xf86-video-intel
   (package
     (name "xf86-video-intel")
-    (version "2.19.0")
+    (version "2.21.15")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-intel-"
+               "mirror://xorg/individual/driver/xf86-video-intel-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1g742szymajh88a5dw08sxcr45bmxgc4w3m6hddv9qscn5hks4rj"))))
+           "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx"))
+        (patches (list (search-patch "xf86-video-intel-compat-api.patch")
+                       (search-patch "xf86-video-intel-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
+              ("udev" ,eudev)
               ("libx11" ,libx11)
               ("xorg-server" ,xorg-server)))
     (native-inputs
@@ -2548,17 +2613,18 @@ autotools system.")
 (define-public xf86-video-mach64
   (package
     (name "xf86-video-mach64")
-    (version "6.9.1")
+    (version "6.9.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-"
+               "mirror://xorg/individual/driver/xf86-video-mach64-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz"))))
+           "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp"))
+        (patches (list (search-patch "xf86-video-mach64-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86driproto" ,xf86driproto)
@@ -2574,17 +2640,18 @@ autotools system.")
 (define-public xf86-video-mga
   (package
     (name "xf86-video-mga")
-    (version "1.5.0")
+    (version "1.6.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-mga-"
+               "mirror://xorg/individual/driver/xf86-video-mga-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a"))))
+           "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p"))
+        (patches (list (search-patch "xf86-video-mga-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86driproto" ,xf86driproto)
@@ -2609,10 +2676,7 @@ autotools system.")
          (base32
            "0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh"))))
     (build-system gnu-build-system)
-    (inputs `(;; FIXME: This is a libdrm version incompatible with that of
-              ;; MESA, which xorg-server uses.  Therefore, using this driver
-              ;; leads to "unresolved symbol drmModeSetCursor2".
-              ("libdrm" ,libdrm)
+    (inputs `(("libdrm" ,libdrm)
               ("xf86driproto" ,xf86driproto)
               ("libx11" ,libx11)
               ("xorg-server" ,xorg-server)))
@@ -2627,17 +2691,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-neomagic
   (package
     (name "xf86-video-neomagic")
-    (version "1.2.6")
+    (version "1.2.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-"
+               "mirror://xorg/individual/driver/xf86-video-neomagic-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi"))))
+            "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash"))))
     (build-system gnu-build-system)
     (inputs `(("xf86dgaproto" ,xf86dgaproto)
               ("xorg-server" ,xorg-server)))
@@ -2656,7 +2720,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-newport-"
+               "mirror://xorg/individual/driver/xf86-video-newport-"
                version
                ".tar.bz2"))
         (sha256
@@ -2674,17 +2738,18 @@ kernel mode setting (KMS).")
 (define-public xf86-video-nv
   (package
     (name "xf86-video-nv")
-    (version "2.1.18")
+    (version "2.1.20")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-nv-"
+               "mirror://xorg/individual/driver/xf86-video-nv-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc"))))
+           "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3"))
+        (patches (list (search-patch "xf86-video-nv-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2697,18 +2762,19 @@ kernel mode setting (KMS).")
 (define-public xf86-video-openchrome
   (package
     (name "xf86-video-openchrome")
-    (version "0.2.906")
+    (version "0.3.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-"
+               "mirror://xorg/individual/driver/xf86-video-openchrome-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7"))
-        (patches (list (search-patch "xf86-video-openchrome-includes.patch")))))
+           "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4"))
+        (patches (list
+                  (search-patch "xf86-video-openchrome-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)
@@ -2727,17 +2793,18 @@ kernel mode setting (KMS).")
 (define-public xf86-video-r128
   (package
     (name "xf86-video-r128")
-    (version "6.8.2")
+    (version "6.9.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-r128-"
+               "mirror://xorg/individual/driver/xf86-video-r128-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv"))))
+           "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb"))
+        (patches (list (search-patch "xf86-video-r128-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86driproto" ,xf86driproto)
@@ -2752,17 +2819,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-savage
   (package
     (name "xf86-video-savage")
-    (version "2.3.4")
+    (version "2.3.7")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-savage-"
+               "mirror://xorg/individual/driver/xf86-video-savage-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris"))))
+            "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784"))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86driproto" ,xf86driproto)
@@ -2777,17 +2844,20 @@ kernel mode setting (KMS).")
 (define-public xf86-video-siliconmotion
   (package
     (name "xf86-video-siliconmotion")
-    (version "1.7.6")
+    (version "1.7.7")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-"
+               "mirror://xorg/individual/driver/xf86-video-siliconmotion-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5"))))
+           "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47"))
+        (patches
+         (list
+          (search-patch "xf86-video-siliconmotion-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2800,17 +2870,18 @@ kernel mode setting (KMS).")
 (define-public xf86-video-sis
   (package
     (name "xf86-video-sis")
-    (version "0.10.4")
+    (version "0.10.7")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-sis-"
+               "mirror://xorg/individual/driver/xf86-video-sis-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f"))))
+           "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy"))
+        (patches (list (search-patch "xf86-video-sis-update-api.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86dgaproto" ,xf86dgaproto)
@@ -2827,17 +2898,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-suncg6
   (package
     (name "xf86-video-suncg6")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-"
+               "mirror://xorg/individual/driver/xf86-video-suncg6-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi"))))
+            "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2850,17 +2921,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-sunffb
   (package
     (name "xf86-video-sunffb")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-"
+               "mirror://xorg/individual/driver/xf86-video-sunffb-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx"))))
+            "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2873,17 +2944,19 @@ kernel mode setting (KMS).")
 (define-public xf86-video-tdfx
   (package
     (name "xf86-video-tdfx")
-    (version "1.4.4")
+    (version "1.4.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-"
+               "mirror://xorg/individual/driver/xf86-video-tdfx-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0"))))
+           "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh"))
+        (patches (list
+                  (search-patch "xf86-video-tdfx-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("mesa" ,mesa)
               ("xf86driproto" ,xf86driproto)
@@ -2898,17 +2971,18 @@ kernel mode setting (KMS).")
 (define-public xf86-video-tga
   (package
     (name "xf86-video-tga")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-tga-"
+               "mirror://xorg/individual/driver/xf86-video-tga-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h"))))
+           "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0"))
+        (patches (list (search-patch "xf86-video-tga-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xf86dgaproto" ,xf86dgaproto)
               ("xorg-server" ,xorg-server)))
@@ -2922,17 +2996,19 @@ kernel mode setting (KMS).")
 (define-public xf86-video-trident
   (package
     (name "xf86-video-trident")
-    (version "1.3.5")
+    (version "1.3.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-trident-"
+               "mirror://xorg/individual/driver/xf86-video-trident-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb"))))
+           "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a"))
+        (patches (list
+                  (search-patch "xf86-video-trident-remove-mibstore.patch")))))
     (build-system gnu-build-system)
     (inputs `(("xf86dgaproto" ,xf86dgaproto)
               ("xorg-server" ,xorg-server)))
@@ -2950,17 +3026,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-vesa
   (package
     (name "xf86-video-vesa")
-    (version "2.3.1")
+    (version "2.3.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-vesa-"
+               "mirror://xorg/individual/driver/xf86-video-vesa-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0wqms28kkz2fvghqhqwp6w8zj7k5cgwnhzvkc7j4v268bf6h78g4"))))
+            "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf"))))
     (build-system gnu-build-system)
     (inputs `(("xorg-server" ,xorg-server)))
     (native-inputs `(("pkg-config" ,pkg-config)))
@@ -2973,20 +3049,22 @@ kernel mode setting (KMS).")
 (define-public xf86-video-vmware
   (package
     (name "xf86-video-vmware")
-    (version "12.0.2")
+    (version "13.0.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-"
+               "mirror://xorg/individual/driver/xf86-video-vmware-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8"))))
+           "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"))
+        (patches (list (search-patch "xf86-video-vmware-glibc-2.20.patch")))))
     (build-system gnu-build-system)
     (inputs `(("libx11" ,libx11)
               ("libxext" ,libxext)
+              ("mesa" ,mesa)            ; for xatracker
               ("xorg-server" ,xorg-server)))
     (native-inputs
        `(("pkg-config" ,pkg-config)))
@@ -2999,17 +3077,17 @@ kernel mode setting (KMS).")
 (define-public xf86-video-voodoo
   (package
     (name "xf86-video-voodoo")
-    (version "1.2.4")
+    (version "1.2.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-"
+               "mirror://xorg/individual/driver/xf86-video-voodoo-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph"))))
+            "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"))))
     (build-system gnu-build-system)
     (inputs `(("xf86dgaproto" ,xf86dgaproto)
               ("xorg-server" ,xorg-server)))
@@ -3032,7 +3110,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-"
+               "mirror://xorg/individual/proto/xf86bigfontproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3053,7 +3131,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86dgaproto-"
+               "mirror://xorg/individual/proto/xf86dgaproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3074,7 +3152,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86driproto-"
+               "mirror://xorg/individual/proto/xf86driproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3095,7 +3173,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-"
+               "mirror://xorg/individual/proto/xf86vidmodeproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3116,7 +3194,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xgamma-"
+               "mirror://xorg/individual/app/xgamma-"
                version
                ".tar.bz2"))
         (sha256
@@ -3137,17 +3215,17 @@ kernel mode setting (KMS).")
 (define-public xhost
   (package
     (name "xhost")
-    (version "1.0.5")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xhost-"
+               "mirror://xorg/individual/app/xhost-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18"))))
+            "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxmu" ,libxmu)
@@ -3169,7 +3247,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xineramaproto-"
+               "mirror://xorg/individual/proto/xineramaproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3186,22 +3264,23 @@ kernel mode setting (KMS).")
 (define-public xinput
   (package
     (name "xinput")
-    (version "1.6.0")
+    (version "1.6.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xinput-"
+               "mirror://xorg/individual/app/xinput-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a"))))
+            "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxrender" ,libxrender)
         ("libxrandr" ,libxrandr)
         ("libxinerama" ,libxinerama)
+        ("libxext" ,libxext)
         ("libxi" ,libxi)
         ("libx11" ,libx11)
         ("inputproto" ,inputproto)))
@@ -3216,17 +3295,17 @@ kernel mode setting (KMS).")
 (define xkbcomp-intermediate ; used as input for xkeyboard-config
   (package
     (name "xkbcomp-intermediate")
-    (version "1.2.4")
+    (version "1.3.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xkbcomp-"
+               "mirror://xorg/individual/app/xkbcomp-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i"))))
+            "0aibcbhhjlwcrxh943xg2dswwx5bz1x0pmhs28b55gzsg0vrgb6g"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)
@@ -3260,7 +3339,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xkbevd-"
+               "mirror://xorg/individual/app/xkbevd-"
                version
                ".tar.bz2"))
         (sha256
@@ -3281,17 +3360,17 @@ kernel mode setting (KMS).")
 (define-public xkbutils
   (package
     (name "xkbutils")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xkbutils-"
+               "mirror://xorg/individual/app/xkbutils-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4"))))
+            "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxt" ,libxt)
@@ -3309,17 +3388,17 @@ kernel mode setting (KMS).")
 (define-public xkeyboard-config
   (package
     (name "xkeyboard-config")
-    (version "2.6")
+    (version "2.13")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xkeyboard-config-"
-               version
-               ".tar.bz2"))
+              "mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-"
+              version
+              ".tar.bz2"))
         (sha256
           (base32
-            "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892"))))
+            "1klzbwabzd7bhbg23b14vy4l5xgpapn8lc0m5d8h40d3p7rfjnvv"))))
     (build-system gnu-build-system)
     (inputs
       `(("gettext" ,gnu-gettext)
@@ -3337,17 +3416,17 @@ kernel mode setting (KMS).")
 (define-public xkill
   (package
     (name "xkill")
-    (version "1.0.3")
+    (version "1.0.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xkill-"
+               "mirror://xorg/individual/app/xkill-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx"))))
+            "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxmu" ,libxmu)
@@ -3368,7 +3447,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xlsatoms-"
+               "mirror://xorg/individual/app/xlsatoms-"
                version
                ".tar.bz2"))
         (sha256
@@ -3388,17 +3467,17 @@ kernel mode setting (KMS).")
 (define-public xlsclients
   (package
     (name "xlsclients")
-    (version "1.1.2")
+    (version "1.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xlsclients-"
+               "mirror://xorg/individual/app/xlsclients-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w"))))
+            "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxcb" ,libxcb)))
@@ -3413,17 +3492,17 @@ kernel mode setting (KMS).")
 (define-public xmodmap
   (package
     (name "xmodmap")
-    (version "1.0.7")
+    (version "1.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xmodmap-"
+               "mirror://xorg/individual/app/xmodmap-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg"))
+            "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg"))
         (patches (list (search-patch "xmodmap-asprintf.patch")))))
     (build-system gnu-build-system)
     (inputs
@@ -3449,7 +3528,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-"
+               "mirror://xorg/individual/doc/xorg-sgml-doctools-"
                version
                ".tar.bz2"))
         (sha256
@@ -3471,7 +3550,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xpr-"
+               "mirror://xorg/individual/app/xpr-"
                version
                ".tar.bz2"))
         (sha256
@@ -3493,17 +3572,17 @@ kernel mode setting (KMS).")
 (define-public xprop
   (package
     (name "xprop")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xprop-"
+               "mirror://xorg/individual/app/xprop-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407"))))
+            "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)
@@ -3519,17 +3598,17 @@ kernel mode setting (KMS).")
 (define-public xrandr
   (package
     (name "xrandr")
-    (version "1.3.5")
+    (version "1.4.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xrandr-"
+               "mirror://xorg/individual/app/xrandr-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h"))))
+            "06xy0kr6ih7ilrwl6b5g6ay75vm2j4lxnv1d5xlj6sdqhqsaqm3i"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxrender" ,libxrender)
@@ -3547,17 +3626,17 @@ kernel mode setting (KMS).")
 (define-public xrdb
   (package
     (name "xrdb")
-    (version "1.0.9")
+    (version "1.1.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xrdb-"
+               "mirror://xorg/individual/app/xrdb-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934"))))
+            "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxmu" ,libxmu)
@@ -3573,17 +3652,17 @@ kernel mode setting (KMS).")
 (define-public xrefresh
   (package
     (name "xrefresh")
-    (version "1.0.4")
+    (version "1.0.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xrefresh-"
+               "mirror://xorg/individual/app/xrefresh-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586"))))
+            "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj"))))
     (build-system gnu-build-system)
     (inputs
       `(("libx11" ,libx11)))
@@ -3598,17 +3677,17 @@ kernel mode setting (KMS).")
 (define-public xset
   (package
     (name "xset")
-    (version "1.2.2")
+    (version "1.2.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xset-"
+               "mirror://xorg/individual/app/xset-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1"))))
+            "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3"))))
     (build-system gnu-build-system)
     (inputs
       `(("xproto" ,xproto)
@@ -3626,17 +3705,17 @@ kernel mode setting (KMS).")
 (define-public xsetroot
   (package
     (name "xsetroot")
-    (version "1.1.0")
+    (version "1.1.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xsetroot-"
+               "mirror://xorg/individual/app/xsetroot-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8"))))
+            "1nf3ii31m1knimbidaaym8p61fq3blv8rrdr2775yhcclym5s8ds"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxmu" ,libxmu)
@@ -3653,17 +3732,17 @@ kernel mode setting (KMS).")
 (define-public xtrans
   (package
     (name "xtrans")
-    (version "1.2.7")
+    (version "1.3.5")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xtrans-"
+               "mirror://xorg/individual/lib/xtrans-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz"))))
+            "00c3ph17acnsch3gbdmx33b9ifjnl5w7vx8hrmic1r1cjcv3pgdd"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)))
     (home-page "http://www.x.org/wiki/")
@@ -3675,17 +3754,17 @@ kernel mode setting (KMS).")
 (define-public xvinfo
   (package
     (name "xvinfo")
-    (version "1.1.1")
+    (version "1.1.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xvinfo-"
+               "mirror://xorg/individual/app/xvinfo-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0"))))
+            "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxext" ,libxext)
@@ -3702,20 +3781,21 @@ kernel mode setting (KMS).")
 (define-public xwd
   (package
     (name "xwd")
-    (version "1.0.5")
+    (version "1.0.6")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xwd-"
+               "mirror://xorg/individual/app/xwd-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82"))))
+            "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv"))))
     (build-system gnu-build-system)
     (inputs
       `(("libxt" ,libxt)
+        ("libxkbfile" ,libxkbfile)
         ("xproto" ,xproto)))
     (native-inputs
        `(("pkg-config" ,pkg-config)))
@@ -3728,17 +3808,17 @@ kernel mode setting (KMS).")
 (define-public xwininfo
   (package
     (name "xwininfo")
-    (version "1.1.2")
+    (version "1.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xwininfo-"
+               "mirror://xorg/individual/app/xwininfo-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg"))))
+            "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1"))))
     (build-system gnu-build-system)
     (inputs
       `(("libx11" ,libx11)
@@ -3759,7 +3839,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xwud-"
+               "mirror://xorg/individual/app/xwud-"
                version
                ".tar.bz2"))
         (sha256
@@ -3788,7 +3868,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/fixesproto-"
+               "mirror://xorg/individual/proto/fixesproto-"
                version
                ".tar.bz2"))
         (sha256
@@ -3808,17 +3888,17 @@ kernel mode setting (KMS).")
 (define-public libxdamage
   (package
     (name "libxdamage")
-    (version "1.1.3")
+    (version "1.1.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXdamage-"
+               "mirror://xorg/individual/lib/libXdamage-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw"))))
+            "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw"))))
     (build-system gnu-build-system)
     (propagated-inputs  
       ;; These are all in the Requires or Requires.private field of xdamage.pc
@@ -3837,17 +3917,17 @@ kernel mode setting (KMS).")
 (define-public libxext
   (package
     (name "libxext")
-    (version "1.3.1")
+    (version "1.3.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXext-"
+               "mirror://xorg/individual/lib/libXext-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn"))))
+            "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("xextproto" ,xextproto)))
@@ -3865,17 +3945,17 @@ kernel mode setting (KMS).")
 (define-public libxinerama
   (package
     (name "libxinerama")
-    (version "1.1.2")
+    (version "1.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXinerama-"
+               "mirror://xorg/individual/lib/libXinerama-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4"))))
+            "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("xineramaproto" ,xineramaproto)))
@@ -3890,11 +3970,10 @@ kernel mode setting (KMS).")
     (license license:x11)))
 
 
-;; The package is missing from X11R7.7.
 (define-public libxp
   (package
     (name "libxp")
-    (version "1.0.0")
+    (version "1.0.2")
     (source
       (origin
         (method url-fetch)
@@ -3904,7 +3983,7 @@ kernel mode setting (KMS).")
                ".tar.bz2"))
         (sha256
           (base32
-            "1blwrr5zhmwwy87j0svmhv3hc13acyn5j14n5rv0anz81iav2r3y"))))
+            "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("printproto" ,printproto)))
@@ -3922,17 +4001,17 @@ kernel mode setting (KMS).")
 (define-public libxrender
   (package
     (name "libxrender")
-    (version "0.9.7")
+    (version "0.9.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXrender-"
+               "mirror://xorg/individual/lib/libXrender-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r"))))
+            "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("renderproto" ,renderproto)))
@@ -3950,17 +4029,17 @@ kernel mode setting (KMS).")
 (define-public libxtst
   (package
     (name "libxtst")
-    (version "1.2.1")
+    (version "1.2.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXtst-"
+               "mirror://xorg/individual/lib/libXtst-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky"))))
+            "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("recordproto" ,recordproto)))
@@ -3979,17 +4058,17 @@ kernel mode setting (KMS).")
 (define-public libxv
   (package
     (name "libxv")
-    (version "1.0.7")
+    (version "1.0.10")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXv-"
+               "mirror://xorg/individual/lib/libXv-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx"))))
+            "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("videoproto" ,videoproto)))
@@ -4013,7 +4092,7 @@ kernel mode setting (KMS).")
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/mkfontdir-"
+               "mirror://xorg/individual/app/mkfontdir-"
                version
                ".tar.bz2"))
         (sha256
@@ -4033,17 +4112,17 @@ kernel mode setting (KMS).")
 (define-public xproto
   (package
     (name "xproto")
-    (version "7.0.23")
+    (version "7.0.26")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xproto-"
+               "mirror://xorg/individual/proto/xproto-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d"))))
+            "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs
@@ -4061,17 +4140,17 @@ kernel mode setting (KMS).")
 (define-public libice
   (package
     (name "libice")
-    (version "1.0.8")
+    (version "1.0.9")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libICE-"
+               "mirror://xorg/individual/lib/libICE-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94"))))
+            "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("xproto" ,xproto)))
@@ -4088,17 +4167,17 @@ kernel mode setting (KMS).")
 (define-public libxau
   (package
     (name "libxau")
-    (version "1.0.7")
+    (version "1.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXau-"
+               "mirror://xorg/individual/lib/libXau-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi"))))
+            "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("xproto" ,xproto)))
@@ -4112,17 +4191,17 @@ kernel mode setting (KMS).")
 (define-public libxfixes
   (package
     (name "libxfixes")
-    (version "5.0")
+    (version "5.0.1")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXfixes-"
+               "mirror://xorg/individual/lib/libXfixes-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk"))))
+            "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("fixesproto" ,fixesproto)))
@@ -4140,17 +4219,17 @@ kernel mode setting (KMS).")
 (define-public libxfont
   (package
     (name "libxfont")
-    (version "1.4.5")
+    (version "1.5.0")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXfont-"
+               "mirror://xorg/individual/lib/libXfont-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv"))))
+            "0py2c498lrq6wrj9al6nj57v2ypid9cz0zzhc0hjndgrmp254g1s"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("fontsproto" ,fontsproto)
@@ -4171,22 +4250,23 @@ kernel mode setting (KMS).")
 (define-public libxi
   (package
     (name "libxi")
-    (version "1.6.1")
+    (version "1.7.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXi-"
+               "mirror://xorg/individual/lib/libXi-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj"))))
+            "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("inputproto" ,inputproto)
         ("libx11" ,libx11)
-        ("libxext" ,libxext)))
+        ("libxext" ,libxext)
+        ("libxfixes" ,libxfixes)))
     (inputs
       `(("xproto" ,xproto)))
     (native-inputs
@@ -4200,17 +4280,17 @@ kernel mode setting (KMS).")
 (define-public libxrandr
   (package
     (name "libxrandr")
-    (version "1.3.2")
+    (version "1.4.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXrandr-"
+               "mirror://xorg/individual/lib/libXrandr-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "10cvv78ws8jznma4s45dzqz0ldcxk30qgsqrc4wxfcsjmcba5b3y"))))
+            "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libxext" ,libxext)
@@ -4230,17 +4310,17 @@ kernel mode setting (KMS).")
 (define-public libxvmc
   (package
     (name "libxvmc")
-    (version "1.0.7")
+    (version "1.0.8")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXvMC-"
+               "mirror://xorg/individual/lib/libXvMC-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18"))))
+            "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libxv" ,libxv)))
@@ -4259,17 +4339,17 @@ kernel mode setting (KMS).")
 (define-public libxxf86vm
   (package
     (name "libxxf86vm")
-    (version "1.1.2")
+    (version "1.1.3")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXxf86vm-"
+               "mirror://xorg/individual/lib/libXxf86vm-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55"))))
+            "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libxext" ,libxext)
@@ -4293,10 +4373,8 @@ kernel mode setting (KMS).")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "http://xcb.freedesktop.org/dist/libxcb-"
-               version
-               ".tar.bz2"))
+        (uri (string-append "mirror://xorg/individual/xcb/"
+                            name "-" version ".tar.bz2"))
         (sha256
           (base32
             "1xqgc81krx14f2c8yl5chzg5g2l26mhm2rwffy8dx7jv0iq5sqq3"))))
@@ -4322,35 +4400,41 @@ kernel mode setting (KMS).")
 (define-public xorg-server
   (package
     (name "xorg-server")
-    (version "1.12.2")
+    (version "1.16.2.901")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/xorg-server-"
-               version
-               ".tar.bz2"))
+              "mirror://xorg/individual/xserver/"
+              name "-" version ".tar.bz2"))
         (sha256
-          (base32
-            "1xf57hcq6r17zxyfnx9r1wd0ir1bw13ff8bsiszwrw9jyhi9x7ya"))))
+         (base32
+          "19jb8v26wc332ramwjdg5vjh3s36kr7n46s6fdfaxrj1wif5m27g"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("dri2proto" ,dri2proto)
+        ("dri3proto" ,dri3proto)
         ("fontsproto" ,fontsproto)
         ("inputproto" ,inputproto)
         ("kbproto" ,kbproto)
         ("libpciaccess" ,libpciaccess)
+        ("mesa" ,mesa)
         ("pixman" ,pixman)
+        ("presentproto" ,presentproto)
         ("randrproto" ,randrproto)
         ("renderproto" ,renderproto)
+        ("resourceproto" ,resourceproto)
+        ("scrnsaverproto" ,scrnsaverproto)
         ("videoproto" ,videoproto)
         ("xextproto" ,xextproto)
         ("xineramaproto" ,xineramaproto)
+        ("xf86driproto" ,xf86driproto)
         ("xproto" ,xproto)))
     (inputs
       `(("bigreqsproto" ,bigreqsproto)
         ("compositeproto" ,compositeproto)
         ("damageproto" ,damageproto)
+        ("udev" ,eudev)
         ("dbus" ,dbus)
         ("dmxproto" ,dmxproto)
         ("libdmx" ,libdmx)
@@ -4363,16 +4447,13 @@ kernel mode setting (KMS).")
         ("libxkbfile" ,libxkbfile)
         ("libxrender" ,libxrender)
         ("libxres" ,libxres)
+        ("libxshmfence" ,libxshmfence)
         ("libxt" ,libxt)
         ("libxv" ,libxv)
-        ("mesa" ,mesa)
         ("recordproto" ,recordproto)
-        ("resourceproto" ,resourceproto)
-        ("scrnsaverproto" ,scrnsaverproto)
         ("xcmiscproto" ,xcmiscproto)
         ("xf86bigfontproto" ,xf86bigfontproto)
         ("xf86dgaproto" ,xf86dgaproto)
-        ("xf86driproto" ,xf86driproto)
         ("xf86vidmodeproto" ,xf86vidmodeproto)
         ("xkbcomp" ,xkbcomp)
         ("xkeyboard-config" ,xkeyboard-config)
@@ -4395,21 +4476,18 @@ kernel mode setting (KMS).")
 
              ;; For the log file, etc.
              "--localstatedir=/var")
-       #:phases
-        (alist-replace
-         'configure
-         (lambda* (#:key outputs #:allow-other-keys #:rest args)
-           (let ((configure (assoc-ref %standard-phases 'configure)))
-             (substitute* (find-files "." "\\.c$")
-               (("/bin/sh") (which "sh")))
 
-             ;; Don't try to 'mkdir /var'.
-             (substitute* "hw/xfree86/Makefile.in"
-               (("mkdir(.*)logdir.*")
-                "true\n"))
+       #:phases (alist-cons-before
+                 'configure 'pre-configure
+                 (lambda _
+                   (substitute* (find-files "." "\\.c$")
+                     (("/bin/sh") (which "sh")))
 
-             (apply configure args)))
-         %standard-phases)))
+                   ;; Don't try to 'mkdir /var'.
+                   (substitute* "hw/xfree86/Makefile.in"
+                     (("\\$\\(MKDIR_P\\).*logdir.*")
+                      "true\n")))
+                 %standard-phases)))
     (home-page "http://www.x.org/wiki/")
     (synopsis "Xorg implementation of the X Window System")
     (description "X.org provides an implementation of the X Window System")
@@ -4422,17 +4500,17 @@ kernel mode setting (KMS).")
 (define-public libx11
   (package
     (name "libx11")
-    (version "1.5.0")
+    (version "1.6.2")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libX11-"
+               "mirror://xorg/individual/lib/libX11-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3"))))
+            "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("kbproto" ,kbproto)
@@ -4454,17 +4532,17 @@ kernel mode setting (KMS).")
 (define-public libxcursor
   (package
     (name "libxcursor")
-    (version "1.1.13")
+    (version "1.1.14")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXcursor-"
+               "mirror://xorg/individual/lib/libXcursor-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p"))))
+            "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libx11" ,libx11)
@@ -4482,17 +4560,17 @@ kernel mode setting (KMS).")
 (define-public libxt
   (package
     (name "libxt")
-    (version "1.1.3")
+    (version "1.1.4")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXt-"
+               "mirror://xorg/individual/lib/libXt-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd"))))
+            "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libx11" ,libx11)
@@ -4511,17 +4589,17 @@ kernel mode setting (KMS).")
 (define-public libxaw
   (package
     (name "libxaw")
-    (version "1.0.11")
+    (version "1.0.12")
     (source
       (origin
         (method url-fetch)
         (uri (string-append
-               "mirror://xorg/X11R7.7/src/everything/libXaw-"
+               "mirror://xorg/individual/lib/libXaw-"
                version
                ".tar.bz2"))
         (sha256
           (base32
-            "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47"))))
+            "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n"))))
     (build-system gnu-build-system)
     (propagated-inputs
       `(("libxext" ,libxext)
@@ -4544,8 +4622,8 @@ kernel mode setting (KMS).")
     (version "0.4.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://xcb.freedesktop.org/dist/" name "-"
-                                 version ".tar.bz2"))
+             (uri (string-append "mirror://xorg/individual/xcb/"
+                                 name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26"))))
@@ -4576,8 +4654,8 @@ event: Some utilities that have little to do with events any more.")
     (version "0.4.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://xcb.freedesktop.org/dist/" name "-"
-                                 version ".tar.bz2"))
+             (uri (string-append "mirror://xorg/individual/xcb/"
+                                 name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d"))))
@@ -4608,8 +4686,8 @@ image: Port of Xlib's XImage and XShmImage functions.")
     (version "0.4.0")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://xcb.freedesktop.org/dist/" name "-"
-                                 version ".tar.bz2"))
+             (uri (string-append "mirror://xorg/individual/xcb/"
+                                 name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f"))))
@@ -4638,8 +4716,8 @@ keysyms: Standard X key constants and conversion to/from keycodes.")
     (version "0.3.9")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://xcb.freedesktop.org/dist/" name "-"
-                                 version ".tar.bz2"))
+             (uri (string-append "mirror://xorg/individual/xcb/"
+                                 name "-" version ".tar.bz2"))
              (sha256
               (base32
                "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"))))
@@ -4665,14 +4743,14 @@ renderutil: Convenience functions for the Render extension.")
 (define-public xcb-util-wm
   (package
     (name "xcb-util-wm")
-    (version "0.3.9")
+    (version "0.4.1")
     (source (origin
              (method url-fetch)
-             (uri (string-append "http://xcb.freedesktop.org/dist/xcb-util-wm-"
-                                 version ".tar.bz2"))
+             (uri (string-append "mirror://xorg/individual/xcb/"
+                                 name "-" version ".tar.bz2"))
              (sha256
               (base32
-               "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3"))))
+               "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"))))
     (build-system gnu-build-system)
     (propagated-inputs
      `(("libxcb" ,libxcb)))
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 27a72e8019..b32bb8674c 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -90,13 +90,13 @@ Section \"Files\"
   FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
   ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-fbdev "/lib/xorg/modules/drivers\"
-# FIXME: Commented out due to libdrm incompatibility.
-#  ModulePath \"" xf86-video-modesetting "/lib/xorg/modules/drivers\"
+  ModulePath \"" xf86-video-modesetting "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-cirrus "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\"
   ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\"
+  ModulePath \"" xf86-input-evdev "/lib/xorg/modules/input\"
   ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\"
   ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
   ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\"
diff --git a/guix/build/download.scm b/guix/build/download.scm
index 26b497d458..5928ccd154 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -28,7 +28,9 @@
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
-  #:export (url-fetch
+  #:export (open-connection-for-uri
+            maybe-expand-mirrors
+            url-fetch
             progress-proc
             uri-abbreviation))
 
@@ -278,32 +280,34 @@ which is not available during bootstrap."
     (lambda (key . args)
       (print-exception (current-error-port) #f key args))))
 
+(define (uri-vicinity dir file)
+  "Concatenate DIR, slash, and FILE, keeping only one slash in between.
+This is required by some HTTP servers."
+  (string-append (string-trim-right dir #\/) "/"
+                 (string-trim file #\/)))
+
+(define (maybe-expand-mirrors uri mirrors)
+  "If URI uses the 'mirror' scheme, expand it according to the MIRRORS alist.
+Return a list of URIs."
+  (case (uri-scheme uri)
+    ((mirror)
+     (let ((kind (string->symbol (uri-host uri)))
+           (path (uri-path uri)))
+       (match (assoc-ref mirrors kind)
+         ((mirrors ..1)
+          (map (compose string->uri (cut uri-vicinity <> path))
+               mirrors))
+         (_
+          (error "unsupported URL mirror kind" kind uri)))))
+    (else
+     (list uri))))
+
 (define* (url-fetch url file #:key (mirrors '()))
   "Fetch FILE from URL; URL may be either a single string, or a list of
 string denoting alternate URLs for FILE.  Return #f on failure, and FILE
 on success."
-  (define (uri-vicinity dir file)
-    ;; Concatenate DIR, slash, and FILE, keeping only one slash in between.
-    ;; This is required by some HTTP servers.
-    (string-append (string-trim-right dir #\/) "/"
-                   (string-trim file #\/)))
-
-  (define (maybe-expand-mirrors uri)
-    (case (uri-scheme uri)
-      ((mirror)
-       (let ((kind (string->symbol (uri-host uri)))
-             (path (uri-path uri)))
-         (match (assoc-ref mirrors kind)
-           ((mirrors ..1)
-            (map (compose string->uri (cut uri-vicinity <> path))
-                 mirrors))
-           (_
-            (error "unsupported URL mirror kind" kind uri)))))
-      (else
-       (list uri))))
-
   (define uri
-    (append-map maybe-expand-mirrors
+    (append-map (cut maybe-expand-mirrors <> mirrors)
                 (match url
                   ((_ ...) (map string->uri url))
                   (_       (list (string->uri url))))))
diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index afecd55349..15ae213339 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -29,6 +29,11 @@
   #:use-module (ice-9 match)
   #:use-module (ice-9 regex)
   #:use-module (ice-9 format)
+  #:use-module (web uri)
+  #:use-module ((guix build download)
+                #:select (open-connection-for-uri))
+  #:use-module (web request)
+  #:use-module (web response)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-9)
   #:use-module (srfi srfi-11)
@@ -37,7 +42,8 @@
             check-description-style
             check-inputs-should-be-native
             check-patches
-            check-synopsis-style))
+            check-synopsis-style
+            check-home-page))
 
 
 ;;;
@@ -201,6 +207,103 @@ the synopsis")
      (check-start-with-package-name synopsis)
      (check-synopsis-length synopsis))))
 
+(define (probe-uri uri)
+  "Probe URI, a URI object, and return two values: a symbol denoting the
+probing status, such as 'http-response' when we managed to get an HTTP
+response from URI, and additional details, such as the actual HTTP response."
+  (define headers
+    '((User-Agent . "GNU Guile")
+      (Accept . "*/*")))
+
+  (let loop ((uri     uri)
+             (visited '()))
+    (match (uri-scheme uri)
+      ((or 'http 'https)
+       (catch #t
+         (lambda ()
+           (let ((port    (open-connection-for-uri uri))
+                 (request (build-request uri #:headers headers)))
+             (define response
+               (dynamic-wind
+                 (const #f)
+                 (lambda ()
+                   (write-request request port)
+                   (force-output port)
+                   (read-response port))
+                 (lambda ()
+                   (close port))))
+
+             (case (response-code response)
+               ((301 302 307)
+                (let ((location (response-location response)))
+                  (if (or (not location) (member location visited))
+                      (values 'http-response response)
+                      (loop location (cons location visited))))) ;follow the redirect
+               (else
+                (values 'http-response response)))))
+         (lambda (key . args)
+           (case key
+             ((bad-header bad-header-component)
+              ;; This can happen if the server returns an invalid HTTP header,
+              ;; as is the case with the 'Date' header at sqlite.org.
+              (values 'invalid-http-response #f))
+             ((getaddrinfo-error system-error gnutls-error)
+              (values key args))
+             (else
+              (apply throw key args))))))
+      (_
+       (values 'not-http #f)))))
+
+(define (check-home-page package)
+  "Emit a warning if PACKAGE has an invalid 'home-page' field, or if that
+'home-page' is not reachable."
+  (let ((uri (and=> (package-home-page package) string->uri)))
+    (cond
+     ((uri? uri)
+      (let-values (((status argument)
+                    (probe-uri uri)))
+        (case status
+          ((http-response)
+           (unless (= 200 (response-code argument))
+             (emit-warning package
+                           (format #f
+                                   (_ "home page ~a not reachable: ~a (~s)")
+                                   (uri->string uri)
+                                   (response-code argument)
+                                   (response-reason-phrase argument))
+                           'home-page)))
+          ((getaddrinfo-error)
+           (emit-warning package
+                         (format #f
+                                 (_ "home page domain not found: ~a")
+                                 (gai-strerror (car argument)))
+                         'package))
+          ((system-error)
+           (emit-warning package
+                         (format #f
+                                 (_ "home page unreachable: ~a")
+                                 (strerror
+                                  (system-error-errno
+                                   (cons status argument))))
+                         'home-page))
+          ((invalid-http-response gnutls-error)
+           ;; Probably a misbehaving server; ignore.
+           #f)
+          ((not-http)                             ;nothing we can do
+           #f)
+          (else
+           (error "internal home-page linter error" status)))))
+     ((not (package-home-page package))
+      (unless (or (string-contains (package-name package) "bootstrap")
+                  (string=? (package-name package) "ld-wrapper"))
+        (emit-warning package
+                      (_ "invalid value for home page")
+                      'home-page)))
+     (else
+      (emit-warning package (format #f (_ "invalid home page URL: ~s")
+                                    (package-home-page package))
+                    'home-page)))))
+
 (define (check-patches package)
   ;; Emit a warning if the patches requires by PACKAGE are badly named.
   (let ((patches   (and=> (package-source package) origin-patches))
@@ -296,15 +399,25 @@ descriptions maintained upstream."
      (description "Validate file names of patches")
      (check       check-patches))
    (lint-checker
+     (name        'home-page)
+     (description "Validate home-page URLs")
+     (check       check-home-page))
+   (lint-checker
      (name        'synopsis)
      (description "Validate package synopses")
      (check       check-synopsis-style))))
 
 (define (run-checkers package checkers)
   ;; Run the given CHECKERS on PACKAGE.
-  (for-each (lambda (checker)
-              ((lint-checker-check checker) package))
-            checkers))
+  (let ((tty? (isatty? (current-error-port)))
+        (name (package-full-name package)))
+    (for-each (lambda (checker)
+                (when tty?
+                  (format (current-error-port) "checking ~a [~a]...\r"
+                          name (lint-checker-name checker))
+                  (force-output (current-error-port)))
+                ((lint-checker-check checker) package))
+              checkers)))
 
 
 ;;;
diff --git a/guix/tests.scm b/guix/tests.scm
index 022679902a..82ae7e2084 100644
--- a/guix/tests.scm
+++ b/guix/tests.scm
@@ -27,7 +27,8 @@
   #:export (open-connection-for-tests
             random-text
             random-bytevector
-            with-derivation-narinfo))
+            with-derivation-narinfo
+            dummy-package))
 
 ;;; Commentary:
 ;;;
@@ -120,6 +121,15 @@ substituter's viewpoint."
     (lambda ()
       body ...)))
 
+(define-syntax-rule (dummy-package name* extra-fields ...)
+  "Return a \"dummy\" package called NAME*, with all its compulsory fields
+initialized with default values, and with EXTRA-FIELDS set as specified."
+  (package extra-fields ...
+           (name name*) (version "0") (source #f)
+           (build-system gnu-build-system)
+           (synopsis #f) (description #f)
+           (home-page #f) (license #f)))
+
 ;; Local Variables:
 ;; eval: (put 'call-with-derivation-narinfo 'scheme-indent-function 1)
 ;; End:
diff --git a/tests/lint.scm b/tests/lint.scm
index e77d443264..2aebbffd0a 100644
--- a/tests/lint.scm
+++ b/tests/lint.scm
@@ -19,6 +19,7 @@
 
 
 (define-module (test-packages)
+  #:use-module (guix tests)
   #:use-module (guix build download)
   #:use-module (guix build-system gnu)
   #:use-module (guix packages)
@@ -26,218 +27,334 @@
   #:use-module (guix ui)
   #:use-module (gnu packages)
   #:use-module (gnu packages pkg-config)
+  #:use-module (web server)
+  #:use-module (web server http)
+  #:use-module (web response)
+  #:use-module (ice-9 threads)
+  #:use-module (srfi srfi-9 gnu)
   #:use-module (srfi srfi-64))
 
 ;; Test the linter.
 
+(define %http-server-port
+  ;; TCP port to use for the stub HTTP server.
+  9999)
+
+(define %local-url
+  ;; URL to use for 'home-page' tests.
+  (string-append "http://localhost:" (number->string %http-server-port)
+                 "/foo/bar"))
+
+(define %http-server-socket
+  ;; Socket used by the Web server.
+  (catch 'system-error
+    (lambda ()
+      (let ((sock (socket PF_INET SOCK_STREAM 0)))
+        (setsockopt sock SOL_SOCKET SO_REUSEADDR 1)
+        (bind sock
+              (make-socket-address AF_INET INADDR_LOOPBACK
+                                   %http-server-port))
+        sock))
+    (lambda args
+      (let ((err (system-error-errno args)))
+        (format (current-error-port)
+                "warning: cannot run Web server for tests: ~a~%"
+                (strerror err))
+        #f))))
+
+(define (http-write server client response body)
+  "Write RESPONSE."
+  (let* ((response (write-response response client))
+         (port     (response-port response)))
+    (cond
+     ((not body))                                 ;pass
+     (else
+      (write-response-body response body)))
+    (close-port port)
+    (quit #t)                                     ;exit the server thread
+    (values)))
+
+(define-server-impl stub-http-server
+  ;; Stripped-down version of Guile's built-in HTTP server.
+  (@@ (web server http) http-open)
+  (@@ (web server http) http-read)
+  http-write
+  (@@ (web server http) http-close))
+
+(define (call-with-http-server code thunk)
+  "Call THUNK with an HTTP server running and returning CODE on HTTP
+requests."
+  (define (server-body)
+    (define (handle request body)
+      (values (build-response #:code code
+                              #:reason-phrase "Such is life")
+              "Hello, world."))
+
+    (catch 'quit
+      (lambda ()
+        (run-server handle stub-http-server
+                    `(#:socket ,%http-server-socket)))
+      (const #t)))
+
+  (let* ((server (make-thread server-body)))
+    ;; Normally SERVER exits automatically once it has received a request.
+    (thunk)))
+
+(define-syntax-rule (with-http-server code body ...)
+  (call-with-http-server code (lambda () body ...)))
+
 
 (test-begin "lint")
 
-(define-syntax-rule (dummy-package name* extra-fields ...)
-  (package extra-fields ... (name name*) (version "0") (source #f)
-           (build-system gnu-build-system)
-           (synopsis #f) (description #f)
-           (home-page #f) (license #f) ))
-
 (define (call-with-warnings thunk)
   (let ((port (open-output-string)))
     (parameterize ((guix-warning-port port))
       (thunk))
     (get-output-string port)))
 
+(define-syntax-rule (with-warnings body ...)
+  (call-with-warnings (lambda () body ...)))
+
 (test-assert "description: not empty"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (description ""))))
-                          (check-description-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (description ""))))
+                        (check-description-style pkg)))
                     "description should not be empty")))
 
 (test-assert "description: does not start with an upper-case letter"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (description "bad description."))))
-                          (check-description-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (description "bad description."))))
+                        (check-description-style pkg)))
                     "description should start with an upper-case letter")))
 
 (test-assert "description: may start with a digit"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "x"
-                                (description "2-component library."))))
-        (check-description-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "x"
+                  (description "2-component library."))))
+       (check-description-style pkg)))))
 
 (test-assert "description: may start with lower-case package name"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "x"
-                   (description "x is a dummy package."))))
-        (check-description-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "x"
+                  (description "x is a dummy package."))))
+       (check-description-style pkg)))))
 
 (test-assert "description: two spaces after end of sentence"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (description "Bad. Quite bad."))))
-                          (check-description-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (description "Bad. Quite bad."))))
+                        (check-description-style pkg)))
                     "sentences in description should be followed by two spaces")))
 
 (test-assert "description: end-of-sentence detection with abbreviations"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "x"
-                   (description
-                    "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
-        (check-description-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "x"
+                  (description
+                   "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
+       (check-description-style pkg)))))
 
 (test-assert "synopsis: not empty"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis ""))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis ""))))
+                        (check-synopsis-style pkg)))
                     "synopsis should not be empty")))
 
 (test-assert "synopsis: does not start with an upper-case letter"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "bad synopsis."))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "bad synopsis."))))
+                        (check-synopsis-style pkg)))
                     "synopsis should start with an upper-case letter")))
 
 (test-assert "synopsis: may start with a digit"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "x"
-                   (synopsis "5-dimensional frobnicator"))))
-        (check-synopsis-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "x"
+                  (synopsis "5-dimensional frobnicator"))))
+       (check-synopsis-style pkg)))))
 
 (test-assert "synopsis: ends with a period"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "Bad synopsis."))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "Bad synopsis."))))
+                        (check-synopsis-style pkg)))
                     "no period allowed at the end of the synopsis")))
 
 (test-assert "synopsis: ends with 'etc.'"
-  (string-null? (call-with-warnings
-                 (lambda ()
-                   (let ((pkg (dummy-package "x"
-                                (synopsis "Foo, bar, etc."))))
-                     (check-synopsis-style pkg))))))
+  (string-null? (with-warnings
+                  (let ((pkg (dummy-package "x"
+                               (synopsis "Foo, bar, etc."))))
+                    (check-synopsis-style pkg)))))
 
 (test-assert "synopsis: starts with 'A'"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "A bad synopŝis"))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "A bad synopŝis"))))
+                        (check-synopsis-style pkg)))
                     "no article allowed at the beginning of the synopsis")))
 
 (test-assert "synopsis: starts with 'An'"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "An awful synopsis"))))
-                        (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "An awful synopsis"))))
+                        (check-synopsis-style pkg)))
                     "no article allowed at the beginning of the synopsis")))
 
 (test-assert "synopsis: starts with 'a'"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "a bad synopsis"))))
-                        (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "a bad synopsis"))))
+                        (check-synopsis-style pkg)))
                     "no article allowed at the beginning of the synopsis")))
 
 (test-assert "synopsis: starts with 'an'"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis "an awful synopsis"))))
-                        (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis "an awful synopsis"))))
+                        (check-synopsis-style pkg)))
                     "no article allowed at the beginning of the synopsis")))
 
 (test-assert "synopsis: too long"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (synopsis (make-string 80 #\x)))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (synopsis (make-string 80 #\x)))))
+                        (check-synopsis-style pkg)))
                     "synopsis should be less than 80 characters long")))
 
 (test-assert "synopsis: start with package name"
   (->bool
-   (string-contains (call-with-warnings
-                      (lambda ()
-                        (let ((pkg (dummy-package "x"
-                                     (name "foo")
-                                     (synopsis "foo, a nice package"))))
-                          (check-synopsis-style pkg))))
+   (string-contains (with-warnings
+                      (let ((pkg (dummy-package "x"
+                                   (name "foo")
+                                   (synopsis "foo, a nice package"))))
+                        (check-synopsis-style pkg)))
                     "synopsis should not start with the package name")))
 
 (test-assert "synopsis: start with package name prefix"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "arb"
-                   (synopsis "Arbitrary precision"))))
-        (check-synopsis-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "arb"
+                  (synopsis "Arbitrary precision"))))
+       (check-synopsis-style pkg)))))
 
 (test-assert "synopsis: start with abbreviation"
   (string-null?
-   (call-with-warnings
-    (lambda ()
-      (let ((pkg (dummy-package "uucp"
-                   ;; Same problem with "APL interpreter", etc.
-                   (synopsis "UUCP implementation")
-                   (description "Imagine this is Taylor UUCP."))))
-        (check-synopsis-style pkg))))))
+   (with-warnings
+     (let ((pkg (dummy-package "uucp"
+                  ;; Same problem with "APL interpreter", etc.
+                  (synopsis "UUCP implementation")
+                  (description "Imagine this is Taylor UUCP."))))
+       (check-synopsis-style pkg)))))
 
 (test-assert "inputs: pkg-config is probably a native input"
   (->bool
    (string-contains
-     (call-with-warnings
-       (lambda ()
-         (let ((pkg (dummy-package "x"
-                      (inputs `(("pkg-config" ,pkg-config))))))
-              (check-inputs-should-be-native pkg))))
+     (with-warnings
+       (let ((pkg (dummy-package "x"
+                    (inputs `(("pkg-config" ,pkg-config))))))
+         (check-inputs-should-be-native pkg)))
          "pkg-config should probably be a native input")))
 
 (test-assert "patches: file names"
   (->bool
    (string-contains
-     (call-with-warnings
-       (lambda ()
-         (let ((pkg (dummy-package "x"
-                      (source
-                       (origin
-                        (method url-fetch)
-                        (uri "someurl")
-                        (sha256 "somesha")
-                        (patches (list "/path/to/y.patch")))))))
-              (check-patches pkg))))
-         "file names of patches should start with the package name")))
+     (with-warnings
+       (let ((pkg (dummy-package "x"
+                    (source
+                     (origin
+                       (method url-fetch)
+                       (uri "someurl")
+                       (sha256 "somesha")
+                       (patches (list "/path/to/y.patch")))))))
+         (check-patches pkg)))
+     "file names of patches should start with the package name")))
+
+(test-assert "home-page: wrong home-page"
+  (->bool
+   (string-contains
+    (with-warnings
+      (let ((pkg (package
+                   (inherit (dummy-package "x"))
+                   (home-page #f))))
+        (check-home-page pkg)))
+    "invalid")))
+
+(test-assert "home-page: invalid URI"
+  (->bool
+   (string-contains
+    (with-warnings
+      (let ((pkg (package
+                   (inherit (dummy-package "x"))
+                   (home-page "foobar"))))
+        (check-home-page pkg)))
+    "invalid home page URL")))
+
+(test-assert "home-page: host not found"
+  (->bool
+   (string-contains
+    (with-warnings
+      (let ((pkg (package
+                   (inherit (dummy-package "x"))
+                   (home-page "http://does-not-exist"))))
+        (check-home-page pkg)))
+    "domain not found")))
+
+(test-skip (if %http-server-socket 0 1))
+(test-assert "home-page: Connection refused"
+  (->bool
+   (string-contains
+    (with-warnings
+      (let ((pkg (package
+                   (inherit (dummy-package "x"))
+                   (home-page %local-url))))
+        (check-home-page pkg)))
+    "Connection refused")))
+
+(test-skip (if %http-server-socket 0 1))
+(test-equal "home-page: 200"
+  ""
+  (with-warnings
+   (with-http-server 200
+     (let ((pkg (package
+                  (inherit (dummy-package "x"))
+                  (home-page %local-url))))
+       (check-home-page pkg)))))
+
+(test-skip (if %http-server-socket 0 1))
+(test-assert "home-page: 404"
+  (->bool
+   (string-contains
+    (with-warnings
+      (with-http-server 404
+        (let ((pkg (package
+                     (inherit (dummy-package "x"))
+                     (home-page %local-url))))
+          (check-home-page pkg))))
+    "not reachable: 404")))
 
 (test-end "lint")
 
 
 (exit (= (test-runner-fail-count (test-runner-current)) 0))
+
+;; Local Variables:
+;; eval: (put 'with-http-server 'scheme-indent-function 1)
+;; eval: (put 'with-warnings 'scheme-indent-function 0)
+;; End:
diff --git a/tests/packages.scm b/tests/packages.scm
index b2f09c6d6c..bb83032602 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -48,13 +48,6 @@
 (define %store
   (open-connection-for-tests))
 
-(define-syntax-rule (dummy-package name* extra-fields ...)
-  (package (name name*) (version "0") (source #f)
-           (build-system gnu-build-system)
-           (synopsis #f) (description #f)
-           (home-page #f) (license #f)
-           extra-fields ...))
-
 
 (test-begin "packages")