On Sat, Feb 20, 2021 at 02:11:45PM -0800, Andrew Hewus Fresh wrote: > I've probably missed making it in for 6.9, but it is again time for > testing a perl update so it can become /usr/bin/perl
It was pointed out that there is still time to get this in for 6.9, and sthen@ says it looks OK in a bulk ports build, so I'll be working on preparing the import this weekend. Please let me know of any reasons to hold off. > > Several good changes this time: > https://metacpan.org/pod/distribution/perl/pod/perl5320delta.pod > https://metacpan.org/pod/release/SHAY/perl-5.32.1/pod/perldelta.pod > > * A new "isa" operator > * A new feature "no indirect" that disables indirect object notation > * Chained comparisons ( $x < $y <= $z ) > * Unicode 13.0 > * IO::Compress now comes with the streamzip utility. > > Plus a bunch of other unicode and regex things as well as new versions > of many modules. > > It also includes the recent PERL_HASH fix for 64bit strict alignment > architectures and removes several local patches that were merged > upstream. > > It would be nice to get feedback on some of the architectures I don't > have, and a bulk ports build to see what sort of fallout happens there. > > The logs for what I do have are here: > https://github.com/afresh1/OpenBSD-perl/tree/blead/build_logs/perl-5.32.1 > > Which are alpha, amd64, arm64, armv7, macppc, octeon, and sparc64. > > The issues I had in 5.30 with capturing output from forked processes on my > alpha are still there, could just be that it's slow. > > For running the perl test suite, you can follow the instructions on > github, repeated here: > > https://github.com/afresh1/OpenBSD-perl > > download the patches and scripts > https://github.com/afresh1/OpenBSD-perl/archive/blead.tar.gz > and extract someplace > or git clone https://github.com/afresh1/OpenBSD-perl.git > download perl-5.30.0.tar.gz into the same directory > https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.32.1.tar.gz > cd to someplace you have room > run /path/to/OpenBSD-perl/build_perl > wait > send me the log file(s) it generates > > > You can download a pre-patched version of perl that can be extracted to > replace > src/gnu/usr.bin/perl for building a system with the new perl: > https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1.tar.gz > > I also have what should be a mostly correct sets/lists patch for building a > release. > https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1-sets.patch > > There are also several files that are no longer part of the perl distribution: > > rm -r /usr/bin/podselect \ > /usr/lib/libperl.so.20.0 \ > /usr/lib/libperl.so.21.0 \ > /usr/libdata/perl5/*/CORE/dquote_inline.h \ > /usr/libdata/perl5/*/Tie \ > /usr/libdata/perl5/*/auto/Tie \ > /usr/libdata/perl5/Pod/Find.pm \ > /usr/libdata/perl5/Pod/InputObjects.pm \ > /usr/libdata/perl5/Pod/ParseUtils.pm \ > /usr/libdata/perl5/Pod/Parser.pm \ > /usr/libdata/perl5/Pod/PlainText.pm \ > /usr/libdata/perl5/Pod/Select.pm \ > /usr/libdata/perl5/pod/perlce.pod \ > /usr/libdata/perl5/unicore/Heavy.pl \ > /usr/libdata/perl5/unicore/lib/Lb/EB.pl \ > /usr/libdata/perl5/unicore/lib/Perl/_PerlNon.pl \ > /usr/libdata/perl5/unicore/lib/Sc/Armn.pl \ > /usr/libdata/perl5/utf8_heavy.pl \ > /usr/share/man/man1/podselect.1 \ > /usr/share/man/man3p/Pod::Find.3p \ > /usr/share/man/man3p/Pod::InputObjects.3p \ > /usr/share/man/man3p/Pod::ParseUtils.3p \ > /usr/share/man/man3p/Pod::Parser.3p \ > /usr/share/man/man3p/Pod::PlainText.3p \ > /usr/share/man/man3p/Pod::Select.3p > > > There's also patch file that should apply to a -current tree updating to > perl 5.32.1. You'll still need the sets lists patch if you're planning > to build a release. > > https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1.patch > > Unfortunately the patch doesn't actually apply due to non-ascii files in > the diff, not quite sure the magic incantation to make that work, so I > recommend replacing src/gnu/usr.bin/perl with the extracted tar.gz > linked above. > > If it did apply, you would copy the patch to /usr/src/perl-5.32.1.patch > (or adjust the paths below) > > cd /usr/src/ > patch -p0 -uNE < perl-5.32.1.patch > > # Remove patch cruft > find gnu/usr.bin/perl -name '*.orig' -delete > > # Add and remove binary and zero sized files that patch doesn't understand > grep -B1 -e '^Index:' -e 'Binary files /tmp/.* and /dev/null differ' \ > perl-5.32.1.patch | sed -ne 's/^diff -N //p' | > while read f; do if [ -e $f ]; then rm $f; else touch $f; fi; done > > cd gnu/usr.bin/perl && find -d . \ > \( -type d -o -path '*/CVS' -prune \) \ > ! -name CVS \ > -exec test -e {}/CVS \; \ > -execdir sh -c 'test $( ls -1 {} | grep -v '^CVS/$' | wc -l ) -eq 0' \; \ > -exec rm -r {} \; > > -- andrew - http://afresh1.com If your computer says, "Printer out of Paper," this problem cannot be resolved by continuously clicking the "OK" button.