From d8e63425c8d8b2a7203d0167e6d09a32a6e9b66a Mon Sep 17 00:00:00 2001
From: Michael Hanson <hansonorders@verizon.net>
Date: Tue, 16 Nov 2010 03:34:09 +0000
Subject: xf86-input-evdev: up to latest

---
 abs/core/xf86-input-evdev/PKGBUILD                 | 20 ++++---
 abs/core/xf86-input-evdev/__changelog              |  2 +
 .../xf86-input-evdev/initialize-valuators.patch    | 61 ++++++++++++++++++++++
 3 files changed, 75 insertions(+), 8 deletions(-)
 create mode 100644 abs/core/xf86-input-evdev/__changelog
 create mode 100644 abs/core/xf86-input-evdev/initialize-valuators.patch

diff --git a/abs/core/xf86-input-evdev/PKGBUILD b/abs/core/xf86-input-evdev/PKGBUILD
index 3b43991..ece4300 100644
--- a/abs/core/xf86-input-evdev/PKGBUILD
+++ b/abs/core/xf86-input-evdev/PKGBUILD
@@ -1,26 +1,30 @@
-# $Id: PKGBUILD 76112 2010-04-07 19:40:40Z jgc $
+# $Id: PKGBUILD 88543 2010-08-24 08:25:22Z jgc $
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 # Contributor: Alexander Baldeck <Alexander@archlinux.org
+
 pkgname=xf86-input-evdev
-pkgver=2.4.0
+pkgver=2.5.0
 pkgrel=1
 pkgdesc="X.org evdev input driver"
 arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/"
 license=('custom')
 depends=('glibc')
-makedepends=('pkgconfig' 'xorg-server>=1.8.0' 'inputproto>=2.0' 'randrproto>=1.3.1')
-conflicts=('xorg-server<1.8.0')
-options=('!libtool')
+makedepends=('xorg-server')
+conflicts=('xorg-server<1.8.1')
+options=('!libtool' !makeflags)
 groups=('xorg-input-drivers')
 source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
-sha1sums=('875dd3c35f8d0f409337b932d82a46da0e9570e7')
+sha1sums=('fe83410d76830ec15c4a73ace385d66644c58944')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  ./configure --prefix=/usr || return 1
+  ./configure --prefix=/usr
   make || return 1
+}
+package() {
+  cd "${srcdir}/${pkgname}-${pkgver}"
   make DESTDIR="${pkgdir}" install || return 1
   install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
-  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
 }
diff --git a/abs/core/xf86-input-evdev/__changelog b/abs/core/xf86-input-evdev/__changelog
new file mode 100644
index 0000000..d11a62e
--- /dev/null
+++ b/abs/core/xf86-input-evdev/__changelog
@@ -0,0 +1,2 @@
+change makedepends=('xorg-server-devel') to makedepends=('xorg-server')
+change conflicts=('xorg-server<1.9.0') to conflicts=('xorg-server<1.8.1')
diff --git a/abs/core/xf86-input-evdev/initialize-valuators.patch b/abs/core/xf86-input-evdev/initialize-valuators.patch
new file mode 100644
index 0000000..47b02db
--- /dev/null
+++ b/abs/core/xf86-input-evdev/initialize-valuators.patch
@@ -0,0 +1,61 @@
+From ed47c7f33e315f163a6aebeb3e1c8947004576fd Mon Sep 17 00:00:00 2001
+From: Bartosz Brachaczek <b.brachaczek@gmail.com>
+Date: Tue, 10 Aug 2010 20:31:00 +0000
+Subject: evdev: Revert "Set all valuators for relative motion events (#24737)"
+
+It isn't necessary to post zero-deltas to X Server. In order not to post
+uninitialized "v" array we should rather simply initialize it.
+
+This reverts commit c1f16a4f59a584ab4546c2f16e20b06703042057.
+
+Signed-off-by: Bartosz Brachaczek <b.brachaczek@gmail.com>
+Tested-by: Bartek Iwaniec <hash87@gmail.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/src/evdev.c b/src/evdev.c
+index 5ea230c..bdac330 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -386,7 +386,7 @@ EvdevProcessValuators(InputInfoPtr pInfo, int v[MAX_VALUATORS], int *num_v,
+         for (i = 0; i < REL_CNT; i++)
+         {
+             int map = pEvdev->axis_map[i];
+-            if (map != -1)
++            if (pEvdev->delta[i] && map != -1)
+             {
+                 v[map] = pEvdev->delta[i];
+                 if (map < first)
+--
+cgit v0.8.3-6-g21f6
+From ec6cb31cc47eed3ccba4c906ca6c54b99136e9eb Mon Sep 17 00:00:00 2001
+From: Bartosz Brachaczek <b.brachaczek@gmail.com>
+Date: Tue, 10 Aug 2010 20:31:37 +0000
+Subject: evdev: Initialize valuators array. (#24737)
+
+The array needs to be filled with zeros, otherwise we may end up sending
+it with random values if non-zero values aren't in one row (which is the
+case for A4Tech X-750F which sends REL_MISC events without a reason).
+
+X.Org Bug 24737 <http://bugs.freedesktop.org/show_bug.cgi?id=24737>
+
+Signed-off-by: Bartosz Brachaczek <b.brachaczek@gmail.com>
+Tested-by: Bartek Iwaniec <hash87@gmail.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/src/evdev.c b/src/evdev.c
+index bdac330..512e957 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -661,7 +661,7 @@ static void
+ EvdevProcessSyncEvent(InputInfoPtr pInfo, struct input_event *ev)
+ {
+     int num_v = 0, first_v = 0;
+-    int v[MAX_VALUATORS];
++    int v[MAX_VALUATORS] = {};
+     EvdevPtr pEvdev = pInfo->private;
+ 
+     EvdevProcessValuators(pInfo, v, &num_v, &first_v);
+--
+cgit v0.8.3-6-g21f6
-- 
cgit v0.12

