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





Reply via email to