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
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 {} \;