Greg, thanks for this.  I was intending to deal with this but I've been impeded 
with health issues of late.  Now I can work on my thinkpad problems.

There are actually users. Among people I've gotten to dabble in Openbsd, at 
least three are learning string processing languages like snobol and icon.  
Neat.

STeve

Feb 13, 2021 18:08:58 Greg Steuck <gne...@openbsd.org>:

> Brian Callahan <bcal...@protonmail.com> writes:
> 
>> Hello --
>> 
>> Attached is a patch to update snobol4 to its latest version, which
>> (among other things) fixes -fno-common issues.
>> 
>> I added the COMPILER line because I ended up ^C'ing trying to build
>> snobol4 with base-gcc on amd64 for taking way too long. The build
>> times are reasonable with clang and ports-gcc.
>> 
>> I added SUBST_VARS += V to help reduce PLIST churn in the future.
>> 
>> Things work as expected on amd64.
>> 
>> OK?
> 
> OK gnezdo@
> 
>> 
>> ~Brian
>> 
>> Index: Makefile
>> ===================================================================
>> RCS file: /cvs/ports/lang/snobol4/Makefile,v
>> retrieving revision 1.4
>> diff -u -p -r1.4 Makefile
>> --- Makefile  12 Jul 2019 20:47:23 -0000  1.4
>> +++ Makefile  13 Feb 2021 16:46:46 -0000
>> @@ -1,9 +1,9 @@
>> # $OpenBSD: Makefile,v 1.4 2019/07/12 20:47:23 sthen Exp $
>> 
>> +V =    2.2.1
>> COMMENT =  CSNOBOL4 suite including interpreter, debugger and utilities
>> -DISTNAME = snobol4-2.0
>> +DISTNAME = snobol4-${V}
>> CATEGORIES = lang
>> -REVISION = 1
>> 
>> HOMEPAGE = http://www.snobol4.org/csnobol4/curr/
>> MAINTAINER = STeve Andre <st...@wb8wsf.org>
>> @@ -11,10 +11,12 @@ MAINTAINER =  STeve Andre <steve@wb8wsf.o
>> # BSD
>> PERMIT_PACKAGE = Yes
>> 
>> -WANTLIB += c ffi m ncurses readline sqlite3 util
>> +WANTLIB += c crypto ffi m readline sqlite3 ssl util z
>> 
>> MASTER_SITES = ftp://ftp.snobol4.org/snobol/
>> 
>> +COMPILER = base-clang ports-gcc
>> +
>> LIB_DEPENDS =  databases/sqlite3 \
>>     devel/libffi
>> 
>> @@ -25,5 +27,7 @@ CONFIGURE_ARGS =  --prefix="${PREFIX}" \
>> 
>> # Reduce PLIST churn at update time.
>> FAKE_FLAGS = DOC_DIR="${DESTDIR}${PREFIX}/share/doc/snobol4"
>> +
>> +SUBST_VARS +=  V
>> 
>> .include <bsd.port.mk>
>> Index: distinfo
>> ===================================================================
>> RCS file: /cvs/ports/lang/snobol4/distinfo,v
>> retrieving revision 1.1.1.1
>> diff -u -p -r1.1.1.1 distinfo
>> --- distinfo  6 Nov 2017 08:14:14 -0000 1.1.1.1
>> +++ distinfo  13 Feb 2021 16:46:46 -0000
>> @@ -1,2 +1,2 @@
>> -SHA256 (snobol4-2.0.tar.gz) = lK569PyqkTmVTG1TDKkfJf/Xpp/0XxulK1IJW732Yx8=
>> -SIZE (snobol4-2.0.tar.gz) = 903436
>> +SHA256 (snobol4-2.2.1.tar.gz) = 0w/eqzsCnmcAJW/GNPt4rxIQdxEjRJZ8Zbh3gJK34QE=
>> +SIZE (snobol4-2.2.1.tar.gz) = 984384
>> Index: patches/patch-Makefile2_m4
>> ===================================================================
>> RCS file: /cvs/ports/lang/snobol4/patches/patch-Makefile2_m4,v
>> retrieving revision 1.1.1.1
>> diff -u -p -r1.1.1.1 patch-Makefile2_m4
>> --- patches/patch-Makefile2_m4  6 Nov 2017 08:14:14 -0000 1.1.1.1
>> +++ patches/patch-Makefile2_m4  13 Feb 2021 16:46:46 -0000
>> @@ -3,16 +3,16 @@ $OpenBSD: patch-Makefile2_m4,v 1.1.1.1 2
>> Index: Makefile2.m4
>> --- Makefile2.m4.orig
>> +++ Makefile2.m4
>> -@@ -636,9 +636,9 @@ install: snobol4 sdb timing.out $(GENERATED_DOCS)
>> +@@ -735,9 +735,9 @@ install_notiming: build_all
>>     $(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) $(INSTALL_BIN_FLAGS) snobol4 $(BINDIR)/snobol4
>> +  $(INSTALL) sdb $(BINDIR)/sdb
>> +  $(INSTALL) snopea $(BINDIR)/snopea
>>     $(INSTALL) -d $(MAN1DIR)
>> -   for F in $(GENERATED_DOCS_DOCDIR1); do \
>> -     $(INSTALL) -m 644 $$F $(MAN1DIR); \
>> +   INSTALL_MAN_PAGES(.,1)
>> +   INSTALL_MAN_PAGES(doc,1)
>> Index: patches/patch-configure
>> ===================================================================
>> RCS file: patches/patch-configure
>> diff -N patches/patch-configure
>> --- patches/patch-configure 6 Nov 2017 08:14:14 -0000 1.1.1.1
>> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>> @@ -1,67 +0,0 @@
>> -$OpenBSD: patch-configure,v 1.1.1.1 2017/11/06 08:14:14 bcallah Exp $
>> -
>> -Just lie. Does the wrong thing if you don't tell it you're using gcc.
>> -
>> -Index: configure
>> ---- configure.orig
>> -+++ configure
>> -@@ -13,10 +13,7 @@ OPTIONS="$*"
>> - VERSION=2.0
>> - VERSION_DATE="January 1, 2015"
>> -
>> --if [ ! "$CC" ]; then
>> --    # on most system gcc is preferred if it can be found
>> --    WANTGCC=true
>> --fi
>> -+WANTGCC=true
>> -
>> - # save any CFLAGS passed to us...
>> - INITIAL_CFLAGS="$CFLAGS"
>> -@@ -366,21 +363,9 @@ echo '#define HAVE_BUILD_VARS'      >> $CONFIG_H
>> -
>> - if [ "$CC" ]; then
>> -     echo 'using CC environment variable' 1>&2
>> --    CCPATH="$CC"
>> -+    GCCPATH="$CC"
>> - fi
>> -
>> --if [ "$WANTGCC" ]; then
>> --    # look for gcc up front (for Solaris/x86)
>> --    echo 'looking for gcc' 1>&2
>> --    for DIR in `echo $PATH | tr ':' ' '`; do
>> --  if [ -x $DIR/gcc ]; then
>> --      echo "found gcc in $DIR" 1>&2
>> --      GCCPATH=gcc
>> --      break
>> --  fi
>> --    done
>> --fi
>> -- 
>> - TMP=conf$$
>> -
>> - # didn't find gcc in PATH; check if CC is gcc or clang
>> -@@ -529,14 +514,13 @@ esac
>> -
>> - # compiler options
>> - if [ "$GCCPATH" -a "$WANTGCC" ]; then
>> --    echo using gcc 1>&2
>> -     CCPATH="$GCCPATH"
>> -     CCVERS=-v
>> -     echo 'CCM=$(CC) -M'       >> $CONFIG_M4
>> -
>> -     # w/ gcc v3 -O3 turns on things OTHER than -finline-functions,
>> -     # so make -O3 the default, and use -fno-inline-functions
>> --    OPT=-O3
>> -+    OPT=
>> -
>> -     if [ ! "$INLINE_OK" ]; then
>> -   echo 'ADD_OPT([-fno-inline-functions])' >> $CONFIG_M4
>> -@@ -624,7 +608,7 @@ elif [ "$CC_IS" = clang ]; then
>> -     CCVERS=-v
>> -     echo 'CCM=$(CC) -M'       >> $CONFIG_M4
>> -
>> --    OPT=-O3
>> -+    OPT=
>> -
>> -     # disable warnings enabled by default in code generated from SIL;
>> -     echo 'SNOBOL4_C_CFLAGS=-Wno-return-type -Wno-switch' >> $CONFIG_M4
>> Index: patches/patch-snolib_setuputil_sno
>> ===================================================================
>> RCS file: patches/patch-snolib_setuputil_sno
>> diff -N patches/patch-snolib_setuputil_sno
>> --- patches/patch-snolib_setuputil_sno  6 Nov 2017 08:14:14 -0000 1.1.1.1
>> +++ /dev/null 1 Jan 1970 00:00:00 -0000
>> @@ -1,25 +0,0 @@
>> -$OpenBSD: patch-snolib_setuputil_sno,v 1.1.1.1 2017/11/06 08:14:14 bcallah 
>> Exp $
>> -
>> -Install correctly.
>> -
>> -Index: snolib/setuputil.sno
>> ---- snolib/setuputil.sno.orig
>> -+++ snolib/setuputil.sno
>> -@@ -370,7 +370,7 @@ setup.posix.installcmd
>> -   destdir = HOST(HOST_GETENV, 'DESTDIR')
>> -   libfile = setup.dlname(t)
>> -   shared = (HOST(HOST_SHARED_OBJ_SUBDIR), 'shared')
>> --  command = 'cp -f ' libfile ' ' destdir dest '/' shared
>> -+  command = 'cp -f ' libfile ' ' dest '/' shared
>> -   setup.posix.system(command)   :f(FRETURN)
>> -
>> -   sno = setup.sno(t)
>> -@@ -392,7 +392,7 @@ setup.posix.instcmd.xloop
>> -   manfiles = FILE(fn) manfiles ' ' fn   :(setup.posix.instcmd.xloop)
>> - setup.posix.instcmd.xdone
>> -
>> --  command = 'cp -f ' snofiles ' ' destdir dest
>> -+  command = 'cp -f ' snofiles ' ' dest
>> -   setup.posix.system(command)   :f(FRETURN)
>> -
>> -   IDENT(manfiles)       :s(RETURN)
>> Index: pkg/PLIST
>> ===================================================================
>> RCS file: /cvs/ports/lang/snobol4/pkg/PLIST,v
>> retrieving revision 1.1.1.1
>> diff -u -p -r1.1.1.1 PLIST
>> --- pkg/PLIST 6 Nov 2017 08:14:14 -0000 1.1.1.1
>> +++ pkg/PLIST 13 Feb 2021 16:46:46 -0000
>> @@ -1,76 +1,88 @@
>> @comment $OpenBSD: PLIST,v 1.1.1.1 2017/11/06 08:14:14 bcallah Exp $
>> bin/sdb
>> -bin/sdb-2.0
>> +bin/sdb-${V}
>> @bin bin/snobol4
>> -@bin bin/snobol4-2.0
>> +@bin bin/snobol4-${V}
>> bin/snopea
>> -bin/snopea-2.0
>> +bin/snopea-${V}
>> lib/snobol4/
>> -lib/snobol4/2.0/
>> -lib/snobol4/2.0/CHANGES
>> -lib/snobol4/2.0/README
>> -lib/snobol4/2.0/include/
>> -lib/snobol4/2.0/include/config.h
>> -lib/snobol4/2.0/include/dt.h
>> -lib/snobol4/2.0/include/equ.h
>> -lib/snobol4/2.0/include/h.h
>> -lib/snobol4/2.0/include/handle.h
>> -lib/snobol4/2.0/include/load.h
>> -lib/snobol4/2.0/include/macros.h
>> -lib/snobol4/2.0/include/snotypes.h
>> -lib/snobol4/2.0/include/str.h
>> -lib/snobol4/2.0/include/version.h
>> -lib/snobol4/2.0/lib/
>> -lib/snobol4/2.0/lib/basename.sno
>> -lib/snobol4/2.0/lib/bq.sno
>> -lib/snobol4/2.0/lib/chars.sno
>> -lib/snobol4/2.0/lib/config.sno
>> -lib/snobol4/2.0/lib/dirs.sno
>> -lib/snobol4/2.0/lib/dynamic.sno
>> -lib/snobol4/2.0/lib/fence.sno
>> -lib/snobol4/2.0/lib/ffi.sno
>> -lib/snobol4/2.0/lib/file.sno
>> -lib/snobol4/2.0/lib/fork.sno
>> -lib/snobol4/2.0/lib/ftp.sno
>> -lib/snobol4/2.0/lib/host.sno
>> -lib/snobol4/2.0/lib/http.sno
>> -lib/snobol4/2.0/lib/logic.sno
>> -lib/snobol4/2.0/lib/ndbm.sno
>> -lib/snobol4/2.0/lib/not.sno
>> -lib/snobol4/2.0/lib/random.sno
>> -lib/snobol4/2.0/lib/readline.sno
>> -lib/snobol4/2.0/lib/repl.sno
>> -lib/snobol4/2.0/lib/sdb.sno
>> -lib/snobol4/2.0/lib/serv.sno
>> -lib/snobol4/2.0/lib/setuputil.sno
>> -lib/snobol4/2.0/lib/shared/
>> -lib/snobol4/2.0/lib/shared/dirs.so
>> -lib/snobol4/2.0/lib/shared/ffi.so
>> -lib/snobol4/2.0/lib/shared/fork.so
>> -lib/snobol4/2.0/lib/shared/logic.so
>> -lib/snobol4/2.0/lib/shared/ndbm.so
>> -lib/snobol4/2.0/lib/shared/random.so
>> -lib/snobol4/2.0/lib/shared/readline.so
>> -lib/snobol4/2.0/lib/shared/sprintf.so
>> -lib/snobol4/2.0/lib/shared/sqlite3.so
>> -lib/snobol4/2.0/lib/shared/stat.so
>> -lib/snobol4/2.0/lib/shared/time.so
>> -lib/snobol4/2.0/lib/smtp.sno
>> -lib/snobol4/2.0/lib/snobol4+.sno
>> -lib/snobol4/2.0/lib/snopea.sno
>> -lib/snobol4/2.0/lib/spitbol.sno
>> -lib/snobol4/2.0/lib/sprintf.sno
>> -lib/snobol4/2.0/lib/sqlite3.sno
>> -lib/snobol4/2.0/lib/sqlite3dbm.sno
>> -lib/snobol4/2.0/lib/stat.sno
>> -lib/snobol4/2.0/lib/tcp.sno
>> -lib/snobol4/2.0/lib/time.sno
>> -lib/snobol4/2.0/lib/unique.sno
>> -lib/snobol4/2.0/lib/url.sno
>> -lib/snobol4/2.0/lib/utf.sno
>> -lib/snobol4/2.0/lib/wrapper.sno
>> -@comment lib/snobol4/local/
>> @comment lib/snobol4/local/shared/
>> +lib/snobol4/${V}/
>> +lib/snobol4/${V}/CHANGES
>> +lib/snobol4/${V}/README
>> +lib/snobol4/${V}/include/
>> +lib/snobol4/${V}/include/config.h
>> +lib/snobol4/${V}/include/dt.h
>> +lib/snobol4/${V}/include/equ.h
>> +lib/snobol4/${V}/include/h.h
>> +lib/snobol4/${V}/include/handle.h
>> +lib/snobol4/${V}/include/load.h
>> +lib/snobol4/${V}/include/macros.h
>> +lib/snobol4/${V}/include/module.h
>> +lib/snobol4/${V}/include/snotypes.h
>> +lib/snobol4/${V}/include/str.h
>> +lib/snobol4/${V}/include/version.h
>> +lib/snobol4/${V}/lib/
>> +lib/snobol4/${V}/lib/base64.sno
>> +lib/snobol4/${V}/lib/basename.sno
>> +lib/snobol4/${V}/lib/bq.sno
>> +lib/snobol4/${V}/lib/chars.sno
>> +lib/snobol4/${V}/lib/cmp.sno
>> +lib/snobol4/${V}/lib/config.sno
>> +lib/snobol4/${V}/lib/digest.sno
>> +lib/snobol4/${V}/lib/dirs.sno
>> +lib/snobol4/${V}/lib/dynamic.sno
>> +lib/snobol4/${V}/lib/ezio.sno
>> +lib/snobol4/${V}/lib/fence.sno
>> +lib/snobol4/${V}/lib/ffi.sno
>> +lib/snobol4/${V}/lib/file.sno
>> +lib/snobol4/${V}/lib/fork.sno
>> +lib/snobol4/${V}/lib/ftp.sno
>> +lib/snobol4/${V}/lib/host.sno
>> +lib/snobol4/${V}/lib/http.sno
>> +lib/snobol4/${V}/lib/json.sno
>> +lib/snobol4/${V}/lib/logic.sno
>> +lib/snobol4/${V}/lib/ndbm.sno
>> +lib/snobol4/${V}/lib/not.sno
>> +lib/snobol4/${V}/lib/random.sno
>> +lib/snobol4/${V}/lib/readline.sno
>> +lib/snobol4/${V}/lib/repl.sno
>> +lib/snobol4/${V}/lib/sdb.sno
>> +lib/snobol4/${V}/lib/serv.sno
>> +lib/snobol4/${V}/lib/setuputil.sno
>> +lib/snobol4/${V}/lib/shared/
>> +@so lib/snobol4/${V}/lib/shared/base64.so
>> +@so lib/snobol4/${V}/lib/shared/digest.so
>> +@so lib/snobol4/${V}/lib/shared/dirs.so
>> +@so lib/snobol4/${V}/lib/shared/ffi.so
>> +@so lib/snobol4/${V}/lib/shared/fork.so
>> +@so lib/snobol4/${V}/lib/shared/logic.so
>> +@so lib/snobol4/${V}/lib/shared/ndbm.so
>> +@so lib/snobol4/${V}/lib/shared/random.so
>> +@so lib/snobol4/${V}/lib/shared/readline.so
>> +@so lib/snobol4/${V}/lib/shared/sprintf.so
>> +@so lib/snobol4/${V}/lib/shared/sqlite3.so
>> +@so lib/snobol4/${V}/lib/shared/stat.so
>> +@so lib/snobol4/${V}/lib/shared/time.so
>> +@so lib/snobol4/${V}/lib/shared/zlib.so
>> +lib/snobol4/${V}/lib/smtp.sno
>> +lib/snobol4/${V}/lib/snobol4+.sno
>> +lib/snobol4/${V}/lib/snopea.sno
>> +lib/snobol4/${V}/lib/spitbol.sno
>> +lib/snobol4/${V}/lib/sprintf.sno
>> +lib/snobol4/${V}/lib/sqlite3.sno
>> +lib/snobol4/${V}/lib/sqlite3dbm.sno
>> +lib/snobol4/${V}/lib/stat.sno
>> +lib/snobol4/${V}/lib/tcp.sno
>> +lib/snobol4/${V}/lib/time.sno
>> +lib/snobol4/${V}/lib/unique.sno
>> +lib/snobol4/${V}/lib/url.sno
>> +lib/snobol4/${V}/lib/utf.sno
>> +lib/snobol4/${V}/lib/wrapper.sno
>> +lib/snobol4/${V}/lib/zlib.sno
>> +lib/snobol4/${V}/local/
>> +lib/snobol4/${V}/local/shared/
>> +@comment lib/snobol4/local/
>> @man man/man1/sdb.1
>> @man man/man1/snobol4.1
>> @man man/man1/snobol4blocks.1
>> @@ -81,10 +93,17 @@ lib/snobol4/2.0/lib/wrapper.sno
>> @man man/man1/snobol4func.1
>> @man man/man1/snobol4io.1
>> @man man/man1/snobol4key.1
>> +@man man/man1/snobol4op.1
>> @man man/man1/snopea.1
>> +@man man/man3/snobol4base64.3
>> +@man man/man3/snobol4digest.3
>> @man man/man3/snobol4dirs.3
>> +@man man/man3/snobol4ezio.3
>> @man man/man3/snobol4ffi.3
>> @man man/man3/snobol4fork.3
>> +@man man/man3/snobol4host.3
>> +@man man/man3/snobol4json.3
>> +@man man/man3/snobol4load.3
>> @man man/man3/snobol4logic.3
>> @man man/man3/snobol4ndbm.3
>> @man man/man3/snobol4random.3
>> @@ -95,23 +114,29 @@ lib/snobol4/2.0/lib/wrapper.sno
>> @man man/man3/snobol4sqlite3dbm.3
>> @man man/man3/snobol4stat.3
>> @man man/man3/snobol4time.3
>> +@man man/man3/snobol4zlib.3
>> @man man/man3/snolib.3
>> @man man/man7/snopea.7
>> share/doc/snobol4/
>> -share/doc/snobol4/load.txt
>> share/doc/snobol4/sdb.1.html
>> share/doc/snobol4/snobol4.1.html
>> +share/doc/snobol4/snobol4base64.3.html
>> share/doc/snobol4/snobol4blocks.1.html
>> share/doc/snobol4/snobol4cmd.1.html
>> share/doc/snobol4/snobol4ctrl.1.html
>> +share/doc/snobol4/snobol4digest.3.html
>> share/doc/snobol4/snobol4dirs.3.html
>> share/doc/snobol4/snobol4error.1.html
>> share/doc/snobol4/snobol4ext.1.html
>> +share/doc/snobol4/snobol4ezio.3.html
>> share/doc/snobol4/snobol4ffi.3.html
>> share/doc/snobol4/snobol4fork.3.html
>> share/doc/snobol4/snobol4func.1.html
>> +share/doc/snobol4/snobol4host.3.html
>> share/doc/snobol4/snobol4io.1.html
>> +share/doc/snobol4/snobol4json.3.html
>> share/doc/snobol4/snobol4key.1.html
>> +share/doc/snobol4/snobol4load.3.html
>> share/doc/snobol4/snobol4logic.3.html
>> share/doc/snobol4/snobol4ndbm.3.html
>> share/doc/snobol4/snobol4op.1.html
>> @@ -123,6 +148,7 @@ share/doc/snobol4/snobol4sqlite3.3.html
>> share/doc/snobol4/snobol4sqlite3dbm.3.html
>> share/doc/snobol4/snobol4stat.3.html
>> share/doc/snobol4/snobol4time.3.html
>> +share/doc/snobol4/snobol4zlib.3.html
>> share/doc/snobol4/snolib.3.html
>> share/doc/snobol4/snopea.1.html
>> share/doc/snobol4/snopea.7.html

Reply via email to