Subject: bug#64772: TeXlive (specifically LuaLaTeX) has become terribly slow

From: Wojtek Kosior <[email-masked]>
Date: Fri, 28 Jul 2023 22:33:18 +0200

> Could you try adding a phase doing the following to texlive-luatex?
> 
> --8<---------------cut here---------------start------------->8---
> (substitute* (string-append #$output "/share/texmf-dist/web2c/texmfcnf.lua")
>                   (("selfautodir:") #$output)
>                   (("selfautoparent:") (string-append #$output "/share/")))
> --8<---------------cut here---------------end--------------->8---

Actually, I've been using the `lualatex` command from the `texlive`
package. I now see I my reports might have been confusing as I didn't
mention that. I apologize :(

Although `lualatex` from `texlive` has been slow for me, now, when
using `guix shell texlive-collection-latex` with guix
76e041f9eef85bb039c5251d3350c62ee2066883, I get a rather satisfactory
time (below 4s on old Lenovo T400) when compiling this test doc

--8<---------------cut here---------------start------------->8---
\documentclass{article}
\title{somedoc}
\begin{document}

aaa

\end{document}
--8<---------------cut here---------------end--------------->8---

These tons of `ENOENT` are still there in strace's output, tho.

Back to your snippet — if you still think it's worth trying (to see if
it gets rid of the ENOENTs), I'll try it and report later.

> The files above are probably generated, and I don't know when.

Although I know a lot less about TeX than you, I can at least say that
they are not actually "needed" — no package in my store (not even the
entire nicely-working texlive from before the merge) had a directory
named "lualatexquotejobname". Neither of the following commands yielded
anything

--8<---------------cut here---------------start------------->8---
find /gnu/store/  -mindepth 1 -maxdepth 1 -name *texlive* -type d -exec find '{}' -name lualatexquotejobname -type d \;
find ~/.texlive2021/ -name lualatexquotejobname -type d
find ~/.texlive2023/ -name lualatexquotejobname -type d
--8<---------------cut here---------------end--------------->8---

> I suggest to drop this "fix" for now.

OK

Best,
Wojtek