Index: Makefile =================================================================== RCS file: /home/pcvs/ports/comms/lirc/Makefile,v retrieving revision 1.38 diff -u -p -r1.38 Makefile --- Makefile 15 Mar 2011 20:41:25 -0000 1.38 +++ Makefile 3 Jun 2011 16:50:13 -0000 @@ -6,15 +6,17 @@ # PORTNAME= lirc -PORTVERSION= 0.9.0p1 -PORTREVISION= 7 +PORTVERSION= 0.9.0 +PORTEPOCH= 1 CATEGORIES= comms -MASTER_SITES= http://lirc.org/software/snapshots/ +MASTER_SITES= SF/${PORTNAME}/LIRC/${PORTVERSION} DISTNAME= ${PORTNAME}-${PORTVERSION:S/p1/-pre1/} MAINTAINER= nox@FreeBSD.org COMMENT= Linux Infrared Remote Control +BUILD_DEPENDS= v4l_compat>=1.0.20101027_2:${PORTSDIR}/multimedia/v4l_compat + USE_AUTOTOOLS= libtool automake autoheader aclocal autoconf ACLOCAL_ARGS= -I "${ACLOCAL_DIR}" -I ${LOCALBASE}/share/aclocal USE_BZIP2= yes @@ -28,7 +30,7 @@ MAKE_JOBS_SAFE= yes CONFIGURE_ARGS= --enable-sandboxed --with-devdir=/var/run/lirc CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" +CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" OPTIONS= MINIMAL "Build with minmal dependencies" Off \ DEBUG "Build debug version" Off Index: distinfo =================================================================== RCS file: /home/pcvs/ports/comms/lirc/distinfo,v retrieving revision 1.6 diff -u -p -r1.6 distinfo --- distinfo 26 Feb 2011 22:11:53 -0000 1.6 +++ distinfo 24 Apr 2011 01:15:28 -0000 @@ -1,2 +1,2 @@ -SHA256 (lirc-0.9.0-pre1.tar.bz2) = 6724514d76077cc087bd4e12d880744442223e7e4ecfd0aa515c1610bc13b5f1 -SIZE (lirc-0.9.0-pre1.tar.bz2) = 837920 +SHA256 (lirc-0.9.0.tar.bz2) = 6323afae6ad498d4369675f77ec3dbb680fe661bea586aa296e67f2e2daba4ff +SIZE (lirc-0.9.0.tar.bz2) = 857286 Index: files/lircd.conf.in =================================================================== RCS file: /home/pcvs/ports/comms/lirc/files/lircd.conf.in,v retrieving revision 1.1 diff -u -p -r1.1 lircd.conf.in --- files/lircd.conf.in 2 Mar 2011 22:58:35 -0000 1.1 +++ files/lircd.conf.in 3 Jun 2011 16:55:56 -0000 @@ -556,3 +556,5 @@ end remote # also support by default remotes coming with MCE USB receivers include "%%EXAMPLESDIR%%/remotes/mceusb/lircd.conf.mceusb" +# ..and the devinput driver that can be used with the updated webcamd port +include "%%EXAMPLESDIR%%/remotes/devinput/lircd.conf.devinput" Index: files/patch-daemons::hw_devinput.c @@ -0,0 +1,52 @@ +--- daemons/hw_devinput.c.orig ++++ daemons/hw_devinput.c +@@ -376,9 +376,15 @@ int devinput_decode(struct ir_remote *re + return 1; + } + ++/* simulate key repeat if receiving the same scancode again */ ++#define RPT_SCAN ++ + char *devinput_rec(struct ir_remote *remotes) + { + struct input_event event; ++#ifdef RPT_SCAN ++ static struct input_event rptevent, scancodeevent; ++#endif + int rd; + ir_code value; + +@@ -399,6 +405,23 @@ char *devinput_rec(struct ir_remote *rem + LOGPRINTF(1, "time %ld.%06ld type %d code %d value %d", event.time.tv_sec, event.time.tv_usec, event.type, + event.code, event.value); + ++#ifdef RPT_SCAN ++ repeat_state = RPT_UNKNOWN; ++ if (event.type == EV_KEY) ++ rptevent = event; ++ else if (event.type == EV_MSC && event.code == MSC_SCAN) { ++ if (scancodeevent.type == EV_MSC && ++ event.value == scancodeevent.value) { ++ if (rptevent.type == EV_KEY && rptevent.value != 0) { ++ event = rptevent; ++ event.value = 2; ++ repeat_state = RPT_YES; ++ } ++ } else if (rptevent.type == EV_KEY && rptevent.value == 0) { ++ scancodeevent = event; ++ } ++ } ++#endif + value = (unsigned)event.value; + #ifdef EV_SW + if (value == 2 && (event.type == EV_KEY || event.type == EV_SW)) { +@@ -418,6 +441,9 @@ char *devinput_rec(struct ir_remote *rem + if (event.value == 2) { + repeat_state = RPT_YES; + } else { ++#ifdef RPT_SCAN ++ if (repeat_state == RPT_UNKNOWN) ++#endif + repeat_state = RPT_NO; + } + } else {