[Dev-luatex] (fwd) Bug#441595: not all libraries are customized, there is room for improvement

Hans Hagen pragma at wxs.nl
Sat Dec 19 14:21:25 CET 2009

Norbert Preining wrote:
> Dear Taco,
> one of the lua Gurus here at Debian checked the embedded libs and found
> that most of the included libs are very similar to upstream, and he
> offered to push the few changes in your code to upstream.
> What do you say? (See attached email, including the diffs between current
> upstream of the lua libs and code in texlua).

TeX has alwaye been independent of external libraries, although for 
pdftex it's possible to keep some libs external. Although the 'teams' 
assume statics, its' up to the distributers to decide on external libs; 
kpse has been an example for a long time already but that one lives 
alongside tex.

For luatex it's somewhat different. Take for instance a moving target 
like lpeg. Macro packages depend on the functionality as defined when 
the luatex version came around. If some (maybe more recent) library is 
used it might break things. And it might even be that at some point when 
we have luatex version 1.0, we freeze on libraries (apart from bug fixes 
of course). The same might happen with lua itself. If lua 6 comes around 
we might add an extra lua engine but keep 5 around as well.

Loading libraries in luatex can become a nightmare esp when we thing of 
mixes with luarocks and other distributions. As lua is meant for 
embedding, the libs we use are also kind of internal.

Of course, pushing changes/patches upstream is great.

This is a tricky issue. In principle luatex, once stable, should run 
decades as-is. An independent entity. On th eother hand, progress is 
also a nice thing.

I can imagine a scenario where we have a static luatex as usual, but 
when distributers want to go dynamic they should use the (in terms of 
api) same libs as static. None of us is looking forward to getting bug 
reports like "luatex+macropackage reports an lpeg error" which only 
happens with non statics bins.

Also, i wonder, if luatex demands some specific lib version, how does 
this translate to installation? Currently i can just drop a static 
luatex bin in my tex bin path but what if a bunch of extra libs (maybe 
already present but potentially conflicting) are used? Ok, we can 
control things with the cpath variable, but that also adds another 
variable to the game.

Anyhow, this needs quite a bit of thinking.


                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl

More information about the dev-luatex mailing list