summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
Diffstat (limited to 'extra')
-rw-r--r--extra/aufs2-util/PKGBUILD8
-rwxr-xr-xextra/aufs2-util/create-tarball.sh2
-rw-r--r--extra/bzr/PKGBUILD8
-rw-r--r--extra/gnokii/PKGBUILD17
-rw-r--r--extra/gstreamer0.10-good/PKGBUILD14
-rw-r--r--extra/imagemagick/PKGBUILD36
-rw-r--r--extra/lftp/PKGBUILD8
-rw-r--r--extra/libdc1394/PKGBUILD8
-rw-r--r--extra/libdrm/PKGBUILD13
-rw-r--r--extra/libtasn1/PKGBUILD16
-rw-r--r--extra/libxfcegui4/PKGBUILD8
-rw-r--r--extra/libxfixes/PKGBUILD18
-rw-r--r--extra/lirc/PKGBUILD10
-rw-r--r--extra/madwifi/PKGBUILD24
-rw-r--r--extra/madwifi/madwifi-ng.install6
-rw-r--r--extra/mc/PKGBUILD12
-rw-r--r--extra/mesa/PKGBUILD36
-rw-r--r--extra/mesa/gnome-shell-shader-fix.patch535
-rw-r--r--extra/mesa/nouveau-fix-header.patch86
-rw-r--r--extra/monotone/PKGBUILD15
-rw-r--r--extra/monotone/monotone.install2
-rw-r--r--extra/xf86-input-acecad/PKGBUILD37
-rw-r--r--extra/xf86-input-aiptek/PKGBUILD37
-rw-r--r--extra/xf86-input-evdev/PKGBUILD6
-rw-r--r--extra/xf86-input-joystick/PKGBUILD36
-rw-r--r--extra/xf86-input-keyboard/PKGBUILD8
-rw-r--r--extra/xf86-input-mouse/PKGBUILD6
-rw-r--r--extra/xf86-input-synaptics/PKGBUILD6
-rw-r--r--extra/xf86-input-void/PKGBUILD35
-rw-r--r--extra/xf86-input-wacom/PKGBUILD12
-rw-r--r--extra/xf86-video-apm/PKGBUILD6
-rw-r--r--extra/xf86-video-ark/PKGBUILD6
-rw-r--r--extra/xf86-video-ast/PKGBUILD4
-rw-r--r--extra/xf86-video-ati/PKGBUILD10
-rw-r--r--extra/xf86-video-ati/ati-fix-build-1.10.patch38
-rw-r--r--extra/xf86-video-chips/PKGBUILD6
-rw-r--r--extra/xf86-video-cirrus/PKGBUILD6
-rw-r--r--extra/xf86-video-dummy/PKGBUILD6
-rw-r--r--extra/xf86-video-fbdev/PKGBUILD6
-rw-r--r--extra/xf86-video-glint/PKGBUILD6
-rw-r--r--extra/xf86-video-i128/PKGBUILD6
-rw-r--r--extra/xf86-video-i740/PKGBUILD6
-rw-r--r--extra/xf86-video-intel/PKGBUILD21
-rw-r--r--extra/xf86-video-mach64/PKGBUILD13
-rw-r--r--extra/xf86-video-mach64/mach64-fix-pixmap.patch47
-rw-r--r--extra/xf86-video-mga/PKGBUILD8
-rw-r--r--extra/xf86-video-neomagic/PKGBUILD6
-rw-r--r--extra/xf86-video-nouveau/PKGBUILD14
-rw-r--r--extra/xf86-video-nv/PKGBUILD6
-rw-r--r--extra/xf86-video-openchrome/PKGBUILD8
-rw-r--r--extra/xf86-video-r128/PKGBUILD6
-rw-r--r--extra/xf86-video-rendition/PKGBUILD6
-rw-r--r--extra/xf86-video-s3/PKGBUILD6
-rw-r--r--extra/xf86-video-s3virge/PKGBUILD6
-rw-r--r--extra/xf86-video-savage/PKGBUILD6
-rw-r--r--extra/xf86-video-siliconmotion/PKGBUILD6
-rw-r--r--extra/xf86-video-sis/PKGBUILD6
-rw-r--r--extra/xf86-video-sisusb/PKGBUILD6
-rw-r--r--extra/xf86-video-tdfx/PKGBUILD6
-rw-r--r--extra/xf86-video-trident/PKGBUILD6
-rw-r--r--extra/xf86-video-tseng/PKGBUILD6
-rw-r--r--extra/xf86-video-unichrome/PKGBUILD7
-rw-r--r--extra/xf86-video-v4l/PKGBUILD6
-rw-r--r--extra/xf86-video-vesa/PKGBUILD6
-rw-r--r--extra/xf86-video-voodoo/PKGBUILD6
-rw-r--r--extra/xf86-video-xgi/PKGBUILD4
-rw-r--r--extra/xf86-video-xgixp/PKGBUILD4
-rwxr-xr-xextra/xfburn/PKGBUILD11
-rw-r--r--extra/xfce4-session/PKGBUILD15
-rw-r--r--extra/xorg-server/PKGBUILD38
-rw-r--r--extra/xorg-server/bg-none-revert.patch58
-rw-r--r--extra/xorg-server/glx-pixmap-crash.patch85
-rw-r--r--extra/xorg-server/xserver-1.10-pointer-barriers.patch1054
73 files changed, 2336 insertions, 318 deletions
diff --git a/extra/aufs2-util/PKGBUILD b/extra/aufs2-util/PKGBUILD
index 232c167e7..3d2e23fed 100644
--- a/extra/aufs2-util/PKGBUILD
+++ b/extra/aufs2-util/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 107424 2011-01-24 19:08:46Z tpowa $
+# $Id: PKGBUILD 114820 2011-03-16 06:31:06Z tpowa $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Paul Mattal <pjmattal@elys.com>
pkgname=aufs2-util
-pkgver=20110124
+pkgver=20110314
pkgrel=1
pkgdesc="Another Unionfs Implementation that supports NFS branches"
arch=('i686' 'x86_64')
url="http://aufs.sourceforge.net/"
license=('GPL2')
depends=('glibc')
-makedepends=('aufs2>=2.6.37_20110124' 'kernel26-headers')
+makedepends=('aufs2>=2.6.38_20110314' 'kernel26-headers')
replaces=('aufs-utils')
source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz")
@@ -22,4 +22,4 @@ package() {
cd $srcdir/$pkgname-$pkgver
make DESTDIR=$pkgdir install
}
-md5sums=('6272b6f28477bb8bf90ed43e66564e7a')
+md5sums=('bf0f9c86361e12a3181fb3891e57cd8d')
diff --git a/extra/aufs2-util/create-tarball.sh b/extra/aufs2-util/create-tarball.sh
index dbd7c50bf..361cbbc38 100755
--- a/extra/aufs2-util/create-tarball.sh
+++ b/extra/aufs2-util/create-tarball.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-GITSNAPSHOT=20110124
+GITSNAPSHOT=20110314
# aufs2 (no -xx) for the latest -rc version.
git clone http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git aufs2-util.git
cd aufs2-util.git
diff --git a/extra/bzr/PKGBUILD b/extra/bzr/PKGBUILD
index 69ad7b709..849d9913b 100644
--- a/extra/bzr/PKGBUILD
+++ b/extra/bzr/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 110425 2011-02-19 09:14:39Z eric $
+# $Id: PKGBUILD 119485 2011-04-11 18:46:01Z eric $
# Maintainer :
# Contributor: Hugo Doria <hugo@archlinux.org>
pkgname=bzr
-pkgver=2.3.0
+pkgver=2.3.1
pkgrel=1
pkgdesc="A decentralized revision control system (bazaar)"
arch=('i686' 'x86_64')
@@ -12,8 +12,8 @@ license=('GPL')
depends=('python2')
optdepends=('python-paramiko: for sftp support')
source=(http://launchpad.net/bzr/${pkgver%.*}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz)
-md5sums=('2d8bc55d43209189a209361178d9d372')
-sha1sums=('42a5b270e75a57883ead3cee9e623e087f16afd8')
+md5sums=('1a4367ce59a2880f321ecb882e195856')
+sha1sums=('49b9dfb5a01ffd87a120f8a7abf4833a482ba245')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gnokii/PKGBUILD b/extra/gnokii/PKGBUILD
index ecd996b4d..036522ede 100644
--- a/extra/gnokii/PKGBUILD
+++ b/extra/gnokii/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 114760 2011-03-15 22:43:17Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# $Id: PKGBUILD 119495 2011-04-11 19:26:23Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
# Contributor: Aurelien Foret <orelien@chez.com>
pkgname=gnokii
pkgver=0.6.30
-pkgrel=1
+pkgrel=2
pkgdesc="Tools and user space driver for use with mobile phones"
arch=('i686' 'x86_64')
url="http://www.gnokii.org/"
license=('GPL')
-depends=('libusb-compat' 'libxpm' 'bluez' 'libical' 'postgresql-libs')
-makedepends=('gtk2' 'libmysqlclient' 'intltool')
+depends=('libusb-compat' 'libxpm' 'bluez' 'libical')
+makedepends=('gtk2' 'libmysqlclient' 'postgresql-libs' 'intltool')
optdepends=('gtk2: xgnokii GUI'
'libmysqlclient: smsd mysql backend'
- 'postgresql-libs: smsd postgresql backend')
+ 'postgresql-libs: smsd postgresql backend')
backup=('etc/gnokiirc')
options=('!libtool' '!makeflags')
-source=(http://www.gnokii.org/download/$pkgname/$pkgname-${pkgver}.tar.bz2
- 'gnokii.patch')
+source=("http://www.gnokii.org/download/$pkgname/$pkgname-${pkgver}.tar.bz2"
+ 'gnokii.patch')
md5sums=('c90137d403febbc16712d64f0eb196de'
'4d764727686ee34bc73489c8b1321c82')
diff --git a/extra/gstreamer0.10-good/PKGBUILD b/extra/gstreamer0.10-good/PKGBUILD
index 0ecd69a45..5b28aef7c 100644
--- a/extra/gstreamer0.10-good/PKGBUILD
+++ b/extra/gstreamer0.10-good/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 110101 2011-02-16 12:15:43Z jgc $
+# $Id: PKGBUILD 119465 2011-04-11 17:28:14Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gstreamer0.10-good
pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins')
-pkgver=0.10.27
-pkgrel=2
+pkgver=0.10.28
+pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL')
makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.32' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'esound' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'libpulse' 'jack')
url="http://gstreamer.freedesktop.org/"
options=(!libtool !emptydirs)
source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.bz2)
-md5sums=('c25d6c51916424009dfde4ee42ae1feb')
+md5sums=('6ef1588921f59d85c44ee2e49a3c97a0')
build() {
cd "${srcdir}/gst-plugins-good-${pkgver}"
+ sed -i '/AC_PATH_XTRA/d' configure.ac
+ autoreconf
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--disable-static --enable-experimental \
--disable-schemas-install \
@@ -45,8 +47,8 @@ package_gstreamer0.10-good-plugins() {
install=gstreamer0.10-good-plugins.install
cd "${srcdir}/gst-plugins-good-${pkgver}"
- make -C sys DESTDIR="${pkgdir}" install || return 1
+ make -C sys DESTDIR="${pkgdir}" install
make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
- install -m644 gconf/gstreamer-0.10.schemas "${pkgdir}/usr/share/gconf/schemas/gstreamer0.10-good-plugins.schemas" || return 1
+ install -m644 gconf/gstreamer-0.10.schemas "${pkgdir}/usr/share/gconf/schemas/gstreamer0.10-good-plugins.schemas"
}
diff --git a/extra/imagemagick/PKGBUILD b/extra/imagemagick/PKGBUILD
index 9c1ab3533..c3b409026 100644
--- a/extra/imagemagick/PKGBUILD
+++ b/extra/imagemagick/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 117332 2011-03-31 05:07:13Z eric $
+# $Id: PKGBUILD 119490 2011-04-11 18:49:40Z jgc $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgbase=imagemagick
pkgname=('imagemagick' 'imagemagick-doc')
-pkgver=6.6.9.1
+pkgver=6.6.9.4
pkgrel=1
arch=('i686' 'x86_64')
url="http://www.imagemagick.org/"
@@ -13,24 +13,26 @@ depends=('libtool' 'lcms' 'libxt' 'gcc-libs' 'bzip2' 'xz' 'freetype2' 'fontconfi
makedepends=('ghostscript' 'openexr' 'libwmf' 'librsvg' 'libxml2' 'jasper' 'libpng')
source=(ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-${pkgver%.*}-${pkgver##*.}.tar.xz \
libpng_mmx_patch_x86_64.patch perlmagick.rpath.patch)
-md5sums=('b8c7dfbad2eb9b9c39666af07cb6db83'
+md5sums=('e9355aa38daa1d2c42d7e37108bc0dfa'
'069980fc2590c02aed86420996259302'
'ff9974decbfe9846f8e347239d87e4eb')
-sha1sums=('924e1841a1518bf394f5a18d4fd25414bdf9f63d'
+sha1sums=('e3cbf6d61bf29ec8be6796c89b04f10495a6e52d'
'e42f3acbe85b6098af75c5cecc9a254baaa0482c'
'23405f80904b1de94ebd7bd6fe2a332471b8c283')
-
build() {
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
if [ "${CARCH}" = 'x86_64' ]; then
- patch -Np1 < ../libpng_mmx_patch_x86_64.patch
+ patch -Np1 -i ../libpng_mmx_patch_x86_64.patch
fi
- patch -p0 < ../perlmagick.rpath.patch
+ patch -Np0 -i ../perlmagick.rpath.patch
+ sed '/AC_PATH_XTRA/d' -i configure.ac
+ autoreconf
+
./configure --prefix=/usr --sysconfdir=/etc --with-modules --disable-static \
- --enable-openmp --with-x --with-wmf --with-openexr --with-xml \
+ --enable-openmp --with-wmf --with-openexr --with-xml \
--with-gslib --with-gs-font-dir=/usr/share/fonts/Type1 \
--with-perl --with-perl-options="INSTALLDIRS=vendor" \
--without-gvc --without-djvu --without-autotrace --with-jp2 \
@@ -47,9 +49,19 @@ package_imagemagick() {
'libxml2: for XML support'
'jasper: for JPEG-2000 support'
'libpng: for PNG support')
- backup=('etc/ImageMagick/colors.xml' 'etc/ImageMagick/log.xml' 'etc/ImageMagick/policy.xml'
- 'etc/ImageMagick/type-dejavu.xml' 'etc/ImageMagick/type-ghostscript.xml'
- 'etc/ImageMagick/type-windows.xml' 'etc/ImageMagick/type.xml')
+ backup=('etc/ImageMagick/coder.xml'
+ 'etc/ImageMagick/colors.xml'
+ 'etc/ImageMagick/delegates.xml'
+ 'etc/ImageMagick/log.xml'
+ 'etc/ImageMagick/magic.xml'
+ 'etc/ImageMagick/mime.xml'
+ 'etc/ImageMagick/policy.xml'
+ 'etc/ImageMagick/sRGB.icm'
+ 'etc/ImageMagick/thresholds.xml'
+ 'etc/ImageMagick/type.xml'
+ 'etc/ImageMagick/type-dejavu.xml'
+ 'etc/ImageMagick/type-ghostscript.xml'
+ 'etc/ImageMagick/type-windows.xml')
options=('!makeflags' '!docs')
cd "${srcdir}"/ImageMagick-${pkgver%.*}-${pkgver##*.}
@@ -58,7 +70,7 @@ package_imagemagick() {
install -Dm644 NOTICE "${pkgdir}/usr/share/licenses/imagemagick/NOTICE"
#Cleaning
- find "${pkgdir}" -name '*.bs' -exec rm {} \;
+ find "${pkgdir}" -name '*.bs' -delete
rm -f "${pkgdir}"/usr/lib/*.la
}
diff --git a/extra/lftp/PKGBUILD b/extra/lftp/PKGBUILD
index 93d62cd5c..2a3dace91 100644
--- a/extra/lftp/PKGBUILD
+++ b/extra/lftp/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 117281 2011-03-30 16:49:02Z andyrtr $
+# $Id: PKGBUILD 119500 2011-04-11 19:32:01Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=lftp
-pkgver=4.2.1
+pkgver=4.2.2
pkgrel=1
pkgdesc="Sophisticated command line based FTP client"
arch=('i686' 'x86_64')
license=('GPL3')
-depends=('gcc-libs' 'readline>=6.0' "gnutls>=2.8.6" "expat>=2.0.1-4" 'sh')
+depends=('gcc-libs' 'readline>=6.2' "gnutls>=2.12" "expat>=2.0.1-4" 'sh')
optdepends=('perl: needed for convert-netscape-cookies and verify-file')
makedepends=('autoconf')
url="http://lftp.yar.ru/"
backup=('etc/lftp.conf')
source=(http://ftp.yars.free.net/pub/source/lftp/${pkgname}-${pkgver}.tar.bz2)
-md5sums=('244c52690afbc2bdb6ec6af9496434b3')
+md5sums=('801d90de9def7fc0f88817bcc71295b7')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/libdc1394/PKGBUILD b/extra/libdc1394/PKGBUILD
index c51e9f206..226839e11 100644
--- a/extra/libdc1394/PKGBUILD
+++ b/extra/libdc1394/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 101407 2010-11-29 04:52:48Z allan $
+# $Id: PKGBUILD 119241 2011-04-11 13:01:37Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdc1394
-pkgver=2.1.2
-pkgrel=2
+pkgver=2.1.3
+pkgrel=1
pkgdesc="High level programming interface to control IEEE 1394 based cameras"
arch=(i686 x86_64)
license=('LGPL')
@@ -11,7 +11,7 @@ url="http://sourceforge.net/projects/libdc1394/"
depends=('libraw1394>=2.0.5' 'libusb')
options=(!libtool !emptydirs)
source=(http://downloads.sourceforge.net/sourceforge/libdc1394/${pkgname}-${pkgver}.tar.gz)
-md5sums=('b85f1ade88d8d96688d5965ed8603d53')
+md5sums=('d8b2cbfae1b329fdeaa638da80427334')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/libdrm/PKGBUILD b/extra/libdrm/PKGBUILD
index 6737913e2..a9b39e26a 100644
--- a/extra/libdrm/PKGBUILD
+++ b/extra/libdrm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 110193 2011-02-17 14:28:04Z jgc $
+# $Id: PKGBUILD 119196 2011-04-11 09:50:01Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.4.23
-pkgrel=2
+pkgver=2.4.25
+pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
@@ -12,19 +12,16 @@ options=('!libtool')
url="http://dri.freedesktop.org/"
source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
no-pthread-stubs.patch
- intel-git-fixes.patch
COPYING)
-sha1sums=('9d651d1e394654c02343e3d95c0f8a442a91ac75'
+sha1sums=('b950f29cd1c4bb9f1c98a926486a47256b0a4194'
'af2d9871565ea4cf524873f897691a18b2bba944'
- '40d5a749f05dc097c91c087fe1f8b970613e9098'
'ba3dcd636997ee0d30df14b03dae05c24ae5d094')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
- patch -Np1 -i "${srcdir}/intel-git-fixes.patch"
- libtoolize --force
+# libtoolize --force
autoreconf --force --install
./configure --prefix=/usr \
--enable-udev \
diff --git a/extra/libtasn1/PKGBUILD b/extra/libtasn1/PKGBUILD
index 2fa240d94..2836a8ceb 100644
--- a/extra/libtasn1/PKGBUILD
+++ b/extra/libtasn1/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 101272 2010-11-28 15:57:11Z jgc $
+# $Id: PKGBUILD 119236 2011-04-11 12:58:31Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=libtasn1
-pkgver=2.8
+pkgver=2.9
pkgrel=1
pkgdesc="The ASN.1 library used in GNUTLS"
arch=(i686 x86_64)
@@ -13,7 +13,7 @@ depends=('glibc' 'texinfo')
options=('!libtool')
install=libtasn1.install
source=(ftp://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz)
-md5sums=('53fd164f8670e55a9964666990fb358f')
+md5sums=('f4f4035b84550100ffeb8ad4b261dea9')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -22,6 +22,14 @@ build() {
--with-packager-bug-reports="http://bugs.archlinux.org/" \
--with-packager-version=${pkgver}-${pkgrel}
make
- make DESTDIR="${pkgdir}" install
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make check
}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/extra/libxfcegui4/PKGBUILD b/extra/libxfcegui4/PKGBUILD
index a2a8aca84..3b4441c28 100644
--- a/extra/libxfcegui4/PKGBUILD
+++ b/extra/libxfcegui4/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 109772 2011-02-12 17:13:22Z andyrtr $
+# $Id: PKGBUILD 119470 2011-04-11 17:35:10Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Tobias Kieslich <tobias funnychar archlinux.org>
pkgname=libxfcegui4
pkgver=4.8.1
-pkgrel=1
+pkgrel=2
pkgdesc="Various gtk widgets for Xfce"
arch=(i686 x86_64)
license=('GPL2')
url="http://www.xfce.org/"
groups=('xfce4')
-depends=('startup-notification' "xfconf>=4.8.0" "libglade" 'hicolor-icon-theme')
-makedepends=('pkgconfig' 'intltool')
+depends=('startup-notification' "xfconf>=4.8.0" "libglade" 'libsm' 'hicolor-icon-theme')
+makedepends=('intltool')
options=('!libtool')
install=${pkgname}.install
source=(http://archive.xfce.org/src/xfce/${pkgname}/4.8/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/libxfixes/PKGBUILD b/extra/libxfixes/PKGBUILD
index aff9bd0bf..d4e8ee97e 100644
--- a/extra/libxfixes/PKGBUILD
+++ b/extra/libxfixes/PKGBUILD
@@ -1,25 +1,25 @@
-# $Id: PKGBUILD 82357 2010-06-10 12:31:08Z jgc $
+# $Id: PKGBUILD 119203 2011-04-11 10:42:49Z jgc $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libxfixes
-pkgver=4.0.5
+pkgver=5.0
pkgrel=1
pkgdesc="X11 miscellaneous 'fixes' extension library"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libx11>=1.3.4' 'fixesproto>=4.1.1')
-makedepends=('pkg-config')
+depends=('libx11' 'fixesproto>=5.0')
+makedepends=('xorg-util-macros')
options=('!libtool')
source=(${url}/releases/individual/lib/libXfixes-${pkgver}.tar.bz2)
-sha1sums=('255dfb9a8c50d795c60711ec4764f76cd0620cbf')
+sha1sums=('3e4d374e9026111a04cd669d4b3434273fc34fe0')
build() {
cd "${srcdir}/libXfixes-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
- make || return 1
- make DESTDIR="${pkgdir}" install || return 1
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static
+ make
+ make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+ install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/lirc/PKGBUILD b/extra/lirc/PKGBUILD
index df465a5ac..1008b2723 100644
--- a/extra/lirc/PKGBUILD
+++ b/extra/lirc/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 118055 2011-04-05 07:55:00Z jgc $
+# $Id: PKGBUILD 118049 2011-04-05 07:45:38Z jgc $
# Maintainer: Paul Mattal <paul@archlinux.org>
pkgbase=lirc
pkgname=('lirc' 'lirc-utils')
pkgver=0.9.0
-pkgrel=1
+pkgrel=2
epoch=1
-_kernver=2.6.37-ARCH
+_kernver=2.6.38-ARCH
arch=('i686' 'x86_64')
url="http://www.lirc.org/"
license=('GPL')
-makedepends=('help2man' 'kernel26-headers>=2.6.37' 'kernel26-headers<2.6.38' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python' 'namcap')
+makedepends=('help2man' 'kernel26-headers>=2.6.38' 'kernel26-headers<2.6.39' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python')
options=('!makeflags' '!strip')
source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2
lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd)
@@ -48,7 +48,7 @@ build() {
package_lirc() {
pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
- depends=('lirc-utils' 'kernel26>=2.6.37' 'kernel26<2.6.38')
+ depends=('lirc-utils' 'kernel26>=2.6.38' 'kernel26<2.6.39')
replaces=('lirc+pctv')
install=lirc.install
diff --git a/extra/madwifi/PKGBUILD b/extra/madwifi/PKGBUILD
index 4c6e24ed3..1c1d9e484 100644
--- a/extra/madwifi/PKGBUILD
+++ b/extra/madwifi/PKGBUILD
@@ -1,24 +1,25 @@
-# $Id: PKGBUILD 105333 2011-01-07 20:54:16Z tpowa $
+# $Id: PKGBUILD 115939 2011-03-22 14:09:32Z tpowa $
# Originally by kleptophobiac <kleptophobiac@gmail.com>
# Modified by James Rayner for the repositories <iphitus@gmail.com>
-_kernver=2.6.37-ARCH
+_kernver=2.6.38-ARCH
pkgname=madwifi
-pkgver=0.9.4.4133
-pkgrel=4
+pkgver=0.9.4.4136
+pkgrel=2
pkgdesc="Madwifi drivers for Atheros wireless chipsets. For stock arch 2.6 kernel"
arch=(i686 x86_64)
license=('GPL')
url="http://madwifi-project.org"
-depends=('madwifi-utils' 'kernel26>=2.6.37' 'kernel26<2.6.38')
-makedepends=('kernel26-headers>=2.6.37' 'kernel26-headers<2.6.38')
+depends=('madwifi-utils' 'kernel26>=2.6.38' 'kernel26<2.6.39')
+makedepends=('kernel26-headers>=2.6.38' 'kernel26-headers<2.6.39')
makedepends=('sharutils')
install=madwifi-ng.install
# subversion source: svn checkout http:/madwifi-project.org/svn/madwifi/trunk madwifi
source=(ftp://ftp.archlinux.org/other/madwifi/madwifi-${pkgver}.tar.bz2
#http://downloads.sourceforge.net/madwifi/madwifi-${pkgver}.tar.gz
)
+options=(!strip)
build() {
[ "${CARCH}" = "i686" ] && export ARCH=i386
@@ -26,7 +27,11 @@ build() {
#cd $startdir/src/$pkgname-$pkgver
cd $startdir/src/$pkgname
sed -i -e 's/-Werror//g' Makefile.inc
- make KERNELPATH=/lib/modules/$_kernver/build KERNELRELEASE=$_kernver modules|| return 1
+ make KERNELPATH=/lib/modules/$_kernver/build KERNELRELEASE=$_kernver modules
+}
+
+package() {
+ cd $startdir/src/$pkgname
make KERNELPATH=/lib/modules/$_kernver/build KERNELRELEASE=$_kernver modules \
DESTDIR=$startdir/pkg KERNELRELEASE=$_kernver install-modules
sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" $startdir/*.install
@@ -35,6 +40,7 @@ build() {
mkdir -p $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/madwifi
mv $startdir/pkg/lib/modules/$_kernver/net/* $startdir/pkg/lib/modules/$_kernver/kernel/drivers/net/wireless/madwifi
rm -r $startdir/pkg/lib/modules/$_kernver/net/
+ # gzip -9 modules
+ find "$pkgdir" -name '*.ko' -exec gzip -9 {} \;
}
-
-md5sums=('ca3c3504d000e7b3d7063af46271c932')
+md5sums=('f705acf5597ebe070efeaeb6c330748f')
diff --git a/extra/madwifi/madwifi-ng.install b/extra/madwifi/madwifi-ng.install
index a6dfd6568..8681b53ed 100644
--- a/extra/madwifi/madwifi-ng.install
+++ b/extra/madwifi/madwifi-ng.install
@@ -1,14 +1,14 @@
post_install() {
- KERNEL_VERSION='2.6.37-ARCH'
+ KERNEL_VERSION='2.6.38-ARCH'
depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
post_upgrade() {
- KERNEL_VERSION='2.6.37-ARCH'
+ KERNEL_VERSION='2.6.38-ARCH'
depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
post_remove() {
- KERNEL_VERSION='2.6.37-ARCH'
+ KERNEL_VERSION='2.6.38-ARCH'
depmod -ae $KERNEL_VERSION > /dev/null 2>&1
}
diff --git a/extra/mc/PKGBUILD b/extra/mc/PKGBUILD
index 8da59c899..e4baa655a 100644
--- a/extra/mc/PKGBUILD
+++ b/extra/mc/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 114388 2011-03-13 03:10:13Z eric $
+# $Id: PKGBUILD 119545 2011-04-12 03:04:01Z eric $
# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=mc
-pkgver=4.7.5.1
-pkgrel=2
-pkgdesc="A filemanager/shell that emulates Norton Commander"
+pkgver=4.7.5.2
+pkgrel=1
+pkgdesc="Midnight Commander is a text based filemanager/shell that emulates Norton Commander"
arch=('i686' 'x86_64')
url="http://www.ibiblio.org/mc/"
license=('GPL')
@@ -16,8 +16,8 @@ conflicts=('mc-utf8')
replaces=('mc-utf8')
options=('!emptydirs' '!makeflags')
source=("http://www.midnight-commander.org/downloads/${pkgname}-${pkgver}.tar.bz2")
-md5sums=('2ffe4771e94569d497010eea298b13cd')
-sha1sums=('ae047110fe6da5d8e621eae2ae1c1859fb9a8f5d')
+md5sums=('bdae966244496cd4f6d282d80c9cf3c6')
+sha1sums=('08ffcc9fd19c7d8906a454c27b7074ca35bce14a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index 75ef69887..5b4bd68c4 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 112002 2011-03-02 23:43:12Z andyrtr $
+# $Id: PKGBUILD 119075 2011-04-10 20:11:41Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
@@ -11,23 +11,26 @@ _git=false
if [ "${_git}" = "true" ]; then
pkgver=7.10.0.git20110215
else
- pkgver=7.10.1
+ pkgver=7.10.2
fi
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
makedepends=('glproto>=1.4.12' 'pkgconfig' 'libdrm>=2.4.23' 'libxxf86vm>=1.1.0' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.3.5' 'libxt>=1.0.8'
- 'gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'talloc' 'libxml2' 'imake')
+ 'gcc-libs>=4.5' 'dri2proto=2.3' 'python2' 'libxml2' 'imake')
url="http://mesa3d.sourceforge.net"
license=('custom')
-source=(LICENSE)
+source=(LICENSE gnome-shell-shader-fix.patch nouveau-fix-header.patch)
if [ "${_git}" = "true" ]; then
# mesa git shot from 7.10 branch - see for state: http://cgit.freedesktop.org/mesa/mesa/commit/?h=7.10&id=cc1636b6db85604510f97f8a37d7fd0ecf453866
source=(${source[@]} 'ftp://ftp.archlinux.org/other/mesa/mesa-cc1636b6db85604510f97f8a37d7fd0ecf453866.tar.bz2')
else
- source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2")
+ source=(${source[@]} "ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2"
+)
fi
md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
- 'efe8da4d80c2a5d32a800770b8ce5dfa')
+ '3ec78f340f9387abd7a37b195e764cbf'
+ '67c87b77cc2236b52a3b47dad3fbb5d4'
+ 'f5de82852f1243f42cc004039e10b771')
build() {
if [ "${_git}" = "true" ]; then
@@ -37,11 +40,10 @@ if [ "${_git}" = "true" ]; then
cd "${srcdir}/Mesa-${pkgver}"
fi
- # python2 build fixes
- sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
- -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" $(find $srcdir -name '*.py')
- sed -i -e "s|PYTHON2 = python|PYTHON2 = python2|" configs/{default,autoconf.in}
- sed -i -e "s|python|python2|" src/gallium/auxiliary/Makefile
+#backport from master to fix gnome-shell shader
+#https://bugs.freedesktop.org/show_bug.cgi?id=35714
+patch -Np1 -i "${srcdir}/gnome-shell-shader-fix.patch"
+patch -Np1 -i "${srcdir}/nouveau-fix-header.patch"
if [ "${_git}" = "true" ]; then
./autogen.sh --prefix=/usr \
@@ -105,7 +107,7 @@ fi
ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so"
install -m755 -d "${pkgdir}/usr/share/licenses/libgl"
- install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/"
}
package_libgles() {
@@ -130,7 +132,7 @@ fi
bin/minstall include/GLES2/* "${pkgdir}/usr/include/GLES2/"
install -m755 -d "${pkgdir}/usr/share/licenses/libgles"
- install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgles/"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgles/"
}
package_libegl() {
@@ -160,7 +162,7 @@ fi
bin/minstall docs/egl.html "${pkgdir}/usr/share/doc/libegl/"
install -m755 -d "${pkgdir}/usr/share/licenses/libegl"
- install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libegl/"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/libegl/"
}
package_mesa() {
depends=('libgl' 'libx11>=1.3.5' 'libxt>=1.0.8' 'gcc-libs>=4.5' 'dri2proto=2.3' 'libdrm>=2.4.22' 'glproto>=1.4.12')
@@ -187,7 +189,7 @@ fi
rm -rf ${pkgdir}/usr/include/{GLES,GLES2,EGL,KHR}
install -m755 -d "${pkgdir}/usr/share/licenses/mesa"
- install -m755 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
+ install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/"
}
package_ati-dri() {
@@ -203,7 +205,7 @@ fi
make -C radeon DESTDIR="${pkgdir}" install
make -C r200 DESTDIR="${pkgdir}" install
# classic mesa driver for R300 r300_dri.so
- #make -C r300 DESTDIR="${pkgdir}" install <------- depricated
+ #make -C r300 DESTDIR="${pkgdir}" install <------- deprecated
# gallium3D driver for R300 r300_dri.so
if [ "${_git}" = "true" ]; then
make -C ${srcdir}/mesa-*/src/gallium/targets/dri-r300 DESTDIR="${pkgdir}" install
diff --git a/extra/mesa/gnome-shell-shader-fix.patch b/extra/mesa/gnome-shell-shader-fix.patch
new file mode 100644
index 000000000..3b3f37591
--- /dev/null
+++ b/extra/mesa/gnome-shell-shader-fix.patch
@@ -0,0 +1,535 @@
+From 3f625689acd570e4f14cc2ebaa43a425d13954ff Mon Sep 17 00:00:00 2001
+From: Christoph Bumiller <e0425955@student.tuwien.ac.at>
+Date: Thu, 31 Mar 2011 13:49:33 +0000
+Subject: nv50: copy regalloc fixes from nvc0
+
+Should fix gnome-shell's fade shader.
+
+Unification of the shader backend which is supposed to remove the
+code duplication is still WIP.
+---
+diff --git a/src/gallium/drivers/nv50/nv50_pc.h b/src/gallium/drivers/nv50/nv50_pc.h
+index e6f3815..a9a3248 100644
+--- a/src/gallium/drivers/nv50/nv50_pc.h
++++ b/src/gallium/drivers/nv50/nv50_pc.h
+@@ -228,6 +228,8 @@ struct nv_ref {
+ ubyte flags; /* not used yet */
+ };
+
++#define NV_REF_FLAG_REGALLOC_PRIV (1 << 0)
++
+ struct nv_basic_block;
+
+ struct nv_instruction {
+@@ -263,6 +265,15 @@ struct nv_instruction {
+ ubyte quadop;
+ };
+
++static INLINE int
++nvi_vector_size(struct nv_instruction *nvi)
++{
++ int i;
++ assert(nvi);
++ for (i = 0; i < 4 && nvi->def[i]; ++i);
++ return i;
++}
++
+ #define CFG_EDGE_FORWARD 0
+ #define CFG_EDGE_BACK 1
+ #define CFG_EDGE_LOOP_ENTER 2
+diff --git a/src/gallium/drivers/nv50/nv50_pc_regalloc.c b/src/gallium/drivers/nv50/nv50_pc_regalloc.c
+index 39ae366..657df2c 100644
+--- a/src/gallium/drivers/nv50/nv50_pc_regalloc.c
++++ b/src/gallium/drivers/nv50/nv50_pc_regalloc.c
+@@ -32,14 +32,39 @@
+ #include "util/u_simple_list.h"
+
+ #define NUM_REGISTER_FILES 4
++#define MAX_REGISTER_COUNT 256
+
+ struct register_set {
+ struct nv_pc *pc;
+
+ uint32_t last[NUM_REGISTER_FILES];
+- uint32_t bits[NUM_REGISTER_FILES][8];
++ uint32_t bits[NUM_REGISTER_FILES][(MAX_REGISTER_COUNT + 31) / 32];
+ };
+
++/* using OR because a set bit means occupied/unavailable, aliasing is allowed */
++static void
++intersect_register_sets(struct register_set *dst,
++ struct register_set *src1, struct register_set *src2)
++{
++ int i, j;
++
++ for (i = 0; i < NUM_REGISTER_FILES; ++i) {
++ for (j = 0; j < (MAX_REGISTER_COUNT + 31) / 32; ++j)
++ dst->bits[i][j] = src1->bits[i][j] | src2->bits[i][j];
++ }
++}
++
++static void
++mask_register_set(struct register_set *set, uint32_t mask, uint32_t umask)
++{
++ int i, j;
++
++ for (i = 0; i < NUM_REGISTER_FILES; ++i) {
++ for (j = 0; j < (MAX_REGISTER_COUNT + 31) / 32; ++j)
++ set->bits[i][j] = (set->bits[i][j] | mask) & umask;
++ }
++}
++
+ struct nv_pc_pass {
+ struct nv_pc *pc;
+
+@@ -61,11 +86,15 @@ ranges_coalesce(struct nv_range *range)
+ }
+ }
+
++/* @return: TRUE if @new_range can be freed (i.e. was not reused) */
+ static boolean
+ add_range_ex(struct nv_value *val, int bgn, int end, struct nv_range *new_range)
+ {
+ struct nv_range *range, **nextp = &val->livei;
+
++ if (bgn == end) /* [a, a) is invalid / empty */
++ return TRUE;
++
+ for (range = val->livei; range; range = range->next) {
+ if (end < range->bgn)
+ break; /* insert before */
+@@ -251,6 +280,8 @@ reg_occupy(struct register_set *set, struct nv_value *val)
+ id <<= s;
+ m = (1 << (1 << s)) - 1;
+
++ assert(s >= 0); /* XXX: remove me */
++
+ set->bits[f][id / 32] |= m << (id % 32);
+
+ if (set->pc->max_reg[f] < id)
+@@ -286,15 +317,12 @@ join_allowed(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ if (a->join->reg.id == b->join->reg.id)
+ return TRUE;
+
+-#if 1
+ /* either a or b or both have been assigned */
+
+ if (a->join->reg.id >= 0 && b->join->reg.id >= 0)
+ return FALSE;
+ else
+ if (b->join->reg.id >= 0) {
+- if (a->join->reg.id >= 0)
+- return FALSE;
+ val = a;
+ a = b;
+ b = val;
+@@ -309,8 +337,6 @@ join_allowed(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ return FALSE;
+ }
+ return TRUE;
+-#endif
+- return FALSE;
+ }
+
+ static INLINE void
+@@ -336,14 +362,14 @@ do_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ assert(b->join == a->join);
+ }
+
+-static INLINE void
++static INLINE boolean
+ try_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ {
+ if (!join_allowed(ctx, a, b)) {
+ #ifdef NV50_RA_DEBUG_JOIN
+ debug_printf("cannot join %i to %i: not allowed\n", b->n, a->n);
+ #endif
+- return;
++ return FALSE;
+ }
+ if (livei_have_overlap(a->join, b->join)) {
+ #ifdef NV50_RA_DEBUG_JOIN
+@@ -351,10 +377,27 @@ try_join_values(struct nv_pc_pass *ctx, struct nv_value *a, struct nv_value *b)
+ livei_print(a);
+ livei_print(b);
+ #endif
+- return;
++ return FALSE;
+ }
+
+ do_join_values(ctx, a, b);
++
++ return TRUE;
++}
++
++static void
++join_values_nofail(struct nv_pc_pass *ctx,
++ struct nv_value *a, struct nv_value *b, boolean type_only)
++{
++ if (type_only) {
++ assert(join_allowed(ctx, a, b));
++ do_join_values(ctx, a, b);
++ } else {
++ boolean ok = try_join_values(ctx, a, b);
++ if (!ok) {
++ NOUVEAU_ERR("failed to coalesce values\n");
++ }
++ }
+ }
+
+ static INLINE boolean
+@@ -369,20 +412,32 @@ need_new_else_block(struct nv_basic_block *b, struct nv_basic_block *p)
+ return (b->num_in > 1) && (n == 2);
+ }
+
++/* Look for the @phi's operand whose definition reaches @b. */
+ static int
+ phi_opnd_for_bb(struct nv_instruction *phi, struct nv_basic_block *b,
+ struct nv_basic_block *tb)
+ {
++ struct nv_ref *srci, *srcj;
+ int i, j;
+
+- for (j = -1, i = 0; i < 4 && phi->src[i]; ++i) {
+- if (!nvbb_reachable_by(b, phi->src[i]->value->insn->bb, tb))
++ for (j = -1, i = 0; i < 6 && phi->src[i]; ++i) {
++ srci = phi->src[i];
++ /* if already replaced, check with original source first */
++ if (srci->flags & NV_REF_FLAG_REGALLOC_PRIV)
++ srci = srci->value->insn->src[0];
++ if (!nvbb_reachable_by(b, srci->value->insn->bb, NULL))
+ continue;
+ /* NOTE: back-edges are ignored by the reachable-by check */
+- if (j < 0 || !nvbb_reachable_by(phi->src[j]->value->insn->bb,
+- phi->src[i]->value->insn->bb, tb))
++ if (j < 0 || !nvbb_reachable_by(srcj->value->insn->bb,
++ srci->value->insn->bb, NULL)) {
+ j = i;
++ srcj = srci;
++ }
+ }
++ if (j >= 0 && nvbb_reachable_by(b, phi->def[0]->insn->bb, NULL))
++ if (!nvbb_reachable_by(srcj->value->insn->bb,
++ phi->def[0]->insn->bb, NULL))
++ j = -1;
+ return j;
+ }
+
+@@ -429,16 +484,21 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+ ctx->pc->current_block = pn;
+
+ for (i = b->phi; i && i->opcode == NV_OP_PHI; i = i->next) {
+- if ((j = phi_opnd_for_bb(i, p, b)) < 0)
+- continue;
+- val = i->src[j]->value;
+-
+- if (i->src[j]->flags) {
+- val = val->insn->src[0]->value;
+- while (j < 4 && i->src[j])
+- ++j;
+- assert(j < 4);
++ j = phi_opnd_for_bb(i, p, b);
++
++ if (j < 0) {
++ val = i->def[0];
++ } else {
++ val = i->src[j]->value;
++ if (i->src[j]->flags & NV_REF_FLAG_REGALLOC_PRIV) {
++ j = -1;
++ /* use original value, we already encountered & replaced it */
++ val = val->insn->src[0]->value;
++ }
+ }
++ if (j < 0) /* need an additional source ? */
++ for (j = 0; j < 5 && i->src[j] && i->src[j]->value != val; ++j);
++ assert(j < 5);
+
+ ni = new_instruction(ctx->pc, NV_OP_MOV);
+
+@@ -452,7 +512,7 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+
+ nv_reference(ctx->pc, &i->src[j], ni->def[0]);
+
+- i->src[j]->flags = 1;
++ i->src[j]->flags |= NV_REF_FLAG_REGALLOC_PRIV;
+ }
+
+ if (pn != p && pn->exit) {
+@@ -470,45 +530,50 @@ pass_generate_phi_movs(struct nv_pc_pass *ctx, struct nv_basic_block *b)
+ return 0;
+ }
+
++#define JOIN_MASK_PHI (1 << 0)
++#define JOIN_MASK_SELECT (1 << 1)
++#define JOIN_MASK_MOV (1 << 2)
++#define JOIN_MASK_TEX (1 << 3)
++
+ static int
+-pass_join_values(struct nv_pc_pass *ctx, int iter)
++pass_join_values(struct nv_pc_pass *ctx, unsigned mask)
+ {
+ int c, n;
+
+ for (n = 0; n < ctx->num_insns; ++n) {
+- struct nv_instruction *i = ctx->insns[n];
++ struct nv_instruction *nvi, *i = ctx->insns[n];
+
+ switch (i->opcode) {
+ case NV_OP_PHI:
+- if (iter != 2)
++ if (!(mask & JOIN_MASK_PHI))
+ break;
+- for (c = 0; c < 4 && i->src[c]; ++c)
+- try_join_values(ctx, i->def[0], i->src[c]->value);
++ for (c = 0; c < 5 && i->src[c]; ++c)
++ join_values_nofail(ctx, i->def[0], i->src[c]->value, FALSE);
+ break;
+ case NV_OP_MOV:
+- if ((iter == 2) && i->src[0]->value->insn &&
+- !nv_is_vector_op(i->src[0]->value->join->insn->opcode))
++ if (!(mask & JOIN_MASK_MOV))
++ break;
++ nvi = i->src[0]->value->join->insn;
++ if (nvi && !nv_is_vector_op(nvi->opcode))
+ try_join_values(ctx, i->def[0], i->src[0]->value);
+ break;
+ case NV_OP_SELECT:
+- if (iter != 1)
++ if (!(mask & JOIN_MASK_SELECT))
+ break;
+- for (c = 0; c < 4 && i->src[c]; ++c) {
+- assert(join_allowed(ctx, i->def[0], i->src[c]->value));
+- do_join_values(ctx, i->def[0], i->src[c]->value);
+- }
++ for (c = 0; c < 5 && i->src[c]; ++c)
++ join_values_nofail(ctx, i->def[0], i->src[c]->value, TRUE);
+ break;
+ case NV_OP_TEX:
+ case NV_OP_TXB:
+ case NV_OP_TXL:
+ case NV_OP_TXQ:
+- if (iter)
++ if (!(mask & JOIN_MASK_TEX))
+ break;
+- for (c = 0; c < 4; ++c) {
+- if (!i->src[c])
+- break;
+- do_join_values(ctx, i->def[c], i->src[c]->value);
+- }
++ /* This should work without conflicts because we always generate
++ * extra MOVs for the sources of a TEX.
++ */
++ for (c = 0; c < 4 && i->src[c]; ++c)
++ join_values_nofail(ctx, i->def[c], i->src[c]->value, TRUE);
+ break;
+ default:
+ break;
+@@ -643,15 +708,15 @@ static void collect_live_values(struct nv_basic_block *b, const int n)
+ {
+ int i;
+
+- if (b->out[0]) {
+- if (b->out[1]) { /* what to do about back-edges ? */
++ if (b->out[0] && b->out_kind[0] != CFG_EDGE_FAKE) {
++ if (b->out[1] && b->out_kind[1] != CFG_EDGE_FAKE) {
+ for (i = 0; i < n; ++i)
+ b->live_set[i] = b->out[0]->live_set[i] | b->out[1]->live_set[i];
+ } else {
+ memcpy(b->live_set, b->out[0]->live_set, n * sizeof(uint32_t));
+ }
+ } else
+- if (b->out[1]) {
++ if (b->out[1] && b->out_kind[1] != CFG_EDGE_FAKE) {
+ memcpy(b->live_set, b->out[1]->live_set, n * sizeof(uint32_t));
+ } else {
+ memset(b->live_set, 0, n * sizeof(uint32_t));
+@@ -770,8 +835,8 @@ insert_ordered_tail(struct nv_value *list, struct nv_value *nval)
+ struct nv_value *elem;
+
+ for (elem = list->prev;
+- elem != list && elem->livei->bgn > nval->livei->bgn;
+- elem = elem->prev);
++ elem != list && elem->livei->bgn > nval->livei->bgn;
++ elem = elem->prev);
+ /* now elem begins before or at the same time as val */
+
+ nval->prev = elem;
+@@ -780,44 +845,49 @@ insert_ordered_tail(struct nv_value *list, struct nv_value *nval)
+ elem->next = nval;
+ }
+
+-static int
+-pass_linear_scan(struct nv_pc_pass *ctx, int iter)
++static void
++collect_register_values(struct nv_pc_pass *ctx, struct nv_value *head,
++ boolean assigned_only)
+ {
+- struct nv_instruction *i;
+- struct register_set f, free;
++ struct nv_value *val;
+ int k, n;
+- struct nv_value *cur, *val, *tmp[2];
+- struct nv_value active, inactive, handled, unhandled;
+
+- make_empty_list(&active);
+- make_empty_list(&inactive);
+- make_empty_list(&handled);
+- make_empty_list(&unhandled);
+-
+- nv50_ctor_register_set(ctx->pc, &free);
++ make_empty_list(head);
+
+- /* joined values should have range = NULL and thus not be added;
+- * also, fixed memory values won't be added because they're not
+- * def'd, just used
+- */
+ for (n = 0; n < ctx->num_insns; ++n) {
+- i = ctx->insns[n];
++ struct nv_instruction *i = ctx->insns[n];
+
++ /* for joined values, only the representative will have livei != NULL */
+ for (k = 0; k < 4; ++k) {
+ if (i->def[k] && i->def[k]->livei)
+- insert_ordered_tail(&unhandled, i->def[k]);
+- else
+- if (0 && i->def[k])
+- debug_printf("skipping def'd value %i: no livei\n", i->def[k]->n);
++ if (!assigned_only || i->def[k]->reg.id >= 0)
++ insert_ordered_tail(head, i->def[k]);
+ }
+ if (i->flags_def && i->flags_def->livei)
+- insert_ordered_tail(&unhandled, i->flags_def);
++ if (!assigned_only || i->flags_def->reg.id >= 0)
++ insert_ordered_tail(head, i->flags_def);
+ }
+
+- for (val = unhandled.next; val != unhandled.prev; val = val->next) {
++ for (val = head->next; val != head->prev; val = val->next) {
+ assert(val->join == val);
+ assert(val->livei->bgn <= val->next->livei->bgn);
+ }
++}
++
++static int
++pass_linear_scan(struct nv_pc_pass *ctx, int iter)
++{
++ struct register_set f, free;
++ struct nv_value *cur, *val, *tmp[2];
++ struct nv_value active, inactive, handled, unhandled;
++
++ make_empty_list(&active);
++ make_empty_list(&inactive);
++ make_empty_list(&handled);
++
++ nv50_ctor_register_set(ctx->pc, &free);
++
++ collect_register_values(ctx, &unhandled, FALSE);
+
+ foreach_s(cur, tmp[0], &unhandled) {
+ remove_from_list(cur);
+@@ -854,13 +924,7 @@ pass_linear_scan(struct nv_pc_pass *ctx, int iter)
+ reg_occupy(&f, val);
+
+ if (cur->reg.id < 0) {
+- boolean mem = FALSE;
+-
+- if (nv_is_vector_op(cur->insn->opcode))
+- mem = !reg_assign(&f, &cur->insn->def[0], 4);
+- else
+- if (iter)
+- mem = !reg_assign(&f, &cur, 1);
++ boolean mem = !reg_assign(&f, &cur, 1);
+
+ if (mem) {
+ NOUVEAU_ERR("out of registers\n");
+@@ -874,6 +938,67 @@ pass_linear_scan(struct nv_pc_pass *ctx, int iter)
+ return 0;
+ }
+
++/* Allocate values defined by instructions such as TEX, which have to be
++ * assigned to consecutive registers.
++ * Linear scan doesn't really work here since the values can have different
++ * live intervals.
++ */
++static int
++pass_allocate_constrained_values(struct nv_pc_pass *ctx)
++{
++ struct nv_value regvals, *val;
++ struct nv_instruction *i;
++ struct nv_value *defs[4];
++ struct register_set regs[4];
++ int n, vsize, c;
++ uint32_t mask;
++ boolean mem;
++
++ collect_register_values(ctx, &regvals, TRUE);
++
++ for (n = 0; n < ctx->num_insns; ++n) {
++ i = ctx->insns[n];
++ vsize = nvi_vector_size(i);
++ if (!(vsize > 1))
++ continue;
++ assert(vsize <= 4);
++ for (c = 0; c < vsize; ++c)
++ defs[c] = i->def[c]->join;
++
++ if (defs[0]->reg.id >= 0) {
++ for (c = 1; c < vsize; ++c)
++ assert(defs[c]->reg.id >= 0);
++ continue;
++ }
++
++ for (c = 0; c < vsize; ++c) {
++ nv50_ctor_register_set(ctx->pc, &regs[c]);
++
++ foreach(val, &regvals) {
++ if (val->reg.id >= 0 && livei_have_overlap(val, defs[c]))
++ reg_occupy(&regs[c], val);
++ }
++ mask = 0x11111111;
++ if (vsize == 2) /* granularity is 2 and not 4 */
++ mask |= 0x11111111 << 2;
++ mask_register_set(&regs[c], 0, mask << c);
++
++ if (defs[c]->livei)
++ insert_ordered_tail(&regvals, defs[c]);
++ }
++ for (c = 1; c < vsize; ++c)
++ intersect_register_sets(&regs[0], &regs[0], &regs[c]);
++
++ mem = !reg_assign(&regs[0], &defs[0], vsize);
++
++ if (mem) {
++ NOUVEAU_ERR("out of registers\n");
++ abort();
++ }
++ }
++ return 0;
++}
++
+ static int
+ nv_pc_pass1(struct nv_pc *pc, struct nv_basic_block *root)
+ {
+@@ -923,16 +1048,16 @@ nv_pc_pass1(struct nv_pc *pc, struct nv_basic_block *root)
+ livei_print(&pc->values[i]);
+ #endif
+
+- ret = pass_join_values(ctx, 0);
++ ret = pass_join_values(ctx, JOIN_MASK_PHI);
+ if (ret)
+ goto out;
+- ret = pass_linear_scan(ctx, 0);
++ ret = pass_join_values(ctx, JOIN_MASK_SELECT | JOIN_MASK_TEX);
+ if (ret)
+ goto out;
+- ret = pass_join_values(ctx, 1);
++ ret = pass_join_values(ctx, JOIN_MASK_MOV);
+ if (ret)
+ goto out;
+- ret = pass_join_values(ctx, 2);
++ ret = pass_allocate_constrained_values(ctx);
+ if (ret)
+ goto out;
+ ret = pass_linear_scan(ctx, 1);
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/mesa/nouveau-fix-header.patch b/extra/mesa/nouveau-fix-header.patch
new file mode 100644
index 000000000..38aa996f1
--- /dev/null
+++ b/extra/mesa/nouveau-fix-header.patch
@@ -0,0 +1,86 @@
+From 5c102dd94f435e97507213fbd128e50dd15f5f54 Mon Sep 17 00:00:00 2001
+From: Ben Skeggs <bskeggs@redhat.com>
+Date: Mon, 20 Dec 2010 03:39:36 +0000
+Subject: nouveau: fix includes for latest libdrm
+
+Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+---
+diff --git a/src/gallium/drivers/nouveau/nouveau_winsys.h b/src/gallium/drivers/nouveau/nouveau_winsys.h
+index ab480ca..747b084 100644
+--- a/src/gallium/drivers/nouveau/nouveau_winsys.h
++++ b/src/gallium/drivers/nouveau/nouveau_winsys.h
+@@ -10,7 +10,7 @@
+ #include "nouveau/nouveau_grobj.h"
+ #include "nouveau/nouveau_notifier.h"
+ #include "nouveau/nouveau_resource.h"
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+
+ #ifndef NV04_PFIFO_MAX_PACKET_LEN
+ #define NV04_PFIFO_MAX_PACKET_LEN 2047
+diff --git a/src/gallium/drivers/nv50/nv50_surface.c b/src/gallium/drivers/nv50/nv50_surface.c
+index ce48022..a99df76 100644
+--- a/src/gallium/drivers/nv50/nv50_surface.c
++++ b/src/gallium/drivers/nv50/nv50_surface.c
+@@ -22,7 +22,7 @@
+
+ #define __NOUVEAU_PUSH_H__
+ #include <stdint.h>
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+ #include "nv50_context.h"
+ #include "nv50_resource.h"
+ #include "pipe/p_defines.h"
+diff --git a/src/gallium/drivers/nvfx/nv04_2d.c b/src/gallium/drivers/nvfx/nv04_2d.c
+index e0e65e7..e2fadd3 100644
+--- a/src/gallium/drivers/nvfx/nv04_2d.c
++++ b/src/gallium/drivers/nvfx/nv04_2d.c
+@@ -34,11 +34,11 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <nouveau/nouveau_device.h>
+-#include <nouveau/nouveau_pushbuf.h>
+ #include <nouveau/nouveau_channel.h>
+ #include <nouveau/nouveau_bo.h>
+ #include <nouveau/nouveau_notifier.h>
+ #include <nouveau/nouveau_grobj.h>
++#include <nouveau/nv04_pushbuf.h>
+ #include "nv04_2d.h"
+
+ #include "nouveau/nv_object.xml.h"
+diff --git a/src/gallium/drivers/nvfx/nvfx_vbo.c b/src/gallium/drivers/nvfx/nvfx_vbo.c
+index 597664e..339b317 100644
+--- a/src/gallium/drivers/nvfx/nvfx_vbo.c
++++ b/src/gallium/drivers/nvfx/nvfx_vbo.c
+@@ -9,8 +9,7 @@
+ #include "nvfx_resource.h"
+
+ #include "nouveau/nouveau_channel.h"
+-
+-#include "nouveau/nouveau_pushbuf.h"
++#include "nouveau/nv04_pushbuf.h"
+
+ static inline unsigned
+ util_guess_unique_indices_count(unsigned mode, unsigned indices)
+diff --git a/src/mesa/drivers/dri/nouveau/nouveau_driver.h b/src/mesa/drivers/dri/nouveau/nouveau_driver.h
+index 8036b18..c5ac128 100644
+--- a/src/mesa/drivers/dri/nouveau/nouveau_driver.h
++++ b/src/mesa/drivers/dri/nouveau/nouveau_driver.h
+@@ -38,7 +38,6 @@
+ #include <assert.h>
+
+ #include "nouveau_device.h"
+-#include "nouveau_pushbuf.h"
+ #include "nouveau_grobj.h"
+ #include "nouveau_channel.h"
+ #include "nouveau_bo.h"
+@@ -46,6 +45,7 @@
+ #include "nouveau_screen.h"
+ #include "nouveau_state.h"
+ #include "nouveau_surface.h"
++#include "nv04_pushbuf.h"
+
+ #define DRIVER_DATE "20091015"
+ #define DRIVER_AUTHOR "Nouveau"
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/monotone/PKGBUILD b/extra/monotone/PKGBUILD
index 4cb7e86cc..b9fb095f9 100644
--- a/extra/monotone/PKGBUILD
+++ b/extra/monotone/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 98524 2010-11-10 22:12:25Z angvp $
-# Maintainer: Angel 'angvp' Velasquez <angvp@archlinux.org>
+# $Id: PKGBUILD 119532 2011-04-11 21:19:22Z angvp $
+# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
# Contributor: Dan McGee <dpmcgee@gmail.com>
pkgname=monotone
-pkgver=0.99.1
+pkgver=1.0
pkgrel=1
pkgdesc="A modern distributed version control system, like hg, darcs, or git"
arch=('i686' 'x86_64')
@@ -13,8 +13,8 @@ license=('GPL')
depends=('botan' 'pcre' 'lua' 'sqlite3' 'libidn' 'zlib')
makedepends=('boost')
install=${pkgname}.install
-source=(http://www.monotone.ca/downloads/${pkgver}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('61c586f340fa3ca2b0974f6b5c455b0e')
+source=(http://www.monotone.ca/downloads/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
+md5sums=('6a0b5d8560f08d76a950172f9ed0feff')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -24,10 +24,7 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 contrib/monotone.bash_completion \
- "${pkgdir}/etc/bash_completion.d/monotone"
+ MAKEFLAGS="-j1" make DESTDIR="${pkgdir}" install
install -Dm644 contrib/monotone.zsh_completion \
"${pkgdir}/usr/share/zsh/site-functions/monotone"
}
diff --git a/extra/monotone/monotone.install b/extra/monotone/monotone.install
index 6098920e0..49a8651c0 100644
--- a/extra/monotone/monotone.install
+++ b/extra/monotone/monotone.install
@@ -1,4 +1,4 @@
-infodir=/usr/share/info
+infodir=usr/share/info
filelist=(monotone.info.gz)
post_install() {
diff --git a/extra/xf86-input-acecad/PKGBUILD b/extra/xf86-input-acecad/PKGBUILD
index f0203a202..9a9ed57a1 100644
--- a/extra/xf86-input-acecad/PKGBUILD
+++ b/extra/xf86-input-acecad/PKGBUILD
@@ -1,26 +1,47 @@
-# $Id: PKGBUILD 114580 2011-03-14 10:09:44Z jgc $
+# $Id: PKGBUILD 115526 2011-03-18 10:32:21Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-acecad
-pkgver=1.4.0
-pkgrel=4
+_gitdate=20110318
+pkgver=1.4.99_git${_gitdate} # see configure.ac
+pkgrel=1
pkgdesc="X.Org acecad tablet input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('sysfsutils')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('4182aa30d4209ec60fd423a3e24e4951e16c0a4b')
+source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/$pkgname/${pkgname}-${_gitdate}.tar.bz2)
+sha1sums=('f1aa0c13542242316ebd401369959f6c55ae8222')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/xorg/driver/xf86-input-acecad
+ cd xf86-input-acecad
+ git archive --prefix=xf86-video-acecad-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# ./configure --prefix=/usr
+ cd ${srcdir}/xf86-video-acecad-${_gitdate}
+ ./autogen.sh --prefix=/usr
make
+}
+
+package() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${srcdir}/xf86-video-acecad-${_gitdate}
+
make DESTDIR="${pkgdir}" install
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-input-aiptek/PKGBUILD b/extra/xf86-input-aiptek/PKGBUILD
index d0f6b5468..11f20cb39 100644
--- a/extra/xf86-input-aiptek/PKGBUILD
+++ b/extra/xf86-input-aiptek/PKGBUILD
@@ -1,26 +1,47 @@
-# $Id: PKGBUILD 113901 2011-03-10 19:22:12Z jgc $
+# $Id: PKGBUILD 115529 2011-03-18 10:37:30Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-aiptek
-pkgver=1.3.1
-pkgrel=2
+_gitdate=20110318
+pkgver=1.3.99_git${_gitdate} # see configure.ac
+pkgrel=1
pkgdesc="X.Org Aiptek USB Digital Tablet input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('8466910dd3877502eb97468db4deab98d49125bb')
+source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/$pkgname/${pkgname}-${_gitdate}.tar.bz2)
+md5sums=('0dc6fe834142ca7a4bec8fceb0885a15')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/xorg/driver/xf86-input-aiptek
+ cd xf86-input-aiptek
+ git archive --prefix=xf86-video-aiptek-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# ./configure --prefix=/usr
+ cd ${srcdir}/xf86-video-aiptek-${_gitdate}
+ ./autogen.sh --prefix=/usr
make
+}
+
+package() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${srcdir}/xf86-video-aiptek-${_gitdate}
+
make DESTDIR="${pkgdir}" install
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-input-evdev/PKGBUILD b/extra/xf86-input-evdev/PKGBUILD
index c16a37091..cd181ad42 100644
--- a/extra/xf86-input-evdev/PKGBUILD
+++ b/extra/xf86-input-evdev/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 113906 2011-03-10 19:27:16Z jgc $
+# $Id: PKGBUILD 115269 2011-03-17 16:14:58Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <Alexander@archlinux.org
pkgname=xf86-input-evdev
pkgver=2.6.0
-pkgrel=2
+pkgrel=3
pkgdesc="X.org evdev input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool' '!makeflags')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-joystick/PKGBUILD b/extra/xf86-input-joystick/PKGBUILD
index 984a83e42..441603077 100644
--- a/extra/xf86-input-joystick/PKGBUILD
+++ b/extra/xf86-input-joystick/PKGBUILD
@@ -1,29 +1,49 @@
-# $Id: PKGBUILD 114875 2011-03-16 08:27:14Z jgc $
+# $Id: PKGBUILD 115532 2011-03-18 10:42:40Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-joystick
-pkgver=1.5.0
-pkgrel=5
+_gitdate=20110318
+pkgver=1.5.99_git${_gitdate} # see configure.ac
+pkgrel=1
pkgdesc="X.Org Joystick input driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/$pkgname/${pkgname}-${_gitdate}.tar.bz2
50-joystick.conf
LICENSE)
-sha1sums=('a9fed6827d55f59b7166185247952049b4e6d152'
+sha1sums=('e1eb55c0556984530ab87836b5ade78085c7201b'
'e1ff3699a0470c6bb78a53f718df9d8521621e11'
'ee4c79491b36a680ed9d86f5fc41ae447f26353e')
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/xorg/driver/xf86-input-joystick
+ cd xf86-input-joystick
+ git archive --prefix=xf86-video-joystick-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
+
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# ./configure --prefix=/usr
+ cd ${srcdir}/xf86-video-joystick-${_gitdate}
+ ./autogen.sh --prefix=/usr
make
+}
+
+package() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${srcdir}/xf86-video-joystick-${_gitdate}
+
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
diff --git a/extra/xf86-input-keyboard/PKGBUILD b/extra/xf86-input-keyboard/PKGBUILD
index e91bf4ad1..74318a046 100644
--- a/extra/xf86-input-keyboard/PKGBUILD
+++ b/extra/xf86-input-keyboard/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 113916 2011-03-10 20:06:54Z jgc $
-# Maintainer; Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 115452 2011-03-18 08:08:01Z andyrtr $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-keyboard
pkgver=1.6.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.Org keyboard input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-mouse/PKGBUILD b/extra/xf86-input-mouse/PKGBUILD
index bc95e7278..23bd31f2b 100644
--- a/extra/xf86-input-mouse/PKGBUILD
+++ b/extra/xf86-input-mouse/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 113921 2011-03-10 20:09:06Z jgc $
+# $Id: PKGBUILD 115449 2011-03-18 08:03:09Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-mouse
pkgver=1.7.0
-pkgrel=1
+pkgrel=2
pkgdesc="X.org mouse input driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-input-synaptics/PKGBUILD b/extra/xf86-input-synaptics/PKGBUILD
index 504ba0514..6e4d89f3a 100644
--- a/extra/xf86-input-synaptics/PKGBUILD
+++ b/extra/xf86-input-synaptics/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 113926 2011-03-10 20:15:53Z jgc $
+# $Id: PKGBUILD 115455 2011-03-18 08:10:17Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Bächler <thomas@archlinux.org>
@@ -6,14 +6,14 @@
pkgname=xf86-input-synaptics
pkgver=1.4.0
-pkgrel=1
+pkgrel=2
pkgdesc="Synaptics driver for notebook touchpads"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('libxtst')
makedepends=('xorg-server-devel' 'libxi' 'libx11')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
replaces=('synaptics')
provides=('synaptics')
conflicts=('synaptics')
diff --git a/extra/xf86-input-void/PKGBUILD b/extra/xf86-input-void/PKGBUILD
index 1c086ce2b..6c4a38685 100644
--- a/extra/xf86-input-void/PKGBUILD
+++ b/extra/xf86-input-void/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 113936 2011-03-10 20:29:20Z jgc $
+# $Id: PKGBUILD 115535 2011-03-18 10:46:45Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-input-void
-pkgver=1.3.1
+_gitdate=20110318
+pkgver=1.3.1.99_git${_gitdate} # see configure.ac
pkgrel=1
pkgdesc="X.org void input driver"
arch=(i686 x86_64)
@@ -10,17 +11,37 @@ license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('f0009bd77d205c5e5a9791d8f498780b44e931ae')
+source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ ftp://ftp.archlinux.org/other/$pkgname/${pkgname}-${_gitdate}.tar.bz2)
+md5sums=('0ec2820fc178138d393fd248f56b8754')
+
+# source PKGBUILD && mksource
+mksource() {
+ mkdir /tmp/${pkgname}-${_gitdate}
+ pushd /tmp/${pkgname}-${_gitdate}
+ git clone -v --depth 1 git://anongit.freedesktop.org/xorg/driver/xf86-input-void
+ cd xf86-input-void
+ git archive --prefix=xf86-video-void-${_gitdate}/ --format=tar HEAD | bzip2 > /tmp/${pkgname}-${_gitdate}/${pkgname}-${_gitdate}.tar.bz2
+ popd
+}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr
+# cd "${srcdir}/${pkgname}-${pkgver}"
+# ./configure --prefix=/usr
+ cd ${srcdir}/xf86-video-void-${_gitdate}
+ ./autogen.sh --prefix=/usr
make
+}
+
+package() {
+# cd "${srcdir}/${pkgname}-${pkgver}"
+ cd ${srcdir}/xf86-video-void-${_gitdate}
+
make DESTDIR="${pkgdir}" install
+
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
}
diff --git a/extra/xf86-input-wacom/PKGBUILD b/extra/xf86-input-wacom/PKGBUILD
index 529615939..2ee290485 100644
--- a/extra/xf86-input-wacom/PKGBUILD
+++ b/extra/xf86-input-wacom/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 88601 2010-08-24 09:13:17Z jgc $
+# $Id: PKGBUILD 115476 2011-03-18 08:17:07Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: M Rawash <mrawash@gmail.com>
pkgname=xf86-input-wacom
-pkgver=0.10.8
-pkgrel=2
+pkgver=0.10.9
+pkgrel=1
pkgdesc="X.Org Wacom tablet driver"
arch=('i686' 'x86_64')
url="http://linuxwacom.sourceforge.net/"
license=('GPL')
backup=('etc/X11/xorg.conf.d/50-wacom.conf')
-depends=('libxi')
+depends=('libxi' 'libxrandr')
makedepends=('xorg-server-devel' 'libxext' 'libxi')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=(!libtool)
source=(http://downloads.sourceforge.net/project/linuxwacom/${pkgname}/${pkgname}-${pkgver}.tar.bz2
70-wacom.rules)
-md5sums=('e2bcc125070a16a7e3608d074d5d27dc'
+md5sums=('8af337d2919995f39ff19d8a890ea222'
'4d3665bb2ef8a8190734640dffa4c6f7')
build() {
diff --git a/extra/xf86-video-apm/PKGBUILD b/extra/xf86-video-apm/PKGBUILD
index bc7e2e472..649a8d7ae 100644
--- a/extra/xf86-video-apm/PKGBUILD
+++ b/extra/xf86-video-apm/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 113941 2011-03-10 20:38:18Z jgc $
+# $Id: PKGBUILD 115281 2011-03-17 16:59:19Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-apm
pkgver=1.2.3
-pkgrel=2
+pkgrel=3
pkgdesc="X.org Alliance ProMotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-ark/PKGBUILD b/extra/xf86-video-ark/PKGBUILD
index e93acec06..c924c8b8d 100644
--- a/extra/xf86-video-ark/PKGBUILD
+++ b/extra/xf86-video-ark/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 113946 2011-03-10 20:41:41Z jgc $
+# $Id: PKGBUILD 115284 2011-03-17 17:01:41Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-ark
pkgver=0.7.3
-pkgrel=2
+pkgrel=3
pkgdesc="X.org ark video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-ast/PKGBUILD b/extra/xf86-video-ast/PKGBUILD
index 6a14cdb4e..46183729c 100644
--- a/extra/xf86-video-ast/PKGBUILD
+++ b/extra/xf86-video-ast/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 114185 2011-03-11 09:22:15Z jgc $
+# $Id: PKGBUILD 115287 2011-03-17 17:04:02Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-ast
pkgver=0.91.10
-pkgrel=2
+pkgrel=3
pkgdesc="X.org ASPEED AST Graphics video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD
index ed379833d..bd3d1fd9e 100644
--- a/extra/xf86-video-ati/PKGBUILD
+++ b/extra/xf86-video-ati/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 114190 2011-03-11 09:27:15Z jgc $
+# $Id: PKGBUILD 115444 2011-03-18 07:49:48Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
-pkgver=6.14.0
-pkgrel=2
+pkgver=6.14.1
+pkgrel=1
pkgdesc="X.org ati video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(libpciaccess libdrm udev pixman ati-dri)
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('132a6b1ed6e03f7365659cdcf520516746a8fc27')
+md5sums=('395e23ad026e4246dd70bbd2143688b5')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/xf86-video-ati/ati-fix-build-1.10.patch b/extra/xf86-video-ati/ati-fix-build-1.10.patch
new file mode 100644
index 000000000..75980cbf3
--- /dev/null
+++ b/extra/xf86-video-ati/ati-fix-build-1.10.patch
@@ -0,0 +1,38 @@
+From ecfdb209afe2aafc378baab8c511f5df7b000270 Mon Sep 17 00:00:00 2001
+From: Sedat Dilek <sedat.dilek@googlemail.com>
+Date: Fri, 25 Feb 2011 21:48:14 +0100
+Subject: [PATCH] UMS: Fix build against xserver 1.10-rc3
+
+This issue was introduced due to last minute backout of RandR-1.4
+in xserver 1.10-rc3.
+
+Switch to "#ifdef RANDR_14_INTERFACE" as suggested by Keith Packard.
+See also <http://lists.x.org/archives/xorg-devel/2011-February/019643.html>.
+
+Note:
+The ddx needs a rebuild as the X video driver ABI changed to version 10.0.
+
+Reported-by: Alex Deucher <alexdeucher@gmail.com>
+CC: Keith Packard <keithp@keithp.com>
+Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>
+---
+ src/radeon_output.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/radeon_output.c b/src/radeon_output.c
+index 15cef06..ccde346 100644
+--- a/src/radeon_output.c
++++ b/src/radeon_output.c
+@@ -1622,7 +1622,7 @@ radeon_set_mode_for_property(xf86OutputPtr output)
+ xf86CrtcPtr crtc = output->crtc;
+
+ if (crtc->enabled) {
+-#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,9,99,901,0)
++#ifdef RANDR_14_INTERFACE
+ xf86CrtcSetRec crtc_set_rec;
+
+ crtc_set_rec.flags = (XF86CrtcSetMode |
+--
+1.7.1
+
+
diff --git a/extra/xf86-video-chips/PKGBUILD b/extra/xf86-video-chips/PKGBUILD
index 9712243dd..655847922 100644
--- a/extra/xf86-video-chips/PKGBUILD
+++ b/extra/xf86-video-chips/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 114195 2011-03-11 09:33:53Z jgc $
+# $Id: PKGBUILD 115295 2011-03-17 17:13:45Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-chips
pkgver=1.2.4
-pkgrel=1
+pkgrel=2
pkgdesc="X.org Chips and Technologies video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(glibc)
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-cirrus/PKGBUILD b/extra/xf86-video-cirrus/PKGBUILD
index 374de76cf..b0043635d 100644
--- a/extra/xf86-video-cirrus/PKGBUILD
+++ b/extra/xf86-video-cirrus/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114585 2011-03-14 10:16:30Z jgc $
+# $Id: PKGBUILD 115298 2011-03-17 17:18:57Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-cirrus
pkgver=1.3.2
-pkgrel=5
+pkgrel=6
pkgdesc="X.org Cirrus Logic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
diff --git a/extra/xf86-video-dummy/PKGBUILD b/extra/xf86-video-dummy/PKGBUILD
index d629b26c0..3b7a1e6d1 100644
--- a/extra/xf86-video-dummy/PKGBUILD
+++ b/extra/xf86-video-dummy/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114200 2011-03-11 09:44:32Z jgc $
+# $Id: PKGBUILD 115301 2011-03-17 17:21:06Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-dummy
pkgver=0.3.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org dummy video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-fbdev/PKGBUILD b/extra/xf86-video-fbdev/PKGBUILD
index a53248894..12edc4e6a 100644
--- a/extra/xf86-video-fbdev/PKGBUILD
+++ b/extra/xf86-video-fbdev/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114205 2011-03-11 09:46:20Z jgc $
+# $Id: PKGBUILD 115309 2011-03-17 17:26:03Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-fbdev
pkgver=0.4.2
-pkgrel=3
+pkgrel=4
pkgdesc="X.org framebuffer video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-glint/PKGBUILD b/extra/xf86-video-glint/PKGBUILD
index 757ae9c99..2a0e8dbb1 100644
--- a/extra/xf86-video-glint/PKGBUILD
+++ b/extra/xf86-video-glint/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114213 2011-03-11 09:52:26Z jgc $
+# $Id: PKGBUILD 115314 2011-03-17 17:29:52Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-glint
pkgver=1.2.5
-pkgrel=1
+pkgrel=2
pkgdesc="X.org GLINT/Permedia video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-i128/PKGBUILD b/extra/xf86-video-i128/PKGBUILD
index 513c262c2..c8f10156e 100644
--- a/extra/xf86-video-i128/PKGBUILD
+++ b/extra/xf86-video-i128/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114218 2011-03-11 10:11:52Z jgc $
+# $Id: PKGBUILD 115322 2011-03-17 17:39:36Z andyrtr $
# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i128
pkgver=1.3.4
-pkgrel=2
+pkgrel=3
pkgdesc="X.org Number 9 I128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-i740/PKGBUILD b/extra/xf86-video-i740/PKGBUILD
index d6ffc4287..4316de76b 100644
--- a/extra/xf86-video-i740/PKGBUILD
+++ b/extra/xf86-video-i740/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114223 2011-03-11 10:30:48Z jgc $
+# $Id: PKGBUILD 115325 2011-03-17 17:41:18Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-i740
pkgver=1.3.2
-pkgrel=5
+pkgrel=6
pkgdesc="X.org Intel i740 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-intel/PKGBUILD b/extra/xf86-video-intel/PKGBUILD
index 5b25ca4cd..ba907af2b 100644
--- a/extra/xf86-video-intel/PKGBUILD
+++ b/extra/xf86-video-intel/PKGBUILD
@@ -1,30 +1,29 @@
-# $Id: PKGBUILD 114228 2011-03-11 10:58:30Z jgc $
+# $Id: PKGBUILD 119231 2011-04-11 12:45:51Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-intel
-pkgver=2.14.0
-pkgrel=3
+pkgver=2.14.903
+pkgrel=1
pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=(intel-dri libxvmc libpciaccess libdrm xcb-util libxfixes udev)
makedepends=('xorg-server-devel' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'xcb-util')
-conflicts=('xorg-server<1.9.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
+conflicts=('xorg-server<1.10.0' 'xf86-video-i810' 'xf86-video-intel-legacy')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- git-fixes.patch)
-sha1sums=('103193a01b9c29d6f71a620ad99c6e1495276e68'
- '62dc94bd6a45432bdaed85bb0187d7087b88fe29')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha1sums=('2c2e0f714fbfa1f3aabcfd3fd667f892996680c8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/git-fixes.patch"
- libtoolize --force
- autoreconf --force --install
./configure --prefix=/usr --enable-dri
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/extra/xf86-video-mach64/PKGBUILD b/extra/xf86-video-mach64/PKGBUILD
index dd080c051..0fa53fc78 100644
--- a/extra/xf86-video-mach64/PKGBUILD
+++ b/extra/xf86-video-mach64/PKGBUILD
@@ -1,23 +1,26 @@
-# $Id: PKGBUILD 114315 2011-03-12 11:46:25Z jgc $
+# $Id: PKGBUILD 115331 2011-03-17 17:51:48Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mach64
pkgver=6.8.2
-pkgrel=5
+pkgrel=6
pkgdesc="X.org mach64 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'mach64-dri')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('b7303689a6a971b956061fd81399dc81adb865af')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+ mach64-fix-pixmap.patch)
+sha1sums=('b7303689a6a971b956061fd81399dc81adb865af'
+ '9658d16b964c1c0a3f8aa68f6706bd643cef321e')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i ${srcdir}/mach64-fix-pixmap.patch
./configure --prefix=/usr --enable-dri
make
make DESTDIR="${pkgdir}" install
diff --git a/extra/xf86-video-mach64/mach64-fix-pixmap.patch b/extra/xf86-video-mach64/mach64-fix-pixmap.patch
new file mode 100644
index 000000000..6f1a64748
--- /dev/null
+++ b/extra/xf86-video-mach64/mach64-fix-pixmap.patch
@@ -0,0 +1,47 @@
+diff --git a/src/aticonsole.c b/src/aticonsole.c
+index 1be147e..6e742d9 100644
+--- a/src/aticonsole.c
++++ b/src/aticonsole.c
+@@ -28,6 +28,7 @@
+ #include "config.h"
+ #endif
+
++#include "xorgVersion.h"
+ #include "ati.h"
+ #include "aticonsole.h"
+ #include "atii2c.h"
+@@ -689,7 +690,9 @@ ATIEnterVT
+ ScreenPtr pScreen = pScreenInfo->pScreen;
+ ATIPtr pATI = ATIPTR(pScreenInfo);
+ PixmapPtr pScreenPixmap;
++#if (XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1, 9, 99, 1, 0))
+ DevUnion PixmapPrivate;
++#endif
+ Bool Entered;
+
+ if (!ATIEnterGraphics(NULL, pScreenInfo, pATI))
+@@ -714,19 +717,24 @@ ATIEnterVT
+ }
+
+ pScreenPixmap = (*pScreen->GetScreenPixmap)(pScreen);
++
++#if (XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1, 9, 99, 1, 0))
+ PixmapPrivate = pScreenPixmap->devPrivate;
+ if (!PixmapPrivate.ptr)
+ pScreenPixmap->devPrivate = pScreenInfo->pixmapPrivate;
++#endif
+
+ /* Tell framebuffer about remapped aperture */
+ Entered = (*pScreen->ModifyPixmapHeader)(pScreenPixmap,
+ -1, -1, -1, -1, -1, pATI->pMemory);
+
++#if (XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1, 9, 99, 1, 0))
+ if (!PixmapPrivate.ptr)
+ {
+ pScreenInfo->pixmapPrivate = pScreenPixmap->devPrivate;
+ pScreenPixmap->devPrivate.ptr = NULL;
+ }
++#endif
+
+ #ifdef XF86DRI_DEVEL
+
diff --git a/extra/xf86-video-mga/PKGBUILD b/extra/xf86-video-mga/PKGBUILD
index b1071580d..c9793ef73 100644
--- a/extra/xf86-video-mga/PKGBUILD
+++ b/extra/xf86-video-mga/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 114478 2011-03-14 08:08:36Z jgc $
+# $Id: PKGBUILD 115334 2011-03-17 17:57:40Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-mga
pkgver=1.4.13
-pkgrel=2
+pkgrel=3
pkgdesc="X.org mga video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'mga-dri')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
-options=('!libtool' 'force')
+conflicts=('xorg-server<1.10.0')
+options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
sha1sums=('55aa185cf381def4b5905c8b93694b8dfbd5c378')
diff --git a/extra/xf86-video-neomagic/PKGBUILD b/extra/xf86-video-neomagic/PKGBUILD
index 7fd08c4f6..0b6469a69 100644
--- a/extra/xf86-video-neomagic/PKGBUILD
+++ b/extra/xf86-video-neomagic/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114484 2011-03-14 08:31:26Z jgc $
+# $Id: PKGBUILD 115337 2011-03-17 17:59:49Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-neomagic
pkgver=1.2.5
-pkgrel=3
+pkgrel=4
pkgdesc="X.org neomagic video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD
index b95ed544e..f5cb3da4a 100644
--- a/extra/xf86-video-nouveau/PKGBUILD
+++ b/extra/xf86-video-nouveau/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 103309 2010-12-17 19:20:15Z andyrtr $
+# $Id: PKGBUILD 115274 2011-03-17 16:40:45Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: buddabrod <buddabrod@gmail.com>
pkgname=xf86-video-nouveau
-_gitdate=20101217
+_gitdate=20110316
pkgver=0.0.16_git${_gitdate} # see configure.ac
-pkgrel=1
+pkgrel=2
pkgdesc="Open Source 3D acceleration driver for nVidia cards (experimental)"
arch=('i686' 'x86_64')
url="http://nouveau.freedesktop.org/wiki/"
license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
depends=('libdrm' 'udev')
optdepends=('nouveau-dri: experimental gallium3d features')
-makedepends=('xorg-server-devel' 'libdrm>=2.4.23' 'xf86driproto')
-conflicts=('xorg-server<1.9.0')
-options=('!libtool' 'force')
+makedepends=('xorg-server-devel' 'libdrm>=2.4.24' 'xf86driproto')
+conflicts=('xorg-server<1.10.0')
+options=('!libtool') # 'force')
install=${pkgname}.install
source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
-md5sums=('34b0238a941fe85ca45898dfcc47df0e')
+md5sums=('0ab7a1c9d3ec5dd020c09212a58ca801')
# source PKGBUILD && mksource
mksource() {
diff --git a/extra/xf86-video-nv/PKGBUILD b/extra/xf86-video-nv/PKGBUILD
index ad084362c..0ec636081 100644
--- a/extra/xf86-video-nv/PKGBUILD
+++ b/extra/xf86-video-nv/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114489 2011-03-14 08:33:45Z jgc $
+# $Id: PKGBUILD 115341 2011-03-17 18:01:19Z andyrtr $
# Maintainer:Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-nv
pkgver=2.1.18
-pkgrel=2
+pkgrel=3
pkgdesc="X.org nv video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-openchrome/PKGBUILD b/extra/xf86-video-openchrome/PKGBUILD
index 7d009a9b4..c49885397 100644
--- a/extra/xf86-video-openchrome/PKGBUILD
+++ b/extra/xf86-video-openchrome/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 88694 2010-08-24 13:35:43Z jgc $
+# $Id: PKGBUILD 115345 2011-03-17 18:03:35Z andyrtr $
# Contributor: Paul Mattal <paul@mattal.com>
# Maintainer: Juergen Hoetzel <juergen@hoetzel.info>
pkgname=xf86-video-openchrome
pkgver=0.2.904
-pkgrel=4
+pkgrel=5
pkgdesc="X.Org Openchrome drivers"
arch=(i686 x86_64)
license=('custom')
@@ -12,8 +12,8 @@ url="http://www.openchrome.org"
depends=('libdrm' 'libxvmc' 'unichrome-dri')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc')
replaces=('openchrome' 'xf86-video-via')
-options=('!libtool' 'force' '!makeflags')
-conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.9.0')
+options=('!libtool' '!makeflags')
+conflicts=('xf86-video-via' 'xf86-video-unichrome' 'openchrome' 'xorg-server<1.10.0')
source=(http://xorg.freedesktop.org/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
drm_stdint.patch
svn-r839.patch
diff --git a/extra/xf86-video-r128/PKGBUILD b/extra/xf86-video-r128/PKGBUILD
index a5f3e09ea..44c710729 100644
--- a/extra/xf86-video-r128/PKGBUILD
+++ b/extra/xf86-video-r128/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114494 2011-03-14 09:01:03Z jgc $
+# $Id: PKGBUILD 115348 2011-03-17 18:05:57Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-r128
pkgver=6.8.1
-pkgrel=5
+pkgrel=6
pkgdesc="X.org ati Rage128 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'r128-dri')
makedepends=('xorg-server-devel' 'xf86driproto' 'libdrm' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
diff --git a/extra/xf86-video-rendition/PKGBUILD b/extra/xf86-video-rendition/PKGBUILD
index d5b2ed3f4..7c664a61b 100644
--- a/extra/xf86-video-rendition/PKGBUILD
+++ b/extra/xf86-video-rendition/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114499 2011-03-14 09:14:01Z jgc $
+# $Id: PKGBUILD 115356 2011-03-17 18:07:25Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-rendition
pkgver=4.2.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org Rendition video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool' '!strip')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-s3/PKGBUILD b/extra/xf86-video-s3/PKGBUILD
index 75922daa7..fb0233d05 100644
--- a/extra/xf86-video-s3/PKGBUILD
+++ b/extra/xf86-video-s3/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114504 2011-03-14 09:17:06Z jgc $
+# $Id: PKGBUILD 115359 2011-03-17 18:08:59Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-s3
pkgver=0.6.3
-pkgrel=4
+pkgrel=5
pkgdesc="X.org S3 video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
diff --git a/extra/xf86-video-s3virge/PKGBUILD b/extra/xf86-video-s3virge/PKGBUILD
index 4e8197f25..9e5e00ff6 100644
--- a/extra/xf86-video-s3virge/PKGBUILD
+++ b/extra/xf86-video-s3virge/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 114509 2011-03-14 09:19:18Z jgc $
+# $Id: PKGBUILD 115362 2011-03-17 18:10:25Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-s3virge
pkgver=1.10.4
-pkgrel=4
+pkgrel=5
pkgdesc="X.org S3 Virge video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=(!libtool)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
diff --git a/extra/xf86-video-savage/PKGBUILD b/extra/xf86-video-savage/PKGBUILD
index 1b45ea10b..14c73b0a8 100644
--- a/extra/xf86-video-savage/PKGBUILD
+++ b/extra/xf86-video-savage/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114514 2011-03-14 09:27:55Z jgc $
+# $Id: PKGBUILD 115365 2011-03-17 18:12:33Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-savage
pkgver=2.3.2
-pkgrel=1
+pkgrel=2
pkgdesc="X.org savage video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'savage-dri')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=(!libtool !makeflags)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-siliconmotion/PKGBUILD b/extra/xf86-video-siliconmotion/PKGBUILD
index a96a09d77..fc72fd1c9 100644
--- a/extra/xf86-video-siliconmotion/PKGBUILD
+++ b/extra/xf86-video-siliconmotion/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 114519 2011-03-14 09:30:23Z jgc $
+# $Id: PKGBUILD 115368 2011-03-17 18:14:01Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-siliconmotion
pkgver=1.7.5
-pkgrel=1
+pkgrel=2
pkgdesc="X.org siliconmotion video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-sis/PKGBUILD b/extra/xf86-video-sis/PKGBUILD
index e595debd0..04958c1c4 100644
--- a/extra/xf86-video-sis/PKGBUILD
+++ b/extra/xf86-video-sis/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114524 2011-03-14 09:33:33Z jgc $
+# $Id: PKGBUILD 115371 2011-03-17 18:16:09Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sis
pkgver=0.10.3
-pkgrel=3
+pkgrel=4
pkgdesc="X.org SiS video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'sis-dri')
makedepends=('xorg-server-devel' 'xf86dgaproto' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=('!libtool')
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-sisusb/PKGBUILD b/extra/xf86-video-sisusb/PKGBUILD
index 24320dc52..1a425a0c5 100644
--- a/extra/xf86-video-sisusb/PKGBUILD
+++ b/extra/xf86-video-sisusb/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114529 2011-03-14 09:35:17Z jgc $
+# $Id: PKGBUILD 115377 2011-03-17 18:17:47Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-sisusb
pkgver=0.9.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org SiS USB video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-tdfx/PKGBUILD b/extra/xf86-video-tdfx/PKGBUILD
index 3fa0e88cd..d164f8f49 100644
--- a/extra/xf86-video-tdfx/PKGBUILD
+++ b/extra/xf86-video-tdfx/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114534 2011-03-14 09:41:17Z jgc $
+# $Id: PKGBUILD 115382 2011-03-17 18:19:40Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-tdfx
pkgver=1.4.3
-pkgrel=5
+pkgrel=6
pkgdesc="X.org tdfx video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc' 'tdfx-dri')
makedepends=('xorg-server-devel' 'libdrm' 'xf86driproto' 'mesa')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
options=(!libtool)
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
diff --git a/extra/xf86-video-trident/PKGBUILD b/extra/xf86-video-trident/PKGBUILD
index 3d43fed51..07e2475b0 100644
--- a/extra/xf86-video-trident/PKGBUILD
+++ b/extra/xf86-video-trident/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114539 2011-03-14 09:43:00Z jgc $
+# $Id: PKGBUILD 115385 2011-03-17 18:21:11Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-trident
pkgver=1.3.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org Trident video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=(!libtool)
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-tseng/PKGBUILD b/extra/xf86-video-tseng/PKGBUILD
index 80115fcbe..f252044c5 100644
--- a/extra/xf86-video-tseng/PKGBUILD
+++ b/extra/xf86-video-tseng/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114544 2011-03-14 09:47:29Z jgc $
+# $Id: PKGBUILD 115388 2011-03-17 18:22:47Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-tseng
pkgver=1.2.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org tseng video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-unichrome/PKGBUILD b/extra/xf86-video-unichrome/PKGBUILD
index b2aa60e45..71172840e 100644
--- a/extra/xf86-video-unichrome/PKGBUILD
+++ b/extra/xf86-video-unichrome/PKGBUILD
@@ -1,8 +1,9 @@
-# $Id: PKGBUILD 88691 2010-08-24 13:31:22Z jgc $
+# $Id: PKGBUILD 115391 2011-03-17 18:24:27Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
+
pkgname=xf86-video-unichrome
pkgver=0.2.7
-pkgrel=4
+pkgrel=5
_gitversion=cd12cce88ff886031c23c743569fba97eccace4e
pkgdesc="Unichrome video drivers for X.Org"
arch=(i686 x86_64)
@@ -11,7 +12,7 @@ license=('custom')
depends=('glibc' 'unichrome-dri')
makedepends=('xorg-server-devel' 'libx11' 'libdrm' 'xf86driproto' 'mesa' 'libxvmc')
options=('!libtool')
-conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.9.0')
+conflicts=('xf86-video-via' 'openchrome' 'xf86-video-openchrome' 'xorg-server<1.10.0')
source=(http://cgit.freedesktop.org/~libv/${pkgname}/snapshot/${pkgname}-${_gitversion}.tar.bz2
drm-include.patch
LICENSE)
diff --git a/extra/xf86-video-v4l/PKGBUILD b/extra/xf86-video-v4l/PKGBUILD
index 138cfe1d0..28d1c8c05 100644
--- a/extra/xf86-video-v4l/PKGBUILD
+++ b/extra/xf86-video-v4l/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114549 2011-03-14 09:51:09Z jgc $
+# $Id: PKGBUILD 115394 2011-03-17 18:25:56Z andyrtr $
#Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-v4l
pkgver=0.2.0
-pkgrel=7
+pkgrel=8
pkgdesc="X.org v4l video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 LICENSE)
diff --git a/extra/xf86-video-vesa/PKGBUILD b/extra/xf86-video-vesa/PKGBUILD
index 3e4513bb7..d5778d23f 100644
--- a/extra/xf86-video-vesa/PKGBUILD
+++ b/extra/xf86-video-vesa/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114554 2011-03-14 09:54:08Z jgc $
+# $Id: PKGBUILD 115397 2011-03-17 18:27:20Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-vesa
pkgver=2.3.0
-pkgrel=4
+pkgrel=5
pkgdesc="X.org vesa video driver"
arch=(i686 x86_64)
license=('custom')
url="http://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('pkgconfig' 'xorg-server-devel')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-voodoo/PKGBUILD b/extra/xf86-video-voodoo/PKGBUILD
index de6d6f637..ea146879f 100644
--- a/extra/xf86-video-voodoo/PKGBUILD
+++ b/extra/xf86-video-voodoo/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 114565 2011-03-14 10:01:16Z jgc $
+# $Id: PKGBUILD 115403 2011-03-17 18:35:27Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-voodoo
pkgver=1.2.4
-pkgrel=3
+pkgrel=4
pkgdesc="X.org 3dfx Voodoo1/Voodoo2 2D video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('custom')
depends=('glibc')
makedepends=('xorg-server-devel' 'xf86dgaproto')
-conflicts=('xorg-server<1.9.0')
+conflicts=('xorg-server<1.10.0')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
diff --git a/extra/xf86-video-xgi/PKGBUILD b/extra/xf86-video-xgi/PKGBUILD
index 65c419200..0c06d0615 100644
--- a/extra/xf86-video-xgi/PKGBUILD
+++ b/extra/xf86-video-xgi/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 114570 2011-03-14 10:04:18Z jgc $
+# $Id: PKGBUILD 115406 2011-03-17 18:37:02Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-xgi
pkgver=1.6.0
-pkgrel=2
+pkgrel=3
pkgdesc="X.org XGI video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
diff --git a/extra/xf86-video-xgixp/PKGBUILD b/extra/xf86-video-xgixp/PKGBUILD
index f4f89ef1e..30d34d3a5 100644
--- a/extra/xf86-video-xgixp/PKGBUILD
+++ b/extra/xf86-video-xgixp/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 114575 2011-03-14 10:06:12Z jgc $
+# $Id: PKGBUILD 115409 2011-03-17 18:38:51Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=xf86-video-xgixp
pkgver=1.8.0
-pkgrel=2
+pkgrel=3
pkgdesc="X.org XGIXP video driver"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
diff --git a/extra/xfburn/PKGBUILD b/extra/xfburn/PKGBUILD
index d1af4c7c5..131dc466a 100755
--- a/extra/xfburn/PKGBUILD
+++ b/extra/xfburn/PKGBUILD
@@ -1,18 +1,18 @@
-# $Id: PKGBUILD 104800 2011-01-04 23:36:33Z andyrtr $
+# $Id: PKGBUILD 119475 2011-04-11 17:44:33Z andyrtr $
# Maintainer: Tobias Kieslich <tobias funnychar archlinux.org>
# Contributor: Alois Nespor alois.nespor@gmail.com
pkgname=xfburn
pkgver=0.4.3
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
pkgdesc="a simple CD/DVD burning tool based on libburnia libraries"
url="http://goodies.xfce.org/projects/applications/xfburn"
license=('GPL2')
groups=('xfce4-goodies')
install=${pkgname}.install
-depends=('libburn>=0.7.6.pl00' 'libisofs>=0.6.28' 'libxfcegui4>=4.7.0' 'thunar-vfs>=1.1.0' 'hicolor-icon-theme'
- 'librsvg' 'gstreamer0.10-base>=0.10.26' 'desktop-file-utils')
+depends=('libburn>=1.0.6.pl00' 'libisofs>=1.0.6' 'libxfcegui4>=4.8.1' 'exo>=0.6.0' 'gstreamer0.10-base>=0.10.26'
+ 'hicolor-icon-theme' 'desktop-file-utils' 'librsvg')
makedepends=('intltool')
source=(http://www.xfce.org/archive/src/apps/xfburn/0.4/$pkgname-$pkgver.tar.bz2)
md5sums=('147cdc2d909e751125be16103b8dc81f')
@@ -21,9 +21,8 @@ build() {
cd ${srcdir}/$pkgname-$pkgver
./configure --prefix=/usr \
--enable-gstreamer \
- --enable-thunar-vfs \
--enable-dbus \
- --enable-hal
+ --disable-hal
make
}
diff --git a/extra/xfce4-session/PKGBUILD b/extra/xfce4-session/PKGBUILD
index 048eace64..f59b70390 100644
--- a/extra/xfce4-session/PKGBUILD
+++ b/extra/xfce4-session/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 109973 2011-02-14 17:56:04Z andyrtr $
+# $Id: PKGBUILD 119480 2011-04-11 18:13:13Z andyrtr $
# Maintainer: AndyRTR <andyrtr@archlinux.org>
# Contributor: tobias <tobias funnychar archlinux.org>
pkgname=xfce4-session
pkgver=4.8.1
-pkgrel=1
+pkgrel=2
pkgdesc="A session manager for Xfce"
arch=('i686' 'x86_64')
license=('GPL2')
@@ -12,8 +12,8 @@ url="http://www.xfce.org/"
groups=('xfce4')
# keep xorg-server-utils for https://bugs.archlinux.org/task/21096 'xorg-server-utils'
# upower and consolekit for reboot/shutdown/hibernate/suspend
-depends=('xfce4-panel' 'libwnck' 'xorg-iceauth' 'upower' 'consolekit' 'hicolor-icon-theme' )
-makedepends=('pkgconfig' 'intltool')
+depends=('xfce4-panel' 'gconf' 'libgnome-keyring' 'libwnck' 'libsm' 'xorg-iceauth' 'upower' 'consolekit' 'hicolor-icon-theme' )
+makedepends=('intltool')
optdepends=('fortune-mod: for xfce4-tips')
replaces=('xfce4-toys')
backup=(etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla
@@ -29,17 +29,14 @@ md5sums=('478080ff666fdd36786a243829663efd'
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- # git fixes
-
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/xfce4 \
--localstatedir=/var \
--disable-static \
--disable-hal \
- --disable-gnome \
- --disable-libgnome-keyring \
- --disable-legacy-sm \
+ --enable-gnome \
+ --enable-libgnome-keyring \
--enable-session-screenshots \
--enable-upower \
--enable-consolekit \
diff --git a/extra/xorg-server/PKGBUILD b/extra/xorg-server/PKGBUILD
index 20913828a..730a20781 100644
--- a/extra/xorg-server/PKGBUILD
+++ b/extra/xorg-server/PKGBUILD
@@ -1,36 +1,45 @@
-# $Id: PKGBUILD 114590 2011-03-14 10:49:00Z jgc $
+# $Id: PKGBUILD 119206 2011-04-11 10:54:18Z 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.9.4.901
+pkgver=1.10.0.902
pkgrel=1
arch=('i686' 'x86_64')
license=('custom')
url="http://xorg.freedesktop.org"
-makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp')
+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
- vbe-fix-malloc-size-bug.patch
+ 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)
-md5sums=('0fde9023db0581e9b145b4cd0784a3c5'
- 'c22e6ec412769b1c30c44b1f45b50e02'
- '1a336eb22e27cbf443ec5a2ecddfa93c'
- '52fd3effd80d7bc6c1660d4ecf23d31c'
- '376c70308715cd2643f7bff936d9934b'
- 'd4f7dfc6be4ef4e2c6dd7632a9d88abe')
+sha1sums=('7d44c57735c321fefd2b58f8917f51a95a829886'
+ '629c6d8d52126eab81ee1b72a9e4209535f8cb81'
+ '19e7164dcf9814ad64231b50a46f651b0e68a27a'
+ '1b95e91384a57d966428c7db98ed06f4cc562f91'
+ '0efcdf61bde3c0cd813072b94e2b30ab922775b9'
+ 'c94f742d3f9cabf958ae58e4015d9dd185aabedc'
+ '6838fc00ef4618c924a77e0fb03c05346080908a'
+ '993798f3d22ad672d769dae5f48d1fa068d5578f')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
-
- patch -Np1 -i "${srcdir}/vbe-fix-malloc-size-bug.patch"
-
# 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 \
@@ -54,7 +63,6 @@ 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
@@ -76,7 +84,7 @@ package_xorg-server-common() {
make -C xkb DESTDIR="${pkgdir}" install-data
install -m755 -d "${pkgdir}/usr/share/man/man1"
- install -m644 doc/Xserver.1 "${pkgdir}/usr/share/man/man1/"
+ install -m644 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/"
diff --git a/extra/xorg-server/bg-none-revert.patch b/extra/xorg-server/bg-none-revert.patch
new file mode 100644
index 000000000..1a38f1f41
--- /dev/null
+++ b/extra/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/extra/xorg-server/glx-pixmap-crash.patch b/extra/xorg-server/glx-pixmap-crash.patch
new file mode 100644
index 000000000..48f258eb5
--- /dev/null
+++ b/extra/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/extra/xorg-server/xserver-1.10-pointer-barriers.patch b/extra/xorg-server/xserver-1.10-pointer-barriers.patch
new file mode 100644
index 000000000..099565436
--- /dev/null
+++ b/extra/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
+