diff -Nur /usr/ports/comms/lirc/Makefile /home/darius/projects/lirc/Makefile
--- /usr/ports/comms/lirc/Makefile	Tue Apr 12 12:54:59 2005
+++ /home/darius/projects/lirc/Makefile	Sun Aug 21 22:01:54 2005
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=	lirc
-PORTVERSION=	0.6.6
-PORTREVISION=	2
+PORTVERSION=	0.7.2
 CATEGORIES=	comms
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	lirc
@@ -24,33 +23,28 @@
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 CONFIGURE_ARGS=		--disable-manage-devices --with-devdir=/var/lirc
 
+OPTIONS=	IRMAN "Build with libirman support" On
+
 .include <bsd.port.pre.mk>
 
 .if defined(WITH_IRMAN)
-CONFIGURE_ARGS+=	--with-driver=irman
 BUILD_DEPENDS=		${LOCALBASE}/lib/libirman.a:${PORTSDIR}/comms/libirman
 .if ${OSVERSION} >= 500041
 # These are already included in the getopt_long case on < 50041
 CPPFLAGS+=		-I${LOCALBASE}/include
 LDFLAGS+=		-L${LOCALBASE}/lib
 CONFIGURE_ENV+=		CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
+CONFIGURE_ARGS+=	--with-driver=irman
 .endif
 .else
 CONFIGURE_ARGS+=	--with-driver=any
 .endif
 
-MAN1=		irexec.1 ircat.1 irpty.1 irrecord.1 irw.1 irxevent.1 \
-		mode2.1 smode2.1 xmode2.1 rc.1
+MAN1=		ircat.1 ircexec.1 irpty.1 irrecord.1 irsend.1 irw.1 \
+		irxevent.1 mode2.1 smode2.1 xmode2.1
 MAN8=		lircd.8 lircmd.8
 
 post-install:
 	@${CAT} ${PKGMESSAGE}
-
-pre-everything::
-.ifndef(WITH_IRMAN)
-	@${ECHO_CMD}
-	@${ECHO_CMD} "To build with libirman support, restart make and define WITH_IRMAN"
-	@${ECHO_CMD}
-.endif
 
 .include <bsd.port.post.mk>
diff -Nur /usr/ports/comms/lirc/distinfo /home/darius/projects/lirc/distinfo
--- /usr/ports/comms/lirc/distinfo	Fri Mar 19 04:29:56 2004
+++ /home/darius/projects/lirc/distinfo	Sun Aug 21 17:00:28 2005
@@ -1,2 +1,2 @@
-MD5 (lirc-0.6.6.tar.gz) = 03e200d518c8d07eff94596dbd573350
-SIZE (lirc-0.6.6.tar.gz) = 516914
+MD5 (lirc-0.7.2.tar.gz) = dbf6e75a744b4cf9125adb5390862a70
+SIZE (lirc-0.7.2.tar.gz) = 662399
diff -Nur /usr/ports/comms/lirc/files/patch-aa /home/darius/projects/lirc/files/patch-aa
--- /usr/ports/comms/lirc/files/patch-aa	Mon Oct  6 11:01:49 2003
+++ /home/darius/projects/lirc/files/patch-aa	Thu Jan  1 09:30:00 1970
@@ -1,61 +0,0 @@
---- drivers/lirc.h.orig	Sat Jan  4 19:45:07 2003
-+++ drivers/lirc.h	Sat Jan  4 19:44:24 2003
-@@ -3,9 +3,6 @@
- #ifndef _LINUX_LIRC_H
- #define _LINUX_LIRC_H
- 
--#include <asm/types.h>
--#include <linux/ioctl.h>
--
- #define PULSE_BIT  0x01000000
- #define PULSE_MASK 0x00FFFFFF
- 
-@@ -64,32 +61,32 @@
-  * IOCTL commands for lirc driver
-  */
- 
--#define LIRC_GET_FEATURES              _IOR('i', 0x00000000, __u32)
-+#define LIRC_GET_FEATURES              _IOR('i', 0x00000000, u_int32_t)
- 
--#define LIRC_GET_SEND_MODE             _IOR('i', 0x00000001, __u32)
--#define LIRC_GET_REC_MODE              _IOR('i', 0x00000002, __u32)
--#define LIRC_GET_SEND_CARRIER          _IOR('i', 0x00000003, __u32)
--#define LIRC_GET_REC_CARRIER           _IOR('i', 0x00000004, __u32)
--#define LIRC_GET_SEND_DUTY_CYCLE       _IOR('i', 0x00000005, __u32)
--#define LIRC_GET_REC_DUTY_CYCLE        _IOR('i', 0x00000006, __u32)
-+#define LIRC_GET_SEND_MODE             _IOR('i', 0x00000001, u_int32_t)
-+#define LIRC_GET_REC_MODE              _IOR('i', 0x00000002, u_int32_t)
-+#define LIRC_GET_SEND_CARRIER          _IOR('i', 0x00000003, u_int32_t)
-+#define LIRC_GET_REC_CARRIER           _IOR('i', 0x00000004, u_int32_t)
-+#define LIRC_GET_SEND_DUTY_CYCLE       _IOR('i', 0x00000005, u_int32_t)
-+#define LIRC_GET_REC_DUTY_CYCLE        _IOR('i', 0x00000006, u_int32_t)
- 
- /* code length in bits, currently only for LIRC_MODE_LIRCCODE */
--#define LIRC_GET_LENGTH                _IOR('i', 0x0000000f, __u32)
-+#define LIRC_GET_LENGTH                _IOR('i', 0x0000000f, u_int32_t)
- 
--#define LIRC_SET_SEND_MODE             _IOW('i', 0x00000011, __u32)
--#define LIRC_SET_REC_MODE              _IOW('i', 0x00000012, __u32)
-+#define LIRC_SET_SEND_MODE             _IOW('i', 0x00000011, u_int32_t)
-+#define LIRC_SET_REC_MODE              _IOW('i', 0x00000012, u_int32_t)
- /* Note: these can reset the according pulse_width */
--#define LIRC_SET_SEND_CARRIER          _IOW('i', 0x00000013, __u32)
--#define LIRC_SET_REC_CARRIER           _IOW('i', 0x00000014, __u32)
--#define LIRC_SET_SEND_DUTY_CYCLE       _IOW('i', 0x00000015, __u32)
--#define LIRC_SET_REC_DUTY_CYCLE        _IOW('i', 0x00000016, __u32)
-+#define LIRC_SET_SEND_CARRIER          _IOW('i', 0x00000013, u_int32_t)
-+#define LIRC_SET_REC_CARRIER           _IOW('i', 0x00000014, u_int32_t)
-+#define LIRC_SET_SEND_DUTY_CYCLE       _IOW('i', 0x00000015, u_int32_t)
-+#define LIRC_SET_REC_DUTY_CYCLE        _IOW('i', 0x00000016, u_int32_t)
- 
- /* to set a range use
-    LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the
-    lower bound first and later
-    LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound */
- 
--#define LIRC_SET_REC_DUTY_CYCLE_RANGE  _IOW('i', 0x0000001e, __u32)
--#define LIRC_SET_REC_CARRIER_RANGE     _IOW('i', 0x0000001f, __u32)
-+#define LIRC_SET_REC_DUTY_CYCLE_RANGE  _IOW('i', 0x0000001e, u_int32_t)
-+#define LIRC_SET_REC_CARRIER_RANGE     _IOW('i', 0x0000001f, u_int32_t)
- 
- #endif
diff -Nur /usr/ports/comms/lirc/files/patch-ac /home/darius/projects/lirc/files/patch-ac
--- /usr/ports/comms/lirc/files/patch-ac	Mon Oct  6 11:01:49 2003
+++ /home/darius/projects/lirc/files/patch-ac	Thu Jan  1 09:30:00 1970
@@ -1,46 +0,0 @@
---- configure.orig	Sun Oct  6 05:22:41 2002
-+++ configure	Sat Jan  4 21:23:16 2003
-@@ -9410,7 +9410,7 @@
- echo "$as_me:9410: result: " >&5
- echo "${ECHO_T}" >&6
- 
--possible_drivers="(none) (udp) (dsp) (remotemaster) (pctv) (logitech) \
-+possible_drivers="(none) (dsp) (remotemaster) (pctv) (logitech) \
- 	(slinke) (silitek) (mediafocusI) (irreal)"
- 
- if test x${no_kernel} != xyes; then
-@@ -9698,11 +9698,11 @@
-   esac
-   done
-   #remove duplicates
--  #hw_module=`echo ${hw_module}| tr ' ' '\n' | sort -u | tr '\n' ' '`
--  hw_module=`echo ${hw_module}| sed \
--  			-e':again' \
--			-e's/\(.*\)\(\<.*\) \(.*\) \2\(.*\)$/\1\2 \3\4/' \
--			-e'tagain'`
-+  hw_module=`echo ${hw_module}| tr ' ' '\n' | sort -u | tr '\n' ' '`
-+  #hw_module=`echo ${hw_module}| sed \
-+  #			-e':again' \
-+  #  		-e's/\(.*\)\(\<.*\) \(.*\) \2\(.*\)$/\1\2 \3\4/' \
-+  #			-e'tagain'`
- fi
- 
- if test "$driver" = "irman"; then
---- daemons/hw-types.c.orig	Sat Jul 27 03:58:40 2002
-+++ daemons/hw-types.c	Sat Jan  4 21:13:11 2003
-@@ -15,7 +15,6 @@
- extern struct hardware hw_silitek;
- extern struct hardware hw_slinke;
- extern struct hardware hw_dsp;
--extern struct hardware hw_udp;
- 
- #ifndef HW_DEFAULT
- # define HW_DEFAULT hw_default
-@@ -54,7 +53,6 @@
- 	&hw_silitek,
- 	&hw_slinke,
- 	&hw_dsp,
--	&hw_udp,
- 	&hw_null,
- #else
- 	&HW_DEFAULT,
diff -Nur /usr/ports/comms/lirc/files/patch-ad /home/darius/projects/lirc/files/patch-ad
--- /usr/ports/comms/lirc/files/patch-ad	Mon Oct  6 11:01:49 2003
+++ /home/darius/projects/lirc/files/patch-ad	Thu Jan  1 09:30:00 1970
@@ -1,11 +0,0 @@
---- tools/irpty.c.orig	Sat Jan  4 22:10:23 2003
-+++ tools/irpty.c	Sat Jan  4 22:11:26 2003
-@@ -36,7 +36,7 @@
- #include <unistd.h>
- 
- #ifdef HAVE_FORKPTY
--#include <pty.h>
-+#include <libutil.h>
- #endif
- 
- #include "lirc_client.h"
diff -Nur /usr/ports/comms/lirc/files/patch-configure /home/darius/projects/lirc/files/patch-configure
--- /usr/ports/comms/lirc/files/patch-configure	Wed Feb 11 12:44:30 2004
+++ /home/darius/projects/lirc/files/patch-configure	Thu Jan  1 09:30:00 1970
@@ -1,19 +0,0 @@
---- configure.orig	Sun Oct  6 18:22:41 2002
-+++ configure	Sun Nov 30 23:26:58 2003
-@@ -1495,8 +1495,6 @@
- 
- 		    		    		    ac_config_headers="$ac_config_headers config.h"
- 
--CFLAGS="-O2 -g -Wall"
--
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-@@ -6753,6 +6751,7 @@
- 
- # This can be used to rebuild libtool when needed
- LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-+$ac_aux_dir/ltconfig $LIBTOOL_DEPS
- 
- # Always use our own libtool.
- LIBTOOL='$(SHELL) $(top_builddir)/libtool'
diff -Nur /usr/ports/comms/lirc/files/patch-daemons::serial.c /home/darius/projects/lirc/files/patch-daemons::serial.c
--- /usr/ports/comms/lirc/files/patch-daemons::serial.c	Thu Jan  1 09:30:00 1970
+++ /home/darius/projects/lirc/files/patch-daemons::serial.c	Sun Aug 21 21:44:31 2005
@@ -0,0 +1,94 @@
+--- daemons/serial.c.orig	Mon Mar  7 20:03:48 2005
++++ daemons/serial.c	Sun Aug 21 21:44:26 2005
+@@ -29,6 +29,10 @@
+ 
+ #include "lircd.h"
+ 
++#define LOCKDIR "/var/spool/lock"
++
++static char *lockpath = NULL;
++
+ int tty_reset(int fd)
+ {
+ 	struct termios options;
+@@ -183,7 +187,7 @@
+ 	int lock;
+ 	int len;
+ 	
+-	strcpy(filename,"/var/lock/LCK..");
++	strcpy(filename,LOCKDIR "/LCK..");
+ 	
+ 	last=strrchr(name,'/');
+ 	if(last!=NULL)
+@@ -373,63 +377,22 @@
+ 			}
+ 		}
+ 	}
++	lockpath = strdup(filename);
+ 	return(1);
+ }
+ 
+ int tty_delete_lock(void)
+ {
+-	DIR *dp;
+-	struct dirent *ep;
+-	int lock;
+-	int len;
+-	char id[20+1],*endptr;
+-	char filename[FILENAME_MAX+1];
+-	long pid;
+-	int retval=1;
+-	
+-	dp=opendir("/var/lock/");
+-	if(dp!=NULL)
+-	{
+-		while((ep=readdir(dp)))
+-		{
+-			strcpy(filename,"/var/lock/");
+-			if(strlen(filename)+strlen(ep->d_name)>FILENAME_MAX) 
+-			{retval=0;continue;}
+-			strcat(filename,ep->d_name);
+-			lock=open(filename,O_RDONLY);
+-			if(lock==-1) {retval=0;continue;}
+-			len=read(lock,id,20);
+-			close(lock);
+-			if(len<=0) {retval=0;continue;}
+-			id[len]=0;
+-			pid=strtol(id,&endptr,10);
+-			if(!*id || *endptr!='\n')
+-			{
+-				logprintf(LOG_WARNING,"invalid lockfile (%s) "
+-					  "detected",filename);
+-				retval=0;
+-				continue;
+-			}
+-			if(pid==getpid())
+-			{
+-				if(unlink(filename)==-1)
+-				{
+-					logprintf(LOG_ERR,"could not delete "
+-						  "file \"%s\"",filename);
+-					logperror(LOG_ERR,NULL);
+-					retval=0;
+-					continue;
+-				}
+-			}
+-		}
+-		closedir(dp);
+-	}
+-	else
++	if(unlink(lockpath)==-1)
+ 	{
+-		logprintf(LOG_ERR,"could not open directory \"/var/lock/\"");
++		logprintf(LOG_ERR,"could not delete "
++					 "file \"%s\"",lockpath);
++		logperror(LOG_ERR,NULL);
++		free(lockpath);
+ 		return(0);
+ 	}
+-	return(retval);
++	free(lockpath);
++	return(1);
+ }
+ 
+ int tty_set(int fd,int rts,int dtr)
diff -Nur /usr/ports/comms/lirc/files/patch-drivers::lirc.h /home/darius/projects/lirc/files/patch-drivers::lirc.h
--- /usr/ports/comms/lirc/files/patch-drivers::lirc.h	Thu Jan  1 09:30:00 1970
+++ /home/darius/projects/lirc/files/patch-drivers::lirc.h	Sun Aug 21 21:45:25 2005
@@ -0,0 +1,10 @@
+--- drivers/lirc.h.orig	Sun Aug 21 21:45:04 2005
++++ drivers/lirc.h	Sun Aug 21 21:45:11 2005
+@@ -8,6 +8,7 @@
+ #include <linux/ioctl.h>
+ #else
+ #include <sys/types.h>
++#include <sys/ioctl.h>
+ typedef u_int32_t __u32;
+ #endif
+ 
diff -Nur /usr/ports/comms/lirc/pkg-plist /home/darius/projects/lirc/pkg-plist
--- /usr/ports/comms/lirc/pkg-plist	Tue Feb 17 11:57:34 2004
+++ /home/darius/projects/lirc/pkg-plist	Sun Aug 21 21:50:48 2005
@@ -2,15 +2,17 @@
 bin/irexec
 bin/irpty
 bin/irrecord
+bin/irsend
 bin/irw
 bin/irxevent
 bin/mode2
-bin/rc
+bin/smode2
 bin/xmode2
-include/lirc/lirc_client.h
-@dirrm include/lirc
+sbin/lircd
+sbin/lircmd
 lib/liblirc_client.a
+lib/liblirc_client.la
 lib/liblirc_client.so
 lib/liblirc_client.so.0
-sbin/lircd
-sbin/lircmd
+include/lirc/lirc_client.h
+@dirrm include/lirc
