pyx-project / pyx

Repository of PyX, a Python package for the creation of PostScript, PDF, and SVG files.
https://pyx-project.org/
GNU General Public License v2.0
109 stars 18 forks source link

Make output bit-for-bit reproducible #3

Closed llimeht closed 5 years ago

llimeht commented 5 years ago

The Reproducible Builds project is working to make compilation outputs from projects bit-for-bit identical so that two users compiling the same source code with the same tools would get the same output. For many packages, there are some nice security benefits in that property; it's also quite compatible with reproducible research, by helping make the path from experiment to publication easily verifiable and bit-for-bit reproducible.

When building PyX, raster and vector graphics generated by PyX are included in the sphinx documentation. Obtaining reproducible sphinx documentation for PyX would mean that (much of?) the output of PyX is indeed reproducible; the sphinx and gcc developers have helped ensure that those tools output is reproducible already.

Alexis Bienvenüe contributed two of these patches to help. We have tested these patches in the Debian packages for PyX and they solve all known randomness in the output of PyX, making it robust to a wide range of possible variations. It would be great for them to be upstreamed for the benefit of all.

joerg-lehmann commented 5 years ago

Looks good. Thanks for the contribution.