summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Ismael Haase Hernandez <hahj87@gmail.com>2011-05-19 16:24:05 -0500
committerJoshua Ismael Haase Hernandez <hahj87@gmail.com>2011-05-19 16:24:05 -0500
commita084559f421a288dd77f81e458161f95ae8d1be9 (patch)
tree4b6ecbc5222691982f23bedbc84281d3b560328e
parent071445e6a2bb31ddf638e6f2e5362953b47e72dc (diff)
downgrading xorg-* on extra, xorg-* current on testing
-rw-r--r--extra/xorg-appres/PKGBUILD2
-rw-r--r--extra/xorg-bdftopcf/PKGBUILD2
-rw-r--r--extra/xorg-font-util/PKGBUILD2
-rw-r--r--extra/xorg-iceauth/PKGBUILD2
-rw-r--r--extra/xorg-luit/PKGBUILD2
-rw-r--r--extra/xorg-mkfontscale/PKGBUILD2
-rw-r--r--extra/xorg-oclock/PKGBUILD2
-rw-r--r--extra/xorg-server/PKGBUILD40
-rw-r--r--extra/xorg-server/vbe-fix-malloc-size-bug.patch39
-rw-r--r--extra/xorg-sessreg/PKGBUILD2
-rw-r--r--extra/xorg-setxkbmap/PKGBUILD2
-rw-r--r--extra/xorg-smproxy/PKGBUILD2
-rw-r--r--extra/xorg-twm/PKGBUILD2
-rw-r--r--extra/xorg-x11perf/PKGBUILD2
-rw-r--r--extra/xorg-xauth/PKGBUILD2
-rw-r--r--extra/xorg-xbacklight/PKGBUILD2
-rw-r--r--extra/xorg-xbiff/PKGBUILD2
-rw-r--r--extra/xorg-xcalc/PKGBUILD2
-rw-r--r--extra/xorg-xclipboard/PKGBUILD2
-rw-r--r--extra/xorg-xclock/PKGBUILD2
-rw-r--r--extra/xorg-xcmsdb/PKGBUILD2
-rw-r--r--extra/xorg-xconsole/PKGBUILD2
-rw-r--r--extra/xorg-xcursorgen/PKGBUILD2
-rw-r--r--extra/xorg-xdm/PKGBUILD2
-rw-r--r--extra/xorg-xdpyinfo/PKGBUILD2
-rw-r--r--extra/xorg-xdriinfo/PKGBUILD2
-rw-r--r--extra/xorg-xedit/PKGBUILD2
-rw-r--r--extra/xorg-xev/PKGBUILD2
-rw-r--r--extra/xorg-xeyes/PKGBUILD2
-rw-r--r--extra/xorg-xfd/PKGBUILD2
-rw-r--r--extra/xorg-xfontsel/PKGBUILD2
-rw-r--r--extra/xorg-xfs/PKGBUILD2
-rw-r--r--extra/xorg-xgamma/PKGBUILD2
-rw-r--r--extra/xorg-xhost/PKGBUILD2
-rw-r--r--extra/xorg-xinit/PKGBUILD2
-rw-r--r--extra/xorg-xinput/PKGBUILD2
-rw-r--r--extra/xorg-xkbcomp/PKGBUILD2
-rw-r--r--extra/xorg-xkbevd/PKGBUILD2
-rw-r--r--extra/xorg-xkbutils/PKGBUILD2
-rw-r--r--extra/xorg-xkill/PKGBUILD2
-rw-r--r--extra/xorg-xload/PKGBUILD2
-rw-r--r--extra/xorg-xlogo/PKGBUILD2
-rw-r--r--extra/xorg-xlsatoms/PKGBUILD2
-rw-r--r--extra/xorg-xlsclients/PKGBUILD2
-rw-r--r--extra/xorg-xmag/PKGBUILD2
-rw-r--r--extra/xorg-xman/PKGBUILD2
-rw-r--r--extra/xorg-xmessage/PKGBUILD2
-rw-r--r--extra/xorg-xmodmap/PKGBUILD2
-rw-r--r--extra/xorg-xpr/PKGBUILD2
-rw-r--r--extra/xorg-xprop/PKGBUILD2
-rw-r--r--extra/xorg-xrandr/PKGBUILD2
-rw-r--r--extra/xorg-xrdb/PKGBUILD10
-rw-r--r--extra/xorg-xrefresh/PKGBUILD2
-rw-r--r--extra/xorg-xset/PKGBUILD2
-rw-r--r--extra/xorg-xsetroot/PKGBUILD2
-rw-r--r--extra/xorg-xvidtune/PKGBUILD2
-rw-r--r--extra/xorg-xvinfo/PKGBUILD2
-rw-r--r--extra/xorg-xwd/PKGBUILD2
-rw-r--r--extra/xorg-xwininfo/PKGBUILD2
-rw-r--r--extra/xorg-xwud/PKGBUILD2
-rw-r--r--testing/xorg-appres/PKGBUILD24
-rw-r--r--testing/xorg-bdftopcf/PKGBUILD24
-rw-r--r--testing/xorg-font-util/PKGBUILD27
-rw-r--r--testing/xorg-iceauth/PKGBUILD24
-rw-r--r--testing/xorg-luit/PKGBUILD25
-rw-r--r--testing/xorg-mkfontscale/PKGBUILD24
-rw-r--r--testing/xorg-oclock/PKGBUILD23
-rw-r--r--testing/xorg-server/10-quirks.conf10
-rw-r--r--testing/xorg-server/PKGBUILD189
-rw-r--r--testing/xorg-server/bg-none-revert.patch58
-rw-r--r--testing/xorg-server/glx-pixmap-crash.patch85
-rw-r--r--testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch16
-rw-r--r--testing/xorg-server/xserver-1.10-pointer-barriers.patch1054
-rw-r--r--testing/xorg-server/xvfb-run180
-rw-r--r--testing/xorg-server/xvfb-run.1282
-rw-r--r--testing/xorg-sessreg/PKGBUILD24
-rw-r--r--testing/xorg-setxkbmap/PKGBUILD24
-rw-r--r--testing/xorg-smproxy/PKGBUILD24
-rw-r--r--testing/xorg-twm/PKGBUILD30
-rw-r--r--testing/xorg-x11perf/PKGBUILD28
-rw-r--r--testing/xorg-xauth/PKGBUILD24
-rw-r--r--testing/xorg-xbacklight/PKGBUILD24
-rw-r--r--testing/xorg-xbiff/PKGBUILD27
-rw-r--r--testing/xorg-xcalc/PKGBUILD23
-rw-r--r--testing/xorg-xclipboard/PKGBUILD23
-rw-r--r--testing/xorg-xclock/PKGBUILD23
-rw-r--r--testing/xorg-xcmsdb/PKGBUILD24
-rw-r--r--testing/xorg-xconsole/PKGBUILD23
-rw-r--r--testing/xorg-xcursorgen/PKGBUILD24
-rw-r--r--testing/xorg-xdm/LICENSE132
-rw-r--r--testing/xorg-xdm/PKGBUILD43
-rw-r--r--testing/xorg-xdm/Xsession-loginshell.patch15
-rw-r--r--testing/xorg-xdm/Xsession-xsm.patch22
-rw-r--r--testing/xorg-xdm/xdm.pam8
-rw-r--r--testing/xorg-xdpyinfo/PKGBUILD24
-rw-r--r--testing/xorg-xdriinfo/PKGBUILD24
-rw-r--r--testing/xorg-xedit/PKGBUILD23
-rw-r--r--testing/xorg-xev/PKGBUILD24
-rw-r--r--testing/xorg-xeyes/PKGBUILD23
-rw-r--r--testing/xorg-xfd/PKGBUILD23
-rw-r--r--testing/xorg-xfontsel/PKGBUILD23
-rw-r--r--testing/xorg-xfs/PKGBUILD64
-rw-r--r--testing/xorg-xfs/xfs.rc46
-rw-r--r--testing/xorg-xgamma/PKGBUILD24
-rw-r--r--testing/xorg-xhost/PKGBUILD24
-rw-r--r--testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff20
-rw-r--r--testing/xorg-xinit/PKGBUILD49
-rw-r--r--testing/xorg-xinit/xinitrc17
-rw-r--r--testing/xorg-xinit/xserverrc1
-rw-r--r--testing/xorg-xinit/xsession10
-rw-r--r--testing/xorg-xinput/PKGBUILD24
-rw-r--r--testing/xorg-xkbcomp/PKGBUILD24
-rw-r--r--testing/xorg-xkbevd/PKGBUILD24
-rw-r--r--testing/xorg-xkbutils/PKGBUILD24
-rw-r--r--testing/xorg-xkill/PKGBUILD24
-rw-r--r--testing/xorg-xload/PKGBUILD23
-rw-r--r--testing/xorg-xlogo/PKGBUILD23
-rw-r--r--testing/xorg-xlsatoms/PKGBUILD24
-rw-r--r--testing/xorg-xlsclients/PKGBUILD24
-rw-r--r--testing/xorg-xmag/PKGBUILD23
-rw-r--r--testing/xorg-xman/PKGBUILD23
-rw-r--r--testing/xorg-xmessage/PKGBUILD23
-rw-r--r--testing/xorg-xmodmap/PKGBUILD24
-rw-r--r--testing/xorg-xpr/PKGBUILD27
-rw-r--r--testing/xorg-xpr/copyright.patch75
-rw-r--r--testing/xorg-xprop/PKGBUILD24
-rw-r--r--testing/xorg-xrandr/PKGBUILD25
-rw-r--r--testing/xorg-xrdb/PKGBUILD24
-rw-r--r--testing/xorg-xrefresh/PKGBUILD24
-rw-r--r--testing/xorg-xset/PKGBUILD24
-rw-r--r--testing/xorg-xsetroot/PKGBUILD24
-rw-r--r--testing/xorg-xvidtune/PKGBUILD23
-rw-r--r--testing/xorg-xvinfo/PKGBUILD24
-rw-r--r--testing/xorg-xwd/PKGBUILD24
-rw-r--r--testing/xorg-xwininfo/PKGBUILD24
-rw-r--r--testing/xorg-xwud/PKGBUILD24
136 files changed, 3819 insertions, 86 deletions
diff --git a/extra/xorg-appres/PKGBUILD b/extra/xorg-appres/PKGBUILD
index 9af921b3b..cc1583a0b 100644
--- a/extra/xorg-appres/PKGBUILD
+++ b/extra/xorg-appres/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-appres
pkgver=1.0.3
pkgrel=2
pkgdesc="List X application resource database"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxt')
diff --git a/extra/xorg-bdftopcf/PKGBUILD b/extra/xorg-bdftopcf/PKGBUILD
index 80920d665..0a6a35221 100644
--- a/extra/xorg-bdftopcf/PKGBUILD
+++ b/extra/xorg-bdftopcf/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-bdftopcf
pkgver=1.0.3
pkgrel=1
pkgdesc="Convert X font from Bitmap Distribution Format to Portable Compiled Format"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxfont')
diff --git a/extra/xorg-font-util/PKGBUILD b/extra/xorg-font-util/PKGBUILD
index 09ec5570f..d23ec52bc 100644
--- a/extra/xorg-font-util/PKGBUILD
+++ b/extra/xorg-font-util/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-font-util
pkgver=1.2.0
pkgrel=1
pkgdesc="X.Org font utilities"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
makedepends=('xorg-util-macros')
diff --git a/extra/xorg-iceauth/PKGBUILD b/extra/xorg-iceauth/PKGBUILD
index 7489c6c08..47d56dc44 100644
--- a/extra/xorg-iceauth/PKGBUILD
+++ b/extra/xorg-iceauth/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-iceauth
pkgver=1.0.4
pkgrel=2
pkgdesc="ICE authority file utility"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libice')
diff --git a/extra/xorg-luit/PKGBUILD b/extra/xorg-luit/PKGBUILD
index 3b7f03484..48b3446d8 100644
--- a/extra/xorg-luit/PKGBUILD
+++ b/extra/xorg-luit/PKGBUILD
@@ -6,7 +6,7 @@ pkgver=1.1.0
pkgrel=2
pkgdesc="Filter that can be run between an arbitrary application and
a UTF-8 terminal emulator"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libfontenc')
diff --git a/extra/xorg-mkfontscale/PKGBUILD b/extra/xorg-mkfontscale/PKGBUILD
index fd5ee0a7f..b7eee43a6 100644
--- a/extra/xorg-mkfontscale/PKGBUILD
+++ b/extra/xorg-mkfontscale/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-mkfontscale
pkgver=1.0.8
pkgrel=1
pkgdesc="Create an index of scalable font files for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('freetype2' 'libfontenc')
diff --git a/extra/xorg-oclock/PKGBUILD b/extra/xorg-oclock/PKGBUILD
index 0453c41e4..5016247f2 100644
--- a/extra/xorg-oclock/PKGBUILD
+++ b/extra/xorg-oclock/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-oclock
pkgver=1.0.2
pkgrel=1
pkgdesc="Round X clock"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu' 'libxext')
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index bd16d9086..20913828a 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,45 +1,36 @@
-# $Id: PKGBUILD 119887 2011-04-16 12:07:45Z andyrtr $
+# $Id: PKGBUILD 114590 2011-03-14 10:49:00Z jgc $
# 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.10.1
+pkgver=1.9.4.901
pkgrel=1
-arch=('i686' 'x86_64' 'mips64el')
+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' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util')
+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')
options=('!libtool')
source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
- bg-none-revert.patch
- glx-pixmap-crash.patch
- xserver-1.10-pointer-barriers.patch
+ vbe-fix-malloc-size-bug.patch
xorg-redhat-die-ugly-pattern-die-die-die.patch
xvfb-run
xvfb-run.1
10-quirks.conf)
-sha1sums=('59ada4c9a59f7f1eb4b68c359e9cd58272aa4809'
- '629c6d8d52126eab81ee1b72a9e4209535f8cb81'
- '19e7164dcf9814ad64231b50a46f651b0e68a27a'
- '1b95e91384a57d966428c7db98ed06f4cc562f91'
- '0efcdf61bde3c0cd813072b94e2b30ab922775b9'
- 'c94f742d3f9cabf958ae58e4015d9dd185aabedc'
- '6838fc00ef4618c924a77e0fb03c05346080908a'
- '993798f3d22ad672d769dae5f48d1fa068d5578f')
+md5sums=('0fde9023db0581e9b145b4cd0784a3c5'
+ 'c22e6ec412769b1c30c44b1f45b50e02'
+ '1a336eb22e27cbf443ec5a2ecddfa93c'
+ '52fd3effd80d7bc6c1660d4ecf23d31c'
+ '376c70308715cd2643f7bff936d9934b'
+ 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
- # Get rid of the ugly pattern
- patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
- # Add pointer barrier support, patch from Fedora
- patch -Np1 -i "${srcdir}/xserver-1.10-pointer-barriers.patch"
+ patch -Np1 -i "${srcdir}/vbe-fix-malloc-size-bug.patch"
- # Patches from ~ajax/xserver xserver-next branch
- patch -Np1 -i "${srcdir}/bg-none-revert.patch"
- patch -Np1 -i "${srcdir}/glx-pixmap-crash.patch"
+ # Get rid of the ugly pattern
+ patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
- autoreconf
./configure --prefix=/usr \
--enable-ipv6 \
--enable-dri \
@@ -63,6 +54,7 @@ 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
@@ -84,7 +76,7 @@ package_xorg-server-common() {
make -C xkb DESTDIR="${pkgdir}" install-data
install -m755 -d "${pkgdir}/usr/share/man/man1"
- install -m644 doc/man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+ install -m644 doc/Xserver.1 "${pkgdir}/usr/share/man/man1/"
install -m755 -d "${pkgdir}/usr/lib/xorg"
install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
diff --git a/extra/xorg-server/vbe-fix-malloc-size-bug.patch b/extra/xorg-server/vbe-fix-malloc-size-bug.patch
new file mode 100644
index 000000000..01ed040d4
--- /dev/null
+++ b/extra/xorg-server/vbe-fix-malloc-size-bug.patch
@@ -0,0 +1,39 @@
+From 8ffaef2ebd2611e2eed4ef97350c3a34508f5252 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 24 Feb 2011 21:06:34 +0000
+Subject: vbe: Fix malloc size bug
+
+v2: Slightly more obvious sizing math.
+
+==14882== Invalid write of size 2
+==14882== at 0x6750267: VBEGetVBEInfo (vbe.c:400)
+==14882== by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
+==14882== by 0x471895: InitOutput (xf86Init.c:519)
+==14882== by 0x422778: main (main.c:205)
+==14882== Address 0x4f32fa8 is 72 bytes inside a block of size 73 alloc'd
+==14882== at 0x4A0640D: malloc (vg_replace_malloc.c:236)
+==14882== by 0x675024B: VBEGetVBEInfo (vbe.c:398)
+==14882== by 0x6142064: ??? (in /usr/lib64/xorg/modules/drivers/vesa_drv.so)
+==14882== by 0x471895: InitOutput (xf86Init.c:519)
+==14882== by 0x422778: main (main.c:205)
+
+Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
+Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+(cherry picked from commit d8caa782009abf4dc17b945e325e83fda299a534)
+---
+diff --git a/hw/xfree86/vbe/vbe.c b/hw/xfree86/vbe/vbe.c
+index 7a64a4a..1d3775b 100644
+--- a/hw/xfree86/vbe/vbe.c
++++ b/hw/xfree86/vbe/vbe.c
+@@ -395,7 +395,7 @@ VBEGetVBEInfo(vbeInfoPtr pVbe)
+ i = 0;
+ while (modes[i] != 0xffff)
+ i++;
+- block->VideoModePtr = malloc(sizeof(CARD16) * i + 1);
++ block->VideoModePtr = malloc(sizeof(CARD16) * (i + 1));
+ memcpy(block->VideoModePtr, modes, sizeof(CARD16) * i);
+ block->VideoModePtr[i] = 0xffff;
+
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/xorg-sessreg/PKGBUILD b/extra/xorg-sessreg/PKGBUILD
index 9b1f56573..4cd6d1e86 100644
--- a/extra/xorg-sessreg/PKGBUILD
+++ b/extra/xorg-sessreg/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-sessreg
pkgver=1.0.6
pkgrel=2
pkgdesc="Register X sessions in system utmp/utmpx databases"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
diff --git a/extra/xorg-setxkbmap/PKGBUILD b/extra/xorg-setxkbmap/PKGBUILD
index 2aceaead9..b25f37dc1 100644
--- a/extra/xorg-setxkbmap/PKGBUILD
+++ b/extra/xorg-setxkbmap/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-setxkbmap
pkgver=1.2.0
pkgrel=2
pkgdesc="Set the keyboard using the X Keyboard Extension"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxkbfile')
diff --git a/extra/xorg-smproxy/PKGBUILD b/extra/xorg-smproxy/PKGBUILD
index 7fd915c9c..50964a380 100644
--- a/extra/xorg-smproxy/PKGBUILD
+++ b/extra/xorg-smproxy/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-smproxy
pkgver=1.0.4
pkgrel=2
pkgdesc="Allows X applications that do not support X11R6 session management to participate in an X11R6 session"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libsm' 'libxt' 'libxmu')
diff --git a/extra/xorg-twm/PKGBUILD b/extra/xorg-twm/PKGBUILD
index 802fb69ba..b5b62d210 100644
--- a/extra/xorg-twm/PKGBUILD
+++ b/extra/xorg-twm/PKGBUILD
@@ -6,7 +6,7 @@ pkgname=xorg-twm
pkgver=1.0.6
pkgrel=2
pkgdesc="Tab Window Manager for the X Window System"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
backup=(etc/X11/twm/system.twmrc)
license=('custom')
diff --git a/extra/xorg-x11perf/PKGBUILD b/extra/xorg-x11perf/PKGBUILD
index 42fc8adc9..c350c59bb 100644
--- a/extra/xorg-x11perf/PKGBUILD
+++ b/extra/xorg-x11perf/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-x11perf
pkgver=1.5.3
pkgrel=2
pkgdesc="Simple X server performance benchmarker"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu' 'libxrender' 'libxft' 'libxext')
diff --git a/extra/xorg-xauth/PKGBUILD b/extra/xorg-xauth/PKGBUILD
index 26935f83f..85a358954 100644
--- a/extra/xorg-xauth/PKGBUILD
+++ b/extra/xorg-xauth/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xauth
pkgver=1.0.5
pkgrel=2
pkgdesc="X.Org authorization settings program"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libxmu')
diff --git a/extra/xorg-xbacklight/PKGBUILD b/extra/xorg-xbacklight/PKGBUILD
index 2b1a3c230..5ed14c78c 100644
--- a/extra/xorg-xbacklight/PKGBUILD
+++ b/extra/xorg-xbacklight/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xbacklight
pkgver=1.1.2
pkgrel=2
pkgdesc="RandR-based backlight control application"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxrandr' 'libx11')
diff --git a/extra/xorg-xbiff/PKGBUILD b/extra/xorg-xbiff/PKGBUILD
index 47bd31dd8..60c750ed2 100644
--- a/extra/xorg-xbiff/PKGBUILD
+++ b/extra/xorg-xbiff/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xbiff
pkgver=1.0.3
pkgrel=1
pkgdesc="Watch mailboxes for new message delivery"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxext')
diff --git a/extra/xorg-xcalc/PKGBUILD b/extra/xorg-xcalc/PKGBUILD
index d4d16a8c4..8272a7965 100644
--- a/extra/xorg-xcalc/PKGBUILD
+++ b/extra/xorg-xcalc/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xcalc
pkgver=1.0.4.1
pkgrel=1
pkgdesc="Scientific calculator for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw')
diff --git a/extra/xorg-xclipboard/PKGBUILD b/extra/xorg-xclipboard/PKGBUILD
index 60c4d624b..08f506c42 100644
--- a/extra/xorg-xclipboard/PKGBUILD
+++ b/extra/xorg-xclipboard/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xclipboard
pkgver=1.1.1
pkgrel=1
pkgdesc="X clipboard manager"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xclock/PKGBUILD b/extra/xorg-xclock/PKGBUILD
index f3d2ee24e..db6506846 100644
--- a/extra/xorg-xclock/PKGBUILD
+++ b/extra/xorg-xclock/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xclock
pkgver=1.0.5
pkgrel=1
pkgdesc="X clock"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu' 'libxaw' 'libxrender' 'libxft' 'libxkbfile')
diff --git a/extra/xorg-xcmsdb/PKGBUILD b/extra/xorg-xcmsdb/PKGBUILD
index 9687e02fb..58fdd734f 100644
--- a/extra/xorg-xcmsdb/PKGBUILD
+++ b/extra/xorg-xcmsdb/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xcmsdb
pkgver=1.0.3
pkgrel=2
pkgdesc="Device Color Characterization utility for X Color Management System"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xconsole/PKGBUILD b/extra/xorg-xconsole/PKGBUILD
index 1ecc9eeac..204892339 100644
--- a/extra/xorg-xconsole/PKGBUILD
+++ b/extra/xorg-xconsole/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xconsole
pkgver=1.0.4
pkgrel=1
pkgdesc="Monitor system console messages with X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xcursorgen/PKGBUILD b/extra/xorg-xcursorgen/PKGBUILD
index 31e374a1d..f798e9591 100644
--- a/extra/xorg-xcursorgen/PKGBUILD
+++ b/extra/xorg-xcursorgen/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xcursorgen
pkgver=1.0.4
pkgrel=2
pkgdesc="Create an X cursor file from PNG images"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxcursor' 'libpng')
diff --git a/extra/xorg-xdm/PKGBUILD b/extra/xorg-xdm/PKGBUILD
index ddce2fa0a..66f376ed2 100644
--- a/extra/xorg-xdm/PKGBUILD
+++ b/extra/xorg-xdm/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xdm
pkgver=1.1.10
pkgrel=2
pkgdesc="X Display Manager"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft')
diff --git a/extra/xorg-xdpyinfo/PKGBUILD b/extra/xorg-xdpyinfo/PKGBUILD
index 084e22b54..4ec899376 100644
--- a/extra/xorg-xdpyinfo/PKGBUILD
+++ b/extra/xorg-xdpyinfo/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xdpyinfo
pkgver=1.2.0
pkgrel=2
pkgdesc="Display information utility for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxext' 'libxtst' 'libxxf86vm' 'libxxf86dga' 'libxrender' 'libxcomposite' 'libxinerama' 'libdmx')
diff --git a/extra/xorg-xdriinfo/PKGBUILD b/extra/xorg-xdriinfo/PKGBUILD
index f247c07ee..643fe2e93 100644
--- a/extra/xorg-xdriinfo/PKGBUILD
+++ b/extra/xorg-xdriinfo/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xdriinfo
pkgver=1.0.4
pkgrel=2
pkgdesc="Query configuration information of DRI drivers"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libgl')
diff --git a/extra/xorg-xedit/PKGBUILD b/extra/xorg-xedit/PKGBUILD
index d9f9d49d7..b6a7dbf41 100644
--- a/extra/xorg-xedit/PKGBUILD
+++ b/extra/xorg-xedit/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xedit
pkgver=1.2.0
pkgrel=1
pkgdesc="Simple text editor for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xev/PKGBUILD b/extra/xorg-xev/PKGBUILD
index 7e981106a..70f75e86b 100644
--- a/extra/xorg-xev/PKGBUILD
+++ b/extra/xorg-xev/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xev
pkgver=1.1.0
pkgrel=2
pkgdesc="Print contents of X events"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xeyes/PKGBUILD b/extra/xorg-xeyes/PKGBUILD
index 5c18175bb..aea051d3a 100644
--- a/extra/xorg-xeyes/PKGBUILD
+++ b/extra/xorg-xeyes/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xeyes
pkgver=1.1.1
pkgrel=1
pkgdesc="Follow the mouse/SHAPE extension X demo"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxt' 'libxext' 'libxmu' 'libxrender')
diff --git a/extra/xorg-xfd/PKGBUILD b/extra/xorg-xfd/PKGBUILD
index 5c4bba1c6..8d7aec33c 100644
--- a/extra/xorg-xfd/PKGBUILD
+++ b/extra/xorg-xfd/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xfd
pkgver=1.1.0
pkgrel=1
pkgdesc="Displays all the characters in a font using either the X11 core protocol or libXft2"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'fontconfig' 'libxft' 'libxrender' 'libxmu')
diff --git a/extra/xorg-xfontsel/PKGBUILD b/extra/xorg-xfontsel/PKGBUILD
index 827003048..cca0d453e 100644
--- a/extra/xorg-xfontsel/PKGBUILD
+++ b/extra/xorg-xfontsel/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xfontsel
pkgver=1.0.3
pkgrel=1
pkgdesc="Point and click selection of X11 font names"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xfs/PKGBUILD b/extra/xorg-xfs/PKGBUILD
index cb7244db9..606076b8f 100644
--- a/extra/xorg-xfs/PKGBUILD
+++ b/extra/xorg-xfs/PKGBUILD
@@ -6,7 +6,7 @@ pkgname=xorg-xfs
pkgver=1.1.1
pkgrel=1
pkgdesc="X.Org X11 xfs font server"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
backup=('etc/X11/fs/config')
diff --git a/extra/xorg-xgamma/PKGBUILD b/extra/xorg-xgamma/PKGBUILD
index fd9a43f7c..a1cfff2aa 100644
--- a/extra/xorg-xgamma/PKGBUILD
+++ b/extra/xorg-xgamma/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xgamma
pkgver=1.0.4
pkgrel=2
pkgdesc="Alter a monitor's gamma correction"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxxf86vm')
diff --git a/extra/xorg-xhost/PKGBUILD b/extra/xorg-xhost/PKGBUILD
index 82519eab8..99f1f3399 100644
--- a/extra/xorg-xhost/PKGBUILD
+++ b/extra/xorg-xhost/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xhost
pkgver=1.0.4
pkgrel=2
pkgdesc="Server access control program for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu')
diff --git a/extra/xorg-xinit/PKGBUILD b/extra/xorg-xinit/PKGBUILD
index 4fb60183c..e7df3f67e 100644
--- a/extra/xorg-xinit/PKGBUILD
+++ b/extra/xorg-xinit/PKGBUILD
@@ -6,7 +6,7 @@ pkgname=xorg-xinit
pkgver=1.3.0
pkgrel=3
pkgdesc="X.Org initialisation program "
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libx11' 'xorg-xauth')
diff --git a/extra/xorg-xinput/PKGBUILD b/extra/xorg-xinput/PKGBUILD
index a7afa3c17..e0c49d36e 100644
--- a/extra/xorg-xinput/PKGBUILD
+++ b/extra/xorg-xinput/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xinput
pkgver=1.5.3
pkgrel=2
pkgdesc="Small commandline tool to configure devices"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxi')
diff --git a/extra/xorg-xkbcomp/PKGBUILD b/extra/xorg-xkbcomp/PKGBUILD
index 10d77df9d..50c2b77f6 100644
--- a/extra/xorg-xkbcomp/PKGBUILD
+++ b/extra/xorg-xkbcomp/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xkbcomp
pkgver=1.2.1
pkgrel=2
pkgdesc="X Keyboard description compiler"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxkbfile')
diff --git a/extra/xorg-xkbevd/PKGBUILD b/extra/xorg-xkbevd/PKGBUILD
index e95a0944d..35ac08075 100644
--- a/extra/xorg-xkbevd/PKGBUILD
+++ b/extra/xorg-xkbevd/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xkbevd
pkgver=1.1.2
pkgrel=2
pkgdesc="XKB event daemon"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxkbfile')
diff --git a/extra/xorg-xkbutils/PKGBUILD b/extra/xorg-xkbutils/PKGBUILD
index 81e2c9050..5b3d3be12 100644
--- a/extra/xorg-xkbutils/PKGBUILD
+++ b/extra/xorg-xkbutils/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xkbutils
pkgver=1.0.3
pkgrel=2
pkgdesc="XKB utility demos"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxt' 'libx11')
diff --git a/extra/xorg-xkill/PKGBUILD b/extra/xorg-xkill/PKGBUILD
index a2b3f1580..b1dbbe639 100644
--- a/extra/xorg-xkill/PKGBUILD
+++ b/extra/xorg-xkill/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xkill
pkgver=1.0.3
pkgrel=2
pkgdesc="Kill a client by its X resource"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu')
diff --git a/extra/xorg-xload/PKGBUILD b/extra/xorg-xload/PKGBUILD
index 1451a91a0..f61b7d877 100644
--- a/extra/xorg-xload/PKGBUILD
+++ b/extra/xorg-xload/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xload
pkgver=1.1.0
pkgrel=1
pkgdesc="System load average display for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xlogo/PKGBUILD b/extra/xorg-xlogo/PKGBUILD
index 56fbc99e2..114933c16 100644
--- a/extra/xorg-xlogo/PKGBUILD
+++ b/extra/xorg-xlogo/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xlogo
pkgver=1.0.3
pkgrel=1
pkgdesc="Draw [old] X logo"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libsm' 'libxaw' 'libxmu' 'libxt' 'libxext' 'libx11' 'libxrender' 'libxft')
diff --git a/extra/xorg-xlsatoms/PKGBUILD b/extra/xorg-xlsatoms/PKGBUILD
index 9a7f32f6e..dd88c8c9a 100644
--- a/extra/xorg-xlsatoms/PKGBUILD
+++ b/extra/xorg-xlsatoms/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xlsatoms
pkgver=1.1.0
pkgrel=2
pkgdesc="List interned atoms defined on server"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxcb')
diff --git a/extra/xorg-xlsclients/PKGBUILD b/extra/xorg-xlsclients/PKGBUILD
index 46ecd019c..8d3ce59f4 100644
--- a/extra/xorg-xlsclients/PKGBUILD
+++ b/extra/xorg-xlsclients/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xlsclients
pkgver=1.1.1
pkgrel=2
pkgdesc="List client applications running on a display"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxcb' 'xcb-util')
diff --git a/extra/xorg-xmag/PKGBUILD b/extra/xorg-xmag/PKGBUILD
index 4e3728a34..66dafe737 100644
--- a/extra/xorg-xmag/PKGBUILD
+++ b/extra/xorg-xmag/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xmag
pkgver=1.0.4
pkgrel=1
pkgdesc="Magnify parts of the screen"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxmu' 'libxt' 'libx11')
diff --git a/extra/xorg-xman/PKGBUILD b/extra/xorg-xman/PKGBUILD
index 49e9fd5db..b35686959 100644
--- a/extra/xorg-xman/PKGBUILD
+++ b/extra/xorg-xman/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xman
pkgver=1.1.1
pkgrel=1
pkgdesc="Unix manual page viewer"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw' 'libxt')
diff --git a/extra/xorg-xmessage/PKGBUILD b/extra/xorg-xmessage/PKGBUILD
index 82c3fe420..ca10a8d57 100644
--- a/extra/xorg-xmessage/PKGBUILD
+++ b/extra/xorg-xmessage/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xmessage
pkgver=1.0.3
pkgrel=1
pkgdesc="Display a message or query in a window"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxaw')
diff --git a/extra/xorg-xmodmap/PKGBUILD b/extra/xorg-xmodmap/PKGBUILD
index 92942a1e3..6f8f31e4f 100644
--- a/extra/xorg-xmodmap/PKGBUILD
+++ b/extra/xorg-xmodmap/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xmodmap
pkgver=1.0.5
pkgrel=2
pkgdesc="Utility for modifying keymaps and button mappings"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xpr/PKGBUILD b/extra/xorg-xpr/PKGBUILD
index 6bd56b68f..47ed9440b 100644
--- a/extra/xorg-xpr/PKGBUILD
+++ b/extra/xorg-xpr/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xpr
pkgver=1.0.3
pkgrel=2
pkgdesc="Print an X window dump from xwd"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxmu')
diff --git a/extra/xorg-xprop/PKGBUILD b/extra/xorg-xprop/PKGBUILD
index 6864ab180..9fd9e0cb5 100644
--- a/extra/xorg-xprop/PKGBUILD
+++ b/extra/xorg-xprop/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xprop
pkgver=1.2.0
pkgrel=2
pkgdesc="Property displayer for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xrandr/PKGBUILD b/extra/xorg-xrandr/PKGBUILD
index d92a05d1d..483f2748c 100644
--- a/extra/xorg-xrandr/PKGBUILD
+++ b/extra/xorg-xrandr/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xrandr
pkgver=1.3.4
pkgrel=2
pkgdesc="Primitive command line interface to RandR extension"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxrandr' 'libx11')
diff --git a/extra/xorg-xrdb/PKGBUILD b/extra/xorg-xrdb/PKGBUILD
index 60fb89669..cb84e2d49 100644
--- a/extra/xorg-xrdb/PKGBUILD
+++ b/extra/xorg-xrdb/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 118463 2011-04-07 07:16:02Z jgc $
+# $Id: PKGBUILD 113821 2011-03-10 15:52:04Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xorg-xrdb
-pkgver=1.0.9
-pkgrel=1
+pkgver=1.0.8
+pkgrel=2
pkgdesc="X server resource database utility"
-arch=(i686 x86_64 'mips64el')
+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')
+sha1sums=('9bfdd09a2b303b962439910f7bccaddd69b6ca8a')
build() {
cd "${srcdir}/xrdb-${pkgver}"
diff --git a/extra/xorg-xrefresh/PKGBUILD b/extra/xorg-xrefresh/PKGBUILD
index de950df12..74d49b040 100644
--- a/extra/xorg-xrefresh/PKGBUILD
+++ b/extra/xorg-xrefresh/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xrefresh
pkgver=1.0.4
pkgrel=2
pkgdesc="Refresh all or part of an X screen"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xset/PKGBUILD b/extra/xorg-xset/PKGBUILD
index caebe0d8f..d812a5a11 100644
--- a/extra/xorg-xset/PKGBUILD
+++ b/extra/xorg-xset/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xset
pkgver=1.2.1
pkgrel=2
pkgdesc="User preference utility for X"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxmu')
diff --git a/extra/xorg-xsetroot/PKGBUILD b/extra/xorg-xsetroot/PKGBUILD
index 3758d9c6a..35b800dca 100644
--- a/extra/xorg-xsetroot/PKGBUILD
+++ b/extra/xorg-xsetroot/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xsetroot
pkgver=1.1.0
pkgrel=2
pkgdesc="Classic X utility to set your root window background to a given pattern or color"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxmu' 'libx11' 'libxcursor')
diff --git a/extra/xorg-xvidtune/PKGBUILD b/extra/xorg-xvidtune/PKGBUILD
index e7426b638..308b8088d 100644
--- a/extra/xorg-xvidtune/PKGBUILD
+++ b/extra/xorg-xvidtune/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xvidtune
pkgver=1.0.2
pkgrel=1
pkgdesc="Video mode tuner for Xorg"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxxf86vm' 'libxt' 'libxaw' 'libxmu' 'libx11')
diff --git a/extra/xorg-xvinfo/PKGBUILD b/extra/xorg-xvinfo/PKGBUILD
index 4684113fb..f125fa32d 100644
--- a/extra/xorg-xvinfo/PKGBUILD
+++ b/extra/xorg-xvinfo/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xvinfo
pkgver=1.1.1
pkgrel=2
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 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11' 'libxv')
diff --git a/extra/xorg-xwd/PKGBUILD b/extra/xorg-xwd/PKGBUILD
index a4de8a9f1..1634c5d93 100644
--- a/extra/xorg-xwd/PKGBUILD
+++ b/extra/xorg-xwd/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xwd
pkgver=1.0.4
pkgrel=2
pkgdesc="X Window System image dumping utility"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/extra/xorg-xwininfo/PKGBUILD b/extra/xorg-xwininfo/PKGBUILD
index 8f17bce09..785353a88 100644
--- a/extra/xorg-xwininfo/PKGBUILD
+++ b/extra/xorg-xwininfo/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xwininfo
pkgver=1.1.1
pkgrel=2
pkgdesc="Command-line utility to print information about windows on an X server"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libxcb')
diff --git a/extra/xorg-xwud/PKGBUILD b/extra/xorg-xwud/PKGBUILD
index 5b7a4a430..c7c593386 100644
--- a/extra/xorg-xwud/PKGBUILD
+++ b/extra/xorg-xwud/PKGBUILD
@@ -5,7 +5,7 @@ pkgname=xorg-xwud
pkgver=1.0.3
pkgrel=2
pkgdesc="X Window System image undumping utility"
-arch=(i686 x86_64 'mips64el')
+arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('libx11')
diff --git a/testing/xorg-appres/PKGBUILD b/testing/xorg-appres/PKGBUILD
new file mode 100644
index 000000000..9af921b3b
--- /dev/null
+++ b/testing/xorg-appres/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113951 2011-03-10 22:00:42Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-appres
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="List X application resource database"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxt')
+makedepends=('xorg-util-macros')
+conflicts=('xorg-res-utils')
+source=(http://xorg.freedesktop.org/archive/individual/app/appres-${pkgver}.tar.bz2)
+sha1sums=('7303f12fae8cce92da2dbd88c9d31d816dc5da06')
+
+build() {
+ cd "${srcdir}/appres-${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/testing/xorg-bdftopcf/PKGBUILD b/testing/xorg-bdftopcf/PKGBUILD
new file mode 100644
index 000000000..80920d665
--- /dev/null
+++ b/testing/xorg-bdftopcf/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113655 2011-03-10 14:27:34Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-bdftopcf
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="Convert X font from Bitmap Distribution Format to Portable Compiled Format"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-font-util/PKGBUILD b/testing/xorg-font-util/PKGBUILD
new file mode 100644
index 000000000..09ec5570f
--- /dev/null
+++ b/testing/xorg-font-util/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-font-util
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="X.Org font utilities"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+makedepends=('xorg-util-macros')
+replaces=('font-util')
+provides=('font-util')
+conflicts=('font-util')
+groups=('xorg-fonts' 'xorg')
+source=(${url}/releases/individual/font/font-util-${pkgver}.tar.bz2)
+sha1sums=('011fa9c8fe08d9f6f848df570374ed1cb7488146')
+
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-iceauth/PKGBUILD b/testing/xorg-iceauth/PKGBUILD
new file mode 100644
index 000000000..7489c6c08
--- /dev/null
+++ b/testing/xorg-iceauth/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113660 2011-03-10 14:29:50Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-iceauth
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="ICE authority file utility"
+arch=(i686 x86_64 'mips64el')
+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=('9b446c0d1815dce48bdea32db7dea7e429f6a310')
+
+build() {
+ cd "${srcdir}/iceauth-${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/testing/xorg-luit/PKGBUILD b/testing/xorg-luit/PKGBUILD
new file mode 100644
index 000000000..3b7f03484
--- /dev/null
+++ b/testing/xorg-luit/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 113665 2011-03-10 14:31:25Z jgc $
+# 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
+a UTF-8 terminal emulator"
+arch=(i686 x86_64 'mips64el')
+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')
+
+build() {
+ cd "${srcdir}/luit-${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/testing/xorg-mkfontscale/PKGBUILD b/testing/xorg-mkfontscale/PKGBUILD
new file mode 100644
index 000000000..fd5ee0a7f
--- /dev/null
+++ b/testing/xorg-mkfontscale/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113678 2011-03-10 14:41:30Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-mkfontscale
+pkgver=1.0.8
+pkgrel=1
+pkgdesc="Create an index of scalable font files for X"
+arch=(i686 x86_64 'mips64el')
+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=('accfb12751bf3b7ae7b28c1b0b863d5be871398f')
+
+build() {
+ cd "${srcdir}/mkfontscale-${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/testing/xorg-oclock/PKGBUILD b/testing/xorg-oclock/PKGBUILD
new file mode 100644
index 000000000..0453c41e4
--- /dev/null
+++ b/testing/xorg-oclock/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-oclock
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="Round X clock"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxmu' 'libxext')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/oclock-${pkgver}.tar.bz2)
+sha1sums=('ba606d39fba6021c4db76d79751779f7b5c862e9')
+
+build() {
+ cd "${srcdir}/oclock-${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/testing/xorg-server/10-quirks.conf b/testing/xorg-server/10-quirks.conf
new file mode 100644
index 000000000..7afad22dc
--- /dev/null
+++ b/testing/xorg-server/10-quirks.conf
@@ -0,0 +1,10 @@
+# Collection of quirks and blacklist/whitelists for specific devices.
+
+
+# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
+# http://bugs.freedesktop.org/show_bug.cgi?id=22442
+Section "InputClass"
+ Identifier "ThinkPad HDAPS accelerometer blacklist"
+ MatchProduct "ThinkPad HDAPS accelerometer data"
+ Option "Ignore" "on"
+EndSection
diff --git a/testing/xorg-server/PKGBUILD b/testing/xorg-server/PKGBUILD
new file mode 100644
index 000000000..bd16d9086
--- /dev/null
+++ b/testing/xorg-server/PKGBUILD
@@ -0,0 +1,189 @@
+# $Id: PKGBUILD 119887 2011-04-16 12:07:45Z 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.10.1
+pkgrel=1
+arch=('i686' 'x86_64' 'mips64el')
+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' 'xorg-xkbcomp' 'xorg-util-macros' 'xorg-font-util')
+options=('!libtool')
+source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2
+ bg-none-revert.patch
+ glx-pixmap-crash.patch
+ xserver-1.10-pointer-barriers.patch
+ xorg-redhat-die-ugly-pattern-die-die-die.patch
+ xvfb-run
+ xvfb-run.1
+ 10-quirks.conf)
+sha1sums=('59ada4c9a59f7f1eb4b68c359e9cd58272aa4809'
+ '629c6d8d52126eab81ee1b72a9e4209535f8cb81'
+ '19e7164dcf9814ad64231b50a46f651b0e68a27a'
+ '1b95e91384a57d966428c7db98ed06f4cc562f91'
+ '0efcdf61bde3c0cd813072b94e2b30ab922775b9'
+ 'c94f742d3f9cabf958ae58e4015d9dd185aabedc'
+ '6838fc00ef4618c924a77e0fb03c05346080908a'
+ '993798f3d22ad672d769dae5f48d1fa068d5578f')
+
+build() {
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ # Get rid of the ugly pattern
+ patch -Np3 -i "${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch"
+
+ # Add pointer barrier support, patch from Fedora
+ patch -Np1 -i "${srcdir}/xserver-1.10-pointer-barriers.patch"
+
+ # Patches from ~ajax/xserver xserver-next branch
+ patch -Np1 -i "${srcdir}/bg-none-revert.patch"
+ patch -Np1 -i "${srcdir}/glx-pixmap-crash.patch"
+
+ autoreconf
+ ./configure --prefix=/usr \
+ --enable-ipv6 \
+ --enable-dri \
+ --enable-dmx \
+ --enable-xvfb \
+ --enable-xnest \
+ --enable-composite \
+ --enable-xcsecurity \
+ --enable-xorg \
+ --enable-xephyr \
+ --enable-glx-tls \
+ --enable-kdrive \
+ --enable-install-setuid \
+ --enable-config-udev \
+ --disable-config-dbus \
+ --enable-record \
+ --disable-xfbdev \
+ --disable-xfake \
+ --disable-static \
+ --sysconfdir=/etc/X11 \
+ --localstatedir=/var \
+ --with-xkb-path=/usr/share/X11/xkb \
+ --with-xkb-output=/var/lib/xkb \
+ --with-fontrootdir=/usr/share/fonts
+ make
+
+ sed -e 's/^DMX_SUBDIRS =.*/DMX_SUBDIRS =/' \
+ -e 's/^XVFB_SUBDIRS =.*/XVFB_SUBDIRS =/' \
+ -e 's/^XNEST_SUBDIRS =.*/XNEST_SUBDIRS = /' \
+ -e 's/^KDRIVE_SUBDIRS =.*/KDRIVE_SUBDIRS =/' \
+ -i hw/Makefile
+}
+
+package_xorg-server-common() {
+ pkgdesc="Xorg server common files"
+ depends=('xkeyboard-config' 'xorg-xkbcomp' 'xorg-setxkbmap' 'xorg-fonts-misc')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-common"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/xorg-server-common"
+
+ make -C xkb DESTDIR="${pkgdir}" install-data
+
+ install -m755 -d "${pkgdir}/usr/share/man/man1"
+ install -m644 doc/man/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/lib/xorg"
+ install -m644 dix/protocol.txt "${pkgdir}/usr/lib/xorg/"
+}
+
+package_xorg-server() {
+ pkgdesc="Xorg X server"
+ depends=(libxdmcp libxfont udev libpciaccess libdrm pixman libgcrypt libxau xorg-server-common xf86-input-evdev)
+ backup=('etc/X11/xorg.conf.d/10-evdev.conf' 'etc/X11/xorg.conf.d/10-quirks.conf')
+ provides=('x-server')
+ groups=('xorg')
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/etc/X11"
+ mv "${pkgdir}/usr/share/X11/xorg.conf.d" "${pkgdir}/etc/X11/"
+ install -m644 "${srcdir}/10-quirks.conf" "${pkgdir}/etc/X11/xorg.conf.d/"
+
+ rmdir "${pkgdir}/usr/share/X11"
+
+ # Needed for non-mesa drivers, libgl will restore it
+ mv "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" \
+ "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.xorg"
+
+ rm -rf "${pkgdir}/var"
+
+ rm -f "${pkgdir}/usr/share/man/man1/Xserver.1"
+ rm -f "${pkgdir}/usr/lib/xorg/protocol.txt"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server/COPYING"
+
+ rm -rf "${pkgdir}/usr/lib/pkgconfig"
+ rm -rf "${pkgdir}/usr/include"
+ rm -rf "${pkgdir}/usr/share/aclocal"
+}
+
+package_xorg-server-xephyr() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libgl libgcrypt libxv pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/kdrive"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xephyr"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xephyr/COPYING"
+}
+
+package_xorg-server-xvfb() {
+ pkgdesc="Virtual framebuffer X server"
+ depends=(libxfont libxdmcp libxau libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/vfb"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 "${srcdir}/xvfb-run" "${pkgdir}/usr/bin/"
+ install -m644 "${srcdir}/xvfb-run.1" "${pkgdir}/usr/share/man/man1/"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xvfb"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xvfb/COPYING"
+}
+
+package_xorg-server-xnest() {
+ pkgdesc="A nested X server that runs as an X application"
+ depends=(libxfont libxext libgcrypt pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/xnest"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xnest"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xnest/COPYING"
+}
+
+package_xorg-server-xdmx() {
+ pkgdesc="Distributed Multihead X Server and utilities"
+ depends=(libxfont libxi libgcrypt libxaw libxrender libdmx libxfixes pixman xorg-server-common)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}/hw/dmx"
+ make DESTDIR="${pkgdir}" install
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-xdmx"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-xdmx/COPYING"
+}
+
+package_xorg-server-devel() {
+ pkgdesc="Development files for the X.Org X server"
+ depends=(xproto randrproto renderproto xextproto inputproto kbproto fontsproto videoproto dri2proto xineramaproto xorg-util-macros pixman libpciaccess)
+
+ cd "${srcdir}/${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}/usr/bin"
+ rm -rf "${pkgdir}/usr/share/man"
+ rm -rf "${pkgdir}/usr/share/doc"
+ rm -rf "${pkgdir}/usr/share/X11"
+ rm -rf "${pkgdir}/usr/lib/xorg"
+ rm -rf "${pkgdir}/var"
+
+ install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
+ ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
+}
diff --git a/testing/xorg-server/bg-none-revert.patch b/testing/xorg-server/bg-none-revert.patch
new file mode 100644
index 000000000..1a38f1f41
--- /dev/null
+++ b/testing/xorg-server/bg-none-revert.patch
@@ -0,0 +1,58 @@
+From 3bc6ed2d8c9028ec28015d05b60af67a194f3694 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 29 Mar 2011 14:09:46 +0000
+Subject: Revert "composite: Don't backfill non-bg-None windows"
+
+This reverts commit 6dd775f57d2f94f0ddaee324aeec33b9b66ed5bc.
+
+Bugzilla: https://bugs.freedesktop.org/34427
+
+Acked-by: Alex Deucher <alexdeucher@gmail.com>
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/composite/compalloc.c b/composite/compalloc.c
+index e4064f6..7164c0d 100644
+--- a/composite/compalloc.c
++++ b/composite/compalloc.c
+@@ -508,17 +508,6 @@ compUnredirectOneSubwindow (WindowPtr pParent, WindowPtr pWin)
+ return Success;
+ }
+
+-static int
+-bgNoneVisitWindow(WindowPtr pWin, void *null)
+-{
+- if (pWin->backgroundState != BackgroundPixmap)
+- return WT_WALKCHILDREN;
+- if (pWin->background.pixmap != None)
+- return WT_WALKCHILDREN;
+-
+- return WT_STOPWALKING;
+-}
+-
+ static PixmapPtr
+ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map)
+ {
+@@ -539,21 +528,6 @@ compNewPixmap (WindowPtr pWin, int x, int y, int w, int h, Bool map)
+ if (!map)
+ return pPixmap;
+
+- /*
+- * If there's no bg=None in the tree, we're done.
+- *
+- * We could optimize this more by collection the regions of all the
+- * bg=None subwindows and feeding that in as the clip for the
+- * CopyArea below, but since window trees are shallow these days it
+- * might not be worth the effort.
+- */
+- if (TraverseTree(pWin, bgNoneVisitWindow, NULL) == WT_NOMATCH)
+- return pPixmap;
+-
+- /*
+- * Copy bits from the parent into the new pixmap so that it will
+- * have "reasonable" contents in case for background None areas.
+- */
+ if (pParent->drawable.depth == pWin->drawable.depth)
+ {
+ GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen);
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xorg-server/glx-pixmap-crash.patch b/testing/xorg-server/glx-pixmap-crash.patch
new file mode 100644
index 000000000..48f258eb5
--- /dev/null
+++ b/testing/xorg-server/glx-pixmap-crash.patch
@@ -0,0 +1,85 @@
+From 390ba6686d1baf80627c01d4a4273981d6606cc9 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 28 Mar 2011 16:30:09 +0000
+Subject: glx: Fix lifetime tracking for pixmaps
+
+GLX pixmaps take a reference on the underlying pixmap; X and GLX pixmap
+IDs can be destroyed in either order with no error. Only windows need
+to be tracked under both XIDs.
+
+Fixes piglit/glx-pixmap-life.
+
+Reviewed-by: Michel Dänzer <michel@daenzer.net>
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+diff --git a/glx/glxcmds.c b/glx/glxcmds.c
+index 66d4c7e..d5b764f 100644
+--- a/glx/glxcmds.c
++++ b/glx/glxcmds.c
+@@ -1127,10 +1127,11 @@ DoCreateGLXDrawable(ClientPtr client, __GLXscreen *pGlxScreen,
+ return BadAlloc;
+ }
+
+- /* Add the glx drawable under the XID of the underlying X drawable
+- * too. That way we'll get a callback in DrawableGone and can
+- * clean up properly when the drawable is destroyed. */
+- if (drawableId != glxDrawableId &&
++ /*
++ * Windows aren't refcounted, so track both the X and the GLX window
++ * so we get called regardless of destruction order.
++ */
++ if (drawableId != glxDrawableId && type == GLX_DRAWABLE_WINDOW &&
+ !AddResource(pDraw->id, __glXDrawableRes, pGlxDraw)) {
+ pGlxDraw->destroy (pGlxDraw);
+ return BadAlloc;
+@@ -1161,6 +1162,8 @@ DoCreateGLXPixmap(ClientPtr client, __GLXscreen *pGlxScreen, __GLXconfig *config
+ err = DoCreateGLXDrawable(client, pGlxScreen, config, pDraw, drawableId,
+ glxDrawableId, GLX_DRAWABLE_PIXMAP);
+
++ ((PixmapPtr)pDraw)->refcnt++;
++
+ return err;
+ }
+
+diff --git a/glx/glxext.c b/glx/glxext.c
+index 3f3dd79..9cfc096 100644
+--- a/glx/glxext.c
++++ b/glx/glxext.c
+@@ -118,15 +118,15 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
+ {
+ __GLXcontext *c, *next;
+
+- /* If this drawable was created using glx 1.3 drawable
+- * constructors, we added it as a glx drawable resource under both
+- * its glx drawable ID and it X drawable ID. Remove the other
+- * resource now so we don't a callback for freed memory. */
+- if (glxPriv->drawId != glxPriv->pDraw->id) {
+- if (xid == glxPriv->drawId)
+- FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes, TRUE);
+- else
+- FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE);
++ if (glxPriv->type == GLX_DRAWABLE_WINDOW) {
++ /* If this was created by glXCreateWindow, free the matching resource */
++ if (glxPriv->drawId != glxPriv->pDraw->id) {
++ if (xid == glxPriv->drawId)
++ FreeResourceByType(glxPriv->pDraw->id, __glXDrawableRes, TRUE);
++ else
++ FreeResourceByType(glxPriv->drawId, __glXDrawableRes, TRUE);
++ }
++ /* otherwise this window was implicitly created by MakeCurrent */
+ }
+
+ for (c = glxAllContexts; c; c = next) {
+@@ -143,6 +143,10 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
+ c->readPriv = NULL;
+ }
+
++ /* drop our reference to any backing pixmap */
++ if (glxPriv->type == GLX_DRAWABLE_PIXMAP)
++ glxPriv->pDraw->pScreen->DestroyPixmap((PixmapPtr)glxPriv->pDraw);
++
+ glxPriv->destroy(glxPriv);
+
+ return True;
+--
+cgit v0.8.3-6-g21f6
diff --git a/testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch b/testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch
new file mode 100644
index 000000000..4e782f1c6
--- /dev/null
+++ b/testing/xorg-server/xorg-redhat-die-ugly-pattern-die-die-die.patch
@@ -0,0 +1,16 @@
+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/testing/xorg-server/xserver-1.10-pointer-barriers.patch b/testing/xorg-server/xserver-1.10-pointer-barriers.patch
new file mode 100644
index 000000000..099565436
--- /dev/null
+++ b/testing/xorg-server/xserver-1.10-pointer-barriers.patch
@@ -0,0 +1,1054 @@
+From 14f1112bec18ccece8e732fe6c200a56546230c7 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 17 Mar 2011 13:56:17 -0400
+Subject: [PATCH] CRTC confine and pointer barriers
+
+---
+ dix/events.c | 7 +
+ dix/getevents.c | 12 +-
+ include/dix.h | 1 +
+ include/protocol-versions.h | 2 +-
+ mi/mipointer.c | 16 ++-
+ mi/mipointer.h | 6 +
+ randr/randr.c | 2 +
+ randr/randrstr.h | 4 +
+ randr/rrcrtc.c | 155 ++++++++++++++++
+ test/Makefile.am | 4 +-
+ xfixes/cursor.c | 408 ++++++++++++++++++++++++++++++++++++++++++-
+ xfixes/xfixes.c | 24 ++-
+ xfixes/xfixes.h | 17 ++
+ xfixes/xfixesint.h | 16 ++
+ 14 files changed, 658 insertions(+), 16 deletions(-)
+
+diff --git a/dix/events.c b/dix/events.c
+index 07f8b05..d2be84f 100644
+--- a/dix/events.c
++++ b/dix/events.c
+@@ -328,6 +328,13 @@ IsMaster(DeviceIntPtr dev)
+ return dev->type == MASTER_POINTER || dev->type == MASTER_KEYBOARD;
+ }
+
++Bool
++IsFloating(DeviceIntPtr dev)
++{
++ return GetMaster(dev, MASTER_KEYBOARD) == NULL;
++}
++
++
+ /**
+ * Max event opcode.
+ */
+diff --git a/dix/getevents.c b/dix/getevents.c
+index 794df42..c66e516 100644
+--- a/dix/getevents.c
++++ b/dix/getevents.c
+@@ -812,7 +812,11 @@ accelPointer(DeviceIntPtr dev, int first, int num, int *valuators, CARD32 ms)
+ * miPointerSetPosition() and then scale back into device coordinates (if
+ * needed). miPSP will change x/y if the screen was crossed.
+ *
++ * The coordinates provided are always absolute. The parameter mode whether
++ * it was relative or absolute movement that landed us at those coordinates.
++ *
+ * @param dev The device to be moved.
++ * @param mode Movement mode (Absolute or Relative)
+ * @param x Pointer to current x-axis value, may be modified.
+ * @param y Pointer to current y-axis value, may be modified.
+ * @param x_frac Fractional part of current x-axis value, may be modified.
+@@ -824,7 +828,8 @@ accelPointer(DeviceIntPtr dev, int first, int num, int *valuators, CARD32 ms)
+ * @param screeny_frac Fractional part of screen y coordinate, as above.
+ */
+ static void
+-positionSprite(DeviceIntPtr dev, int *x, int *y, float x_frac, float y_frac,
++positionSprite(DeviceIntPtr dev, int mode,
++ int *x, int *y, float x_frac, float y_frac,
+ ScreenPtr scr, int *screenx, int *screeny, float *screenx_frac, float *screeny_frac)
+ {
+ int old_screenx, old_screeny;
+@@ -863,7 +868,7 @@ positionSprite(DeviceIntPtr dev, int *x, int *y, float x_frac, float y_frac,
+ old_screeny = *screeny;
+ /* This takes care of crossing screens for us, as well as clipping
+ * to the current screen. */
+- miPointerSetPosition(dev, screenx, screeny);
++ _miPointerSetPosition(dev, mode, screenx, screeny);
+
+ if (dev->u.master) {
+ dev->u.master->last.valuators[0] = *screenx;
+@@ -1193,7 +1198,8 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons,
+
+ set_raw_valuators(raw, &mask, raw->valuators.data);
+
+- positionSprite(pDev, &x, &y, x_frac, y_frac, scr, &cx, &cy, &cx_frac, &cy_frac);
++ positionSprite(pDev, (flags & POINTER_ABSOLUTE) ? Absolute : Relative,
++ &x, &y, x_frac, y_frac, scr, &cx, &cy, &cx_frac, &cy_frac);
+ updateHistory(pDev, &mask, ms);
+
+ /* Update the valuators with the true value sent to the client*/
+diff --git a/include/dix.h b/include/dix.h
+index 12e4b59..3f99098 100644
+--- a/include/dix.h
++++ b/include/dix.h
+@@ -570,6 +570,7 @@ extern Bool _X_EXPORT IsPointerDevice( DeviceIntPtr dev);
+ extern Bool _X_EXPORT IsKeyboardDevice(DeviceIntPtr dev);
+ extern Bool IsPointerEvent(InternalEvent *event);
+ extern _X_EXPORT Bool IsMaster(DeviceIntPtr dev);
++extern _X_EXPORT Bool IsFloating(DeviceIntPtr dev);
+
+ extern _X_HIDDEN void CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master);
+ extern _X_HIDDEN int CorePointerProc(DeviceIntPtr dev, int what);
+diff --git a/include/protocol-versions.h b/include/protocol-versions.h
+index 1d33bdd..1dc66ad 100644
+--- a/include/protocol-versions.h
++++ b/include/protocol-versions.h
+@@ -126,7 +126,7 @@
+ #define SERVER_XF86VIDMODE_MINOR_VERSION 2
+
+ /* Fixes */
+-#define SERVER_XFIXES_MAJOR_VERSION 4
++#define SERVER_XFIXES_MAJOR_VERSION 5
+ #define SERVER_XFIXES_MINOR_VERSION 0
+
+ /* X Input */
+diff --git a/mi/mipointer.c b/mi/mipointer.c
+index 554397a..85f1949 100644
+--- a/mi/mipointer.c
++++ b/mi/mipointer.c
+@@ -229,6 +229,10 @@ miPointerSetCursorPosition(DeviceIntPtr pDev, ScreenPtr pScreen,
+ SetupScreen (pScreen);
+
+ GenerateEvent = generateEvent;
++
++ if (pScreen->ConstrainCursorHarder)
++ pScreen->ConstrainCursorHarder(pDev, pScreen, Absolute, &x, &y);
++
+ /* device dependent - must pend signal and call miPointerWarpCursor */
+ (*pScreenPriv->screenFuncs->WarpCursor) (pDev, pScreen, x, y);
+ if (!generateEvent)
+@@ -484,7 +488,7 @@ miPointerMoveNoEvent (DeviceIntPtr pDev, ScreenPtr pScreen,
+ }
+
+ void
+-miPointerSetPosition(DeviceIntPtr pDev, int *x, int *y)
++_miPointerSetPosition(DeviceIntPtr pDev, int mode, int *x, int *y)
+ {
+ miPointerScreenPtr pScreenPriv;
+ ScreenPtr pScreen;
+@@ -529,6 +533,9 @@ miPointerSetPosition(DeviceIntPtr pDev, int *x, int *y)
+ if (*y >= pPointer->limits.y2)
+ *y = pPointer->limits.y2 - 1;
+
++ if (pScreen->ConstrainCursorHarder)
++ pScreen->ConstrainCursorHarder(pDev, pScreen, mode, x, y);
++
+ if (pPointer->x == *x && pPointer->y == *y &&
+ pPointer->pScreen == pScreen)
+ return;
+@@ -536,6 +543,13 @@ miPointerSetPosition(DeviceIntPtr pDev, int *x, int *y)
+ miPointerMoveNoEvent(pDev, pScreen, *x, *y);
+ }
+
++/* ABI hack */
++void
++miPointerSetPosition(DeviceIntPtr pDev, int *x, int *y)
++{
++ _miPointerSetPosition(pDev, Absolute, x, y);
++}
++
+ void
+ miPointerGetPosition(DeviceIntPtr pDev, int *x, int *y)
+ {
+diff --git a/mi/mipointer.h b/mi/mipointer.h
+index 3c86110..6b6010c 100644
+--- a/mi/mipointer.h
++++ b/mi/mipointer.h
+@@ -131,6 +131,12 @@ extern _X_EXPORT void miPointerGetPosition(
+
+ /* Moves the cursor to the specified position. May clip the co-ordinates:
+ * x and y are modified in-place. */
++extern _X_EXPORT void _miPointerSetPosition(
++ DeviceIntPtr pDev,
++ int mode,
++ int *x,
++ int *y);
++
+ extern _X_EXPORT void miPointerSetPosition(
+ DeviceIntPtr pDev,
+ int *x,
+diff --git a/randr/randr.c b/randr/randr.c
+index 6077705..d337129 100644
+--- a/randr/randr.c
++++ b/randr/randr.c
+@@ -270,6 +270,8 @@ Bool RRScreenInit(ScreenPtr pScreen)
+
+ wrap (pScrPriv, pScreen, CloseScreen, RRCloseScreen);
+
++ pScreen->ConstrainCursorHarder = RRConstrainCursorHarder;
++
+ pScrPriv->numOutputs = 0;
+ pScrPriv->outputs = NULL;
+ pScrPriv->numCrtcs = 0;
+diff --git a/randr/randrstr.h b/randr/randrstr.h
+index 7ea6080..d8dd37d 100644
+--- a/randr/randrstr.h
++++ b/randr/randrstr.h
+@@ -297,6 +297,7 @@ typedef struct _rrScrPriv {
+ int rate;
+ int size;
+ #endif
++ Bool discontiguous;
+ } rrScrPrivRec, *rrScrPrivPtr;
+
+ extern _X_EXPORT DevPrivateKeyRec rrPrivKeyRec;
+@@ -700,6 +701,9 @@ ProcRRGetPanning (ClientPtr client);
+ int
+ ProcRRSetPanning (ClientPtr client);
+
++void
++RRConstrainCursorHarder (DeviceIntPtr, ScreenPtr, int, int *, int *);
++
+ /* rrdispatch.c */
+ extern _X_EXPORT Bool
+ RRClientKnowsRates (ClientPtr pClient);
+diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
+index 98206a2..d4d8f2a 100644
+--- a/randr/rrcrtc.c
++++ b/randr/rrcrtc.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright © 2006 Keith Packard
++ * Copyright 2010 Red Hat, Inc
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+@@ -22,6 +23,7 @@
+
+ #include "randrstr.h"
+ #include "swaprep.h"
++#include "mipointer.h"
+
+ RESTYPE RRCrtcType;
+
+@@ -292,6 +294,92 @@ RRCrtcPendingProperties (RRCrtcPtr crtc)
+ return FALSE;
+ }
+
++static void
++crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
++{
++ *left = crtc->x;
++ *top = crtc->y;
++
++ switch (crtc->rotation) {
++ case RR_Rotate_0:
++ case RR_Rotate_180:
++ default:
++ *right = crtc->x + crtc->mode->mode.width;
++ *bottom = crtc->y + crtc->mode->mode.height;
++ return;
++ case RR_Rotate_90:
++ case RR_Rotate_270:
++ *right = crtc->x + crtc->mode->mode.height;
++ *bottom = crtc->y + crtc->mode->mode.width;
++ return;
++ }
++}
++
++/* overlapping counts as adjacent */
++static Bool
++crtcs_adjacent(const RRCrtcPtr a, const RRCrtcPtr b)
++{
++ /* left, right, top, bottom... */
++ int al, ar, at, ab;
++ int bl, br, bt, bb;
++ int cl, cr, ct, cb; /* the overlap, if any */
++
++ crtc_bounds(a, &al, &ar, &at, &ab);
++ crtc_bounds(b, &bl, &br, &bt, &bb);
++
++ cl = max(al, bl);
++ cr = min(ar, br);
++ ct = max(at, bt);
++ cb = min(ab, bb);
++
++ return (cl <= cr) && (ct <= cb);
++}
++
++/* Depth-first search and mark all CRTCs reachable from cur */
++static void
++mark_crtcs (rrScrPrivPtr pScrPriv, int *reachable, int cur)
++{
++ int i;
++ reachable[cur] = TRUE;
++ for (i = 0; i < pScrPriv->numCrtcs; ++i) {
++ if (reachable[i] || !pScrPriv->crtcs[i]->mode)
++ continue;
++ if (crtcs_adjacent(pScrPriv->crtcs[cur], pScrPriv->crtcs[i]))
++ mark_crtcs(pScrPriv, reachable, i);
++ }
++}
++
++static void
++RRComputeContiguity (ScreenPtr pScreen)
++{
++ rrScrPriv(pScreen);
++ Bool discontiguous = TRUE;
++ int i, n = pScrPriv->numCrtcs;
++
++ int *reachable = calloc(n, sizeof(int));
++ if (!reachable)
++ goto out;
++
++ /* Find first enabled CRTC and start search for reachable CRTCs from it */
++ for (i = 0; i < n; ++i) {
++ if (pScrPriv->crtcs[i]->mode) {
++ mark_crtcs(pScrPriv, reachable, i);
++ break;
++ }
++ }
++
++ /* Check that all enabled CRTCs were marked as reachable */
++ for (i = 0; i < n; ++i)
++ if (pScrPriv->crtcs[i]->mode && !reachable[i])
++ goto out;
++
++ discontiguous = FALSE;
++
++out:
++ free(reachable);
++ pScrPriv->discontiguous = discontiguous;
++}
++
+ /*
+ * Request that the Crtc be reconfigured
+ */
+@@ -306,6 +394,7 @@ RRCrtcSet (RRCrtcPtr crtc,
+ {
+ ScreenPtr pScreen = crtc->pScreen;
+ Bool ret = FALSE;
++ Bool recompute = TRUE;
+ rrScrPriv(pScreen);
+
+ /* See if nothing changed */
+@@ -318,6 +407,7 @@ RRCrtcSet (RRCrtcPtr crtc,
+ !RRCrtcPendingProperties (crtc) &&
+ !RRCrtcPendingTransform (crtc))
+ {
++ recompute = FALSE;
+ ret = TRUE;
+ }
+ else
+@@ -381,6 +471,10 @@ RRCrtcSet (RRCrtcPtr crtc,
+ RRPostPendingProperties (outputs[o]);
+ }
+ }
++
++ if (recompute)
++ RRComputeContiguity(pScreen);
++
+ return ret;
+ }
+
+@@ -1349,3 +1443,64 @@ ProcRRGetCrtcTransform (ClientPtr client)
+ free(reply);
+ return Success;
+ }
++
++void
++RRConstrainCursorHarder(DeviceIntPtr pDev, ScreenPtr pScreen, int mode, int *x, int *y)
++{
++ rrScrPriv (pScreen);
++ int i;
++
++ /* intentional dead space -> let it float */
++ if (pScrPriv->discontiguous)
++ return;
++
++ /* if we're moving inside a crtc, we're fine */
++ for (i = 0; i < pScrPriv->numCrtcs; i++) {
++ RRCrtcPtr crtc = pScrPriv->crtcs[i];
++
++ int left, right, top, bottom;
++
++ if (!crtc->mode)
++ continue;
++
++ crtc_bounds(crtc, &left, &right, &top, &bottom);
++
++ if ((*x >= left) && (*x <= right) && (*y >= top) && (*y <= bottom))
++ return;
++ }
++
++ /* if we're trying to escape, clamp to the CRTC we're coming from */
++ for (i = 0; i < pScrPriv->numCrtcs; i++) {
++ RRCrtcPtr crtc = pScrPriv->crtcs[i];
++ int nx, ny;
++ int left, right, top, bottom;
++
++ if (!crtc->mode)
++ continue;
++
++ crtc_bounds(crtc, &left, &right, &top, &bottom);
++ miPointerGetPosition(pDev, &nx, &ny);
++
++ if ((nx >= left) && (nx <= right) && (ny >= top) && (ny <= bottom)) {
++ if ((*x <= left) || (*x >= right)) {
++ int dx = *x - nx;
++
++ if (dx > 0)
++ *x = right;
++ else if (dx < 0)
++ *x = left;
++ }
++
++ if ((*y <= top) || (*y >= bottom)) {
++ int dy = *y - ny;
++
++ if (dy > 0)
++ *y = bottom;
++ else if (dy < 0)
++ *y = top;
++ }
++
++ return;
++ }
++ }
++}
+diff --git a/test/Makefile.am b/test/Makefile.am
+index 456221e..ccdb859 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -1,6 +1,6 @@
+ if UNITTESTS
+ SUBDIRS= . xi2
+-check_PROGRAMS = xkb input xtest
++check_PROGRAMS = xkb input xtest list fixes
+ check_LTLIBRARIES = libxservertest.la
+
+ TESTS=$(check_PROGRAMS)
+@@ -16,6 +16,8 @@ endif
+ xkb_LDADD=$(TEST_LDADD)
+ input_LDADD=$(TEST_LDADD)
+ xtest_LDADD=$(TEST_LDADD)
++list_LDADD=$(TEST_LDADD)
++fixes_LDADD=$(TEST_LDADD)
+
+ libxservertest_la_LIBADD = \
+ $(XSERVER_LIBS) \
+diff --git a/xfixes/cursor.c b/xfixes/cursor.c
+index fb608f6..5c55c95 100644
+--- a/xfixes/cursor.c
++++ b/xfixes/cursor.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2010 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+@@ -50,13 +51,16 @@
+ #include "cursorstr.h"
+ #include "dixevents.h"
+ #include "servermd.h"
++#include "mipointer.h"
+ #include "inputstr.h"
+ #include "windowstr.h"
+ #include "xace.h"
++#include "list.h"
+
+ static RESTYPE CursorClientType;
+ static RESTYPE CursorHideCountType;
+ static RESTYPE CursorWindowType;
++RESTYPE PointerBarrierType;
+ static CursorPtr CursorCurrent[MAXDEVICES];
+
+ static DevPrivateKeyRec CursorScreenPrivateKeyRec;
+@@ -107,6 +111,14 @@ typedef struct _CursorHideCountRec {
+ XID resource;
+ } CursorHideCountRec;
+
++typedef struct PointerBarrierClient *PointerBarrierClientPtr;
++
++struct PointerBarrierClient {
++ ScreenPtr screen;
++ struct PointerBarrier barrier;
++ struct list entry;
++};
++
+ /*
+ * Wrap DisplayCursor to catch cursor change events
+ */
+@@ -114,7 +126,9 @@ typedef struct _CursorHideCountRec {
+ typedef struct _CursorScreen {
+ DisplayCursorProcPtr DisplayCursor;
+ CloseScreenProcPtr CloseScreen;
++ ConstrainCursorHarderProcPtr ConstrainCursorHarder;
+ CursorHideCountPtr pCursorHideCounts;
++ struct list barriers;
+ } CursorScreenRec, *CursorScreenPtr;
+
+ #define GetCursorScreen(s) ((CursorScreenPtr)dixLookupPrivate(&(s)->devPrivates, CursorScreenPrivateKey))
+@@ -184,9 +198,11 @@ CursorCloseScreen (int index, ScreenPtr pScreen)
+ Bool ret;
+ CloseScreenProcPtr close_proc;
+ DisplayCursorProcPtr display_proc;
++ ConstrainCursorHarderProcPtr constrain_proc;
+
+ Unwrap (cs, pScreen, CloseScreen, close_proc);
+ Unwrap (cs, pScreen, DisplayCursor, display_proc);
++ Unwrap (cs, pScreen, ConstrainCursorHarder, constrain_proc);
+ deleteCursorHideCountsForScreen(pScreen);
+ ret = (*pScreen->CloseScreen) (index, pScreen);
+ free(cs);
+@@ -1029,6 +1045,391 @@ CursorFreeWindow (pointer data, XID id)
+ return 1;
+ }
+
++static BOOL
++barrier_is_horizontal(const struct PointerBarrier *barrier)
++{
++ return barrier->y1 == barrier->y2;
++}
++
++static BOOL
++barrier_is_vertical(const struct PointerBarrier *barrier)
++{
++ return barrier->x1 == barrier->x2;
++}
++
++/**
++ * @return The set of barrier movement directions the movement vector
++ * x1/y1 → x2/y2 represents.
++ */
++int
++barrier_get_direction(int x1, int y1, int x2, int y2)
++{
++ int direction = 0;
++
++ /* which way are we trying to go */
++ if (x2 > x1)
++ direction |= BarrierPositiveX;
++ if (x2 < x1)
++ direction |= BarrierNegativeX;
++ if (y2 > y1)
++ direction |= BarrierPositiveY;
++ if (y2 < y1)
++ direction |= BarrierNegativeY;
++
++ return direction;
++}
++
++/**
++ * Test if the barrier may block movement in the direction defined by
++ * x1/y1 → x2/y2. This function only tests whether the directions could be
++ * blocked, it does not test if the barrier actually blocks the movement.
++ *
++ * @return TRUE if the barrier blocks the direction of movement or FALSE
++ * otherwise.
++ */
++BOOL
++barrier_is_blocking_direction(const struct PointerBarrier *barrier, int direction)
++{
++ /* Barriers define which way is ok, not which way is blocking */
++ return (barrier->directions & direction) != direction;
++}
++
++/**
++ * Test if the movement vector x1/y1 → x2/y2 is intersecting with the
++ * barrier. A movement vector with the startpoint or endpoint on the barrier
++ * itself counts as intersecting.
++ *
++ * @param x1 X start coordinate of movement vector
++ * @param y1 Y start coordinate of movement vector
++ * @param x2 X end coordinate of movement vector
++ * @param y2 Y end coordinate of movement vector
++ * @param[out] distance The distance between the start point and the
++ * intersection with the barrier (if applicable).
++ * @return TRUE if the barrier intersects with the given vector
++ */
++BOOL
++barrier_is_blocking(const struct PointerBarrier *barrier,
++ int x1, int y1, int x2, int y2,
++ double *distance)
++{
++ BOOL rc = FALSE;
++ float ua, ub, ud;
++ int dir = barrier_get_direction(x1, y1, x2, y2);
++
++ /* Algorithm below doesn't handle edge cases well, hence the extra
++ * checks. */
++ if (barrier_is_vertical(barrier)) {
++ /* handle immediate barrier adjacency, moving away */
++ if (dir & BarrierPositiveX && x1 == barrier->x1)
++ return FALSE;
++ if (dir & BarrierNegativeX && x1 == (barrier->x1 - 1))
++ return FALSE;
++ /* startpoint on barrier */
++ if (x1 == barrier->x1 && y1 >= barrier->y1 && y1 <= barrier->y2) {
++ *distance = 0;
++ return TRUE;
++ }
++ /* endpoint on barrier */
++ if (x2 == barrier->x1 && y2 >= barrier->y1 && y2 <= barrier->y2) {
++ *distance = abs(x2 - x1);
++ return TRUE;
++ }
++ } else {
++ /* handle immediate barrier adjacency, moving away */
++ if (dir & BarrierPositiveY && y1 == barrier->y1)
++ return FALSE;
++ if (dir & BarrierNegativeY && y1 == (barrier->y1 - 1))
++ return FALSE;
++ /* startpoint on barrier */
++ if (y1 == barrier->y1 && x1 >= barrier->x1 && x1 <= barrier->x2) {
++ *distance = 0;
++ return TRUE;
++ }
++ /* endpoint on barrier */
++ if (y2 == barrier->y1 && x2 >= barrier->x1 && x2 <= barrier->x2) {
++ *distance = abs(y2 - y1);
++ return TRUE;
++ }
++ }
++
++ /* not an edge case, compute distance */
++ ua = 0;
++ ud = (barrier->y2 - barrier->y1) * (x2 - x1) - (barrier->x2 - barrier->x1) * (y2 - y1);
++ if (ud != 0) {
++ ua = ((barrier->x2 - barrier->x1) * (y1 - barrier->y1) -
++ (barrier->y2 - barrier->y1) * (x1 - barrier->x1)) / ud;
++ ub = ((x2 - x1) * (y1 - barrier->y1) -
++ (y2 - y1) * (x1 - barrier->x1)) / ud;
++ if (ua < 0 || ua > 1 || ub < 0 || ub > 1)
++ ua = 0;
++ }
++
++ if (ua > 0 && ua <= 1)
++ {
++ double ix = barrier->x1 + ua * (barrier->x2 - barrier->x1);
++ double iy = barrier->y1 + ua * (barrier->y2 - barrier->y1);
++
++ *distance = sqrt(pow(x1 - ix, 2) + pow(y1 - iy, 2));
++ rc = TRUE;
++ }
++
++ return rc;
++}
++
++/**
++ * Find the nearest barrier that is blocking movement from x1/y1 to x2/y2.
++ *
++ * @param dir Only barriers blocking movement in direction dir are checked
++ * @param x1 X start coordinate of movement vector
++ * @param y1 Y start coordinate of movement vector
++ * @param x2 X end coordinate of movement vector
++ * @param y2 Y end coordinate of movement vector
++ * @return The barrier nearest to the movement origin that blocks this movement.
++ */
++static struct PointerBarrier*
++barrier_find_nearest(CursorScreenPtr cs, int dir,
++ int x1, int y1, int x2, int y2)
++{
++ struct PointerBarrierClient *c;
++ struct PointerBarrier *nearest = NULL;
++ double min_distance = INT_MAX; /* can't get higher than that in X anyway */
++
++ list_for_each_entry(c, &cs->barriers, entry) {
++ struct PointerBarrier *b = &c->barrier;
++ double distance;
++
++ if (!barrier_is_blocking_direction(b, dir))
++ continue;
++
++ if (barrier_is_blocking(b, x1, y1, x2, y2, &distance))
++ {
++ if (min_distance > distance)
++ {
++ min_distance = distance;
++ nearest = b;
++ }
++ }
++ }
++
++ return nearest;
++}
++
++/**
++ * Clamp to the given barrier given the movement direction specified in dir.
++ *
++ * @param barrier The barrier to clamp to
++ * @param dir The movement direction
++ * @param[out] x The clamped x coordinate.
++ * @param[out] y The clamped x coordinate.
++ */
++void
++barrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x, int *y)
++{
++ if (barrier_is_vertical(barrier)) {
++ if ((dir & BarrierNegativeX) & ~barrier->directions)
++ *x = barrier->x1;
++ if ((dir & BarrierPositiveX) & ~barrier->directions)
++ *x = barrier->x1 - 1;
++ }
++ if (barrier_is_horizontal(barrier))
++ {
++ if ((dir & BarrierNegativeY) & ~barrier->directions)
++ *y = barrier->y1;
++ if ((dir & BarrierPositiveY) & ~barrier->directions)
++ *y = barrier->y1 - 1;
++ }
++}
++
++static void
++CursorConstrainCursorHarder(DeviceIntPtr dev, ScreenPtr screen, int mode, int *x, int *y)
++{
++ CursorScreenPtr cs = GetCursorScreen(screen);
++
++ if (!list_is_empty(&cs->barriers) && !IsFloating(dev) && mode == Relative) {
++ int ox, oy;
++ int dir;
++ struct PointerBarrier *nearest = NULL;
++
++ /* where are we coming from */
++ miPointerGetPosition(dev, &ox, &oy);
++
++ /* How this works:
++ * Given the origin and the movement vector, get the nearest barrier
++ * to the origin that is blocking the movement.
++ * Clamp to that barrier.
++ * Then, check from the clamped position to the original
++ * destination, again finding the nearest barrier and clamping.
++ */
++ dir = barrier_get_direction(ox, oy, *x, *y);
++
++ nearest = barrier_find_nearest(cs, dir, ox, oy, *x, *y);
++ if (nearest) {
++ barrier_clamp_to_barrier(nearest, dir, x, y);
++
++ if (barrier_is_vertical(nearest)) {
++ dir &= ~(BarrierNegativeX | BarrierPositiveX);
++ ox = *x;
++ } else if (barrier_is_horizontal(nearest)) {
++ dir &= ~(BarrierNegativeY | BarrierPositiveY);
++ oy = *y;
++ }
++
++ nearest = barrier_find_nearest(cs, dir, ox, oy, *x, *y);
++ if (nearest) {
++ barrier_clamp_to_barrier(nearest, dir, x, y);
++ }
++ }
++ }
++
++ if (cs->ConstrainCursorHarder) {
++ screen->ConstrainCursorHarder = cs->ConstrainCursorHarder;
++ screen->ConstrainCursorHarder(dev, screen, mode, x, y);
++ screen->ConstrainCursorHarder = CursorConstrainCursorHarder;
++ }
++}
++
++static struct PointerBarrierClient *
++CreatePointerBarrierClient(ScreenPtr screen, ClientPtr client,
++ xXFixesCreatePointerBarrierReq *stuff)
++{
++ CursorScreenPtr cs = GetCursorScreen(screen);
++ struct PointerBarrierClient *ret = malloc(sizeof(*ret));
++
++ if (ret) {
++ ret->screen = screen;
++ ret->barrier.x1 = min(stuff->x1, stuff->x2);
++ ret->barrier.x2 = max(stuff->x1, stuff->x2);
++ ret->barrier.y1 = min(stuff->y1, stuff->y2);
++ ret->barrier.y2 = max(stuff->y1, stuff->y2);
++ ret->barrier.directions = stuff->directions & 0x0f;
++ if (barrier_is_horizontal(&ret->barrier))
++ ret->barrier.directions &= ~(BarrierPositiveX | BarrierNegativeX);
++ if (barrier_is_vertical(&ret->barrier))
++ ret->barrier.directions &= ~(BarrierPositiveY | BarrierNegativeY);
++ list_add(&ret->entry, &cs->barriers);
++ }
++
++ return ret;
++}
++
++int
++ProcXFixesCreatePointerBarrier (ClientPtr client)
++{
++ int err;
++ WindowPtr pWin;
++ struct PointerBarrierClient *barrier;
++ struct PointerBarrier b;
++ REQUEST (xXFixesCreatePointerBarrierReq);
++
++ REQUEST_SIZE_MATCH(xXFixesCreatePointerBarrierReq);
++ LEGAL_NEW_RESOURCE(stuff->barrier, client);
++
++ err = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess);
++ if (err != Success) {
++ client->errorValue = stuff->window;
++ return err;
++ }
++
++ /* This sure does need fixing. */
++ if (stuff->num_devices)
++ return BadImplementation;
++
++ b.x1 = stuff->x1;
++ b.x2 = stuff->x2;
++ b.y1 = stuff->y1;
++ b.y2 = stuff->y2;
++
++ if (!barrier_is_horizontal(&b) && !barrier_is_vertical(&b))
++ return BadValue;
++
++ /* no 0-sized barriers */
++ if (barrier_is_horizontal(&b) && barrier_is_vertical(&b))
++ return BadValue;
++
++ if (!(barrier = CreatePointerBarrierClient(pWin->drawable.pScreen,
++ client, stuff)))
++ return BadAlloc;
++
++ if (!AddResource(stuff->barrier, PointerBarrierType, &barrier->barrier))
++ return BadAlloc;
++
++ return Success;
++}
++
++int
++SProcXFixesCreatePointerBarrier (ClientPtr client)
++{
++ int n;
++ REQUEST(xXFixesCreatePointerBarrierReq);
++
++ swaps(&stuff->length, n);
++ REQUEST_SIZE_MATCH(xXFixesCreatePointerBarrierReq);
++ swapl(&stuff->barrier, n);
++ swapl(&stuff->window, n);
++ swaps(&stuff->x1, n);
++ swaps(&stuff->y1, n);
++ swaps(&stuff->x2, n);
++ swaps(&stuff->y2, n);
++ swapl(&stuff->directions, n);
++ return ProcXFixesVector[stuff->xfixesReqType](client);
++}
++
++static int
++CursorFreeBarrier(void *data, XID id)
++{
++ struct PointerBarrierClient *b = NULL, *barrier;
++ ScreenPtr screen;
++ CursorScreenPtr cs;
++
++ barrier = container_of(data, struct PointerBarrierClient, barrier);
++ screen = barrier->screen;
++ cs = GetCursorScreen(screen);
++
++ /* find and unlink from the screen private */
++ list_for_each_entry(b, &cs->barriers, entry) {
++ if (b == barrier) {
++ list_del(&b->entry);
++ break;
++ }
++ }
++
++ free(barrier);
++ return Success;
++}
++
++int
++ProcXFixesDestroyPointerBarrier (ClientPtr client)
++{
++ int err;
++ void *barrier;
++ REQUEST (xXFixesDestroyPointerBarrierReq);
++
++ REQUEST_SIZE_MATCH(xXFixesDestroyPointerBarrierReq);
++
++ err = dixLookupResourceByType((void **)&barrier, stuff->barrier,
++ PointerBarrierType, client,
++ DixDestroyAccess);
++ if (err != Success) {
++ client->errorValue = stuff->barrier;
++ return err;
++ }
++
++ FreeResource(stuff->barrier, RT_NONE);
++ return Success;
++}
++
++int
++SProcXFixesDestroyPointerBarrier (ClientPtr client)
++{
++ int n;
++ REQUEST(xXFixesDestroyPointerBarrierReq);
++
++ swaps(&stuff->length, n);
++ REQUEST_SIZE_MATCH(xXFixesDestroyPointerBarrierReq);
++ swapl(&stuff->barrier, n);
++ return ProcXFixesVector[stuff->xfixesReqType](client);
++}
++
+ Bool
+ XFixesCursorInit (void)
+ {
+@@ -1048,8 +1449,10 @@ XFixesCursorInit (void)
+ cs = (CursorScreenPtr) calloc(1, sizeof (CursorScreenRec));
+ if (!cs)
+ return FALSE;
++ list_init(&cs->barriers);
+ Wrap (cs, pScreen, CloseScreen, CursorCloseScreen);
+ Wrap (cs, pScreen, DisplayCursor, CursorDisplayCursor);
++ Wrap (cs, pScreen, ConstrainCursorHarder, CursorConstrainCursorHarder);
+ cs->pCursorHideCounts = NULL;
+ SetCursorScreen (pScreen, cs);
+ }
+@@ -1059,7 +1462,10 @@ XFixesCursorInit (void)
+ "XFixesCursorHideCount");
+ CursorWindowType = CreateNewResourceType(CursorFreeWindow,
+ "XFixesCursorWindow");
++ PointerBarrierType = CreateNewResourceType(CursorFreeBarrier,
++ "XFixesPointerBarrier");
+
+- return CursorClientType && CursorHideCountType && CursorWindowType;
++ return CursorClientType && CursorHideCountType && CursorWindowType &&
++ PointerBarrierType;
+ }
+
+diff --git a/xfixes/xfixes.c b/xfixes/xfixes.c
+index e8c7bf1..a57884b 100644
+--- a/xfixes/xfixes.c
++++ b/xfixes/xfixes.c
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2010 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+@@ -47,10 +48,6 @@
+
+ #include "xfixesint.h"
+ #include "protocol-versions.h"
+-/*
+- * Must use these instead of the constants from xfixeswire.h. They advertise
+- * what we implement, not what the protocol headers define.
+- */
+
+ static unsigned char XFixesReqCode;
+ int XFixesEventBase;
+@@ -97,11 +94,12 @@ ProcXFixesQueryVersion(ClientPtr client)
+
+ /* Major version controls available requests */
+ static const int version_requests[] = {
+- X_XFixesQueryVersion, /* before client sends QueryVersion */
+- X_XFixesGetCursorImage, /* Version 1 */
+- X_XFixesChangeCursorByName, /* Version 2 */
+- X_XFixesExpandRegion, /* Version 3 */
+- X_XFixesShowCursor, /* Version 4 */
++ X_XFixesQueryVersion, /* before client sends QueryVersion */
++ X_XFixesGetCursorImage, /* Version 1 */
++ X_XFixesChangeCursorByName, /* Version 2 */
++ X_XFixesExpandRegion, /* Version 3 */
++ X_XFixesShowCursor, /* Version 4 */
++ X_XFixesDestroyPointerBarrier, /* Version 5 */
+ };
+
+ #define NUM_VERSION_REQUESTS (sizeof (version_requests) / sizeof (version_requests[0]))
+@@ -142,6 +140,9 @@ int (*ProcXFixesVector[XFixesNumberRequests])(ClientPtr) = {
+ /*************** Version 4 ****************/
+ ProcXFixesHideCursor,
+ ProcXFixesShowCursor,
++/*************** Version 5 ****************/
++ ProcXFixesCreatePointerBarrier,
++ ProcXFixesDestroyPointerBarrier,
+ };
+
+ static int
+@@ -205,6 +206,9 @@ static int (*SProcXFixesVector[XFixesNumberRequests])(ClientPtr) = {
+ /*************** Version 4 ****************/
+ SProcXFixesHideCursor,
+ SProcXFixesShowCursor,
++/*************** Version 5 ****************/
++ SProcXFixesCreatePointerBarrier,
++ SProcXFixesDestroyPointerBarrier,
+ };
+
+ static int
+@@ -260,6 +264,8 @@ XFixesExtensionInit(void)
+ EventSwapVector[XFixesEventBase + XFixesCursorNotify] =
+ (EventSwapPtr) SXFixesCursorNotifyEvent;
+ SetResourceTypeErrorValue(RegionResType, XFixesErrorBase + BadRegion);
++ SetResourceTypeErrorValue(PointerBarrierType,
++ XFixesErrorBase + BadBarrier);
+ }
+ }
+
+diff --git a/xfixes/xfixes.h b/xfixes/xfixes.h
+index 1638350..5765e64 100644
+--- a/xfixes/xfixes.h
++++ b/xfixes/xfixes.h
+@@ -30,6 +30,7 @@
+ #include "resource.h"
+
+ extern _X_EXPORT RESTYPE RegionResType;
++extern _X_EXPORT RESTYPE PointerBarrierType;
+ extern _X_EXPORT int XFixesErrorBase;
+
+ #define VERIFY_REGION(pRegion, rid, client, mode) \
+@@ -51,5 +52,21 @@ extern _X_EXPORT int XFixesErrorBase;
+ extern _X_EXPORT RegionPtr
+ XFixesRegionCopy (RegionPtr pRegion);
+
++struct PointerBarrier {
++ CARD16 x1, x2, y1, y2;
++ CARD32 directions;
++};
++
++
++extern int
++barrier_get_direction(int, int, int, int);
++extern BOOL
++barrier_is_blocking(const struct PointerBarrier*, int, int, int, int, double*);
++extern BOOL
++barrier_is_blocking_direction(const struct PointerBarrier*, int);
++extern void
++barrier_clamp_to_barrier(struct PointerBarrier *barrier, int dir, int *x, int *y);
++
++
+
+ #endif /* _XFIXES_H_ */
+diff --git a/xfixes/xfixesint.h b/xfixes/xfixesint.h
+index d005369..6ba276e 100644
+--- a/xfixes/xfixesint.h
++++ b/xfixes/xfixesint.h
+@@ -1,5 +1,6 @@
+ /*
+ * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
++ * Copyright 2010 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+@@ -278,6 +279,21 @@ ProcXFixesShowCursor (ClientPtr client);
+ int
+ SProcXFixesShowCursor (ClientPtr client);
+
++/* Version 5 */
++
++int
++ProcXFixesCreatePointerBarrier (ClientPtr client);
++
++int
++SProcXFixesCreatePointerBarrier (ClientPtr client);
++
++int
++ProcXFixesDestroyPointerBarrier (ClientPtr client);
++
++int
++SProcXFixesDestroyPointerBarrier (ClientPtr client);
++
++/* Xinerama */
+ extern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests])(ClientPtr);
+ void PanoramiXFixesInit (void);
+ void PanoramiXFixesReset (void);
+--
+1.7.4
+
diff --git a/testing/xorg-server/xvfb-run b/testing/xorg-server/xvfb-run
new file mode 100644
index 000000000..4c2f4e0d3
--- /dev/null
+++ b/testing/xorg-server/xvfb-run
@@ -0,0 +1,180 @@
+#!/bin/sh
+
+# $Id: xvfb-run 2027 2004-11-16 14:54:16Z branden $
+
+# This script starts an instance of Xvfb, the "fake" X server, runs a command
+# with that server available, and kills the X server when done. The return
+# value of the command becomes the return value of this script.
+#
+# If anyone is using this to build a Debian package, make sure the package
+# Build-Depends on xvfb, xbase-clients, and xfonts-base.
+
+set -e
+
+PROGNAME=xvfb-run
+SERVERNUM=99
+AUTHFILE=
+ERRORFILE=/dev/null
+STARTWAIT=3
+XVFBARGS="-screen 0 640x480x8"
+LISTENTCP="-nolisten tcp"
+XAUTHPROTO=.
+
+# Query the terminal to establish a default number of columns to use for
+# displaying messages to the user. This is used only as a fallback in the event
+# the COLUMNS variable is not set. ($COLUMNS can react to SIGWINCH while the
+# script is running, and this cannot, only being calculated once.)
+DEFCOLUMNS=$(stty size 2>/dev/null | awk '{print $2}') || true
+if ! expr "$DEFCOLUMNS" : "[[:digit:]]\+$" >/dev/null 2>&1; then
+ DEFCOLUMNS=80
+fi
+
+# Display a message, wrapping lines at the terminal width.
+message () {
+ echo "$PROGNAME: $*" | fmt -t -w ${COLUMNS:-$DEFCOLUMNS}
+}
+
+# Display an error message.
+error () {
+ message "error: $*" >&2
+}
+
+# Display a usage message.
+usage () {
+ if [ -n "$*" ]; then
+ message "usage error: $*"
+ fi
+ cat <<EOF
+Usage: $PROGNAME [OPTION ...] COMMAND
+Run COMMAND (usually an X client) in a virtual X server environment.
+Options:
+-a --auto-servernum try to get a free server number, starting at
+ --server-num
+-e FILE --error-file=FILE file used to store xauth errors and Xvfb
+ output (default: $ERRORFILE)
+-f FILE --auth-file=FILE file used to store auth cookie
+ (default: ./.Xauthority)
+-h --help display this usage message and exit
+-n NUM --server-num=NUM server number to use (default: $SERVERNUM)
+-l --listen-tcp enable TCP port listening in the X server
+-p PROTO --xauth-protocol=PROTO X authority protocol name to use
+ (default: xauth command's default)
+-s ARGS --server-args=ARGS arguments (other than server number and
+ "-nolisten tcp") to pass to the Xvfb server
+ (default: "$XVFBARGS")
+-w DELAY --wait=DELAY delay in seconds to wait for Xvfb to start
+ before running COMMAND (default: $STARTWAIT)
+EOF
+}
+
+# Find a free server number by looking at .X*-lock files in /tmp.
+find_free_servernum() {
+ # Sadly, the "local" keyword is not POSIX. Leave the next line commented in
+ # the hope Debian Policy eventually changes to allow it in /bin/sh scripts
+ # anyway.
+ #local i
+
+ i=$SERVERNUM
+ while [ -f /tmp/.X$i-lock ]; do
+ i=$(($i + 1))
+ done
+ echo $i
+}
+
+# Clean up files
+clean_up() {
+ if [ -e "$AUTHFILE" ]; then
+ XAUTHORITY=$AUTHFILE xauth remove ":$SERVERNUM" >>"$ERRORFILE" 2>&1
+ fi
+ if [ -n "$XVFB_RUN_TMPDIR" ]; then
+ if ! rm -r "$XVFB_RUN_TMPDIR"; then
+ error "problem while cleaning up temporary directory"
+ exit 5
+ fi
+ fi
+}
+
+# Parse the command line.
+ARGS=$(getopt --options +ae:f:hn:lp:s:w: \
+ --long auto-servernum,error-file:,auth-file:,help,server-num:,listen-tcp,xauth-protocol:,server-args:,wait: \
+ --name "$PROGNAME" -- "$@")
+GETOPT_STATUS=$?
+
+if [ $GETOPT_STATUS -ne 0 ]; then
+ error "internal error; getopt exited with status $GETOPT_STATUS"
+ exit 6
+fi
+
+eval set -- "$ARGS"
+
+while :; do
+ case "$1" in
+ -a|--auto-servernum) SERVERNUM=$(find_free_servernum) ;;
+ -e|--error-file) ERRORFILE="$2"; shift ;;
+ -f|--auth-file) AUTHFILE="$2"; shift ;;
+ -h|--help) SHOWHELP="yes" ;;
+ -n|--server-num) SERVERNUM="$2"; shift ;;
+ -l|--listen-tcp) LISTENTCP="" ;;
+ -p|--xauth-protocol) XAUTHPROTO="$2"; shift ;;
+ -s|--server-args) XVFBARGS="$2"; shift ;;
+ -w|--wait) STARTWAIT="$2"; shift ;;
+ --) shift; break ;;
+ *) error "internal error; getopt permitted \"$1\" unexpectedly"
+ exit 6
+ ;;
+ esac
+ shift
+done
+
+if [ "$SHOWHELP" ]; then
+ usage
+ exit 0
+fi
+
+if [ -z "$*" ]; then
+ usage "need a command to run" >&2
+ exit 2
+fi
+
+if ! which xauth >/dev/null; then
+ error "xauth command not found"
+ exit 3
+fi
+
+# tidy up after ourselves
+trap clean_up EXIT
+
+# If the user did not specify an X authorization file to use, set up a temporary
+# directory to house one.
+if [ -z "$AUTHFILE" ]; then
+ XVFB_RUN_TMPDIR="$(mktemp -d -t $PROGNAME.XXXXXX)"
+ AUTHFILE="$XVFB_RUN_TMPDIR/Xauthority"
+fi
+
+# Start Xvfb.
+MCOOKIE=$(mcookie)
+XAUTHORITY=$AUTHFILE xauth source - << EOF >>"$ERRORFILE" 2>&1
+add :$SERVERNUM $XAUTHPROTO $MCOOKIE
+EOF
+XAUTHORITY=$AUTHFILE Xvfb ":$SERVERNUM" $XVFBARGS $LISTENTCP >>"$ERRORFILE" \
+ 2>&1 &
+XVFBPID=$!
+sleep "$STARTWAIT"
+if ! kill -0 $XVFBPID 2>/dev/null; then
+ echo "Xvfb failed to start" >&2
+ exit 1
+fi
+
+# Start the command and save its exit status.
+set +e
+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1
+RETVAL=$?
+set -e
+
+# Kill Xvfb now that the command has exited.
+kill $XVFBPID
+
+# Return the executed command's exit status.
+exit $RETVAL
+
+# vim:set ai et sts=4 sw=4 tw=80:
diff --git a/testing/xorg-server/xvfb-run.1 b/testing/xorg-server/xvfb-run.1
new file mode 100644
index 000000000..137d3a196
--- /dev/null
+++ b/testing/xorg-server/xvfb-run.1
@@ -0,0 +1,282 @@
+.\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
+.\"
+.\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
+.\"
+.\" This is free software; you may redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2,
+.\" or (at your option) any later version.
+.\"
+.\" This is distributed in the hope that it will be useful, but
+.\" WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License with
+.\" the Debian operating system, in /usr/share/common-licenses/GPL; if
+.\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
+.\" Suite 330, Boston, MA 02111-1307 USA
+.\"
+.\" We need the URL macro from groff's www macro package, but also want
+.\" things to work all right for people who don't have it. So we define
+.\" our own URL macro and let the www macro package override it if it's
+.\" available.
+.de URL
+\\$2 \(laURL: \\$1 \(ra\\$3
+..
+.if \n[.g] .mso www.tmac
+.TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
+.SH NAME
+xvfb\-run \- run specified X client or command in a virtual X server environment
+.SH SYNOPSIS
+.B xvfb\-run
+[
+.I options
+]
+.I command
+.SH DESCRIPTION
+.B xvfb\-run
+is a wrapper for the
+.BR Xvfb (1x)
+command which simplifies the task of running commands (typically an X
+client, or a script containing a list of clients to be run) within a virtual
+X server environment.
+.PP
+.B xvfb\-run
+sets up an X authority file (or uses an existing user\-specified one),
+writes a cookie to it (see
+.BR xauth (1x))
+and then starts the
+.B Xvfb
+X server as a background process.
+The process ID of
+.B Xvfb
+is stored for later use.
+The specified
+.I command
+is then run using the X display corresponding to the
+.B Xvfb
+server
+just started and the X authority file created earlier.
+.PP
+When the
+.I command
+exits, its status is saved, the
+.B Xvfb
+server is killed (using the process ID stored earlier), the X authority
+cookie removed, and the authority file deleted (if the user did not specify
+one to use).
+.B xvfb\-run
+then exits with the exit status of
+.IR command .
+.PP
+.B xvfb\-run
+requires the
+.B xauth
+command to function.
+.SH OPTIONS
+.TP
+.B \-a\fR,\fB \-\-auto\-servernum
+Try to get a free server number, starting at 99, or the argument to
+.BR \-\-server\-num .
+.TP
+.BI \-e\ file \fR,\fB\ \-\-error\-file= file
+Store output from
+.B xauth
+and
+.B Xvfb
+in
+.IR file .
+The default is
+.IR /dev/null .
+.TP
+.BI \-f\ file \fR,\fB\ \-\-auth\-file= file
+Store X authentication data in
+.IR file .
+By default, a temporary directory called
+.IR xvfb\-run. PID
+(where PID is the process ID of
+.B xvfb\-run
+itself) is created in the directory specified by the environment variable
+.B TMPDIR
+(or
+.I /tmp
+if that variable is null or unset), and the
+.BR tempfile (1)
+command is used to create a file in that temporary directory called
+.IR Xauthority .
+.TP
+.B \-h\fR,\fB \-\-help
+Display a usage message and exit.
+.TP
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+Use
+.I servernumber
+as the server number (but see the
+.B \-a\fR,\fB \-\-auto\-servernum
+option above).
+The default is 99.
+.TP
+.B \-l\fR,\fB \-\-listen\-tcp
+Enable TCP port listening in the X server.
+For security reasons (to avoid denial\-of\-service attacks or exploits),
+TCP port listening is disabled by default.
+.TP
+.BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
+Use
+.I protocolname
+as the X authority protocol to use.
+The default is \(oq.\(cq, which
+.B xauth
+interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
+.TP
+.BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
+Pass
+.I arguments
+to the
+.B Xvfb
+server.
+Be careful to quote any whitespace characters that may occur within
+.I arguments
+to prevent them from regarded as separators for
+.BR xvfb\-run 's
+own arguments.
+Also, note that specification of \(oq\-nolisten tcp\(cq in
+.I arguments
+may override the function of
+.BR xvfb\-run 's
+own
+.B \-l\fR,\fB \-\-listen\-tcp
+option, and that specification of the server number (e.g., \(oq:1\(cq) may
+be ignored because of the way the X server parses its argument list.
+Use the
+.B xvfb\-run
+option
+.BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
+to achieve the latter function.
+The default is \(oq\-screen 0 640x480x8\(cq.
+.TP
+.BI \-w\ delay \fR,\fB\ \-\-wait= delay
+Wait
+.I delay
+seconds after launching
+.B Xvfb
+before attempting to start the specified command.
+The default is 3.
+.SH ENVIRONMENT
+.TP
+.B COLUMNS
+indicates the width of the terminal device in character cells.
+This value is used for formatting diagnostic messages.
+If not set, the terminal is queried using
+.BR stty (1)
+to determine its width.
+If that fails, a value of \(oq80\(cq is assumed.
+.TP
+.B TMPDIR
+specifies the directory in which to place
+.BR xvfb\-run 's
+temporary directory for storage of the X authority file; only used if the
+.B \-f
+or
+.B \-\-auth\-file
+options are not specified.
+.SH "OUTPUT FILES"
+.PP
+Unless the
+.B \-f
+or
+.B \-\-auth\-file
+options are specified, a temporary
+directory and file within it are created (and deleted) to store the X
+authority cookies used by the
+.B Xvfb
+server and client(s) run under it.
+See
+.BR tempfile (1).
+If \-f or \-\-auth\-file are used, then the specified X authority file is
+only written to, not created or deleted (though
+.B xauth
+creates an authority file itself if told to use use that does not already
+exist).
+.PP
+An error file with a user\-specified name is also created if the
+.B \-e
+or
+.B \-\-error\-file
+options are specifed; see above.
+.SH "EXIT STATUS"
+.B xvfb\-run
+uses its exit status as well as output to standard error to communicate
+diagnostics.
+The exit status of \(oq1\(cq is not used, and should be interpreted as failure
+of the specified command.
+.TP
+0
+.B xvfb\-run
+only uses this exit status if the
+.B \-h\fR,\fB \-\-help
+option is given.
+In all other situations, this may be interpreted as success of the specified
+command.
+.TP
+2
+No command to run was specified.
+.TP
+3
+The
+.B xauth
+command is not available.
+.TP
+4
+The temporary directory that was going to be used already exists; since
+.B xvfb\-run
+produces a uniquely named directory, this may indicate an attempt by another
+process on the system to exploit a temporary file race condition.
+.TP
+5
+A problem was encountered while cleaning up the temporary directory.
+.TP
+6
+A problem was encountered while using
+.BR getopt (1)
+to parse the command\-line arguments.
+.SH EXAMPLES
+.TP
+.B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
+runs the
+.BR xlogo (1x)
+demonstration client inside the
+.B Xvfb
+X server on the first available server number greater than or equal to 1.
+.TP
+.B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
+runs the
+.BR ico (1x)
+demonstration client (and passes it the
+.B \-faces
+argument) inside the
+.B Xvfb
+X server, configured with a root window of 1024 by 768 pixels and a color
+depth of 24 bits.
+.PP
+Note that the demo X clients used in the above examples will not exit on
+their own, so they will have to be killed before
+.B xvfb\-run
+will exit.
+.SH BUGS
+See
+.URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
+If you wish to report a bug in
+.BR xvfb\-run ,
+please use the
+.BR reportbug (1)
+command.
+.SH AUTHOR
+.B xfvb\-run
+was written by Branden Robinson and Jeff Licquia with sponsorship from
+Progeny Linux Systems.
+.SH "SEE ALSO"
+.BR Xvfb (1x),
+.BR xauth (1x)
+.\" vim:set et tw=80:
diff --git a/testing/xorg-sessreg/PKGBUILD b/testing/xorg-sessreg/PKGBUILD
new file mode 100644
index 000000000..9b1f56573
--- /dev/null
+++ b/testing/xorg-sessreg/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113683 2011-03-10 14:43:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-sessreg
+pkgver=1.0.6
+pkgrel=2
+pkgdesc="Register X sessions in system utmp/utmpx databases"
+arch=(i686 x86_64 'mips64el')
+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)
+sha1sums=('6f260f1ddc366da070a6d60301b9fb64a99c119a')
+
+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/testing/xorg-setxkbmap/PKGBUILD b/testing/xorg-setxkbmap/PKGBUILD
new file mode 100644
index 000000000..2aceaead9
--- /dev/null
+++ b/testing/xorg-setxkbmap/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113688 2011-03-10 14:45:16Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-setxkbmap
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Set the keyboard using the X Keyboard Extension"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxkbfile')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(${url}/releases/individual/app/setxkbmap-${pkgver}.tar.bz2)
+sha1sums=('860785e16313d30792fe62604f65d84281812322')
+
+build() {
+ cd "${srcdir}/setxkbmap-${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/testing/xorg-smproxy/PKGBUILD b/testing/xorg-smproxy/PKGBUILD
new file mode 100644
index 000000000..7fd915c9c
--- /dev/null
+++ b/testing/xorg-smproxy/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113698 2011-03-10 14:47:17Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-smproxy
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Allows X applications that do not support X11R6 session management to participate in an X11R6 session"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libsm' 'libxt' 'libxmu')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/smproxy-${pkgver}.tar.bz2)
+sha1sums=('ea9639b6d0669f157ac62b807cdba64f509b25ed')
+
+build() {
+ cd "${srcdir}/smproxy-${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/testing/xorg-twm/PKGBUILD b/testing/xorg-twm/PKGBUILD
new file mode 100644
index 000000000..802fb69ba
--- /dev/null
+++ b/testing/xorg-twm/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 113881 2011-03-10 17:47:05Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-twm
+pkgver=1.0.6
+pkgrel=2
+pkgdesc="Tab Window Manager for the X Window System"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+backup=(etc/X11/twm/system.twmrc)
+license=('custom')
+depends=('libxmu')
+makedepends=('xorg-util-macros')
+source=(${url}/releases/individual/app/twm-${pkgver}.tar.bz2)
+sha1sums=('5c28194c9c620b34df56fdee140d662425ba8a86')
+
+build() {
+ cd "${srcdir}/twm-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/twm-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/etc/X11/twm"
+ install -m644 src/system.twmrc "${pkgdir}/etc/X11/twm/"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
+}
diff --git a/testing/xorg-x11perf/PKGBUILD b/testing/xorg-x11perf/PKGBUILD
new file mode 100644
index 000000000..42fc8adc9
--- /dev/null
+++ b/testing/xorg-x11perf/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 113703 2011-03-10 14:49:36Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-x11perf
+pkgver=1.5.3
+pkgrel=2
+pkgdesc="Simple X server performance benchmarker"
+arch=(i686 x86_64 'mips64el')
+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=('2fd00ba38c36c569751bbe3d60917df2a39e10ba')
+
+build() {
+ cd "${srcdir}/x11perf-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/x11perf-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xauth/PKGBUILD b/testing/xorg-xauth/PKGBUILD
new file mode 100644
index 000000000..26935f83f
--- /dev/null
+++ b/testing/xorg-xauth/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113711 2011-03-10 14:51:46Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xauth
+pkgver=1.0.5
+pkgrel=2
+pkgdesc="X.Org authorization settings program"
+arch=(i686 x86_64 'mips64el')
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('libxmu')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(${url}/releases/individual/app/xauth-${pkgver}.tar.bz2)
+sha1sums=('6d94b5822e8ce08630a8ff510230246d5ed45290')
+
+build() {
+ cd "${srcdir}/xauth-${pkgver}"
+ ./configure --prefix=/usr
+ make
+ make DESTDIR="${pkgdir}" install
+ install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xbacklight/PKGBUILD b/testing/xorg-xbacklight/PKGBUILD
new file mode 100644
index 000000000..2b1a3c230
--- /dev/null
+++ b/testing/xorg-xbacklight/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113718 2011-03-10 14:54:32Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xbacklight
+pkgver=1.1.2
+pkgrel=2
+pkgdesc="RandR-based backlight control application"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xbiff/PKGBUILD b/testing/xorg-xbiff/PKGBUILD
new file mode 100644
index 000000000..47bd31dd8
--- /dev/null
+++ b/testing/xorg-xbiff/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 108983 2011-02-05 10:35:36Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xbiff
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="Watch mailboxes for new message delivery"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxext')
+makedepends=('xorg-util-macros' 'xbitmaps')
+source=(http://xorg.freedesktop.org/archive/individual/app/xbiff-${pkgver}.tar.bz2)
+sha1sums=('17337a951264f0f96f6d03893f9dfd9cf8f12a5a')
+
+build() {
+ cd "${srcdir}/xbiff-${pkgver}"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}/xbiff-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xcalc/PKGBUILD b/testing/xorg-xcalc/PKGBUILD
new file mode 100644
index 000000000..d4d16a8c4
--- /dev/null
+++ b/testing/xorg-xcalc/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xcalc
+pkgver=1.0.4.1
+pkgrel=1
+pkgdesc="Scientific calculator for X"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xcalc-${pkgver}.tar.bz2)
+sha1sums=('2206fc4bf3719c43fa13a6c64a37b40607d8e5e2')
+
+build() {
+ cd "${srcdir}/xcalc-${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/testing/xorg-xclipboard/PKGBUILD b/testing/xorg-xclipboard/PKGBUILD
new file mode 100644
index 000000000..60c4d624b
--- /dev/null
+++ b/testing/xorg-xclipboard/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xclipboard
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="X clipboard manager"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xclipboard-${pkgver}.tar.bz2)
+sha1sums=('922ddf89acd0781156e9ccdf191a3e0c6376415a')
+
+build() {
+ cd "${srcdir}/xclipboard-${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/testing/xorg-xclock/PKGBUILD b/testing/xorg-xclock/PKGBUILD
new file mode 100644
index 000000000..f3d2ee24e
--- /dev/null
+++ b/testing/xorg-xclock/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xclock
+pkgver=1.0.5
+pkgrel=1
+pkgdesc="X clock"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxmu' 'libxaw' 'libxrender' 'libxft' 'libxkbfile')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xclock-${pkgver}.tar.bz2)
+sha1sums=('1651ac8961c0aa287a6a7412ee5e6d3bfc3bb3e2')
+
+build() {
+ cd "${srcdir}/xclock-${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/testing/xorg-xcmsdb/PKGBUILD b/testing/xorg-xcmsdb/PKGBUILD
new file mode 100644
index 000000000..9687e02fb
--- /dev/null
+++ b/testing/xorg-xcmsdb/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113723 2011-03-10 14:58:44Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xcmsdb
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Device Color Characterization utility for X Color Management System"
+arch=(i686 x86_64 'mips64el')
+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=('14df39b4d5518f551302c210131dcc5bac03f3ff')
+
+build() {
+ cd "${srcdir}/xcmsdb-${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/testing/xorg-xconsole/PKGBUILD b/testing/xorg-xconsole/PKGBUILD
new file mode 100644
index 000000000..1ecc9eeac
--- /dev/null
+++ b/testing/xorg-xconsole/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xconsole
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="Monitor system console messages with X"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xconsole-${pkgver}.tar.bz2)
+sha1sums=('195299d4948ba4c62e961ddd0bd4572283244715')
+
+build() {
+ cd "${srcdir}/xconsole-${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/testing/xorg-xcursorgen/PKGBUILD b/testing/xorg-xcursorgen/PKGBUILD
new file mode 100644
index 000000000..31e374a1d
--- /dev/null
+++ b/testing/xorg-xcursorgen/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113731 2011-03-10 15:00:48Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xcursorgen
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Create an X cursor file from PNG images"
+arch=(i686 x86_64 'mips64el')
+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')
+
+build() {
+ cd "${srcdir}/xcursorgen-${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/testing/xorg-xdm/LICENSE b/testing/xorg-xdm/LICENSE
new file mode 100644
index 000000000..5f8d6fcc0
--- /dev/null
+++ b/testing/xorg-xdm/LICENSE
@@ -0,0 +1,132 @@
+This package was downloaded from
+http://xorg.freedesktop.org/releases/individual/app/
+
+Copyright 1988, 1989, 1990, 1991, 1994, 1998
+The Open Group
+Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+
+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.
+
+prngc.c:
+Copyright (c) 1995,1999 Theo de Raadt. All rights reserved.
+Copyright (c) 2001-2002 Damien Miller. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+dm_socket.h, dm_error.h, dm_auth.h
+Copyright 1998 by Thomas E. Dickey <dickey@clark.net>
+
+ 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, 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(s) of the above copyright
+holders shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization.
+
+genauth.c:
+Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All
+rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, and the entire permission notice in its entirety,
+ including the disclaimer of warranties.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior
+ written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF
+WHICH ARE HEREBY DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
+OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+Makefile.am
+Copyright 2005 Red Hat, Inc.
+
+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, and that the name of Red Hat not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission. Red Hat makes no
+representations about the suitability of this software for any purpose. It
+is provided "as is" without express or implied warranty.
+
+RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES 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
+PERFORMANCE OF THIS SOFTWARE.
diff --git a/testing/xorg-xdm/PKGBUILD b/testing/xorg-xdm/PKGBUILD
new file mode 100644
index 000000000..ddce2fa0a
--- /dev/null
+++ b/testing/xorg-xdm/PKGBUILD
@@ -0,0 +1,43 @@
+# $Id: PKGBUILD 105533 2011-01-10 11:03:46Z jgc $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+pkgname=xorg-xdm
+pkgver=1.1.10
+pkgrel=2
+pkgdesc="X Display Manager"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('pam' 'libxaw' 'libxinerama' 'xorg-xrdb' 'xorg-sessreg' 'libxft')
+makedepends=('pkgconfig')
+backup=(etc/X11/xdm/Xaccess etc/X11/xdm/Xresources etc/X11/xdm/Xservers etc/X11/xdm/xdm-config etc/pam.d/xdm etc/X11/xdm/Xsetup_0 etc/X11/xdm/Xsession)
+options=('!libtool')
+source=(${url}/releases/individual/app/xdm-${pkgver}.tar.bz2
+ Xsession-loginshell.patch
+ Xsession-xsm.patch
+ xdm.pam)
+md5sums=('329383040cdbda5b5c8ce6c7e1120c97'
+ '234ae568e7b22cbc09433bb396ff3d80'
+ '2c30078c50bc653d72eb5114506eb313'
+ '419d6289ba6f851135f5c70c0e3cbec4')
+
+build() {
+ cd "${srcdir}/xdm-${pkgver}"
+ patch -Np0 -i "${srcdir}/Xsession-loginshell.patch"
+ patch -Np1 -i "${srcdir}/Xsession-xsm.patch"
+ ./configure --prefix=/usr \
+ --disable-xdm-auth \
+ --disable-static \
+ --with-xdmconfigdir=/etc/X11/xdm \
+ --with-xdmscriptdir=/etc/X11/xdm \
+ --with-pixmapdir=/usr/share/xdm/pixmaps
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/var/lib/xdm"
+ install -m755 -d "${pkgdir}/etc/pam.d"
+ install -m644 "${srcdir}/xdm.pam" "${pkgdir}/etc/pam.d/xdm"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+
+ sed -i -e 's/\/X11R6//g' "${pkgdir}"/etc/X11/xdm/*
+}
diff --git a/testing/xorg-xdm/Xsession-loginshell.patch b/testing/xorg-xdm/Xsession-loginshell.patch
new file mode 100644
index 000000000..3710752ef
--- /dev/null
+++ b/testing/xorg-xdm/Xsession-loginshell.patch
@@ -0,0 +1,15 @@
+--- config/Xsession.cpp.orig 2008-06-21 13:57:36.000000000 +0000
++++ config/Xsession.cpp 2008-06-21 14:01:25.000000000 +0000
+@@ -56,11 +56,7 @@
+ resources=$HOME/.Xresources
+
+ if [ -s "$startup" ]; then
+- if [ -x "$startup" ]; then
+- exec "$startup"
+- else
+- exec /bin/sh "$startup"
+- fi
++ exec /bin/sh -ls -c "$startup"
+ else
+ if [ -r "$resources" ]; then
+ BINDIR/xrdb -load "$resources"
diff --git a/testing/xorg-xdm/Xsession-xsm.patch b/testing/xorg-xdm/Xsession-xsm.patch
new file mode 100644
index 000000000..a2d4d6cc6
--- /dev/null
+++ b/testing/xorg-xdm/Xsession-xsm.patch
@@ -0,0 +1,22 @@
+diff -Naur xdm-1.1.8-orig/config/Xsession.cpp xdm-1.1.8/config/Xsession.cpp
+--- xdm-1.1.8-orig/config/Xsession.cpp 2008-05-21 14:08:45.000000000 -0400
++++ xdm-1.1.8/config/Xsession.cpp 2009-04-28 02:56:11.000000000 -0400
+@@ -54,6 +54,7 @@
+
+ startup=$HOME/.xsession
+ resources=$HOME/.Xresources
++xinitrc=$HOME/.xinitrc
+
+ if [ -s "$startup" ]; then
+ if [ -x "$startup" ]; then
+@@ -83,5 +84,9 @@
+ exec `eval $XDESKTOP`
+ }
+ #endif
+- exec BINDIR/xsm
++ if [ -r "$xinitrc" ]; then
++ exec /bin/sh -ls -c "$xinitrc"
++ else
++ exec /bin/sh -l /etc/X11/xinit/xinitrc
++ fi
+ fi
diff --git a/testing/xorg-xdm/xdm.pam b/testing/xorg-xdm/xdm.pam
new file mode 100644
index 000000000..862b83fa2
--- /dev/null
+++ b/testing/xorg-xdm/xdm.pam
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth required pam_unix.so
+auth required pam_nologin.so
+auth required pam_env.so
+account required pam_unix.so
+password required pam_unix.so
+session required pam_unix.so
+session required pam_limits.so
diff --git a/testing/xorg-xdpyinfo/PKGBUILD b/testing/xorg-xdpyinfo/PKGBUILD
new file mode 100644
index 000000000..084e22b54
--- /dev/null
+++ b/testing/xorg-xdpyinfo/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113736 2011-03-10 15:06:24Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xdpyinfo
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Display information utility for X"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxext' 'libxtst' 'libxxf86vm' 'libxxf86dga' 'libxrender' 'libxcomposite' 'libxinerama' 'libdmx')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xdpyinfo-${pkgver}.tar.bz2)
+sha1sums=('5d53cd31afd40bdc4575b5347f2cda67f135f5f2')
+
+build() {
+ cd "${srcdir}/xdpyinfo-${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/testing/xorg-xdriinfo/PKGBUILD b/testing/xorg-xdriinfo/PKGBUILD
new file mode 100644
index 000000000..f247c07ee
--- /dev/null
+++ b/testing/xorg-xdriinfo/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113746 2011-03-10 15:15:21Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xdriinfo
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Query configuration information of DRI drivers"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xedit/PKGBUILD b/testing/xorg-xedit/PKGBUILD
new file mode 100644
index 000000000..d9f9d49d7
--- /dev/null
+++ b/testing/xorg-xedit/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xedit
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Simple text editor for X"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xedit-${pkgver}.tar.bz2)
+sha1sums=('e6f8735d09c9da67bba3cd3c39f34f5d1fc79a70')
+
+build() {
+ cd "${srcdir}/xedit-${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/testing/xorg-xev/PKGBUILD b/testing/xorg-xev/PKGBUILD
new file mode 100644
index 000000000..7e981106a
--- /dev/null
+++ b/testing/xorg-xev/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113751 2011-03-10 15:22:05Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xev
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="Print contents of X events"
+arch=(i686 x86_64 'mips64el')
+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/xev-${pkgver}.tar.bz2)
+sha1sums=('77dcbdaa2046db56f31936f921843bd05df2255f')
+
+build() {
+ cd "${srcdir}/xev-${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/testing/xorg-xeyes/PKGBUILD b/testing/xorg-xeyes/PKGBUILD
new file mode 100644
index 000000000..5c18175bb
--- /dev/null
+++ b/testing/xorg-xeyes/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xeyes
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="Follow the mouse/SHAPE extension X demo"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxt' 'libxext' 'libxmu' 'libxrender')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xeyes-${pkgver}.tar.bz2)
+sha1sums=('efe6116d31a7f69e4fb6038613e52b0960b9b61c')
+
+build() {
+ cd "${srcdir}/xeyes-${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/testing/xorg-xfd/PKGBUILD b/testing/xorg-xfd/PKGBUILD
new file mode 100644
index 000000000..5c4bba1c6
--- /dev/null
+++ b/testing/xorg-xfd/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xfd
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="Displays all the characters in a font using either the X11 core protocol or libXft2"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'fontconfig' 'libxft' 'libxrender' 'libxmu')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xfd-${pkgver}.tar.bz2)
+sha1sums=('9cf24f00b428bc02d8635634cdb3b7422e7d74a5')
+
+build() {
+ cd "${srcdir}/xfd-${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/testing/xorg-xfontsel/PKGBUILD b/testing/xorg-xfontsel/PKGBUILD
new file mode 100644
index 000000000..827003048
--- /dev/null
+++ b/testing/xorg-xfontsel/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xfontsel
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="Point and click selection of X11 font names"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xfontsel-${pkgver}.tar.bz2)
+sha1sums=('df2eb12b90339b7091bd362b095344015ec8b6fa')
+
+build() {
+ cd "${srcdir}/xfontsel-${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/testing/xorg-xfs/PKGBUILD b/testing/xorg-xfs/PKGBUILD
new file mode 100644
index 000000000..cb7244db9
--- /dev/null
+++ b/testing/xorg-xfs/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 108976 2011-02-05 10:30:46Z andyrtr $
+# Maintainer: Alexander Baldeck <alexander@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xfs
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="X.Org X11 xfs font server"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+backup=('etc/X11/fs/config')
+depends=('xorg-font-utils' 'libxfont>=1.4.0' 'libfs>=1.0.2' 'libx11>=1.2.2')
+makedepends=('pkgconfig' 'xtrans')
+source=(${url}/releases/individual/app/xfs-${pkgver}.tar.bz2
+ ${url}/releases/individual/app/xfsinfo-1.0.3.tar.bz2
+ ${url}/releases/individual/app/fslsfonts-1.0.3.tar.bz2
+ ${url}/releases/individual/app/fstobdf-1.0.4.tar.bz2
+ ${url}/releases/individual/app/showfont-1.0.3.tar.bz2
+ xfs.rc)
+md5sums=('e02c6cae689c082b8c98a421df8f8670'
+ 'aae6fa48b5c2ce9186a5ff4ccc14a1d4'
+ '9b50d967ac6d4bae9bffb62a5e527a50'
+ 'fc1f42aac16d6b76c79a1a3a0fb6a53b'
+ '50b466ab6ed4a5b8df5abf1ef844309a'
+ '251f5447f64151e9bb096ebc9f999c3f')
+
+build() {
+ cd "${srcdir}"
+ pushd xfs-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make configdir=/etc/X11/fs
+ popd
+
+ for i in xfsinfo-* fslsfonts-* fstobdf-* showfont-*; do
+ if [ -d "${i}" ]; then
+ pushd "${i}"
+ ./configure --prefix=/usr
+ make
+ popd
+ fi
+ done
+}
+
+package() {
+ cd "${srcdir}"
+ pushd xfs-${pkgver}
+ make configdir=/etc/X11/fs DESTDIR="${pkgdir}" install
+ sed -i -e 's|/lib/X11/|/share/|g' "${pkgdir}/etc/X11/fs/config"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.xfs"
+ popd
+
+ for i in xfsinfo-* fslsfonts-* fstobdf-* showfont-*; do
+ if [ -d "${i}" ]; then
+ pushd "${i}"
+ make DESTDIR="${pkgdir}" install
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.${i%-*}"
+ popd
+ fi
+ done
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ install -m755 "${srcdir}/xfs.rc" "${pkgdir}/etc/rc.d/xfs"
+}
diff --git a/testing/xorg-xfs/xfs.rc b/testing/xorg-xfs/xfs.rc
new file mode 100644
index 000000000..caac86106
--- /dev/null
+++ b/testing/xorg-xfs/xfs.rc
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/xfs`
+case "$1" in
+ start)
+ stat_busy "Starting X.Org fontserver"
+ if [ -z "$PID" ]; then
+ /usr/bin/xfs -daemon &> /dev/null
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon xfs
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping X.Org fontserver"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon xfs
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ reload)
+ stat_busy "Reloading X.Org fontserver configuration"
+ [ ! -z "$PID" ] && kill -HUP $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart|reload}"
+esac
diff --git a/testing/xorg-xgamma/PKGBUILD b/testing/xorg-xgamma/PKGBUILD
new file mode 100644
index 000000000..fd9a43f7c
--- /dev/null
+++ b/testing/xorg-xgamma/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113756 2011-03-10 15:23:53Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xgamma
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Alter a monitor's gamma correction"
+arch=(i686 x86_64 'mips64el')
+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=('c4124b42618c6d4bc9eb9690348b5d60e4c9daed')
+
+build() {
+ cd "${srcdir}/xgamma-${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/testing/xorg-xhost/PKGBUILD b/testing/xorg-xhost/PKGBUILD
new file mode 100644
index 000000000..82519eab8
--- /dev/null
+++ b/testing/xorg-xhost/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113761 2011-03-10 15:26:14Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xhost
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Server access control program for X"
+arch=(i686 x86_64 'mips64el')
+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=('b4fde9899861f1a97395f8c7197db00cc44242a7')
+
+build() {
+ cd "${srcdir}/xhost-${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/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff b/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff
new file mode 100644
index 000000000..99e8a6754
--- /dev/null
+++ b/testing/xorg-xinit/06_move_serverauthfile_into_tmp.diff
@@ -0,0 +1,20 @@
+Move startx auth files in /tmp so they are removed on reboot.
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=357736
+The trap patch didn't seem to work on reboot.
+---
+ startx.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: xinit/startx.cpp
+===================================================================
+--- xinit.orig/startx.cpp
++++ xinit/startx.cpp
+@@ -273,7 +273,7 @@
+ dummy=0
+
+ XCOMM create a file with auth information for the server. ':0' is a dummy.
+- xserverauthfile=$HOME/.serverauth.$$
++ xserverauthfile=`mktemp -p /tmp serverauth.XXXXXXXXXX`
+ trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+ xauth -q -f "$xserverauthfile" << EOF
+ add :$dummy . $mcookie
diff --git a/testing/xorg-xinit/PKGBUILD b/testing/xorg-xinit/PKGBUILD
new file mode 100644
index 000000000..4fb60183c
--- /dev/null
+++ b/testing/xorg-xinit/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 113891 2011-03-10 19:11:37Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Contributor: Alexander Baldeck <alexander@archlinux.org>
+
+pkgname=xorg-xinit
+pkgver=1.3.0
+pkgrel=3
+pkgdesc="X.Org initialisation program "
+arch=(i686 x86_64 'mips64el')
+license=('custom')
+url="http://xorg.freedesktop.org/"
+depends=('libx11' 'xorg-xauth')
+makedepends=('xorg-util-macros')
+optdepends=('xorg-twm' 'xterm')
+backup=('etc/skel/.xinitrc'
+ 'etc/skel/.xsession'
+ 'etc/X11/xinit/xserverrc'
+ 'etc/X11/xinit/xinitrc')
+source=(${url}/releases/individual/app/xinit-${pkgver}.tar.bz2
+ 06_move_serverauthfile_into_tmp.diff
+ xinitrc
+ xsession
+ xserverrc)
+options=(!emptydirs)
+md5sums=('bc4e8b7d1919597cc37a0d24aa149dda'
+ 'abd072ec435ce084cf4e89c58f83d45c'
+ 'c7b406c3c5c1e8011b3ac7d6b29c1a2c'
+ '7873d97db30d6c279ed37e3559e7c59d'
+ 'c5baef10fdb7239594daee72a94ddab3')
+
+build() {
+ cd "${srcdir}/xinit-${pkgver}"
+ patch -Np1 -i "${srcdir}/06_move_serverauthfile_into_tmp.diff"
+ 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
+
+ install -m755 -d "${pkgdir}/etc/skel"
+ install -m644 "${srcdir}/xinitrc" "${pkgdir}/etc/skel/.xinitrc"
+ install -m644 "${srcdir}/xsession" "${pkgdir}/etc/skel/.xsession"
+ install -m644 "${srcdir}/xserverrc" "${pkgdir}/etc/X11/xinit/xserverrc"
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xinit/xinitrc b/testing/xorg-xinit/xinitrc
new file mode 100644
index 000000000..dbd080d00
--- /dev/null
+++ b/testing/xorg-xinit/xinitrc
@@ -0,0 +1,17 @@
+#!/bin/sh
+#
+# ~/.xinitrc
+#
+# 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
+# ...or the Window Manager of your choice
diff --git a/testing/xorg-xinit/xserverrc b/testing/xorg-xinit/xserverrc
new file mode 100644
index 000000000..6f746cdce
--- /dev/null
+++ b/testing/xorg-xinit/xserverrc
@@ -0,0 +1 @@
+exec /usr/bin/X -nolisten tcp "$@"
diff --git a/testing/xorg-xinit/xsession b/testing/xorg-xinit/xsession
new file mode 100644
index 000000000..a16dc0b84
--- /dev/null
+++ b/testing/xorg-xinit/xsession
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+#
+# ~/.xsession
+#
+# Executed by xdm/gdm/kdm at login
+#
+
+/bin/bash --login -i ~/.xinitrc
+
diff --git a/testing/xorg-xinput/PKGBUILD b/testing/xorg-xinput/PKGBUILD
new file mode 100644
index 000000000..a7afa3c17
--- /dev/null
+++ b/testing/xorg-xinput/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113766 2011-03-10 15:27:48Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xinput
+pkgver=1.5.3
+pkgrel=2
+pkgdesc="Small commandline tool to configure devices"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libx11' 'libxi')
+makedepends=('xorg-util-macros' 'inputproto')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xinput-${pkgver}.tar.bz2)
+sha1sums=('70f258279acaa45fb77820ae3f8c2bee9f2d2235')
+
+build() {
+ cd "${srcdir}/xinput-${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/testing/xorg-xkbcomp/PKGBUILD b/testing/xorg-xkbcomp/PKGBUILD
new file mode 100644
index 000000000..10d77df9d
--- /dev/null
+++ b/testing/xorg-xkbcomp/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113771 2011-03-10 15:39:50Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbcomp
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="X Keyboard description compiler"
+arch=(i686 x86_64 'mips64el')
+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=('02d7e7b67a6ef3035f92f9e541252bf85e3f0385')
+
+build() {
+ cd "${srcdir}/xkbcomp-${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/testing/xorg-xkbevd/PKGBUILD b/testing/xorg-xkbevd/PKGBUILD
new file mode 100644
index 000000000..e95a0944d
--- /dev/null
+++ b/testing/xorg-xkbevd/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113776 2011-03-10 15:41:46Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbevd
+pkgver=1.1.2
+pkgrel=2
+pkgdesc="XKB event daemon"
+arch=(i686 x86_64 'mips64el')
+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=('f7d4eb5485c2b450266e4e467106f4d8560f4edd')
+
+build() {
+ cd "${srcdir}/xkbevd-${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/testing/xorg-xkbutils/PKGBUILD b/testing/xorg-xkbutils/PKGBUILD
new file mode 100644
index 000000000..81e2c9050
--- /dev/null
+++ b/testing/xorg-xkbutils/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113779 2011-03-10 15:42:12Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkbutils
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="XKB utility demos"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xkill/PKGBUILD b/testing/xorg-xkill/PKGBUILD
new file mode 100644
index 000000000..a2b3f1580
--- /dev/null
+++ b/testing/xorg-xkill/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113786 2011-03-10 15:44:09Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xkill
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Kill a client by its X resource"
+arch=(i686 x86_64 'mips64el')
+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')
+
+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/testing/xorg-xload/PKGBUILD b/testing/xorg-xload/PKGBUILD
new file mode 100644
index 000000000..1451a91a0
--- /dev/null
+++ b/testing/xorg-xload/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xload
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="System load average display for X"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xload-${pkgver}.tar.bz2)
+sha1sums=('dcad93d769b0614466f1e48fed5dd956349cfcfb')
+
+build() {
+ cd "${srcdir}/xload-${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/testing/xorg-xlogo/PKGBUILD b/testing/xorg-xlogo/PKGBUILD
new file mode 100644
index 000000000..56fbc99e2
--- /dev/null
+++ b/testing/xorg-xlogo/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xlogo
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="Draw [old] X logo"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libsm' 'libxaw' 'libxmu' 'libxt' 'libxext' 'libx11' 'libxrender' 'libxft')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xlogo-${pkgver}.tar.bz2)
+sha1sums=('5016e74ba16ac80f3eac1c97738a6afbfc8b3bdd')
+
+build() {
+ cd "${srcdir}/xlogo-${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/testing/xorg-xlsatoms/PKGBUILD b/testing/xorg-xlsatoms/PKGBUILD
new file mode 100644
index 000000000..9a7f32f6e
--- /dev/null
+++ b/testing/xorg-xlsatoms/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113790 2011-03-10 15:44:47Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xlsatoms
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="List interned atoms defined on server"
+arch=(i686 x86_64 'mips64el')
+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=('2982df6844d60cd12a09208808ab6baa767fe35f')
+
+build() {
+ cd "${srcdir}/xlsatoms-${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/testing/xorg-xlsclients/PKGBUILD b/testing/xorg-xlsclients/PKGBUILD
new file mode 100644
index 000000000..46ecd019c
--- /dev/null
+++ b/testing/xorg-xlsclients/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113796 2011-03-10 15:46:24Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xlsclients
+pkgver=1.1.1
+pkgrel=2
+pkgdesc="List client applications running on a display"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxcb' 'xcb-util')
+makedepends=('xorg-util-macros')
+groups=('xorg-apps' 'xorg')
+source=(http://xorg.freedesktop.org/archive/individual/app/xlsclients-${pkgver}.tar.bz2)
+sha1sums=('67bfdcb089e8669df7ec5bc7a137e037047f2535')
+
+build() {
+ cd "${srcdir}/xlsclients-${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/testing/xorg-xmag/PKGBUILD b/testing/xorg-xmag/PKGBUILD
new file mode 100644
index 000000000..4e3728a34
--- /dev/null
+++ b/testing/xorg-xmag/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xmag
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="Magnify parts of the screen"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxmu' 'libxt' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xmag-${pkgver}.tar.bz2)
+sha1sums=('95695d4d4a731e5deb4196a0cc6d04ecaba023fe')
+
+build() {
+ cd "${srcdir}/xmag-${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/testing/xorg-xman/PKGBUILD b/testing/xorg-xman/PKGBUILD
new file mode 100644
index 000000000..49e9fd5db
--- /dev/null
+++ b/testing/xorg-xman/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xman
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="Unix manual page viewer"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw' 'libxt')
+makedepends=('xorg-util-macros' 'xproto' 'libxmu')
+source=(http://xorg.freedesktop.org/archive/individual/app/xman-${pkgver}.tar.bz2)
+sha1sums=('c8e1170e837da4bc280ee907030b3f9245608ef2')
+
+build() {
+ cd "${srcdir}/xman-${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/testing/xorg-xmessage/PKGBUILD b/testing/xorg-xmessage/PKGBUILD
new file mode 100644
index 000000000..82c3fe420
--- /dev/null
+++ b/testing/xorg-xmessage/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xmessage
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="Display a message or query in a window"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxaw')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xmessage-${pkgver}.tar.bz2)
+sha1sums=('a8bfefbbe7785fa0e58ed4f596f4d79ba0b4d9b2')
+
+build() {
+ cd "${srcdir}/xmessage-${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/testing/xorg-xmodmap/PKGBUILD b/testing/xorg-xmodmap/PKGBUILD
new file mode 100644
index 000000000..92942a1e3
--- /dev/null
+++ b/testing/xorg-xmodmap/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113801 2011-03-10 15:47:06Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xmodmap
+pkgver=1.0.5
+pkgrel=2
+pkgdesc="Utility for modifying keymaps and button mappings"
+arch=(i686 x86_64 'mips64el')
+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=('c97fb42f40b094868f6ef445f25c600f326b1942')
+
+build() {
+ cd "${srcdir}/xmodmap-${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/testing/xorg-xpr/PKGBUILD b/testing/xorg-xpr/PKGBUILD
new file mode 100644
index 000000000..6bd56b68f
--- /dev/null
+++ b/testing/xorg-xpr/PKGBUILD
@@ -0,0 +1,27 @@
+# $Id: PKGBUILD 113806 2011-03-10 15:48:32Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xpr
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Print an X window dump from xwd"
+arch=(i686 x86_64 'mips64el')
+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/xpr-${pkgver}.tar.bz2
+ copyright.patch)
+sha1sums=('9dbd0ff136b612285e00d92d0c7675a4207b1c4a'
+ 'd2649781330400b83cf3553d9cfd6e02dd93a2bd')
+
+build() {
+ cd "${srcdir}/xpr-${pkgver}"
+ patch -Np1 -i "${srcdir}/copyright.patch"
+ ./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/testing/xorg-xpr/copyright.patch b/testing/xorg-xpr/copyright.patch
new file mode 100644
index 000000000..18e718246
--- /dev/null
+++ b/testing/xorg-xpr/copyright.patch
@@ -0,0 +1,75 @@
+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/testing/xorg-xprop/PKGBUILD b/testing/xorg-xprop/PKGBUILD
new file mode 100644
index 000000000..6864ab180
--- /dev/null
+++ b/testing/xorg-xprop/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113811 2011-03-10 15:49:11Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xprop
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Property displayer for X"
+arch=(i686 x86_64 'mips64el')
+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=('278f83c5077eed1d96c180bdc0a6f22ba5279a66')
+
+build() {
+ cd "${srcdir}/xprop-${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/testing/xorg-xrandr/PKGBUILD b/testing/xorg-xrandr/PKGBUILD
new file mode 100644
index 000000000..d92a05d1d
--- /dev/null
+++ b/testing/xorg-xrandr/PKGBUILD
@@ -0,0 +1,25 @@
+# $Id: PKGBUILD 113816 2011-03-10 15:50:41Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrandr
+pkgver=1.3.4
+pkgrel=2
+pkgdesc="Primitive command line interface to RandR extension"
+arch=(i686 x86_64 'mips64el')
+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=('637949501b8a45d32d9cab809e8822ee45b69414')
+
+build() {
+ cd "${srcdir}/xrandr-${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}/"
+ rm -f "${pkgdir}/usr/bin/xkeystone"
+}
diff --git a/testing/xorg-xrdb/PKGBUILD b/testing/xorg-xrdb/PKGBUILD
new file mode 100644
index 000000000..60fb89669
--- /dev/null
+++ b/testing/xorg-xrdb/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 118463 2011-04-07 07:16:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrdb
+pkgver=1.0.9
+pkgrel=1
+pkgdesc="X server resource database utility"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xrefresh/PKGBUILD b/testing/xorg-xrefresh/PKGBUILD
new file mode 100644
index 000000000..de950df12
--- /dev/null
+++ b/testing/xorg-xrefresh/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113826 2011-03-10 15:53:23Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xrefresh
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Refresh all or part of an X screen"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xset/PKGBUILD b/testing/xorg-xset/PKGBUILD
new file mode 100644
index 000000000..caebe0d8f
--- /dev/null
+++ b/testing/xorg-xset/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113831 2011-03-10 15:57:21Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xset
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="User preference utility for X"
+arch=(i686 x86_64 'mips64el')
+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)
+sha1sums=('9b1eb8835637dd70eea1a1365df5d909a306cc2c')
+
+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/testing/xorg-xsetroot/PKGBUILD b/testing/xorg-xsetroot/PKGBUILD
new file mode 100644
index 000000000..3758d9c6a
--- /dev/null
+++ b/testing/xorg-xsetroot/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113846 2011-03-10 16:01:58Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xsetroot
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="Classic X utility to set your root window background to a given pattern or color"
+arch=(i686 x86_64 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xvidtune/PKGBUILD b/testing/xorg-xvidtune/PKGBUILD
new file mode 100644
index 000000000..e7426b638
--- /dev/null
+++ b/testing/xorg-xvidtune/PKGBUILD
@@ -0,0 +1,23 @@
+# $Id: $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xvidtune
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="Video mode tuner for Xorg"
+arch=(i686 x86_64 'mips64el')
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('libxxf86vm' 'libxt' 'libxaw' 'libxmu' 'libx11')
+makedepends=('xorg-util-macros')
+source=(http://xorg.freedesktop.org/archive/individual/app/xvidtune-${pkgver}.tar.bz2)
+sha1sums=('2f3f821943018c07efd4547afa4313ac92718b1e')
+
+build() {
+ cd "${srcdir}/xvidtune-${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/testing/xorg-xvinfo/PKGBUILD b/testing/xorg-xvinfo/PKGBUILD
new file mode 100644
index 000000000..4684113fb
--- /dev/null
+++ b/testing/xorg-xvinfo/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113836 2011-03-10 15:58:02Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xvinfo
+pkgver=1.1.1
+pkgrel=2
+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 'mips64el')
+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
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}
diff --git a/testing/xorg-xwd/PKGBUILD b/testing/xorg-xwd/PKGBUILD
new file mode 100644
index 000000000..a4de8a9f1
--- /dev/null
+++ b/testing/xorg-xwd/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113841 2011-03-10 16:01:03Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xwd
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="X Window System image dumping utility"
+arch=(i686 x86_64 'mips64el')
+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/xwd-${pkgver}.tar.bz2)
+sha1sums=('4ef4fd9072a507e9a1ee88ba1d28b314006cc109')
+
+build() {
+ cd "${srcdir}/xwd-${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/testing/xorg-xwininfo/PKGBUILD b/testing/xorg-xwininfo/PKGBUILD
new file mode 100644
index 000000000..8f17bce09
--- /dev/null
+++ b/testing/xorg-xwininfo/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113851 2011-03-10 16:03:22Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xwininfo
+pkgver=1.1.1
+pkgrel=2
+pkgdesc="Command-line utility to print information about windows on an X server"
+arch=(i686 x86_64 'mips64el')
+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=('945e5d51632876e304e001003c8068f34ffe299e')
+
+build() {
+ cd "${srcdir}/xwininfo-${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/testing/xorg-xwud/PKGBUILD b/testing/xorg-xwud/PKGBUILD
new file mode 100644
index 000000000..5b7a4a430
--- /dev/null
+++ b/testing/xorg-xwud/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 113855 2011-03-10 16:04:19Z jgc $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=xorg-xwud
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="X Window System image undumping utility"
+arch=(i686 x86_64 'mips64el')
+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')
+
+build() {
+ cd "${srcdir}/xwud-${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}/"
+}