devel/autogen update

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

devel/autogen update

Michael McConville-3
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

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Michael McConville-3
Michael McConville wrote:
> 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?

I should probably give a little more information on this, as I spent a
while on it:

When guile 1.x is present, the configure script still recognizes and
chooses guile 2. Moreover, the correct pkg-config seems to be used, as
the guile 2 include headers are visible in the cc commands. I tried
looking into where things are failing, but it uses all sorts of
unfamiliar GNU build gunk (I think it might even bootstrap).

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Nigel Taylor-2
In reply to this post by Michael McConville-3
On 03/16/16 02:11, Michael McConville wrote:

> 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
Revision should be removed and start again if version changes.

>  
>  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>

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Gregor Best-2
In reply to this post by Michael McConville-3
On Wed, Mar 16, 2016 at 12:04:31AM -0400, Michael McConville wrote:

> Michael McConville wrote:
> > 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?
>
> I should probably give a little more information on this, as I spent a
> while on it:
>
> When guile 1.x is present, the configure script still recognizes and
> chooses guile 2. Moreover, the correct pkg-config seems to be used, as
> the guile 2 include headers are visible in the cc commands. I tried
> looking into where things are failing, but it uses all sorts of
> unfamiliar GNU build gunk (I think it might even bootstrap).
>

I think the issue is that guile1.x installs its main header to
        /usr/local/include/libguile.h
and guile2.x installs it to
        /usr/local/include/guile/2.0/libguile.h

If you use pkg-config to get flags for guile2.x, the header for guile1.x
is still in your include path and, depending on the order of flags, gets
picked up before the one for guile2.

I've had a similar problem when I worked on a project of mine. I think
the correct way to fix this would be to have the guile1.x port install
its headers to /usr/local/include/guile/1.8 or something like that.

--
        Gregor

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Stuart Henderson
In reply to this post by Michael McConville-3
On 2016/03/15 22:11, Michael McConville wrote:
> 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.

There are only 3 ports depending on it, a bulk build seems overkill.

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Michael McConville-3
In reply to this post by Gregor Best-2
Gregor Best wrote:

> On Wed, Mar 16, 2016 at 12:04:31AM -0400, Michael McConville wrote:
> > Michael McConville wrote:
> > > 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?
> >
> > I should probably give a little more information on this, as I spent a
> > while on it:
> >
> > When guile 1.x is present, the configure script still recognizes and
> > chooses guile 2. Moreover, the correct pkg-config seems to be used, as
> > the guile 2 include headers are visible in the cc commands. I tried
> > looking into where things are failing, but it uses all sorts of
> > unfamiliar GNU build gunk (I think it might even bootstrap).
> >
>
> I think the issue is that guile1.x installs its main header to
> /usr/local/include/libguile.h
> and guile2.x installs it to
> /usr/local/include/guile/2.0/libguile.h
>
> If you use pkg-config to get flags for guile2.x, the header for guile1.x
> is still in your include path and, depending on the order of flags, gets
> picked up before the one for guile2.
>
> I've had a similar problem when I worked on a project of mine. I think
> the correct way to fix this would be to have the guile1.x port install
> its headers to /usr/local/include/guile/1.8 or something like that.

I think you're right. I was misunderstanding how include precedence
works. I though that because they were specified in this order:

> -I/usr/local/include/guile/2.0 -I/usr/local/include

guile2 should be picked up, but it seems that that isn't the case.

Reply | Threaded
Open this post in threaded view
|

Re: devel/autogen update

Michael McConville-3
In reply to this post by Stuart Henderson
Stuart Henderson wrote:
> On 2016/03/15 22:11, Michael McConville wrote:
> > 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.
>
> There are only 3 ports depending on it, a bulk build seems overkill.

I just tested, and they all built successfully for me.

How should we handle the problem with Guile version collision?