From d27a11880bb29d7de793da0ef384bd93b9897e1b Mon Sep 17 00:00:00 2001 From: phil Date: Sat, 19 Dec 2020 18:41:18 -0500 Subject: [PATCH] lang/snobol4: update for snobol4 version 2.2.1, take ownership --- lang/snobol4/Makefile | 55 +++++++++++++++++---------- lang/snobol4/distinfo | 6 +-- lang/snobol4/files/LICENSE | 25 ------------ lang/snobol4/files/patch-Makefile2.m4 | 54 -------------------------- lang/snobol4/pkg-descr | 12 +++--- lang/snobol4/pkg-plist | 49 ++++++++++++++++++++++++ 6 files changed, 92 insertions(+), 109 deletions(-) delete mode 100644 lang/snobol4/files/LICENSE delete mode 100644 lang/snobol4/files/patch-Makefile2.m4 diff --git a/lang/snobol4/Makefile b/lang/snobol4/Makefile index c8724c0f1c07..d6179ec1ef75 100644 --- a/lang/snobol4/Makefile +++ b/lang/snobol4/Makefile @@ -2,38 +2,51 @@ # $FreeBSD$ PORTNAME= snobol4 -PORTVERSION= 2.1.6 +PORTVERSION= 2.2.1 PORTREVISION= 1 CATEGORIES= lang -MASTER_SITES= ftp://ftp.ultimate.com/snobol/ +MASTER_SITES= ftp://ftp.snobol4.org/snobol/ -MAINTAINER= ports@FreeBSD.org -COMMENT= Port of Macro SNOBOL4, supports full SNOBOL4 plus SPITBOL +MAINTAINER= phil@snobol4.org +COMMENT= Full SNOBOL4 language with SPITBOL, BLOCKS, and other extensions LICENSE= BSD2CLAUSE -LICENSE_FILE= ${PATCHDIR}/LICENSE +LICENSE_FILE= ${WRKSRC}/COPYRIGHT + +# or readline +USES= libedit + +MAKE_JOBS_UNSAFE=yes -USES= gmake libedit HAS_CONFIGURE= yes -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --snolibdir=${PREFIX}/lib/${PORTNAME} -CONFIGURE_ENV+= DL_EXT=".so" -ALL_TARGET= xsnobol4 -LDFLAGS+= -L${PREFIX}/lib +CONFIGURE_ARGS= --prefix=${PREFIX} +ALL_TARGET= build_all +INSTALL_TARGET= install_notiming -DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${PORTVERSION} PLIST_SUB+= VERSION=${PORTVERSION} -PORTDOCS= * -OPTIONS_DEFINE= DOCS +# 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= DOCS FFI SQLITE3 +OPTIONS_DEFAULT= FFI SQLITE3 + +FFI_DESC= Foreign Function Interface module +SQLITE3_DESC= SQLite version 3 module +DOCS_CONFIGURE_WITH= docs -post-patch: - @${REINPLACE_CMD} 's:[^=]*\.tmp$$:${WRKSRC}/&:' ${WRKSRC}/configure - @${REINPLACE_CMD} 's:../snobol4:../xsnobol4:' \ - ${WRKSRC}/doc/Makefile ${WRKSRC}/modules/*/Makefile - @${REINPLACE_CMD} -e 's::${PREFIX}/bin:' \ - -e 's::${PREFIX}/lib/${PORTNAME}:' \ - ${WRKSRC}/snopea.in ${WRKSRC}/sdb.sh +FFI_LIB_DEPENDS= libffi.so:devel/libffi +SQLITE3_LIB_DEPENDS= libsqlite3.so:databases/sqlite3 .include diff --git a/lang/snobol4/distinfo b/lang/snobol4/distinfo index 8fa2ce0b7259..89f1a9debf9a 100644 --- a/lang/snobol4/distinfo +++ b/lang/snobol4/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1600849218 -SHA256 (snobol4-2.1.6.tar.gz) = ae9306ac523bd99b8881860e31b5b779e87652d4a416fff50277b11dfbc8001e -SIZE (snobol4-2.1.6.tar.gz) = 907278 +TIMESTAMP = 1608420460 +SHA256 (snobol4-2.2.1.tar.gz) = d30fdeab3b029e6700256fc634fb78af121077112344967c65b8778092b7e101 +SIZE (snobol4-2.2.1.tar.gz) = 984384 diff --git a/lang/snobol4/files/LICENSE b/lang/snobol4/files/LICENSE deleted file mode 100644 index 9d44bf1b12d3..000000000000 --- a/lang/snobol4/files/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright © 1993-2020, Philip L. Budne -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/lang/snobol4/files/patch-Makefile2.m4 b/lang/snobol4/files/patch-Makefile2.m4 deleted file mode 100644 index d80450b0e048..000000000000 --- a/lang/snobol4/files/patch-Makefile2.m4 +++ /dev/null @@ -1,54 +0,0 @@ ---- Makefile2.m4.orig 2020-06-22 02:02:06 UTC -+++ Makefile2.m4 -@@ -615,8 +615,8 @@ snopea.1: snopea snolib/snopea.sno snobol4 - snopea.1.html: snopea snolib/snopea.sno snobol4 - $(SNOPEA) snopea snopea.1.html - --docs $(GENERATED_DOCS_DOCDIR): snopea snolib/snopea.sno snobol4 always -- cd doc; make -+docs $(GENERATED_DOCS_DOCDIR): snopea snolib/snopea.sno xsnobol4 always -+ cd doc; ${MAKE} - - always: - -@@ -631,17 +631,18 @@ INSTALL_H=[include]/h.h [include]/snotypes.h [include] - # generated SNOLIB files (host.sno generated at top level) - GENSNOLIB=host.sno config.sno - --SNOLIB_FILES=snolib/*.sno $(GENSNOLIB) $(MODULES_INCLUDE) -+SNOLIB_FILES=snolib/*.sno $(GENSNOLIB) - --install: snobol4 sdb timing.out $(GENERATED_DOCS) -+install: xsnobol4 sdb $(GENERATED_DOCS) -+ cp xsnobol4$(EXT) snobol4$(EXT) - $(INSTALL) -d $(BINDIR) - $(INSTALL) $(INSTALL_BIN_FLAGS) snobol4 $(BINDIR)/snobol4-$(VERS) - $(INSTALL) sdb $(BINDIR)/sdb-$(VERS) - $(INSTALL) snopea $(BINDIR)/snopea-$(VERS) - rm -f $(BINDIR)/snobol4 $(BINDIR)/sdb $(BINDIR)/snopea -- ln -s $(BINDIR)/snobol4-$(VERS) $(BINDIR)/snobol4 -- ln -s $(BINDIR)/sdb-$(VERS) $(BINDIR)/sdb -- ln -s $(BINDIR)/snopea-$(VERS) $(BINDIR)/snopea -+ cd $(BINDIR) && ln -s snobol4-$(VERS) snobol4 -+ cd $(BINDIR) && ln -s sdb-$(VERS) sdb -+ cd $(BINDIR) && ln -s snopea-$(VERS) snopea - $(INSTALL) -d $(MAN1DIR) - for F in $(GENERATED_DOCS_DOCDIR1); do \ - $(INSTALL) -m 644 $$F $(MAN1DIR); \ -@@ -668,15 +669,12 @@ install: snobol4 sdb timing.out $(GENERATED_DOCS) - for F in $(SNOLIB_FILES); do \ - $(INSTALL) -m 644 $$F $(SNOLIB_LIB); \ - done -- for M in $(MODULES); do \ -- (cd modules/$$M; $(RUNSETUP) install); \ -- done - $(INSTALL) -d $(INCLUDE_DIR) - for F in $(INSTALL_H); do \ - $(INSTALL) -m 644 $$F $(INCLUDE_DIR); \ - done - $(INSTALL) -d $(DOC_DIR) -- for F in doc/load.txt doc/*.html modules/*/*.html; do \ -+ for F in doc/load.txt doc/*.html; do \ - $(INSTALL) -m 644 $$F $(DOC_DIR); \ - done - ifdef([INSTALL_SYSDEP],[ ]INSTALL_SYSDEP diff --git a/lang/snobol4/pkg-descr b/lang/snobol4/pkg-descr index 5c4468d1ef0d..83ee5c2710fb 100644 --- a/lang/snobol4/pkg-descr +++ b/lang/snobol4/pkg-descr @@ -1,12 +1,12 @@ 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. +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 such as perl. +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/ diff --git a/lang/snobol4/pkg-plist b/lang/snobol4/pkg-plist index 56e8bbb64a53..646bdadf7512 100644 --- a/lang/snobol4/pkg-plist +++ b/lang/snobol4/pkg-plist @@ -13,34 +13,66 @@ lib/snobol4/%%VERSION%%/include/h.h lib/snobol4/%%VERSION%%/include/handle.h lib/snobol4/%%VERSION%%/include/load.h lib/snobol4/%%VERSION%%/include/macros.h +lib/snobol4/%%VERSION%%/include/module.h lib/snobol4/%%VERSION%%/include/snotypes.h lib/snobol4/%%VERSION%%/include/str.h lib/snobol4/%%VERSION%%/include/version.h +lib/snobol4/%%VERSION%%/lib/base64.sno lib/snobol4/%%VERSION%%/lib/basename.sno lib/snobol4/%%VERSION%%/lib/bq.sno lib/snobol4/%%VERSION%%/lib/chars.sno +lib/snobol4/%%VERSION%%/lib/cmp.sno lib/snobol4/%%VERSION%%/lib/config.sno +lib/snobol4/%%VERSION%%/lib/digest.sno +lib/snobol4/%%VERSION%%/lib/dirs.sno lib/snobol4/%%VERSION%%/lib/dynamic.sno lib/snobol4/%%VERSION%%/lib/ezio.sno lib/snobol4/%%VERSION%%/lib/fence.sno +lib/snobol4/%%VERSION%%/lib/ffi.sno lib/snobol4/%%VERSION%%/lib/file.sno +lib/snobol4/%%VERSION%%/lib/fork.sno lib/snobol4/%%VERSION%%/lib/ftp.sno lib/snobol4/%%VERSION%%/lib/host.sno lib/snobol4/%%VERSION%%/lib/http.sno +lib/snobol4/%%VERSION%%/lib/json.sno +lib/snobol4/%%VERSION%%/lib/logic.sno +lib/snobol4/%%VERSION%%/lib/ndbm.sno lib/snobol4/%%VERSION%%/lib/not.sno +lib/snobol4/%%VERSION%%/lib/random.sno +lib/snobol4/%%VERSION%%/lib/readline.sno lib/snobol4/%%VERSION%%/lib/repl.sno lib/snobol4/%%VERSION%%/lib/sdb.sno lib/snobol4/%%VERSION%%/lib/serv.sno lib/snobol4/%%VERSION%%/lib/setuputil.sno +lib/snobol4/%%VERSION%%/lib/shared/base64.so +lib/snobol4/%%VERSION%%/lib/shared/digest.so +lib/snobol4/%%VERSION%%/lib/shared/dirs.so +lib/snobol4/%%VERSION%%/lib/shared/ffi.so +lib/snobol4/%%VERSION%%/lib/shared/fork.so +lib/snobol4/%%VERSION%%/lib/shared/logic.so +lib/snobol4/%%VERSION%%/lib/shared/ndbm.so +lib/snobol4/%%VERSION%%/lib/shared/random.so +lib/snobol4/%%VERSION%%/lib/shared/readline.so +lib/snobol4/%%VERSION%%/lib/shared/sprintf.so +lib/snobol4/%%VERSION%%/lib/shared/sqlite3.so +lib/snobol4/%%VERSION%%/lib/shared/stat.so +lib/snobol4/%%VERSION%%/lib/shared/time.so +lib/snobol4/%%VERSION%%/lib/shared/zlib.so lib/snobol4/%%VERSION%%/lib/smtp.sno lib/snobol4/%%VERSION%%/lib/snobol4+.sno lib/snobol4/%%VERSION%%/lib/snopea.sno lib/snobol4/%%VERSION%%/lib/spitbol.sno +lib/snobol4/%%VERSION%%/lib/sprintf.sno +lib/snobol4/%%VERSION%%/lib/sqlite3.sno +lib/snobol4/%%VERSION%%/lib/sqlite3dbm.sno +lib/snobol4/%%VERSION%%/lib/stat.sno lib/snobol4/%%VERSION%%/lib/tcp.sno +lib/snobol4/%%VERSION%%/lib/time.sno lib/snobol4/%%VERSION%%/lib/unique.sno lib/snobol4/%%VERSION%%/lib/url.sno lib/snobol4/%%VERSION%%/lib/utf.sno lib/snobol4/%%VERSION%%/lib/wrapper.sno +lib/snobol4/%%VERSION%%/lib/zlib.sno man/man1/sdb.1.gz man/man1/snobol4.1.gz man/man1/snobol4blocks.1.gz @@ -53,9 +85,26 @@ man/man1/snobol4io.1.gz man/man1/snobol4key.1.gz man/man1/snobol4op.1.gz man/man1/snopea.1.gz +man/man3/snobol4base64.3.gz +man/man3/snobol4digest.3.gz +man/man3/snobol4dirs.3.gz man/man3/snobol4ezio.3.gz +man/man3/snobol4ffi.3.gz +man/man3/snobol4fork.3.gz man/man3/snobol4host.3.gz +man/man3/snobol4json.3.gz +man/man3/snobol4load.3.gz +man/man3/snobol4logic.3.gz +man/man3/snobol4ndbm.3.gz +man/man3/snobol4random.3.gz +man/man3/snobol4readline.3.gz man/man3/snobol4setup.3.gz +man/man3/snobol4sprintf.3.gz +man/man3/snobol4sqlite3.3.gz +man/man3/snobol4sqlite3dbm.3.gz +man/man3/snobol4stat.3.gz +man/man3/snobol4time.3.gz +man/man3/snobol4zlib.3.gz man/man3/snolib.3.gz man/man7/snopea.7.gz @dir lib/snobol4/%%VERSION%%/lib/shared -- 2.25.1