diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-04-12 11:24:37 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-04-12 11:24:37 -0300 |
commit | 1f52af629b1911ab027ef9c5d4d5903b48792050 (patch) | |
tree | e975475390c79c3dd975c95091f3bb33beff24e5 /extra | |
parent | 951244a3e5bdc5f2f029f6550b46e5a06d1bfa26 (diff) | |
parent | 28b5bbf3fee0627993658e096eadab71c2779912 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community-testing/llvm/PKGBUILD
community/dsniff/PKGBUILD
community/ngrep/PKGBUILD
community/virtualbox/PKGBUILD
extra/gstreamer0.10-good/PKGBUILD
extra/lirc/PKGBUILD
extra/mc/PKGBUILD
extra/mesa/PKGBUILD
extra/xfburn/PKGBUILD
testing/gnome-panel/PKGBUILD
Diffstat (limited to 'extra')
73 files changed, 2336 insertions, 318 deletions
diff --git a/extra/aufs2-util/PKGBUILD b/extra/aufs2-util/PKGBUILD index 0d571205f..7ae215d03 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' 'mips64el') 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 86d6c2e90..cd55d811d 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' 'mips64el') @@ -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 d4b5015b9..cce1c878e 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' 'mips64el') 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 18d954482..88edd412f 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' 'mips64el') 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 2f6ecc501..e2d60340b 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' 'mips64el') 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 b7bbd7a18..bd9b5e692 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' 'mips64el') 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 65a9397ff..397b63108 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 'mips64el') 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 c13699ba2..d26474129 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 'mips64el') 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 d1dd1ad00..339395e69 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 'mips64el') @@ -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 60bf9370b..a99ca04d9 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 'mips64el') 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 7252bebdc..95c88ce88 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' 'mips64el') 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 e5b8fdf8c..809494eac 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-LIBRE arch=('i686' 'x86_64' 'mips64el') 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 7a372acac..1075c1476 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 'mips64el') 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 ab39ed453..14a7edd76 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' 'mips64el') 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 998d7dbef..bce2a5adb 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' 'mips64el') 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, ®vals, 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, ®s[c]); ++ ++ foreach(val, ®vals) { ++ if (val->reg.id >= 0 && livei_have_overlap(val, defs[c])) ++ reg_occupy(®s[c], val); ++ } ++ mask = 0x11111111; ++ if (vsize == 2) /* granularity is 2 and not 4 */ ++ mask |= 0x11111111 << 2; ++ mask_register_set(®s[c], 0, mask << c); ++ ++ if (defs[c]->livei) ++ insert_ordered_tail(®vals, defs[c]); ++ } ++ for (c = 1; c < vsize; ++c) ++ intersect_register_sets(®s[0], ®s[0], ®s[c]); ++ ++ mem = !reg_assign(®s[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 2a4369e5b..8f5c29287 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' 'mips64el') @@ -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 5714e19b2..b760d8cc9 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 'mips64el') 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 007124a95..95e36f5dc 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 'mips64el') 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 5aa3c61a0..b524d10ac 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 'mips64el') 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 fd15f1a39..c4f032aef 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 'mips64el') 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 06e38bf03..abfcf931a 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 'mips64el') 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 d55eb8111..4c78ca293 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 'mips64el') 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 9c7d5a61b..d4d4cffdd 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 'mips64el') 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 35f25234d..1826fbb58 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 'mips64el') @@ -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 af20220c7..9b7fce7b9 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' 'mips64el') 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 874ad8f1a..0fda16708 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 'mips64el') 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 41d3ccde4..03e1340b0 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 'mips64el') 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 66806dc5f..0920103f8 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 'mips64el') url="http://xorg.freedesktop.org/" diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD index 230d8a6f4..4973f9502 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 'mips64el') 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 5f6352085..c190ad607 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 'mips64el') 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 cda9b9e0c..7c9c76d07 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 'mips64el') 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 7e67f7b34..8332a0ff4 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 'mips64el') 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 53285e914..cc8854074 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 'mips64el') 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 ede5311af..5483e651f 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 'mips64el') 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 fa0fe74ba..07daad5ba 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 'mips64el') 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 e5648f310..49bcf9de7 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 'mips64el') 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 3a9e9b9c5..e14004c4e 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 'mips64el') 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 301434908..25cbcff4a 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 'mips64el') 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 7af972569..e67021a97 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 'mips64el') 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 089c28fe7..89650f9a2 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 'mips64el') 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 178ad83a2..40f246703 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' 'mips64el') 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 95739593a..2e5ce4daf 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 'mips64el') 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 176cee32b..05282816d 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 'mips64el') 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 426fe8ffc..989b9d964 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 'mips64el') 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 b050316eb..39238c62d 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 'mips64el') 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 ccb727c2a..3512d248e 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 'mips64el') 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 8cec792b6..2deeaa2d6 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 'mips64el') 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 907dbfdaa..32d8afda3 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 'mips64el') 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 e13380ab3..285d6d8f3 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 'mips64el') 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 51c574ebf..436f1e3cb 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 'mips64el') 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 ca4c86df5..742f88476 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 'mips64el') 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 81cedb12d..eb32b5384 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 'mips64el') 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 27fc5c70a..7e36853f7 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 'mips64el') 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 55927eac7..ea81f157b 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 'mips64el') 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 720b30cb9..004ca502b 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 'mips64el') @@ -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 38ec52feb..777732b84 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 'mips64el') 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 185e49e89..474b78f57 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 'mips64el') 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 cee9a3cef..c69a03e85 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 'mips64el') 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 92b1c164e..2a177c9ab 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 'mips64el') url="http://xorg.freedesktop.org/" diff --git a/extra/xf86-video-xgixp/PKGBUILD b/extra/xf86-video-xgixp/PKGBUILD index b88123a06..7f98b9990 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 'mips64el') url="http://xorg.freedesktop.org/" diff --git a/extra/xfburn/PKGBUILD b/extra/xfburn/PKGBUILD index 17f8703f8..2e7aec3bf 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' 'mips64el') 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 e3a5b2602..905d8ef2f 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' 'mips64el') 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 92f69d41f..0ab67f23d 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' 'mips64el') license=('custom') url="http://xorg.freedesktop.org" -makedepends=('pixman' 'libx11' 'mesa' 'libgl' 'xf86driproto' 'xcmiscproto' 'xtrans' 'bigreqsproto' 'randrproto' 'inputproto' 'fontsproto' 'videoproto' 'compositeproto' 'recordproto' 'scrnsaverproto' 'resourceproto' 'xineramaproto' 'libxkbfile' 'libxfont' 'renderproto' 'libpciaccess' 'libxv' 'xf86dgaproto' 'libxmu' 'libxrender' 'libxi' 'dmxproto' 'libxaw' 'libdmx' 'libxtst' 'libxres' 'xorg-xkbcomp') +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 + |