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>
This commit is contained in:
@@ -150,6 +150,7 @@
|
||||
SUBDIR += lfm
|
||||
SUBDIR += libchk
|
||||
SUBDIR += libretto-config
|
||||
SUBDIR += lineakd
|
||||
SUBDIR += linneighborhood
|
||||
SUBDIR += linux-acu
|
||||
SUBDIR += linux-e2fsprogs
|
||||
|
||||
35
sysutils/lineakd/Makefile
Normal file
35
sysutils/lineakd/Makefile
Normal file
@@ -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>
|
||||
1
sysutils/lineakd/distinfo
Normal file
1
sysutils/lineakd/distinfo
Normal file
@@ -0,0 +1 @@
|
||||
MD5 (lineakd-0.4pre3.tar.gz) = 4606ec63a8af63aa9086395f9be42cba
|
||||
68
sysutils/lineakd/files/extra-patch-lineakd.c-4
Normal file
68
sysutils/lineakd/files/extra-patch-lineakd.c-4
Normal file
@@ -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");
|
||||
69
sysutils/lineakd/files/extra-patch-lineakd.c-5
Normal file
69
sysutils/lineakd/files/extra-patch-lineakd.c-5
Normal file
@@ -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");
|
||||
15
sysutils/lineakd/files/patch-aa
Normal file
15
sysutils/lineakd/files/patch-aa
Normal file
@@ -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)
|
||||
16
sysutils/lineakd/files/patch-cc
Normal file
16
sysutils/lineakd/files/patch-cc
Normal file
@@ -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>
|
||||
11
sysutils/lineakd/files/patch-dd
Normal file
11
sysutils/lineakd/files/patch-dd
Normal file
@@ -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\
|
||||
28
sysutils/lineakd/files/patch-ee
Normal file
28
sysutils/lineakd/files/patch-ee
Normal file
@@ -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\
|
||||
8
sysutils/lineakd/pkg-descr
Normal file
8
sysutils/lineakd/pkg-descr
Normal file
@@ -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
|
||||
13
sysutils/lineakd/pkg-plist
Normal file
13
sysutils/lineakd/pkg-plist
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user