I am hitting a very annoying problem while trying to update TeX Live to 22 March, in preparation for the 2021 final release.
In short: after updating the package info (the file
pkgs.nix), I hit
error: infinite recursion encountered.
Is there a way to increase the recursion depth? I am fairly confident that there is no infinite recursion involved, just a very deep one caused by too many new packages (and technical debt in the texlive2nix infrastructure).
Or if it is indeed infinite recursion, is there a good way to debug this? Like printing the value causing the actual infinite recursion?
In the past this was caused by functions relying on recursion to process large lists/arttsets in the implementation of the
combine. Was fixed by changing them to use some of the
I have just learned how to use
builtins.trace and I am afraid we are dealing with a circular dependency:
ctex depends on
xecjk which depends on
ctex. If I remove
xecjk, evaluation goes through.
We should really switch to proper dependency resolution (i.e. use
genericClosure). But I don’t want to do it this close to 22.05!
ctex temporarily, at least we’ll have the fixed hashes in place until we can solve this properly.
Yes, we had that one before too. Might be worth it to notify the upstream.
The dependency is indeed intentional, for reference: xecjk depends on ctex since v3.8.3 - tex-live mailing list - TeX Users Group
For the time being, I’ll override the
xecjk dependency when pushing the TL2021 update (almost done!). I have some ideas about improving dependency resolution but we should probably do that after 22.05.