Subject: Re: [version-1.4.0] Package with texlive-updmap.cfg and texlive-amsfonts failing to find Euler

From: Ricardo Wurmus <[email-masked]>
Date: Thu, 20 Jan 2022 22:58:42 +0100

Ricardo Wurmus <[email-masked]> writes:

> [email-masked] writes:
>
>> Attached patch on top of version-1.4.0 attempts to typset PDF docs for the
>> metamath package. However, the below error results, which seems to indicate
>> that the Euler fonts are not found, despite texlive-amsfonts existing in the
>> texlive-updmap.cfg input.
>>
>>     (/gnu/store/s952x1vkbbcprklzlzimn3m2dn53mjx9-texlive-amsfonts-59745/share/texmf-dist/tex/latex/amsfonts/ueuf.fd)
>>     kpathsea: Running mktextfm eufm10
>>     mkdir: cannot create directory ?././homeless-shelter?: Permission denied
>>     mktextfm: mktexdir /homeless-shelter/.texlive2021/texmf-var/fonts/tfm/ams/euler failed.
>>     kpathsea: Appending font creation commands to missfont.log.
>>     
>>     ! Font U/euf/m/n/10=eufm10 at 10.0pt not loadable: Metric (TFM) file not found.
>>     <to be read again>
>
> This is a problem with the texlive-amsfonts package.  The tlpdb says
> that it should provide eufm10.tfm, but it doesn’t.

It now does.

Commit 374464a3bbd38f43784af0cdf54ddceed93e41bd adds a new
texlive-amsfonts/fixed and adds it to the replacement field of
texlive-amsfonts, so it should be grafted.

> We can avoid these problems by checking that all texlive packages
> produce all the outputs that the tlpdb specifies.  The texlive importer
> already works with the tlpdb; we’d just need some sort of automatic
> test.  We could do this as part of an optional build phase.

Commit 5ecb4acdcb95478c6efe63bf9caa4db6bda82aba implements the most
basic check.  We can’t use it during the build, because tlpdb currently
needs modules that aren’t available on the build side (e.g. those to
build texlive-bin and look up a file it provides), but it can be used in
a REPL:

    ,use (guix import texlive)
    (files-differ? "/gnu/store/aiknpz049bqbr73s58yaqk3ln7hq8n4x-texlive-amsfonts-fixed-59745/share/" "amsfonts")

This should return the empty list.  As should this, which lists files
that should not have been installed according to the tlpdb:

    (files-differ? "/gnu/store/aiknpz049bqbr73s58yaqk3ln7hq8n4x-texlive-amsfonts-fixed-59745/share/" "amsfonts" #:direction 'extra)

The fixed package installs exactly the files it is supposed to and
nothing more.

Could you please try again?

-- 
Ricardo