Package: latexml
Version: 0.8.8-3
Tags: upstream
Forwarded: https://github.com/brucemiller/LaTeXML/issues/2670
Severity: important
User: [email protected]
Usertags: perl-5.42-transition

This package fails its test suite with Perl 5.42 (currently in
experimental.)

  #   Failed test 't/fonts/abxtest'
  #   at /tmp/autopkgtest.KoXZhU/build.SEA/src/blib/lib/LaTeXML/Util/Test.pm 
line 120.
  Wide character in print at /usr/share/perl/5.42/Test2/Formatter/TAP.pm line 
125.
  # Difference at line 4810 for t/fonts/abxtest
  #       got : '                    <XMTok font="italic" name="widecheck" 
role="OVERACCENT">ˇ</XMTok>'
  #  expected : '                    <XMTok name="widecheck" 
role="OVERACCENT">ˇ</XMTok>'
  
  #   Failed test 't/fonts/mathaccents'
  #   at /tmp/autopkgtest.KoXZhU/build.SEA/src/blib/lib/LaTeXML/Util/Test.pm 
line 120.
  Wide character in print at /usr/share/perl/5.42/Test2/Formatter/TAP.pm line 
125.
  # Difference at line 124 for t/fonts/mathaccents
  #       got : '                  <XMTok font="italic" name="check" 
role="OVERACCENT" stretchy="false">ˇ</XMTok>'
  #  expected : '                  <XMTok name="check" role="OVERACCENT" 
stretchy="false">ˇ</XMTok>'
[...]
  Test Summary Report
  -------------------
  Failed 1/35 test programs. 2/452 subtests failed.
  t/22_fonts.t            (Wstat: 512 (exited 2) Tests: 23 Failed: 2)
    Failed tests:  2, 12
  Non-zero exit status: 2

I'm attaching a full log from a local autopkgtest run with a Perl
5.42 test repository available (see below).

The test suite is not run at build time, but only with autopkgtest
checks. Unfortunately the build-needed restriction doesn't really work
with mixed repositories on ci.debian.net, so the test runs there are
misleading and were really done with Perl 5.40. I only caught this
regression by luck, otherwise it would have gone unnoticed until Perl
5.42 actually entered sid.

Please consider running the tests at build time too for better visibility
in the future. That would have caught this much sooner.

As for the cause, it's a change in Unicode 16 boiling down to

  perl -e 'die if "\N{CARON}" =~ /^\p{Latin}$/'

which changed behaviour (started dying) with Perl 5.42 (bundling Unicode
16.) This was intentional, see

  https://corp.unicode.org/pipermail/unicode/2025-October/011530.html

  https://www.unicode.org/L2/L2023/23280-scx-additions.txt

The upstream issue at https://github.com/brucemiller/LaTeXML/issues/2670
has the links and details, but there's no fix yet AFAICS.

If you want to test changes against Perl 5.42 in experimental and run
into uninstallability problems, there is a test repository of rebuilt
Debian sid packages for amd64 available at <https://perl.debian.net/>.

Thanks for your work on Debian,
-- 
Niko Tyni   [email protected]

Attachment: latexml-perl-5.42-log.gz
Description: application/gzip

Reply via email to