From 22ea84ac6f7d6bee05c12e3bff8672fbad753ea3 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 7 Aug 2012 14:12:33 -0500
Subject: Xorg update part1

---
 abs/core/ttf-dejavu/ChangeLog                      |   24 -
 abs/core/ttf-dejavu/PKGBUILD                       |   30 +-
 abs/core/ttf-dejavu/ttf-dejavu.install             |   11 +-
 abs/core/usbutils/fix-python2.patch                |   17 +
 abs/core/videoproto/PKGBUILD                       |   21 +-
 abs/core/xbitmaps/LICENSE                          |   50 -
 abs/core/xbitmaps/PKGBUILD                         |   27 +-
 abs/core/xcb-proto/PKGBUILD                        |   25 +-
 abs/core/xcmiscproto/PKGBUILD                      |   13 +-
 abs/core/xextproto/PKGBUILD                        |   15 +-
 .../Fix_inverted_horizontal_scroll.diff            |   27 +
 abs/core/xf86-input-evdev/PKGBUILD                 |   17 +-
 abs/core/xf86-video-vesa/PKGBUILD                  |   23 +-
 abs/core/xf86-video-vesa/revert-kernelcheck.patch  |   31 +
 abs/core/xf86dgaproto/PKGBUILD                     |   21 +-
 abs/core/xf86driproto/LICENSE                      |   50 -
 abs/core/xf86driproto/PKGBUILD                     |   33 +-
 abs/core/xf86vidmodeproto/PKGBUILD                 |   24 +-
 abs/core/xfsprogs/PKGBUILD                         |   16 +-
 abs/core/xineramaproto/PKGBUILD                    |   22 +-
 abs/core/xkeyboard-config/PKGBUILD                 |   21 +-
 abs/core/xorg-bdftopcf/PKGBUILD                    |   28 +
 abs/core/xorg-docs/PKGBUILD                        |   28 +
 abs/core/xorg-font-util/PKGBUILD                   |   37 +
 abs/core/xorg-font-utils/PKGBUILD                  |   60 +-
 abs/core/xorg-font-utils/gcc-4.3.patch             |    8 -
 abs/core/xorg-font-utils/ttmkfdir.patch            |   86 -
 abs/core/xorg-font-utils/xorg-font-utils.install   |    3 -
 abs/core/xorg-fonts-100dpi/PKGBUILD                |   25 +-
 abs/core/xorg-fonts-100dpi/xfonts.install          |    5 -
 abs/core/xorg-fonts-alias/LICENSE                  |    1 -
 abs/core/xorg-fonts-alias/PKGBUILD                 |   20 +-
 abs/core/xorg-fonts-encodings/PKGBUILD             |   30 +-
 .../xorg-fonts-encodings.install                   |   16 -
 abs/core/xorg-fonts-misc/PKGBUILD                  |   22 +-
 abs/core/xorg-fonts-misc/xfonts.install            |    5 -
 abs/core/xorg-iceauth/PKGBUILD                     |   28 +
 abs/core/xorg-luit/PKGBUILD                        |   14 +-
 abs/core/xorg-mkfontdir/PKGBUILD                   |   28 +
 abs/core/xorg-mkfontscale/PKGBUILD                 |   28 +
 ...rlier_and_more_thoroughly_from_exaGlyphsV2.diff |  116 ++
 abs/core/xorg-server/PKGBUILD                      |   60 +-
 abs/core/xorg-server/__changelog                   |    1 -
 abs/core/xorg-server/autoconfig-nvidia.patch       |   28 +
 abs/core/xorg-server/autoconfig-sis.patch          |   21 +
 abs/core/xorg-server/crash.patch                   |   11 -
 abs/core/xorg-server/git-fixes.patch               | 1717 ++++++++++++++++++++
 .../xorg-redhat-die-ugly-pattern-die-die-die.patch |   16 -
 abs/core/xorg-sessreg/PKGBUILD                     |   24 +
 abs/core/xorg-setxkbmap/PKGBUILD                   |   29 +
 abs/core/xorg-util-macros/PKGBUILD                 |    9 +-
 abs/core/xorg-x11perf/PKGBUILD                     |   12 +-
 abs/core/xorg-xauth/PKGBUILD                       |   23 +-
 abs/core/xorg-xbacklight/PKGBUILD                  |   27 +
 abs/core/xorg-xcmsdb/PKGBUILD                      |   28 +
 abs/core/xorg-xcursorgen/PKGBUILD                  |   12 +-
 abs/core/xorg-xcursorgen/xorg-xkill/PKGBUILD       |   23 -
 abs/core/xorg-xdpyinfo/PKGBUILD                    |    2 +-
 abs/core/xorg-xdriinfo/PKGBUILD                    |   28 +
 abs/core/xorg-xev/PKGBUILD                         |   28 +
 abs/core/xorg-xgamma/PKGBUILD                      |   27 +
 abs/core/xorg-xhost/PKGBUILD                       |   27 +
 abs/core/xorg-xinit/PKGBUILD                       |   25 +-
 abs/core/xorg-xinit/fs25361.patch                  |   16 +
 abs/core/xorg-xinit/xinitrc                        |    7 +
 abs/core/xorg-xinit/xserverrc                      |    2 +-
 abs/core/xorg-xinput/PKGBUILD                      |   28 +
 abs/core/xorg-xkbcomp/PKGBUILD                     |   28 +
 abs/core/xorg-xkbevd/PKGBUILD                      |   28 +
 abs/core/xorg-xkbutils/PKGBUILD                    |   27 +
 abs/core/xorg-xkill/PKGBUILD                       |   11 +-
 abs/core/xorg-xlsatoms/PKGBUILD                    |   27 +
 abs/core/xorg-xlsclients/PKGBUILD                  |   27 +
 abs/core/xorg-xmodmap/PKGBUILD                     |   27 +
 abs/core/xorg-xpr/PKGBUILD                         |   23 +-
 abs/core/xorg-xpr/copyright.patch                  |   75 -
 abs/core/xorg-xprop/PKGBUILD                       |   28 +
 abs/core/xorg-xrandr/PKGBUILD                      |   29 +
 abs/core/xorg-xrdb/PKGBUILD                        |   27 +
 abs/core/xorg-xrefresh/PKGBUILD                    |   27 +
 abs/core/xorg-xset/PKGBUILD                        |   24 +
 abs/core/xorg-xsetroot/PKGBUILD                    |   27 +
 abs/core/xorg-xvinfo/PKGBUILD                      |   27 +
 abs/core/xorg-xwd/PKGBUILD                         |   15 +-
 abs/core/xorg-xwininfo/PKGBUILD                    |   28 +
 abs/core/xorg-xwud/PKGBUILD                        |   13 +-
 abs/core/xproto/PKGBUILD                           |   13 +-
 abs/core/xterm/PKGBUILD                            |   13 +-
 abs/core/xvidcore/PKGBUILD                         |   26 +-
 89 files changed, 3184 insertions(+), 723 deletions(-)
 delete mode 100644 abs/core/ttf-dejavu/ChangeLog
 create mode 100644 abs/core/usbutils/fix-python2.patch
 delete mode 100644 abs/core/xbitmaps/LICENSE
 create mode 100644 abs/core/xf86-input-evdev/Fix_inverted_horizontal_scroll.diff
 create mode 100644 abs/core/xf86-video-vesa/revert-kernelcheck.patch
 delete mode 100644 abs/core/xf86driproto/LICENSE
 create mode 100644 abs/core/xorg-bdftopcf/PKGBUILD
 create mode 100644 abs/core/xorg-docs/PKGBUILD
 create mode 100644 abs/core/xorg-font-util/PKGBUILD
 delete mode 100644 abs/core/xorg-font-utils/gcc-4.3.patch
 delete mode 100644 abs/core/xorg-font-utils/ttmkfdir.patch
 delete mode 100644 abs/core/xorg-font-utils/xorg-font-utils.install
 delete mode 100644 abs/core/xorg-fonts-encodings/xorg-fonts-encodings.install
 create mode 100644 abs/core/xorg-iceauth/PKGBUILD
 create mode 100644 abs/core/xorg-mkfontdir/PKGBUILD
 create mode 100644 abs/core/xorg-mkfontscale/PKGBUILD
 create mode 100644 abs/core/xorg-server/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff
 delete mode 100644 abs/core/xorg-server/__changelog
 create mode 100644 abs/core/xorg-server/autoconfig-nvidia.patch
 create mode 100644 abs/core/xorg-server/autoconfig-sis.patch
 delete mode 100644 abs/core/xorg-server/crash.patch
 create mode 100644 abs/core/xorg-server/git-fixes.patch
 delete mode 100644 abs/core/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch
 create mode 100644 abs/core/xorg-sessreg/PKGBUILD
 create mode 100644 abs/core/xorg-setxkbmap/PKGBUILD
 create mode 100644 abs/core/xorg-xbacklight/PKGBUILD
 create mode 100644 abs/core/xorg-xcmsdb/PKGBUILD
 delete mode 100644 abs/core/xorg-xcursorgen/xorg-xkill/PKGBUILD
 create mode 100644 abs/core/xorg-xdriinfo/PKGBUILD
 create mode 100644 abs/core/xorg-xev/PKGBUILD
 create mode 100644 abs/core/xorg-xgamma/PKGBUILD
 create mode 100644 abs/core/xorg-xhost/PKGBUILD
 create mode 100644 abs/core/xorg-xinit/fs25361.patch
 create mode 100644 abs/core/xorg-xinput/PKGBUILD
 create mode 100644 abs/core/xorg-xkbcomp/PKGBUILD
 create mode 100644 abs/core/xorg-xkbevd/PKGBUILD
 create mode 100644 abs/core/xorg-xkbutils/PKGBUILD
 create mode 100644 abs/core/xorg-xlsatoms/PKGBUILD
 create mode 100644 abs/core/xorg-xlsclients/PKGBUILD
 create mode 100644 abs/core/xorg-xmodmap/PKGBUILD
 delete mode 100644 abs/core/xorg-xpr/copyright.patch
 create mode 100644 abs/core/xorg-xprop/PKGBUILD
 create mode 100644 abs/core/xorg-xrandr/PKGBUILD
 create mode 100644 abs/core/xorg-xrdb/PKGBUILD
 create mode 100644 abs/core/xorg-xrefresh/PKGBUILD
 create mode 100644 abs/core/xorg-xset/PKGBUILD
 create mode 100644 abs/core/xorg-xsetroot/PKGBUILD
 create mode 100644 abs/core/xorg-xvinfo/PKGBUILD
 create mode 100644 abs/core/xorg-xwininfo/PKGBUILD

diff --git a/abs/core/ttf-dejavu/ChangeLog b/abs/core/ttf-dejavu/ChangeLog
deleted file mode 100644
index c5c8c4a..0000000
--- a/abs/core/ttf-dejavu/ChangeLog
+++ /dev/null
@@ -1,24 +0,0 @@
-2009-03-12  Alexander Fehr  <pizzapunk gmail com>
-
-  * ttf-dejavu-2.29-1:
-  New upstream release.
-
-2008-12-22  Alexander Fehr  <pizzapunk gmail com>
-
-  * ttf-dejavu-2.28-1:
-  New upstream release.
-
-2008-11-26  Alexander Fehr  <pizzapunk gmail com>
-
-  * ttf-dejavu-2.27-1:
-  New upstream release.
-
-2008-07-29  Alexander Fehr  <pizzapunk gmail com>
-
-  * ttf-dejavu-2.26-1:
-  New upstream release.
-  New maintainer.
-  Renamed ttf.install to ttf-dejavu.install.
-  Added -s option to fc-cache in install file.
-  Removed install message.
-  Added ChangeLog.
diff --git a/abs/core/ttf-dejavu/PKGBUILD b/abs/core/ttf-dejavu/PKGBUILD
index a5fd988..0c2fca0 100644
--- a/abs/core/ttf-dejavu/PKGBUILD
+++ b/abs/core/ttf-dejavu/PKGBUILD
@@ -1,29 +1,27 @@
-# $Id: PKGBUILD 71355 2010-03-06 19:39:30Z jgc $
-# Maintainer: Alexander Fehr <pizzapunk gmail com>
+# $Id: PKGBUILD 157781 2012-04-29 11:06:40Z allan $
+# Maintainer:
 # Contributor: Jan de Groot <jgc@archlinux.org>
 # Contributor: Michal Krenek <mikos@sg1.cz>
 
 pkgname=ttf-dejavu
-pkgver=2.30
-pkgrel=2
+pkgver=2.33
+pkgrel=3
 pkgdesc="Font family based on the Bitstream Vera Fonts with a wider range of characters"
 arch=('any')
-url="http://dejavu.sourceforge.net/"
+url="http://dejavu-fonts.org/wiki/Main_Page"
 license=('custom')
-depends=('fontconfig' 'xorg-fonts-encodings')
+depends=('fontconfig' 'xorg-fonts-encodings' 'xorg-mkfontscale' 'xorg-mkfontdir')
 install=ttf-dejavu.install
 source=(http://downloads.sourceforge.net/project/dejavu/dejavu/${pkgver}/dejavu-fonts-ttf-${pkgver}.tar.bz2)
-md5sums=('545b3bfc69893075a90a7c6e6f4a7e67')
+md5sums=('8b601e91725b6d69141b0fcf527948c0')
 
-build() {
-  cd "${srcdir}/dejavu-fonts-ttf-${pkgver}"
+package() {
+  install -dm755 "${pkgdir}"/etc/fonts/conf.avail
+  install -dm755 "${pkgdir}"/usr/share/fonts/TTF
 
-  install -m755 -d "${pkgdir}/usr/share/fonts/TTF"
-  install -m644 ttf/*.ttf "${pkgdir}/usr/share/fonts/TTF/" || return 1
+  cd "${srcdir}"/dejavu-fonts-ttf-${pkgver}
+  install -m644 ttf/*.ttf "${pkgdir}"/usr/share/fonts/TTF/
+  install -m644 fontconfig/*.conf "${pkgdir}"/etc/fonts/conf.avail/
 
-  install -m755 -d "${pkgdir}/etc/fonts/conf.avail"
-  install -m644 fontconfig/*.conf "${pkgdir}/etc/fonts/conf.avail/" || return 1
-
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -D -m644 LICENSE "$pkgdir/usr/share/licenses/${pkgname}/" || return 1
+  install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
 }
diff --git a/abs/core/ttf-dejavu/ttf-dejavu.install b/abs/core/ttf-dejavu/ttf-dejavu.install
index f831cb1..47ecf87 100644
--- a/abs/core/ttf-dejavu/ttf-dejavu.install
+++ b/abs/core/ttf-dejavu/ttf-dejavu.install
@@ -4,8 +4,9 @@ configs=(20-unhint-small-dejavu-sans-mono.conf
          57-dejavu-sans-mono.conf
          57-dejavu-sans.conf
          57-dejavu-serif.conf)
+
 post_install() {
-  pushd /etc/fonts/conf.d > /dev/null
+  pushd etc/fonts/conf.d > /dev/null
   for config in "${configs[@]}"; do
     ln -sf ../conf.avail/${config} .
   done
@@ -17,13 +18,13 @@ post_install() {
 
 post_upgrade() {
   if [ `vercmp 2.30-2 $2` -gt 0 ]; then 
-    pushd /etc/fonts/conf.d > /dev/null
+    pushd etc/fonts/conf.d > /dev/null
     for config in "${configs[@]}"; do
       ln -sf ../conf.avail/${config} .
     done
     popd > /dev/null
   fi
-  for config in /etc/fonts/conf.d/*; do
+  for config in etc/fonts/conf.d/*; do
     if [ ! -f ${config} ]; then
       rm -f ${config}
     fi
@@ -35,7 +36,7 @@ post_upgrade() {
 
 pre_upgrade() {
   # Link new config files not present on system yet
-  pushd /etc/fonts/conf.d > /dev/null
+  pushd etc/fonts/conf.d > /dev/null
   for config in "${configs[@]}"; do
     if [ ! -f ../conf.avail/${config} ]; then
       ln -sf ../conf.avail/${config} .
@@ -45,7 +46,7 @@ pre_upgrade() {
 }
 
 post_remove() {
-  pushd /etc/fonts/conf.d > /dev/null
+  pushd etc/fonts/conf.d > /dev/null
   for config in "${configs[@]}"; do
     rm -f ${config}
   done
diff --git a/abs/core/usbutils/fix-python2.patch b/abs/core/usbutils/fix-python2.patch
new file mode 100644
index 0000000..7e2875e
--- /dev/null
+++ b/abs/core/usbutils/fix-python2.patch
@@ -0,0 +1,17 @@
+--- usbutils-002/lsusb.py	2010-12-16 01:07:09.000000000 +0100
++++ usbutils-002/lsusb.py	2011-04-09 22:43:59.043828595 +0200
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ # lsusb.py
+ # Displays your USB devices in reasonable form.
+ # (c) Kurt Garloff <garloff@suse.de>, 2/2009, GPL v2 or v3.
+@@ -16,7 +16,7 @@
+ warnsort = False
+ 
+ prefix = "/sys/bus/usb/devices/"
+-usbids = "/usr/share/usb.ids"
++usbids = "/usr/share/hwdata/usb.ids"
+ 
+ esc = chr(27)
+ norm = esc + "[0;0m"
diff --git a/abs/core/videoproto/PKGBUILD b/abs/core/videoproto/PKGBUILD
index 7cff84a..8d86ff4 100644
--- a/abs/core/videoproto/PKGBUILD
+++ b/abs/core/videoproto/PKGBUILD
@@ -1,21 +1,24 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 151202 2012-02-25 07:30:12Z allan $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=videoproto
-pkgver=2.3.0
-pkgrel=1
+pkgver=2.3.1
+pkgrel=2
 pkgdesc="X11 Video extension wire protocol"
-arch=(i686 x86_64)
+arch=('any')
 url="http://xorg.freedesktop.org/"
+license=('custom')
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('bb8b366687a7f345e3a8697bac516cb436cbf4b2')
 
 build() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
+  cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
+
 package() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
-  make DESTDIR=${startdir}/pkg install || return 1
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
-md5sums=('fb762146a18207a1e8bc9f299dfc7ac0')
diff --git a/abs/core/xbitmaps/LICENSE b/abs/core/xbitmaps/LICENSE
deleted file mode 100644
index c5fe9b0..0000000
--- a/abs/core/xbitmaps/LICENSE
+++ /dev/null
@@ -1,50 +0,0 @@
-Copyright 1988, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-
-/*****************************************************************************/
-/**       Copyright 1988 by Evans & Sutherland Computer Corporation,        **/
-/**                          Salt Lake City, Utah                           **/
-/**                                                                         **/
-/**                           All Rights Reserved                           **/
-/**                                                                         **/
-/**    Permission to use, copy, modify, and distribute this software and    **/
-/**    its documentation  for  any  purpose  and  without  fee is hereby    **/
-/**    granted, provided that the above copyright notice appear  in  all    **/
-/**    copies and that both  that  copyright  notice  and  this  permis-    **/
-/**    sion  notice appear in supporting  documentation,  and  that  the    **/
-/**    name  of Evans & Sutherland  not be used in advertising or publi-    **/
-/**    city pertaining to distribution  of the software without  specif-    **/
-/**    ic, written prior permission.                                        **/
-/**                                                                         **/
-/**    EVANS  & SUTHERLAND  DISCLAIMS  ALL  WARRANTIES  WITH  REGARD  TO    **/
-/**    THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILI-    **/
-/**    TY AND FITNESS, IN NO EVENT SHALL EVANS &  SUTHERLAND  BE  LIABLE    **/
-/**    FOR  ANY  SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY  DAM-    **/
-/**    AGES  WHATSOEVER RESULTING FROM  LOSS OF USE,  DATA  OR  PROFITS,    **/
-/**    WHETHER   IN  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS    **/
-/**    ACTION, ARISING OUT OF OR IN  CONNECTION  WITH  THE  USE  OR PER-    **/
-/**    FORMANCE OF THIS SOFTWARE.                                           **/
-/*****************************************************************************/
-
diff --git a/abs/core/xbitmaps/PKGBUILD b/abs/core/xbitmaps/PKGBUILD
index ba46954..2fc3e77 100644
--- a/abs/core/xbitmaps/PKGBUILD
+++ b/abs/core/xbitmaps/PKGBUILD
@@ -1,22 +1,25 @@
-# $Id: PKGBUILD 56379 2009-10-21 19:00:03Z andyrtr $
-#Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 151200 2012-02-25 07:27:18Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xbitmaps
 pkgver=1.1.1
-pkgrel=1
+pkgrel=2
 pkgdesc="X.org Bitmap files"
 arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
-makedepends=('pkgconfig')
-source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2 LICENSE)
+makedepends=('xorg-util-macros')
+source=(${url}/releases/individual/data/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('578afff7e4912192b524c25254cf7f54c16e57d8')
 
 build() {
-  cd ${srcdir}/${pkgname}-${pkgver}
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR=${pkgdir} install || return 1
-  install -D -m644 ../LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
-md5sums=('7444bbbd999b53bec6a60608a5301f4c'
-         '8d6c2d0109ea72abdcbf6846a908f399')
diff --git a/abs/core/xcb-proto/PKGBUILD b/abs/core/xcb-proto/PKGBUILD
index 5f4d1d3..81635de 100644
--- a/abs/core/xcb-proto/PKGBUILD
+++ b/abs/core/xcb-proto/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: PKGBUILD 61568 2009-12-19 19:52:55Z jgc $
+# $Id: PKGBUILD 154172 2012-03-23 20:55:53Z andyrtr $
 # Maintainer: Alexander Baldeck <alexander@archlinux.org>
 # Contributor: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xcb-proto
-pkgver=1.6
-pkgrel=2
+pkgver=1.7.1
+pkgrel=1
 pkgdesc="XML-XCB protocol descriptions"
 arch=(any)
 url="http://xcb.freedesktop.org/"
 license=('custom')
 makedepends=('python2' 'libxml2')
-source=(${url}/dist/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('e82418557c7f59f29da9ec18e0906d6d78e3a164')
+source=($url/dist/$pkgname-$pkgver.tar.bz2)
+sha1sums=('82a568559235fc6e26d0a38911c5ea18f8e8455c')
 
 build() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
+  cd "$srcdir/$pkgname-$pkgver"
+  PYTHON=/usr/bin/python2 ./configure --prefix=/usr
+  make
 }
+
 package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  cd "$srcdir/$pkgname-$pkgver"
+  make DESTDIR="$pkgdir" install
+  install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
+  install -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname"
 }
diff --git a/abs/core/xcmiscproto/PKGBUILD b/abs/core/xcmiscproto/PKGBUILD
index f7803b4..48eddf9 100644
--- a/abs/core/xcmiscproto/PKGBUILD
+++ b/abs/core/xcmiscproto/PKGBUILD
@@ -1,26 +1,25 @@
-# $Id: PKGBUILD 97539 2010-10-31 15:37:25Z jgc $
+# $Id: PKGBUILD 154142 2012-03-23 17:22:50Z andyrtr $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xcmiscproto
-pkgver=1.2.1
+pkgver=1.2.2
 pkgrel=1
 pkgdesc="X11 XC-Miscellaneous extension wire protocol"
-arch=(any)
+arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
 makedepends=('xorg-util-macros')
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('ff7ddb6e5698bf4461a524ca30f3b32e2a9dce8a')
+sha1sums=('59ae9ec6414964440bf654b207618e5dd66a32fb')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
-
diff --git a/abs/core/xextproto/PKGBUILD b/abs/core/xextproto/PKGBUILD
index 62cd13b..c7bdb79 100644
--- a/abs/core/xextproto/PKGBUILD
+++ b/abs/core/xextproto/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 87593 2010-08-17 07:49:50Z jgc $
+# $Id: PKGBUILD 154144 2012-03-23 17:24:05Z andyrtr $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xextproto
-pkgver=7.1.2
+pkgver=7.2.1
 pkgrel=1
 pkgdesc="X11 various extension wire protocol"
 arch=('any')
@@ -10,17 +10,16 @@ license=('custom')
 makedepends=('xmlto' 'xorg-util-macros' 'docbook-xsl')
 url="http://xorg.freedesktop.org/"
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('be6303a9449277af58f38e1be57e442d98f400fe')
+sha1sums=('f969e02009adf2d51fd1ba4583a859984728a461')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
+
 package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
-
diff --git a/abs/core/xf86-input-evdev/Fix_inverted_horizontal_scroll.diff b/abs/core/xf86-input-evdev/Fix_inverted_horizontal_scroll.diff
new file mode 100644
index 0000000..93c54d3
--- /dev/null
+++ b/abs/core/xf86-input-evdev/Fix_inverted_horizontal_scroll.diff
@@ -0,0 +1,27 @@
+From 99340147b9092a5aaec997eca407282a51e1f063 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 15 Mar 2012 05:46:32 +0000
+Subject: Fix inverted horizontal scroll (#46205)
+
+REL_HWHEEL has a positive increment, not a negative one like REL_WHEEL.
+
+X.Org Bug 46205 <http://bugs.freedesktop.org/show_bug.cgi?id=46205>
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+---
+diff --git a/src/evdev.c b/src/evdev.c
+index d540b87..8cf630c 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -1600,7 +1600,7 @@ EvdevAddRelValuatorClass(DeviceIntPtr device)
+         else if (axis == REL_DIAL)
+             SetScrollValuator(device, axnum, SCROLL_TYPE_VERTICAL, -1.0, SCROLL_FLAG_NONE);
+         else if (axis == REL_HWHEEL)
+-            SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, -1.0, SCROLL_FLAG_NONE);
++            SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, 1.0, SCROLL_FLAG_NONE);
+ #endif
+     }
+ 
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/core/xf86-input-evdev/PKGBUILD b/abs/core/xf86-input-evdev/PKGBUILD
index c6776bd..00cdc8b 100644
--- a/abs/core/xf86-input-evdev/PKGBUILD
+++ b/abs/core/xf86-input-evdev/PKGBUILD
@@ -1,24 +1,27 @@
-# $Id$
+# $Id: PKGBUILD 153700 2012-03-18 08:50:36Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Contributor: Alexander Baldeck <Alexander@archlinux.org
 
 pkgname=xf86-input-evdev
-pkgver=2.6.0
-pkgrel=4
+pkgver=2.7.0
+pkgrel=2
 pkgdesc="X.org evdev input driver"
 arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('glibc')
-makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+makedepends=('xorg-server-devel>=1.11.99.902')
+conflicts=('xorg-server<1.11.99.902')
 options=('!libtool' '!makeflags')
 groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('fb6f7a6f5168ae07efe890e4ace9fb8af1d4e1e0')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+        Fix_inverted_horizontal_scroll.diff)
+sha1sums=('f0cb2d8400c33e8e83b538b53512e77ba73367fa'
+          'e959e710d9a0c60a3af967148b9d5e014544993c')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i ${srcdir}/Fix_inverted_horizontal_scroll.diff
   ./configure --prefix=/usr
   make
 }
diff --git a/abs/core/xf86-video-vesa/PKGBUILD b/abs/core/xf86-video-vesa/PKGBUILD
index 0b5dbf3..565aeab 100644
--- a/abs/core/xf86-video-vesa/PKGBUILD
+++ b/abs/core/xf86-video-vesa/PKGBUILD
@@ -1,25 +1,32 @@
-# $Id: PKGBUILD 88551 2010-08-24 08:35:22Z jgc $
+# $Id: PKGBUILD 163838 2012-07-21 10:36:33Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xf86-video-vesa
-pkgver=2.3.0
-pkgrel=3
+pkgver=2.3.2
+pkgrel=1
 pkgdesc="X.org vesa video driver"
 arch=(i686 x86_64)
 license=('custom')
 url="http://xorg.freedesktop.org/"
 depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
-groups=('xorg' 'xorg-video-drivers')
+makedepends=('pkgconfig' 'xorg-server-devel>=1.11.99.903')
+conflicts=('xorg-server<1.11.99.903')
+groups=('xorg-drivers' 'xorg')
 options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('4689b7c295d7a8d7326302dafecb812739617134')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+        revert-kernelcheck.patch)
+sha256sums=('144a17ffae3c86603ddc4ae33521a52813498ee1f8213faa662dc4a8d6490ee3'
+            'ef591a342cea65f1b08e84771ae0de84395c98ac8a71739dbf5c0a7f7a36543c')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch"
   ./configure --prefix=/usr
   make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
   install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
   install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/abs/core/xf86-video-vesa/revert-kernelcheck.patch b/abs/core/xf86-video-vesa/revert-kernelcheck.patch
new file mode 100644
index 0000000..37418cc
--- /dev/null
+++ b/abs/core/xf86-video-vesa/revert-kernelcheck.patch
@@ -0,0 +1,31 @@
+From b1f7f190f9d4f2ab63d3e9ade3e7e04bb4b1f89f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 08 Dec 2010 18:45:32 +0000
+Subject: Refuse to load if there's a kernel driver bound to the device
+
+Ported from the equivalent check in nv.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/src/vesa.c b/src/vesa.c
+index 168fde1..2523d76 100644
+--- a/src/vesa.c
++++ b/src/vesa.c
+@@ -431,8 +431,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
+     pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, 
+ 				NULL, NULL, NULL, NULL, NULL);
+     if (pScrn != NULL) {
+-	VESAPtr pVesa = VESAGetRec(pScrn);
++	VESAPtr pVesa;
+ 
++	if (pci_device_has_kernel_driver(dev)) {
++	    ErrorF("vesa: Ignoring device with a bound kernel driver\n");
++	    return FALSE;
++	}
++
++	pVesa = VESAGetRec(pScrn);
+ 	VESAInitScrn(pScrn);
+ 	pVesa->pciInfo = dev;
+     }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/core/xf86dgaproto/PKGBUILD b/abs/core/xf86dgaproto/PKGBUILD
index ff665d0..fd610b7 100644
--- a/abs/core/xf86dgaproto/PKGBUILD
+++ b/abs/core/xf86dgaproto/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 56536 2009-10-22 16:45:57Z jgc $
+# $Id: PKGBUILD 141646 2011-11-01 09:52:46Z pierre $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Contributor: Alexander Baldeck <alexander@archlinux.org>
 
 pkgname=xf86dgaproto
 pkgver=2.1
-pkgrel=1
+pkgrel=2
 pkgdesc="X11 Direct Graphics Access extension wire protocol"
-arch=(any)
+arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+source=("${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2")
 md5sums=('a036dc2fcbf052ec10621fd48b68dbb1')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
 
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}" || return 1
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xf86driproto/LICENSE b/abs/core/xf86driproto/LICENSE
deleted file mode 100644
index 07a911b..0000000
--- a/abs/core/xf86driproto/LICENSE
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-
-
-/**************************************************************************
-
-Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
-Copyright 2000 VA Linux Systems, Inc.
-All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sub license, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice (including the
-next paragraph) shall be included in all copies or substantial portions
-of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
-IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
-ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-**************************************************************************/
diff --git a/abs/core/xf86driproto/PKGBUILD b/abs/core/xf86driproto/PKGBUILD
index 197c37f..860e1e7 100644
--- a/abs/core/xf86driproto/PKGBUILD
+++ b/abs/core/xf86driproto/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 50995 2009-09-04 12:48:43Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 151192 2012-02-25 07:11:08Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
 pkgname=xf86driproto
-pkgver=2.1.0
-pkgrel=1
+pkgver=2.1.1
+pkgrel=2
 pkgdesc="X11 DRI extension wire protocol"
-arch=(any)
+arch=('any')
+makedepends=('xorg-util-macros')
 url="http://xorg.freedesktop.org/"
 license=('custom')
-source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2
-        LICENSE)
-sha1sums=('0dfc6616ffc68ca3c3b5decb1e365aaa93be8548'
-          '32bab65dd9c0b49333146abf16602967041b0d92')
+source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('23e861f40ba0f0cbbfd7db7ba2ef623762ffca17')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xf86vidmodeproto/PKGBUILD b/abs/core/xf86vidmodeproto/PKGBUILD
index c2e310e..19230e6 100644
--- a/abs/core/xf86vidmodeproto/PKGBUILD
+++ b/abs/core/xf86vidmodeproto/PKGBUILD
@@ -1,21 +1,25 @@
-# $Id: PKGBUILD 56538 2009-10-22 16:47:03Z jgc $
+# $Id: PKGBUILD 151190 2012-02-25 07:08:10Z allan $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xf86vidmodeproto
-pkgver=2.3
-pkgrel=1
+pkgver=2.3.1
+pkgrel=2
 pkgdesc="X11 Video Mode extension wire protocol"
-arch=(any)
+arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
+makedepends=('xorg-util-macros')
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('4434894fc7d4eeb4a22e6b876d56fdaa')
+sha1sums=('11d54c3210887631ea71e8f8030a77692e964fc4')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xfsprogs/PKGBUILD b/abs/core/xfsprogs/PKGBUILD
index 8d2e53b..0f28ad9 100644
--- a/abs/core/xfsprogs/PKGBUILD
+++ b/abs/core/xfsprogs/PKGBUILD
@@ -1,23 +1,24 @@
-# $Id$
-# Maintainer: Paul Mattal <paul@archlinux.org>
+# $Id: PKGBUILD 158617 2012-05-05 03:17:20Z dreisner $
+#
 pkgname=xfsprogs
-pkgver=3.1.5
-pkgrel=1
+pkgver=3.1.8
+pkgrel=2
 pkgdesc="XFS filesystem utilities"
 arch=('i686' 'x86_64')
 license=('LGPL')
 url="http://oss.sgi.com/projects/xfs/"
 groups=('base')
-depends=('util-linux-ng>=2.16')
+depends=('util-linux')
 options=('!makeflags' '!libtool')
 # We mirror the sources as upstream tends to move them once a new release is out
 source=("ftp://ftp.archlinux.org/other/xfsprogs/${pkgname}-${pkgver}.tar.gz")
-md5sums=('b1db37749e2b4149a0dd178abff956be')
+md5sums=('f70b2e7200d4c29f0af1cf70e7be1db6')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   export OPTIMIZER="-march=${CARCH/_/-} -O1"
   export DEBUG=-DNDEBUG
+  ./configure --prefix=/usr
   make
 }
 
@@ -26,4 +27,7 @@ package() {
   make DIST_ROOT="${pkgdir}" install install-dev
   chown -R root $pkgdir
   chgrp -R root $pkgdir
+  # add hack as we cannot set rootlibdir
+  mv "${pkgdir}"/lib/libhandle.so* "${pkgdir}/usr/lib/"
+  rm -rf "${pkgdir}/lib"
 }
diff --git a/abs/core/xineramaproto/PKGBUILD b/abs/core/xineramaproto/PKGBUILD
index 2ce1b5d..68c7965 100644
--- a/abs/core/xineramaproto/PKGBUILD
+++ b/abs/core/xineramaproto/PKGBUILD
@@ -1,21 +1,25 @@
-# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# $Id: PKGBUILD 151186 2012-02-25 07:05:52Z allan $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xineramaproto
-pkgver=1.2
-pkgrel=1
+pkgver=1.2.1
+pkgrel=2
 pkgdesc="X11 Xinerama extension wire protocol"
-arch=(i686 x86_64)
+arch=('any')
 url="http://xorg.freedesktop.org/"
+license=('custom')
+makedepends=('xorg-util-macros')
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('818bffc16139d6e3de4344c83f00c495d3536753')
 
 build() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
+  cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
+
 package() {
-  cd ${startdir}/src/${pkgname}-${pkgver}
-  make DESTDIR=${startdir}/pkg install || return 1
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
-md5sums=('a8aadcb281b9c11a91303e24cdea45f5')
diff --git a/abs/core/xkeyboard-config/PKGBUILD b/abs/core/xkeyboard-config/PKGBUILD
index b9a9fb2..a0a0f80 100644
--- a/abs/core/xkeyboard-config/PKGBUILD
+++ b/abs/core/xkeyboard-config/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 94925 2010-10-12 14:48:05Z jgc $
+# $Id: PKGBUILD 160209 2012-05-30 19:44:57Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
+
 pkgname=xkeyboard-config
-pkgver=2.0
+pkgver=2.6
 pkgrel=1
 pkgdesc="X keyboard configuration files"
 arch=(any)
 license=('custom')
 url="http://www.freedesktop.org/wiki/Software/XKeyboardConfig"
-depends=('xorg-xkb-utils')
-makedepends=('intltool' 'pkgconfig')
+depends=('xorg-xkbcomp')
+makedepends=('intltool')
 provides=('xkbdata')
 replaces=('xkbdata')
 conflicts=('xkbdata')
-source=(http://people.freedesktop.org/~svu/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('bb8a98ee61cdc4bd835fdfd2b5cee3e6')
+source=(http://xorg.freedesktop.org/archive/individual/data/${pkgname}/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('22a1594116bf0ee3165f48487bdca4e5f25b2a1436e35e188b3ee38c543dabda')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
@@ -22,13 +23,13 @@ build() {
       --with-xkb-rules-symlink=xorg \
       --enable-compat-rules=yes
   make
-}
-package() {
-  cd "${srcdir}/${pkgname}-${pkgver}"
+ }
+ 
+ package() { 
+   cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install
   rm -f "${pkgdir}/usr/share/X11/xkb/compiled"
   install -m755 -d "${pkgdir}/var/lib/xkb"
   install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
   install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
 }
-
diff --git a/abs/core/xorg-bdftopcf/PKGBUILD b/abs/core/xorg-bdftopcf/PKGBUILD
new file mode 100644
index 0000000..af1cc4e
--- /dev/null
+++ b/abs/core/xorg-bdftopcf/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 150979 2012-02-24 12:29:18Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-bdftopcf
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Convert X font from Bitmap Distribution Format to Portable Compiled Format"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxfont')
+makedepends=('xorg-util-macros' 'xproto')
+groups=('xorg' 'xorg-apps')
+source=(http://xorg.freedesktop.org/archive/individual/app/bdftopcf-${pkgver}.tar.bz2)
+sha1sums=('146b4ece2867479045c3b4593b22c9f1d21da14a')
+
+build() {
+  cd "${srcdir}/bdftopcf-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/bdftopcf-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-docs/PKGBUILD b/abs/core/xorg-docs/PKGBUILD
new file mode 100644
index 0000000..94c8fc5
--- /dev/null
+++ b/abs/core/xorg-docs/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 160907 2012-06-06 16:56:36Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-docs
+pkgver=1.7
+pkgrel=1
+pkgdesc="X.org documentations"
+arch=(any)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('man-db')
+groups=('xorg')
+source=(${url}/archive/individual/doc/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('b9b1918bd365e9eb29c325e76bb8c4d774d37be707e433fb0af94da35683375f')
+
+build() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  cd "${pkgdir}/usr/share/licenses/${pkgname}"
+  ln -vsf /usr/share/doc/xorg-docs/License.xml .
+}
diff --git a/abs/core/xorg-font-util/PKGBUILD b/abs/core/xorg-font-util/PKGBUILD
new file mode 100644
index 0000000..2589f10
--- /dev/null
+++ b/abs/core/xorg-font-util/PKGBUILD
@@ -0,0 +1,37 @@
+# $Id: PKGBUILD 151743 2012-03-01 23:01:51Z bisson $
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=xorg-font-util
+pkgver=1.3.0
+pkgrel=1
+pkgdesc='X.Org font utilities'
+url='http://xorg.freedesktop.org/'
+arch=('i686' 'x86_64')
+license=('custom')
+makedepends=('xorg-util-macros')
+source=("${url}/releases/individual/font/font-util-${pkgver}.tar.bz2")
+sha1sums=('a015f4c5a35d98af72835797293697e0eb9cd506')
+
+replaces=('font-util')
+provides=('font-util')
+conflicts=('font-util')
+groups=('xorg-fonts' 'xorg')
+
+build() {
+	cd "${srcdir}/font-util-${pkgver}"
+
+	./configure \
+		--prefix=/usr \
+		--mandir=/usr/share/man \
+		--with-mapdir=/usr/share/fonts/util \
+		--with-fontrootdir=/usr/share/fonts \
+
+	make
+}
+
+package() {
+	cd "${srcdir}/font-util-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-font-utils/PKGBUILD b/abs/core/xorg-font-utils/PKGBUILD
index 6fbb899..e646d3e 100644
--- a/abs/core/xorg-font-utils/PKGBUILD
+++ b/abs/core/xorg-font-utils/PKGBUILD
@@ -1,58 +1,12 @@
-# $Id: PKGBUILD 57485 2009-10-31 18:25:03Z jgc $
+# $Id: PKGBUILD 150983 2012-02-24 12:38:10Z allan $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-font-utils
-pkgver=7.5
+pkgver=7.6
 pkgrel=3
-pkgdesc="X.Org font utilities"
-arch=('i686' 'x86_64')
+pkgdesc="Transitional package depending on xorg font utilities"
+arch=(any)
 url="http://xorg.freedesktop.org/"
-license=('custom')
-depends=('gcc-libs' 'sh' 'libxfont>=1.4.1' 'libfontenc>=1.0.5' 'xproto>=7.0.16')
-makedepends=('pkgconfig' 'bigreqsproto>=1.1.0')
-replaces=('font-util')
-provides=('font-util')
-conflicts=('font-util')
-install=xorg-font-utils.install
-source=(${url}/releases/individual/app/bdftopcf-1.0.2.tar.bz2
-        ${url}/releases/individual/app/fonttosfnt-1.0.4.tar.bz2
-        ${url}/releases/individual/app/mkfontdir-1.0.5.tar.bz2
-        ${url}/releases/individual/app/mkfontscale-1.0.7.tar.bz2
-        ${url}/releases/individual/font/font-util-1.1.1.tar.bz2
-        http://people.redhat.com/yshao/ttmkfdir2.20021109.tar.bz2
-        ttmkfdir.patch
-        gcc-4.3.patch)
-md5sums=('148f20d28caaa69bbe7dcca7c2674fb6'
-         '07607b26fce3bdc2b204ff3bc43d3ac3'
-         '9365ac66d19186eaf030482d312fca06'
-         '96ca346f185c0ab48e42bf5bb0375da5'
-         '5c735ae6916b65186f3c876d76c27ce3'
-         '79e0401393c9728865aa73bb2bd68dd4'
-         '099278628ad63631e872bc5590bade74'
-         '92ef5f77a467cc188f8dec87b0fdb664')
-
-build() {
-  cd "${srcdir}"
-
-  for i in *; do
-    if [ -d "${i}" ]; then
-      pushd "${i}"
-      if [ "${i}" = "ttmkfdir2" ]; then
-        patch -Np0 -i "${srcdir}/ttmkfdir.patch" || return 1
-        patch -Np1 -i "${srcdir}/gcc-4.3.patch" || return 1
-        make || return 1
-        install -m755 -d "${pkgdir}/usr/bin"
-        install -m755 ttmkfdir "${pkgdir}/usr/bin/" || return 1
-        install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-        echo "Unknown license" > "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.ttmkfdir2" || return 1
-	    else
-        ./configure --prefix=/usr --mandir=/usr/share/man \
-            --with-mapdir=/usr/share/fonts/util --with-fontrootdir=/usr/share/fonts || return 1
-        make || return 1
-        make DESTDIR="${pkgdir}" install || return 1
-        install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.${i%-*} || return 1
-      fi
-      popd
-    fi
-  done
-}
+license=('GPL')
+depends=('xorg-bdftopcf' 'xorg-mkfontdir' 'xorg-mkfontscale' 'xorg-font-util')
+md5sums=()
diff --git a/abs/core/xorg-font-utils/gcc-4.3.patch b/abs/core/xorg-font-utils/gcc-4.3.patch
deleted file mode 100644
index 817df3a..0000000
--- a/abs/core/xorg-font-utils/gcc-4.3.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- ttmkfdir2/directory.cpp.orig	2008-12-05 10:45:28.000000000 +0100
-+++ ttmkfdir2/directory.cpp	2008-12-05 10:45:38.000000000 +0100
-@@ -1,4 +1,5 @@
- #include <cctype>
-+#include <cstring>
- #include <dirent.h>
- #include <sys/stat.h>
- #include <unistd.h>
diff --git a/abs/core/xorg-font-utils/ttmkfdir.patch b/abs/core/xorg-font-utils/ttmkfdir.patch
deleted file mode 100644
index 983c18b..0000000
--- a/abs/core/xorg-font-utils/ttmkfdir.patch
+++ /dev/null
@@ -1,86 +0,0 @@
---- encoding.cpp.orig	Tue Mar 12 15:40:09 2002
-+++ encoding.cpp	Sun Mar 21 22:33:00 2004
-@@ -2,7 +2,7 @@
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
--#include "freetype/freetype.h"
-+#include <ft2build.h>
- 
- #include "ttmkfdir.h"
- #include "encoding.h"
-
---- encoding.h.orig	Tue Mar 12 15:41:27 2002
-+++ encoding.h	Sun Mar 21 22:35:15 2004
-@@ -6,7 +6,8 @@
- #include <map>
- #include <string>
- 
--#include "freetype/freetype.h"
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
- 
- #include "util.h"
- 
---- ttf.h.orig	Wed Mar 13 19:16:38 2002
-+++ ttf.h	Sun Mar 21 22:30:16 2004
-@@ -3,15 +3,18 @@
- #define TTF_H__
- 
- #include <string>
--#include "freetype/freetype.h"
--#include "freetype/tttables.h"
--#include "freetype/ftsnames.h"
--#include "freetype/ttnameid.h"
--#include "freetype/fterrors.h"
--#include "freetype/ftmodule.h"
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+#include FT_TRUETYPE_TABLES_H
-+#include FT_SFNT_NAMES_H
-+#include FT_TRUETYPE_IDS_H
-+#include FT_ERRORS_H
-+#include FT_MODULE_H
- 
- #include "util.h"
- #include "encoding.h"
-+
-+using namespace std;
- 
- namespace ttf {
- 
---- Makefile.orig	Thu Mar 14 14:03:49 2002
-+++ Makefile	Sun Jan 22 20:15:17 2006
-@@ -1,10 +1,7 @@
--FREETYPE_BASE=/usr/include/freetype2
--FREETYPE_INCL=-I$(FREETYPE_BASE)/.
--FREETYPE_LIB=/usr/lib/libfreetype.so
--
--DEBUG=-ggdb
--CXX=g++
--CXXFLAGS=-Wall -pedantic $(FREETYPE_INCL) $(DEBUG)
-+FREETYPE_INCL=`freetype-config --cflags`
-+FREETYPE_LIB=`freetype-config --libs`
- 
--LDFLAGS=$(FREETYPE_LIB) $(DEBUG)
-+CXXFLAGS+=$(FREETYPE_INCL)
-+
-+LDFLAGS+=$(FREETYPE_LIB)
- 
-@@ -21,3 +18,3 @@
- parser.cpp: encoding.l
--	    flex -i -8 -o$@ $<
-+	    lex -i -8 -o$@ $<
- 
---- ttf.cpp.orig	2002-11-07 06:30:04.000000000 +0100
-+++ ttf.cpp
-@@ -226,7 +226,7 @@ Face::FontFamilyName (void) const
- 	for (i = 0; i < n; i++) {
- 	    if ((fterror = FT_Get_Sfnt_Name (face, i, &NamePtr)) != FT_Err_Ok) {
-                     std::cout << "Warning: Can't SFNT name : " << FileName << "(" << fterror << ")" << std::endl;
--	            return;
-+	            return "unknown";
-             };
-             platform = NamePtr.platform_id;
-             encoding = NamePtr.encoding_id;
-
diff --git a/abs/core/xorg-font-utils/xorg-font-utils.install b/abs/core/xorg-font-utils/xorg-font-utils.install
deleted file mode 100644
index 067a3a2..0000000
--- a/abs/core/xorg-font-utils/xorg-font-utils.install
+++ /dev/null
@@ -1,3 +0,0 @@
-post_install() {
-  ldconfig -r .
-}
diff --git a/abs/core/xorg-fonts-100dpi/PKGBUILD b/abs/core/xorg-fonts-100dpi/PKGBUILD
index 514311a..aae5499 100644
--- a/abs/core/xorg-fonts-100dpi/PKGBUILD
+++ b/abs/core/xorg-fonts-100dpi/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 71678 2010-03-08 11:58:02Z jgc $
+# $Id: PKGBUILD 150386 2012-02-17 11:05:50Z allan $
 # Maintainer: Alexander Baldeck <alexander@archlinux.org>
 # Contributor: Jan de Groot <jgc@archlinux.org>
 pkgname=xorg-fonts-100dpi
 pkgver=1.0.1
 pkgrel=4
 pkgdesc="X.org 100dpi fonts"
-arch=(any)
+arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('xorg-fonts-encodings' 'xorg-fonts-alias' 'xorg-font-utils' 'fontconfig')
@@ -24,20 +24,27 @@ md5sums=('c754c3f4a5e08442bf6972b9466625ed'
 
 build() {
   cd "${srcdir}"
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-
   for dir in font-*-100dpi*; do
     if [ -d "${dir}" ]; then
       pushd ${dir}
       ./configure --prefix=/usr \
           --with-fontdir=/usr/share/fonts/100dpi
-      make || return 1
-      make DESTDIR="${pkgdir}" install || return 1
-  
-      install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-100dpi-*}" || return 1
+      make
       popd
     fi
   done
-  rm -f "${pkgdir}"/usr/share/fonts/100dpi/fonts.*
 }
 
+package() {
+  cd "${srcdir}"
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  for dir in font-*-100dpi*; do
+    if [ -d "${dir}" ]; then
+      pushd ${dir}
+      make DESTDIR="${pkgdir}" install
+      install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-100dpi-*}"
+      popd
+    fi
+  done
+  rm -f "${pkgdir}"/usr/share/fonts/100dpi/fonts.*
+}
diff --git a/abs/core/xorg-fonts-100dpi/xfonts.install b/abs/core/xorg-fonts-100dpi/xfonts.install
index 9400b64..5c5e8a2 100644
--- a/abs/core/xorg-fonts-100dpi/xfonts.install
+++ b/abs/core/xorg-fonts-100dpi/xfonts.install
@@ -13,8 +13,3 @@ post_upgrade() {
 post_remove() {
   post_install $1
 }
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/xorg-fonts-alias/LICENSE b/abs/core/xorg-fonts-alias/LICENSE
index 76947d1..3c83d9f 100644
--- a/abs/core/xorg-fonts-alias/LICENSE
+++ b/abs/core/xorg-fonts-alias/LICENSE
@@ -46,4 +46,3 @@ from the XFree86 Project.
   OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
   NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
   CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
diff --git a/abs/core/xorg-fonts-alias/PKGBUILD b/abs/core/xorg-fonts-alias/PKGBUILD
index fcc64d2..40f3ee5 100644
--- a/abs/core/xorg-fonts-alias/PKGBUILD
+++ b/abs/core/xorg-fonts-alias/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 57479 2009-10-31 18:08:56Z jgc $
+# $Id: PKGBUILD 141648 2011-11-01 09:57:08Z pierre $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-fonts-alias
@@ -8,19 +8,19 @@ pkgdesc="X.org font alias files"
 arch=('any')
 url="http://xorg.freedesktop.org/"
 license=('custom')
-source=(${url}/releases/individual/font/font-alias-${pkgver}.tar.bz2 LICENSE)
+source=("${url}/releases/individual/font/font-alias-${pkgver}.tar.bz2"
+        'LICENSE')
+md5sums=('9d40dba6fb8cb58dacb433fc7bcaafca'
+         'ff91ae6d96d76130482d04653e7a836a')
 
 build() {
   cd "${srcdir}/font-alias-${pkgver}"
-  ./configure --prefix=/usr --with-fontrootdir=/usr/share/fonts || return 1
-  make || return 1
+  ./configure --prefix=/usr --with-fontrootdir=/usr/share/fonts
+  make
 }
+
 package() {
   cd "${srcdir}/font-alias-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }
-
-md5sums=('9d40dba6fb8cb58dacb433fc7bcaafca'
-         '8a4f7b210c3cf793f7b6de272f7b70d9')
diff --git a/abs/core/xorg-fonts-encodings/PKGBUILD b/abs/core/xorg-fonts-encodings/PKGBUILD
index c465a74..992e3ac 100644
--- a/abs/core/xorg-fonts-encodings/PKGBUILD
+++ b/abs/core/xorg-fonts-encodings/PKGBUILD
@@ -1,27 +1,33 @@
-# $Id: PKGBUILD 57486 2009-10-31 18:28:17Z jgc $
+# $Id: PKGBUILD 152267 2012-03-06 08:39:49Z allan $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-fonts-encodings
-pkgver=1.0.3
-pkgrel=2
+pkgver=1.0.4
+pkgrel=3
 pkgdesc="X.org font encoding files"
 arch=(any)
 url="http://xorg.freedesktop.org/"
 license=('custom')
-depends=('xorg-font-utils')
-install=xorg-fonts-encodings.install
+makedepends=('xorg-mkfontscale' 'xorg-util-macros' 'xorg-font-util')
+groups=('xorg-fonts' 'xorg')
+options=(!makeflags)
 source=(${url}/releases/individual/font/encodings-${pkgver}.tar.bz2)
-md5sums=('29637480e7ce12546668631067c19ced')
+sha1sums=('24ace2470403f85a0d393769204029bd8247992a')
 
 build() {
   cd "${srcdir}/encodings-${pkgver}"
-  ./configure --prefix=/usr \
-      --with-encodingsdir=/usr/share/fonts/encodings || return 1
-  make || return 1
+  ./configure --prefix=/usr
+  make
 }
+
 package() {
   cd "${srcdir}/encodings-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+
+  # regenerate encodngs file not to include non-compressed versions
+  cd $pkgdir/usr/share/fonts/encodings/large
+  mkfontscale -b -s -l -n -r -p /usr/share/fonts/encodings/large -e . .
+  cd $pkgdir/usr/share/fonts/encodings/
+  mkfontscale -b -s -l -n -r -p /usr/share/fonts/encodings -e . -e large .
 }
diff --git a/abs/core/xorg-fonts-encodings/xorg-fonts-encodings.install b/abs/core/xorg-fonts-encodings/xorg-fonts-encodings.install
deleted file mode 100644
index 37eac40..0000000
--- a/abs/core/xorg-fonts-encodings/xorg-fonts-encodings.install
+++ /dev/null
@@ -1,16 +0,0 @@
-# arg 1:  the new package version
-post_install() {
-  echo -n "Regenerating font encodings... "
-  pushd usr/share/fonts/encodings &>/dev/null
-  mkfontscale -n -e "/usr/share/fonts/encodings" -e "/usr/share/fonts/encodings/large"
-  popd &>/dev/null
-  echo "done."
-}
-
-post_upgrade() {
-  post_install
-}
-
-op=$1
-shift
-$op $*
diff --git a/abs/core/xorg-fonts-misc/PKGBUILD b/abs/core/xorg-fonts-misc/PKGBUILD
index 61a4a85..ad87867 100644
--- a/abs/core/xorg-fonts-misc/PKGBUILD
+++ b/abs/core/xorg-fonts-misc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 71692 2010-03-08 13:10:38Z jgc $
+# $Id: PKGBUILD 150380 2012-02-17 10:25:47Z allan $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-fonts-misc
@@ -37,17 +37,27 @@ md5sums=('817ceb99636c873ad7679fe2a468678d'
 
 build() {
   cd "${srcdir}"
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
   for dir in *; do
     if [ -d "${dir}" ]; then
       pushd "${dir}"
       ./configure --prefix=/usr \
-                      --with-fontdir=/usr/share/fonts/misc || return 1
-      make || return 1
-      make DESTDIR="${pkgdir}" install || return 1
+          --with-fontdir=/usr/share/fonts/misc
+      make
+      popd
+    fi
+  done
+}
+
+package() {
+  cd "${srcdir}"
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  for dir in *; do
+    if [ -d "${dir}" ]; then
+      pushd "${dir}"
+      make DESTDIR="${pkgdir}" install
       install -m644 COPYING ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${dir%-*}
       popd
     fi
   done
   rm -f ${pkgdir}/usr/share/fonts/*/fonts.*
-}
+}
\ No newline at end of file
diff --git a/abs/core/xorg-fonts-misc/xfonts.install b/abs/core/xorg-fonts-misc/xfonts.install
index 6b5cf74..7d21ab5 100644
--- a/abs/core/xorg-fonts-misc/xfonts.install
+++ b/abs/core/xorg-fonts-misc/xfonts.install
@@ -13,8 +13,3 @@ post_upgrade() {
 post_remove() {
   post_install $1
 }
-
-op=$1
-shift
-
-$op $*
diff --git a/abs/core/xorg-iceauth/PKGBUILD b/abs/core/xorg-iceauth/PKGBUILD
new file mode 100644
index 0000000..9063e3a
--- /dev/null
+++ b/abs/core/xorg-iceauth/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 125572 2011-05-26 20:17:22Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-iceauth
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="ICE authority file utility"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libice')
+makedepends=('xorg-util-macros' 'xproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/iceauth-${pkgver}.tar.bz2)
+sha1sums=('d996c6ecaa93dcaccee4a11991eeacd40bddc13e')
+
+build() {
+  cd "${srcdir}/iceauth-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/iceauth-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-luit/PKGBUILD b/abs/core/xorg-luit/PKGBUILD
index 69b019b..16f9ceb 100644
--- a/abs/core/xorg-luit/PKGBUILD
+++ b/abs/core/xorg-luit/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: $
+# $Id: PKGBUILD 154146 2012-03-23 17:27:51Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-luit
-pkgver=1.1.0
-pkgrel=2
-pkgdesc="Filter that can be run between an arbitrary application and UTF-8 terminal emulator"
-arch=('i686' 'x86_64')
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="Filter that can be run between an arbitrary application and a UTF-8 terminal emulator"
+arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libfontenc')
+groups=('xorg' 'xorg-apps')
 makedepends=('xorg-util-macros')
 source=(http://xorg.freedesktop.org/archive/individual/app/luit-${pkgver}.tar.bz2)
-sha1sums=('fa974b417f6b65c241398d8d011207c6facb0766')
+sha1sums=('3130c14d7267cecce0ba2280643844b48cca49b0')
 
 build() {
   cd "${srcdir}/luit-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/luit-${pkgver}"
   make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xorg-mkfontdir/PKGBUILD b/abs/core/xorg-mkfontdir/PKGBUILD
new file mode 100644
index 0000000..2089bd9
--- /dev/null
+++ b/abs/core/xorg-mkfontdir/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 149832 2012-02-11 10:00:49Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-mkfontdir
+pkgver=1.0.7
+pkgrel=1
+pkgdesc="Create an index of X font files in a directory"
+arch=(any)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('sh' 'xorg-mkfontscale')
+makedepends=('xorg-util-macros')
+groups=('xorg' 'xorg-apps')
+source=(http://xorg.freedesktop.org/archive/individual/app/mkfontdir-${pkgver}.tar.bz2)
+sha1sums=('3c06dad8a5fbf7362b51fb7d6b1ab805eba40336')
+
+build() {
+  cd "${srcdir}/mkfontdir-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/mkfontdir-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-mkfontscale/PKGBUILD b/abs/core/xorg-mkfontscale/PKGBUILD
new file mode 100644
index 0000000..089af1e
--- /dev/null
+++ b/abs/core/xorg-mkfontscale/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 149834 2012-02-11 10:04:54Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-mkfontscale
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="Create an index of scalable font files for X"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('freetype2' 'libfontenc')
+makedepends=('xorg-util-macros' 'xproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/mkfontscale-${pkgver}.tar.bz2)
+sha1sums=('ba021369ae3b364ba083b9eb5e570e54b21fd583')
+
+build() {
+  cd "${srcdir}/mkfontscale-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/mkfontscale-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-server/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff b/abs/core/xorg-server/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff
new file mode 100644
index 0000000..12c1101
--- /dev/null
+++ b/abs/core/xorg-server/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff
@@ -0,0 +1,116 @@
+--- xorg-server-1.12.1/exa/exa_glyphs.c	2012-03-30 04:57:25.000000000 +0200
++++ xorg-server-1.12.1/exa_glyphs.c.new	2012-04-15 11:48:51.683214230 +0200
+@@ -686,6 +686,7 @@
+     PixmapPtr pMaskPixmap = 0;
+     PicturePtr pMask = NULL;
+     ScreenPtr pScreen = pDst->pDrawable->pScreen;
++    ExaScreenPriv(pScreen);
+     int width = 0, height = 0;
+     int x, y;
+     int first_xOff = list->xOff, first_yOff = list->yOff;
+@@ -697,7 +698,6 @@
+     ExaGlyphBuffer buffer;
+ 
+     if (maskFormat) {
+-        ExaScreenPriv(pScreen);
+         GCPtr pGC;
+         xRectangle rect;
+ 
+@@ -719,22 +719,20 @@
+                                                 maskFormat->depth,
+                                                 CREATE_PIXMAP_USAGE_SCRATCH);
+         if (!pMaskPixmap)
+-            return;
++	    goto fallback;
+         component_alpha = NeedsComponent(maskFormat->format);
+         pMask = CreatePicture(0, &pMaskPixmap->drawable,
+                               maskFormat, CPComponentAlpha, &component_alpha,
+                               serverClient, &error);
+-        if (!pMask ||
+-            (!component_alpha && pExaScr->info->CheckComposite &&
+-             !(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask)))
++        (*pScreen->DestroyPixmap) (pMaskPixmap);
++	if (!pMask)
++	    goto fallback;
++
++	if (!component_alpha && pExaScr->info->CheckComposite &&
++	    !(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask))
+         {
+             PictFormatPtr argbFormat;
+ 
+-            (*pScreen->DestroyPixmap) (pMaskPixmap);
+-
+-            if (!pMask)
+-                return;
+-
+             /* The driver can't seem to composite to a8, let's try argb (but
+              * without component-alpha) */
+             FreePicture((pointer) pMask, (XID) 0);
+@@ -748,15 +746,25 @@
+                                                     maskFormat->depth,
+                                                     CREATE_PIXMAP_USAGE_SCRATCH);
+             if (!pMaskPixmap)
+-                return;
++	    goto fallback;
+ 
+             pMask = CreatePicture(0, &pMaskPixmap->drawable, maskFormat, 0, 0,
+                                   serverClient, &error);
+-            if (!pMask) {
+-                (*pScreen->DestroyPixmap) (pMaskPixmap);
+-                return;
+-            }
++            (*pScreen->DestroyPixmap) (pMaskPixmap);
++	    if (!pMask)
++	    goto fallback;
+         }
++	  
++	if (pExaScr->info->CheckComposite &&
++	    (!(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask) ||
++	     (!(*pExaScr->info->CheckComposite) (op, pSrc, pMask, pDst) &&
++	      (op != PictOpOver ||
++	       !(*pExaScr->info->CheckComposite) (PictOpOutReverse, pSrc, pMask, pDst) ||
++	       !(*pExaScr->info->CheckComposite) (PictOpOver, pSrc, pMask, pDst))))) {
++	    FreePicture ((pointer) pMask, (XID) 0);
++	    goto fallback;
++	}
++
+         pGC = GetScratchGC(pMaskPixmap->drawable.depth, pScreen);
+         ValidateGC(&pMaskPixmap->drawable, pGC);
+         rect.x = 0;
+@@ -769,6 +777,13 @@
+         y = -extents.y1;
+     }
+     else {
++    	if (pExaScr->info->CheckComposite &&
++	    !(*pExaScr->info->CheckComposite) (op, pSrc, NULL, pDst) &&
++	    (op != PictOpOver ||
++	     !(*pExaScr->info->CheckComposite) (PictOpOutReverse, pSrc, NULL, pDst) ||
++	     !(*pExaScr->info->CheckComposite) (PictOpOver, pSrc, NULL, pDst)))
++	    goto fallback;
++
+         x = 0;
+         y = 0;
+     }
+@@ -834,6 +849,10 @@
+                          xSrc + x - first_xOff,
+                          ySrc + y - first_yOff, 0, 0, x, y, width, height);
+         FreePicture((pointer) pMask, (XID) 0);
+-        (*pScreen->DestroyPixmap) (pMaskPixmap);
+     }
++    
++    return;
++
++fallback:
++    ExaCheckGlyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs);
+ }
+--- xorg-server-1.12.1/exa/exa_render.c	2012-03-30 04:57:25.000000000 +0200
++++ xorg-server-1.12.1/exa_render.c.new	2012-04-15 11:50:35.272482047 +0200
+@@ -878,7 +878,7 @@
+     Bool saveMaskRepeat = pMask ? pMask->repeat : 0;
+     RegionRec region;
+ 
+-    if (pExaScr->swappedOut)
++    if (pExaScr->fallback_counter || pExaScr->swappedOut)
+         goto fallback;
+ 
+     /* Remove repeat in source if useless */
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 91144d8..747eeca 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -1,33 +1,51 @@
-# $Id: PKGBUILD 97822 2010-11-01 22:35:02Z jgc $
+# $Id: PKGBUILD 163203 2012-07-09 16:05:50Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgbase=xorg-server
 pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.9.2
+pkgver=1.12.3
 pkgrel=1
 arch=('i686' 'x86_64')
 license=('custom')
 url="http://xorg.freedesktop.org"
-makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres')
+makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto'
+             'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess'
+             'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp' 'xorg-util-macros'
+             'xorg-font-util' 'glproto' 'dri2proto' 'udev>=183' 'libgcrypt')
 options=('!libtool')
 source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
-        xorg-redhat-die-ugly-pattern-die-die-die.patch
+        autoconfig-nvidia.patch
+        autoconfig-sis.patch
+        #EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff
+        #git-fixes.patch
         xvfb-run
         xvfb-run.1
-        10-quirks.conf crash.patch)
-md5sums=('5c8773499a6a8c1ddaedf33577ec9634'
-         '1a336eb22e27cbf443ec5a2ecddfa93c'
-         '52fd3effd80d7bc6c1660d4ecf23d31c'
-         '376c70308715cd2643f7bff936d9934b'
-         'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
+        10-quirks.conf)
+sha256sums=('3654b613393734ce0c7c23e81ca4ceb6e8afefb5f0649233ffd105c1220544fe'
+            '66e25f76a7496c429e0aff4b0670f168719bb0ceaeb88c6f2272f2bf3ed21162'
+            'd027776fac1f7675b0a9ee817502290b1c45f9c09b0f0a6bb058c35f92361e84'
+            'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
+            '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
+            '94612f5c0d34a3b7152915c2e285c7b462e9d8e38d3539bd551a339498eac166')
 
 build() {
   cd "${srcdir}/${pkgbase}-${pkgver}"
 
-  # Get rid of the ugly pattern
-  patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
-  patch -Np1 -i "${srcdir}/crash.patch"
+  # Use nouveau/nv/nvidia drivers for nvidia devices
+  patch -Np1 -i "${srcdir}/autoconfig-nvidia.patch"
 
+  # Use unofficial imedia SiS driver for supported SiS devices
+  patch -Np0 -i "${srcdir}/autoconfig-sis.patch"
+
+  # fix glitches and crashes with EXA and cairo 1.12
+  # taken from https://bugs.freedesktop.org/show_bug.cgi?id=47266
+  # and reworked for 1.12.1 changes
+#  patch -Np1 -i ${srcdir}/EXA_Fall_back_earlier_and_more_thoroughly_from_exaGlyphsV2.diff
+
+  # Add post-release patches from 1.12 branch
+#  patch -Np1 -i ${srcdir}/git-fixes.patch
+
+  autoreconf -fi
   ./configure --prefix=/usr \
       --enable-ipv6 \
       --enable-dri \
@@ -40,6 +58,9 @@ build() {
       --enable-xephyr \
       --enable-glx-tls \
       --enable-kdrive \
+      --enable-kdrive-evdev \
+      --enable-kdrive-kbd \
+      --enable-kdrive-mouse \
       --enable-install-setuid \
       --enable-config-udev \
       --disable-config-dbus \
@@ -51,10 +72,10 @@ build() {
       --localstatedir=/var \
       --with-xkb-path=/usr/share/X11/xkb \
       --with-xkb-output=/var/lib/xkb \
-      --with-dri-driver-path=/usr/lib/xorg/modules/dri \
       --with-fontrootdir=/usr/share/fonts
   make
 
+  # Disable subdirs for make install rule to make splitting easier
   sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
       -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
       -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
@@ -64,7 +85,7 @@ build() {
 
 package_xorg-server-common() {
   pkgdesc="Xorg server common files"
-  depends=('xkeyboard-config' 'xorg-xkb-utils' 'xorg-fonts-misc')
+  depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
 
   cd "${srcdir}/${pkgbase}-${pkgver}"
   install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
@@ -73,7 +94,7 @@ package_xorg-server-common() {
   make -C xkb DESTDIR="${pkgdir}" install-data
 
   install -m755 -d "${pkgdir}/usr/share/man/man1"
-  install -m644 doc/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+  install -m644 man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
 
   install -m755 -d "${pkgdir}/usr/lib/xorg"
   install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
@@ -85,6 +106,7 @@ package_xorg-server() {
   backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
   provides=('x-server')
   groups=('xorg')
+  conflicts=('nvidia-utils<=290.10')
 
   cd "${srcdir}/${pkgbase}-${pkgver}"
   make DESTDIR="${pkgdir}" install
@@ -176,9 +198,3 @@ package_xorg-server-devel() {
   install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
   ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
 }
-md5sums=('5c8773499a6a8c1ddaedf33577ec9634'
-         '1a336eb22e27cbf443ec5a2ecddfa93c'
-         '52fd3effd80d7bc6c1660d4ecf23d31c'
-         '376c70308715cd2643f7bff936d9934b'
-         'd4f7dfc6be4ef4e2c6dd7632a9d88abe'
-         'f46bf7abb53b6d80b665c0c14c7346dd')
diff --git a/abs/core/xorg-server/__changelog b/abs/core/xorg-server/__changelog
deleted file mode 100644
index cd15789..0000000
--- a/abs/core/xorg-server/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-add patch to stop xorg from crashing with qt
diff --git a/abs/core/xorg-server/autoconfig-nvidia.patch b/abs/core/xorg-server/autoconfig-nvidia.patch
new file mode 100644
index 0000000..6d5220a
--- /dev/null
+++ b/abs/core/xorg-server/autoconfig-nvidia.patch
@@ -0,0 +1,28 @@
+diff -Nur xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c
+--- xorg-server-1.11.99.902.orig/hw/xfree86/common/xf86pciBus.c	2012-02-10 10:10:37.583014924 +0000
++++ xorg-server-1.11.99.902/hw/xfree86/common/xf86pciBus.c	2012-02-10 11:16:07.148971317 +0000
+@@ -1144,7 +1144,23 @@
+         int idx = 0;
+ 
+ #ifdef __linux__
+-        driverList[idx++] = "nouveau";
++	    switch (dev->device_id)
++		{
++		/* NV1 */
++		case 0x0008:
++		case 0x0009:
++		    driverList[idx++] = "vesa";
++		    break;
++		/* NV3 */
++		case 0x0018:
++		case 0x0019:
++		    driverList[idx++] = "nouveau";
++		    break;
++		default:
++		    driverList[idx++] = "nouveau";
++		    driverList[idx++] = "nvidia";
++		    break;
++		}
+ #endif
+         driverList[idx++] = "nv";
+         break;
diff --git a/abs/core/xorg-server/autoconfig-sis.patch b/abs/core/xorg-server/autoconfig-sis.patch
new file mode 100644
index 0000000..0b50049
--- /dev/null
+++ b/abs/core/xorg-server/autoconfig-sis.patch
@@ -0,0 +1,21 @@
+--- hw/xfree86/common/xf86pciBus.c.orig	2011-09-24 10:53:45.421697668 +0000
++++ hw/xfree86/common/xf86pciBus.c	2011-09-24 10:55:56.416250708 +0000
+@@ -1200,9 +1200,15 @@
+             break;
+         }
+         break;
+-    case 0x1039:
+-        driverList[0] = "sis";
+-        break;
++	case 0x1039:
++	    switch (dev->device_id)
++	    {
++		case 0x6350: case 0x6351:
++		    driverList[0] = "sisimedia"; driverList[1] = "sis"; break;
++		default:
++		    driverList[0] = "sis"; break;
++	    }
++	    break;
+     case 0x126f:
+         driverList[0] = "siliconmotion";
+         break;
diff --git a/abs/core/xorg-server/crash.patch b/abs/core/xorg-server/crash.patch
deleted file mode 100644
index 1e10d1a..0000000
--- a/abs/core/xorg-server/crash.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Xext/panoramiXprocs.c
-+++ b/Xext/panoramiXprocs.c
-@@ -634,7 +634,7 @@ int PanoramiXTranslateCoords(ClientPtr client)
-     rep.dstX = x - pDst->drawable.x;
-     rep.dstY = y - pDst->drawable.y;
-     if((pDst == screenInfo.screens[0]->root) ||
--       (pWin->drawable.id == screenInfo.screens[0]->screensaver.wid))
-+       (pDst->drawable.id == screenInfo.screens[0]->screensaver.wid))
-     {
- 	rep.dstX += screenInfo.screens[0]->x;
- 	rep.dstY += screenInfo.screens[0]->y;
diff --git a/abs/core/xorg-server/git-fixes.patch b/abs/core/xorg-server/git-fixes.patch
new file mode 100644
index 0000000..f6ca242
--- /dev/null
+++ b/abs/core/xorg-server/git-fixes.patch
@@ -0,0 +1,1717 @@
+From b5bf0ac5405eab77f26bb2f8726644232af17178 Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Wed, 11 Apr 2012 16:28:21 +0000
+Subject: hw/xfree86: Spurious ');' in xf86vmode.c messed up indentation badly
+
+Inside the unfinished XF86VIDMODE_EVENTS #ifdef block the
+function definition for xf86VidModeNotifyEvent had an extra ');'
+before the prototype argument declarations. This was harmless for the
+compiler as the code never gets used, but completely messed up the
+file re-indentation. This patch removes the spurious characters in
+preparation for re-indenting the file.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit 592bd0ae2b60cd6f6afd3efc40f5f659b12900b4)
+---
+diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
+index 6e2a8e9..9f64f8e 100644
+--- a/hw/xfree86/dixmods/extmod/xf86vmode.c
++++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
+@@ -75,7 +75,7 @@ static unsigned char XF86VidModeReqCode = 0;
+ #ifdef XF86VIDMODE_EVENTS
+ static int XF86VidModeEventBase = 0;
+ 
+-static void SXF86VidModeNotifyEvent();
++static void SXF86VidModeNotifyEvent(
+ xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent *        /* to */
+     );
+ 
+--
+cgit v0.9.0.2-2-gbebe
+From 3ad72a80088fe3236f38bd0696b04f399e24fe3d Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Wed, 11 Apr 2012 16:33:54 +0000
+Subject: hw/xfree86: Re-indent xf86vmode.c
+
+This is the result of re-running the 'x-indent.sh' script over
+xf86vmode.c to clean up the disaster caused by broken syntax in the
+file.
+
+Signed-off-by: Keith Packard <keithp@keithp.com>
+(cherry picked from commit 9779b904c7c0b49c74054c22c420012c40595cdc)
+---
+diff --git a/hw/xfree86/dixmods/extmod/xf86vmode.c b/hw/xfree86/dixmods/extmod/xf86vmode.c
+index 9f64f8e..68c4b58 100644
+--- a/hw/xfree86/dixmods/extmod/xf86vmode.c
++++ b/hw/xfree86/dixmods/extmod/xf86vmode.c
+@@ -75,8 +75,7 @@ static unsigned char XF86VidModeReqCode = 0;
+ #ifdef XF86VIDMODE_EVENTS
+ static int XF86VidModeEventBase = 0;
+ 
+-static void SXF86VidModeNotifyEvent(
+-xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent *        /* to */
++static void SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * /* from */ , xXF86VidModeNotifyEvent *    /* to */
+     );
+ 
+ static RESTYPE EventType;       /* resource type for event masks */
+@@ -117,20 +116,22 @@ static DevPrivateKeyRec ScreenPrivateKeyRec;
+ #define DEBUG_P(x) /**/
+ #endif
+     static int
+- ClientMajorVersion(ClientPtr client) {
++ClientMajorVersion(ClientPtr client)
++{
+     VidModePrivPtr pPriv;
+ 
+-     pPriv = VM_GETPRIV(client);
++    pPriv = VM_GETPRIV(client);
+     if (!pPriv)
+-         return 0;
++        return 0;
+     else
+-         return pPriv->major;
++        return pPriv->major;
+ }
++
+ #ifdef XF86VIDMODE_EVENTS
+ static void
+- CheckScreenPrivate(pScreen)
++CheckScreenPrivate(pScreen)
+ ScreenPtr
+-    pScreen;
++ pScreen;
+ {
+     SetupScreen(pScreen);
+ 
+@@ -142,9 +143,10 @@ ScreenPtr
+     }
+ }
+ 
+-static XF86VidModeScreenPrivatePtr MakeScreenPrivate(pScreen)
++static XF86VidModeScreenPrivatePtr
++MakeScreenPrivate(pScreen)
+ ScreenPtr
+-    pScreen;
++ pScreen;
+ {
+     SetupScreen(pScreen);
+ 
+@@ -160,18 +162,22 @@ ScreenPtr
+ }
+ 
+ static unsigned long
+- getEventMask(ScreenPtr pScreen, ClientPtr client) {
++getEventMask(ScreenPtr pScreen, ClientPtr client)
++{
+     SetupScreen(pScreen);
+     XF86VidModeEventPtr pEv;
+ 
+     if (!pPriv)
+-         return 0;
++        return 0;
+     for (pEv = pPriv->events; pEv; pEv = pEv->next)
+         if (pEv->client == client)
+             return pEv->mask;
+-     return 0;
+-} static Bool
+- setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask) {
++    return 0;
++}
++
++static Bool
++setEventMask(ScreenPtr pScreen, ClientPtr client, unsigned long mask)
++{
+     SetupScreen(pScreen);
+     XF86VidModeEventPtr pEv, *pPrev;
+ 
+@@ -181,7 +187,8 @@ static unsigned long
+         pPriv = MakeScreenPrivate(pScreen);
+         if (!pPriv)
+             return FALSE;
+-    } for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next)
++    }
++    for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next)
+         if (pEv->client == client)
+             break;
+     if (mask == 0) {
+@@ -208,38 +215,43 @@ static unsigned long
+ }
+ 
+ static int
+- XF86VidModeFreeEvents(pointer value, XID id) {
++XF86VidModeFreeEvents(pointer value, XID id)
++{
+     XF86VidModeEventPtr pOld = (XF86VidModeEventPtr) value;
+     ScreenPtr pScreen = pOld->screen;
+-     SetupScreen(pScreen);
++
++    SetupScreen(pScreen);
+     XF86VidModeEventPtr pEv, *pPrev;
+ 
+     if (!pPriv)
+-         return TRUE;
++        return TRUE;
+     for (pPrev = &pPriv->events; pEv = *pPrev; pPrev = &pEv->next)
+         if (pEv == pOld)
+             break;
+     if (!pEv)
+-         return TRUE;
++        return TRUE;
+     *pPrev = pEv->next;
+-     free(pEv);
+-     CheckScreenPrivate(pScreen);
+-     return TRUE;
+-} static void
+- SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced) {
++    free(pEv);
++    CheckScreenPrivate(pScreen);
++    return TRUE;
++}
++
++static void
++SendXF86VidModeNotify(ScreenPtr pScreen, int state, Bool forced)
++{
+     XF86VidModeScreenPrivatePtr pPriv;
+     XF86VidModeEventPtr pEv;
+     unsigned long mask;
+     xXF86VidModeNotifyEvent ev;
+     int kind;
+ 
+-     UpdateCurrentTimeIf();
+-     mask = XF86VidModeNotifyMask;
+-     pScreen = screenInfo.screens[pScreen->myNum];
+-     pPriv = GetScreenPrivate(pScreen);
++    UpdateCurrentTimeIf();
++    mask = XF86VidModeNotifyMask;
++    pScreen = screenInfo.screens[pScreen->myNum];
++    pPriv = GetScreenPrivate(pScreen);
+     if (!pPriv)
+-         return;
+-     kind = XF86VidModeModeChange;
++        return;
++    kind = XF86VidModeModeChange;
+     for (pEv = pPriv->events; pEv; pEv = pEv->next) {
+         if (!(pEv->mask & mask))
+             continue;
+@@ -251,8 +263,10 @@ static int
+         ev.forced = forced;
+         WriteEventsToClient(pEv->client, 1, (xEvent *) &ev);
+ }} static void
+- SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * from,
+-                         xXF86VidModeNotifyEvent * to) {
++
++SXF86VidModeNotifyEvent(xXF86VidModeNotifyEvent * from,
++                        xXF86VidModeNotifyEvent * to)
++{
+     to->type = from->type;
+     to->state = from->state;
+     cpswaps(from->sequenceNumber, to->sequenceNumber);
+@@ -264,29 +278,31 @@ static int
+ #endif
+ 
+ static int
+- ProcXF86VidModeQueryVersion(ClientPtr client) {
++ProcXF86VidModeQueryVersion(ClientPtr client)
++{
+     xXF86VidModeQueryVersionReply rep;
+ 
+-     DEBUG_P("XF86VidModeQueryVersion");
++    DEBUG_P("XF86VidModeQueryVersion");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeQueryVersionReq);
+-     rep.type = X_Reply;
+-     rep.length = 0;
+-     rep.sequenceNumber = client->sequence;
+-     rep.majorVersion = SERVER_XF86VIDMODE_MAJOR_VERSION;
+-     rep.minorVersion = SERVER_XF86VIDMODE_MINOR_VERSION;
++    REQUEST_SIZE_MATCH(xXF86VidModeQueryVersionReq);
++    rep.type = X_Reply;
++    rep.length = 0;
++    rep.sequenceNumber = client->sequence;
++    rep.majorVersion = SERVER_XF86VIDMODE_MAJOR_VERSION;
++    rep.minorVersion = SERVER_XF86VIDMODE_MINOR_VERSION;
+     if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swaps(&rep.majorVersion);
+         swaps(&rep.minorVersion);
+-    } WriteToClient(client, sizeof(xXF86VidModeQueryVersionReply),
+-                    (char *) &rep);
++    }
++    WriteToClient(client, sizeof(xXF86VidModeQueryVersionReply), (char *) &rep);
+     return Success;
+ }
+ 
+ static int
+- ProcXF86VidModeGetModeLine(ClientPtr client) {
++ProcXF86VidModeGetModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetModeLineReq);
+     xXF86VidModeGetModeLineReply rep;
+     xXF86OldVidModeGetModeLineReply oldrep;
+@@ -294,11 +310,11 @@ static int
+     int dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeGetModeline");
++    DEBUG_P("XF86VidModeGetModeline");
+ 
+-     ver = ClientMajorVersion(client);
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq);
+-     rep.type = X_Reply;
++    ver = ClientMajorVersion(client);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq);
++    rep.type = X_Reply;
+     if (ver < 2) {
+         rep.length = bytes_to_int32(SIZEOF(xXF86OldVidModeGetModeLineReply) -
+                                     SIZEOF(xGenericReply));
+@@ -386,7 +402,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeGetAllModeLines(ClientPtr client) {
++ProcXF86VidModeGetAllModeLines(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetAllModeLinesReq);
+     xXF86VidModeGetAllModeLinesReply rep;
+     xXF86VidModeModeInfo mdinf;
+@@ -395,38 +412,39 @@ static int
+     int modecount, dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeGetAllModelines");
++    DEBUG_P("XF86VidModeGetAllModelines");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+ 
+-     modecount = VidModeGetNumOfModes(stuff->screen);
++    modecount = VidModeGetNumOfModes(stuff->screen);
+     if (modecount < 1)
+-         return VidModeErrorBase + XF86VidModeExtensionDisabled;
++        return VidModeErrorBase + XF86VidModeExtensionDisabled;
+ 
+     if (!VidModeGetFirstModeline(stuff->screen, &mode, &dotClock))
+-         return BadValue;
++        return BadValue;
+ 
+-     rep.type = X_Reply;
+-     rep.length = SIZEOF(xXF86VidModeGetAllModeLinesReply) -
++    rep.type = X_Reply;
++    rep.length = SIZEOF(xXF86VidModeGetAllModeLinesReply) -
+         SIZEOF(xGenericReply);
+     if (ver < 2)
+-         rep.length += modecount * sizeof(xXF86OldVidModeModeInfo);
++        rep.length += modecount * sizeof(xXF86OldVidModeModeInfo);
+     else
+-         rep.length += modecount * sizeof(xXF86VidModeModeInfo);
+-     rep.length >>= 2;
+-     rep.sequenceNumber = client->sequence;
+-     rep.modecount = modecount;
++        rep.length += modecount * sizeof(xXF86VidModeModeInfo);
++    rep.length >>= 2;
++    rep.sequenceNumber = client->sequence;
++    rep.modecount = modecount;
+     if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swapl(&rep.modecount);
+-    } WriteToClient(client, sizeof(xXF86VidModeGetAllModeLinesReply),
+-                    (char *) &rep);
++    }
++    WriteToClient(client, sizeof(xXF86VidModeGetAllModeLinesReply),
++                  (char *) &rep);
+ 
+     do {
+         mdinf.dotclock = dotClock;
+@@ -492,7 +510,8 @@ static int
+      && VidModeGetModeValue(mode, VIDMODE_FLAGS)  == stuff->flags )
+ 
+ static int
+- ProcXF86VidModeAddModeLine(ClientPtr client) {
++ProcXF86VidModeAddModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeAddModeLineReq);
+     xXF86OldVidModeAddModeLineReq *oldstuff =
+         (xXF86OldVidModeAddModeLineReq *) client->requestBuffer;
+@@ -502,9 +521,9 @@ static int
+     int dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeAddModeline");
++    DEBUG_P("XF86VidModeAddModeline");
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         /* convert from old format */
+         stuff = &newstuff;
+@@ -533,7 +552,8 @@ static int
+         stuff->after_vsyncend = oldstuff->after_vsyncend;
+         stuff->after_vtotal = oldstuff->after_vtotal;
+         stuff->after_flags = oldstuff->after_flags;
+-    } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
++    }
++    if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
+         ErrorF("AddModeLine - scrn: %d clock: %ld\n",
+                (int) stuff->screen, (unsigned long) stuff->dotclock);
+         ErrorF("AddModeLine - hdsp: %d hbeg: %d hend: %d httl: %d\n",
+@@ -654,7 +674,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeDeleteModeLine(ClientPtr client) {
++ProcXF86VidModeDeleteModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeDeleteModeLineReq);
+     xXF86OldVidModeDeleteModeLineReq *oldstuff =
+         (xXF86OldVidModeDeleteModeLineReq *) client->requestBuffer;
+@@ -663,9 +684,9 @@ static int
+     int len, dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeDeleteModeline");
++    DEBUG_P("XF86VidModeDeleteModeline");
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         /* convert from old format */
+         stuff = &newstuff;
+@@ -683,7 +704,8 @@ static int
+         stuff->vtotal = oldstuff->vtotal;
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+-    } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
++    }
++    if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
+         ErrorF("DeleteModeLine - scrn: %d clock: %ld\n",
+                (int) stuff->screen, (unsigned long) stuff->dotclock);
+         ErrorF("                 hdsp: %d hbeg: %d hend: %d httl: %d\n",
+@@ -777,7 +799,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeModModeLine(ClientPtr client) {
++ProcXF86VidModeModModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeModModeLineReq);
+     xXF86OldVidModeModModeLineReq *oldstuff =
+         (xXF86OldVidModeModModeLineReq *) client->requestBuffer;
+@@ -786,9 +809,9 @@ static int
+     int len, dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeModModeline");
++    DEBUG_P("XF86VidModeModModeline");
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         /* convert from old format */
+         stuff = &newstuff;
+@@ -805,7 +828,8 @@ static int
+         stuff->vtotal = oldstuff->vtotal;
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+-    } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
++    }
++    if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
+         ErrorF("ModModeLine - scrn: %d hdsp: %d hbeg: %d hend: %d httl: %d\n",
+                (int) stuff->screen, stuff->hdisplay, stuff->hsyncstart,
+                stuff->hsyncend, stuff->htotal);
+@@ -903,7 +927,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeValidateModeLine(ClientPtr client) {
++ProcXF86VidModeValidateModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeValidateModeLineReq);
+     xXF86OldVidModeValidateModeLineReq *oldstuff =
+         (xXF86OldVidModeValidateModeLineReq *) client->requestBuffer;
+@@ -913,9 +938,9 @@ static int
+     int len, status, dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeValidateModeline");
++    DEBUG_P("XF86VidModeValidateModeline");
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         /* convert from old format */
+         stuff = &newstuff;
+@@ -933,7 +958,8 @@ static int
+         stuff->vtotal = oldstuff->vtotal;
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+-    } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
++    }
++    if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
+         ErrorF("ValidateModeLine - scrn: %d clock: %ld\n",
+                (int) stuff->screen, (unsigned long) stuff->dotclock);
+         ErrorF("                   hdsp: %d hbeg: %d hend: %d httl: %d\n",
+@@ -1022,7 +1048,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeSwitchMode(ClientPtr client) {
++ProcXF86VidModeSwitchMode(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSwitchModeReq);
+ 
+     DEBUG_P("XF86VidModeSwitchMode");
+@@ -1035,8 +1062,11 @@ static int
+     VidModeZoomViewport(stuff->screen, (short) stuff->zoom);
+ 
+     return Success;
+-} static int
+- ProcXF86VidModeSwitchToMode(ClientPtr client) {
++}
++
++static int
++ProcXF86VidModeSwitchToMode(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSwitchToModeReq);
+     xXF86OldVidModeSwitchToModeReq *oldstuff =
+         (xXF86OldVidModeSwitchToModeReq *) client->requestBuffer;
+@@ -1045,9 +1075,9 @@ static int
+     int len, dotClock;
+     int ver;
+ 
+-     DEBUG_P("XF86VidModeSwitchToMode");
++    DEBUG_P("XF86VidModeSwitchToMode");
+ 
+-     ver = ClientMajorVersion(client);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         /* convert from old format */
+         stuff = &newstuff;
+@@ -1065,7 +1095,8 @@ static int
+         stuff->vtotal = oldstuff->vtotal;
+         stuff->flags = oldstuff->flags;
+         stuff->privsize = oldstuff->privsize;
+-    } if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
++    }
++    if (xf86GetVerbosity() > DEFAULT_XF86VIDMODE_VERBOSITY) {
+         ErrorF("SwitchToMode - scrn: %d clock: %ld\n",
+                (int) stuff->screen, (unsigned long) stuff->dotclock);
+         ErrorF("               hdsp: %d hbeg: %d hend: %d httl: %d\n",
+@@ -1138,7 +1169,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeLockModeSwitch(ClientPtr client) {
++ProcXF86VidModeLockModeSwitch(ClientPtr client)
++{
+     REQUEST(xXF86VidModeLockModeSwitchReq);
+ 
+     REQUEST_SIZE_MATCH(xXF86VidModeLockModeSwitchReq);
+@@ -1152,53 +1184,57 @@ static int
+         return VidModeErrorBase + XF86VidModeZoomLocked;
+ 
+     return Success;
+-} static int
+- ProcXF86VidModeGetMonitor(ClientPtr client) {
++}
++
++static int
++ProcXF86VidModeGetMonitor(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetMonitorReq);
+     xXF86VidModeGetMonitorReply rep;
+     CARD32 *hsyncdata, *vsyncdata;
+     int i, nHsync, nVrefresh;
+     pointer monitor;
+ 
+-     DEBUG_P("XF86VidModeGetMonitor");
++    DEBUG_P("XF86VidModeGetMonitor");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+     if (!VidModeGetMonitor(stuff->screen, &monitor))
+-         return BadValue;
++        return BadValue;
+ 
+-     nHsync = VidModeGetMonitorValue(monitor, VIDMODE_MON_NHSYNC, 0).i;
+-     nVrefresh = VidModeGetMonitorValue(monitor, VIDMODE_MON_NVREFRESH, 0).i;
++    nHsync = VidModeGetMonitorValue(monitor, VIDMODE_MON_NHSYNC, 0).i;
++    nVrefresh = VidModeGetMonitorValue(monitor, VIDMODE_MON_NVREFRESH, 0).i;
+ 
+-     rep.type = X_Reply;
++    rep.type = X_Reply;
+     if ((char *) (VidModeGetMonitorValue(monitor, VIDMODE_MON_VENDOR, 0)).ptr)
+-         rep.vendorLength = strlen((char *) (VidModeGetMonitorValue(monitor,
+-                                                                    VIDMODE_MON_VENDOR,
+-                                                                    0)).ptr);
++        rep.vendorLength = strlen((char *) (VidModeGetMonitorValue(monitor,
++                                                                   VIDMODE_MON_VENDOR,
++                                                                   0)).ptr);
+     else
+-         rep.vendorLength = 0;
++        rep.vendorLength = 0;
+     if ((char *) (VidModeGetMonitorValue(monitor, VIDMODE_MON_MODEL, 0)).ptr)
+-         rep.modelLength = strlen((char *) (VidModeGetMonitorValue(monitor,
+-                                                                   VIDMODE_MON_MODEL,
+-                                                                   0)).ptr);
++        rep.modelLength = strlen((char *) (VidModeGetMonitorValue(monitor,
++                                                                  VIDMODE_MON_MODEL,
++                                                                  0)).ptr);
+     else
+-         rep.modelLength = 0;
+-     rep.length =
++        rep.modelLength = 0;
++    rep.length =
+         bytes_to_int32(SIZEOF(xXF86VidModeGetMonitorReply) -
+                        SIZEOF(xGenericReply) + (nHsync +
+                                                 nVrefresh) * sizeof(CARD32) +
+                        pad_to_int32(rep.vendorLength) +
+                        pad_to_int32(rep.modelLength));
+-     rep.sequenceNumber = client->sequence;
+-     rep.nhsync = nHsync;
+-     rep.nvsync = nVrefresh;
+-     hsyncdata = malloc(nHsync * sizeof(CARD32));
++    rep.sequenceNumber = client->sequence;
++    rep.nhsync = nHsync;
++    rep.nvsync = nVrefresh;
++    hsyncdata = malloc(nHsync * sizeof(CARD32));
+     if (!hsyncdata) {
+         return BadAlloc;
+-    } vsyncdata = malloc(nVrefresh * sizeof(CARD32));
++    }
++    vsyncdata = malloc(nVrefresh * sizeof(CARD32));
+ 
+     if (!vsyncdata) {
+         free(hsyncdata);
+@@ -1208,19 +1244,18 @@ static int
+     for (i = 0; i < nHsync; i++) {
+         hsyncdata[i] = (unsigned short) (VidModeGetMonitorValue(monitor,
+                                                                 VIDMODE_MON_HSYNC_LO,
+-                                                                i)).
+-            f | (unsigned
+-                 short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_HSYNC_HI,
+-                                                i)).f << 16;
++                                                                i)).f |
++            (unsigned
++             short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_HSYNC_HI,
++                                            i)).f << 16;
+     }
+     for (i = 0; i < nVrefresh; i++) {
+         vsyncdata[i] = (unsigned short) (VidModeGetMonitorValue(monitor,
+                                                                 VIDMODE_MON_VREFRESH_LO,
+-                                                                i)).
+-            f | (unsigned
+-                 short) (VidModeGetMonitorValue(monitor,
+-                                                VIDMODE_MON_VREFRESH_HI,
+-                                                i)).f << 16;
++                                                                i)).f |
++            (unsigned
++             short) (VidModeGetMonitorValue(monitor, VIDMODE_MON_VREFRESH_HI,
++                                            i)).f << 16;
+     }
+ 
+     if (client->swapped) {
+@@ -1249,38 +1284,40 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeGetViewPort(ClientPtr client) {
++ProcXF86VidModeGetViewPort(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetViewPortReq);
+     xXF86VidModeGetViewPortReply rep;
+     int x, y;
+ 
+-     DEBUG_P("XF86VidModeGetViewPort");
++    DEBUG_P("XF86VidModeGetViewPort");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     rep.type = X_Reply;
+-     rep.length = 0;
+-     rep.sequenceNumber = client->sequence;
++    rep.type = X_Reply;
++    rep.length = 0;
++    rep.sequenceNumber = client->sequence;
+ 
+-     VidModeGetViewPort(stuff->screen, &x, &y);
+-     rep.x = x;
+-     rep.y = y;
++    VidModeGetViewPort(stuff->screen, &x, &y);
++    rep.x = x;
++    rep.y = y;
+ 
+     if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swapl(&rep.x);
+         swapl(&rep.y);
+-    } WriteToClient(client, SIZEOF(xXF86VidModeGetViewPortReply),
+-                    (char *) &rep);
++    }
++    WriteToClient(client, SIZEOF(xXF86VidModeGetViewPortReply), (char *) &rep);
+     return Success;
+ }
+ 
+ static int
+- ProcXF86VidModeSetViewPort(ClientPtr client) {
++ProcXF86VidModeSetViewPort(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetViewPortReq);
+ 
+     DEBUG_P("XF86VidModeSetViewPort");
+@@ -1294,8 +1331,11 @@ static int
+         return BadValue;
+ 
+     return Success;
+-} static int
+- ProcXF86VidModeGetDotClocks(ClientPtr client) {
++}
++
++static int
++ProcXF86VidModeGetDotClocks(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetDotClocksReq);
+     xXF86VidModeGetDotClocksReply rep;
+     int n;
+@@ -1304,31 +1344,33 @@ static int
+     int *Clocks = NULL;
+     Bool ClockProg;
+ 
+-     DEBUG_P("XF86VidModeGetDotClocks");
++    DEBUG_P("XF86VidModeGetDotClocks");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     numClocks = VidModeGetNumOfClocks(stuff->screen, &ClockProg);
++    numClocks = VidModeGetNumOfClocks(stuff->screen, &ClockProg);
+ 
+-     rep.type = X_Reply;
+-     rep.length = bytes_to_int32(SIZEOF(xXF86VidModeGetDotClocksReply)
+-                                 - SIZEOF(xGenericReply) + numClocks);
+-     rep.sequenceNumber = client->sequence;
+-     rep.clocks = numClocks;
+-     rep.maxclocks = MAXCLOCKS;
+-     rep.flags = 0;
++    rep.type = X_Reply;
++    rep.length = bytes_to_int32(SIZEOF(xXF86VidModeGetDotClocksReply)
++                                - SIZEOF(xGenericReply) + numClocks);
++    rep.sequenceNumber = client->sequence;
++    rep.clocks = numClocks;
++    rep.maxclocks = MAXCLOCKS;
++    rep.flags = 0;
+ 
+     if (!ClockProg) {
+         Clocks = malloc(numClocks * sizeof(int));
+         if (!Clocks)
+-             return BadValue;
++            return BadValue;
+         if (!VidModeGetClocks(stuff->screen, Clocks)) {
+             free(Clocks);
+             return BadValue;
+-    }} if (ClockProg) {
++        }
++    }
++    if (ClockProg) {
+         rep.flags |= CLKFLAG_PROGRAMABLE;
+     }
+     if (client->swapped) {
+@@ -1356,7 +1398,8 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeSetGamma(ClientPtr client) {
++ProcXF86VidModeSetGamma(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetGammaReq);
+ 
+     DEBUG_P("XF86VidModeSetGamma");
+@@ -1372,79 +1415,89 @@ static int
+         return BadValue;
+ 
+     return Success;
+-} static int
+- ProcXF86VidModeGetGamma(ClientPtr client) {
++}
++
++static int
++ProcXF86VidModeGetGamma(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetGammaReq);
+     xXF86VidModeGetGammaReply rep;
+     float red, green, blue;
+ 
+-     DEBUG_P("XF86VidModeGetGamma");
++    DEBUG_P("XF86VidModeGetGamma");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     rep.type = X_Reply;
+-     rep.length = 0;
+-     rep.sequenceNumber = client->sequence;
++    rep.type = X_Reply;
++    rep.length = 0;
++    rep.sequenceNumber = client->sequence;
+     if (!VidModeGetGamma(stuff->screen, &red, &green, &blue))
+-         return BadValue;
+-     rep.red = (CARD32) (red * 10000.);
+-     rep.green = (CARD32) (green * 10000.);
+-     rep.blue = (CARD32) (blue * 10000.);
++        return BadValue;
++    rep.red = (CARD32) (red * 10000.);
++    rep.green = (CARD32) (green * 10000.);
++    rep.blue = (CARD32) (blue * 10000.);
+     if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swapl(&rep.red);
+         swapl(&rep.green);
+         swapl(&rep.blue);
+-    } WriteToClient(client, sizeof(xXF86VidModeGetGammaReply), (char *) &rep);
++    }
++    WriteToClient(client, sizeof(xXF86VidModeGetGammaReply), (char *) &rep);
+ 
+     return Success;
+ }
+ 
+ static int
+- ProcXF86VidModeSetGammaRamp(ClientPtr client) {
++ProcXF86VidModeSetGammaRamp(ClientPtr client)
++{
+     CARD16 *r, *g, *b;
+     int length;
+-     REQUEST(xXF86VidModeSetGammaRampReq);
++
++    REQUEST(xXF86VidModeSetGammaRampReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+     if (stuff->size != VidModeGetGammaRampSize(stuff->screen))
+-         return BadValue;
++        return BadValue;
+ 
+-     length = (stuff->size + 1) & ~1;
++    length = (stuff->size + 1) & ~1;
+ 
+-     REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length * 6);
++    REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length * 6);
+ 
+-     r = (CARD16 *) &stuff[1];
+-     g = r + length;
+-     b = g + length;
++    r = (CARD16 *) &stuff[1];
++    g = r + length;
++    b = g + length;
+ 
+     if (!VidModeSetGammaRamp(stuff->screen, stuff->size, r, g, b))
+-         return BadValue;
++        return BadValue;
+ 
+-     return Success;
+-} static int
+- ProcXF86VidModeGetGammaRamp(ClientPtr client) {
++    return Success;
++}
++
++static int
++ProcXF86VidModeGetGammaRamp(ClientPtr client)
++{
+     CARD16 *ramp = NULL;
+     int length;
+     size_t ramplen = 0;
+     xXF86VidModeGetGammaRampReply rep;
+-     REQUEST(xXF86VidModeGetGammaRampReq);
++
++    REQUEST(xXF86VidModeGetGammaRampReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+     if (stuff->size != VidModeGetGammaRampSize(stuff->screen))
+-         return BadValue;
++        return BadValue;
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq);
+ 
+-     length = (stuff->size + 1) & ~1;
++    length = (stuff->size + 1) & ~1;
+ 
+     if (stuff->size) {
+         ramplen = length * 3 * sizeof(CARD16);
+@@ -1455,7 +1508,9 @@ static int
+                                  ramp, ramp + length, ramp + (length * 2))) {
+             free(ramp);
+             return BadValue;
+-    }} rep.type = X_Reply;
++        }
++    }
++    rep.type = X_Reply;
+     rep.length = (length >> 1) * 3;
+     rep.sequenceNumber = client->sequence;
+     rep.size = stuff->size;
+@@ -1476,47 +1531,53 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeGetGammaRampSize(ClientPtr client) {
++ProcXF86VidModeGetGammaRampSize(ClientPtr client)
++{
+     xXF86VidModeGetGammaRampSizeReply rep;
+-     REQUEST(xXF86VidModeGetGammaRampSizeReq);
++
++    REQUEST(xXF86VidModeGetGammaRampSizeReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq);
+ 
+-     rep.type = X_Reply;
+-     rep.length = 0;
+-     rep.sequenceNumber = client->sequence;
+-     rep.size = VidModeGetGammaRampSize(stuff->screen);
++    rep.type = X_Reply;
++    rep.length = 0;
++    rep.sequenceNumber = client->sequence;
++    rep.size = VidModeGetGammaRampSize(stuff->screen);
+     if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swaps(&rep.size);
+-    } WriteToClient(client, sizeof(xXF86VidModeGetGammaRampSizeReply),
+-                    (char *) &rep);
++    }
++    WriteToClient(client, sizeof(xXF86VidModeGetGammaRampSizeReply),
++                  (char *) &rep);
+ 
+     return Success;
+ }
+ 
+ static int
+- ProcXF86VidModeGetPermissions(ClientPtr client) {
++ProcXF86VidModeGetPermissions(ClientPtr client)
++{
+     xXF86VidModeGetPermissionsReply rep;
+-     REQUEST(xXF86VidModeGetPermissionsReq);
++
++    REQUEST(xXF86VidModeGetPermissionsReq);
+ 
+     if (stuff->screen >= screenInfo.numScreens)
+-         return BadValue;
++        return BadValue;
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq);
+ 
+-     rep.type = X_Reply;
+-     rep.length = 0;
+-     rep.sequenceNumber = client->sequence;
+-     rep.permissions = XF86VM_READ_PERMISSION;
++    rep.type = X_Reply;
++    rep.length = 0;
++    rep.sequenceNumber = client->sequence;
++    rep.permissions = XF86VM_READ_PERMISSION;
+     if (xf86GetVidModeEnabled() &&
+         (xf86GetVidModeAllowNonLocal() || LocalClient(client))) {
+         rep.permissions |= XF86VM_WRITE_PERMISSION;
+-    } if (client->swapped) {
++    }
++    if (client->swapped) {
+         swaps(&rep.sequenceNumber);
+         swapl(&rep.length);
+         swapl(&rep.permissions);
+@@ -1528,21 +1589,23 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeSetClientVersion(ClientPtr client) {
++ProcXF86VidModeSetClientVersion(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetClientVersionReq);
+ 
+     VidModePrivPtr pPriv;
+ 
+-     DEBUG_P("XF86VidModeSetClientVersion");
++    DEBUG_P("XF86VidModeSetClientVersion");
+ 
+-     REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq);
++    REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq);
+ 
+     if ((pPriv = VM_GETPRIV(client)) == NULL) {
+         pPriv = malloc(sizeof(VidModePrivRec));
+         if (!pPriv)
+             return BadAlloc;
+         VM_SETPRIV(client, pPriv);
+-    } pPriv->major = stuff->major;
++    }
++    pPriv->major = stuff->major;
+ 
+     pPriv->minor = stuff->minor;
+ 
+@@ -1550,85 +1613,103 @@ static int
+ }
+ 
+ static int
+- ProcXF86VidModeDispatch(ClientPtr client) {
++ProcXF86VidModeDispatch(ClientPtr client)
++{
+     REQUEST(xReq);
+     switch (stuff->data) {
+     case X_XF86VidModeQueryVersion:
+         return ProcXF86VidModeQueryVersion(client);
+-        case X_XF86VidModeGetModeLine:return ProcXF86VidModeGetModeLine(client);
+-        case X_XF86VidModeGetMonitor:return ProcXF86VidModeGetMonitor(client);
+-        case X_XF86VidModeGetAllModeLines:return
+-            ProcXF86VidModeGetAllModeLines(client);
+-        case X_XF86VidModeValidateModeLine:return
+-            ProcXF86VidModeValidateModeLine(client);
+-        case X_XF86VidModeGetViewPort:return ProcXF86VidModeGetViewPort(client);
+-        case X_XF86VidModeGetDotClocks:return
+-            ProcXF86VidModeGetDotClocks(client);
+-        case X_XF86VidModeSetClientVersion:return
+-            ProcXF86VidModeSetClientVersion(client);
+-        case X_XF86VidModeGetGamma:return ProcXF86VidModeGetGamma(client);
+-        case X_XF86VidModeGetGammaRamp:return
+-            ProcXF86VidModeGetGammaRamp(client);
+-        case X_XF86VidModeGetGammaRampSize:return
+-            ProcXF86VidModeGetGammaRampSize(client);
+-        case X_XF86VidModeGetPermissions:return
+-            ProcXF86VidModeGetPermissions(client);
+-        default:if (!xf86GetVidModeEnabled())
++    case X_XF86VidModeGetModeLine:
++        return ProcXF86VidModeGetModeLine(client);
++    case X_XF86VidModeGetMonitor:
++        return ProcXF86VidModeGetMonitor(client);
++    case X_XF86VidModeGetAllModeLines:
++        return ProcXF86VidModeGetAllModeLines(client);
++    case X_XF86VidModeValidateModeLine:
++        return ProcXF86VidModeValidateModeLine(client);
++    case X_XF86VidModeGetViewPort:
++        return ProcXF86VidModeGetViewPort(client);
++    case X_XF86VidModeGetDotClocks:
++        return ProcXF86VidModeGetDotClocks(client);
++    case X_XF86VidModeSetClientVersion:
++        return ProcXF86VidModeSetClientVersion(client);
++    case X_XF86VidModeGetGamma:
++        return ProcXF86VidModeGetGamma(client);
++    case X_XF86VidModeGetGammaRamp:
++        return ProcXF86VidModeGetGammaRamp(client);
++    case X_XF86VidModeGetGammaRampSize:
++        return ProcXF86VidModeGetGammaRampSize(client);
++    case X_XF86VidModeGetPermissions:
++        return ProcXF86VidModeGetPermissions(client);
++    default:
++        if (!xf86GetVidModeEnabled())
+             return VidModeErrorBase + XF86VidModeExtensionDisabled;
+         if (xf86GetVidModeAllowNonLocal() || LocalClient(client)) {
+             switch (stuff->data) {
+             case X_XF86VidModeAddModeLine:
+                 return ProcXF86VidModeAddModeLine(client);
+-                case X_XF86VidModeDeleteModeLine:return
+-                    ProcXF86VidModeDeleteModeLine(client);
+-                case X_XF86VidModeModModeLine:return
+-                    ProcXF86VidModeModModeLine(client);
+-                case X_XF86VidModeSwitchMode:return
+-                    ProcXF86VidModeSwitchMode(client);
+-                case X_XF86VidModeSwitchToMode:return
+-                    ProcXF86VidModeSwitchToMode(client);
+-                case X_XF86VidModeLockModeSwitch:return
+-                    ProcXF86VidModeLockModeSwitch(client);
+-                case X_XF86VidModeSetViewPort:return
+-                    ProcXF86VidModeSetViewPort(client);
+-                case X_XF86VidModeSetGamma:return
+-                    ProcXF86VidModeSetGamma(client);
+-                case X_XF86VidModeSetGammaRamp:return
+-                    ProcXF86VidModeSetGammaRamp(client);
+-                default:return BadRequest;
+-        }}
++            case X_XF86VidModeDeleteModeLine:
++                return ProcXF86VidModeDeleteModeLine(client);
++            case X_XF86VidModeModModeLine:
++                return ProcXF86VidModeModModeLine(client);
++            case X_XF86VidModeSwitchMode:
++                return ProcXF86VidModeSwitchMode(client);
++            case X_XF86VidModeSwitchToMode:
++                return ProcXF86VidModeSwitchToMode(client);
++            case X_XF86VidModeLockModeSwitch:
++                return ProcXF86VidModeLockModeSwitch(client);
++            case X_XF86VidModeSetViewPort:
++                return ProcXF86VidModeSetViewPort(client);
++            case X_XF86VidModeSetGamma:
++                return ProcXF86VidModeSetGamma(client);
++            case X_XF86VidModeSetGammaRamp:
++                return ProcXF86VidModeSetGammaRamp(client);
++            default:
++                return BadRequest;
++            }
++        }
+         else
+-             return VidModeErrorBase + XF86VidModeClientNotLocal;
++            return VidModeErrorBase + XF86VidModeClientNotLocal;
+     }
+ }
+ 
+ static int
+- SProcXF86VidModeQueryVersion(ClientPtr client) {
++SProcXF86VidModeQueryVersion(ClientPtr client)
++{
+     REQUEST(xXF86VidModeQueryVersionReq);
+     swaps(&stuff->length);
+     return ProcXF86VidModeQueryVersion(client);
+-} static int
+- SProcXF86VidModeGetModeLine(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetModeLine(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetModeLineReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetModeLineReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetModeLine(client);
+-} static int
+- SProcXF86VidModeGetAllModeLines(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetAllModeLines(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetAllModeLinesReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetAllModeLinesReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetAllModeLines(client);
+-} static int
+- SProcXF86VidModeAddModeLine(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeAddModeLine(ClientPtr client)
++{
+     xXF86OldVidModeAddModeLineReq *oldstuff =
+         (xXF86OldVidModeAddModeLineReq *) client->requestBuffer;
+     int ver;
+ 
+-     REQUEST(xXF86VidModeAddModeLineReq);
+-     ver = ClientMajorVersion(client);
++    REQUEST(xXF86VidModeAddModeLineReq);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         swaps(&oldstuff->length);
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeAddModeLineReq);
+@@ -1666,13 +1747,14 @@ static int
+ }
+ 
+ static int
+- SProcXF86VidModeDeleteModeLine(ClientPtr client) {
++SProcXF86VidModeDeleteModeLine(ClientPtr client)
++{
+     xXF86OldVidModeDeleteModeLineReq *oldstuff =
+         (xXF86OldVidModeDeleteModeLineReq *) client->requestBuffer;
+     int ver;
+ 
+-     REQUEST(xXF86VidModeDeleteModeLineReq);
+-     ver = ClientMajorVersion(client);
++    REQUEST(xXF86VidModeDeleteModeLineReq);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         swaps(&oldstuff->length);
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeDeleteModeLineReq);
+@@ -1710,13 +1792,14 @@ static int
+ }
+ 
+ static int
+- SProcXF86VidModeModModeLine(ClientPtr client) {
++SProcXF86VidModeModModeLine(ClientPtr client)
++{
+     xXF86OldVidModeModModeLineReq *oldstuff =
+         (xXF86OldVidModeModModeLineReq *) client->requestBuffer;
+     int ver;
+ 
+-     REQUEST(xXF86VidModeModModeLineReq);
+-     ver = ClientMajorVersion(client);
++    REQUEST(xXF86VidModeModModeLineReq);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         swaps(&oldstuff->length);
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeModModeLineReq);
+@@ -1754,13 +1837,14 @@ static int
+ }
+ 
+ static int
+- SProcXF86VidModeValidateModeLine(ClientPtr client) {
++SProcXF86VidModeValidateModeLine(ClientPtr client)
++{
+     xXF86OldVidModeValidateModeLineReq *oldstuff =
+         (xXF86OldVidModeValidateModeLineReq *) client->requestBuffer;
+     int ver;
+ 
+-     REQUEST(xXF86VidModeValidateModeLineReq);
+-     ver = ClientMajorVersion(client);
++    REQUEST(xXF86VidModeValidateModeLineReq);
++    ver = ClientMajorVersion(client);
+     if (ver < 2) {
+         swaps(&oldstuff->length);
+         REQUEST_AT_LEAST_SIZE(xXF86OldVidModeValidateModeLineReq);
+@@ -1798,44 +1882,60 @@ static int
+ }
+ 
+ static int
+- SProcXF86VidModeSwitchMode(ClientPtr client) {
++SProcXF86VidModeSwitchMode(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSwitchModeReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeSwitchModeReq);
+     swaps(&stuff->screen);
+     swaps(&stuff->zoom);
+     return ProcXF86VidModeSwitchMode(client);
+-} static int
+- SProcXF86VidModeSwitchToMode(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeSwitchToMode(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSwitchToModeReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeSwitchToModeReq);
+     swapl(&stuff->screen);
+     return ProcXF86VidModeSwitchToMode(client);
+-} static int
+- SProcXF86VidModeLockModeSwitch(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeLockModeSwitch(ClientPtr client)
++{
+     REQUEST(xXF86VidModeLockModeSwitchReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeLockModeSwitchReq);
+     swaps(&stuff->screen);
+     swaps(&stuff->lock);
+     return ProcXF86VidModeLockModeSwitch(client);
+-} static int
+- SProcXF86VidModeGetMonitor(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetMonitor(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetMonitorReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetMonitorReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetMonitor(client);
+-} static int
+- SProcXF86VidModeGetViewPort(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetViewPort(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetViewPortReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetViewPortReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetViewPort(client);
+-} static int
+- SProcXF86VidModeSetViewPort(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeSetViewPort(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetViewPortReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeSetViewPortReq);
+@@ -1843,23 +1943,32 @@ static int
+     swapl(&stuff->x);
+     swapl(&stuff->y);
+     return ProcXF86VidModeSetViewPort(client);
+-} static int
+- SProcXF86VidModeGetDotClocks(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetDotClocks(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetDotClocksReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetDotClocksReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetDotClocks(client);
+-} static int
+- SProcXF86VidModeSetClientVersion(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeSetClientVersion(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetClientVersionReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeSetClientVersionReq);
+     swaps(&stuff->major);
+     swaps(&stuff->minor);
+     return ProcXF86VidModeSetClientVersion(client);
+-} static int
+- SProcXF86VidModeSetGamma(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeSetGamma(ClientPtr client)
++{
+     REQUEST(xXF86VidModeSetGammaReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeSetGammaReq);
+@@ -1868,120 +1977,145 @@ static int
+     swapl(&stuff->green);
+     swapl(&stuff->blue);
+     return ProcXF86VidModeSetGamma(client);
+-} static int
+- SProcXF86VidModeGetGamma(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetGamma(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetGammaReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetGamma(client);
+-} static int
+- SProcXF86VidModeSetGammaRamp(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeSetGammaRamp(ClientPtr client)
++{
+     int length;
+-     REQUEST(xXF86VidModeSetGammaRampReq);
+-     swaps(&stuff->length);
+-     REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq);
+-     swaps(&stuff->size);
+-     swaps(&stuff->screen);
+-     length = ((stuff->size + 1) & ~1) * 6;
+-     REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
+-     SwapRestS(stuff);
+-     return ProcXF86VidModeSetGammaRamp(client);
+-} static int
+- SProcXF86VidModeGetGammaRamp(ClientPtr client) {
++
++    REQUEST(xXF86VidModeSetGammaRampReq);
++    swaps(&stuff->length);
++    REQUEST_AT_LEAST_SIZE(xXF86VidModeSetGammaRampReq);
++    swaps(&stuff->size);
++    swaps(&stuff->screen);
++    length = ((stuff->size + 1) & ~1) * 6;
++    REQUEST_FIXED_SIZE(xXF86VidModeSetGammaRampReq, length);
++    SwapRestS(stuff);
++    return ProcXF86VidModeSetGammaRamp(client);
++}
++
++static int
++SProcXF86VidModeGetGammaRamp(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetGammaRampReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampReq);
+     swaps(&stuff->size);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetGammaRamp(client);
+-} static int
+- SProcXF86VidModeGetGammaRampSize(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetGammaRampSize(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetGammaRampSizeReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetGammaRampSizeReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetGammaRampSize(client);
+-} static int
+- SProcXF86VidModeGetPermissions(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeGetPermissions(ClientPtr client)
++{
+     REQUEST(xXF86VidModeGetPermissionsReq);
+     swaps(&stuff->length);
+     REQUEST_SIZE_MATCH(xXF86VidModeGetPermissionsReq);
+     swaps(&stuff->screen);
+     return ProcXF86VidModeGetPermissions(client);
+-} static int
+- SProcXF86VidModeDispatch(ClientPtr client) {
++}
++
++static int
++SProcXF86VidModeDispatch(ClientPtr client)
++{
+     REQUEST(xReq);
+     switch (stuff->data) {
+     case X_XF86VidModeQueryVersion:
+         return SProcXF86VidModeQueryVersion(client);
+-        case X_XF86VidModeGetModeLine:return
+-            SProcXF86VidModeGetModeLine(client);
+-        case X_XF86VidModeGetMonitor:return SProcXF86VidModeGetMonitor(client);
+-        case X_XF86VidModeGetAllModeLines:return
+-            SProcXF86VidModeGetAllModeLines(client);
+-        case X_XF86VidModeGetViewPort:return
+-            SProcXF86VidModeGetViewPort(client);
+-        case X_XF86VidModeValidateModeLine:return
+-            SProcXF86VidModeValidateModeLine(client);
+-        case X_XF86VidModeGetDotClocks:return
+-            SProcXF86VidModeGetDotClocks(client);
+-        case X_XF86VidModeSetClientVersion:return
+-            SProcXF86VidModeSetClientVersion(client);
+-        case X_XF86VidModeGetGamma:return SProcXF86VidModeGetGamma(client);
+-        case X_XF86VidModeGetGammaRamp:return
+-            SProcXF86VidModeGetGammaRamp(client);
+-        case X_XF86VidModeGetGammaRampSize:return
+-            SProcXF86VidModeGetGammaRampSize(client);
+-        case X_XF86VidModeGetPermissions:return
+-            SProcXF86VidModeGetPermissions(client);
+-        default:if (!xf86GetVidModeEnabled())
++    case X_XF86VidModeGetModeLine:
++        return SProcXF86VidModeGetModeLine(client);
++    case X_XF86VidModeGetMonitor:
++        return SProcXF86VidModeGetMonitor(client);
++    case X_XF86VidModeGetAllModeLines:
++        return SProcXF86VidModeGetAllModeLines(client);
++    case X_XF86VidModeGetViewPort:
++        return SProcXF86VidModeGetViewPort(client);
++    case X_XF86VidModeValidateModeLine:
++        return SProcXF86VidModeValidateModeLine(client);
++    case X_XF86VidModeGetDotClocks:
++        return SProcXF86VidModeGetDotClocks(client);
++    case X_XF86VidModeSetClientVersion:
++        return SProcXF86VidModeSetClientVersion(client);
++    case X_XF86VidModeGetGamma:
++        return SProcXF86VidModeGetGamma(client);
++    case X_XF86VidModeGetGammaRamp:
++        return SProcXF86VidModeGetGammaRamp(client);
++    case X_XF86VidModeGetGammaRampSize:
++        return SProcXF86VidModeGetGammaRampSize(client);
++    case X_XF86VidModeGetPermissions:
++        return SProcXF86VidModeGetPermissions(client);
++    default:
++        if (!xf86GetVidModeEnabled())
+             return VidModeErrorBase + XF86VidModeExtensionDisabled;
+         if (xf86GetVidModeAllowNonLocal() || LocalClient(client)) {
+             switch (stuff->data) {
+             case X_XF86VidModeAddModeLine:
+                 return SProcXF86VidModeAddModeLine(client);
+-                case X_XF86VidModeDeleteModeLine:return
+-                    SProcXF86VidModeDeleteModeLine(client);
+-                case X_XF86VidModeModModeLine:return
+-                    SProcXF86VidModeModModeLine(client);
+-                case X_XF86VidModeSwitchMode:return
+-                    SProcXF86VidModeSwitchMode(client);
+-                case X_XF86VidModeSwitchToMode:return
+-                    SProcXF86VidModeSwitchToMode(client);
+-                case X_XF86VidModeLockModeSwitch:return
+-                    SProcXF86VidModeLockModeSwitch(client);
+-                case X_XF86VidModeSetViewPort:return
+-                    SProcXF86VidModeSetViewPort(client);
+-                case X_XF86VidModeSetGamma:return
+-                    SProcXF86VidModeSetGamma(client);
+-                case X_XF86VidModeSetGammaRamp:return
+-                    SProcXF86VidModeSetGammaRamp(client);
+-                default:return BadRequest;
+-        }}
++            case X_XF86VidModeDeleteModeLine:
++                return SProcXF86VidModeDeleteModeLine(client);
++            case X_XF86VidModeModModeLine:
++                return SProcXF86VidModeModModeLine(client);
++            case X_XF86VidModeSwitchMode:
++                return SProcXF86VidModeSwitchMode(client);
++            case X_XF86VidModeSwitchToMode:
++                return SProcXF86VidModeSwitchToMode(client);
++            case X_XF86VidModeLockModeSwitch:
++                return SProcXF86VidModeLockModeSwitch(client);
++            case X_XF86VidModeSetViewPort:
++                return SProcXF86VidModeSetViewPort(client);
++            case X_XF86VidModeSetGamma:
++                return SProcXF86VidModeSetGamma(client);
++            case X_XF86VidModeSetGammaRamp:
++                return SProcXF86VidModeSetGammaRamp(client);
++            default:
++                return BadRequest;
++            }
++        }
+         else
+-             return VidModeErrorBase + XF86VidModeClientNotLocal;
++            return VidModeErrorBase + XF86VidModeClientNotLocal;
+     }
+ }
+ 
+ void
+- XFree86VidModeExtensionInit(void) {
++XFree86VidModeExtensionInit(void)
++{
+     ExtensionEntry *extEntry;
+     ScreenPtr pScreen;
+     int i;
+     Bool enabled = FALSE;
+ 
+-     DEBUG_P("XFree86VidModeExtensionInit");
++    DEBUG_P("XFree86VidModeExtensionInit");
+ 
+     if (!dixRegisterPrivateKey(&VidModeClientPrivateKeyRec, PRIVATE_CLIENT, 0))
+-         return;
++        return;
+ #ifdef XF86VIDMODE_EVENTS
+     if (!dixRegisterPrivateKey(&ScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
+-         return;
++        return;
+ #endif
+ 
+ #ifdef XF86VIDMODE_EVENTS
+-     EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
++    EventType = CreateNewResourceType(XF86VidModeFreeEvents, "VidModeEvent");
+ #endif
+ 
+     for (i = 0; i < screenInfo.numScreens; i++) {
+@@ -1990,8 +2124,8 @@ void
+             enabled = TRUE;
+     }
+     /* This means that the DDX doesn't want the vidmode extension enabled */
+-        if (!enabled)
+-         return;
++    if (!enabled)
++        return;
+ 
+     if (
+ #ifdef XF86VIDMODE_EVENTS
+--
+cgit v0.9.0.2-2-gbebe
+From 15607cf2dc87405606b20113011f1ebd97637d32 Mon Sep 17 00:00:00 2001
+From: Daniel Kurtz <djkurtz@chromium.org>
+Date: Thu, 12 Apr 2012 00:11:10 +0000
+Subject: dix: don't BUG_WARN for button events from button-only device
+
+Events from button-only devices still need coordinates, and they get them
+from scale_to_desktop().  Therefore, a dev without valuators is not a bug.
+However, a dev with valuators, but less than two of them still is a bug.
+
+This was noticed when unplugging a "Creative Technology SB Arena Headset",
+which has some BTNs and some KEYs, but no REL or ABS valuators.
+It emits [BTN_3] = 0 on unplug, which would trigger the BUG_WARN.
+
+Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
+Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+(cherry picked from commit c5a45b0f7658c77725adce2b64a0fbd62f208328)
+---
+diff --git a/dix/getevents.c b/dix/getevents.c
+index 4e0af45..9dc9617 100644
+--- a/dix/getevents.c
++++ b/dix/getevents.c
+@@ -842,7 +842,7 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask,
+     ScreenPtr scr = miPointerGetScreen(dev);
+     double x, y;
+ 
+-    BUG_WARN(!dev->valuator || dev->valuator->numAxes < 2);
++    BUG_WARN(dev->valuator && dev->valuator->numAxes < 2);
+     if (!dev->valuator || dev->valuator->numAxes < 2) {
+         /* if we have no axes, last.valuators must be in screen coords
+          * anyway */
+--
+cgit v0.9.0.2-2-gbebe
+From f8d2ca759ad37d5e99d462f21a2259ce17bb1a00 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 18 Apr 2012 05:56:37 +0000
+Subject: dix: indentation fix
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+(cherry picked from commit ebf214876a4885a98ded4f5525925b69005fae05)
+---
+diff --git a/dix/dispatch.c b/dix/dispatch.c
+index 9a2e22f..d971805 100644
+--- a/dix/dispatch.c
++++ b/dix/dispatch.c
+@@ -416,8 +416,8 @@ Dispatch(void)
+                 if (XSERVER_REQUEST_START_ENABLED())
+                     XSERVER_REQUEST_START(LookupMajorName(client->majorOp),
+                                           client->majorOp,
+-                                          ((xReq *) client->requestBuffer)->
+-                                          length, client->index,
++                                          ((xReq *) client->requestBuffer)->length,
++                                          client->index,
+                                           client->requestBuffer);
+ #endif
+                 if (result > (maxBigRequestSize << 2))
+--
+cgit v0.9.0.2-2-gbebe
+From f012f0c48dedba4df69cc1a1ecdf8ee5d37daca9 Mon Sep 17 00:00:00 2001
+From: Michal Suchanek <hramrach@gmail.com>
+Date: Thu, 26 Apr 2012 13:11:20 +0000
+Subject: dmx: Annotate dmxlog.c with _X_ATTRIBUTE_PRINTF and _X_NORETURN
+
+and fix resulting printf warning in dmxLogVisual
+
+Signed-off-by: Michal Suchanek <hramrach@gmail.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+(cherry picked from commit d662fa2450856777b59c4b62b912395a8bfd52fd)
+---
+diff --git a/hw/dmx/dmxlog.c b/hw/dmx/dmxlog.c
+index b56bb93..151f672 100644
+--- a/hw/dmx/dmxlog.c
++++ b/hw/dmx/dmxlog.c
+@@ -86,6 +86,8 @@ ErrorF(const char *format, ...)
+ 
+ /** Provide an VFatalError function when used stand-alone. */
+ static void
++VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN;
++static void
+ VFatalError(const char *format, va_list args)
+ {
+     vfprintf(stderr, format, args);     /* RATS: We assume the format string
+@@ -104,7 +106,9 @@ VErrorF(const char *format, va_list args)
+ }
+ #else
+ /** This function was removed between XFree86 4.3.0 and XFree86 4.4.0. */
+-extern void AbortServer(void);
++extern void AbortServer(void) _X_NORETURN;
++static void
++VFatalError(const char *format, va_list args) _X_ATTRIBUTE_PRINTF(1, 0) _X_NORETURN;
+ static void
+ VFatalError(const char *format, va_list args)
+ {
+@@ -166,6 +170,8 @@ dmxHeader(dmxLogLevel logLevel, DMXInputInfo * dmxInput,
+ /* Prints the error message with the appropriate low-level X output
+  * routine. */
+ static void
++dmxMessage(dmxLogLevel logLevel, const char *format, va_list args) _X_ATTRIBUTE_PRINTF(2, 0);
++static void
+ dmxMessage(dmxLogLevel logLevel, const char *format, va_list args)
+ {
+     if (logLevel == dmxFatal || logLevel >= dmxCurrentLogLevel) {
+@@ -303,10 +309,11 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual)
+         class = "DirectColor";
+         break;
+     }
++#define VisualLogFormat "0x%02lx %s %2db %db/rgb %3d 0x%04lx 0x%04lx 0x%04lx%s\n"
+ 
+     if (dmxScreen) {
+         dmxLogOutput(dmxScreen,
+-                     "0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n",
++                     VisualLogFormat,
+                      vi->visualid, class, vi->depth, vi->bits_per_rgb,
+                      vi->colormap_size,
+                      vi->red_mask, vi->green_mask, vi->blue_mask,
+@@ -314,7 +321,7 @@ dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi, int defaultVisual)
+     }
+     else {
+         dmxLog(dmxInfo,
+-               "  0x%02x %s %2db %db/rgb %3d 0x%04x 0x%04x 0x%04x%s\n",
++               "  " VisualLogFormat,
+                vi->visualid, class, vi->depth, vi->bits_per_rgb,
+                vi->colormap_size,
+                vi->red_mask, vi->green_mask, vi->blue_mask,
+diff --git a/hw/dmx/dmxlog.h b/hw/dmx/dmxlog.h
+index 4d4cd26..162484b 100644
+--- a/hw/dmx/dmxlog.h
++++ b/hw/dmx/dmxlog.h
+@@ -55,18 +55,23 @@ typedef enum {
+ /* Logging functions used by Xserver/hw/dmx routines. */
+ extern dmxLogLevel dmxSetLogLevel(dmxLogLevel newLevel);
+ extern dmxLogLevel dmxGetLogLevel(void);
+-extern void dmxLog(dmxLogLevel logLevel, const char *format, ...);
+-extern void dmxLogCont(dmxLogLevel logLevel, const char *format, ...);
++extern void dmxLog(dmxLogLevel logLevel, const char *format,
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
++extern void dmxLogCont(dmxLogLevel logLevel, const char *format,
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
+ extern const char *dmxEventName(int type);
+ 
+ #ifndef DMX_LOG_STANDALONE
+-extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format, ...);
++extern void dmxLogOutput(DMXScreenInfo * dmxScreen, const char *format,
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
+ extern void dmxLogOutputCont(DMXScreenInfo * dmxScreen, const char *format,
+-                             ...);
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
+ extern void dmxLogOutputWarning(DMXScreenInfo * dmxScreen, const char *format,
+-                                ...);
+-extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format, ...);
+-extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format, ...);
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
++extern void dmxLogInput(DMXInputInfo * dmxInput, const char *format,
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
++extern void dmxLogInputCont(DMXInputInfo * dmxInput, const char *format,
++                             ...) _X_ATTRIBUTE_PRINTF(2, 3);
+ extern void dmxLogArgs(dmxLogLevel logLevel, int argc, char **argv);
+ extern void dmxLogVisual(DMXScreenInfo * dmxScreen, XVisualInfo * vi,
+                          int defaultVisual);
+--
+cgit v0.9.0.2-2-gbebe
+From 58dfb13953af71021317b9d85230b1163198f031 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu@apple.com>
+Date: Thu, 10 May 2012 07:53:20 +0000
+Subject: Revert "dix: when disabling a device, release all buttons and keys"
+
+This reverts commit 90299556db24543bb7365e8c2897deca3aa219e7.
+
+The commit being reverted triggered a segfault on server shutdown when a
+device posts raw events after the root windows are forced to NULL.
+
+https://lists.debian.org/debian-x/2012/05/msg00240.html
+
+Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
+---
+diff --git a/dix/devices.c b/dix/devices.c
+index d0e99bd..0125504 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -432,8 +432,6 @@ DisableDevice(DeviceIntPtr dev, BOOL sendevent)
+     if (*prev != dev)
+         return FALSE;
+ 
+-    ReleaseButtonsAndKeys(dev);
+-
+     /* float attached devices */
+     if (IsMaster(dev)) {
+         for (other = inputInfo.devices; other; other = other->next) {
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/core/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch b/abs/core/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch
deleted file mode 100644
index 4e782f1..0000000
--- a/abs/core/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Remove the default root window grey stipple pattern, replacing it with
-blackness.
-
---- xc/programs/Xserver/dix/window.c.die-ugly-pattern-die-die-die	Tue Feb 12 16:33:04 2002
-+++ xc/programs/Xserver/dix/window.c	Tue Feb 12 16:45:32 2002
-@@ -119,8 +119,8 @@
-  *
-  ******/
- 
--static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11};
--static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88};
-+static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00};
-+static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00};
- 
- int screenIsSaved = SCREEN_SAVER_OFF;
- 
diff --git a/abs/core/xorg-sessreg/PKGBUILD b/abs/core/xorg-sessreg/PKGBUILD
new file mode 100644
index 0000000..aa97c8f
--- /dev/null
+++ b/abs/core/xorg-sessreg/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 141120 2011-10-24 12:17:34Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-sessreg
+pkgver=1.0.7
+pkgrel=1
+pkgdesc="Register X sessions in system utmp/utmpx databases"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-util-macros' 'xproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/sessreg-${pkgver}.tar.bz2)
+sha256sums=('8734ee580264ab92e984d8f84611dada89906d6b548334a5e7d4b0ddba7c2e52')
+
+build() {
+  cd "${srcdir}/sessreg-${pkgver}"
+  ./configure --prefix=/usr
+  make
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-setxkbmap/PKGBUILD b/abs/core/xorg-setxkbmap/PKGBUILD
new file mode 100644
index 0000000..f48a852
--- /dev/null
+++ b/abs/core/xorg-setxkbmap/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 154148 2012-03-23 17:34:14Z andyrtr $
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=xorg-setxkbmap
+pkgver=1.3.0
+pkgrel=1
+pkgdesc='Set the keyboard using the X Keyboard Extension'
+url='http://xorg.freedesktop.org/'
+license=('custom')
+arch=('i686' 'x86_64')
+depends=('libxkbfile')
+makedepends=('xorg-util-macros')
+source=("${url}/releases/individual/app/setxkbmap-${pkgver}.tar.bz2")
+sha1sums=('d10885d6215b06789961c67557df46406f99c2b7')
+
+groups=('xorg-apps' 'xorg')
+
+build() {
+	cd "${srcdir}/setxkbmap-${pkgver}"
+	./configure --prefix=/usr
+	make
+}
+
+package() {
+	cd "${srcdir}/setxkbmap-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-util-macros/PKGBUILD b/abs/core/xorg-util-macros/PKGBUILD
index 49d073c..f550a1f 100644
--- a/abs/core/xorg-util-macros/PKGBUILD
+++ b/abs/core/xorg-util-macros/PKGBUILD
@@ -1,21 +1,22 @@
-# $Id: PKGBUILD 97536 2010-10-31 15:33:40Z jgc $
+# $Id: PKGBUILD 153461 2012-03-14 17:38:45Z andyrtr $
 #Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-util-macros
-pkgver=1.11.0
-pkgrel=2
+pkgver=1.17
+pkgrel=1
 pkgdesc="X.Org Autotools macros"
 arch=(any)
 license=('custom')
 url="http://xorg.freedesktop.org/"
 source=(${url}/releases/individual/util/util-macros-${pkgver}.tar.bz2)
-sha1sums=('646188eeca4fa319d95aba7a271149bcbf9ee49e')
+sha1sums=('c424a09fa6f628e24eff74496acebef13e8093b9')
 
 build() {
   cd "${srcdir}/util-macros-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/util-macros-${pkgver}"
   make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xorg-x11perf/PKGBUILD b/abs/core/xorg-x11perf/PKGBUILD
index 3d9f84d..7c7479dc 100644
--- a/abs/core/xorg-x11perf/PKGBUILD
+++ b/abs/core/xorg-x11perf/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: $
+# $Id: PKGBUILD 134289 2011-08-02 18:59:18Z jgc $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-x11perf
-pkgver=1.5.2
-pkgrel=2
+pkgver=1.5.4
+pkgrel=1
 pkgdesc="Simple X server performance benchmarker"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libx11' 'libxmu' 'libxrender' 'libxft' 'libxext')
 makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
 source=(http://xorg.freedesktop.org/archive/individual/app/x11perf-${pkgver}.tar.bz2)
-sha1sums=('ca693d23cd343df51baac76e693e769ce5ef6a30')
+sha256sums=('24ee8857a2bf414b360addabf1c27ef797f7f504ee9bc409c151760bfbe53184')
 
 build() {
   cd "${srcdir}/x11perf-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/x11perf-${pkgver}"
   make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xorg-xauth/PKGBUILD b/abs/core/xorg-xauth/PKGBUILD
index 4736f05..cc8d300 100644
--- a/abs/core/xorg-xauth/PKGBUILD
+++ b/abs/core/xorg-xauth/PKGBUILD
@@ -1,25 +1,28 @@
-# $Id: PKGBUILD 57490 2009-10-31 18:31:09Z jgc $
+# $Id: PKGBUILD 154150 2012-03-23 19:14:18Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
+
 pkgname=xorg-xauth
-pkgver=1.0.4
-pkgrel=2
+pkgver=1.0.7
+pkgrel=1
 pkgdesc="X.Org authorization settings program"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
 license=('custom')
 url="http://xorg.freedesktop.org/"
 depends=('libxmu')
-makedepends=('pkgconfig')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
 source=(${url}/releases/individual/app/xauth-${pkgver}.tar.bz2)
-md5sums=('fa00078c414c4a57cab7a6d89a0c8734')
+sha1sums=('54f93f0539a98900c36c4f7c8ae933f77699dc7b')
 
 build() {
   cd "${srcdir}/xauth-${pkgver}"
-  ./configure --prefix=/usr || return 1
-  make || return 1
+  ./configure --prefix=/usr
+  make
 }
+
 package() {
   cd "${srcdir}/xauth-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
+  make DESTDIR="${pkgdir}" install
   install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
 }
diff --git a/abs/core/xorg-xbacklight/PKGBUILD b/abs/core/xorg-xbacklight/PKGBUILD
new file mode 100644
index 0000000..fd40c61
--- /dev/null
+++ b/abs/core/xorg-xbacklight/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151182 2012-02-25 07:02:48Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xbacklight
+pkgver=1.1.2
+pkgrel=3
+pkgdesc="RandR-based backlight control application"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxrandr' 'libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xbacklight-${pkgver}.tar.bz2)
+sha1sums=('e297b359ab83f3844ca5ea1c23280b2f8bb71cfd')
+
+build() {
+  cd "${srcdir}/xbacklight-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xbacklight-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xcmsdb/PKGBUILD b/abs/core/xorg-xcmsdb/PKGBUILD
new file mode 100644
index 0000000..37346f9
--- /dev/null
+++ b/abs/core/xorg-xcmsdb/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 150238 2012-02-15 16:35:38Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xcmsdb
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="Device Color Characterization utility for X Color Management System"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xcmsdb-${pkgver}.tar.bz2)
+sha1sums=('a633f76af38ea40b33d55c3ac820fd19f17f9428')
+
+build() {
+  cd "${srcdir}/xcmsdb-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xcmsdb-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xcursorgen/PKGBUILD b/abs/core/xorg-xcursorgen/PKGBUILD
index 146cdd6..df9997a 100644
--- a/abs/core/xorg-xcursorgen/PKGBUILD
+++ b/abs/core/xorg-xcursorgen/PKGBUILD
@@ -1,23 +1,25 @@
-# $Id: $
+# $Id: PKGBUILD 154152 2012-03-23 19:18:20Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xcursorgen
-pkgver=1.0.4
-pkgrel=2
+pkgver=1.0.5
+pkgrel=1
 pkgdesc="Create an X cursor file from PNG images"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libx11' 'libxcursor' 'libpng')
 makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
 source=(http://xorg.freedesktop.org/archive/individual/app/xcursorgen-${pkgver}.tar.bz2)
-sha1sums=('244c180aae8cc07175b93f314d5bbbf24171658a')
+sha1sums=('1d0ca82422d328522b06b218f86b5901a7d5521b')
 
 build() {
   cd "${srcdir}/xcursorgen-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/xcursorgen-${pkgver}"
   make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xorg-xcursorgen/xorg-xkill/PKGBUILD b/abs/core/xorg-xcursorgen/xorg-xkill/PKGBUILD
deleted file mode 100644
index 10f354d..0000000
--- a/abs/core/xorg-xcursorgen/xorg-xkill/PKGBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# $Id: $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xorg-xkill
-pkgver=1.0.3
-pkgrel=1
-pkgdesc="Kill a client by its X resource"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-license=('custom')
-depends=('libx11' 'libxmu')
-makedepends=('xorg-util-macros')
-source=(http://xorg.freedesktop.org/archive/individual/app/xkill-${pkgver}.tar.bz2)
-sha1sums=('bab7b9c7f3bc053d743eb339cf5fa496bace57e5')
-
-build() {
-  cd "${srcdir}/xkill-${pkgver}"
-  ./configure --prefix=/usr
-  make
-  make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-}
diff --git a/abs/core/xorg-xdpyinfo/PKGBUILD b/abs/core/xorg-xdpyinfo/PKGBUILD
index 9ee844a..b410125 100644
--- a/abs/core/xorg-xdpyinfo/PKGBUILD
+++ b/abs/core/xorg-xdpyinfo/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id$
+# $Id: PKGBUILD 141118 2011-10-24 12:15:25Z jgc $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xdpyinfo
diff --git a/abs/core/xorg-xdriinfo/PKGBUILD b/abs/core/xorg-xdriinfo/PKGBUILD
new file mode 100644
index 0000000..e2fb4a3
--- /dev/null
+++ b/abs/core/xorg-xdriinfo/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 150958 2012-02-24 10:06:30Z pierre $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xdriinfo
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="Query configuration information of DRI drivers"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libgl')
+makedepends=('xorg-util-macros' 'glproto' 'mesa')
+groups=('xorg-apps' 'xorg')
+source=("http://xorg.freedesktop.org/archive/individual/app/xdriinfo-${pkgver}.tar.bz2")
+sha1sums=('723482b3fc627d7cc6124fec43dd1c21d102daaa')
+
+build() {
+  cd "${srcdir}/xdriinfo-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xdriinfo-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xev/PKGBUILD b/abs/core/xorg-xev/PKGBUILD
new file mode 100644
index 0000000..c0380e6
--- /dev/null
+++ b/abs/core/xorg-xev/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 150821 2012-02-23 07:20:15Z andyrtr $
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=xorg-xev
+pkgver=1.2.0
+pkgrel=1
+pkgdesc='Print contents of X events'
+url='http://xorg.freedesktop.org/'
+arch=('i686' 'x86_64')
+license=('custom')
+depends=('libx11' 'libxrandr')
+makedepends=('xorg-util-macros' 'xproto')
+source=("http://xorg.freedesktop.org/archive/individual/app/xev-${pkgver}.tar.bz2")
+sha1sums=('6b05706ed39382b5d08c5351c00ba7e127709eec')
+groups=('xorg-apps' 'xorg')
+
+build() {
+	cd "${srcdir}/xev-${pkgver}"
+	./configure --prefix=/usr
+	make
+}
+
+package() {
+	cd "${srcdir}/xev-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xgamma/PKGBUILD b/abs/core/xorg-xgamma/PKGBUILD
new file mode 100644
index 0000000..e77997d
--- /dev/null
+++ b/abs/core/xorg-xgamma/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 154160 2012-03-23 20:11:06Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xgamma
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="Alter a monitor's gamma correction"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxxf86vm')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xgamma-${pkgver}.tar.bz2)
+sha1sums=('9cd3272fd24f51b75223cf9c59949ded6df04800')
+
+build() {
+  cd "${srcdir}/xgamma-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xgamma-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xhost/PKGBUILD b/abs/core/xorg-xhost/PKGBUILD
new file mode 100644
index 0000000..0703110
--- /dev/null
+++ b/abs/core/xorg-xhost/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 154154 2012-03-23 19:23:30Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xhost
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="Server access control program for X"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxmu')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xhost-${pkgver}.tar.bz2)
+sha1sums=('c9ad0447c709fc7a9a2afbbca712cf47fbb29757')
+
+build() {
+  cd "${srcdir}/xhost-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xhost-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xinit/PKGBUILD b/abs/core/xorg-xinit/PKGBUILD
index 9bbf6f6..f4d5673 100644
--- a/abs/core/xorg-xinit/PKGBUILD
+++ b/abs/core/xorg-xinit/PKGBUILD
@@ -1,39 +1,44 @@
-# $Id: PKGBUILD 99539 2010-11-15 11:06:22Z jgc $
-# Maintainer: Alexander Baldeck <alexander@archlinux.org>
-# Contributor: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 149821 2012-02-11 08:52:05Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
 pkgname=xorg-xinit
-pkgver=1.3.0
-pkgrel=2
+pkgver=1.3.2
+pkgrel=1
 pkgdesc="X.Org initialisation program "
 arch=('i686' 'x86_64')
 license=('custom')
 url="http://xorg.freedesktop.org/"
-depends=('libx11' 'xorg-xauth')
+depends=('libx11' 'xorg-xauth' 'inetutils')
 makedepends=('xorg-util-macros')
 optdepends=('xorg-twm' 'xterm')
 backup=('etc/skel/.xinitrc'
         'etc/skel/.xsession'
         'etc/X11/xinit/xserverrc'
         'etc/X11/xinit/xinitrc')
-groups=('xorg')
 source=(${url}/releases/individual/app/xinit-${pkgver}.tar.bz2
         06_move_serverauthfile_into_tmp.diff
+        fs25361.patch
         xinitrc
         xsession
         xserverrc)
 options=(!emptydirs)
-md5sums=('bc4e8b7d1919597cc37a0d24aa149dda'
+md5sums=('9c0943cbd83e489ad1b05221b97efd44'
          'abd072ec435ce084cf4e89c58f83d45c'
-         'cee2d70748a089fbc7db64a4a6e8fdb1'
+         '73a597d3fb7f5b9487318ac8cfd4bedf'
+         'c7b406c3c5c1e8011b3ac7d6b29c1a2c'
          '7873d97db30d6c279ed37e3559e7c59d'
-         'bb550d3b9a2d2b6cbe6e2667a3a7cd03')
+         'c5baef10fdb7239594daee72a94ddab3')
 
 build() {
   cd "${srcdir}/xinit-${pkgver}"
   patch -Np1 -i "${srcdir}/06_move_serverauthfile_into_tmp.diff"
+  patch -Np1 -i "${srcdir}/fs25361.patch"
+  sed -i -e 's/XSLASHGLOB.sh/XSLASHGLOB/' xinitrc.cpp
   ./configure --prefix=/usr --with-xinitdir=/etc/X11/xinit
   make
 }
+
 package() {
   cd "${srcdir}/xinit-${pkgver}"
   make DESTDIR="${pkgdir}" install
diff --git a/abs/core/xorg-xinit/fs25361.patch b/abs/core/xorg-xinit/fs25361.patch
new file mode 100644
index 0000000..4596122
--- /dev/null
+++ b/abs/core/xorg-xinit/fs25361.patch
@@ -0,0 +1,16 @@
+Common subdirectories: xinit.orig/privileged_startx and xinit/privileged_startx
+diff -u xinit.orig/startx.cpp xinit/startx.cpp
+--- xinit.orig/startx.cpp	2011-08-02 18:26:57.161711018 +0400
++++ xinit/startx.cpp	2011-08-02 19:06:39.348816866 +0400
+@@ -290,9 +290,9 @@
+     XCOMM now add the same credentials to the client authority file
+     XCOMM if '$displayname' already exists do not overwrite it as another
+     XCOMM server man need it. Add them to the '$xserverauthfile' instead.
+-    for displayname in $authdisplay $hostname$authdisplay; do
++    for displayname in $authdisplay $hostname/unix$authdisplay; do
+         authcookie=`XAUTH list "$displayname" @@
+-        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
++        | sed -n "s/.*$hostname\/unix$authdisplay[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+         if [ "z${authcookie}" = "z" ] ; then
+             XAUTH -q << EOF 
+ add $displayname . $mcookie
diff --git a/abs/core/xorg-xinit/xinitrc b/abs/core/xorg-xinit/xinitrc
index a5a3527..dbd080d 100644
--- a/abs/core/xorg-xinit/xinitrc
+++ b/abs/core/xorg-xinit/xinitrc
@@ -4,6 +4,13 @@
 #
 # Executed by startx (run your window manager from here)
 
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+  for f in /etc/X11/xinit/xinitrc.d/*; do
+    [ -x "$f" ] && . "$f"
+  done
+  unset f
+fi
+
 # exec gnome-session
 # exec startkde
 # exec startxfce4
diff --git a/abs/core/xorg-xinit/xserverrc b/abs/core/xorg-xinit/xserverrc
index 6a636c1..6f746cd 100644
--- a/abs/core/xorg-xinit/xserverrc
+++ b/abs/core/xorg-xinit/xserverrc
@@ -1 +1 @@
-exec /usr/bin/X -nolisten tcp
+exec /usr/bin/X -nolisten tcp "$@"
diff --git a/abs/core/xorg-xinput/PKGBUILD b/abs/core/xorg-xinput/PKGBUILD
new file mode 100644
index 0000000..f111082
--- /dev/null
+++ b/abs/core/xorg-xinput/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 159187 2012-05-17 13:48:28Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xinput
+pkgver=1.6.0
+pkgrel=1
+pkgdesc="Small commandline tool to configure devices"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxi>=1.5.99.2' 'xorg-xrandr' 'libxinerama')
+makedepends=('xorg-util-macros' 'inputproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xinput-${pkgver}.tar.bz2)
+sha256sums=('4ab007d952c76665603bcb82ceb15fd3929d10faf0580fc4873ac16f5f63847e')
+
+build() {
+  cd "${srcdir}/xinput-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xinput-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xkbcomp/PKGBUILD b/abs/core/xorg-xkbcomp/PKGBUILD
new file mode 100644
index 0000000..35dce4f
--- /dev/null
+++ b/abs/core/xorg-xkbcomp/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 154156 2012-03-23 20:01:59Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbcomp
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="X Keyboard description compiler"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxkbfile')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(${url}/releases/individual/app/xkbcomp-${pkgver}.tar.bz2)
+sha1sums=('695d2f2824884d9e54aa1419282ae167fdea163b')
+
+build() {
+  cd "${srcdir}/xkbcomp-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xkbcomp-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xkbevd/PKGBUILD b/abs/core/xorg-xkbevd/PKGBUILD
new file mode 100644
index 0000000..0f523d9
--- /dev/null
+++ b/abs/core/xorg-xkbevd/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 154162 2012-03-23 20:16:23Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbevd
+pkgver=1.1.3
+pkgrel=1
+pkgdesc="XKB event daemon"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxkbfile')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=("${url}/releases/individual/app/xkbevd-${pkgver}.tar.bz2")
+sha1sums=('543963ba22b019b4e059e8605eb418f8a712b76e')
+
+build() {
+  cd "${srcdir}/xkbevd-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xkbevd-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xkbutils/PKGBUILD b/abs/core/xorg-xkbutils/PKGBUILD
new file mode 100644
index 0000000..6584c6a
--- /dev/null
+++ b/abs/core/xorg-xkbutils/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151027 2012-02-24 13:40:04Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbutils
+pkgver=1.0.3
+pkgrel=3
+pkgdesc="XKB utility demos"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxt' 'libx11')
+makedepends=('xorg-util-macros' 'xproto' 'inputproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xkbutils-${pkgver}.tar.bz2)
+sha1sums=('e5a2619b9449f95e02b520b492de0575bc4551d6')
+
+build() {
+  cd "${srcdir}/xkbutils-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xkbutils-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xkill/PKGBUILD b/abs/core/xorg-xkill/PKGBUILD
index 9dc8133..867f20a 100644
--- a/abs/core/xorg-xkill/PKGBUILD
+++ b/abs/core/xorg-xkill/PKGBUILD
@@ -1,15 +1,16 @@
-# $Id: $
+# $Id: PKGBUILD 151025 2012-02-24 13:37:13Z allan $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xkill
 pkgver=1.0.3
-pkgrel=1
+pkgrel=3
 pkgdesc="Kill a client by its X resource"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libx11' 'libxmu')
 makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
 source=(http://xorg.freedesktop.org/archive/individual/app/xkill-${pkgver}.tar.bz2)
 sha1sums=('bab7b9c7f3bc053d743eb339cf5fa496bace57e5')
 
@@ -18,9 +19,9 @@ build() {
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/xkill-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xorg-xlsatoms/PKGBUILD b/abs/core/xorg-xlsatoms/PKGBUILD
new file mode 100644
index 0000000..eef3139
--- /dev/null
+++ b/abs/core/xorg-xlsatoms/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 154999 2012-04-01 10:01:56Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xlsatoms
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="List interned atoms defined on server"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxcb')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xlsatoms-${pkgver}.tar.bz2)
+sha1sums=('271880bf9dcd37b85b08e5f4a43e6015747b45e1')
+
+build() {
+  cd "${srcdir}/xlsatoms-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xlsatoms-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xlsclients/PKGBUILD b/abs/core/xorg-xlsclients/PKGBUILD
new file mode 100644
index 0000000..a79dddb
--- /dev/null
+++ b/abs/core/xorg-xlsclients/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151015 2012-02-24 13:22:35Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xlsclients
+pkgver=1.1.2
+pkgrel=2
+pkgdesc="List client applications running on a display"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxcb')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xlsclients-${pkgver}.tar.bz2)
+sha1sums=('c4051429c190444ae9ba327f0ad776a74eb7b27b')
+
+build() {
+  cd "${srcdir}/xlsclients-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xlsclients-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xmodmap/PKGBUILD b/abs/core/xorg-xmodmap/PKGBUILD
new file mode 100644
index 0000000..3005831
--- /dev/null
+++ b/abs/core/xorg-xmodmap/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 156637 2012-04-21 23:46:44Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xmodmap
+pkgver=1.0.7
+pkgrel=1
+pkgdesc="Utility for modifying keymaps and button mappings"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xmodmap-${pkgver}.tar.bz2)
+sha1sums=('9f9c6b7bd058c09a8e15b1c4f4eccb972e51ffef')
+
+build() {
+  cd "${srcdir}/xmodmap-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xmodmap-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xpr/PKGBUILD b/abs/core/xorg-xpr/PKGBUILD
index 9fa513a..11ba4ba 100644
--- a/abs/core/xorg-xpr/PKGBUILD
+++ b/abs/core/xorg-xpr/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: $
+# $Id: PKGBUILD 155001 2012-04-01 10:04:57Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xpr
-pkgver=1.0.3
-pkgrel=2
+pkgver=1.0.4
+pkgrel=1
 pkgdesc="Print an X window dump from xwd"
 arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
-depends=('libx11' 'libxmu')
+depends=('libx11' 'libxmu' 'sh')
 makedepends=('xorg-util-macros')
-source=(http://xorg.freedesktop.org/archive/individual/app/xpr-${pkgver}.tar.bz2
-        copyright.patch)
-sha1sums=('9dbd0ff136b612285e00d92d0c7675a4207b1c4a'
-          'd2649781330400b83cf3553d9cfd6e02dd93a2bd')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xpr-${pkgver}.tar.bz2)
+sha1sums=('0645404e9aa2c9f979e4d006c483633bf6cfc2d9')
 
 build() {
   cd "${srcdir}/xpr-${pkgver}"
-  patch -Np1 -i "${srcdir}/copyright.patch"
   ./configure --prefix=/usr
   make
+}
+
+package() {
+  cd "${srcdir}/xpr-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xorg-xpr/copyright.patch b/abs/core/xorg-xpr/copyright.patch
deleted file mode 100644
index 18e7182..0000000
--- a/abs/core/xorg-xpr/copyright.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 11569289123fb178e23fd1aa284e9fa10e6c1e8c Mon Sep 17 00:00:00 2001
-From: Alan Coopersmith <alan.coopersmith@oracle.com>
-Date: Fri, 06 Aug 2010 22:09:48 +0000
-Subject: Fill in COPYING file with copyright notices from source code
-
-Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
----
-diff --git a/COPYING b/COPYING
-index 7f33cbf..0f9d8e0 100644
---- a/COPYING
-+++ b/COPYING
-@@ -1,12 +1,53 @@
--This is a stub file.  This package has not yet had its complete licensing
--information compiled.  Please see the individual source files for details on
--your rights to use and modify this software.
- 
--Please submit updated COPYING files to the Xorg bugzilla:
-+Copyright (c) 1985, 1988  X Consortium
- 
--https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
-+Permission is hereby granted, free of charge, to any person obtaining
-+a copy of this software and associated documentation files (the
-+"Software"), to deal in the Software without restriction, including
-+without limitation the rights to use, copy, modify, merge, publish,
-+distribute, sublicense, and/or sell copies of the Software, and to
-+permit persons to whom the Software is furnished to do so, subject to
-+the following conditions:
- 
--All licensing questions regarding this software should be directed at the
--Xorg mailing list:
-+The above copyright notice and this permission notice shall be included
-+in all copies or substantial portions of the Software.
- 
--http://lists.freedesktop.org/mailman/listinfo/xorg
-+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
-+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-+OTHER DEALINGS IN THE SOFTWARE.
-+
-+Except as contained in this notice, the name of the X Consortium shall
-+not be used in advertising or otherwise to promote the sale, use or
-+other dealings in this Software without prior written authorization
-+from the X Consortium.
-+
-+Copyright 1986 by Marvin Solomon and the University of Wisconsin
-+
-+Permission to use, copy, modify, and distribute this
-+software and its documentation for any purpose and without
-+fee is hereby granted, provided that the above copyright
-+notice appear in all copies and that both that copyright
-+notice and this permission notice appear in supporting
-+documentation, and that the names of Marvin Solomon and
-+the University of Wisconsin not be used in
-+advertising or publicity pertaining to distribution of the
-+software without specific, written prior permission.
-+Neither Marvin Solomon nor the University of Wisconsin
-+makes any representations about the suitability of
-+this software for any purpose.  It is provided "as is"
-+without express or implied warranty.
-+
-+Copyright (c) 1988 by Hewlett-Packard Company
-+
-+Permission to use, copy, modify, and distribute this software
-+and its documentation for any purpose and without fee is hereby
-+granted, provided that the above copyright notice appear in all
-+copies and that both that copyright notice and this permission
-+notice appear in supporting documentation, and that
-+Hewlett-Packard not be used in advertising or publicity
-+pertaining to distribution of the software without specific, written
-+prior permission.
---
-cgit v0.8.3-6-g21f6
diff --git a/abs/core/xorg-xprop/PKGBUILD b/abs/core/xorg-xprop/PKGBUILD
new file mode 100644
index 0000000..32e1211
--- /dev/null
+++ b/abs/core/xorg-xprop/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 130748 2011-07-07 22:27:50Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xprop
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="Property displayer for X"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xprop-${pkgver}.tar.bz2)
+sha1sums=('d531be0f5f2b7758216ea4d7890f88c42c5fa3fd')
+
+build() {
+  cd "${srcdir}/xprop-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xprop-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xrandr/PKGBUILD b/abs/core/xorg-xrandr/PKGBUILD
new file mode 100644
index 0000000..a208b1e
--- /dev/null
+++ b/abs/core/xorg-xrandr/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 130753 2011-07-07 22:30:11Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrandr
+pkgver=1.3.5
+pkgrel=1
+pkgdesc="Primitive command line interface to RandR extension"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxrandr' 'libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xrandr-${pkgver}.tar.bz2)
+sha1sums=('ef45925d5b0e72c73d21798d65a41d476fdb0d3f')
+
+build() {
+  cd "${srcdir}/xrandr-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xrandr-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  rm -f "${pkgdir}/usr/bin/xkeystone"
+}
diff --git a/abs/core/xorg-xrdb/PKGBUILD b/abs/core/xorg-xrdb/PKGBUILD
new file mode 100644
index 0000000..85b9266
--- /dev/null
+++ b/abs/core/xorg-xrdb/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151003 2012-02-24 13:05:19Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrdb
+pkgver=1.0.9
+pkgrel=2
+pkgdesc="X server resource database utility"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxmu' 'mcpp')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xrdb-${pkgver}.tar.bz2)
+sha1sums=('efa5f2420411988d6a6e142934393fd272507857')
+
+build() {
+  cd "${srcdir}/xrdb-${pkgver}"
+  ./configure --prefix=/usr --with-cpp=/usr/bin/mcpp
+  make
+}
+
+package() {
+  cd "${srcdir}/xrdb-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xrefresh/PKGBUILD b/abs/core/xorg-xrefresh/PKGBUILD
new file mode 100644
index 0000000..c5e36f9
--- /dev/null
+++ b/abs/core/xorg-xrefresh/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151005 2012-02-24 13:07:46Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrefresh
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="Refresh all or part of an X screen"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xrefresh-${pkgver}.tar.bz2)
+sha1sums=('5e85ee14ea9a357c1d4372bbc068a8d452a134aa')
+
+build() {
+  cd "${srcdir}/xrefresh-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xrefresh-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xset/PKGBUILD b/abs/core/xorg-xset/PKGBUILD
new file mode 100644
index 0000000..e483f06
--- /dev/null
+++ b/abs/core/xorg-xset/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 134284 2011-08-02 18:56:04Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xset
+pkgver=1.2.2
+pkgrel=1
+pkgdesc="User preference utility for X"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxmu')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xset-${pkgver}.tar.bz2)
+sha256sums=('61371c140030b8b05075a1378b34a4d7c438ed9159496a95f10782c6f4aec1e8')
+
+build() {
+  cd "${srcdir}/xset-${pkgver}"
+  ./configure --prefix=/usr --without-fontcache --without-xf86misc
+  make
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xsetroot/PKGBUILD b/abs/core/xorg-xsetroot/PKGBUILD
new file mode 100644
index 0000000..3af6da3
--- /dev/null
+++ b/abs/core/xorg-xsetroot/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151001 2012-02-24 13:02:20Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xsetroot
+pkgver=1.1.0
+pkgrel=3
+pkgdesc="Classic X utility to set your root window background to a given pattern or color"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxmu' 'libx11' 'libxcursor')
+makedepends=('xorg-util-macros' 'xbitmaps')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xsetroot-${pkgver}.tar.bz2)
+sha1sums=('1ef9ddd80c7013dc6d33e5c421537eb8b0427da4')
+
+build() {
+  cd "${srcdir}/xsetroot-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xsetroot-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xvinfo/PKGBUILD b/abs/core/xorg-xvinfo/PKGBUILD
new file mode 100644
index 0000000..84f5541
--- /dev/null
+++ b/abs/core/xorg-xvinfo/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 151163 2012-02-25 06:42:49Z allan $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xvinfo
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="Prints out the capabilities of any video adaptors associated with the display that are accessible through the X-Video extension"
+arch=('i686' 'x86_64')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxv')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xvinfo-${pkgver}.tar.bz2)
+sha1sums=('dc326464748fa608da50386112a89024804c1910')
+
+build() {
+  cd "${srcdir}/xvinfo-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xvinfo-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/abs/core/xorg-xwd/PKGBUILD b/abs/core/xorg-xwd/PKGBUILD
index 5fd334d..5773cb3 100644
--- a/abs/core/xorg-xwd/PKGBUILD
+++ b/abs/core/xorg-xwd/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: $
+# $Id: PKGBUILD 150997 2012-02-24 12:58:04Z allan $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xwd
-pkgver=1.0.4
-pkgrel=5
+pkgver=1.0.5
+pkgrel=2
 pkgdesc="X Window System image dumping utility"
 arch=('i686' 'x86_64')
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libx11')
-makedepends=('xorg-util-macros')
+makedepends=('xorg-util-macros' 'libxt')
+groups=('xorg-apps' 'xorg')
 source=(http://xorg.freedesktop.org/archive/individual/app/xwd-${pkgver}.tar.bz2)
-sha1sums=('4ef4fd9072a507e9a1ee88ba1d28b314006cc109')
+sha1sums=('3b0e4f3f9d28a07444e72952342e21544d4785b6')
 
 build() {
   cd "${srcdir}/xwd-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/xwd-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xorg-xwininfo/PKGBUILD b/abs/core/xorg-xwininfo/PKGBUILD
new file mode 100644
index 0000000..1e16302
--- /dev/null
+++ b/abs/core/xorg-xwininfo/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 130758 2011-07-07 22:32:22Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xwininfo
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="Command-line utility to print information about windows on an X server"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxcb')
+makedepends=('xorg-util-macros' 'libx11')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xwininfo-${pkgver}.tar.bz2)
+sha1sums=('c90b3c289f95474aa8eb6cf1bf4caf3b9dbf82d3')
+
+build() {
+  cd "${srcdir}/xwininfo-${pkgver}"
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "${srcdir}/xwininfo-${pkgver}"
+  make DESTDIR="${pkgdir}" install
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/abs/core/xorg-xwud/PKGBUILD b/abs/core/xorg-xwud/PKGBUILD
index aaef609..b2a30dc 100644
--- a/abs/core/xorg-xwud/PKGBUILD
+++ b/abs/core/xorg-xwud/PKGBUILD
@@ -1,26 +1,27 @@
-# $Id: $
+# $Id: PKGBUILD 155003 2012-04-01 10:06:45Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xorg-xwud
-pkgver=1.0.3
-pkgrel=3
+pkgver=1.0.4
+pkgrel=1
 pkgdesc="X Window System image undumping utility"
 arch=('i686' 'x86_64')
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('libx11')
 makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
 source=(http://xorg.freedesktop.org/archive/individual/app/xwud-${pkgver}.tar.bz2)
-sha1sums=('2e706d50c7039e3daa4963d36ab703e48aa652ed')
+sha1sums=('786cd4b18bf576fae3ffd417545b1394b27c7f06')
 
 build() {
   cd "${srcdir}/xwud-${pkgver}"
   ./configure --prefix=/usr
   make
 }
+
 package() {
   cd "${srcdir}/xwud-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
 }
diff --git a/abs/core/xproto/PKGBUILD b/abs/core/xproto/PKGBUILD
index b29feb0..5940df8 100644
--- a/abs/core/xproto/PKGBUILD
+++ b/abs/core/xproto/PKGBUILD
@@ -1,25 +1,26 @@
-# $Id: PKGBUILD 99386 2010-11-14 16:32:03Z jgc $
+# $Id: PKGBUILD 153611 2012-03-16 17:10:15Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=xproto
-pkgver=7.0.19
+pkgver=7.0.23
 pkgrel=1
 pkgdesc="X11 core wire protocol and auxiliary headers"
 arch=(any)
 license=('custom')
 url="http://xorg.freedesktop.org/"
+makedepends=('xorg-util-macros')
 source=(${url}/releases/individual/proto/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('c080da482474dd422cb90b52202bd616cf0854e1')
+sha1sums=('5d7f00d1dbe6cf8e725841ef663f0ee2491ba5b2')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
+
 package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  make DESTDIR="${pkgdir}" install || return 1
-
+  make DESTDIR="${pkgdir}" install
   install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
   install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
 }
diff --git a/abs/core/xterm/PKGBUILD b/abs/core/xterm/PKGBUILD
index f65898e..73295c4 100644
--- a/abs/core/xterm/PKGBUILD
+++ b/abs/core/xterm/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 96985 2010-10-25 20:41:05Z jgc $
+# $Id: PKGBUILD 162381 2012-06-26 16:12:16Z andyrtr $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Contributor: Alexander Baldeck <alexander@archlinux.org>
+
 pkgname=xterm
-pkgver=266
+pkgver=281
 pkgrel=1
 pkgdesc="X Terminal Emulator"
 arch=('i686' 'x86_64')
 url="http://invisible-island.net/xterm/"
 license=('custom')
 depends=('libxft' 'libxaw' 'ncurses' 'xorg-luit' 'xbitmaps')
-groups=('xorg')
 source=(ftp://invisible-island.net/${pkgname}/${pkgname}-${pkgver}.tgz
         LICENSE)
-md5sums=('bb53ddd4933736a50e6391cef3472c12'
+md5sums=('bca2eb95bdd57653f8e3f2f57952c1c5'
          '10ecc3f8ee91e3189863a172f68282d2')
 
 build() {
@@ -42,7 +42,8 @@ build() {
       --enable-mini-luit \
       --enable-narrowproto \
       --enable-exec-xterm \
-      --with-tty-group=tty
+      --with-tty-group=tty \
+      --with-utmp-setgid=utmp
   make
 }
 
@@ -54,4 +55,6 @@ package() {
   install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
   install -m644 "${srcdir}/LICENSE" \
       "${pkgdir}/usr/share/licenses/${pkgname}/"
+  install -m755 -d ${pkgdir}/usr/share/applications
+  install -m644 ${srcdir}/${pkgname}-${pkgver}/{xterm,uxterm}.desktop ${pkgdir}/usr/share/applications/
 }
diff --git a/abs/core/xvidcore/PKGBUILD b/abs/core/xvidcore/PKGBUILD
index 2685393..360ddd8 100644
--- a/abs/core/xvidcore/PKGBUILD
+++ b/abs/core/xvidcore/PKGBUILD
@@ -1,31 +1,33 @@
-# $Id: PKGBUILD 60177 2009-12-01 17:36:38Z giovanni $
+# $Id: PKGBUILD 126345 2011-06-04 23:54:53Z eric $
 # Maintainer: tobias <tobias@archlinux.org>
 # Contributor: Sarah Hay <sarah@archlinux.org>
 
 pkgname=xvidcore
-pkgver=1.2.2
+pkgver=1.3.2
 pkgrel=1
 pkgdesc="XviD is an open source MPEG-4 video codec"
 arch=('i686' 'x86_64')
-license=('GPL')
 url="http://www.xvid.org/"
+license=('GPL')
 depends=('glibc')
 makedepends=('nasm')
 source=(http://downloads.xvid.org/downloads/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('6a3473a12c8a1fa7bdc2b5cb829fab58')
+md5sums=('34389e980d4f849688f8b1e168f4e2f9')
+sha1sums=('74f9ce9c1bebcc9806bf21cb53274b8102700309')
 
 build() {
-  cd ${srcdir}/${pkgname}/build/generic
+  cd "${srcdir}/${pkgname}/build/generic"
   ./configure --prefix=/usr
-  make || return 1
+  make
 }
+
 package() {
-  cd ${srcdir}/${pkgname}/build/generic
-  make DESTDIR=${pkgdir} install || return 1
+  cd "${srcdir}/${pkgname}/build/generic"
+  make DESTDIR="${pkgdir}" install
 
   #Fix dynamic libraries
-  cd ${pkgdir}/usr/lib
-  mylib=$(basename libxvidcore.so.*)
-  ln -sf ${mylib} libxvidcore.so.4
-  ln -sf ${mylib} libxvidcore.so
+  cd "${pkgdir}/usr/lib"
+  _mylib=$(basename libxvidcore.so.*)
+  ln -sf ${_mylib} libxvidcore.so.4
+  ln -sf ${_mylib} libxvidcore.so
 }
-- 
cgit v0.12

