~ruther/guix-local

e62b5c690317ec6c5e35ce267b5c683bbd320342 — Mark H Weaver 10 years ago 0767f6a + bf6996c
Merge branch 'media-updates'
20 files changed, 404 insertions(+), 529 deletions(-)

M doc/guix.texi
M gnu-system.am
M gnu/packages/freedesktop.scm
M gnu/packages/gl.scm
M gnu/packages/gstreamer.scm
D gnu/packages/patches/xf86-video-mga-glibc-2.20.patch
D gnu/packages/patches/xf86-video-r128-glibc-2.20.patch
D gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch
D gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch
D gnu/packages/patches/xf86-video-sis-update-api.patch
D gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch
D gnu/packages/patches/xf86-video-trident-remove-mibstore.patch
D gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch
M gnu/packages/pulseaudio.scm
M gnu/packages/video.scm
M gnu/packages/xdisorg.scm
M gnu/packages/xorg.scm
M gnu/services/xorg.scm
M guix/gnu-maintenance.scm
M guix/scripts/refresh.scm
M doc/guix.texi => doc/guix.texi +2 -0
@@ 4648,6 4648,8 @@ list of updaters).  Currently, @var{updater} may be one of:
the updater for GNU packages;
@item gnome
the updater for GNOME packages;
@item xorg
the updater for X.org packages;
@item elpa
the updater for @uref{http://elpa.gnu.org/, ELPA} packages;
@item cran

M gnu-system.am => gnu-system.am +0 -8
@@ 771,17 771,9 @@ dist_patch_DATA =						\
  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-fix-exa-crash.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/xfce4-session-fix-xflock4.patch		\
  gnu/packages/patches/xfce4-settings-defaults.patch		\

M gnu/packages/freedesktop.scm => gnu/packages/freedesktop.scm +5 -4
@@ 82,14 82,14 @@ freedesktop.org project.")
(define-public libinput
  (package
    (name "libinput")
    (version "0.21.0")
    (version "1.1.902")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://freedesktop.org/software/libinput/"
              (uri (string-append "https://freedesktop.org/software/libinput/"
                                  name "-" version ".tar.xz"))
              (sha256
               (base32
                "0l7mhdr50g11hxg2pz8ihsgzbm0810syj05d3555rzhda6g7mkkw"))))
                "19wa5yizc3nfq3gibyqb3ygdvcs7v7bz1m5ifv0f4va3igxc3nk3"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))


@@ 97,7 97,8 @@ freedesktop.org project.")
     `(("libudev" ,eudev))) ; required by libinput.pc
    (inputs
     `(("libevdev" ,libevdev)
       ("mtdev" ,mtdev)))
       ("mtdev" ,mtdev)
       ("libwacom" ,libwacom)))
    (home-page "http://www.freedesktop.org/wiki/Software/libinput/")
    (synopsis "Input devices handling library")
    (description

M gnu/packages/gl.scm => gnu/packages/gl.scm +2 -2
@@ 192,7 192,7 @@ also known as DXTn or DXTC) for Mesa.")
(define-public mesa
  (package
    (name "mesa")
    (version "11.0.3")
    (version "11.0.9")
    (source
      (origin
        (method url-fetch)


@@ 200,7 200,7 @@ also known as DXTn or DXTC) for Mesa.")
                            version "/mesa-" version ".tar.xz"))
        (sha256
         (base32
          "1mikw0biw0wxq0fn3cp18bm6kjrkd66fy84774yc5b91rvp94adb"))))
          "009b3nq8ly5nzy9cxi9cxf4qasrhggjz0v0q87rwq5kaqvqjy9m1"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("glproto" ,glproto)

M gnu/packages/gstreamer.scm => gnu/packages/gstreamer.scm +104 -20
@@ 28,21 28,33 @@
  #:use-module (gnu packages audio)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages cdrom)
  #:use-module (gnu packages curl)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages flex)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages gl)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages gnome)
  #:use-module (gnu packages gnupg)
  #:use-module (gnu packages graphics)
  #:use-module (gnu packages gtk)
  #:use-module (gnu packages image)
  #:use-module (gnu packages libusb)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages mp3)
  #:use-module (gnu packages perl)
  #:use-module (gnu packages pulseaudio)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages rdf)
  #:use-module (gnu packages video)
  #:use-module (gnu packages xorg)
  #:use-module (gnu packages xiph)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
  #:use-module (gnu packages ssh)
  #:use-module (gnu packages telephony)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages version-control)
  #:use-module (gnu packages yasm)
  #:use-module (gnu packages xml))



@@ 83,7 95,7 @@ arrays of data.")
(define-public gstreamer
  (package
    (name "gstreamer")
    (version "1.6.1")
    (version "1.6.3")
    (source
     (origin
      (method url-fetch)


@@ 92,7 104,7 @@ arrays of data.")
            version ".tar.xz"))
      (sha256
       (base32
        "172w1bpnkn6mm1wi37n03apdbb6cdkykhzjf1vfxchcd7hhkyflp"))))
        "093zldafh7xh3lrlwzm7j0vvjz6k9ca83wqil40gfz5qcy6mdy92"))))
    (build-system gnu-build-system)
    (outputs '("out" "doc"))
    (arguments


@@ 131,15 143,15 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
  (package
    (name "gst-plugins-base")
    (version "1.6.1")
    (version "1.6.3")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "http://gstreamer.freedesktop.org/src/" name "/"
      (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/"
                          name "-" version ".tar.xz"))
      (sha256
       (base32
        "18sbyjcp281zb3bsqji3pglsdsxi0s6ai7rx90sx8cpflkxdqcwm"))))
        "0xbskifk95rw7jd85sqjrmqh2kys1bpi0inrxyapx1x4vf7ly5dn"))))
    (build-system gnu-build-system)
    (outputs '("out" "doc"))
    (propagated-inputs


@@ 168,12 180,11 @@ This package provides the core library and elements.")
                            (assoc-ref %outputs "doc")
                            "/share/gtk-doc/html"))
       #:phases
       (alist-cons-before
        'configure 'patch
        (lambda _
          (substitute* "tests/check/libs/pbutils.c"
            (("/bin/sh") (which "sh"))))
        %standard-phases)))
       (modify-phases %standard-phases
         (add-before 'configure 'patch
           (lambda _
             (substitute* "tests/check/libs/pbutils.c"
               (("/bin/sh") (which "sh"))))))))
    (home-page "http://gstreamer.freedesktop.org/")
    (synopsis
     "Plugins for the GStreamer multimedia library")


@@ 185,16 196,16 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
  (package
    (name "gst-plugins-good")
    (version "1.6.1")
    (version "1.6.3")
    (source
     (origin
      (method url-fetch)
      (uri (string-append
            "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-"
            version ".tar.xz"))
            "https://gstreamer.freedesktop.org/src/" name "/"
            name "-" version ".tar.xz"))
      (sha256
       (base32
        "0darc3058kbnql3mnlpizl0sq0hhli7vkm0rpqb7nywz14abim46"))))
        "0xx16h0q63gs3pxlzdflnpyssba3vcrh1qnzplg4d0ra1fvrvc94"))))
    (build-system gnu-build-system)
    (inputs
     `(("aalib" ,aalib)


@@ 228,7 239,7 @@ for the GStreamer multimedia library.")
          'unpack 'disable-failing-rtprtx-tests
          (lambda _
            ;; Disable rtprtx tests that frequently fail.
            ;; XXX FIXME: Try removing this for version > 1.6.1.
            ;; XXX FIXME: Try removing this for version > 1.6.3.
            (substitute* "tests/check/elements/rtprtx.c"
              (("tcase_add_test \\(tc_chain,\
 (test_rtxsender_max_size_packets|test_rtxreceive_data_reconstruction)\\);" all)


@@ 242,10 253,83 @@ GStreamer multimedia library.  This set contains those plug-ins which the
developers consider to have good quality code and correct functionality.")
    (license lgpl2.0+)))

(define-public gst-plugins-bad
  (package
    (name "gst-plugins-bad")
    (version "1.6.3")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://gstreamer.freedesktop.org/src/"
                                  name "/" name "-" version ".tar.xz"))
              (sha256
               (base32
                "0q9s5da54819gwncmdi95l5qzx97l9vxk6adx4zmx73a3l82j6wp"))))
    (outputs '("out" "doc"))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f ; XXX: 11 of 54 tests fail
       #:configure-flags
       (list (string-append "--with-html-dir="
                            (assoc-ref %outputs "doc")
                            "/share/gtk-doc/html"))))
    (propagated-inputs
     `(("gst-plugins-base" ,gst-plugins-base)))
    (native-inputs
     `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
       ("gobject-introspection" ,gobject-introspection)
       ("pkg-config" ,pkg-config)
       ("python" ,python)))
    (inputs
     ;; XXX: The following dependencies are missing:
     ;;  vo-amrwbenc, vo-aacenc, bs2b, chromaprint, directfb, daala, libdts,
     ;;  faac, flite, libgsm, libde265, libmms, libmimic, mjpegtools,
     ;;  mpeg2enc, libofa, opencv, openh264, openni2, libtimemmgr, wildmidi,
     ;;  openspc, gme, sbc, schroedinger, zbar, librtmp, spandsp, x265
     `(("bluez" ,bluez)
       ("curl" ,curl)
       ("faad2" ,faad2)
       ("fluidsynth" ,fluidsynth)
       ("gtk+" ,gtk+)
       ("ladspa" ,ladspa)
       ("libass" ,libass)
       ("libdvdnav" ,libdvdnav)
       ("libdvdread" ,libdvdread)
       ("libgcrypt" ,libgcrypt)
       ("libgudev" ,libgudev)
       ("libkate" ,libkate)
       ("libmodplug" ,libmodplug)
       ("librsvg" ,librsvg)
       ("libsndfile" ,libsndfile)
       ("libsrtp" ,libsrtp)
       ("libssh2" ,libssh2)
       ("libusb" ,libusb)
       ("libvdpau" ,libvdpau)
       ("libwebp" ,libwebp)
       ("libxml2" ,libxml2)
       ("lrdf" ,lrdf)
       ("mesa" ,mesa)
       ("mpg123" ,mpg123)
       ("neon" ,neon)
       ("openal" ,openal)
       ("openexr" ,openexr)
       ("openjpeg" ,openjpeg)
       ("openssl" ,openssl)
       ("opus" ,opus)
       ("orc" ,orc)
       ("qt" ,qt)
       ("soundtouch" ,soundtouch)
       ("wayland" ,wayland)))
    (home-page "http://gstreamer.freedesktop.org/")
    (synopsis "Plugins for the GStreamer multimedia library")
    (description
     "GStreamer Bad Plug-ins is a set of plug-ins whose quality aren't up to
par compared to the rest.")
    (license lgpl2.0+)))

(define-public gst-plugins-ugly
  (package
    (name "gst-plugins-ugly")
    (version "1.6.1")
    (version "1.6.3")
    (source
     (origin
       (method url-fetch)


@@ 253,7 337,7 @@ developers consider to have good quality code and correct functionality.")
                           name "/" name "-" version ".tar.xz"))
       (sha256
        (base32
         "0mvasl1pwq70w2kmrkcrg77kggl5q7jqybi7fkvy3vr28c7gkhqc"))))
         "0r6h3ys5n90jv3c06crxzcac561z07s4h04hy5i8ybw8qyvzgv1g"))))
    (build-system gnu-build-system)
    (inputs
     `(("gst-plugins-base" ,gst-plugins-base)


@@ 283,7 367,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(define-public gst-libav
  (package
    (name "gst-libav")
    (version "1.6.1")
    (version "1.6.3")
    (source (origin
              (method url-fetch)
              (uri (string-append


@@ 291,7 375,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
                    name "-" version ".tar.xz"))
              (sha256
               (base32
                "1a9pc7zp5rg0cvpx8gqkr21w73i6p9xa505a34day9f8p3lfim94"))))
                "1aylbg1xnm68c3wc49mzx813qhsjfg23hqnjqqwdwdq31839qyw5"))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags '("--with-system-libav")

D gnu/packages/patches/xf86-video-mga-glibc-2.20.patch => gnu/packages/patches/xf86-video-mga-glibc-2.20.patch +0 -17
@@ 1,17 0,0 @@
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

D gnu/packages/patches/xf86-video-r128-glibc-2.20.patch => gnu/packages/patches/xf86-video-r128-glibc-2.20.patch +0 -17
@@ 1,17 0,0 @@
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

D gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch => gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch +0 -16
@@ 1,16 0,0 @@
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

D gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch => gnu/packages/patches/xf86-video-sis-fix-exa-crash.patch +0 -45
@@ 1,45 0,0 @@
Fix X server crash when sis driver is used with EXA acceleration.

Source: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/xserver-xorg-video-sis/trusty/revision/24/debian/patches/fix-exa-crash.diff

The patch was originally proposed by nihui:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-sis/+bug/1066464/comments/13

--- a/src/sis310_accel.c
+++ b/src/sis310_accel.c
@@ -1874,7 +1874,7 @@
 {
 	ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen);
 	SISPtr pSiS = SISPTR(pScrn);
-	unsigned char *dst = pDst->devPrivate.ptr;
+	unsigned char *dst = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pDst);
 	int dst_pitch = exaGetPixmapPitch(pDst);
 
 	(pSiS->SyncAccel)(pScrn);
@@ -1882,7 +1882,7 @@
 	if(pDst->drawable.bitsPerPixel < 8)
 	   return FALSE;
 
-	dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * src_pitch);
+	dst += (x * pDst->drawable.bitsPerPixel / 8) + (y * dst_pitch);
 	while(h--) {
 	   SiSMemCopyToVideoRam(pSiS, dst, (unsigned char *)src,
 				(w * pDst->drawable.bitsPerPixel / 8));
@@ -1953,7 +1953,7 @@
 {
 	ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen);
 	SISPtr pSiS = SISPTR(pScrn);
-	unsigned char *src = pSrc->devPrivate.ptr;
+	unsigned char *src = ((unsigned char *) pSiS->FbBase) + exaGetPixmapOffset(pSrc);
 	int src_pitch = exaGetPixmapPitch(pSrc);
 	int size = src_pitch < dst_pitch ? src_pitch : dst_pitch;
 
@@ -1964,7 +1964,7 @@
 
 	src += (x * pSrc->drawable.bitsPerPixel / 8) + (y * src_pitch);
 	while(h--) {
-	   SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, size);
+	   SiSMemCopyFromVideoRam(pSiS, (unsigned char *)dst, src, (w * pSrc->drawable.bitsPerPixel / 8));
 	   src += src_pitch;
 	   dst += dst_pitch;
 	}

D gnu/packages/patches/xf86-video-sis-update-api.patch => gnu/packages/patches/xf86-video-sis-update-api.patch +0 -128
@@ 1,128 0,0 @@
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);

D gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch => gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch +0 -26
@@ 1,26 0,0 @@
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);
 

D gnu/packages/patches/xf86-video-trident-remove-mibstore.patch => gnu/packages/patches/xf86-video-trident-remove-mibstore.patch +0 -23
@@ 1,23 0,0 @@
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 */

D gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch => gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch +0 -15
@@ 1,15 0,0 @@
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(...)

M gnu/packages/pulseaudio.scm => gnu/packages/pulseaudio.scm +5 -4
@@ 1,6 1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 114,15 115,15 @@ rates.")
(define pulseaudio
  (package
    (name "pulseaudio")
    (version "6.0")
    (version "8.0")
    (source (origin
             (method url-fetch)
             (uri (string-append
                   "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-"
                   version ".tar.xz"))
                   "https://freedesktop.org/software/pulseaudio/releases/"
                   name "-" version ".tar.xz"))
             (sha256
              (base32
               "1xpnfxa0d8pgf6b4qdgnkcvrvdxbbbjd5ync19h0f5hbp3h401mm"))
               "128rrlvrgb4ia3pbzipf5mi6nvrpm6zmxn5r3bynqiikhvify3k9"))
             (modules '((guix build utils)))
             (snippet
              ;; Disable console-kit support by default since it's deprecated

M gnu/packages/video.scm => gnu/packages/video.scm +16 -16
@@ 774,7 774,7 @@ projects while introducing many more.")
(define-public libvpx
  (package
    (name "libvpx")
    (version "1.4.0")
    (version "1.5.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://storage.googleapis.com/"


@@ 782,23 782,23 @@ projects while introducing many more.")
                                  name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1r0ql5kgy0c8mh5w7iiqvsd7w5njl9f9cclc7m52ln8assrdk0pm"))))
                "15v7qw0ydyxn08ksb6lxn1l51pxgpwgshdwd3275yrr5hs86fv9h"))))
    (build-system gnu-build-system)
    (arguments
     `(#:phases (alist-replace
                 'configure
                 (lambda* (#:key outputs #:allow-other-keys)
                   (setenv "CONFIG_SHELL" (which "bash"))
                   (let ((out (assoc-ref outputs "out")))
                     (setenv "LDFLAGS"
                             (string-append "-Wl,-rpath=" out "/lib"))
                     (zero? (system* "./configure"
                                     "--enable-shared"
                                     "--as=yasm"
                                     ;; Limit size to avoid CVE-2015-1258
                                     "--size-limit=16384x16384"
                                     (string-append "--prefix=" out)))))
                 %standard-phases)
     `(#:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key outputs #:allow-other-keys)
             (setenv "CONFIG_SHELL" (which "bash"))
             (let ((out (assoc-ref outputs "out")))
               (setenv "LDFLAGS"
                       (string-append "-Wl,-rpath=" out "/lib"))
               (zero? (system* "./configure"
                               "--enable-shared"
                               "--as=yasm"
                               ;; Limit size to avoid CVE-2015-1258
                               "--size-limit=16384x16384"
                               (string-append "--prefix=" out)))))))
       #:tests? #f)) ; no check target
    (native-inputs
     `(("perl" ,perl)

M gnu/packages/xdisorg.scm => gnu/packages/xdisorg.scm +9 -7
@@ 626,19 626,21 @@ Escape key when Left Control is pressed and released on its own.")
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (inputs
     `(("glib" ,glib)
       ("gtk+" ,gtk+)
     `(("gtk+" ,gtk+)
       ("libgudev" ,libgudev)
       ("eudev" ,eudev)
       ("libxml2" ,libxml2)))
    (propagated-inputs
     ;; libwacom includes header files that include GLib, and libinput uses
     ;; those header files.
     `(("glib" ,glib)))
    (home-page "http://linuxwacom.sourceforge.net/")
    (synopsis "Helper library for Wacom tablet settings")
    (description
     "Libwacom is a library to help implement Wacom tablet settings.  It
is intended to be used by client-programs that need model identification.  It
is already being used by the gnome-settings-daemon and the GNOME 3.4 Control
Center Wacom tablet applet.  In the future, the xf86-input-wacom driver may
use it as well.")
     "Libwacom is a library to help implement Wacom tablet settings.  It is
intended to be used by client-programs that need model identification.  It is
already being used by the gnome-settings-daemon and the GNOME Control Center
Wacom tablet applet.")
    (license license:x11)))

(define-public xf86-input-wacom

M gnu/packages/xorg.scm => gnu/packages/xorg.scm +178 -179
@@ 132,7 132,7 @@ autotools system.")
(define-public bdftopcf
  (package
    (name "bdftopcf")
    (version "1.0.4")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)


@@ 142,7 142,7 @@ autotools system.")
               ".tar.bz2"))
        (sha256
          (base32
            "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"))))
            "09i03sk878cmx2i40lkpsysn7zqcvlczb30j7x3lryb11jz4gx1q"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxfont" ,libxfont)))


@@ 817,7 817,7 @@ For example: '6x10', '9x15bold', etc.")
(define-public font-util
  (package
    (name "font-util")
    (version "1.3.0")
    (version "1.3.1")
    (source
      (origin
        (method url-fetch)


@@ 827,7 827,7 @@ For example: '6x10', '9x15bold', etc.")
               ".tar.bz2"))
        (sha256
          (base32
            "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz"))))
            "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (home-page "http://www.x.org/wiki/")


@@ 939,7 939,7 @@ rendering commands to the X server.")
(define-public iceauth
  (package
    (name "iceauth")
    (version "1.0.6")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)


@@ 949,7 949,7 @@ rendering commands to the X server.")
               ".tar.bz2"))
        (sha256
          (base32
            "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"))))
            "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj"))))
    (build-system gnu-build-system)
    (inputs
      `(("libice" ,libice)))


@@ 992,7 992,7 @@ devices management such as graphic tablets.")
(define-public kbproto
  (package
    (name "kbproto")
    (version "1.0.6")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)


@@ 1002,7 1002,7 @@ devices management such as graphic tablets.")
               ".tar.bz2"))
        (sha256
          (base32
            "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03"))))
            "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (home-page "http://www.x.org/wiki/")


@@ 1049,7 1049,7 @@ of new capabilities and controls for text keyboards.")
(define-public libxshmfence
  (package
    (name "libxshmfence")
    (version "1.1")
    (version "1.2")
    (source (origin
              (method url-fetch)
              (uri (string-append


@@ 1057,7 1057,7 @@ of new capabilities and controls for text keyboards.")
                    name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"))))
                "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (inputs `(("xproto" ,xproto)))


@@ 1074,7 1074,7 @@ synchronization between the X server and direct-rendering clients.")
(define-public libfontenc
  (package
    (name "libfontenc")
    (version "1.1.2")
    (version "1.1.3")
    (source
      (origin
        (method url-fetch)


@@ 1084,7 1084,7 @@ synchronization between the X server and direct-rendering clients.")
               ".tar.bz2"))
        (sha256
          (base32
            "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959"))))
            "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h"))))
    (build-system gnu-build-system)
    (inputs
      `(("zlib" ,zlib)


@@ 1100,7 1100,7 @@ synchronization between the X server and direct-rendering clients.")
(define-public libfs
  (package
    (name "libfs")
    (version "1.0.6")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)


@@ 1110,7 1110,7 @@ synchronization between the X server and direct-rendering clients.")
               ".tar.bz2"))
        (sha256
          (base32
            "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh"))))
            "1wy4km3qwwajbyl8y9pka0zwizn7d9pfiyjgzba02x3a083lr79f"))))
    (build-system gnu-build-system)
    (inputs
      `(("xtrans" ,xtrans)


@@ 1272,7 1272,7 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
(define-public libxdmcp
  (package
    (name "libxdmcp")
    (version "1.1.1")
    (version "1.1.2")
    (source
      (origin
        (method url-fetch)


@@ 1282,7 1282,7 @@ with the Cygwin XWin server when running X11 in a rootless mode.")
               ".tar.bz2"))
        (sha256
          (base32
            "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls"))))
            "1qp4yhxbfnpj34swa0fj635kkihdkwaiw7kf55cg5zqqg630kzl1"))))
    (build-system gnu-build-system)
    (inputs
      `(("xproto" ,xproto)))


@@ 1331,7 1331,7 @@ configuration files.")
(define-public libxkbfile
  (package
    (name "libxkbfile")
    (version "1.0.8")
    (version "1.0.9")
    (source
      (origin
        (method url-fetch)


@@ 1341,7 1341,7 @@ configuration files.")
               ".tar.bz2"))
        (sha256
          (base32
            "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca"))))
            "0smimr14zvail7ar68n7spvpblpdnih3jxrva7cpa6cn602px0ai"))))
    (build-system gnu-build-system)
    (inputs
      `(("libx11" ,libx11)))


@@ 1557,7 1557,7 @@ input from UTF-8 into the locale's encoding.")
(define-public mkfontscale
  (package
    (name "mkfontscale")
    (version "1.1.1")
    (version "1.1.2")
    (source
      (origin
        (method url-fetch)


@@ 1567,7 1567,7 @@ input from UTF-8 into the locale's encoding.")
               ".tar.bz2"))
        (sha256
          (base32
            "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"))))
            "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc"))))
    (build-system gnu-build-system)
    (inputs
      `(("zlib" ,zlib)


@@ 1636,7 1636,7 @@ network-transparent printing system.")
(define-public randrproto
  (package
    (name "randrproto")
    (version "1.4.0")
    (version "1.5.0")
    (source
      (origin
        (method url-fetch)


@@ 1646,7 1646,7 @@ network-transparent printing system.")
               ".tar.bz2"))
        (sha256
          (base32
            "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45"))))
            "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc"))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)))
    (home-page "http://www.x.org/wiki/")


@@ 1757,7 1757,7 @@ features and to query screensaver info on specific windows.")
(define-public sessreg
  (package
    (name "sessreg")
    (version "1.0.8")
    (version "1.1.0")
    (source
      (origin
        (method url-fetch)


@@ 1767,7 1767,7 @@ features and to query screensaver info on specific windows.")
               ".tar.bz2"))
        (sha256
          (base32
            "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"))))
            "0z013rskwmdadd8cdlxvh4asmgim61qijyzfbqmr1q1mg1jpf4am"))))
    (build-system gnu-build-system)
    (inputs
      `(("xproto" ,xproto)))


@@ 1785,7 1785,7 @@ used with other display managers such as gdm or kdm.")
(define-public setxkbmap
  (package
    (name "setxkbmap")
    (version "1.3.0")
    (version "1.3.1")
    (source
      (origin
        (method url-fetch)


@@ 1795,7 1795,7 @@ used with other display managers such as gdm or kdm.")
               ".tar.bz2"))
        (sha256
          (base32
            "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x"))))
            "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxkbfile" ,libxkbfile)


@@ 1820,7 1820,7 @@ listed on the command line.")
(define-public smproxy
  (package
    (name "smproxy")
    (version "1.0.5")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)


@@ 1830,7 1830,7 @@ listed on the command line.")
               ".tar.bz2"))
        (sha256
          (base32
            "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67"))))
            "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxt" ,libxt)


@@ 1939,7 1939,7 @@ server.")
(define-public x11perf
  (package
    (name "x11perf")
    (version "1.5.4")
    (version "1.6.0")
    (source
      (origin
        (method url-fetch)


@@ 1949,7 1949,7 @@ server.")
               ".tar.bz2"))
        (sha256
          (base32
            "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4"))))
            "0lb716yfdb8f11h4cz93d1bapqdxf1xplsb21kbp4xclq7g9hw78"))))
    (build-system gnu-build-system)
    (inputs
      `(("libx11" ,libx11)


@@ 2112,7 2112,7 @@ to query the server for available resource IDs.")
(define-public xcmsdb
  (package
    (name "xcmsdb")
    (version "1.0.4")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)


@@ 2122,7 2122,7 @@ to query the server for available resource IDs.")
               ".tar.bz2"))
        (sha256
          (base32
            "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74"))))
            "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75"))))
    (build-system gnu-build-system)
    (inputs
      `(("libx11" ,libx11)))


@@ 2201,7 2201,7 @@ X server: 'handhelds', 'redglass' and 'whiteglass'.")
(define-public xdpyinfo
  (package
    (name "xdpyinfo")
    (version "1.3.1")
    (version "1.3.2")
    (source
      (origin
        (method url-fetch)


@@ 2211,7 2211,7 @@ X server: 'handhelds', 'redglass' and 'whiteglass'.")
               ".tar.bz2"))
        (sha256
          (base32
            "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf"))))
            "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh"))))
    (build-system gnu-build-system)
    (inputs
      `(("inputproto" ,inputproto)


@@ 2240,7 2240,7 @@ available.")
(define-public xdriinfo
  (package
    (name "xdriinfo")
    (version "1.0.4")
    (version "1.0.5")
    (source
      (origin
        (method url-fetch)


@@ 2250,7 2250,7 @@ available.")
               ".tar.bz2"))
        (sha256
          (base32
            "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim"))))
            "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc"))))
    (build-system gnu-build-system)
    (inputs
      `(("mesa" ,mesa)


@@ 2268,7 2268,7 @@ DRI (Direct Rendering Infrastructure) drivers.")
(define-public xev
  (package
    (name "xev")
    (version "1.2.1")
    (version "1.2.2")
    (source
      (origin
        (method url-fetch)


@@ 2278,7 2278,7 @@ DRI (Direct Rendering Infrastructure) drivers.")
               ".tar.bz2"))
        (sha256
          (base32
            "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i"))))
            "0krivhrxpq6719103r541xpi3i3a0y15f7ypc4lnrx8sdhmfcjnr"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxrender" ,libxrender)


@@ 2355,7 2355,7 @@ devices, thus making direct access unnecessary.")
(define-public xf86-input-evdev
  (package
    (name "xf86-input-evdev")
    (version "2.8.4")
    (version "2.10.1")
    (source
      (origin
        (method url-fetch)


@@ 2365,11 2365,12 @@ devices, thus making direct access unnecessary.")
               ".tar.bz2"))
        (sha256
          (base32
            "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"))))
            "05z05n39v8s2b0hwhcjb1bca7j8gc62bv9jxnibawwmjym3jp75g"))))
    (build-system gnu-build-system)
    (inputs
      `(("udev" ,eudev)
        ("libevdev" ,libevdev)
        ("mtdev" ,mtdev)
        ("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))
    (arguments


@@ 2388,7 2389,7 @@ including most mice, keyboards, tablets and touchscreens.")
(define-public xf86-input-libinput
  (package
    (name "xf86-input-libinput")
    (version "0.8.0")
    (version "0.16.0")
    (source (origin
              (method url-fetch)
              (uri (string-append


@@ 2396,7 2397,7 @@ including most mice, keyboards, tablets and touchscreens.")
                    name "-" version ".tar.bz2"))
              (sha256
               (base32
                "0fm4vrkw7azipbnwvc2l18g65z77pllsznaajd8q3zpg9ycb0li1"))))
                "0jbgnxsbr3g4g9vkspcc6pqy7av59zx5bb78vkvaqy8yx4qybbgx"))))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags


@@ 2448,7 2449,7 @@ It is used to cotrol the pointer with a joystick device.")
(define-public xf86-input-keyboard
  (package
    (name "xf86-input-keyboard")
    (version "1.8.0")
    (version "1.8.1")
    (source
      (origin
        (method url-fetch)


@@ 2458,7 2459,7 @@ It is used to cotrol the pointer with a joystick device.")
               ".tar.bz2"))
        (sha256
          (base32
            "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1"))))
            "04d27kwqq03fc26an6051hs3i0bff8albhnngzyd59wxpwwzzj0s"))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))


@@ 2504,7 2505,7 @@ as USB mice.")
(define-public xf86-input-synaptics
  (package
    (name "xf86-input-synaptics")
    (version "1.8.1")
    (version "1.8.3")
    (source
      (origin
        (method url-fetch)


@@ 2514,7 2515,7 @@ as USB mice.")
               ".tar.bz2"))
        (sha256
          (base32
            "16phzd7yhl4wns957c35qz2nahmjvnlx05jf975s524qkvrdlkyp"))))
            "009zx199pilcvlaqm6fx4mg94q81d6vvl5rznmw3frzkfh6117yk"))))
    (build-system gnu-build-system)
    (inputs `(("libx11" ,libx11)
              ("libxi" ,libxi)


@@ 2540,7 2541,7 @@ as USB mice.")
(define-public xf86-input-void
  (package
    (name "xf86-input-void")
    (version "1.4.0")
    (version "1.4.1")
    (source
      (origin
        (method url-fetch)


@@ 2550,7 2551,7 @@ as USB mice.")
               ".tar.bz2"))
        (sha256
          (base32
            "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a"))))
            "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr"))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))


@@ 2616,7 2617,7 @@ as USB mice.")
(define-public xf86-video-ati
  (package
    (name "xf86-video-ati")
    (version "7.5.0")
    (version "7.6.1")
    (source
      (origin
        (method url-fetch)


@@ 2626,7 2627,7 @@ as USB mice.")
               ".tar.bz2"))
        (sha256
          (base32
            "0dkrw036ikym8aacl43lnf04q0wbms5498xg5b3l16ngnq36ygpc"))))
            "0k6kw69mcarlmxlb4jlhz887jxqr94qx2pin04xcv2ysp3pdj5i5"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xxf86driproto" ,xf86driproto)


@@ 2644,7 2645,7 @@ X server.")
(define-public xf86-video-cirrus
  (package
    (name "xf86-video-cirrus")
    (version "1.5.2")
    (version "1.5.3")
    (source
      (origin
        (method url-fetch)


@@ 2654,7 2655,7 @@ X server.")
               ".tar.bz2"))
        (sha256
          (base32
            "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k"))))
            "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d"))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))


@@ 2698,7 2699,7 @@ framebuffer device.")
(define-public xf86-video-geode
  (package
    (name "xf86-video-geode")
    (version "2.11.16")
    (version "2.11.18")
    (source
      (origin
        (method url-fetch)


@@ 2708,7 2709,7 @@ framebuffer device.")
               ".tar.bz2"))
        (sha256
          (base32
           "19y13xl7yfrgyis92rmxi0ld95ajgr5il0n9j1dridwzw9aizz1q"))
           "1s59kdj573v38sb14xfhp1l926aypbhy11vaz36y72x6calfkv6n"))
        (patches (list (search-patch "xf86-video-geode-glibc-2.20.patch")))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))


@@ 2810,45 2811,54 @@ X server.")


(define-public xf86-video-intel
  (package
    (name "xf86-video-intel")
    (version "2.21.15")
    (source
      (origin
        (method url-fetch)
        (uri (string-append
               "mirror://xorg/individual/driver/xf86-video-intel-"
               version
               ".tar.bz2"))
        (sha256
          (base32
           "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
     `(("pkg-config" ,pkg-config)))
    (supported-systems
     ;; This driver is only supported on Intel systems.
     (filter (lambda (system) (or (string-prefix? "i686-" system)
                                  (string-prefix? "x86_64-" system)))
             %supported-systems))
    (home-page "http://www.x.org/wiki/")
    (synopsis "Intel video driver for X server")
    (description
     "xf86-video-intel is a 2D graphics driver for the Xorg X server.
  (let ((commit "d167280"))
    (package
      (name "xf86-video-intel")
      (version (string-append "2.99.917-1-" commit))
      (source
       (origin
         ;; there's no current tarball
         (method git-fetch)
         (uri (git-reference
               (url "http://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel.git")
               (commit commit)))
         (sha256
          (base32
           "16hfcj11lbn6lp0hgrixidbfb7mghm1yn4lynmymm985w1gg0n72"))
         (file-name (string-append name "-" version))))
      (build-system gnu-build-system)
      (inputs `(("mesa" ,mesa)
                ("udev" ,eudev)
                ("libx11" ,libx11)
                ("libxfont" ,libxfont)
                ("xorg-server" ,xorg-server)))
      (native-inputs
       `(("pkg-config" ,pkg-config)
         ("autoconf" ,autoconf)
         ("automake" ,automake)
         ("libtool" ,libtool)))
      (supported-systems
       ;; This driver is only supported on Intel systems.
       (filter (lambda (system) (or (string-prefix? "i686-" system)
                                    (string-prefix? "x86_64-" system)))
               %supported-systems))
      (arguments
       '(#:phases (modify-phases %standard-phases
                    (add-after 'unpack 'bootstrap
                      (lambda _
                        (zero? (system* "autoreconf" "-vfi")))))))
      (home-page "http://www.x.org/wiki/")
      (synopsis "Intel video driver for X server")
      (description
       "xf86-video-intel is a 2D graphics driver for the Xorg X server.
It supports a variety of Intel graphics chipsets.")
    (license license:x11)))
      (license license:x11))))


(define-public xf86-video-mach64
  (package
    (name "xf86-video-mach64")
    (version "6.9.4")
    (version "6.9.5")
    (source
      (origin
        (method url-fetch)


@@ 2858,7 2868,7 @@ It supports a variety of Intel graphics chipsets.")
               ".tar.bz2"))
        (sha256
          (base32
           "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp"))
           "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y"))
        (patches (list (search-patch "xf86-video-mach64-glibc-2.20.patch")))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)


@@ 2880,7 2890,7 @@ the same level of support for generic VGA or 8514/A adapters.")
(define-public xf86-video-mga
  (package
    (name "xf86-video-mga")
    (version "1.6.3")
    (version "1.6.4")
    (source
      (origin
        (method url-fetch)


@@ 2890,8 2900,7 @@ the same level of support for generic VGA or 8514/A adapters.")
               ".tar.bz2"))
        (sha256
          (base32
           "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p"))
        (patches (list (search-patch "xf86-video-mga-glibc-2.20.patch")))))
           "0kyl8w99arviv27pc349zsy2vinnm7mdpy34vr9nzisicw5nkij8"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xf86driproto" ,xf86driproto)


@@ 2932,7 2941,7 @@ kernel mode setting (KMS).")
(define-public xf86-video-neomagic
  (package
    (name "xf86-video-neomagic")
    (version "1.2.8")
    (version "1.2.9")
    (source
      (origin
        (method url-fetch)


@@ 2942,7 2951,7 @@ kernel mode setting (KMS).")
               ".tar.bz2"))
        (sha256
          (base32
            "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash"))))
            "1whb2kgyqaxdjim27ya404acz50izgmafwnb6y9m89q5n6b97y3j"))))
    (build-system gnu-build-system)
    (inputs `(("xf86dgaproto" ,xf86dgaproto)
              ("xorg-server" ,xorg-server)))


@@ 3012,28 3021,20 @@ supported, and the RENDER extension is not accelerated by this driver.")
(define-public xf86-video-nouveau
  (package
    (name "xf86-video-nouveau")
    (version "1.0.11")
    (source (origin
              ;; There are no tarball releases of Nouveau.
              (method git-fetch)
              (uri (git-reference
                    (url "git://anongit.freedesktop.org/nouveau/xf86-video-nouveau")
                    (commit (string-append name "-" version))))
              (sha256
               (base32
                "0zdb6b0n7pzf3l8j8hl7gfshg8jsmcmk11isvvl542yc36162ahp"))))
    (version "1.0.12")
    (source
     (origin
       (method url-fetch)
       (uri (string-append
             "mirror://xorg/individual/driver/xf86-video-nouveau-"
             version
             ".tar.bz2"))
       (sha256
        (base32
         "07irv1zkk0rkyn1d7f2gn1icgcz2ix0pwv74sjian763gynmg80f"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (alist-cons-after
                 'unpack 'bootstrap
                 (lambda _
                   (zero? (system* "autoreconf" "-vi")))
                 %standard-phases)))
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)
                     ("autoconf" ,(autoconf-wrapper))
                     ("automake" ,automake)
                     ("libtool" ,libtool)))
    (native-inputs `(("pkg-config" ,pkg-config)))
    (home-page "http://nouveau.freedesktop.org")
    (synopsis "NVIDIA video driver for X server")
    (description


@@ 3078,7 3079,7 @@ UniChrome Pro and Chrome9 integrated graphics processors.")
(define-public xf86-video-r128
  (package
    (name "xf86-video-r128")
    (version "6.9.2")
    (version "6.10.1")
    (source
      (origin
        (method url-fetch)


@@ 3088,8 3089,7 @@ UniChrome Pro and Chrome9 integrated graphics processors.")
               ".tar.bz2"))
        (sha256
          (base32
           "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb"))
        (patches (list (search-patch "xf86-video-r128-glibc-2.20.patch")))))
           "1sp4glyyj23rs77vgffmn0mar5h504a86701nzvi56qwhd4yzgsy"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xf86driproto" ,xf86driproto)


@@ 3106,7 3106,7 @@ This driver is intended for ATI Rage 128 based cards.")
(define-public xf86-video-savage
  (package
    (name "xf86-video-savage")
    (version "2.3.7")
    (version "2.3.8")
    (source
      (origin
        (method url-fetch)


@@ 3116,7 3116,7 @@ This driver is intended for ATI Rage 128 based cards.")
               ".tar.bz2"))
        (sha256
          (base32
            "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784"))))
            "0qzshncynjdmyhavhqw4x5ha3gwbygi0zbsy158fpg1jcnla9kpx"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xf86driproto" ,xf86driproto)


@@ 3132,7 3132,7 @@ This driver is intended for ATI Rage 128 based cards.")
(define-public xf86-video-siliconmotion
  (package
    (name "xf86-video-siliconmotion")
    (version "1.7.7")
    (version "1.7.8")
    (source
      (origin
        (method url-fetch)


@@ 3142,10 3142,7 @@ This driver is intended for ATI Rage 128 based cards.")
               ".tar.bz2"))
        (sha256
          (base32
           "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47"))
        (patches
         (list
          (search-patch "xf86-video-siliconmotion-remove-mibstore.patch")))))
           "1sqv0y31mi4zmh9yaxqpzg7p8y2z01j6qys433hb8n4yznllkm79"))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))


@@ 3160,7 3157,7 @@ Xorg X server.")
(define-public xf86-video-sis
  (package
    (name "xf86-video-sis")
    (version "0.10.7")
    (version "0.10.8")
    (source
      (origin
        (method url-fetch)


@@ 3170,9 3167,7 @@ Xorg X server.")
               ".tar.bz2"))
        (sha256
          (base32
           "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy"))
        (patches (list (search-patch "xf86-video-sis-update-api.patch")
                       (search-patch "xf86-video-sis-fix-exa-crash.patch")))))
           "1znkqwdyd6am23xbsfjzamq125j5rrylg5mzqky4scv9gxbz5wy8"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xf86dgaproto" ,xf86dgaproto)


@@ 3239,7 3234,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
(define-public xf86-video-tdfx
  (package
    (name "xf86-video-tdfx")
    (version "1.4.5")
    (version "1.4.6")
    (source
      (origin
        (method url-fetch)


@@ 3249,9 3244,7 @@ This driver supports SiS chipsets of 300/315/330/340 series.")
               ".tar.bz2"))
        (sha256
          (base32
           "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh"))
        (patches (list
                  (search-patch "xf86-video-tdfx-remove-mibstore.patch")))))
           "0dvdrhyn1iv6rr85v1c52s1gl0j1qrxgv7x0r7qn3ba0gj38i2is"))))
    (build-system gnu-build-system)
    (inputs `(("mesa" ,mesa)
              ("xf86driproto" ,xf86driproto)


@@ 3294,7 3287,7 @@ X server.")
(define-public xf86-video-trident
  (package
    (name "xf86-video-trident")
    (version "1.3.6")
    (version "1.3.7")
    (source
      (origin
        (method url-fetch)


@@ 3304,9 3297,7 @@ X server.")
               ".tar.bz2"))
        (sha256
          (base32
           "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a"))
        (patches (list
                  (search-patch "xf86-video-trident-remove-mibstore.patch")))))
           "1bhkwic2acq9za4yz4bwj338cwv5mdrgr2qmgkhlj3bscbg1imgc"))))
    (build-system gnu-build-system)
    (inputs `(("xf86dgaproto" ,xf86dgaproto)
              ("xorg-server" ,xorg-server)))


@@ 3325,7 3316,7 @@ X server.")
(define-public xf86-video-vesa
  (package
    (name "xf86-video-vesa")
    (version "2.3.3")
    (version "2.3.4")
    (source
      (origin
        (method url-fetch)


@@ 3335,7 3326,7 @@ X server.")
               ".tar.bz2"))
        (sha256
          (base32
            "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf"))))
            "1haiw8r1z8ihk68d0jqph2wsld13w4qkl86biq46fvyxg7cg9pbv"))))
    (build-system gnu-build-system)
    (inputs `(("xorg-server" ,xorg-server)))
    (native-inputs `(("pkg-config" ,pkg-config)))


@@ 3350,7 3341,7 @@ X server.")
(define-public xf86-video-vmware
  (package
    (name "xf86-video-vmware")
    (version "13.0.2")
    (version "13.1.0")
    (source
      (origin
        (method url-fetch)


@@ 3360,8 3351,7 @@ X server.")
               ".tar.bz2"))
        (sha256
          (base32
           "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"))
        (patches (list (search-patch "xf86-video-vmware-glibc-2.20.patch")))))
           "1k50whwnkzxam2ihc1sw456dx0pvr76naycm4qhyjxqv9d72879w"))))
    (build-system gnu-build-system)
    (inputs `(("libx11" ,libx11)
              ("libxext" ,libxext)


@@ 3389,7 3379,16 @@ X server.")
               ".tar.bz2"))
        (sha256
          (base32
            "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"))))
           "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"))
        (patches
         (list (origin
                 (method url-fetch)
                 (uri "https://cgit.freedesktop.org/xorg/driver/\
xf86-video-voodoo/patch/?id=9172ae566a0e85313fc80ab62b4455393eefe593")
                 (sha256
                  (base32
                   "0rndmxf5b8j3hjnhrwrnzsq5024fli134fj1mprhkcrvax2zq8db"))
                 (file-name "xf86-video-voodoo-pcitag.patch"))))))
    (build-system gnu-build-system)
    (inputs `(("xf86dgaproto" ,xf86dgaproto)
              ("xorg-server" ,xorg-server)))


@@ 3501,7 3500,7 @@ configuring modelines and gamma.")
(define-public xgamma
  (package
    (name "xgamma")
    (version "1.0.5")
    (version "1.0.6")
    (source
      (origin
        (method url-fetch)


@@ 3511,7 3510,7 @@ configuring modelines and gamma.")
               ".tar.bz2"))
        (sha256
          (base32
            "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3"))))
            "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxxf86vm" ,libxxf86vm)


@@ 3529,7 3528,7 @@ monitor via the X video mode extension.")
(define-public xhost
  (package
    (name "xhost")
    (version "1.0.6")
    (version "1.0.7")
    (source
      (origin
        (method url-fetch)


@@ 3539,7 3538,7 @@ monitor via the X video mode extension.")
               ".tar.bz2"))
        (sha256
          (base32
            "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6"))))
            "16n26xw6l01zq31d4qvsaz50misvizhn7iihzdn5f7s72pp1krlk"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxmu" ,libxmu)


@@ 3588,7 3587,7 @@ alternative implementations like XRandR or TwinView.")
(define-public xinput
  (package
    (name "xinput")
    (version "1.6.1")
    (version "1.6.2")
    (source
      (origin
        (method url-fetch)


@@ 3598,7 3597,7 @@ alternative implementations like XRandR or TwinView.")
               ".tar.bz2"))
        (sha256
          (base32
            "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp"))))
            "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxrender" ,libxrender)


@@ 3670,7 3669,7 @@ make keyboards more accessible to people with physical impairments.")
(define-public xkbevd
  (package
    (name "xkbevd")
    (version "1.1.3")
    (version "1.1.4")
    (source
      (origin
        (method url-fetch)


@@ 3680,7 3679,7 @@ make keyboards more accessible to people with physical impairments.")
               ".tar.bz2"))
        (sha256
          (base32
            "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm"))))
            "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxkbfile" ,libxkbfile)


@@ 3734,7 3733,7 @@ extension to the X11 protocol.  It includes:
(define-public xkeyboard-config
  (package
    (name "xkeyboard-config")
    (version "2.13")
    (version "2.17")
    (source
      (origin
        (method url-fetch)


@@ 3744,7 3743,7 @@ extension to the X11 protocol.  It includes:
              ".tar.bz2"))
        (sha256
          (base32
            "1klzbwabzd7bhbg23b14vy4l5xgpapn8lc0m5d8h40d3p7rfjnvv"))))
            "00878f1v3034ki78pjpf2db0bh7jsmszsnxr3bf5qxripm2bxiny"))))
    (build-system gnu-build-system)
    (inputs
      `(("gettext" ,gnu-gettext)


@@ 3795,7 3794,7 @@ programs that have displayed undesired windows on a user's screen.")
(define-public xlsatoms
  (package
    (name "xlsatoms")
    (version "1.1.1")
    (version "1.1.2")
    (source
      (origin
        (method url-fetch)


@@ 3805,7 3804,7 @@ programs that have displayed undesired windows on a user's screen.")
               ".tar.bz2"))
        (sha256
          (base32
            "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv"))))
            "196yjik910xsr7dwy8daa0amr0r22ynfs360z0ndp9mx7mydrra7"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxcb" ,libxcb)))


@@ 3876,7 3875,7 @@ protocol.")
(define-public xmodmap
  (package
    (name "xmodmap")
    (version "1.0.8")
    (version "1.0.9")
    (source
      (origin
        (method url-fetch)


@@ 3886,7 3885,7 @@ protocol.")
               ".tar.bz2"))
        (sha256
          (base32
            "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg"))
            "0y649an3jqfq9klkp9y5gj20xb78fw6g193f5mnzpl0hbz6fbc5p"))
        (patches (list (search-patch "xmodmap-asprintf.patch")))))
    (build-system gnu-build-system)
    (inputs


@@ 4170,7 4169,7 @@ libICE, the X font server, and related components.")
(define-public xvinfo
  (package
    (name "xvinfo")
    (version "1.1.2")
    (version "1.1.3")
    (source
      (origin
        (method url-fetch)


@@ 4180,7 4179,7 @@ libICE, the X font server, and related components.")
               ".tar.bz2"))
        (sha256
          (base32
            "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf"))))
            "1sz5wqhxd1fqsfi1w5advdlwzkizf2fgl12hdpk66f7mv9l8pflz"))))
    (build-system gnu-build-system)
    (inputs
      `(("libxext" ,libxext)


@@ 4406,7 4405,7 @@ cannot be adequately worked around on the client side of the wire.")
(define-public libxp
  (package
    (name "libxp")
    (version "1.0.2")
    (version "1.0.3")
    (source
      (origin
        (method url-fetch)


@@ 4416,7 4415,7 @@ cannot be adequately worked around on the client side of the wire.")
               ".tar.bz2"))
        (sha256
          (base32
            "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm"))))
            "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("printproto" ,printproto)))


@@ 4434,7 4433,7 @@ cannot be adequately worked around on the client side of the wire.")
(define-public libxrender
  (package
    (name "libxrender")
    (version "0.9.8")
    (version "0.9.9")
    (source
      (origin
        (method url-fetch)


@@ 4444,7 4443,7 @@ cannot be adequately worked around on the client side of the wire.")
               ".tar.bz2"))
        (sha256
          (base32
            "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x"))))
            "06myx7044qqdswxndsmd82fpp670klnizkgzdm194h51h1wyabzw"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("renderproto" ,renderproto)))


@@ 4558,7 4557,7 @@ script around the mkfontscale program.")
(define-public xproto
  (package
    (name "xproto")
    (version "7.0.26")
    (version "7.0.28")
    (source
      (origin
        (method url-fetch)


@@ 4568,7 4567,7 @@ script around the mkfontscale program.")
               ".tar.bz2"))
        (sha256
          (base32
            "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"))))
            "1jpnvm33vi2dar5y5zgz7jjh0m8fpkcxm0f0lbwfx37ns5l5bs19"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs


@@ 4710,7 4709,7 @@ new API's in libXft, or the legacy API's in libX11.")
(define-public libxi
  (package
    (name "libxi")
    (version "1.7.4")
    (version "1.7.6")
    (source
      (origin
        (method url-fetch)


@@ 4720,7 4719,7 @@ new API's in libXft, or the legacy API's in libX11.")
               ".tar.bz2"))
        (sha256
          (base32
            "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc"))))
            "1b5p0l19ynmd6blnqr205wyngh6fagl35nqb4v05dw60rr9aachz"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("inputproto" ,inputproto)


@@ 4740,7 4739,7 @@ new API's in libXft, or the legacy API's in libX11.")
(define-public libxrandr
  (package
    (name "libxrandr")
    (version "1.4.2")
    (version "1.5.0")
    (source
      (origin
        (method url-fetch)


@@ 4750,7 4749,7 @@ new API's in libXft, or the legacy API's in libX11.")
               ".tar.bz2"))
        (sha256
          (base32
            "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya"))))
            "0n6ycs1arf4wb1cal9il6v7vbxbf21qhs9sbfl8xndgwnxclk1kg"))))
    (build-system gnu-build-system)
    (propagated-inputs
      ;; In accordance with xrandr.pc.


@@ 4771,7 4770,7 @@ new API's in libXft, or the legacy API's in libX11.")
(define-public libxvmc
  (package
    (name "libxvmc")
    (version "1.0.8")
    (version "1.0.9")
    (source
      (origin
        (method url-fetch)


@@ 4781,7 4780,7 @@ new API's in libXft, or the legacy API's in libX11.")
               ".tar.bz2"))
        (sha256
          (base32
            "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy"))))
            "0mjp1b21dvkaz7r0iq085r92nh5vkpmx99awfgqq9hgzyvgxf0q7"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("libxv" ,libxv)))


@@ 4800,7 4799,7 @@ new API's in libXft, or the legacy API's in libX11.")
(define-public libxxf86vm
  (package
    (name "libxxf86vm")
    (version "1.1.3")
    (version "1.1.4")
    (source
      (origin
        (method url-fetch)


@@ 4810,7 4809,7 @@ new API's in libXft, or the legacy API's in libX11.")
               ".tar.bz2"))
        (sha256
          (base32
            "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns"))))
            "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("libxext" ,libxext)


@@ 4876,7 4875,7 @@ over Xlib, including:
(define-public xorg-server
  (package
    (name "xorg-server")
    (version "1.16.4")
    (version "1.18.1")
    (source
      (origin
        (method url-fetch)


@@ 4885,7 4884,7 @@ over Xlib, including:
              name "-" version ".tar.bz2"))
        (sha256
         (base32
          "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb"))))
          "17bq40als48v12ld81jysc0gj5g572zkjkyzbhlm3ac9xgdmdv45"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("dri2proto" ,dri2proto)


@@ 4986,7 4985,7 @@ draggable titlebars and borders.")
(define-public libx11
  (package
    (name "libx11")
    (version "1.6.2")
    (version "1.6.3")
    (source
      (origin
        (method url-fetch)


@@ 4996,7 4995,7 @@ draggable titlebars and borders.")
               ".tar.bz2"))
        (sha256
          (base32
            "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a"))))
            "04c1vj53xq2xgyxx5vhln3wm2d76hh1n95fvs3myhligkz1sfcfg"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                            ;8 MiB of man pages + XML


@@ 5052,7 5051,7 @@ draggable titlebars and borders.")
(define-public libxt
  (package
    (name "libxt")
    (version "1.1.4")
    (version "1.1.5")
    (source
      (origin
        (method url-fetch)


@@ 5062,7 5061,7 @@ draggable titlebars and borders.")
               ".tar.bz2"))
        (sha256
          (base32
            "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4"))))
            "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6"))))
    (build-system gnu-build-system)
    (outputs '("out"
               "doc"))                            ;2 MiB of man pages + XML


@@ 5087,7 5086,7 @@ draggable titlebars and borders.")
(define-public libxaw
  (package
    (name "libxaw")
    (version "1.0.12")
    (version "1.0.13")
    (source
      (origin
        (method url-fetch)


@@ 5097,7 5096,7 @@ draggable titlebars and borders.")
               ".tar.bz2"))
        (sha256
          (base32
            "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n"))))
            "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("libxext" ,libxext)

M gnu/services/xorg.scm => gnu/services/xorg.scm +45 -0
@@ 40,6 40,7 @@
  #:use-module (srfi srfi-26)
  #:use-module (ice-9 match)
  #:export (xorg-configuration-file
            %default-xorg-modules
            xorg-start-command
            %default-slim-theme
            %default-slim-theme-name


@@ 137,9 138,52 @@ EndSection
  "\n"
  extra-config))

(define %default-xorg-modules
  (list xf86-video-vesa
        xf86-video-fbdev
        xf86-video-modesetting
        xf86-video-cirrus
        xf86-video-intel
        xf86-video-mach64
        xf86-video-nouveau
        xf86-video-nv
        xf86-video-sis
        xf86-input-libinput
        xf86-input-evdev
        xf86-input-keyboard
        xf86-input-mouse
        xf86-input-synaptics))

(define (xorg-configuration-directory modules)
  "Return a directory that contains the @code{.conf} files for X.org that
includes the @code{share/X11/xorg.conf.d} directories of each package listed
in @var{modules}."
  (computed-file "xorg.conf.d"
                 #~(begin
                     (use-modules (guix build utils)
                                  (srfi srfi-1))

                     (define files
                       (append-map (lambda (module)
                                     (find-files (string-append
                                                  module
                                                  "/share/X11/xorg.conf.d")
                                                 "\\.conf$"))
                                   (list #$@modules)))

                     (mkdir #$output)
                     (for-each (lambda (file)
                                 (symlink file
                                          (string-append #$output "/"
                                                         (basename file))))
                               files)
                     #t)
                 #:modules '((guix build utils))))

(define* (xorg-start-command #:key
                             (guile (canonical-package guile-2.0))
                             (configuration-file (xorg-configuration-file))
                             (modules %default-xorg-modules)
                             (xorg-server xorg-server))
  "Return a derivation that builds a @var{guile} script to start the X server
from @var{xorg-server}.  @var{configuration-file} is the server configuration


@@ 158,6 202,7 @@ Usually the X server is started by a login manager."
               "-logverbose" "-verbose"
               "-xkbdir" (string-append #$xkeyboard-config "/share/X11/xkb")
               "-config" #$configuration-file
               "-configdir" #$(xorg-configuration-directory modules)
               "-nolisten" "tcp" "-terminate"

               ;; Note: SLiM and other display managers add the

M guix/gnu-maintenance.scm => guix/gnu-maintenance.scm +36 -1
@@ 33,6 33,7 @@
  #:use-module (guix records)
  #:use-module (guix upstream)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:export (gnu-package-name
            gnu-package-mundane-name
            gnu-package-copyright-holder


@@ 57,7 58,8 @@
            gnu-package-name->name+version

            %gnu-updater
            %gnome-updater))
            %gnome-updater
            %xorg-updater))

;;; Commentary:
;;;


@@ 508,6 510,32 @@ elpa.gnu.org, and all the GNOME packages."
                       ;; checksums.
                       #:file->signature (const #f))))

(define (xorg-package? package)
  "Return true if PACKAGE is an X.org package, developed by X.org."
  (define xorg-uri?
    (match-lambda
      ((? string? uri)
       (string-prefix? "mirror://xorg/" uri))
      (_
       #f)))

  (match (package-source package)
    ((? origin? origin)
     (match (origin-uri origin)
       ((? xorg-uri?) #t)
       (_              #f)))
    (_ #f)))

(define (latest-xorg-release package)
  "Return the latest release of PACKAGE, the name of an X.org package."
  (let ((uri (string->uri (origin-uri (package-source (specification->package package))))))
    (false-if-ftp-error
     (latest-ftp-release
      package
      #:server "ftp.freedesktop.org"
      #:directory
      (string-append "/pub/xorg/" (dirname (uri-path uri)))))))

(define %gnu-updater
  (upstream-updater
   (name 'gnu)


@@ 522,4 550,11 @@ elpa.gnu.org, and all the GNOME packages."
   (pred gnome-package?)
   (latest latest-gnome-release)))

(define %xorg-updater
  (upstream-updater
   (name 'xorg)
   (description "Updater for X.org packages")
   (pred xorg-package?)
   (latest latest-xorg-release)))

;;; gnu-maintenance.scm ends here

M guix/scripts/refresh.scm => guix/scripts/refresh.scm +2 -1
@@ 32,7 32,7 @@
  #:use-module (guix scripts graph)
  #:use-module (guix monads)
  #:use-module ((guix gnu-maintenance)
                #:select (%gnu-updater %gnome-updater))
                #:select (%gnu-updater %gnome-updater %xorg-updater))
  #:use-module (guix import elpa)
  #:use-module (guix import cran)
  #:use-module (guix gnupg)


@@ 194,6 194,7 @@ unavailable optional dependencies such as Guile-JSON."
  ;; List of "updaters" used by default.  They are consulted in this order.
  (list-updaters %gnu-updater
                 %gnome-updater
                 %xorg-updater
                 %elpa-updater
                 %cran-updater
                 %bioconductor-updater