Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: stu...@debian.org
Dear Release Team, I would like to update the pyx3 source package in bullseye to fix a nasty bug in its text layout that makes it more-or-less unusable at present (#992656). [ Reason ] An incompatibility between the pyx3 and texlive in the bullseye release means that text box alignment is broken in plots generated by pyx. The result is unreadable plots where, for example, the tick labels are vertically displaced, with the y-tick labels perhaps being next to the wrong tick mark, and the x-tick labels being cropped off the bottom of the image. Upstream reported this bug and even indicated the appropriate patch to cherry-pick (see #992656). [ Impact ] pyx3 in bullseye is not usable with the 'LatexEngine' text engine; the alternative text engine (typesetting using plain TeX) is fine for some work, but many users would use LatexEngine as the text engine across all plots. While it is not the default text engine that it is broken, it widely used such that it is worth updating in bullseye. [ Tests ] PyX has a test suite that is run and passes at build time. However, the test suite does not check for the visual correctness of the output which is where this bug lies. I have manually tested the updated packages using the test case provided by upstream in #992656 to verify that the bug is indeed fixed. I have also checked other output from the update pyx3 package. [ Risks ] This is an upstream patch that was identified by upstream as being appropriate for the bullseye-pu. The actual change is a single line of LaTeX macro usage in configuring the text engine. [ Checklist ] [✔] *all* changes are documented in the d/changelog [✔] I reviewed all changes and I approve them [✔] attach debdiff against the package in (old)stable [✔] the issue is verified as fixed in unstable [ Changes ] Only one change: The LatexEngine configuration is switched to use a different PyX macro that allows the correct alignment of the text in the output. [ Other info ] This bug is already fixed in unstable and testing (version 0.15-4); the only difference between the version in unstable and the debdiff proposed here is the changelog entry. My manual testing of this fix was undertaken against both the 0.15-3+deb11u1 and 0.15-4 packages installed into their respective releases. Thanks for your assistance with this bullseye-pu. Stuart
diff -Nru pyx3-0.15/debian/changelog pyx3-0.15/debian/changelog --- pyx3-0.15/debian/changelog 2020-03-23 10:05:15.000000000 +1100 +++ pyx3-0.15/debian/changelog 2021-09-04 12:51:47.000000000 +1000 @@ -1,3 +1,11 @@ +pyx3 (0.15-3+deb11u1) bullseye; urgency=medium + + * Fix horizontal font alignment issue with texlive 2020. Cherry-pick patch + from upstream, with thanks to Andre Wobst and Joerg Lehmann + (Closes: #992656). + + -- Stuart Prescott <stu...@debian.org> Sat, 04 Sep 2021 12:51:47 +1000 + pyx3 (0.15-3) unstable; urgency=medium * Fix autopkgtest failure due to use of py3versions -i, with thanks to Scott diff -Nru pyx3-0.15/debian/patches/series pyx3-0.15/debian/patches/series --- pyx3-0.15/debian/patches/series 2020-03-23 10:05:15.000000000 +1100 +++ pyx3-0.15/debian/patches/series 2021-09-04 12:51:47.000000000 +1000 @@ -9,3 +9,4 @@ reproducible-timestamps.patch reproducible-image-name.patch reproducible-elements.patch +texlive2020-horiz-alignment.patch diff -Nru pyx3-0.15/debian/patches/texlive2020-horiz-alignment.patch pyx3-0.15/debian/patches/texlive2020-horiz-alignment.patch --- pyx3-0.15/debian/patches/texlive2020-horiz-alignment.patch 1970-01-01 10:00:00.000000000 +1000 +++ pyx3-0.15/debian/patches/texlive2020-horiz-alignment.patch 2021-09-04 12:51:47.000000000 +1000 @@ -0,0 +1,31 @@ +From 82f82028ec5bc166ff2bb5bfa416ed94486b2775 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Wobst?= <wob...@pyx-project.org> +Date: Sat, 21 Aug 2021 13:46:28 +0200 +Subject: [PATCH] Make alignment work with texlive 2020 + +The LaTeX shipout macro has recently been changed in unboxing and +reboxing the content. This resulted in a misplacment in vertical +direction by ignoring that PyX sets the height to zero. + +This bug has been reported by Thomas Bending. +--- + pyx/text.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyx/text.py b/pyx/text.py +index 9ecd0768..68539743 100644 +--- a/pyx/text.py ++++ b/pyx/text.py +@@ -1202,8 +1202,8 @@ class SingleEngine: + "rt=\\the\\PyXDimenHAlignRT," + "ht=\\the\\ht\\PyXBox," + "dp=\\the\\dp\\PyXBox:}%\n" ++ "\\ht\\PyXBox0pt%\n" # baseline alignment (hight to zero) + "\\setbox\\PyXBoxHAligned=\\hbox{\\kern-\\PyXDimenHAlignLT\\box\\PyXBox}%\n" # align horizontally +- "\\ht\\PyXBoxHAligned0pt%\n" # baseline alignment (hight to zero) + "{\\count0=80\\count1=121\\count2=88\\count3=#2\\shipout\\box\\PyXBoxHAligned}}%\n" # shipout PyXBox to Page 80.121.88.<page number> + "\\def\\PyXInput#1{\\immediate\\write16{PyXInputMarker:executeid=#1:}}%\n" # write PyXInputMarker to stdout + "\\def\\PyXMarker#1{\\hskip0pt\\special{PyX:marker #1}}%", # write PyXMarker special into the dvi-file +-- +2.30.2 +