Hello,
Olivier Farges <[email protected]> writes:
> When multiple packages contribute to GUIX_TEXMF, kpathsea fails to
> locate files because GUIX_TEXMF is expanded as-is inside brace
> expressions in texmf.cnf, using colon as separator, while kpathsea
> expects commas inside braces.
>
> In texlive-libkpathsea, the customize-texmf.cnf phase sets:
>
> TEXMFDIST = {$GUIX_TEXMF}
>
> When GUIX_TEXMF contains multiple paths (e.g. after installing gnuplot
> which also contributes to GUIX_TEXMF via its native-search-paths), the
> result is:
>
> TEXMFDIST =
> {/store/texlive-.../share/texmf-dist:/store/gnuplot-.../share/texmf-dist}
>
> But kpathsea expects commas inside braces:
>
> TEXMFDIST =
> {/store/texlive-.../share/texmf-dist,/store/gnuplot-.../share/texmf-dist}
Why would you need multiple directories in TEXMFDIST since it is GUIX_TEXMF job
to collect them in a single place ?
> This was revealed by the patch adding GUIX_TEXMF to gnuplot (see MR:
> https://codeberg.org/o_blacksad/guix/pulls/...).
I can’t find the patch you’re pointing to, but I think it is a mistake to add
GUIX_TEXMF in Gnuplot in the first place.
> Tested with:
> guix shell gnuplot texlive-bin -- kpsewhich gnuplot-lua-tikz.sty
> → returns empty (file not found)
In HEAD, this file is not found because Gnuplot installs the file in the wrong
place :
(string-append "--with-texdir=" #$output
"/texmf-local/tex/latex/gnuplot")
should be
(string-append "--with-texdir=" #$output
"/texmf-dist/tex/latex/gnuplot")
Regards,
--
Nicolas Goaziou