summaryrefslogtreecommitdiff
path: root/lang/snobol
diff options
context:
space:
mode:
authordholland <dholland>2008-07-14 04:21:39 +0000
committerdholland <dholland>2008-07-14 04:21:39 +0000
commitd8ef4ce78b8db35158e8d30028ddd7db5f0f11f4 (patch)
treeef6160f5d1ec9ab95661b0c73d769c29fb65eae9 /lang/snobol
parent1e21964c73138c40a6e050c2da067818ba8fe5c2 (diff)
downloadpkgsrc-d8ef4ce78b8db35158e8d30028ddd7db5f0f11f4.tar.gz
Update lang/snobol to 1.1.
Note that the tcl bindings are not (yet) built. Next time... pkgsrc changes not trivial but should be invisible. Changelog: Changes since 1.0 release; ========================= Added new (experimental) builtin function groups: "DBM" -- "ndbm" keyed database access "COM" -- COM/OLE Automation on Win32 "STCL" -- SNOBOL/Tcl interface (optional) New library "dynamic.sno" to help compile/link dynamicly loadable extensions. Added HTTP.POST function to http.sno Handle environments where pointers can have high order bit set Linux 2.6 kernels in Fedora Core, SuSE 10 distributions Avoid broken "install" utilities autoconf compatibility: Honor CC, CFLAGS, CPPFLAGS, LDFLAGS, DESTDIR environment variables. Fix compilation on pre-panther OSX Fix second argument to DEFINE(): was not case folded! Fix backtracking over unevaluated expressions Source &FILE and &LINE shown in TRACE output Experimental: GC stats & tracing (-g on command line, &GTRACE keyword) Completed support for "memory I/O" when CSNOBOL4 used as a library! Added "PREDICATE" and "SYSPRED" return types in wrapper.sno Changes since 0.99.44 release; ============================= Added snolib(3) man page for SNOBOL4 library routines Treat all bytes with 8th bit set as ALPHA on ASCII systems allows UTF-8 encoded characters, and national character sets to used in labels and identifiers! command line: -S option to enlarge interpreter stack configure: added --mandir & --bindir IPv6 Support (both client and server) bi-directional "pipe" I/O on systems with sockets "privileged" port binding for UDP Lots of cleanup! DJGPP (DOS gcc) fixes default to -O3 with gcc add C prototypes for all functions (function declarations still "K&R" style) MINGW (Win32 gcc) fixes Fix LOAD() on Darwin (MacOS X) Fix timing script on Debian Ported to HP-UX/IA64 VMS: LOAD() support (not tested) Compilation on VMS7.3 support magic pathnames "/dev/null" and "/dev/tty" Win32: native (low overhead) support for character console I/O support magic pathnames "/dev/null" and "/dev/tty" fixed UDP I/O Fix for parallel make (GNU make, BSD make) Compilation under MS Visual Studio .NET 2003 Make struct descr packable (BITFIELDS_SAME_TYPE) Check for oversize integer constants (ERANGE from strtol()) Changes since 0.99.4 release; ============================ Command line: -d (dynamic region size) and -M (pattern match stack size) now take values in descriptors -v shows CSNOBOL4 version Increased default dynamic space to 64K descriptors Fix faulty lexical comparison function optimzations for null string Performance improvments; New string hash function (reduced both compilation and run time of genc.sno by 5%) Optimized most common case (CONTIN actions) in "stream" operation used for lexical analysis. (reduced compilation time of genc.sno by 8%) Merged all scanner (pattern matching) functions into single C function (eliminates mutual recursion, stack overflows) genc runtime reduced 15% atn.sno runtime reduced by 63%!! (2.7x faster) worst case (4096 char string) reduced 69% (4.8x faster) snocone self-compile runtime reduced 5% Made pattern building functions (lib/pat.c) inlinable (8% reduction in genc.sno compile time) Eliminate space padding on lines read by compiler (reduced genc.sno compile time by 65%) Raised default C compiler optimization levels Default &MAXLNGTH to largest possible string Documentation: README file describes available includes Include PDF of manual page Implement fatal "Output error" for output, ENDFILE() errors Configuration script re-write; Eliminate static config files & autoconf script configure generates config.m4 and config.h (with all defines) for use by loadable functions New configuration options; **** see "INSTALL" file for more information **** --add-define= Add a #define to config.h (visible to external functions) --double EXPERIMENTAL option to use C "double" for SNOBOL4 REAL data type --fast Architecture specific optimizations on native compilers --longlong EXPERIMENTAL!! try to use C "long long" (64-bit integer) for INTEGER datatype when longs/pointers are only 32-bits (ILP32 data model). --lp64 Request use of 64-bit long/pointer data model if available on this architecture, and not the default. --no-opt Compile without optimization New SNOBOL library files (see README); compatibility libraries: fence.sno, logic.sno, not.sno spitbol.sno, snobol4+.sno HOST() function codes: host.sno URL (http:, ftp:, file:) access functions Use large files (64-bit offsets) where available. Allows access and creation of files larger than 2GB New functions; FUNCTION() -- predicate to test if a function is defined ** EXPERIMENTAL ** LABEL() -- predicate to test if a label is defined idea from Steve Duff's version of Macro SPITBOL ORD() -- inverse of CHAR() SERV_LISTEN() -- act as TCP server SSET() -- scaled SET() allow large files when INTEGER is 32bits VDIFFER() -- returns first arg if two arguments DIFFER() idea from Steve Duff's version of Macro SPITBOL Extended HOST() functions (see host.sno) for system diagnosis HOST() function will accept REAL or integer encoded STRING args TIME() function now returns REAL datatype allows both better resolution (for small values) and larger range. Using 32-bit floats, runtimes larger than four and a half hours will lose resolution. Statistics reports compiler and execution times as REAL numbers Average statement runtime reported in microseconds (us). Allow a REAL any place an INTEGER is required (from SNOBOL4+) Contexts include TABLE(), ITEM(), array indices, INPUT(), OUTPUT(), SET(), keyword values, CHAR(), RPAD(), LPAD(), FIELD(), COLLECT(), DUMP(), DUPL(), OPSYN(), and SUBSTR() load.h updates; all RETxxx macros safe in any context RETSTR() takes single argument, allows NULL pointer RETSTR2() has old RETSTR() functionality RETINT() and RETREAL() always set return data type. All include files needed to build loadable functions installed in SNOLIB directory Include BSD tsort program; allow builds from scratch on platforms with GNU tsort (Linux, Cygwin) New ports; Ported to Darwin (MacOS X) Ported to Cygwin (http://cygwin.com), a free Unix emulation environment for Windows. Attempt at native Win32 port Updated Borland C port Updated VMS port; pipe open support, attempt at tty support
Diffstat (limited to 'lang/snobol')
-rw-r--r--lang/snobol/Makefile39
-rw-r--r--lang/snobol/PLIST41
-rw-r--r--lang/snobol/distinfo15
-rw-r--r--lang/snobol/patches/patch-ab71
-rw-r--r--lang/snobol/patches/patch-ac12
-rw-r--r--lang/snobol/patches/patch-ad30
-rw-r--r--lang/snobol/patches/patch-ae10
-rw-r--r--lang/snobol/patches/patch-af12
-rw-r--r--lang/snobol/patches/patch-ag12
9 files changed, 74 insertions, 168 deletions
diff --git a/lang/snobol/Makefile b/lang/snobol/Makefile
index 4bb33118ef1..d0d61c539c8 100644
--- a/lang/snobol/Makefile
+++ b/lang/snobol/Makefile
@@ -1,10 +1,11 @@
-# $NetBSD: Makefile,v 1.20 2008/03/04 16:38:13 jlam Exp $
+# $NetBSD: Makefile,v 1.21 2008/07/14 04:21:39 dholland Exp $
#
-DISTNAME= snobol-0.99.4
-PKGREVISION= 2
+DISTNAME= snobol4-1.1
+PKGNAME= snobol-1.1
CATEGORIES= lang
-MASTER_SITES= ftp://ftp.snobol4.com/ \
+MASTER_SITES= ftp://ftp.ultimate.com/snobol/
+SITES.vanilla.zip= ftp://ftp.snobol4.com/ \
ftp://ftp.snobol4.org/snobol/old/
DISTFILES= vanilla.zip ${DISTNAME}${EXTRACT_SUFX}
@@ -12,16 +13,24 @@ MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.snobol4.org/csnobol4/curr/
COMMENT= Macro implementation of SNOBOL4 in C
-BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
-
PKG_DESTDIR_SUPPORT= user-destdir
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
-BUILD_TARGET= it
+SUBST_CLASSES+= snobol-config
+SUBST_STAGE.snobol-config= post-patch
+SUBST_FILES.snobol-config= Makefile
+SUBST_SED.snobol-config+= -e s\|M4=m4\|M4=${TOOLS_PATH.m4:Q}\|
+
+HAS_CONFIGURE=yes
+CONFIGURE_ARGS+=--prefix=${PREFIX}
+# not yet
+#CONFIGURE_ARGS+=--with-tcl
+#CONFIGURE_ARGS+=--with-tk
-USE_CONFIGURE= NO
-USE_TOOLS+= gzip m4
+BUILD_TARGET= all pv
+
+USE_TOOLS+= gzip m4 unzip
INSTALLATION_DIRS= bin ${PKGMANDIR}/man1
MAKE_JOBS_SAFE= NO
@@ -31,15 +40,11 @@ post-build:
unzip -p -opaaqqLC ${WRKSRC}/pm.exe >> ${WRKSRC}/doc/tutorial
${GZIP_CMD} ${WRKSRC}/doc/tutorial
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/xsnobol4 ${DESTDIR}${PREFIX}/bin/snobol4
- ${INSTALL_MAN} ${WRKSRC}/doc/snobol4.1 \
- ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
- ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/lib/snobol4
- cd ${WRKSRC} && ${INSTALL_DATA} snolib.a snolib/bq.sno \
- ${DESTDIR}${PREFIX}/lib/snobol4
+post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/snobol4
- cd ${WRKSRC}/doc && ${INSTALL_DATA} load.doc design.doc tutorial.gz \
+ cd ${WRKSRC} && ${INSTALL_DATA} README \
+ ${DESTDIR}${PREFIX}/share/doc/snobol4
+ cd ${WRKSRC}/doc && ${INSTALL_DATA} load.txt design.txt tutorial.gz \
${DESTDIR}${PREFIX}/share/doc/snobol4
@${ECHO} ''
@${ECHO} '***********************************************************'
diff --git a/lang/snobol/PLIST b/lang/snobol/PLIST
index 915e0df0056..c8134282886 100644
--- a/lang/snobol/PLIST
+++ b/lang/snobol/PLIST
@@ -1,10 +1,41 @@
-@comment $NetBSD: PLIST,v 1.1 2001/11/01 00:24:59 zuntum Exp $
+@comment $NetBSD: PLIST,v 1.2 2008/07/14 04:21:39 dholland Exp $
bin/snobol4
-man/man1/snobol4.1
-lib/snobol4/snolib.a
+bin/snobol4-1.1
lib/snobol4/bq.sno
-share/doc/snobol4/load.doc
-share/doc/snobol4/design.doc
+lib/snobol4/chars.sno
+lib/snobol4/config.h
+lib/snobol4/dt.h
+lib/snobol4/dynamic.sno
+lib/snobol4/equ.h
+lib/snobol4/fence.sno
+lib/snobol4/file.sno
+lib/snobol4/ftp.sno
+lib/snobol4/h.h
+lib/snobol4/host.sno
+lib/snobol4/http.sno
+lib/snobol4/load.h
+lib/snobol4/logic.sno
+lib/snobol4/macros.h
+lib/snobol4/ndbm.sno
+lib/snobol4/not.sno
+lib/snobol4/serv.sno
+lib/snobol4/smtp.sno
+lib/snobol4/snobol4+.sno
+lib/snobol4/snotypes.h
+lib/snobol4/spitbol.sno
+lib/snobol4/stcl.sno
+lib/snobol4/tcp.sno
+lib/snobol4/unique.sno
+lib/snobol4/url.sno
+lib/snobol4/utf.sno
+lib/snobol4/wrapper.sno
+man/man1/snobol4.1
+man/man3/snobol4dbm.3
+man/man3/snobol4tcl.3
+man/man3/snolib.3
+share/doc/snobol4/README
+share/doc/snobol4/load.txt
+share/doc/snobol4/design.txt
share/doc/snobol4/tutorial.gz
@dirrm lib/snobol4
@dirrm share/doc/snobol4
diff --git a/lang/snobol/distinfo b/lang/snobol/distinfo
index 245dc640770..26f0635b7da 100644
--- a/lang/snobol/distinfo
+++ b/lang/snobol/distinfo
@@ -1,15 +1,10 @@
-$NetBSD: distinfo,v 1.7 2007/12/22 21:40:13 tnn Exp $
+$NetBSD: distinfo,v 1.8 2008/07/14 04:21:39 dholland Exp $
-SHA1 (snobol-0.99.4.tar.gz) = 7c64efac165b83665b454c245e3cbec19d448a2e
-RMD160 (snobol-0.99.4.tar.gz) = 58b6323930241d992abf7edd13243068ce6304ce
-Size (snobol-0.99.4.tar.gz) = 388020 bytes
+SHA1 (snobol4-1.1.tar.gz) = 33517d66967615329ec071e9d3dd8125a974ec27
+RMD160 (snobol4-1.1.tar.gz) = 53a903ff051b0b9acd2dbff5b7f3c79389af6c01
+Size (snobol4-1.1.tar.gz) = 677333 bytes
SHA1 (vanilla.zip) = e0d3aa420192738c1b3d59a022860683fba99504
RMD160 (vanilla.zip) = a728aef1a1606dadeed7fde0c5826f46c342ac12
Size (vanilla.zip) = 212373 bytes
SHA1 (patch-aa) = 02b759eb25bd46678d96eb281247ae326822d8f4
-SHA1 (patch-ab) = 5ee785b285011b7954967f4a4e53293739d35844
-SHA1 (patch-ac) = fa50c033004211d50db5b50eb71c542aaa3c6c35
-SHA1 (patch-ad) = 8e58fd6aefae7df29c6f7ab2cadf55dd58763870
-SHA1 (patch-ae) = 627672573eb37c7df6c4b84ef765ea777b25b11a
-SHA1 (patch-af) = c3831fdc0d172df9f2032c997f9169b345a6e2a8
-SHA1 (patch-ag) = 9f87472c11a7f3bfbfa818ba9cbd526598351b3d
+SHA1 (patch-ab) = f9d5017a5f65fbafa8c483ea84ec9ec6ff2a4169
diff --git a/lang/snobol/patches/patch-ab b/lang/snobol/patches/patch-ab
index f431d3b032f..1d1b385d123 100644
--- a/lang/snobol/patches/patch-ab
+++ b/lang/snobol/patches/patch-ab
@@ -1,63 +1,14 @@
-$NetBSD: patch-ab,v 1.3 2004/07/10 21:27:46 wiz Exp $
+$NetBSD: patch-ab,v 1.4 2008/07/14 04:21:39 dholland Exp $
---- lib/bsd/mstime.c.orig Wed Oct 30 12:39:40 1996
-+++ lib/bsd/mstime.c Thu Jan 25 07:08:41 2001
-@@ -12,11 +12,56 @@
- * (and you don't need to know HZ)
- */
+--- Makefile2.m4.orig 2005-12-06 21:10:59.000000000 -0500
++++ Makefile2.m4 2008-07-14 00:02:37.000000000 -0400
+@@ -537,7 +537,8 @@
+ # generated SNOLIB files (host.sno generated at top level)
+ GENSNOLIB=host.sno
-+/* Added by refling@comet.lbl.gov to compensate for the fact that the usec
-+ value can go backwards within the same sec on NetBSD. Problem has been
-+ noted on sparc and i386. It really only appears in the test routine
-+ where times are differenced, causing negative numbers to be generated.
-+ This WILL cause the build to fail consistently on my sparc LX, but not
-+ on the i386, even though the problem can be demonstrated there. See
-+ NetBSD PR bin/10201.
-+
-+ The simple solution here is to have a persistent variable, and if the
-+ usec value returned from getrusage() is LESS than the previous one
-+ (stored in the persistent variable), use the previous one. This is
-+ only when the second counter is the same between the previous and
-+ current usec. This will make time stand still, but at least it
-+ won't go backwards!
-+
-+ This could also be added to the definition of the NetBSD getrusage()
-+ function to prevent it from returning bogus values in the first place,
-+ if the real cause of the problem can't be tracked down.
-+
-+ Note that the patch to snobol4 (in this file) will not need to be
-+ changed even if/when getrusage() is ultimately fixed. The only expense
-+ is a few extra numerical comparisons. Typically, one doesn't take time
-+ measurements too often. */
-+
-+static long prev_sec = 0;
-+static long prev_usec = 0;
-+
- int_t
- mstime() {
- struct rusage ru;
-+ long cur_usec, cur_sec;
+-SNOLIB_FILES=snolib/*.sno $(INSTALL_H) doc/load.txt README $(GENSNOLIB)
++SNOLIB_FILES=snolib/*.sno $(INSTALL_H) $(GENSNOLIB)
++# doc/load.txt README # installed by package makefile
- getrusage( RUSAGE_SELF, &ru ); /* XXX check return? */
-- return(ru.ru_utime.tv_sec * 1000 +
-- ru.ru_utime.tv_usec / 1000);
-+ cur_usec = ru.ru_utime.tv_usec;
-+ cur_sec = ru.ru_utime.tv_sec;
-+ if (prev_usec > cur_usec && prev_sec == cur_sec) {
-+ cur_usec = prev_usec;
-+// prev_sec = cur_sec; /* this is redundant in this case, since == */
-+// prev_usec = cur_usec; /* this is also redundant */
-+// system("echo a >> /tmp/caught_problem");
-+ }
-+ else {
-+ prev_sec = cur_sec;
-+ prev_usec = cur_usec;
-+ }
-+ return(cur_sec * 1000 +
-+ cur_usec / 1000);
-+
-+// this is what it was....
-+// getrusage( RUSAGE_SELF, &ru ); /* XXX check return? */
-+// return(ru.ru_utime.tv_sec * 1000 +
-+// ru.ru_utime.tv_usec / 1000);
- }
+ VERS=`./pv`
+ install: snobol4 pv
diff --git a/lang/snobol/patches/patch-ac b/lang/snobol/patches/patch-ac
deleted file mode 100644
index fdec798ce07..00000000000
--- a/lang/snobol/patches/patch-ac
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-ac,v 1.2 2004/07/10 21:27:46 wiz Exp $
-
---- configure.orig Fri Jul 18 14:43:30 1997
-+++ configure Thu Jan 25 07:08:41 2001
-@@ -1,6 +1,6 @@
- #!/bin/sh
-
--if autoconf "$@" > config.m4.tmp; then
-+if ./autoconf "$@" > config.m4.tmp; then
- rm -f config.m4
- mv config.m4.tmp config.m4
- else
diff --git a/lang/snobol/patches/patch-ad b/lang/snobol/patches/patch-ad
deleted file mode 100644
index 5e52c11c689..00000000000
--- a/lang/snobol/patches/patch-ad
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-ad,v 1.3 2004/07/10 21:28:21 wiz Exp $
-
---- Makefile2.m4.orig 1997-08-07 07:34:47.000000000 +0200
-+++ Makefile2.m4
-@@ -48,13 +48,13 @@ SNOLIB_A=snolib.a
- SNOLIB_FILE=snolib.a
-
- # directory name for default SNOLIB (used by -INCLUDE and LOAD())
--SNOLIB_DIR=/usr/local/lib/snobol4
-+SNOLIB_DIR=${PREFIX}/lib/snobol4
-
- # default name for installed binary
--BINDEST=/usr/local/bin/snobol4
-+BINDEST=${PREFIX}/bin/snobol4
-
- # default name for installed man page
--MANDEST=/usr/local/man/man1/snobol4.1
-+MANDEST=${PREFIX}/man/man1/snobol4.1
-
- ########
- # default lib source files
-@@ -142,7 +142,7 @@ include(config.m4)
- # after local config
-
- # NOTE: NOT named CPPFLAGS; some versions of make include CPPFLAGS in cc cmd
--MYCPPFLAGS=-I./[include] -I. _CPPFLAGS
-+MYCPPFLAGS=-DUSE_STDARG_H -I./[include] -I. _CPPFLAGS
-
- COPT=[]_OPT
-
diff --git a/lang/snobol/patches/patch-ae b/lang/snobol/patches/patch-ae
deleted file mode 100644
index 33cf1875a38..00000000000
--- a/lang/snobol/patches/patch-ae
+++ /dev/null
@@ -1,10 +0,0 @@
-$NetBSD: patch-ae,v 1.1 2006/01/11 21:51:34 joerg Exp $
-
---- isnobol4.c.orig 2006-01-11 21:39:49.000000000 +0000
-+++ isnobol4.c
-@@ -1,3 +1,5 @@
-+#include <math.h>
-+
- /* generated by genc.sno on 08/06/1997 01:52:51 */
-
- #define INLINING
diff --git a/lang/snobol/patches/patch-af b/lang/snobol/patches/patch-af
deleted file mode 100644
index 3de0626d9c5..00000000000
--- a/lang/snobol/patches/patch-af
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-af,v 1.1 2007/12/22 21:40:13 tnn Exp $
-
---- lib/bsd/inet.c.orig 1997-07-12 00:33:32.000000000 +0200
-+++ lib/bsd/inet.c
-@@ -10,6 +10,7 @@
- #include <netinet/in.h>
-
- #include "h.h" /* TRUE/FALSE */
-+#include "snotypes.h"
- #include "macros.h" /* bcopy */
-
- #ifndef INADDR_NONE
diff --git a/lang/snobol/patches/patch-ag b/lang/snobol/patches/patch-ag
deleted file mode 100644
index e27d1273d76..00000000000
--- a/lang/snobol/patches/patch-ag
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-ag,v 1.1 2007/12/22 21:40:13 tnn Exp $
-
---- lib/bsd/dynamic.c.orig 1997-02-13 07:31:42.000000000 +0100
-+++ lib/bsd/dynamic.c
-@@ -2,6 +2,7 @@
-
- /* allocate dynamic region on BSD */
-
-+#include <sys/cdefs.h>
- #include <sys/vadvise.h>
-
- char *malloc();