[tex-live] No context in TL2023 source ?

Ken Moffat zarniwhoop at ntlworld.com
Wed Mar 22 23:42:34 CET 2023


On Wed, Mar 22, 2023 at 08:01:45AM +0100, Dr. Werner Fink wrote:
> On 2023/03/21 19:14:22 +0000, Ken Moffat wrote:
> > Hi All,
> > 
> > Not directly related to Werner's tlpdb issues, but I got the formats
> > working, at least for mkiv, at 5 a.m.
> > 
> > I'm aftraid this is going to be a long email about getting working
> > context and metatex from the source tarball, so I'll start with a
> > little history about what we (Beyond Linux Drom Scratch) do in
> > general for TeXLive.
> > 
> > In BLFS at some point before my time we moved from TeTeX to TeXLive
> > and we installed the full binary, then built texlive source over the
> > top of it.  At some point a user noticed that the 'extras' (asy,
> > biber, xindy in those days) did not get rebuilt.  Joe Muggins here
> > took a look and eventually created or copied some test files to see
> > if my new builds worked.
> > 
> > As an extension of that I eventually copied a minimal mkiv file from
> > wikipedia.  At one point I tried to understand the docs in the
> > garden, but most seemed to be out of date and I figured it would be
> > a continually moving target.  Since I have only minimal interest in
> > context, I gave up.
> > 
> > What is particularly unusual about our installs is that we install
> > system-wide and do not normally support package updates during the
> > year.  And we install in /opt/texlive/YYYY with binaries in
> > bin/a86_64-linux (or i386 if anyone uses that).
> > 
> > Using the luametatex-230310 tarball we can see that it is very
> > different:
> > 
> > (i) There is a build.sh which apparently does the right
> > thing as far as the garden is concerned for windows users and for
> > some linux platforms.
> > 
> > (ii) There is a license.txt file which mentions the static libraries
> > it includes.  Among those is zlib, but there is a ' # ' in front of
> > that - I think that means it was originally included, but has now
> > been removed.  I cannot see zlib in the code.  It includes miniz.
> > In BLFS we don't make a fuss about static libs only used within one
> > package and not installed.
> > 
> > (iii) It uses FLAGS instead of CFLAGS - for BLFS, not a problem, and
> > for my own systems I regard this as not worth trying to use my own
> > flags.  Distros might differ.
> > 
> > (iv) It uses cmake, fortunately unlike some cmake packages it is
> > intended to use ninja.  There are no tests.
> > 
> > (v) Trying an install, it *only* installs luametatex, and it puts
> > that in a bin/ directory at the end of the supplied prefix, which
> > might work if you install in plain /usr or /usr/local.
> > 
> > (vi) It fails to provide the symlinks needed to execute mtxrun and
> > context.  After managing to get a 2023 install_tl_unx and waiting
> > for a local mirror to be updated to 2023 I managed to install only
> > the context packages (so, some fonts and other stuff) in
> > /tmp/CONTEXT on a different machine, test it (both mtxrun and
> > context existed, and worked), find those programs (symlinks) and
> > then try on my source install to replicate.
> > 
> > I then hit 'startup error : no format file given, quitting' when I
> > tried to run 'mtxrun --generate'.  After looking at strace output I
> > determined that mtxrun and context use program files with a '.lua'
> > extension (i.e. mtxrun.lua).  Those two are the only two .lua
> > program files on my binary context install, and they link to files
> > with the same names in texmf-dist/scripts/context/lua/$F.
> > 
> > So, I can now run my minimal mkiv context example.
> > 
> > for me, with TEXLIVE_PREFIX set to /opt/texlive/2023 and TEXARCH set
> > to x86_64-linux/ the follwoing commands appear to work.  I say
> > 'appear' because I originally had a typo for the context symlink
> > (xontext.lua in name and target - fixed the ame, forgot to remove it
> > to correct the target, hit the startup error trying to run context).
> > 
> > I'm also using ninja -v because I like the detail.
> > 
> > mkdir build
> > cd build
> > 
> > cmake -DCMAKE_INSTALL_PREFIX=${TEXLIVE_PREFIX}/bin/${TEXARCH} \
> >       -DCMAKE_BUILD_TYPE=Release   \
> >       -GNinja ..
> > 
> > ninja -v
> > 
> > (remainder as a user)
> > 
> > install -v -m755 luametatex ${TEXLIVE_PREFIX}/bin/${TEXARCH}/
> > ln -svf luametatex ${TEXLIVE_PREFIX}/bin/${TEXARCH}/context
> > ln -svf luametatex ${TEXLIVE_PREFIX}/bin/${TEXARCH}/mtxrun
> > 
> > for F in context.lua mtxrun.lua ; do
> > ln -sfv /$TEXLIVE_PREFIX/texmf-dist/scripts/context/lua/$F \
> >         /$TEXLIVE_PREFIX/bin/$TEXARCH/$F >>$KM_LOG 2>&1
> > done
> > 
> > mtxrun --generate
> > 
> > Hope this might be useful to someone.
> 
> I wonder as distribution packager if I could install luametatex and
> its symbolirc links below /usr/bin/ and still the programs do find
> the TeXLive tree with the ConTeXt (ini) files below /usr/share/texmf/
> ... and where do the formats go ... those should below /var/cache/texmf/
> 
> 
> Werner
> 
Maybe. I've thrown away the /tmp user install and done a full binary
install, but in that the only *context* ini files are

 texmf-dist/context/data/texworks/texworks-setup.ini
 texmf-dist/context/data/texworks/TUG/TeXworks.ini
 texmf-dist/context/data/texworks/configuration/tools.ini

and the cache files were created in
 texmf-var/luametatex-cache/context/
and
 texmf-var/luatex-cache/context/

ĸen
-- 
Often there is no more than a little plaque to reveal that, against
all gynaecological probability, someone very famous was born halfway
up a wall.                 -- Equal Rites


More information about the tex-live mailing list.