kurku

guix nasm, pdf docs are stripped, tests are bogus

This change introduces nasm-3.02 nasm-next (among current 2.XX to avoid world rebuild)

Differences from current nasm package:

Also bunch of ignored errors are fixed in check phase. I added ‘make golden’ phase prior to check.


Historically around 2016 when nasm was introduced into guix by Jan Nieuwenhuizen

commit: 8472bdecb634e2f3015a61e16c59b62831b82ea9

It suffered from bunch of reproducibility issues, most importantly: the pdf documentation generation was not reproducible. Later, around that time, pdf documentation was fixed through removal of pdf documentation in make file.

First via patch (Jan Nieuwenhuizen), later via introduced substitute* phase (Efraim Flashner)

commit: a837997cab842026bde1d5c0fac3a2d5258fe06f commit: 161fb9be8edf37cf52c3d223214d81e4cbb7a787

Since then the package was mostly version bumped to meet latest version of nasm and resolve building issues because of removed pdf.


I have found out that Debian around 2017 fixed several reproducibility issues for their nasm packages.

Which are still relevant today.

patches: https://sources.debian.org/patches/nasm/3.01-1/ https://sources.debian.org/patches/nasm/3.01-1/0007-doc-sort-keys-for-reproducibility.patch/ https://sources.debian.org/patches/nasm/3.01-1/0003-debian-debian-patches-04-reproducible-build.patch.patch/

discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820194

upd: Initially thought to use these patches. But ended up using env vars like PERL_HASH_SEED, GS_GENERATE_UUIDS instead.

reasons:

  1. it is simpler
  2. date patch messes with travis tests

The last GS_GENERATE_UUIDS fixes the issue with ghostscript adding /CreationDate to the document the behavior of this GS_GENERATE_UUIDS env var was introduced into guix around 2021.

https://issues.guix.gnu.org/issue/49640 commit: db5962c68099f835350c24c8a3f889b9fa1f8a8e


Status

pull request made

https://codeberg.org/guix/guix/pulls/9942