summaryrefslogtreecommitdiff
path: root/testing/thinkfinger
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-04-30 00:01:38 +0000
committerroot <root@rshg054.dnsready.net>2012-04-30 00:01:38 +0000
commitb7cd4b184f75d3d2b54b356e08f296df3a9afb38 (patch)
treedc5e84c1f7271cf0c8ec0221b5a22e48a884081a /testing/thinkfinger
parent4412991f6b4fd655fc1f51f8d79a0be0c10158b7 (diff)
Mon Apr 30 00:01:38 UTC 2012
Diffstat (limited to 'testing/thinkfinger')
-rw-r--r--testing/thinkfinger/PKGBUILD44
-rw-r--r--testing/thinkfinger/gcc46.patch22
-rw-r--r--testing/thinkfinger/thinkfinger-uinput-hack.patch13
-rw-r--r--testing/thinkfinger/thinkfinger.install4
4 files changed, 83 insertions, 0 deletions
diff --git a/testing/thinkfinger/PKGBUILD b/testing/thinkfinger/PKGBUILD
new file mode 100644
index 000000000..7aae89b5d
--- /dev/null
+++ b/testing/thinkfinger/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 157520 2012-04-28 21:41:20Z dreisner $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: François Charette <francois.archlinux.org>
+# Contributor: Damir Perisa <damir.archlinux.org>
+# Contributor: Björn Martensen <bjoern.martensen@gmail.com>
+
+pkgname=thinkfinger
+pkgver=0.3
+pkgrel=6
+pkgdesc="A driver for the SGS Thomson Microelectronics fingerprint reader found in most IBM/Lenovo ThinkPads"
+url="http://thinkfinger.sourceforge.net/"
+arch=('i686' 'x86_64')
+license=("GPL")
+depends=('pam' 'libusb-compat')
+install=thinkfinger.install
+options=('!libtool' 'emptydirs')
+source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+ 'thinkfinger-uinput-hack.patch'
+ 'gcc46.patch')
+md5sums=('588565233bcbea5ff0a7f5314361c380'
+ '71dc334282d19e6db4f6254542ba563c'
+ '93c80f342329a5bd40f5f324fe670225')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Patch from Ubuntu: see http://bugs.archlinux.org/task/12580
+ patch -p0 -i "${srcdir}"/thinkfinger-uinput-hack.patch
+
+ patch -p1 -i "${srcdir}"/gcc46.patch
+
+ ./configure --prefix=/usr \
+ --with-birdir=/etc/pam_thinkfinger
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # create dir to store fingerprints
+ install -d $pkgdir/etc/pam_thinkfinger
+
+ make DESTDIR=$pkgdir install
+}
diff --git a/testing/thinkfinger/gcc46.patch b/testing/thinkfinger/gcc46.patch
new file mode 100644
index 000000000..24e4b534f
--- /dev/null
+++ b/testing/thinkfinger/gcc46.patch
@@ -0,0 +1,22 @@
+--- a/pam/Makefile.am
++++ b/pam/Makefile.am
+@@ -8,7 +8,7 @@ pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h p
+ else
+ pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+ endif
+-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
+ pam_thinkfinger_so_CFLAGS = $(CFLAGS)
+ pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS)
+
+--- a/pam/Makefile.in
++++ b/pam/Makefile.in
+@@ -201,7 +201,7 @@ pamdir = $(SECUREDIR)
+ INCLUDES = -I$(top_srcdir)/libthinkfinger
+ @HAVE_OLD_PAM_FALSE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+ @HAVE_OLD_PAM_TRUE@pam_thinkfinger_so_SOURCES = pam_thinkfinger-compat.c pam_thinkfinger-compat.h pam_thinkfinger-uinput.c pam_thinkfinger-uinput.h pam_thinkfinger.c
+-pam_thinkfinger_so_LDFLAGS = -shared --strip-all -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
++pam_thinkfinger_so_LDFLAGS = -shared -Wl,-soname,pam_thinkfinger.so -Wl,--as-needed
+ pam_thinkfinger_so_CFLAGS = $(CFLAGS)
+ pam_thinkfinger_so_LDADD = $(top_builddir)/libthinkfinger/libthinkfinger.la $(PAM_LIBS) $(PTHREAD_LIBS)
+ all: all-am
diff --git a/testing/thinkfinger/thinkfinger-uinput-hack.patch b/testing/thinkfinger/thinkfinger-uinput-hack.patch
new file mode 100644
index 000000000..0ac153464
--- /dev/null
+++ b/testing/thinkfinger/thinkfinger-uinput-hack.patch
@@ -0,0 +1,13 @@
+#Source: http://launchpadlibrarian.net/18515541/thinkfinger-uinput-hack.patch (26-12-2008)
+Index: pam/pam_thinkfinger-uinput.c
+===================================================================
+--- pam/pam_thinkfinger-uinput.c (revision 118)
++++ pam/pam_thinkfinger-uinput.c (working copy)
+@@ -95,6 +95,7 @@
+ /* our single key keyboard */
+ i = ioctl (*fd, UI_SET_EVBIT, EV_KEY) < 0;
+ i |= ioctl (*fd, UI_SET_KEYBIT, KEY_ENTER) < 0;
++ i |= ioctl (*fd, UI_SET_KEYBIT, KEY_A) < 0;
+
+ if (write (*fd, &device, device_size) != device_size) {
+ retval = errno;
diff --git a/testing/thinkfinger/thinkfinger.install b/testing/thinkfinger/thinkfinger.install
new file mode 100644
index 000000000..bb1f6dde0
--- /dev/null
+++ b/testing/thinkfinger/thinkfinger.install
@@ -0,0 +1,4 @@
+post_install() {
+ echo "==> To use thinkfinger, add 'uinput' to the MODULES=() in /etc/rc.conf."
+ echo " More Infos: http://wiki.archlinux.org/index.php/Thinkfinger"
+}