On 2025-01-30T23:27:29+0100, vicvbcun wrote
[...]
The comment above the substitution says that the !! construct wouldn't
work for texlive-build-system or when building profiles. I don't know
if it would be possible to work around this but perhaps it could be
possible to work around this if installed in profile (or environment)?
I don’t understand what you want to install in a profile. The ls-R file
is already built during profile generation. See "guix/profiles.scm".
What I meant was that we could maybe use a horrible hack like somehow
overwriting texmf.cnf or wrapping the engines — anything to avoid
rebuilding the world. But on a second thought, LaTeX should mostly be
a build time dependency so that grafting with a version capable of
handling both the build environment and being installed should work
well, right? At least until the next TeX Live release.
Actually, on a third thought, the following cursed approach might work:
Create a variant `texlive-libkpathsea/ls-R-authoritative' of
`texlive-libkpathsea' with the only difference being !! in front of
$TEXMFDIST in texmf.cnf and register it as a replacement for
`texlive-libkpathsea'. That way packages are built with the original,
ungrafted version but when a user installs TeX Live packages they get
the version for which the ls-R database is authoritative.
An issue with this would be that ungexp'ing a texlive-* package
referencing `texlive-libkpathsea' should yield the grafted version so
the profile hook would probably need to be changed.
vicvbcun