summaryrefslogtreecommitdiffstats
path: root/sysutils/lineakd
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2003-09-29 14:32:13 +0000
committeredwin <edwin@FreeBSD.org>2003-09-29 14:32:13 +0000
commite783bf69e5b43f774fe51dc39f7b6a217e8b4311 (patch)
tree856f35ff10eb5ca95cb3a3e7aa851e8ec0710180 /sysutils/lineakd
parent45a54bd0bd542bc97ba3c79385425a690eeab2fb (diff)
downloadFreeBSD-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/Makefile35
-rw-r--r--sysutils/lineakd/distinfo1
-rw-r--r--sysutils/lineakd/files/extra-patch-lineakd.c-468
-rw-r--r--sysutils/lineakd/files/extra-patch-lineakd.c-569
-rw-r--r--sysutils/lineakd/files/patch-aa15
-rw-r--r--sysutils/lineakd/files/patch-cc16
-rw-r--r--sysutils/lineakd/files/patch-dd11
-rw-r--r--sysutils/lineakd/files/patch-ee28
-rw-r--r--sysutils/lineakd/pkg-descr8
-rw-r--r--sysutils/lineakd/pkg-plist13
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
OpenPOWER on IntegriCloud