Subject: bug#75893: texlive: kpathsea doesn't use ls-R database

From: Nicolas Goaziou <[email-masked]>
Date: Mon, 10 Feb 2025 12:21:41 +0100

Hello,

vicvbcun <[email-masked]> writes:

> 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.

I pushed a tentative patch in "tex-team" branch. I’m in the process of
testing it but it could take a while as texlive-collection-latexextra
contains more than 1k packages.

Feedback welcome.

Regards,
-- 
Nicolas Goaziou