diff options
author | edwin <edwin@FreeBSD.org> | 2003-09-29 14:32:13 +0000 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2003-09-29 14:32:13 +0000 |
commit | e783bf69e5b43f774fe51dc39f7b6a217e8b4311 (patch) | |
tree | 856f35ff10eb5ca95cb3a3e7aa851e8ec0710180 /sysutils/lineakd | |
parent | 45a54bd0bd542bc97ba3c79385425a690eeab2fb (diff) | |
download | FreeBSD-ports-e783bf69e5b43f774fe51dc39f7b6a217e8b4311.zip FreeBSD-ports-e783bf69e5b43f774fe51dc39f7b6a217e8b4311.tar.gz |
new port: sysutils/lineakd
lineak is a utility designed to enable the use and configuration
of those special keys on Internet, Easy Access and Multimedia
keyboards in Linux (and other unices, like now FreeBSD).
I use this port for about 6-8 months and it seems to work
without much problems. I was asked from several people if
I finished the port, so I thought it would be the best to
include it in the official ports tree.
PR: ports/52158
Submitted by: Kay Lehmann <kay_lehmann@web.de>
Diffstat (limited to 'sysutils/lineakd')
-rw-r--r-- | sysutils/lineakd/Makefile | 35 | ||||
-rw-r--r-- | sysutils/lineakd/distinfo | 1 | ||||
-rw-r--r-- | sysutils/lineakd/files/extra-patch-lineakd.c-4 | 68 | ||||
-rw-r--r-- | sysutils/lineakd/files/extra-patch-lineakd.c-5 | 69 | ||||
-rw-r--r-- | sysutils/lineakd/files/patch-aa | 15 | ||||
-rw-r--r-- | sysutils/lineakd/files/patch-cc | 16 | ||||
-rw-r--r-- | sysutils/lineakd/files/patch-dd | 11 | ||||
-rw-r--r-- | sysutils/lineakd/files/patch-ee | 28 | ||||
-rw-r--r-- | sysutils/lineakd/pkg-descr | 8 | ||||
-rw-r--r-- | sysutils/lineakd/pkg-plist | 13 |
10 files changed, 264 insertions, 0 deletions
diff --git a/sysutils/lineakd/Makefile b/sysutils/lineakd/Makefile new file mode 100644 index 0000000..3bb56f9 --- /dev/null +++ b/sysutils/lineakd/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: lineakd +# Date created: 03 June 2002 +# Whom: Kay Lehmann +# +# $FreeBSD$ +# + +PORTNAME= lineakd +PORTVERSION= 0.4.p3 +CATEGORIES= sysutils +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} +MASTER_SITE_SUBDIR=lineak +DISTNAME= ${PORTNAME}-0.4pre3 + +MAINTAINER= kay_lehmann@web.de +COMMENT= Lineakd is a daemon which enables special keys on internet keyboards + +LIB_DEPENDS= intl.5:${PORTSDIR}/devel/gettext + +USE_BISON= yes +USE_GMAKE= yes +USE_XLIB= yes +GNU_CONFIGURE= yes + +CFLAGS+= -I${X11BASE}/include + +.include <bsd.port.pre.mk> + +EXTRA_PATCHES= ${FILESDIR}/extra-patch-lineakd.c-4 + +.if ${OSVERSION} >= 500000 +EXTRA_PATCHES= ${FILESDIR}/extra-patch-lineakd.c-5 +.endif + +.include <bsd.port.post.mk> diff --git a/sysutils/lineakd/distinfo b/sysutils/lineakd/distinfo new file mode 100644 index 0000000..9ca2366 --- /dev/null +++ b/sysutils/lineakd/distinfo @@ -0,0 +1 @@ +MD5 (lineakd-0.4pre3.tar.gz) = 4606ec63a8af63aa9086395f9be42cba diff --git a/sysutils/lineakd/files/extra-patch-lineakd.c-4 b/sysutils/lineakd/files/extra-patch-lineakd.c-4 new file mode 100644 index 0000000..98745f4 --- /dev/null +++ b/sysutils/lineakd/files/extra-patch-lineakd.c-4 @@ -0,0 +1,68 @@ +--- src/lineakd.c.orig Fri Sep 6 02:50:29 2002 ++++ src/lineakd.c Tue May 13 10:53:21 2003 +@@ -57,18 +57,19 @@ + #endif + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <linux/cdrom.h> /* linux specific?!! */ + + extern int mkdir(); /* in linux/fs.h ... other platforms!? */ + + #if defined (__FreeBSD__) + # include <machine/soundcard.h> ++# include <sys/cdio.h> + #else + # if defined (__NetBSD__) || defined (__OpenBSD__) + # include <soundcard.h> /* OSS emulation */ + # undef ioctl + # else + /* BSDI, Linux, Solaris */ ++# include <linux/cdrom.h> /* linux specific?!! */ + # include <sys/soundcard.h> + # endif + #endif +@@ -100,7 +101,7 @@ + signal(SIGABRT, signalexit); + signal(SIGINT, signalexit); + /* and one so we won't have to wait() for child processes ;) */ +- signal(SIGCLD, SIG_IGN); ++ signal(SIGCHLD, SIG_IGN); + /* and for a rehash when we catch SIGHUP */ + signal(SIGHUP,signalHUP); + +@@ -598,12 +599,12 @@ + /* try to open the device .. */ + if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) { + /* tell the drive to diable auto-eject */ +- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 ) +- printf("... oops! error during CD-ROM init\n"); +- close(fp); +- } else { ++ if ( (ioctl(fp, CDIOCPREVENT)) == -1 ) ++ printf("... oops! error during CD-ROM init\n"); ++ close(fp); ++ } else { + printf("... oops! unable to open the CD-ROM device \"%s\" (CD-ROM init)\n",cdromdev); +- } ++ } + } else { + printf("no CD-ROM device configured! (CD-ROM init)\n"); + } +@@ -618,7 +619,7 @@ + if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) { + if (!cdromstatus) { /* assumed closed */ + /* enable the drives software eject */ +- if ( (ioctl(fp, CDROMEJECT_SW, 1)) == -1 ) ++ if ( (ioctl(fp, CDIOCALLOW)) == -1 ) + printf("... oops! error enabling CD-ROM SW eject\n"); + /* eject the cdrom tray */ + if (verbosemode) printf("... ejecting the CD-ROM tray\n"); +@@ -628,7 +629,7 @@ + cdromstatus = !cdromstatus; + } else { /* assumed open */ + /* disable the drives software eject again.. */ +- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 ) ++ if ( (ioctl(fp, CDIOCPREVENT)) == -1 ) + printf("... oops! error disabling CD-ROM SW eject\n"); + /* close the cdrom tray */ + if (verbosemode) printf("... closing the CD-ROM tray\n"); diff --git a/sysutils/lineakd/files/extra-patch-lineakd.c-5 b/sysutils/lineakd/files/extra-patch-lineakd.c-5 new file mode 100644 index 0000000..5112f45 --- /dev/null +++ b/sysutils/lineakd/files/extra-patch-lineakd.c-5 @@ -0,0 +1,69 @@ +--- src/lineakd.c.orig Fri Sep 6 02:50:29 2002 ++++ src/lineakd.c Sat May 24 18:01:00 2003 +@@ -57,18 +57,19 @@ + #endif + #include <fcntl.h> + #include <sys/ioctl.h> +-#include <linux/cdrom.h> /* linux specific?!! */ + + extern int mkdir(); /* in linux/fs.h ... other platforms!? */ + + #if defined (__FreeBSD__) +-# include <machine/soundcard.h> ++# include <sys/soundcard.h> ++# include <sys/cdio.h> + #else + # if defined (__NetBSD__) || defined (__OpenBSD__) + # include <soundcard.h> /* OSS emulation */ + # undef ioctl + # else + /* BSDI, Linux, Solaris */ ++# include <linux/cdrom.h> /* linux specific?!! */ + # include <sys/soundcard.h> + # endif + #endif +@@ -100,7 +101,7 @@ + signal(SIGABRT, signalexit); + signal(SIGINT, signalexit); + /* and one so we won't have to wait() for child processes ;) */ +- signal(SIGCLD, SIG_IGN); ++ signal(SIGCHLD, SIG_IGN); + /* and for a rehash when we catch SIGHUP */ + signal(SIGHUP,signalHUP); + +@@ -598,12 +599,12 @@ + /* try to open the device .. */ + if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) { + /* tell the drive to diable auto-eject */ +- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 ) +- printf("... oops! error during CD-ROM init\n"); +- close(fp); +- } else { ++ if ( (ioctl(fp, CDIOCPREVENT)) == -1 ) ++ printf("... oops! error during CD-ROM init\n"); ++ close(fp); ++ } else { + printf("... oops! unable to open the CD-ROM device \"%s\" (CD-ROM init)\n",cdromdev); +- } ++ } + } else { + printf("no CD-ROM device configured! (CD-ROM init)\n"); + } +@@ -618,7 +619,7 @@ + if ( (fp = open(cdromdev, O_RDONLY | O_NONBLOCK)) != -1 ) { + if (!cdromstatus) { /* assumed closed */ + /* enable the drives software eject */ +- if ( (ioctl(fp, CDROMEJECT_SW, 1)) == -1 ) ++ if ( (ioctl(fp, CDIOCALLOW)) == -1 ) + printf("... oops! error enabling CD-ROM SW eject\n"); + /* eject the cdrom tray */ + if (verbosemode) printf("... ejecting the CD-ROM tray\n"); +@@ -628,7 +629,7 @@ + cdromstatus = !cdromstatus; + } else { /* assumed open */ + /* disable the drives software eject again.. */ +- if ( (ioctl(fp, CDROMEJECT_SW, 0)) == -1 ) ++ if ( (ioctl(fp, CDIOCPREVENT)) == -1 ) + printf("... oops! error disabling CD-ROM SW eject\n"); + /* close the cdrom tray */ + if (verbosemode) printf("... closing the CD-ROM tray\n"); diff --git a/sysutils/lineakd/files/patch-aa b/sysutils/lineakd/files/patch-aa new file mode 100644 index 0000000..ec15210 --- /dev/null +++ b/sysutils/lineakd/files/patch-aa @@ -0,0 +1,15 @@ +--- src/lineakd.h.orig Wed Aug 28 04:43:19 2002 ++++ src/lineakd.h Tue May 13 10:56:23 2003 +@@ -127,6 +127,12 @@ + #define VOLMUTE_VALUE 0 + #define MAX_VOLUME 100 + ++/* we need this for freebsd */ ++#if defined (__FreeBSD__) ++#define CDROMEJECT CDIOCEJECT /*_IO('c', 107)*/ ++#define CDROMCLOSETRAY CDIOCCLOSE ++#endif ++ + /* we might need this .. oss emulation under BSD */ + #if defined (__NetBSD__) || defined (__OpenBSD__) + #define SOUND_IOCTL(a,b,c) _oss_ioctl(a,b,c) diff --git a/sysutils/lineakd/files/patch-cc b/sysutils/lineakd/files/patch-cc new file mode 100644 index 0000000..908309e --- /dev/null +++ b/sysutils/lineakd/files/patch-cc @@ -0,0 +1,16 @@ +--- intl/dcigettext.c.orig Sat Jun 8 21:56:27 2002 ++++ intl/dcigettext.c Tue May 13 10:56:23 2003 +@@ -58,11 +58,11 @@ + #include <stdlib.h> + + #include <string.h> +-#if !HAVE_STRCHR && !defined _LIBC ++/*#if !HAVE_STRCHR && !defined _LIBC + # ifndef strchr + # define strchr index + # endif +-#endif ++#endif*/ + + #if defined HAVE_UNISTD_H || defined _LIBC + # include <unistd.h> diff --git a/sysutils/lineakd/files/patch-dd b/sysutils/lineakd/files/patch-dd new file mode 100644 index 0000000..dc04492 --- /dev/null +++ b/sysutils/lineakd/files/patch-dd @@ -0,0 +1,11 @@ +--- Makefile.in.orig Thu May 15 16:05:33 2003 ++++ Makefile.in Thu May 15 16:06:13 2003 +@@ -112,7 +112,7 @@ + + SUBDIRS = intl po src + +-lineakddocdir = ${prefix}/doc/lineakd ++lineakddocdir = ${prefix}/share/doc/lineakd + lineakddoc_DATA = \ + README\ + COPYING\ diff --git a/sysutils/lineakd/files/patch-ee b/sysutils/lineakd/files/patch-ee new file mode 100644 index 0000000..8e00c6c --- /dev/null +++ b/sysutils/lineakd/files/patch-ee @@ -0,0 +1,28 @@ +--- Makefile.orig Thu May 15 16:09:02 2003 ++++ Makefile Thu May 15 16:10:10 2003 +@@ -83,14 +83,14 @@ + LTLIBINTL = + MKINSTALLDIRS = ./mkinstalldirs + NO_PREFIX_PACKAGE_DATA_DIR = share/lineakd +-NO_PREFIX_PACKAGE_DOC_DIR = doc/lineakd ++NO_PREFIX_PACKAGE_DOC_DIR = share/doc/lineakd + NO_PREFIX_PACKAGE_HELP_DIR = share/lineakd/help + NO_PREFIX_PACKAGE_MENU_DIR = share/lineakd + NO_PREFIX_PACKAGE_PIXMAPS_DIR = share/lineakd/pixmaps + OBJEXT = o + PACKAGE = lineakd + PACKAGE_DATA_DIR = /usr/local/share/lineakd +-PACKAGE_DOC_DIR = /usr/local/doc/lineakd ++PACKAGE_DOC_DIR = /usr/local/share/doc/lineakd + PACKAGE_HELP_DIR = /usr/local/share/lineakd/help + PACKAGE_MENU_DIR = /usr/local/share/lineakd + PACKAGE_PIXMAPS_DIR = /usr/local/share/lineakd/pixmaps +@@ -112,7 +112,7 @@ + + SUBDIRS = intl po src + +-lineakddocdir = ${prefix}/doc/lineakd ++lineakddocdir = ${prefix}/share/doc/lineakd + lineakddoc_DATA = \ + README\ + COPYING\ diff --git a/sysutils/lineakd/pkg-descr b/sysutils/lineakd/pkg-descr new file mode 100644 index 0000000..d82ea58 --- /dev/null +++ b/sysutils/lineakd/pkg-descr @@ -0,0 +1,8 @@ +LinEAK is a utility designed to enable the use and configuration +of those special keys on Internet, Easy Access and Multimedia +keyboards in Linux (and other unices, like now FreeBSD). + +WWW: http://lineak.sourceforge.net + +- Lehmann +kay_lehmann@web.de diff --git a/sysutils/lineakd/pkg-plist b/sysutils/lineakd/pkg-plist new file mode 100644 index 0000000..849234e --- /dev/null +++ b/sysutils/lineakd/pkg-plist @@ -0,0 +1,13 @@ +bin/lineakd +etc/lineakkb.def +lib/charset.alias +share/locale/locale.alias +share/doc/lineakd/README +share/doc/lineakd/COPYING +share/doc/lineakd/AUTHORS +share/doc/lineakd/ChangeLog +share/doc/lineakd/INSTALL +share/doc/lineakd/NEWS +share/doc/lineakd/TODO +share/doc/lineakd/ABOUT-NLS +@dirrm share/doc/lineakd |