[Matplotlib-devel] On testing with other FreeType versions

Elliott Sales de Andrade quantum.analyst at gmail.com
Mon Dec 11 00:44:00 EST 2017

Hi all,

Downstream in Fedora (and maybe Debian), they are running into issues with
testing and text. Fedora 26 has FreeType 2.7.1 and Fedora 27 & Rawhide has
FreeType 2.8. Fedora 25 uses 2.6.5, but it will be EOL in the next week.
Many other distros are also transitioning to these newer FreeType as well
[1] and I think anaconda recently added 2.8 too.

With 2.7.1, a few tests fail (rms < 1) and it is straightforward to patch
that [2]. With 2.8 though, over 800 tests fail [3] ranging up to ~80 rms
[4]. This is a bit harder to paper over.

I see a few ways to mitigate the problem, with varying

1. Bundle the older version in the Matplotlib package like we do with
tests. I don't really believe this to be a viable option for downstream,
but I'm just mentioning it to be thorough. There are already a few (minor)
security issues in the one we test against.
2. Inject older FreeType just to run tests on the package. Again I don't
like this idea. The point of running tests is to be sure that the version
in a distro works *in that distro*. Testing with something a user could
never install seems useless.
3. Re-create all our current and future test images with 2.8. While this is
most future-proof, adding over 800 images is going to bloat the repo quite
a bit.
4. Create some sort of side repo with test images for other FreeType
releases. This would reduce bloat in the main repo but be somewhat more
work. Thus I'd only suggest doing so for tags.

I dislike the first two options as they would be repetitive across distros
(unless they just stopped testing altogether), but the last two are not
without work for us.

Opinions? Alternative ideas?

[1] https://repology.org/metapackage/freetype/versions
[2] https://github.com/QuLogic/matplotlib/commit/cfdc
[3] https://kojipkgs.fedoraproject.org//work/tasks/3137/23623137/build.log
[4] https://gist.github.com/QuLogic/477055a847a44cd444a0932432acffd1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-devel/attachments/20171211/aee39dbb/attachment.html>

More information about the Matplotlib-devel mailing list