On Tue, Jan 25, 2022 at 05:13:01PM +0100, Alexander Bluhm wrote:
> On Sat, Jan 22, 2022 at 02:24:51AM +0100, Marc Espie wrote:
> > Or we can automate this with something like this:
> > 
> > Index: perl.port.mk
> > ===================================================================
> > RCS file: /cvs/ports/infrastructure/mk/perl.port.mk,v
> > retrieving revision 1.32
> > diff -u -p -r1.32 perl.port.mk
> > --- perl.port.mk    12 Dec 2021 19:25:39 -0000      1.32
> > +++ perl.port.mk    21 Jan 2022 17:39:18 -0000
> > @@ -56,6 +56,11 @@ MODPERL_pre-configure = for f in ${MODPE
> >     ${MODPERL_BIN_ADJ} ${WRKSRC}/$${f}; done
> >  .endif
> >  
> > +MODPERL_gen = cd ${WRKDIST} && \
> > +   if test -f ppport.h; then \
> > +           perl  -MDevel::PPPort -e'Devel::PPPort::WriteFile'; \
> > +   fi
> > +
> >  .if ${CONFIGURE_STYLE:L:Mmodbuild}
> >  MODPERL_configure = \
> >      cd ${WRKSRC}; ${SETENV} ${CONFIGURE_ENV} \
> 
> I have tried it with my Perl ports testing site.
> http://bluhm.genua.de/portstest/results/regress-ot29.html
> 
> Logfile size went from 19.2 to 2.9 MB.  Before I had 17590
> compound-token-split-by-macro warnings, now there are 464 left.
> 
> databases/p5-DBI and devel/p5-YAML-XS do something special and still
> generate warnings.
> 
> databases/p5-CDB_File and devel/p5-Moose fail to build.
> http://bluhm.genua.de/portstest/results/2022-01-25T13%3A50%3A36Z/logs/databases/p5-CDB_File/make.log
> http://bluhm.genua.de/portstest/results/2022-01-25T13%3A50%3A36Z/logs/devel/p5-Moose/make.log
> 
> CDB_File.xs:74:5: error: function-like macro 'PERL_VERSION_LE' is not defined
> #if PERL_VERSION_LE(5,13,7)
>     ^
> CDB_File.xs:322:5: error: function-like macro 'PERL_VERSION_GT' is not defined
> #if PERL_VERSION_GT(5,13,7)
>     ^
> mop.c:13:5: error: function-like macro 'PERL_VERSION_GE' is not defined
> #if PERL_VERSION_GE(5,10,0)
>     ^

Our Devel::PPPort is too old.  We ship with 3.57, p5-CDB_File and p5-Moose
ship with ppport.h generated by 3.62.

    ppport.h -- Perl/Pollution/Portability Version 3.57
    Automatically created by Devel::PPPort running under perl 5.032001.

    ppport.h -- Perl/Pollution/Portability Version 3.62
    Automatically created by Devel::PPPort running under perl 5.032000.

    ppport.h -- Perl/Pollution/Portability Version 3.62
    Automatically created by Devel::PPPort running under perl 5.033008.

bluhm

Reply via email to