[tldistro] [tex-live] No context in TL2023 source ?

Dr. Werner Fink werner at suse.de
Wed Mar 22 08:01:45 CET 2023


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

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 894 bytes
Desc: not available
URL: <https://tug.org/pipermail/tldistro/attachments/20230322/b657ac3c/attachment.sig>


More information about the tldistro mailing list.