aboutsummaryrefslogtreecommitdiff
path: root/lang/bwbasic
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2017-01-19 00:37:17 +0000
committerJason E. Hale <jhale@FreeBSD.org>2017-01-19 00:37:17 +0000
commitf6c38015ec47b6ef8c45335774a50779f5882ae8 (patch)
tree7c2ae00e9b69f681675533850768de3687867899 /lang/bwbasic
parentc28867328249b6c296214c241058d696edb0022d (diff)
downloadports-f6c38015ec47b6ef8c45335774a50779f5882ae8.tar.gz
ports-f6c38015ec47b6ef8c45335774a50779f5882ae8.zip
Update to 3.10
Install additional PORTEXAMPLES added in this release Add WWW to pkg-descr Changes: From the README CHANGES FROM 3.00 to 3.10 * Implements most of the following BASIC dialects: OPTION VERSION DARTMOUTH ' Dartmouth DTSS BASIC OPTION VERSION MARK-I ' GE 265 Mainframe BASIC OPTION VERSION MARK-II ' GE 435 Mainframe BASIC OPTION VERSION SYSTEM-360 ' IBM System/360 BASIC OPTION VERSION SYSTEM-370 ' IBM System/370 BASIC OPTION VERSION CBASIC-II ' CBASIC-II for CP/M OPTION VERSION ECMA-55 ' ANSI Minimal BASIC OPTION VERSION HANDBOOK1 ' The BASIC Handbook, 1st Edition OPTION VERSION HANDBOOK2 ' The BASIC Handbook, 2nd Edition OPTION VERSION TRS-80 ' TRS-80 Model I/III/4 LBASIC OPTION VERSION BASIC-80 ' Microsoft BASIC-80 for Xenix OPTION VERSION ECMA-116 ' ANSI Full BASIC
Notes
Notes: svn path=/head/; revision=431832
Diffstat (limited to 'lang/bwbasic')
-rw-r--r--lang/bwbasic/Makefile15
-rw-r--r--lang/bwbasic/distinfo5
-rw-r--r--lang/bwbasic/files/patch-Makefile.in41
-rw-r--r--lang/bwbasic/files/patch-bwb__cmd.c10
-rw-r--r--lang/bwbasic/files/patch-bwb__var.c20
-rw-r--r--lang/bwbasic/files/patch-renum.c77
-rw-r--r--lang/bwbasic/pkg-descr2
7 files changed, 162 insertions, 8 deletions
diff --git a/lang/bwbasic/Makefile b/lang/bwbasic/Makefile
index a70bbf2ae627..4129543a6e6d 100644
--- a/lang/bwbasic/Makefile
+++ b/lang/bwbasic/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= bwbasic
-PORTVERSION= 3.00
+PORTVERSION= 3.10
CATEGORIES= lang
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/version%20${PORTVERSION}/
@@ -16,18 +16,19 @@ NO_WRKSUBDIR= yes
USES= dos2unix zip
GNU_CONFIGURE= yes
-MAKE_ARGS= CFLAGS="${CFLAGS} -ansi -DHAVE_ISNAN=1"
-ALL_TARGET= ${PORTNAME}
+MAKE_ARGS= CFLAGS="${CFLAGS} -Wall -ansi"
PORTDOCS= *
PORTEXAMPLES= *
-PLIST_FILES= bin/${PORTNAME}
+PORTEXAMPLES1= B15A B15B C77A C77B D71 G65 GAMES HB1 HB1X \
+ HB2 HB2X I70 M80 NBS2 NBS2X T80A T80B T80C
+PLIST_FILES= bin/${PORTNAME} \
+ bin/renum
OPTIONS_DEFINE= DOCS EXAMPLES
post-patch:
@${CHMOD} a+x ${WRKSRC}/${CONFIGURE_SCRIPT}
- @${REINPLACE_CMD} 's|bindir)|DESTDIR)$$(&|' ${WRKSRC}/Makefile.in
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@@ -35,6 +36,8 @@ post-install-DOCS-on:
post-install-EXAMPLES-on:
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- (cd ${WRKSRC}/bwbtest; ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+.for d in ${PORTEXAMPLES1}
+ (cd ${WRKSRC}; ${COPYTREE_SHARE} ${d} ${STAGEDIR}${EXAMPLESDIR})
+.endfor
.include <bsd.port.mk>
diff --git a/lang/bwbasic/distinfo b/lang/bwbasic/distinfo
index 1f6cea66b0e6..ac13a89291c1 100644
--- a/lang/bwbasic/distinfo
+++ b/lang/bwbasic/distinfo
@@ -1,2 +1,3 @@
-SHA256 (bwbasic-3.00.zip) = 41f95d3cd8d7551a15aef89580b2414d0557c63e7b1e7e35b290c2e0c3436b5d
-SIZE (bwbasic-3.00.zip) = 2777709
+TIMESTAMP = 1484703673
+SHA256 (bwbasic-3.10.zip) = f73c1a4de8e5bb7ef66c62b00b1699ec414bc9e36b9ed59bcd3692cb9fbd1be1
+SIZE (bwbasic-3.10.zip) = 3158727
diff --git a/lang/bwbasic/files/patch-Makefile.in b/lang/bwbasic/files/patch-Makefile.in
new file mode 100644
index 000000000000..4a030b9dc906
--- /dev/null
+++ b/lang/bwbasic/files/patch-Makefile.in
@@ -0,0 +1,41 @@
+--- Makefile.in.orig 2017-01-19 00:10:01 UTC
++++ Makefile.in
+@@ -29,13 +29,13 @@ bindir = $(exec_prefix)/bin
+
+ SHELL = /bin/sh
+
+-CFILES= bwbasic.c bwb_cmd.c bwb_cnd.c bwb_dio.c bwb_elx.c\
+- bwb_exp.c bwb_fnc.c bwb_inp.c bwb_int.c bwb_ops.c\
++CFILES= bwbasic.c bwb_cmd.c bwb_cnd.c bwb_dio.c\
++ bwb_exp.c bwb_fnc.c bwb_inp.c bwb_int.c\
+ bwb_prn.c bwb_stc.c bwb_str.c bwb_tbl.c bwb_var.c\
+ bwd_cmd.c bwd_fun.c bwx_tty.c
+
+-OFILES= bwbasic.o bwb_cmd.o bwb_cnd.o bwb_dio.o bwb_elx.o\
+- bwb_exp.o bwb_fnc.o bwb_inp.o bwb_int.o bwb_ops.o\
++OFILES= bwbasic.o bwb_cmd.o bwb_cnd.o bwb_dio.o\
++ bwb_exp.o bwb_fnc.o bwb_inp.o bwb_int.o\
+ bwb_prn.o bwb_stc.o bwb_str.o bwb_tbl.o bwb_var.o\
+ bwd_cmd.o bwd_fun.o bwx_tty.o
+
+@@ -66,8 +66,8 @@ bwbasic: $(OFILES)
+ $(CC) $(OFILES) -lm -o $@ $(LDFLAGS)
+
+ # Added by JBV
+-renum:
+- $(CC) renum.c -o renum
++renum: renum.o
++ $(CC) renum.o -o $@ $(LDFLAGS)
+
+ $(OFILES): $(HFILES)
+
+@@ -75,7 +75,8 @@ $(OFILES): $(HFILES)
+ $(CC) -c $(CPPFLAGS) -I$(srcdir) $(DEFS) $(CFLAGS) $<
+
+ install: all
+- $(INSTALL_PROGRAM) bwbasic $(bindir)/bwbasic
++ $(INSTALL_PROGRAM) bwbasic $(DESTDIR)$(bindir)/bwbasic
++ $(INSTALL_PROGRAM) renum $(DESTDIR)$(bindir)/renum
+
+ uninstall:
+ rm -f $(bindir)/bwbasic
diff --git a/lang/bwbasic/files/patch-bwb__cmd.c b/lang/bwbasic/files/patch-bwb__cmd.c
new file mode 100644
index 000000000000..03f97cd19145
--- /dev/null
+++ b/lang/bwbasic/files/patch-bwb__cmd.c
@@ -0,0 +1,10 @@
+--- bwb_cmd.c.orig 2017-01-19 00:10:00 UTC
++++ bwb_cmd.c
+@@ -38,6 +38,7 @@
+
+
+
++#include <string.h>
+ #include "bwbasic.h"
+
+
diff --git a/lang/bwbasic/files/patch-bwb__var.c b/lang/bwbasic/files/patch-bwb__var.c
new file mode 100644
index 000000000000..26326c604eb6
--- /dev/null
+++ b/lang/bwbasic/files/patch-bwb__var.c
@@ -0,0 +1,20 @@
+--- bwb_var.c.orig 2017-01-19 00:10:00 UTC
++++ bwb_var.c
+@@ -124,7 +124,7 @@ bwb_COMMON(LineType * l)
+ {
+ /* COMMON A(,,) : DIM A( 5, 10, 20 ) */
+ dimensions++;
+- while( line_skip_comma(l) );
++ while( line_skip_comma(l) )
+ {
+ dimensions++;
+ }
+@@ -2640,7 +2640,7 @@ bwb_OPTION_USING(LineType * l)
+ */
+ n = bwb_strlen( tbuf );
+ /* PAD RIGHT with NUL */
+- for( i = n; n < 12; i++ )
++ for( i = n; i < 12; i++ )
+ {
+ tbuf[ i ] = BasicNulChar;
+ }
diff --git a/lang/bwbasic/files/patch-renum.c b/lang/bwbasic/files/patch-renum.c
new file mode 100644
index 000000000000..17979dc66f61
--- /dev/null
+++ b/lang/bwbasic/files/patch-renum.c
@@ -0,0 +1,77 @@
+Fix various warnings. Don't use unsafe gets().
+
+--- renum.c.orig 2017-01-19 00:10:01 UTC
++++ renum.c
+@@ -7,6 +7,7 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#include <stdlib.h>
+
+ int instr();
+ char *midstr1();
+@@ -17,14 +18,14 @@ int f2, l2, n, x;
+ int sidx[1500][2];
+ char rstr[255];
+
+-main(argc, argv)
++int main(argc, argv)
+ int argc;
+ char *argv[];
+ {
+ int f, d, s, p, s1, t, l, g;
+ int c, f1, c1, i, f8, r, l1, l3;
+ int v1, f6, l6, b, f9, x9, b1, p8, p9, a, d9;
+- char pstr[255], sstr[255], f9str[255], s9str[255], tempstr[255];
++ char pstr[255], f9str[255], s9str[255], tempstr[255];
+ FILE *fdin, *fdout;
+ int skip, bp, temp, getout, disp_msg;
+
+@@ -34,7 +35,10 @@ main(argc, argv)
+ else
+ {
+ printf("Program in file? ");
+- gets(pstr);
++ fgets(pstr, 255, stdin);
++ if (pstr[0] != '\n' || pstr[0] != '\0') {
++ pstr[strlen(pstr) - 1] = '\0';
++ }
+ }
+ if (strlen(pstr) == 0) strcpy(pstr, "0.doc");
+
+@@ -124,7 +128,7 @@ main(argc, argv)
+ skip = 0;
+ bp = 0;
+ printf("RENUMBER-");
+- gets(pstr);
++ fgets(pstr, 255, stdin);
+ p = strlen(pstr);
+
+ if (g == 0)
+@@ -268,7 +272,7 @@ main(argc, argv)
+ printf("%d -> %d\n", sidx[r][0], sidx[r][1]); */
+
+ printf("VERIFY? ");
+- gets(pstr);
++ fgets(pstr, 255, stdin);
+ v1 = 0;
+ if (strcmp(midstr2(pstr, 1, 1), "N") == 0) v1 = 1;
+
+@@ -473,7 +477,7 @@ main(argc, argv)
+ fclose(fdin);
+ fclose(fdout);
+ #if !defined(__MVS__) && !defined(__CMS__)
+- sprintf(tempstr, "mv editfl %s\0", f9str);
++ sprintf(tempstr, "mv editfl %s", f9str);
+ system(tempstr);
+ #endif
+ return (0);
+@@ -542,7 +546,7 @@ void binary_search(void)
+
+ if (sidx[m][0] == n)
+ {
+- sprintf(rstr, "%d\0", sidx[m][1]);
++ sprintf(rstr, "%d", sidx[m][1]);
+ x = 0;
+ return;
+ }
diff --git a/lang/bwbasic/pkg-descr b/lang/bwbasic/pkg-descr
index 47fc54abcc1b..3bf9bb4984a8 100644
--- a/lang/bwbasic/pkg-descr
+++ b/lang/bwbasic/pkg-descr
@@ -4,3 +4,5 @@ and a significant subset of the ANSI Standard for Full BASIC
(X3.113-1987) in C. It also offers shell programming facilities
as an extension of BASIC. bwBASIC seeks to be as portable
as possible.
+
+WWW: https://sourceforge.net/projects/bwbasic/