Subject: bug#73613: texlive-luatex is not reproducible

From: Nicolas Goaziou <[email-masked]>
Date: Tue, 11 Feb 2025 10:18:55 +0100

Hello,

Maxim Cournoyer <[email-masked]> writes:

> Nicolas Goaziou <[email-masked]> writes:
>
>> Maxim Cournoyer <[email-masked]> writes:
>>
>>> This was discovered building texlive-luatex twice (--rounds=2 -K);
>>> diffoscope shows that:
>>>
>>
>> [...]
>>
>>> These are apparently time stamps as well as UUIDs.  Debian [0, 1] and
>>> NixOS [1] have patched some of them using faketime and substitute [0].
>>>
>>> We should follow suite.
>>>
>>> [0]  https://salsa.debian.org/live-team/live-build/-/blob/master/examples/hooks/reproducible/2006-reproducible-texlive-binaries-fmt-files.hook.chroot
>>> [1]  https://github.com/NixOS/nixpkgs/pull/227873
>>
>> This is difficult to follow, because Debian and NixOS do not seem to
>> apply the same fixes. For example, the former wraps "faketime" around
>> "tex -ini tex.ini" call whereas the latter wraps it around
>> "fmtutil-sys --all" call.
>>
>> By the way, how do you call "faketime" from (guix build-system texlive)?
>> It is not possible to use (gnu packages check) module from there, isn't
>> it?
>
> You'd have to add it to the implicit inputs defined for the build
> system.
>
>> Note that Guix never runs "mtxrun --generate", so I don't think UUIDs
>> are a problem in our case.
>
> OK.  I'm afraid don't have more insights than what I had shared already
> :-).

Modular TeX Live is expected to be reproducible on "tex-team" branch.
Monolithic TeX Live can be fixed directly on master branch.

Regards,
-- 
Nicolas Goaziou