aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1998-05-26 07:23:36 +0800
committerobrien <obrien@FreeBSD.org>1998-05-26 07:23:36 +0800
commit49828dd0ac448ea08b20b2f5b2228bf94dd6f522 (patch)
treee6d0df84a1c5cff39be50e40bb059b0b18135a6b
parent213a3b5ea24f1252d976d0d2139275071977f543 (diff)
downloadfreebsd-ports-gnome-49828dd0ac448ea08b20b2f5b2228bf94dd6f522.tar.gz
freebsd-ports-gnome-49828dd0ac448ea08b20b2f5b2228bf94dd6f522.tar.zst
freebsd-ports-gnome-49828dd0ac448ea08b20b2f5b2228bf94dd6f522.zip
Internet CB - a chat client
-rw-r--r--net-im/icb/Makefile36
-rw-r--r--net-im/icb/distinfo1
-rw-r--r--net-im/icb/files/config56
-rw-r--r--net-im/icb/files/patch-ab30
-rw-r--r--net-im/icb/files/patch-ac12
-rw-r--r--net-im/icb/files/patch-n-ac11
-rw-r--r--net-im/icb/files/patch-o-aa19
-rw-r--r--net-im/icb/files/patch-o-ab19
-rw-r--r--net-im/icb/files/patch-o-ac19
-rw-r--r--net-im/icb/files/patch-o-ad36
-rw-r--r--net-im/icb/files/patch-o-ae104
-rw-r--r--net-im/icb/files/patch-o-ah31
-rw-r--r--net-im/icb/files/patch-o-ai67
-rw-r--r--net-im/icb/files/patch-o-aj29
-rw-r--r--net-im/icb/pkg-comment1
-rw-r--r--net-im/icb/pkg-descr8
-rw-r--r--net-im/icb/pkg-plist8
-rw-r--r--net/icb/Makefile36
-rw-r--r--net/icb/distinfo1
-rw-r--r--net/icb/files/config56
-rw-r--r--net/icb/files/patch-ab30
-rw-r--r--net/icb/files/patch-ac12
-rw-r--r--net/icb/files/patch-n-ac11
-rw-r--r--net/icb/files/patch-o-aa19
-rw-r--r--net/icb/files/patch-o-ab19
-rw-r--r--net/icb/files/patch-o-ac19
-rw-r--r--net/icb/files/patch-o-ad36
-rw-r--r--net/icb/files/patch-o-ae104
-rw-r--r--net/icb/files/patch-o-ah31
-rw-r--r--net/icb/files/patch-o-ai67
-rw-r--r--net/icb/files/patch-o-aj29
-rw-r--r--net/icb/pkg-comment1
-rw-r--r--net/icb/pkg-descr8
-rw-r--r--net/icb/pkg-plist8
34 files changed, 974 insertions, 0 deletions
diff --git a/net-im/icb/Makefile b/net-im/icb/Makefile
new file mode 100644
index 000000000000..7075ccdda77e
--- /dev/null
+++ b/net-im/icb/Makefile
@@ -0,0 +1,36 @@
+# ex:ts=8
+# Ports collection makefile for: icb
+# Version required: 5.0.9
+# Date created: Tue Feb 03, 1998
+# Whom: David O'Brien (obrien@NUXI.ucdavis.edu)
+#
+# $Id: Makefile,v 1.2 1997/01/25 18:08:40 obrien Exp $
+#
+
+DISTNAME= icb-5.0.9
+CATEGORIES= net
+MASTER_SITES= ftp://ftp.swcp.com/pub/icb/clients/unix/ \
+ ftp://ftp.swcp.com/pub/icb/clients/ \
+ ftp://ftp.swcp.com/pub/icb/server/ \
+ ftp://ftp.empire.net/pub/icb/clients/ \
+ ftp://ftp.cs.unm.edu/pub/armijo/icb.src/clients/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= obrien@FreeBSD.org
+
+do-configure:
+ @cd ${WRKSRC}; \
+ ${SED} -e s,@PREFIX@,${PREFIX},g ${FILESDIR}/config >${WRKSRC}/config
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/icb/icb ${PREFIX}/bin
+ ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${PREFIX}/share/icb
+ ${INSTALL_DATA} ${WRKSRC}/icbserverdb ${PREFIX}/share/icb
+ ${INSTALL_DATA} ${WRKSRC}/sample.icbrc \
+ ${WRKSRC}/contrib/bartender \
+ ${WRKSRC}/contrib/confuse \
+ ${WRKSRC}/contrib/echofile \
+ ${PREFIX}/share/icb
+
+.include <bsd.port.mk>
diff --git a/net-im/icb/distinfo b/net-im/icb/distinfo
new file mode 100644
index 000000000000..4998993fe5e4
--- /dev/null
+++ b/net-im/icb/distinfo
@@ -0,0 +1 @@
+MD5 (icb-5.0.9.tar.Z) = 19e802b1644d5a27284b70ecdcb07e0f
diff --git a/net-im/icb/files/config b/net-im/icb/files/config
new file mode 100644
index 000000000000..270602a841a0
--- /dev/null
+++ b/net-im/icb/files/config
@@ -0,0 +1,56 @@
+#
+# THIS IS AN AUTOMATICALLY GENERATED FILE
+#
+# If you edit this file and later run "setup", your
+# changes will be lost. This file gets fed to "make",
+# so keep that in mind if you make changes.
+#
+
+# Installing user's home directory
+HOME = /nonexistent
+
+# Directory where the client will be installed.
+BINDIR = @PREFIX@/bin
+
+# Directory where the manual page will be installed.
+MANDIR = @PREFIX@/man
+
+# Compiler to use.
+CC = cc
+
+# Compile options.
+CFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+TCLCFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# Lint flags
+LFLAGS = -u -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# System dependent source file.
+SYSDEP =sysdep.bsd
+
+# Other libraries to include.
+OTHERLIBS =-lcurses -ltermcap
+
+# Resolver library
+RESOLVLIB =
+
+# Parallel makes. Set to & for Sequents.
+PMAKE =
+
+# Makefile dependency generator.
+MAKEDEPEND = makedepend
+
+# Makefile dependency generator.
+DEPENDFLAGS = -fMake -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# Hostname and port of remote server.
+#DEFAULTHOST = crater.unm.edu
+DEFAULTHOST = cvs.openbsd.org
+DEFAULTPORT = 7326
+
+# Directory for support files
+LIBDIR = @PREFIX@/share/icb
+
+# location of server database
+SERVERLIST = @PREFIX@/share/icb/icbserverdb
+
diff --git a/net-im/icb/files/patch-ab b/net-im/icb/files/patch-ab
new file mode 100644
index 000000000000..93413db66b51
--- /dev/null
+++ b/net-im/icb/files/patch-ab
@@ -0,0 +1,30 @@
+--- tcl/Make.orig Fri Feb 24 13:19:48 1995
++++ tcl/Make Mon May 25 14:58:35 1998
+@@ -11,13 +11,6 @@
+
+ SRC = \
+ panic.c \
+- strchr.c \
+- strerror.c \
+- strpbrk.c \
+- strspn.c \
+- strstr.c \
+- strtol.c \
+- strtoul.c \
+ tclAssem.c \
+ tclBasic.c \
+ tclCmdAH.c \
+@@ -30,13 +23,6 @@
+
+ OBJ = \
+ panic.o \
+- strchr.o \
+- strerror.o \
+- strpbrk.o \
+- strspn.o \
+- strstr.o \
+- strtol.o \
+- strtoul.o \
+ tclAssem.o \
+ tclBasic.o \
+ tclCmdAH.o \
diff --git a/net-im/icb/files/patch-ac b/net-im/icb/files/patch-ac
new file mode 100644
index 000000000000..c71c7790cfb1
--- /dev/null
+++ b/net-im/icb/files/patch-ac
@@ -0,0 +1,12 @@
+--- icb/c_log.c.orig Fri Feb 24 13:20:18 1995
++++ icb/c_log.c Mon May 25 15:04:35 1998
+@@ -46,7 +46,9 @@
+ struct tm *t, *localtime();
+ time_t clock;
+ extern int errno, sys_nerr;
++#if !(defined(BSD) && BSD >= 199306)
+ extern char *sys_errlist[];
++#endif
+
+ /* determine pathname to use */
+ if (path == NULL || *path == '\0')
diff --git a/net-im/icb/files/patch-n-ac b/net-im/icb/files/patch-n-ac
new file mode 100644
index 000000000000..925a665408c6
--- /dev/null
+++ b/net-im/icb/files/patch-n-ac
@@ -0,0 +1,11 @@
+--- icb/protos.h-orig Fri Feb 24 22:20:25 1995
++++ icb/protos.h Wed Apr 15 12:07:50 1998
+@@ -64,7 +64,7 @@
+ int inserttab(void);
+ int ishushed(char *nick);
+ int lcaseit(char *s);
+-#ifdef linux
++#if defined(linux) || (defined(BSD) && BSD >= 199306)
+ int linebuffer(FILE *fp);
+ #else
+ int linebuffer(struct _iobuf *fp);
diff --git a/net-im/icb/files/patch-o-aa b/net-im/icb/files/patch-o-aa
new file mode 100644
index 000000000000..25500e293009
--- /dev/null
+++ b/net-im/icb/files/patch-o-aa
@@ -0,0 +1,19 @@
+*** murgil/clientserve.c.orig Wed May 6 18:40:46 1998
+--- murgil/clientserve.c Wed May 6 18:43:34 1998
+***************
+*** 41,47 ****
+ /* look at tty fd */
+ FD_SET(0,&fdset); /**/
+
+! signal(SIGALRM, gotalarm);
+ timeisup = 0;
+
+ for (;;) {
+--- 41,47 ----
+ /* look at tty fd */
+ FD_SET(0,&fdset); /**/
+
+! signal(SIGALRM, (void *)gotalarm);
+ timeisup = 0;
+
+ for (;;) {
diff --git a/net-im/icb/files/patch-o-ab b/net-im/icb/files/patch-o-ab
new file mode 100644
index 000000000000..a5af3884f240
--- /dev/null
+++ b/net-im/icb/files/patch-o-ab
@@ -0,0 +1,19 @@
+*** murgil/getrname.c.orig Wed May 6 18:43:56 1998
+--- murgil/getrname.c Wed May 6 18:45:17 1998
+***************
+*** 14,20 ****
+ {
+ static char rname[24];
+ struct hostent *host;
+! #if defined(linux)
+ #define PEER_CAST (struct sockaddr *)
+ #define HOST_CAST (char *)
+ #else
+--- 14,20 ----
+ {
+ static char rname[24];
+ struct hostent *host;
+! #if defined(linux) || defined(__OpenBSD__)
+ #define PEER_CAST (struct sockaddr *)
+ #define HOST_CAST (char *)
+ #else
diff --git a/net-im/icb/files/patch-o-ac b/net-im/icb/files/patch-o-ac
new file mode 100644
index 000000000000..2e09c1dd645a
--- /dev/null
+++ b/net-im/icb/files/patch-o-ac
@@ -0,0 +1,19 @@
+*** murgil/serverserve.c.orig Wed May 6 18:47:32 1998
+--- murgil/serverserve.c Wed May 6 18:47:48 1998
+***************
+*** 33,39 ****
+ if (port_fd > highestfd)
+ highestfd = port_fd;
+
+! signal(SIGALRM, gotalarm);
+ timeisup = 0;
+
+ for (;;) {
+--- 33,39 ----
+ if (port_fd > highestfd)
+ highestfd = port_fd;
+
+! signal(SIGALRM, (void *)gotalarm);
+ timeisup = 0;
+
+ for (;;) {
diff --git a/net-im/icb/files/patch-o-ad b/net-im/icb/files/patch-o-ad
new file mode 100644
index 000000000000..f50110f139d6
--- /dev/null
+++ b/net-im/icb/files/patch-o-ad
@@ -0,0 +1,36 @@
+*** tcl/tclCmdAH.c.orig Sat Feb 25 03:19:53 1995
+--- tcl/tclCmdAH.c Wed May 6 18:54:07 1998
+***************
+*** 38,45 ****
+--- 38,51 ----
+ #include <sys/wait.h>
+ #include "tclInt.h"
+
++ #if (defined(__unix__) || defined(unix)) && !defined(USG)
++ #include <sys/param.h>
++ #endif
++
+ extern int errno;
++ #if !(defined(BSD) && BSD >= 199306)
+ extern long lseek();
++ #endif
+ extern char *mktemp();
+
+ /*
+***************
+*** 627,633 ****
+ while (1) {
+ int child;
+
+! child = wait(&status);
+ if (child == -1) {
+ sprintf(interp->result,
+ "child process disappeared mysteriously");
+--- 633,639 ----
+ while (1) {
+ int child;
+
+! child = wait((int *)&status);
+ if (child == -1) {
+ sprintf(interp->result,
+ "child process disappeared mysteriously");
diff --git a/net-im/icb/files/patch-o-ae b/net-im/icb/files/patch-o-ae
new file mode 100644
index 000000000000..afb9058781ee
--- /dev/null
+++ b/net-im/icb/files/patch-o-ae
@@ -0,0 +1,104 @@
+*** readline/readline.c.orig Wed May 6 18:49:08 1998
+--- readline/readline.c Wed May 6 18:51:35 1998
+***************
+*** 610,631 ****
+
+ rl_set_signals ()
+ {
+! old_int = (SigHandler *)signal (SIGINT, rl_signal_handler);
+ if (old_int == (SigHandler *)SIG_IGN)
+ signal (SIGINT, SIG_IGN);
+
+! old_alrm = (SigHandler *)signal (SIGALRM, rl_signal_handler);
+ if (old_alrm == (SigHandler *)SIG_IGN)
+ signal (SIGALRM, SIG_IGN);
+
+ #if defined (SIGTSTP)
+! old_tstp = (SigHandler *)signal (SIGTSTP, rl_signal_handler);
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ signal (SIGTSTP, SIG_IGN);
+ #endif
+ #if defined (SIGTTOU)
+! old_ttou = (SigHandler *)signal (SIGTTOU, rl_signal_handler);
+! old_ttin = (SigHandler *)signal (SIGTTIN, rl_signal_handler);
+
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ {
+--- 610,631 ----
+
+ rl_set_signals ()
+ {
+! old_int = (SigHandler *)signal (SIGINT, (void *)rl_signal_handler);
+ if (old_int == (SigHandler *)SIG_IGN)
+ signal (SIGINT, SIG_IGN);
+
+! old_alrm = (SigHandler *)signal (SIGALRM, (void *)rl_signal_handler);
+ if (old_alrm == (SigHandler *)SIG_IGN)
+ signal (SIGALRM, SIG_IGN);
+
+ #if defined (SIGTSTP)
+! old_tstp = (SigHandler *)signal (SIGTSTP, (void *)rl_signal_handler);
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ signal (SIGTSTP, SIG_IGN);
+ #endif
+ #if defined (SIGTTOU)
+! old_ttou = (SigHandler *)signal (SIGTTOU, (void *)rl_signal_handler);
+! old_ttin = (SigHandler *)signal (SIGTTIN, (void *)rl_signal_handler);
+
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ {
+***************
+*** 635,660 ****
+ #endif
+
+ #if defined (SIGWINCH)
+! old_sigwinch = (SigHandler *)signal (SIGWINCH, rl_handle_sigwinch);
+ #endif
+ }
+
+ rl_clear_signals ()
+ {
+! signal (SIGINT, old_int);
+! signal (SIGALRM, old_alrm);
+
+ #if defined (SIGTSTP)
+! signal (SIGTSTP, old_tstp);
+ #endif
+
+ #if defined (SIGTTOU)
+! signal (SIGTTOU, old_ttou);
+! signal (SIGTTIN, old_ttin);
+ #endif
+
+ #if defined (SIGWINCH)
+! signal (SIGWINCH, old_sigwinch);
+ #endif
+ }
+ #endif /* HANDLE_SIGNALS */
+--- 635,660 ----
+ #endif
+
+ #if defined (SIGWINCH)
+! old_sigwinch = (SigHandler *)signal (SIGWINCH, (void *)rl_handle_sigwinch);
+ #endif
+ }
+
+ rl_clear_signals ()
+ {
+! signal (SIGINT, (void *)old_int);
+! signal (SIGALRM, (void *)old_alrm);
+
+ #if defined (SIGTSTP)
+! signal (SIGTSTP, (void *)old_tstp);
+ #endif
+
+ #if defined (SIGTTOU)
+! signal (SIGTTOU, (void *)old_ttou);
+! signal (SIGTTIN, (void *)old_ttin);
+ #endif
+
+ #if defined (SIGWINCH)
+! signal (SIGWINCH, (void *)old_sigwinch);
+ #endif
+ }
+ #endif /* HANDLE_SIGNALS */
diff --git a/net-im/icb/files/patch-o-ah b/net-im/icb/files/patch-o-ah
new file mode 100644
index 000000000000..858a51e24b3c
--- /dev/null
+++ b/net-im/icb/files/patch-o-ah
@@ -0,0 +1,31 @@
+*** icb/c_shell.c.orig Wed May 6 18:54:38 1998
+--- icb/c_shell.c Wed May 6 18:55:02 1998
+***************
+*** 60,72 ****
+ signal(SIGQUIT, SIG_IGN);
+
+ /* wait for the child(ren) to die */
+! while ((w = wait(&status)) != pid && w != -1);
+
+ /* restore the terminal */
+ icbterm();
+
+ /* restore signal processing */
+! signal(SIGINT, askquit);
+ signal(SIGQUIT, SIG_DFL);
+
+ /* clean up a little */
+--- 60,72 ----
+ signal(SIGQUIT, SIG_IGN);
+
+ /* wait for the child(ren) to die */
+! while ((w = wait((int *)&status)) != pid && w != -1);
+
+ /* restore the terminal */
+ icbterm();
+
+ /* restore signal processing */
+! signal(SIGINT, (void *)askquit);
+ signal(SIGQUIT, SIG_DFL);
+
+ /* clean up a little */
diff --git a/net-im/icb/files/patch-o-ai b/net-im/icb/files/patch-o-ai
new file mode 100644
index 000000000000..1ac66091909b
--- /dev/null
+++ b/net-im/icb/files/patch-o-ai
@@ -0,0 +1,67 @@
+*** icb/signals.c.orig Wed May 6 18:55:15 1998
+--- icb/signals.c Wed May 6 18:55:55 1998
+***************
+*** 22,35 ****
+ /* sighandler askquit(), suspend(), icbexit(); */
+
+ /* exit on a hangup or terminate signal */
+! signal(SIGHUP, icbexit);
+! signal(SIGTERM, icbexit);
+
+ /* on an interrupt, verify the user wants to quit */
+! signal(SIGINT, askquit);
+
+ /* suspend on a stop signal */
+! signal(SIGTSTP, suspend);
+ }
+
+
+--- 22,35 ----
+ /* sighandler askquit(), suspend(), icbexit(); */
+
+ /* exit on a hangup or terminate signal */
+! signal(SIGHUP, (void *)icbexit);
+! signal(SIGTERM, (void *)icbexit);
+
+ /* on an interrupt, verify the user wants to quit */
+! signal(SIGINT, (void *)askquit);
+
+ /* suspend on a stop signal */
+! signal(SIGTSTP, (void *)suspend);
+ }
+
+
+***************
+*** 45,51 ****
+ sigsetmask(sigblock(0) &~ mask(SIGTSTP));
+ kill(0, SIGTSTP);
+ sigblock(mask(SIGTSTP));
+! signal(SIGTSTP, suspend);
+ icbterm();
+ continued = 1;
+ }
+--- 45,51 ----
+ sigsetmask(sigblock(0) &~ mask(SIGTSTP));
+ kill(0, SIGTSTP);
+ sigblock(mask(SIGTSTP));
+! signal(SIGTSTP, (void *)suspend);
+ icbterm();
+ continued = 1;
+ }
+***************
+*** 73,79 ****
+ if (c == 'Y' || c == 'y')
+ icbexit();
+
+! signal(SIGINT, askquit);
+ continued = 1;
+
+ if (oem)
+--- 73,79 ----
+ if (c == 'Y' || c == 'y')
+ icbexit();
+
+! signal(SIGINT, (void *)askquit);
+ continued = 1;
+
+ if (oem)
diff --git a/net-im/icb/files/patch-o-aj b/net-im/icb/files/patch-o-aj
new file mode 100644
index 000000000000..760a3b4f0be4
--- /dev/null
+++ b/net-im/icb/files/patch-o-aj
@@ -0,0 +1,29 @@
+*** tcl/tclProc.c.orig Mon May 18 03:13:18 1998
+--- tcl/tclProc.c Mon May 18 03:14:36 1998
+***************
+*** 793,803 ****
+ */
+
+ procDone:
+! for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
+ if (argPtr->flags & VAR_DYNAMIC) {
+ free(argPtr->value);
+ }
+! free((char *) argPtr);
+ }
+ iPtr->framePtr = frame.callerPtr;
+ iPtr->varFramePtr = frame.callerVarPtr;
+--- 793,805 ----
+ */
+
+ procDone:
+! for (argPtr = frame.varPtr; argPtr != NULL;) {
+! void *tmp = argPtr;
+ if (argPtr->flags & VAR_DYNAMIC) {
+ free(argPtr->value);
+ }
+! argPtr = argPtr->nextPtr;
+! free(tmp);
+ }
+ iPtr->framePtr = frame.callerPtr;
+ iPtr->varFramePtr = frame.callerVarPtr;
diff --git a/net-im/icb/pkg-comment b/net-im/icb/pkg-comment
new file mode 100644
index 000000000000..7aa00e3ffea8
--- /dev/null
+++ b/net-im/icb/pkg-comment
@@ -0,0 +1 @@
+Internet CB - a mostly-defunct chat client
diff --git a/net-im/icb/pkg-descr b/net-im/icb/pkg-descr
new file mode 100644
index 000000000000..517ea5464ea6
--- /dev/null
+++ b/net-im/icb/pkg-descr
@@ -0,0 +1,8 @@
+This is a chat client similar to irc, but for the icb protocol.
+It is a much lighter weight client than IRC in terms of gaudyness, childish
+features, and bots.
+
+All-in-all, what it would be nice for IRC to be.
+
+-- David
+ (obrien@NUXI.com)
diff --git a/net-im/icb/pkg-plist b/net-im/icb/pkg-plist
new file mode 100644
index 000000000000..f6b8dd4c2ea4
--- /dev/null
+++ b/net-im/icb/pkg-plist
@@ -0,0 +1,8 @@
+@comment $Id$
+bin/icb
+share/icb/icbserverdb
+share/icb/sample.icbrc
+share/icb/bartender
+share/icb/confuse
+share/icb/echofile
+@dirrm share/icb
diff --git a/net/icb/Makefile b/net/icb/Makefile
new file mode 100644
index 000000000000..7075ccdda77e
--- /dev/null
+++ b/net/icb/Makefile
@@ -0,0 +1,36 @@
+# ex:ts=8
+# Ports collection makefile for: icb
+# Version required: 5.0.9
+# Date created: Tue Feb 03, 1998
+# Whom: David O'Brien (obrien@NUXI.ucdavis.edu)
+#
+# $Id: Makefile,v 1.2 1997/01/25 18:08:40 obrien Exp $
+#
+
+DISTNAME= icb-5.0.9
+CATEGORIES= net
+MASTER_SITES= ftp://ftp.swcp.com/pub/icb/clients/unix/ \
+ ftp://ftp.swcp.com/pub/icb/clients/ \
+ ftp://ftp.swcp.com/pub/icb/server/ \
+ ftp://ftp.empire.net/pub/icb/clients/ \
+ ftp://ftp.cs.unm.edu/pub/armijo/icb.src/clients/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= obrien@FreeBSD.org
+
+do-configure:
+ @cd ${WRKSRC}; \
+ ${SED} -e s,@PREFIX@,${PREFIX},g ${FILESDIR}/config >${WRKSRC}/config
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/icb/icb ${PREFIX}/bin
+ ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${PREFIX}/share/icb
+ ${INSTALL_DATA} ${WRKSRC}/icbserverdb ${PREFIX}/share/icb
+ ${INSTALL_DATA} ${WRKSRC}/sample.icbrc \
+ ${WRKSRC}/contrib/bartender \
+ ${WRKSRC}/contrib/confuse \
+ ${WRKSRC}/contrib/echofile \
+ ${PREFIX}/share/icb
+
+.include <bsd.port.mk>
diff --git a/net/icb/distinfo b/net/icb/distinfo
new file mode 100644
index 000000000000..4998993fe5e4
--- /dev/null
+++ b/net/icb/distinfo
@@ -0,0 +1 @@
+MD5 (icb-5.0.9.tar.Z) = 19e802b1644d5a27284b70ecdcb07e0f
diff --git a/net/icb/files/config b/net/icb/files/config
new file mode 100644
index 000000000000..270602a841a0
--- /dev/null
+++ b/net/icb/files/config
@@ -0,0 +1,56 @@
+#
+# THIS IS AN AUTOMATICALLY GENERATED FILE
+#
+# If you edit this file and later run "setup", your
+# changes will be lost. This file gets fed to "make",
+# so keep that in mind if you make changes.
+#
+
+# Installing user's home directory
+HOME = /nonexistent
+
+# Directory where the client will be installed.
+BINDIR = @PREFIX@/bin
+
+# Directory where the manual page will be installed.
+MANDIR = @PREFIX@/man
+
+# Compiler to use.
+CC = cc
+
+# Compile options.
+CFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+TCLCFLAGS = -O2 -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# Lint flags
+LFLAGS = -u -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# System dependent source file.
+SYSDEP =sysdep.bsd
+
+# Other libraries to include.
+OTHERLIBS =-lcurses -ltermcap
+
+# Resolver library
+RESOLVLIB =
+
+# Parallel makes. Set to & for Sequents.
+PMAKE =
+
+# Makefile dependency generator.
+MAKEDEPEND = makedepend
+
+# Makefile dependency generator.
+DEPENDFLAGS = -fMake -DNO_LRAND48 -DSTRINGS_H -DTIME_H
+
+# Hostname and port of remote server.
+#DEFAULTHOST = crater.unm.edu
+DEFAULTHOST = cvs.openbsd.org
+DEFAULTPORT = 7326
+
+# Directory for support files
+LIBDIR = @PREFIX@/share/icb
+
+# location of server database
+SERVERLIST = @PREFIX@/share/icb/icbserverdb
+
diff --git a/net/icb/files/patch-ab b/net/icb/files/patch-ab
new file mode 100644
index 000000000000..93413db66b51
--- /dev/null
+++ b/net/icb/files/patch-ab
@@ -0,0 +1,30 @@
+--- tcl/Make.orig Fri Feb 24 13:19:48 1995
++++ tcl/Make Mon May 25 14:58:35 1998
+@@ -11,13 +11,6 @@
+
+ SRC = \
+ panic.c \
+- strchr.c \
+- strerror.c \
+- strpbrk.c \
+- strspn.c \
+- strstr.c \
+- strtol.c \
+- strtoul.c \
+ tclAssem.c \
+ tclBasic.c \
+ tclCmdAH.c \
+@@ -30,13 +23,6 @@
+
+ OBJ = \
+ panic.o \
+- strchr.o \
+- strerror.o \
+- strpbrk.o \
+- strspn.o \
+- strstr.o \
+- strtol.o \
+- strtoul.o \
+ tclAssem.o \
+ tclBasic.o \
+ tclCmdAH.o \
diff --git a/net/icb/files/patch-ac b/net/icb/files/patch-ac
new file mode 100644
index 000000000000..c71c7790cfb1
--- /dev/null
+++ b/net/icb/files/patch-ac
@@ -0,0 +1,12 @@
+--- icb/c_log.c.orig Fri Feb 24 13:20:18 1995
++++ icb/c_log.c Mon May 25 15:04:35 1998
+@@ -46,7 +46,9 @@
+ struct tm *t, *localtime();
+ time_t clock;
+ extern int errno, sys_nerr;
++#if !(defined(BSD) && BSD >= 199306)
+ extern char *sys_errlist[];
++#endif
+
+ /* determine pathname to use */
+ if (path == NULL || *path == '\0')
diff --git a/net/icb/files/patch-n-ac b/net/icb/files/patch-n-ac
new file mode 100644
index 000000000000..925a665408c6
--- /dev/null
+++ b/net/icb/files/patch-n-ac
@@ -0,0 +1,11 @@
+--- icb/protos.h-orig Fri Feb 24 22:20:25 1995
++++ icb/protos.h Wed Apr 15 12:07:50 1998
+@@ -64,7 +64,7 @@
+ int inserttab(void);
+ int ishushed(char *nick);
+ int lcaseit(char *s);
+-#ifdef linux
++#if defined(linux) || (defined(BSD) && BSD >= 199306)
+ int linebuffer(FILE *fp);
+ #else
+ int linebuffer(struct _iobuf *fp);
diff --git a/net/icb/files/patch-o-aa b/net/icb/files/patch-o-aa
new file mode 100644
index 000000000000..25500e293009
--- /dev/null
+++ b/net/icb/files/patch-o-aa
@@ -0,0 +1,19 @@
+*** murgil/clientserve.c.orig Wed May 6 18:40:46 1998
+--- murgil/clientserve.c Wed May 6 18:43:34 1998
+***************
+*** 41,47 ****
+ /* look at tty fd */
+ FD_SET(0,&fdset); /**/
+
+! signal(SIGALRM, gotalarm);
+ timeisup = 0;
+
+ for (;;) {
+--- 41,47 ----
+ /* look at tty fd */
+ FD_SET(0,&fdset); /**/
+
+! signal(SIGALRM, (void *)gotalarm);
+ timeisup = 0;
+
+ for (;;) {
diff --git a/net/icb/files/patch-o-ab b/net/icb/files/patch-o-ab
new file mode 100644
index 000000000000..a5af3884f240
--- /dev/null
+++ b/net/icb/files/patch-o-ab
@@ -0,0 +1,19 @@
+*** murgil/getrname.c.orig Wed May 6 18:43:56 1998
+--- murgil/getrname.c Wed May 6 18:45:17 1998
+***************
+*** 14,20 ****
+ {
+ static char rname[24];
+ struct hostent *host;
+! #if defined(linux)
+ #define PEER_CAST (struct sockaddr *)
+ #define HOST_CAST (char *)
+ #else
+--- 14,20 ----
+ {
+ static char rname[24];
+ struct hostent *host;
+! #if defined(linux) || defined(__OpenBSD__)
+ #define PEER_CAST (struct sockaddr *)
+ #define HOST_CAST (char *)
+ #else
diff --git a/net/icb/files/patch-o-ac b/net/icb/files/patch-o-ac
new file mode 100644
index 000000000000..2e09c1dd645a
--- /dev/null
+++ b/net/icb/files/patch-o-ac
@@ -0,0 +1,19 @@
+*** murgil/serverserve.c.orig Wed May 6 18:47:32 1998
+--- murgil/serverserve.c Wed May 6 18:47:48 1998
+***************
+*** 33,39 ****
+ if (port_fd > highestfd)
+ highestfd = port_fd;
+
+! signal(SIGALRM, gotalarm);
+ timeisup = 0;
+
+ for (;;) {
+--- 33,39 ----
+ if (port_fd > highestfd)
+ highestfd = port_fd;
+
+! signal(SIGALRM, (void *)gotalarm);
+ timeisup = 0;
+
+ for (;;) {
diff --git a/net/icb/files/patch-o-ad b/net/icb/files/patch-o-ad
new file mode 100644
index 000000000000..f50110f139d6
--- /dev/null
+++ b/net/icb/files/patch-o-ad
@@ -0,0 +1,36 @@
+*** tcl/tclCmdAH.c.orig Sat Feb 25 03:19:53 1995
+--- tcl/tclCmdAH.c Wed May 6 18:54:07 1998
+***************
+*** 38,45 ****
+--- 38,51 ----
+ #include <sys/wait.h>
+ #include "tclInt.h"
+
++ #if (defined(__unix__) || defined(unix)) && !defined(USG)
++ #include <sys/param.h>
++ #endif
++
+ extern int errno;
++ #if !(defined(BSD) && BSD >= 199306)
+ extern long lseek();
++ #endif
+ extern char *mktemp();
+
+ /*
+***************
+*** 627,633 ****
+ while (1) {
+ int child;
+
+! child = wait(&status);
+ if (child == -1) {
+ sprintf(interp->result,
+ "child process disappeared mysteriously");
+--- 633,639 ----
+ while (1) {
+ int child;
+
+! child = wait((int *)&status);
+ if (child == -1) {
+ sprintf(interp->result,
+ "child process disappeared mysteriously");
diff --git a/net/icb/files/patch-o-ae b/net/icb/files/patch-o-ae
new file mode 100644
index 000000000000..afb9058781ee
--- /dev/null
+++ b/net/icb/files/patch-o-ae
@@ -0,0 +1,104 @@
+*** readline/readline.c.orig Wed May 6 18:49:08 1998
+--- readline/readline.c Wed May 6 18:51:35 1998
+***************
+*** 610,631 ****
+
+ rl_set_signals ()
+ {
+! old_int = (SigHandler *)signal (SIGINT, rl_signal_handler);
+ if (old_int == (SigHandler *)SIG_IGN)
+ signal (SIGINT, SIG_IGN);
+
+! old_alrm = (SigHandler *)signal (SIGALRM, rl_signal_handler);
+ if (old_alrm == (SigHandler *)SIG_IGN)
+ signal (SIGALRM, SIG_IGN);
+
+ #if defined (SIGTSTP)
+! old_tstp = (SigHandler *)signal (SIGTSTP, rl_signal_handler);
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ signal (SIGTSTP, SIG_IGN);
+ #endif
+ #if defined (SIGTTOU)
+! old_ttou = (SigHandler *)signal (SIGTTOU, rl_signal_handler);
+! old_ttin = (SigHandler *)signal (SIGTTIN, rl_signal_handler);
+
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ {
+--- 610,631 ----
+
+ rl_set_signals ()
+ {
+! old_int = (SigHandler *)signal (SIGINT, (void *)rl_signal_handler);
+ if (old_int == (SigHandler *)SIG_IGN)
+ signal (SIGINT, SIG_IGN);
+
+! old_alrm = (SigHandler *)signal (SIGALRM, (void *)rl_signal_handler);
+ if (old_alrm == (SigHandler *)SIG_IGN)
+ signal (SIGALRM, SIG_IGN);
+
+ #if defined (SIGTSTP)
+! old_tstp = (SigHandler *)signal (SIGTSTP, (void *)rl_signal_handler);
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ signal (SIGTSTP, SIG_IGN);
+ #endif
+ #if defined (SIGTTOU)
+! old_ttou = (SigHandler *)signal (SIGTTOU, (void *)rl_signal_handler);
+! old_ttin = (SigHandler *)signal (SIGTTIN, (void *)rl_signal_handler);
+
+ if (old_tstp == (SigHandler *)SIG_IGN)
+ {
+***************
+*** 635,660 ****
+ #endif
+
+ #if defined (SIGWINCH)
+! old_sigwinch = (SigHandler *)signal (SIGWINCH, rl_handle_sigwinch);
+ #endif
+ }
+
+ rl_clear_signals ()
+ {
+! signal (SIGINT, old_int);
+! signal (SIGALRM, old_alrm);
+
+ #if defined (SIGTSTP)
+! signal (SIGTSTP, old_tstp);
+ #endif
+
+ #if defined (SIGTTOU)
+! signal (SIGTTOU, old_ttou);
+! signal (SIGTTIN, old_ttin);
+ #endif
+
+ #if defined (SIGWINCH)
+! signal (SIGWINCH, old_sigwinch);
+ #endif
+ }
+ #endif /* HANDLE_SIGNALS */
+--- 635,660 ----
+ #endif
+
+ #if defined (SIGWINCH)
+! old_sigwinch = (SigHandler *)signal (SIGWINCH, (void *)rl_handle_sigwinch);
+ #endif
+ }
+
+ rl_clear_signals ()
+ {
+! signal (SIGINT, (void *)old_int);
+! signal (SIGALRM, (void *)old_alrm);
+
+ #if defined (SIGTSTP)
+! signal (SIGTSTP, (void *)old_tstp);
+ #endif
+
+ #if defined (SIGTTOU)
+! signal (SIGTTOU, (void *)old_ttou);
+! signal (SIGTTIN, (void *)old_ttin);
+ #endif
+
+ #if defined (SIGWINCH)
+! signal (SIGWINCH, (void *)old_sigwinch);
+ #endif
+ }
+ #endif /* HANDLE_SIGNALS */
diff --git a/net/icb/files/patch-o-ah b/net/icb/files/patch-o-ah
new file mode 100644
index 000000000000..858a51e24b3c
--- /dev/null
+++ b/net/icb/files/patch-o-ah
@@ -0,0 +1,31 @@
+*** icb/c_shell.c.orig Wed May 6 18:54:38 1998
+--- icb/c_shell.c Wed May 6 18:55:02 1998
+***************
+*** 60,72 ****
+ signal(SIGQUIT, SIG_IGN);
+
+ /* wait for the child(ren) to die */
+! while ((w = wait(&status)) != pid && w != -1);
+
+ /* restore the terminal */
+ icbterm();
+
+ /* restore signal processing */
+! signal(SIGINT, askquit);
+ signal(SIGQUIT, SIG_DFL);
+
+ /* clean up a little */
+--- 60,72 ----
+ signal(SIGQUIT, SIG_IGN);
+
+ /* wait for the child(ren) to die */
+! while ((w = wait((int *)&status)) != pid && w != -1);
+
+ /* restore the terminal */
+ icbterm();
+
+ /* restore signal processing */
+! signal(SIGINT, (void *)askquit);
+ signal(SIGQUIT, SIG_DFL);
+
+ /* clean up a little */
diff --git a/net/icb/files/patch-o-ai b/net/icb/files/patch-o-ai
new file mode 100644
index 000000000000..1ac66091909b
--- /dev/null
+++ b/net/icb/files/patch-o-ai
@@ -0,0 +1,67 @@
+*** icb/signals.c.orig Wed May 6 18:55:15 1998
+--- icb/signals.c Wed May 6 18:55:55 1998
+***************
+*** 22,35 ****
+ /* sighandler askquit(), suspend(), icbexit(); */
+
+ /* exit on a hangup or terminate signal */
+! signal(SIGHUP, icbexit);
+! signal(SIGTERM, icbexit);
+
+ /* on an interrupt, verify the user wants to quit */
+! signal(SIGINT, askquit);
+
+ /* suspend on a stop signal */
+! signal(SIGTSTP, suspend);
+ }
+
+
+--- 22,35 ----
+ /* sighandler askquit(), suspend(), icbexit(); */
+
+ /* exit on a hangup or terminate signal */
+! signal(SIGHUP, (void *)icbexit);
+! signal(SIGTERM, (void *)icbexit);
+
+ /* on an interrupt, verify the user wants to quit */
+! signal(SIGINT, (void *)askquit);
+
+ /* suspend on a stop signal */
+! signal(SIGTSTP, (void *)suspend);
+ }
+
+
+***************
+*** 45,51 ****
+ sigsetmask(sigblock(0) &~ mask(SIGTSTP));
+ kill(0, SIGTSTP);
+ sigblock(mask(SIGTSTP));
+! signal(SIGTSTP, suspend);
+ icbterm();
+ continued = 1;
+ }
+--- 45,51 ----
+ sigsetmask(sigblock(0) &~ mask(SIGTSTP));
+ kill(0, SIGTSTP);
+ sigblock(mask(SIGTSTP));
+! signal(SIGTSTP, (void *)suspend);
+ icbterm();
+ continued = 1;
+ }
+***************
+*** 73,79 ****
+ if (c == 'Y' || c == 'y')
+ icbexit();
+
+! signal(SIGINT, askquit);
+ continued = 1;
+
+ if (oem)
+--- 73,79 ----
+ if (c == 'Y' || c == 'y')
+ icbexit();
+
+! signal(SIGINT, (void *)askquit);
+ continued = 1;
+
+ if (oem)
diff --git a/net/icb/files/patch-o-aj b/net/icb/files/patch-o-aj
new file mode 100644
index 000000000000..760a3b4f0be4
--- /dev/null
+++ b/net/icb/files/patch-o-aj
@@ -0,0 +1,29 @@
+*** tcl/tclProc.c.orig Mon May 18 03:13:18 1998
+--- tcl/tclProc.c Mon May 18 03:14:36 1998
+***************
+*** 793,803 ****
+ */
+
+ procDone:
+! for (argPtr = frame.varPtr; argPtr != NULL; argPtr = argPtr->nextPtr) {
+ if (argPtr->flags & VAR_DYNAMIC) {
+ free(argPtr->value);
+ }
+! free((char *) argPtr);
+ }
+ iPtr->framePtr = frame.callerPtr;
+ iPtr->varFramePtr = frame.callerVarPtr;
+--- 793,805 ----
+ */
+
+ procDone:
+! for (argPtr = frame.varPtr; argPtr != NULL;) {
+! void *tmp = argPtr;
+ if (argPtr->flags & VAR_DYNAMIC) {
+ free(argPtr->value);
+ }
+! argPtr = argPtr->nextPtr;
+! free(tmp);
+ }
+ iPtr->framePtr = frame.callerPtr;
+ iPtr->varFramePtr = frame.callerVarPtr;
diff --git a/net/icb/pkg-comment b/net/icb/pkg-comment
new file mode 100644
index 000000000000..7aa00e3ffea8
--- /dev/null
+++ b/net/icb/pkg-comment
@@ -0,0 +1 @@
+Internet CB - a mostly-defunct chat client
diff --git a/net/icb/pkg-descr b/net/icb/pkg-descr
new file mode 100644
index 000000000000..517ea5464ea6
--- /dev/null
+++ b/net/icb/pkg-descr
@@ -0,0 +1,8 @@
+This is a chat client similar to irc, but for the icb protocol.
+It is a much lighter weight client than IRC in terms of gaudyness, childish
+features, and bots.
+
+All-in-all, what it would be nice for IRC to be.
+
+-- David
+ (obrien@NUXI.com)
diff --git a/net/icb/pkg-plist b/net/icb/pkg-plist
new file mode 100644
index 000000000000..f6b8dd4c2ea4
--- /dev/null
+++ b/net/icb/pkg-plist
@@ -0,0 +1,8 @@
+@comment $Id$
+bin/icb
+share/icb/icbserverdb
+share/icb/sample.icbrc
+share/icb/bartender
+share/icb/confuse
+share/icb/echofile
+@dirrm share/icb