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.

Reply via email to