On 2018/12/24 19:05, Andrew Hewus Fresh wrote: > I've finally gotten our local patches applied to perl 5.28.1 and it now > could use some testing. I was trying to get a few more of my > architectures working, but I ran out of time and now I have to go visit > family for the holidays so it's up to y'all to do some testing for me. > > > The infrastructure to do that is still here on github, including > instructions on using it: > > https://github.com/afresh1/OpenBSD-perl/ > > > > You can also download a pre-patched perl from here, use it to replace > src/gnu/usr.bin/perl and do a normal build to get it installed, do note > that any XS modules that were built with the old version of perl will no > longer work, so be careful. > > http://cvs.afresh1.com/~andrew/OpenBSD-perl-5.28.1.tar.gz > > > You can read more on the new features and changes on the metacpan. > > https://metacpan.org/release/SHAY/perl-5.28.1 > > You find them in the perldelta for the versions since 5.24. > > https://metacpan.org/pod/release/SHAY/perl-5.28.1/pod/perl5260delta.pod > https://metacpan.org/pod/release/SHAY/perl-5.28.1/pod/perl5280delta.pod > https://metacpan.org/pod/release/SHAY/perl-5.28.1/pod/perldelta.pod > > > One of the important changes, and the one most likely to cause trouble > is the removal of "." from the @INC library search list.
Having fixed a bunch of these, and cwen@ fixing a bunch more, and still having 100-odd ports failing to build, I have come round to the idea of setting PERL_USE_UNSAFE_INC instead. I wasn't super happy about this but the upstream cpan tool seems resigned to doing this for now so we might as well follow suit. It seems sanest to set this in cpan.port.mk rather than individual Makefiles: Index: cpan.port.mk =================================================================== RCS file: /cvs/ports/infrastructure/mk/cpan.port.mk,v retrieving revision 1.20 diff -u -p -r1.20 cpan.port.mk --- cpan.port.mk 20 Mar 2016 19:56:44 -0000 1.20 +++ cpan.port.mk 3 Feb 2019 14:10:27 -0000 @@ -24,6 +24,11 @@ TEST_DEPENDS += devel/p5-Test-Pod \ devel/p5-Test-Pod-Coverage .endif +# perl 5.26+ no longer has "." in @INC by default, but it's widely required in +# build/test systems. set it locally, as is also done in the upstream cpan tool. +CONFIGURE_ENV += PERL_USE_UNSAFE_INC=1 +TEST_ENV += PERL_USE_UNSAFE_INC=1 + MODCPAN_POST_INSTALL = ${INSTALL_DATA_DIR} ${MODCPAN_EXAMPLES_DIR}; \ cd ${WRKSRC}/${MODCPAN_EXAMPLES_DIST}/ && pax -rw . ${MODCPAN_EXAMPLES_DIR};\ chown -R ${SHAREOWN}:${SHAREGRP} ${MODCPAN_EXAMPLES_DIR} Applying that diff fixes 80+. Any major concerns about doing that (especially espie@, afresh1@)? It hasn't been through a full build (I added it after a run to mop up breakage) but I can do that. The remaining broken ports after that are: devel/p5-PerlIO-via-Timeout games/zangband, security/steghide, x11/xtraceroute (via autoconf autom4te) misc/cbb net/p5-Net-FTPServer security/p5-Crypt-Twofish sysutils/p5-Sys-Virt www/ap2-mod_perl www/p5-HTML-FormatText-WithLinks-AndTables