diff --git a/lang/snobol4/Makefile b/lang/snobol4/Makefile index f541f0b8fceb..a7af0936173a 100644 --- a/lang/snobol4/Makefile +++ b/lang/snobol4/Makefile @@ -1,50 +1,51 @@ # Created by: Wes Peters PORTNAME= snobol4 PORTVERSION= 2.3.1 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= ftp://ftp.regressive.org/snobol/ MAINTAINER= snobol4@regressive.org COMMENT= Full SNOBOL4 language with SPITBOL, BLOCKS, and other extensions LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/COPYRIGHT # will also use libedit, but poundriere tests fail. USES= readline ssl HAS_CONFIGURE= yes CONFIGURE_ARGS= --prefix=${PREFIX} MAKE_JOBS_UNSAFE=yes ALL_TARGET= build_all INSTALL_TARGET= install_notiming PLIST_SUB+= VERSION=${PORTVERSION} # openssl in base system? # NOTE! configure detects necessary libraries for extension modules # and will build them without these options enabled (and there aren't # (currently) any --without options to disable them) # # It's possible to build the extension modules independently of the # main distribution, so there could be snobol4-ffi, snobol4-sqlite3 # ports, BUT you need to cd to a subdir before running make. # # Not including Tcl, would need a RADIO selector for tcl version, and # configure would need to be run with --with-tcl=/path/to/tclConfig.sh OPTIONS_DEFINE= FFI SQLITE3 DOCS OPTIONS_DEFAULT= FFI SQLITE3 DOCS FFI_DESC= Foreign Function Interface module SQLITE3_DESC= SQLite version 3 module DOCS_CONFIGURE_WITH= docs FFI_LIB_DEPENDS= libffi.so:devel/libffi SQLITE3_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 .include diff --git a/lang/snobol4/pkg-descr b/lang/snobol4/pkg-descr index 83ee5c2710fb..47214290c2d3 100644 --- a/lang/snobol4/pkg-descr +++ b/lang/snobol4/pkg-descr @@ -1,12 +1,27 @@ -This is a free port of the original SIL (SNOBOL4 Implementation Language) -macro version of SNOBOL4 (developed at Bell Labs) with the C language as -target. Includes SPITBOL and BLOCKS extensions. - -SNOBOL4, while known primarily as a string language excels at any task -involving symbolic manipulations. It provides run time typing, -garbage collection, user data types, on the fly compilation. Its -primary weakness is its simple syntax, and lack of structured -programming constructs. However some consider the spareness of -SNOBOL4 syntax a strength when compared to some modern agglomerations. - -WWW: http://www.snobol4.org/ +CSNOBOL4 is a free port of the original SIL (SNOBOL4 Implementation +Language) macro version of SNOBOL4 (developed at Bell Labs) with the C +language as its target. Includes SPITBOL and BLOCKS extensions. + +SNOBOL4 is a living fossil; a dynamically typed, garbage collected +interpreter with a first-class pattern type (patterns can be composed +from other patterns), and user defined data types (structs) from the +1960's. + +The language syntax is exceedingly simple, and statements consist of +three optional parts: a label, an expression, and an unconditional or +conditional branch labels. + +Pattern match (and replace) is a built in operator. Built-in +functions include predicates for comparison, pattern creation and +string modification. allow the compilation of code at run time, and +the creation of new "user data types" (structures). Built-in types +include string, integer, float, multi-dimension arrays, (hash) tables, +pattern, and code. Loadable modules can create new opaque types. + +CSNOBOL4 includes extensions to access base64, bit operations, +cryptographic hashes, dbm, directories, ffi, fork, pipes, +pseudo-terminals, random, readline, sprintf, sqlite3, stat, tcl, and +TLS, documented in manual pages created using embedded POD-like +"snopea" markup. + +WWW: http://www.regressive.org/snobol4/