I was trying to port GNU Complexity, but our autogen version is too old. Below is an initial patch to update it. I've been planning to run it through a bulk build, but my build machine has been giving me issues. I'll get to it pretty soon, but if anyone else can once it's ready, I'd appreciate it.
For some reason, it picks up guile if available and uses it even if guile2 (which is the only one that works here) is installed. I didn't see a configure option to force guile2. If only guile2 is installed, it works as expected. What's the best way of dealing with this? Two tests fail, which I haven't had a chance to look into yet. The existing port fails one test, but the test suite seems to have changed significantly. None of the patches seemed to be needed anymore. Index: Makefile =================================================================== RCS file: /cvs/ports/devel/autogen/Makefile,v retrieving revision 1.19 diff -u -p -r1.19 Makefile --- Makefile 16 Mar 2015 18:07:39 -0000 1.19 +++ Makefile 16 Mar 2016 02:03:09 -0000 @@ -3,30 +3,32 @@ COMMENT= automatic text creation from templates CATEGORIES= devel -V= 5.8.7 +V= 5.18.7 DISTNAME= autogen-${V} REVISION= 4 SHARED_LIBS += opts 27.5 # .27.5 -SHARED_LIBS += guileopts 1.0 # .0.1 HOMEPAGE= http://autogen.sourceforge.net/ -MASTER_SITES= ${MASTER_SITE_GNU:=autogen/rel${V}/} +MASTER_SITES= ${MASTER_SITE_GNU:=autogen/} + +EXTRACT_SUFX= .tar.xz # GPLv2 PERMIT_PACKAGE_CDROM=Yes -WANTLIB += c gmp guile ltdl lzma m pthread xml2 z +WANTLIB += c gmp guile-2.0 ltdl lzma m pthread xml2 z ffi gc unistring MODULES= devel/gettext -LIB_DEPENDS= lang/guile \ +LIB_DEPENDS= lang/guile2 \ textproc/libxml CONFIGURE_STYLE=gnu CONFIGURE_ARGS= --without-libregex \ --includedir=${PREFIX}/include/autogen \ ${ENABLE_SHARED} +USE_GMAKE= Yes MAKE_FLAGS+= INFO_DEPS= USE_GROFF = Yes .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/devel/autogen/distinfo,v retrieving revision 1.4 diff -u -p -r1.4 distinfo --- distinfo 18 Jan 2015 03:13:08 -0000 1.4 +++ distinfo 16 Mar 2016 02:03:09 -0000 @@ -1,2 +1,2 @@ -SHA256 (autogen-5.8.7.tar.gz) = E9UkHa3KEXCTqGTFkDMBWFlV9J6LJ2aqujEXZbZ6XFc= -SIZE (autogen-5.8.7.tar.gz) = 1279984 +SHA256 (autogen-5.18.7.tar.xz) = p6WApeGJMcs0GyVc7C/uLf2BvqXdvw2K1yJwPhmqpAU= +SIZE (autogen-5.18.7.tar.xz) = 1021400 Index: patches/patch-agen5_defLoad_c =================================================================== RCS file: patches/patch-agen5_defLoad_c diff -N patches/patch-agen5_defLoad_c --- patches/patch-agen5_defLoad_c 9 Dec 2006 18:28:53 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,31 +0,0 @@ -$OpenBSD: patch-agen5_defLoad_c,v 1.1 2006/12/09 18:28:53 kili Exp $ - -# Fix use after realloc. - ---- agen5/defLoad.c.orig Sun Sep 24 04:58:59 2006 -+++ agen5/defLoad.c Sun Nov 19 18:30:20 2006 -@@ -418,6 +418,7 @@ readDefines( void ) - */ - if (sizeLeft == 0) { - tScanCtx* p; -+ char *oldPzData; - - /* - * IF it is a regular file, then we are done -@@ -430,6 +431,7 @@ readDefines( void ) - * Try to reallocate our input buffer. - */ - dataSize += (sizeLeft = 0x1000); -+ oldPzData = pBaseCtx->pzData; - p = (tScanCtx*)AGREALOC( (void*)pBaseCtx, - dataSize+4+sizeof( *pBaseCtx ), - "expanded file buffer" ); -@@ -442,7 +444,7 @@ readDefines( void ) - if (p != pBaseCtx) { - p->pzScan = \ - p->pzData = (char*)(p+1); -- pzData = p->pzData + (pzData - pBaseCtx->pzData); -+ pzData = p->pzData + (pzData - oldPzData); - pBaseCtx = p; - } - } Index: patches/patch-agen5_test_error_test =================================================================== RCS file: patches/patch-agen5_test_error_test diff -N patches/patch-agen5_test_error_test --- patches/patch-agen5_test_error_test 9 Dec 2006 18:28:53 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -$OpenBSD: patch-agen5_test_error_test,v 1.1 2006/12/09 18:28:53 kili Exp $ - -# Cope with the additional abort message (don't panic -- this test -# intentionally checks abort behaviour). - ---- agen5/test/error.test.orig Sun Sep 24 04:11:15 2006 -+++ agen5/test/error.test Fri Nov 17 20:15:03 2006 -@@ -103,6 +103,7 @@ AutoGen aborting on signal <text-varies> - processing template error2.tpl - on line 2 - for function EXPR (11) -+Abort trap (core dumped) - _EOF_ - - sed '/THIS TEXT/,/ESAC/d;s,this is never seen,<= `die testing death` =>,' \ Index: patches/patch-autoopts_test_enums_test =================================================================== RCS file: patches/patch-autoopts_test_enums_test diff -N patches/patch-autoopts_test_enums_test --- patches/patch-autoopts_test_enums_test 9 Dec 2006 18:28:53 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-autoopts_test_enums_test,v 1.1 2006/12/09 18:28:53 kili Exp $ - -# There are some strange shells in the wild, but not on OpenBSD. -# Removing the tab from the closing line isn't an option since this -# would be unethical. - ---- autoopts/test/enums.test.orig Sat Sep 23 03:45:13 2006 -+++ autoopts/test/enums.test Fri Nov 17 20:04:44 2006 -@@ -190,7 +190,7 @@ cat > ${testname}.tpl <<- \__EOF - } - __EOF - --cat >> ${testname}.tpl <<__EOF -+cat >> ${testname}.tpl <<- __EOF - int - main( int argc, char** argv ) - { Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/devel/autogen/pkg/PLIST,v retrieving revision 1.5 diff -u -p -r1.5 PLIST --- pkg/PLIST 16 Mar 2015 18:07:39 -0000 1.5 +++ pkg/PLIST 16 Mar 2016 02:03:09 -0000 @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST,v 1.5 2015/03/16 18:07:39 naddy Exp $ +@comment $OpenBSD$ @bin bin/autogen bin/autoopts-config @bin bin/columns @@ -8,9 +8,8 @@ include/autogen/ include/autogen/autoopts/ include/autogen/autoopts/options.h include/autogen/autoopts/usage-txt.h -lib/libguileopts.a -lib/libguileopts.la -@lib lib/libguileopts.so.${LIBguileopts_VERSION} +lib/autogen/ +lib/autogen/tpl-config.tlib lib/libopts.a lib/libopts.la @lib lib/libopts.so.${LIBopts_VERSION} @@ -28,8 +27,11 @@ lib/pkgconfig/autoopts.pc @man man/man3/optionFree.3 @man man/man3/optionGetValue.3 @man man/man3/optionLoadLine.3 +@man man/man3/optionMemberList.3 @man man/man3/optionNextValue.3 @man man/man3/optionOnlyUsage.3 +@man man/man3/optionPrintVersion.3 +@man man/man3/optionPrintVersionAndReturn.3 @man man/man3/optionProcess.3 @man man/man3/optionRestore.3 @man man/man3/optionSaveFile.3 @@ -42,25 +44,54 @@ lib/pkgconfig/autoopts.pc @man man/man3/strneqvcmp.3 @man man/man3/strtransform.3 share/aclocal/autoopts.m4 -share/aclocal/liboptschk.m4 share/autogen/ +share/autogen/Mdoc.pm share/autogen/aginfo.tpl share/autogen/aginfo3.tpl -share/autogen/agman-lib.tpl +share/autogen/agman-cmd.tpl +share/autogen/agman-file.tpl +share/autogen/agman.tlib share/autogen/agman1.tpl share/autogen/agman3.tpl +share/autogen/agmdoc-cmd.tpl +share/autogen/agmdoc-file.tpl +share/autogen/agpl.lic +share/autogen/agtexi-cmd.tpl +share/autogen/agtexi-file.tpl share/autogen/autoopts.m4 -share/autogen/confmacs.tpl +share/autogen/bits.tpl +share/autogen/cmd-doc.tlib +share/autogen/confmacs.tlib share/autogen/conftest.tpl -share/autogen/fsm-macro.tpl -share/autogen/fsm-trans.tpl +share/autogen/def2pot.tpl +share/autogen/fsm-macro.tlib +share/autogen/fsm-trans.tlib share/autogen/fsm.tpl share/autogen/getopt.tpl -share/autogen/libopts-27.5.3.tar.gz -share/autogen/optcode.tpl -share/autogen/opthead.tpl +share/autogen/gpl.lic +share/autogen/gplv2.lic +share/autogen/lgpl.lic +share/autogen/lgplv2.lic +share/autogen/libopts-41.1.16.tar.gz +share/autogen/liboptschk.m4 +share/autogen/man2mdoc +share/autogen/man2texi +share/autogen/mbsd.lic +share/autogen/mdoc2man +share/autogen/mdoc2texi +share/autogen/optcode.tlib +share/autogen/opthead.tlib share/autogen/options.tpl -share/autogen/optlib.tpl -share/autogen/optmain.tpl +share/autogen/optlib.tlib +share/autogen/optmain.tlib +share/autogen/perlopt.tpl share/autogen/rc-sample.tpl share/autogen/stdoptions.def +share/autogen/str2enum.tpl +share/autogen/str2init.tlib +share/autogen/str2mask.tpl +share/autogen/strings.tpl +share/autogen/texi2man +share/autogen/texi2mdoc +share/autogen/tpl-config.tlib +share/autogen/usage.tlib