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