aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Linimon <linimon@FreeBSD.org>2007-12-05 00:03:50 +0000
committerMark Linimon <linimon@FreeBSD.org>2007-12-05 00:03:50 +0000
commit91a2135b22e4e398207077b4001c78f515eecf1b (patch)
treea7c945d9142a6bcaddb1451d1c4ad2217e061be0
parent1ed4cd667350b9bc2a890ce80fa5153279368bc5 (diff)
downloadports-91a2135b22e4e398207077b4001c78f515eecf1b.tar.gz
ports-91a2135b22e4e398207077b4001c78f515eecf1b.zip
Attempt to fix build on 7.x with gcc4.2.
PR: ports/118077 Submitted by: "J.R. Oldroyd" <fbsd at opal dot com> Approved by: portmgr (self)
Notes
Notes: svn path=/head/; revision=202904
-rw-r--r--editors/nvi-devel/Makefile11
-rw-r--r--editors/nvi-devel/files/extra-patch-cl-cl.h10
-rw-r--r--editors/nvi-devel/files/extra-patch-cl-cl_funcs.c32
-rw-r--r--editors/nvi-devel/files/extra-patch-cl-cl_screen.c11
-rw-r--r--editors/nvi-devel/files/extra-patch-common-db.c11
-rw-r--r--editors/nvi-devel/files/extra-patch-common-key.c11
-rw-r--r--editors/nvi-devel/files/extra-patch-common-mem.h81
-rw-r--r--editors/nvi-devel/files/extra-patch-vi-v_txt.c11
8 files changed, 176 insertions, 2 deletions
diff --git a/editors/nvi-devel/Makefile b/editors/nvi-devel/Makefile
index 83c78868d596..e64296864148 100644
--- a/editors/nvi-devel/Makefile
+++ b/editors/nvi-devel/Makefile
@@ -7,7 +7,7 @@
PORTNAME= nvi
PORTVERSION= 1.81.5
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= editors
MASTER_SITES= http://193.190.253.81/~skimo/nvi/devel/ \
${MASTER_SITE_LOCAL}
@@ -30,7 +30,14 @@ MAN1= ex.1 vi.1 view.1
.include <bsd.port.pre.mk>
.if ${OSVERSION} >= 700042
-BROKEN= Broken with gcc 4.2
+EXTRA_PATCHES+= \
+ files/extra-patch-cl-cl.h \
+ files/extra-patch-cl-cl_funcs.c \
+ files/extra-patch-cl-cl_screen.c \
+ files/extra-patch-common-db.c \
+ files/extra-patch-common-key.c \
+ files/extra-patch-common-mem.h \
+ files/extra-patch-vi-v_txt.c
.endif
# XXX: nvi doesn't really need sys/select.h, but I don't think the
diff --git a/editors/nvi-devel/files/extra-patch-cl-cl.h b/editors/nvi-devel/files/extra-patch-cl-cl.h
new file mode 100644
index 000000000000..536335171eb8
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-cl-cl.h
@@ -0,0 +1,10 @@
+--- ../cl/cl.h.orig 2001-07-08 09:06:11.000000000 -0400
++++ ../cl/cl.h 2007-11-15 14:19:16.000000000 -0500
+@@ -80,6 +80,7 @@
+ #define CLP(sp) ((CL_PRIVATE *)((sp)->gp->cl_private))
+ #define GCLP(gp) ((CL_PRIVATE *)gp->cl_private)
+ #define CLSP(sp) ((WINDOW *)((sp)->cl_private))
++#define LCLSP(sp) ((sp)->cl_private)
+
+ /* Return possibilities from the keyboard read routine. */
+ typedef enum { INP_OK=0, INP_EOF, INP_ERR, INP_INTR, INP_TIMEOUT } input_t;
diff --git a/editors/nvi-devel/files/extra-patch-cl-cl_funcs.c b/editors/nvi-devel/files/extra-patch-cl-cl_funcs.c
new file mode 100644
index 000000000000..2f1fce02ef1c
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-cl-cl_funcs.c
@@ -0,0 +1,32 @@
+--- ../cl/cl_funcs.c.orig 2001-06-25 11:19:05.000000000 -0400
++++ ../cl/cl_funcs.c 2007-11-15 14:18:45.000000000 -0500
+@@ -381,7 +381,7 @@
+
+ if (CLSP(discardp)) {
+ delwin(CLSP(discardp));
+- CLSP(discardp) = NULL;
++ LCLSP(discardp) = NULL;
+ }
+ }
+
+@@ -395,7 +395,7 @@
+
+ if (CLSP(tsp))
+ delwin(CLSP(tsp));
+- CLSP(tsp) = subwin(stdscr, tsp->rows, tsp->cols,
++ LCLSP(tsp) = subwin(stdscr, tsp->rows, tsp->cols,
+ tsp->roff, tsp->coff);
+ }
+
+@@ -716,9 +716,9 @@
+ if (CLSP(origp))
+ delwin(CLSP(origp));
+
+- CLSP(origp) = subwin(stdscr, origp->rows, origp->cols,
++ LCLSP(origp) = subwin(stdscr, origp->rows, origp->cols,
+ origp->roff, origp->coff);
+- CLSP(newp) = subwin(stdscr, newp->rows, newp->cols,
++ LCLSP(newp) = subwin(stdscr, newp->rows, newp->cols,
+ newp->roff, newp->coff);
+
+ /* origp is the original screen, giving up space to newp. */
diff --git a/editors/nvi-devel/files/extra-patch-cl-cl_screen.c b/editors/nvi-devel/files/extra-patch-cl-cl_screen.c
new file mode 100644
index 000000000000..dc6f3e73cdef
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-cl-cl_screen.c
@@ -0,0 +1,11 @@
+--- ../cl/cl_screen.c.orig 2001-06-25 11:19:06.000000000 -0400
++++ ../cl/cl_screen.c 2007-11-15 14:19:50.000000000 -0500
+@@ -56,7 +56,7 @@
+ if (F_ISSET(gp, G_SRESTART)) {
+ if (CLSP(sp)) {
+ delwin(CLSP(sp));
+- CLSP(sp) = NULL;
++ LCLSP(sp) = NULL;
+ }
+ if (cl_quit(gp))
+ return (1);
diff --git a/editors/nvi-devel/files/extra-patch-common-db.c b/editors/nvi-devel/files/extra-patch-common-db.c
new file mode 100644
index 000000000000..0c038805d7d3
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-common-db.c
@@ -0,0 +1,11 @@
+--- ../common/db.c.orig 2001-08-18 17:52:00.000000000 -0400
++++ ../common/db.c 2007-11-15 13:56:15.000000000 -0500
+@@ -164,7 +164,7 @@
+ nlen = 1024;
+ retry:
+ /* data.size contains length in bytes */
+- BINC_GOTO(sp, (char *)ep->c_lp, ep->c_blen, nlen);
++ BINC_GOTO(sp, ep->c_lp, ep->c_blen, nlen);
+
+ /* Get the line from the underlying database. */
+ memset(&key, 0, sizeof(key));
diff --git a/editors/nvi-devel/files/extra-patch-common-key.c b/editors/nvi-devel/files/extra-patch-common-key.c
new file mode 100644
index 000000000000..70c7a0f75f44
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-common-key.c
@@ -0,0 +1,11 @@
+--- ../common/key.c.orig 2001-06-25 11:19:10.000000000 -0400
++++ ../common/key.c 2007-11-15 13:50:47.000000000 -0500
+@@ -833,7 +833,7 @@
+ wp = sp->wp;
+ new_nelem = wp->i_nelem + add;
+ olen = wp->i_nelem * sizeof(wp->i_event[0]);
+- BINC_RET(sp, (char *)wp->i_event, olen, new_nelem * sizeof(wp->i_event[0]));
++ BINC_RET(sp, wp->i_event, olen, new_nelem * sizeof(wp->i_event[0]));
+ wp->i_nelem = olen / sizeof(wp->i_event[0]);
+ return (0);
+ }
diff --git a/editors/nvi-devel/files/extra-patch-common-mem.h b/editors/nvi-devel/files/extra-patch-common-mem.h
new file mode 100644
index 000000000000..a65e687085ff
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-common-mem.h
@@ -0,0 +1,81 @@
+--- ../common/mem.h.orig 2000-08-20 05:12:59.000000000 -0400
++++ ../common/mem.h 2007-11-15 13:55:35.000000000 -0500
+@@ -13,7 +13,7 @@
+ * returns, one that jumps to an error label.
+ */
+ #define BINC_GOTO(sp, lp, llen, nlen) { \
+- char *L__p = lp; \
++ CHAR_T *L__p = lp; \
+ void *L__bincp; \
+ if ((nlen) > llen) { \
+ if ((L__bincp = binc(sp, lp, &(llen), nlen)) == NULL) \
+@@ -25,12 +25,12 @@
+ lp = L__bincp; \
+ } \
+ }
+-#define BINC_GOTOW(sp, lp, llen, nlen) { \
++#define BINC_GOTOW(sp, lp, llen, nlen) { \
+ CHAR_T *L__bp = lp; \
+- BINC_GOTO(sp, (char *)lp, llen, (nlen) * sizeof(CHAR_T)) \
++ BINC_GOTO(sp, lp, llen, (nlen) * sizeof(CHAR_T)) \
+ }
+ #define BINC_RET(sp, lp, llen, nlen) { \
+- char *L__p = lp; \
++ CHAR_T *L__p = lp; \
+ void *L__bincp; \
+ if ((nlen) > llen) { \
+ if ((L__bincp = binc(sp, lp, &(llen), nlen)) == NULL) \
+@@ -44,7 +44,7 @@
+ }
+ #define BINC_RETW(sp, lp, llen, nlen) { \
+ CHAR_T *L__bp = lp; \
+- BINC_RET(sp, (char *)lp, llen, (nlen) * sizeof(CHAR_T)) \
++ BINC_RET(sp, lp, llen, (nlen) * sizeof(CHAR_T)) \
+ }
+
+ /*
+@@ -67,7 +67,7 @@
+ }
+ #define GET_SPACE_GOTOW(sp, bp, blen, nlen) { \
+ CHAR_T *L__bp = bp; \
+- GET_SPACE_GOTO(sp, (char *)bp, blen, (nlen) * sizeof(CHAR_T)) \
++ GET_SPACE_GOTO(sp, bp, blen, (nlen) * sizeof(CHAR_T)) \
+ }
+ #define GET_SPACE_RET(sp, bp, blen, nlen) { \
+ WIN *L__wp = (sp) == NULL ? NULL : (sp)->wp; \
+@@ -84,7 +84,7 @@
+ }
+ #define GET_SPACE_RETW(sp, bp, blen, nlen) { \
+ CHAR_T *L__bp = bp; \
+- GET_SPACE_RET(sp, (char *)bp, blen, (nlen) * sizeof(CHAR_T)) \
++ GET_SPACE_RET(sp, bp, blen, (nlen) * sizeof(CHAR_T)) \
+ }
+
+ /*
+@@ -104,7 +104,7 @@
+ }
+ #define ADD_SPACE_GOTOW(sp, bp, blen, nlen) { \
+ CHAR_T *L__bp = bp; \
+- ADD_SPACE_GOTO(sp, (char *)bp, blen, (nlen) * sizeof(CHAR_T)) \
++ ADD_SPACE_GOTO(sp, bp, blen, (nlen) * sizeof(CHAR_T)) \
+ }
+ #define ADD_SPACE_RET(sp, bp, blen, nlen) { \
+ WIN *L__wp = (sp) == NULL ? NULL : (sp)->wp; \
+@@ -119,7 +119,7 @@
+ }
+ #define ADD_SPACE_RETW(sp, bp, blen, nlen) { \
+ CHAR_T *L__bp = bp; \
+- ADD_SPACE_RET(sp, (char *)bp, blen, (nlen) * sizeof(CHAR_T)) \
++ ADD_SPACE_RET(sp, bp, blen, (nlen) * sizeof(CHAR_T)) \
+ }
+
+ /* Free a GET_SPACE returned buffer. */
+@@ -132,7 +132,7 @@
+ }
+ #define FREE_SPACEW(sp, bp, blen) { \
+ CHAR_T *L__bp = bp; \
+- FREE_SPACE(sp, (char *)bp, blen); \
++ FREE_SPACE(sp, bp, blen); \
+ }
+
+ /*
diff --git a/editors/nvi-devel/files/extra-patch-vi-v_txt.c b/editors/nvi-devel/files/extra-patch-vi-v_txt.c
new file mode 100644
index 000000000000..c29d394f24ae
--- /dev/null
+++ b/editors/nvi-devel/files/extra-patch-vi-v_txt.c
@@ -0,0 +1,11 @@
+--- ../vi/v_txt.c.orig 2001-07-26 13:15:53.000000000 -0400
++++ ../vi/v_txt.c 2007-11-15 13:57:33.000000000 -0500
+@@ -589,7 +589,7 @@
+
+ /* Check to see if the character fits into the replay buffers. */
+ if (LF_ISSET(TXT_RECORD)) {
+- BINC_GOTO(sp, (char *)vip->rep,
++ BINC_GOTO(sp, vip->rep,
+ vip->rep_len, (rcol + 1) * sizeof(EVENT));
+ vip->rep[rcol++] = *evp;
+ }