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