summaryrefslogtreecommitdiff
path: root/net/icb
diff options
context:
space:
mode:
authorchristos <christos>1999-09-29 00:41:25 +0000
committerchristos <christos>1999-09-29 00:41:25 +0000
commit05ab5d780e71f8b2bb38a8c05c242c4e098b18a9 (patch)
treeead9bc8b0515cf96935a1d65495a6e36fa936ed5 /net/icb
parent22ba1bf3ed30b3458f0a1fab6e38aa4a8fd36022 (diff)
downloadpkgsrc-05ab5d780e71f8b2bb38a8c05c242c4e098b18a9.tar.gz
make this work under linux:
- 1. we really need to kill the ancient copy of readline and tcl in here. - 2. we don't use termios on 4.4BSD now, we should. - 3. linux does not turn on ISIG, so signals are not handled
Diffstat (limited to 'net/icb')
-rw-r--r--net/icb/patches/patch-aj65
-rw-r--r--net/icb/patches/patch-ak47
-rw-r--r--net/icb/patches/patch-al26
3 files changed, 138 insertions, 0 deletions
diff --git a/net/icb/patches/patch-aj b/net/icb/patches/patch-aj
new file mode 100644
index 00000000000..a4c9f844be4
--- /dev/null
+++ b/net/icb/patches/patch-aj
@@ -0,0 +1,65 @@
+--- readline/readline.c.orig Fri Feb 24 16:20:03 1995
++++ readline/readline.c Tue Sep 28 19:10:59 1999
+@@ -48,7 +48,11 @@
+ # include <unistd.h>
+ #endif
+
++#if !defined(__linux__)
+ #define NEW_TTY_DRIVER
++#else
++#define TERMIOS_TTY_DRIVER
++#endif
+ #define HAVE_BSD_SIGNALS
+ /* #define USE_XON_XOFF */
+
+@@ -80,6 +84,10 @@
+ # if !defined (O_NDELAY)
+ # define O_NDELAY O_NONBLOCK /* Posix-style non-blocking i/o */
+ # endif /* O_NDELAY */
++#else
++# ifdef TERMIOS_TTY_DRIVER
++# include <termios.h>
++# endif /* !TERMIOS_MISSING */
+ #endif /* _POSIX_VERSION */
+
+ /* Other (BSD) machines use sgtty. */
+@@ -133,7 +141,7 @@
+ # endif /* USGr3 */
+ #endif /* USG && hpux */
+
+-#if defined (_POSIX_VERSION) || defined (USGr3)
++#if defined (_POSIX_VERSION) || defined (USGr3) || defined(__linux__)
+ # include <dirent.h>
+ # define direct dirent
+ # if defined (_POSIX_VERSION)
+@@ -280,7 +288,7 @@
+ static FILE *in_stream, *out_stream;
+
+ /* The names of the streams that we do input and output to. */
+-FILE *rl_instream = stdin, *rl_outstream = stdout;
++FILE *rl_instream = NULL, *rl_outstream = NULL;
+
+ /* Non-zero means echo characters as they are read. */
+ int readline_echoing_p = 1;
+@@ -1152,6 +1160,8 @@
+ {
+ /* Find out if we are running in Emacs. */
+ running_in_emacs = getenv ("EMACS");
++ rl_instream = stdin;
++ rl_outstream = stdout;
+
+ /* Allocate data structures. */
+ if (!rl_line_buffer)
+@@ -2505,7 +2515,11 @@
+
+ tio.c_lflag &= ~(ICANON | ECHO);
+
+- if (otio.c_cc[VEOF] != _POSIX_VDISABLE)
++#ifdef ONLCR
++ tio.c_oflag |= OPOST|ONLCR;
++#endif
++
++ if ((unsigned char)otio.c_cc[VEOF] != (unsigned char)_POSIX_VDISABLE)
+ eof_char = otio.c_cc[VEOF];
+
+ #if defined (USE_XON_XOFF)
diff --git a/net/icb/patches/patch-ak b/net/icb/patches/patch-ak
new file mode 100644
index 00000000000..e433c390fff
--- /dev/null
+++ b/net/icb/patches/patch-ak
@@ -0,0 +1,47 @@
+$NetBSD: patch-ak,v 1.1 1999/09/29 00:41:26 christos Exp $
+--- tcl/strerror.c.orig Fri Feb 24 16:19:50 1995
++++ tcl/strerror.c Tue Sep 28 18:36:37 1999
+@@ -20,6 +20,7 @@
+ #include <stdio.h>
+ #include <string.h>
+
++#if !defined(BSD4_4) && !defined(__linux__)
+ /*
+ * List of known errors:
+ */
+@@ -138,3 +139,4 @@
+ (void) sprintf(defaultMsg, "unknown error (%d)", error);
+ return defaultMsg;
+ }
++#endif
+--- tcl/tclGlob.c.orig Tue Sep 28 18:37:08 1999
++++ tcl/tclGlob.c Tue Sep 28 18:39:13 1999
+@@ -28,6 +28,12 @@
+ #include <sys/stat.h>
+ #include <tcl.h>
+
++#ifdef __linux__
++#define DIRNAMLEN(d) strlen((d)->d_name)
++#else
++#define DIRNAMLEN(d) ((d)->d_namlen)
++#endif
++
+ /*
+ * The structure below is used to keep track of a globbing result
+ * being built up (i.e. a partial list of file names). The list
+@@ -298,12 +304,12 @@
+ if (Tcl_StringMatch(entryPtr->d_name, pattern)) {
+ if (*p == 0) {
+ AppendResult(dir, entryPtr->d_name,
+- (int) entryPtr->d_namlen, resPtr);
++ (int) DIRNAMLEN(entryPtr), resPtr);
+ } else {
+- if ((l1+entryPtr->d_namlen+2) <= STATIC_SIZE) {
++ if ((l1+DIRNAMLEN(entryPtr)+2) <= STATIC_SIZE) {
+ newDir = static1;
+ } else {
+- newDir = malloc((unsigned) (l1+entryPtr->d_namlen+2));
++ newDir = malloc((unsigned) (l1+DIRNAMLEN(entryPtr)+2));
+ }
+ sprintf(newDir, "%s%s/", dir, entryPtr->d_name);
+ result = DoGlob(interp, newDir, p+1, resPtr);
diff --git a/net/icb/patches/patch-al b/net/icb/patches/patch-al
new file mode 100644
index 00000000000..7ebb270e8f5
--- /dev/null
+++ b/net/icb/patches/patch-al
@@ -0,0 +1,26 @@
+$NetBSD: patch-al,v 1.1 1999/09/29 00:41:26 christos Exp $
+
+--- murgil/serverserve.c.orig Tue Sep 28 19:20:05 1999
++++ murgil/serverserve.c Tue Sep 28 19:21:56 1999
+@@ -20,6 +20,9 @@
+ int timeisup;
+
+ sighandler gotalarm();
++#ifndef __FDS_BITS
++# define __FDS_BITS(set) ((set)->fds_bits)
++#endif
+
+ serverserve()
+ {
+@@ -81,9 +84,9 @@
+
+ /* examine set of file descriptors */
+ for (b = 0, y = 0; b <= (howmany(highestfd, 32) - 1); b++, y += 32) {
+- if (!fdr.fds_bits[b])
++ if (!__FDS_BITS(&fdr)[b])
+ continue;
+- bits = fdr.fds_bits[b];
++ bits = __FDS_BITS(&fdr)[b];
+ for (x = y; bits; x++, bits >>= 01)
+ if (bits & 01)
+ if (x == port_fd) {