diff options
-rw-r--r-- | sys-kernel/linuxwacom-module/Manifest | 6 | ||||
-rw-r--r-- | sys-kernel/linuxwacom-module/files/check_driver | 24 | ||||
-rw-r--r-- | sys-kernel/linuxwacom-module/files/check_driver.1 | 22 | ||||
-rw-r--r-- | sys-kernel/linuxwacom-module/files/linuxwacom-module-2.6.36.patch | 30 | ||||
-rw-r--r-- | sys-kernel/linuxwacom-module/linuxwacom-module-0.8.8_p10.ebuild | 104 | ||||
-rw-r--r-- | sys-kernel/linuxwacom-module/metadata.xml | 9 |
6 files changed, 195 insertions, 0 deletions
diff --git a/sys-kernel/linuxwacom-module/Manifest b/sys-kernel/linuxwacom-module/Manifest new file mode 100644 index 0000000..4fd5dc9 --- /dev/null +++ b/sys-kernel/linuxwacom-module/Manifest @@ -0,0 +1,6 @@ +AUX check_driver 499 RMD160 298507626fa8bb20df0d5d1404002133ef1e4c41 SHA1 12ae37807a03f36be2c5cc47e444475677b41693 SHA256 45331d948e1d37141a56258510d6ff708092f70181e83348eb66eef005878069 +AUX check_driver.1 750 RMD160 9ebe8e30ce2cb83ca3245ba29d19b06e81181651 SHA1 4d6fba491df26709b821184f9e011568eaaaebde SHA256 67bf1469f122830d9e99cbd8762e61f682c9a831577fde29af8ef1ab0440d024 +AUX linuxwacom-module-2.6.36.patch 738 RMD160 b2d254f0c52cf8418aa1975f6cc4b39e9e48ad4a SHA1 70940702e8a88e83b6db3557a28450c9ba0ca3e9 SHA256 4ad552f88e14661ea1602ec9733d90a7e6491576b65444c792267bf0f15908ea +DIST linuxwacom-0.8.8-10.tar.bz2 1055098 RMD160 c7a5f5cbf222c33831ca6d92c376cebd3413f773 SHA1 70da7a63c1b00d8153853e4ea38652e63cc4ec0e SHA256 042be61e2f7165ecf37e1805c499575ce6912a5986fae153921821c8f5ede55a +EBUILD linuxwacom-module-0.8.8_p10.ebuild 2843 RMD160 ef9850ba90dbfd0174371cff39c18ddd85dbd67e SHA1 4e7d3ab4c3c685b6ebed7d240a322128f5226124 SHA256 f310572463556a031b186be2ab55eaac4c3138993f07595e855cffa969773cae +MISC metadata.xml 299 RMD160 9102c3c3250268469fed8c9bee417c9f2ed3c606 SHA1 7dadc43795769b1991a48c04cd7dce71e6d7257e SHA256 08573e1a8a6e965d1f7a92fecb202beab6137302e2055bff36e0be3c38d3d4b2 diff --git a/sys-kernel/linuxwacom-module/files/check_driver b/sys-kernel/linuxwacom-module/files/check_driver new file mode 100644 index 0000000..6e49aa1 --- /dev/null +++ b/sys-kernel/linuxwacom-module/files/check_driver @@ -0,0 +1,24 @@ +#!/bin/sh +# + +#logger check_driver called with: $1 - $2 - $3 - + +wanted=$1 +devpath=$2 +bustype=$3 + +device=$(readlink /sys/$devpath/device) +device=${device##*/} +driver=$(readlink /sys/$devpath/device/driver) +driver=${driver##*/} + +logger device $device is bound to the $driver driver + +if [ "$driver" != "$wanted" ]; then + logger must rebind + echo -n "$device" > /sys/$devpath/device/driver/unbind + echo -n "$device" > /sys/bus/$bustype/drivers/$wanted/bind +else + logger no need to rebind +fi + diff --git a/sys-kernel/linuxwacom-module/files/check_driver.1 b/sys-kernel/linuxwacom-module/files/check_driver.1 new file mode 100644 index 0000000..cf3a5f9 --- /dev/null +++ b/sys-kernel/linuxwacom-module/files/check_driver.1 @@ -0,0 +1,22 @@ +.TH wacom\-tools 1 "5 Nov 2004" "Debian GNU/Linux" "Debian" +.SH NAME +check_driver \- Linux 2.6(.16+) userspace device rebinding helper. + +.SH SYNOPSIS +.B check_driver driver devpath bustype + +.SH DESCRIPTION +This is a \fBRUN\fP script that may be invoked from a udev rule to ensure the +correct driver is bound to a particular device, in situations where a +basic driver may bind to it first but a more specialised one is available. + +.SH EXAMPLE +For the wacom device, a rule like this is used: + +KERNEL=="event[0-9]*", SYSFS{idVendor}=="056a", ACTION=="add", RUN+="/lib/udev/check_driver wacom $devpath $env{ID_BUS}" + +.SH COPYRIGHT +2006, Ron Lee <ron@debian.org>. Created for the Debian GNU/Linux +distribution. It may be freely distributed elsewhere. + + diff --git a/sys-kernel/linuxwacom-module/files/linuxwacom-module-2.6.36.patch b/sys-kernel/linuxwacom-module/files/linuxwacom-module-2.6.36.patch new file mode 100644 index 0000000..81f108f --- /dev/null +++ b/sys-kernel/linuxwacom-module/files/linuxwacom-module-2.6.36.patch @@ -0,0 +1,30 @@ +=== modified file 'src/2.6.30/wacom_wac.c' +--- src/2.6.30/wacom_wac.c 2010-10-29 07:30:39 +0000 ++++ src/2.6.30/wacom_wac.c 2010-10-29 07:31:29 +0000 +@@ -202,10 +202,10 @@ + y = get_unaligned_be16(&data[5 + (idx * 9)]) & 0x7ff; + + if (wacom->last_finger != finger) { +- if (x == input->abs[ABS_X]) ++ if (x == input->absinfo[ABS_X].value) + x++; + +- if (y == input->abs[ABS_Y]) ++ if (y == input->absinfo[ABS_X].value) + y++; + } + +@@ -843,10 +843,10 @@ + int y = le16_to_cpup((__le16 *)&data[4 + finger * 2]) & 0x7fff; + + if (wacom->last_finger != finger) { +- if (x == input->abs[ABS_X]) ++ if (x == input->absinfo[ABS_X].value) + x++; + +- if (y == input->abs[ABS_Y]) ++ if (y == input->absinfo[ABS_X].value) + y++; + } + + diff --git a/sys-kernel/linuxwacom-module/linuxwacom-module-0.8.8_p10.ebuild b/sys-kernel/linuxwacom-module/linuxwacom-module-0.8.8_p10.ebuild new file mode 100644 index 0000000..092d27f --- /dev/null +++ b/sys-kernel/linuxwacom-module/linuxwacom-module-0.8.8_p10.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit eutils toolchain-funcs linux-mod autotools + +# http://who-t.blogspot.com/2010/09/wacom-support-in-linux.html +MY_PN="linuxwacom" +DESCRIPTION="Kernel driver for Wacom tablets and drawing devices" +HOMEPAGE="http://linuxwacom.sourceforge.net/" +SRC_URI="mirror://sourceforge/${MY_PN}/${MY_PN}-${PV/_p/-}.tar.bz2" + +IUSE="usb" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 hppa ~ppc ~ppc64 x86" + +RDEPEND="sys-fs/udev + sys-libs/ncurses" + +DEPEND="${RDEPEND} + dev-util/pkgconfig + usb? ( >=sys-kernel/linux-headers-2.6 )" +S=${WORKDIR}/${MY_PN}-${PV/_p/-} + +MODULE_NAMES="wacom(input:${S}/src:${S}/src)" +BUILD_TARGETS="all" + +wacom_check() { + ebegin "Checking for wacom module" + linux_chkconfig_module TABLET_USB_WACOM + eend $? + + if [[ $? -ne 0 ]] || ! [ -f "/lib/modules/${KV}/kernel/drivers/input/tablet/wacom.ko" ]; then + eerror "You need to have your kernel compiled with wacom as a module" + eerror "to let linuxwacom overwrite it." + eerror "Enable it in the kernel, found at:" + eerror + eerror " Device Drivers" + eerror " Input device support" + eerror " Tablets" + eerror " <M> Wacom Intuos/Graphire tablet support (USB)" + eerror + eerror '(in the "USB support" page it is suggested to include also:' + eerror "EHCI , OHCI , USB Human Interface Device+HID input layer)" + eerror + eerror "Then recompile kernel. Otherwise, remove the module USE flag." + die "Wacom not compiled in kernel as a module!" + fi +} + +pkg_setup() { + linux-mod_pkg_setup + wacom_check +} + +src_prepare() { + if [[ $(gcc-major-version) < 4 || $(gcc-minor-version) < 2 ]]; then + die "Versions of linuxwacom >= 0.7.9 require gcc >= 4.2 to compile." + fi + sed '/WCM_SRC_SUBDIRS=/s: wacomxi util xdrv::' -i configure.in || die + + kernel_is ge 2 6 36 && epatch "${FILESDIR}/linuxwacom-module-2.6.36.patch" + eautoreconf +} + +# TODO: Avoid build of hal (but actually upstream is working on separation of +# modules from linuxwacom so this is really low priority). +src_configure() { + unset ARCH + econf \ + --enable-wacom \ + --with-kernel=${KV_OUT_DIR} \ + --disable-dependency-tracking \ + --without-x \ + --disable-xserver64 \ + --without-xlib \ + --without-xorg-sdk \ + --without-tcl \ + --without-tk \ + $(printf -- "--disable-%s " libwacom{cfg,xi} {wac,xi}dump xsetwacom wacomxrrd) +} + +src_install() { + # Inelegant attempt to work around a nasty build system + cp src/*/wacom.{o,ko} src/ || die + linux-mod_src_install + + insinto /etc/udev/rules.d/ + doins src/util/60-wacom.rules || die + + exeinto /lib/udev/ + doexe "${FILESDIR}"/check_driver || die + doman "${FILESDIR}"/check_driver.1 + + dodoc AUTHORS ChangeLog +} + +pkg_postinst() { + ewarn "Please remove any HAL .FDI files you may" + ewarn "previously have installed for linuxwacom." +} diff --git a/sys-kernel/linuxwacom-module/metadata.xml b/sys-kernel/linuxwacom-module/metadata.xml new file mode 100644 index 0000000..b692c0e --- /dev/null +++ b/sys-kernel/linuxwacom-module/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>no-herd</herd> + <longdescription>kernel driver for wacom tablets</longdescription> + <use> + <flag name='modules'>Build kernel module</flag> + </use> +</pkgmetadata> |