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