How can I make a Gentoo Linux package for ConTeXt LMTX?
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions. Arch Linux has its own patched version of texmfcnf.lua. It seems I'd be better off with a linux package for ConTeXt LMTX. How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution? I wish it was as simple as ./configure, make, and make install.
On 15 Aug 2022, at 13:03, amano.kenji via ntg-context
wrote: TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation It's pre-built so there are no make steps. Try it and ask again if you have problems. :-) — Bruce Horrocks Hampshire, UK
I was trying to translate instructions in install.sh and dependencies of install.sh into shell commands in a Gentoo Linux package.
Gentoo Linux downloads all dependencies and builds a package in a network namespace where there is no internet access.
Thus, install.sh cannot be directly used in a gentoo linux package. I have to translate instructions used in install.sh into shell commands.
How can I do that? Can I somehow execute mtx-install.lua, mtxrun.lua, or mtxrun in a way that doesn't require internet access?
------- Original Message -------
On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks
On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK
On 15 Aug 2022, at 13:19, amano.kenji
wrote: I was trying to translate instructions in install.sh and dependencies of install.sh into shell commands in a Gentoo Linux package.
Gentoo Linux downloads all dependencies and builds a package in a network namespace where there is no internet access.
If you must use a Linux that makes life hard... ;-) I'm guessing you're trying to prepare ConTeXt for use in a private repository on a LAN so that your users can install it without needing Internet access? ConTeXt only depends on glibc (iirc) - and it assumes it is present already. So do an install on a machine that does have Internet access and everything you need will then be self-contained in the directory you chose to install into. Zip up that directory and use it for subsequent installs as many times as you want just by unzipping it - no further Internet access required. You'll need to set up the PATH for where you unzipped the file - but the install.sh file has the necessary information towards the end. Try it and see - it's not like typical modern bloatware that pulls down 100's of Gbytes of dependencies willy-nilly.
Thus, install.sh cannot be directly used in a gentoo linux package. I have to translate instructions used in install.sh into shell commands.
How can I do that? Can I somehow execute mtx-install.lua, mtxrun.lua, or mtxrun in a way that doesn't require internet access?
------- Original Message ------- On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks
wrote: On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK
— Bruce Horrocks Hampshire, UK
Even if I put the installation in an archive and make a linux package that installs the archive, I still have to modify contextcnf.lua which isn't intended to handle differing system-wide installation paths of various POSIX-like operating systems.
And, I don't really know
* what the variables in contextcnf.lua mean and do.
* whether there is a way to override certain variables in contextcnf.lua with another file. A separate override file is going to make it easy for linux distributions to override certain variables in contextcnf.lua.
------- Original Message -------
On Monday, August 15th, 2022 at 5:00 PM, Bruce Horrocks
On 15 Aug 2022, at 13:19, amano.kenji amano.kenji@proton.me wrote:
I was trying to translate instructions in install.sh and dependencies of install.sh into shell commands in a Gentoo Linux package.
Gentoo Linux downloads all dependencies and builds a package in a network namespace where there is no internet access.
If you must use a Linux that makes life hard... ;-)
I'm guessing you're trying to prepare ConTeXt for use in a private repository on a LAN so that your users can install it without needing Internet access?
ConTeXt only depends on glibc (iirc) - and it assumes it is present already. So do an install on a machine that does have Internet access and everything you need will then be self-contained in the directory you chose to install into. Zip up that directory and use it for subsequent installs as many times as you want just by unzipping it - no further Internet access required.
You'll need to set up the PATH for where you unzipped the file - but the install.sh file has the necessary information towards the end.
Try it and see - it's not like typical modern bloatware that pulls down 100's of Gbytes of dependencies willy-nilly.
Thus, install.sh cannot be directly used in a gentoo linux package. I have to translate instructions used in install.sh into shell commands.
How can I do that? Can I somehow execute mtx-install.lua, mtxrun.lua, or mtxrun in a way that doesn't require internet access?
------- Original Message ------- On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks ntg@scorecrow.com wrote:
On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK
— Bruce Horrocks Hampshire, UK
On 8/16/2022 1:43 PM, amano.kenji via ntg-context wrote:
Even if I put the installation in an archive and make a linux package that installs the archive, I still have to modify contextcnf.lua which isn't intended to handle differing system-wide installation paths of various POSIX-like operating systems.
And, I don't really know
* what the variables in contextcnf.lua mean and do. * whether there is a way to override certain variables in contextcnf.lua with another file. A separate override file is going to make it easy for linux distributions to override certain variables in contextcnf.lua. mtxrun --generate
reports all kind of locations where configurations files are looked for one can also set environment variables and see what is used mtxrun --variables mtxrun --expansions so there are plenty ways to configure and you can run
mtxrun --configurations
which on my machine gives system | resolved | file : c:/data/develop/tex-context/tex/texmf-local/web2c/texmfcnf.lua system | resolved | file : c:/data/develop/tex-context/tex/texmf/web2c/texmfcnf.lua indicating that i use an additional configuration file there are some boundary conditions: - we use mtxrun as runner and that one used luatex as lua engine - this means that mtxrun[.lua] has to be in the same path as the binary in lmtx we even go a bit further: - in lmtx there is mtxrun.lua - as well as context.lua - there are 'mtxrun' and 'context' binaries that are either copies or symlinks to luametatex in the same path - this is the same on unix and windows in lmtx luametatex is also used as runner for mkiv when installed on unix i normally just install the minimal tree and then either add the bin path to the path or just run mtxrun fully qualified (actually always for the whole system under /data/context) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
* Will TexLive replace its own ConTeXt Mark IV with ConTeXt LMTX?
* context lmtx binary installer archive is not versioned. I can't use unversioned archives in OS packages.
* Is it actually possible to present a separate override file for contextcnf.lua? If not, I would need to patch contextcnf.lua, or contextcnf.lua should support both portable installation and OS-level installation.
* Can you make it easier to make an OS package for ConTeXt LMTX by releasing versioned (source) archives, including BUILD/INSTALL instructions in the versioned archives, and so on? I wish I could just extract a versioned binary archive into certain locations or use GNU autotools or use meson build system which is far better than GNU autotools.
While portable installations can be great for testing bleeding edge features and keeping up with latest development, most of the time, I prefer OS package releases.
------- Original Message -------
On Tuesday, August 16th, 2022 at 4:02 PM, Hans Hagen via ntg-context
On 8/16/2022 1:43 PM, amano.kenji via ntg-context wrote:
Even if I put the installation in an archive and make a linux package that installs the archive, I still have to modify contextcnf.lua which isn't intended to handle differing system-wide installation paths of various POSIX-like operating systems.
And, I don't really know
* what the variables in contextcnf.lua mean and do. * whether there is a way to override certain variables in contextcnf.lua with another file. A separate override file is going to make it easy for linux distributions to override certain variables in contextcnf.lua.
mtxrun --generate
reports all kind of locations where configurations files are looked for
one can also set environment variables and see what is used
mtxrun --variables mtxrun --expansions
so there are plenty ways to configure and you can run
mtxrun --configurations
which on my machine gives
system | resolved | file : c:/data/develop/tex-context/tex/texmf-local/web2c/texmfcnf.lua system | resolved | file : c:/data/develop/tex-context/tex/texmf/web2c/texmfcnf.lua
indicating that i use an additional configuration file
there are some boundary conditions:
- we use mtxrun as runner and that one used luatex as lua engine - this means that mtxrun[.lua] has to be in the same path as the binary
in lmtx we even go a bit further:
- in lmtx there is mtxrun.lua - as well as context.lua - there are 'mtxrun' and 'context' binaries that are either copies or symlinks to luametatex in the same path - this is the same on unix and windows
in lmtx luametatex is also used as runner for mkiv when installed
on unix i normally just install the minimal tree and then either add the bin path to the path or just run mtxrun fully qualified (actually always for the whole system under /data/context)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
On 8/17/2022 3:09 PM, amano.kenji wrote:
* Will TexLive replace its own ConTeXt Mark IV with ConTeXt LMTX?
at some point we will switch to lmtx and mkiv is than just there and can be used but basically it is frozen (already for a while, apart from fixes).
* context lmtx binary installer archive is not versioned. I can't use unversioned archives in OS packages.
at some point (all depends on time and effort and ...) the source wil be part of the context distribution so then one can compile
* Is it actually possible to present a separate override file for contextcnf.lua? If not, I would need to patch contextcnf.lua, or contextcnf.lua should support both portable installation and OS-level installation.
you can put one in texmf-local (as the mtxrun --generate i posted trace shows)
* Can you make it easier to make an OS package for ConTeXt LMTX by releasing versioned (source) archives, including BUILD/INSTALL instructions in the versioned archives, and so on? I wish I could just extract a versioned binary archive into certain locations or use GNU autotools or use meson build system which is far better than GNU autotools.
there is a github repository for the tex stuff and have no experience with all that versioning / release / os packaging stuff (couldn't test it anyway and continuously adapt to teh subtle differences in distributions and os's) ... we just post zips (already for decades) but anyone is free to come up with such instructions (e.g. aditya did some for arch) anyway, lmtx is still kind of experimental and at some point installation will move to the garden (not much is needed, just a web server) and the packaging scripts are / will be in the distribution .. there are no dependencies (and we keep it that way: self contained bins) sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
While portable installations can be great for testing bleeding edge features and keeping up with latest development, most of the time, I prefer OS package releases. I never use an os tex release .. who knows whaty has been done with it .. esp when one has a long term workflow (e.g. fonts can change)
Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Okay, TexLive will get ConTeXt LMTX.
If TexLive was the official way to ship stable versions of ConTeXt, I am okay with having TexLive ConTeXt as a system package and using ConTeXt LMTX portable installer for testing bleeding edge features.
Still, there are a few ways to ship latest changes in ConTeXt LMTX as a linux package.
1. If I could just download a few binary archives and extract/unzip them into certain directories and modify contextcnf.lua in my package build script and be done, I can publish linux packages.
2. If https://github.com/contextgarden/context-mirror/ contains build instructions as a document, then I can make linux packages against recent git commits. This is better than 1 because linux distribution maintainers can build packages for each CPU architecture.
app-text/context would not be able to exist together with app-texlive/texlive-context because both are OS packages.
------- Original Message -------
On Wednesday, August 17th, 2022 at 3:42 PM, Hans Hagen
On 8/17/2022 3:09 PM, amano.kenji wrote:
* Will TexLive replace its own ConTeXt Mark IV with ConTeXt LMTX?
at some point we will switch to lmtx and mkiv is than just there and can be used but basically it is frozen (already for a while, apart from fixes).
* context lmtx binary installer archive is not versioned. I can't use unversioned archives in OS packages.
at some point (all depends on time and effort and ...) the source wil be part of the context distribution so then one can compile
* Is it actually possible to present a separate override file for contextcnf.lua? If not, I would need to patch contextcnf.lua, or contextcnf.lua should support both portable installation and OS-level installation.
you can put one in texmf-local (as the mtxrun --generate i posted trace shows)
* Can you make it easier to make an OS package for ConTeXt LMTX by releasing versioned (source) archives, including BUILD/INSTALL instructions in the versioned archives, and so on? I wish I could just extract a versioned binary archive into certain locations or use GNU autotools or use meson build system which is far better than GNU autotools.
there is a github repository for the tex stuff and have no experience with all that versioning / release / os packaging stuff (couldn't test it anyway and continuously adapt to teh subtle differences in distributions and os's) ... we just post zips (already for decades) but anyone is free to come up with such instructions (e.g. aditya did some for arch)
anyway, lmtx is still kind of experimental and at some point installation will move to the garden (not much is needed, just a web server) and the packaging scripts are / will be in the distribution .. there are no dependencies (and we keep it that way: self contained bins)
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
While portable installations can be great for testing bleeding edge features and keeping up with latest development, most of the time, I prefer OS package releases.
I never use an os tex release .. who knows whaty has been done with it .. esp when one has a long term workflow (e.g. fonts can change)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
By the way, all POSIX-like opearting systems including BSDs and linux distributions share one way of making system packages.
For all POSIX-like operating systems, a simple Makefile can build LuaMetaTex. Since each linux distribution may have a slightly different directory structure, it would be beneficial for ConTeXt to document contextcnf.lua and where each ConTeXt directory can be installed.
I don't know much about Mac OS, but my guess is that if we take care of POSIX-like operating systems, we take care of Mac, too.
As far as I know, there is no packaging standard for windows.
Thus, you should only worry about the POSIX way in theory.
------- Original Message -------
On Wednesday, August 17th, 2022 at 3:42 PM, Hans Hagen
On 8/17/2022 3:09 PM, amano.kenji wrote:
* Will TexLive replace its own ConTeXt Mark IV with ConTeXt LMTX?
at some point we will switch to lmtx and mkiv is than just there and can be used but basically it is frozen (already for a while, apart from fixes).
* context lmtx binary installer archive is not versioned. I can't use unversioned archives in OS packages.
at some point (all depends on time and effort and ...) the source wil be part of the context distribution so then one can compile
* Is it actually possible to present a separate override file for contextcnf.lua? If not, I would need to patch contextcnf.lua, or contextcnf.lua should support both portable installation and OS-level installation.
you can put one in texmf-local (as the mtxrun --generate i posted trace shows)
* Can you make it easier to make an OS package for ConTeXt LMTX by releasing versioned (source) archives, including BUILD/INSTALL instructions in the versioned archives, and so on? I wish I could just extract a versioned binary archive into certain locations or use GNU autotools or use meson build system which is far better than GNU autotools.
there is a github repository for the tex stuff and have no experience with all that versioning / release / os packaging stuff (couldn't test it anyway and continuously adapt to teh subtle differences in distributions and os's) ... we just post zips (already for decades) but anyone is free to come up with such instructions (e.g. aditya did some for arch)
anyway, lmtx is still kind of experimental and at some point installation will move to the garden (not much is needed, just a web server) and the packaging scripts are / will be in the distribution .. there are no dependencies (and we keep it that way: self contained bins)
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
While portable installations can be great for testing bleeding edge features and keeping up with latest development, most of the time, I prefer OS package releases.
I never use an os tex release .. who knows whaty has been done with it .. esp when one has a long term workflow (e.g. fonts can change)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On Wed, 17 Aug 2022 17:42:18 +0200
Hans Hagen via ntg-context
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
OS distribution packages are the responsibility of maintainers. "Upstream" developers can, and do, respond to requests for changes that might make packaging for a particular OS easier, but this is not directly the responsibility of developers. Most OS packages require patches for particularities of that OS environment. LMTX Context, being minimal and fully portable, should be very easy to package as most paths, fonts, etc. are determined dynamically. The Context distribution follows the TeX directory tree structure, and this might not be the practice of some OS, which, for example, might locate different resources on different branches of the system directory structure. Some OS distributions are very particular about this. I cannot understand the thrust of this thread. It appears that the only issue for now concerns the distribution of the luametatex source tree. This is not yet the case as luametatex has been undergoing much experimentation. A classic opensource depository would disrupt this experimentation as more people get involved in wanting to make modifications. I believe the intention is to make a release once luametatex development settles into a normal state. Alan
I really don't understand how TexLive is installed. On Gentoo Linux, the code that handles TexLive installation is complex. I can't reuse code that I don't understand.
I came from LaTeX background. I got sick of handling incompatible modules in LaTeX and decided to try ConTeXt. I had used texlive OS package. I just started learning ConTeXt.
In the vast majority of cases, `make install` installs everything.
In case of ConTeXt, there is no `make install`. So, there needs to be a document that teaches me which directories I can just copy each source directory of ConTeXt to. Copying luametatex to /usr/bin is going to be easy.
I never had to understand TexLive/ConTeXt directory structure because I just used TexLive OS package. Now, I'm stuck reverse-engineering a black box.
Am I supposed to execute the following commands in https://github.com/contextgarden/context-mirror?
```
cp fonts /path/to/usr/share/texmf-dist
cp context /path/to/usr/share/texmf-dist
...
```
If you teach package maintainers where directories can be installed, then the maintainers can adapt the instructions to their own linux distributions.
Example installation commands can help a lot.
install.sh handles the magic behind complex lua functions I don't understand.
------- Original Message -------
On Thursday, August 18th, 2022 at 1:16 PM, Alan
On Wed, 17 Aug 2022 17:42:18 +0200 Hans Hagen via ntg-context ntg-context@ntg.nl wrote:
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
OS distribution packages are the responsibility of maintainers. "Upstream" developers can, and do, respond to requests for changes that might make packaging for a particular OS easier, but this is not directly the responsibility of developers.
Most OS packages require patches for particularities of that OS environment. LMTX Context, being minimal and fully portable, should be very easy to package as most paths, fonts, etc. are determined dynamically. The Context distribution follows the TeX directory tree structure, and this might not be the practice of some OS, which, for example, might locate different resources on different branches of the system directory structure. Some OS distributions are very particular about this.
I cannot understand the thrust of this thread.
It appears that the only issue for now concerns the distribution of the luametatex source tree. This is not yet the case as luametatex has been undergoing much experimentation. A classic opensource depository would disrupt this experimentation as more people get involved in wanting to make modifications. I believe the intention is to make a release once luametatex development settles into a normal state.
Alan
Imagine installation instructions given by linux from scratch.
install.sh is like `apt-get install ConTeXt`.
Linux from scratch would document the following commands.
```
tar xf luametatex-2022.06.tar.xz
cd /path/to/luametatex-2022.06
make
cp luametatex /usr/bin
tar xf context-2022.06.tar.xz
cd /path/to/context-2022.06
cp -r font /path/to/usr/share/texmf-dist
...
```
I want something like this.
------- Original Message -------
On Thursday, August 18th, 2022 at 1:16 PM, Alan
On Wed, 17 Aug 2022 17:42:18 +0200 Hans Hagen via ntg-context ntg-context@ntg.nl wrote:
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
OS distribution packages are the responsibility of maintainers. "Upstream" developers can, and do, respond to requests for changes that might make packaging for a particular OS easier, but this is not directly the responsibility of developers.
Most OS packages require patches for particularities of that OS environment. LMTX Context, being minimal and fully portable, should be very easy to package as most paths, fonts, etc. are determined dynamically. The Context distribution follows the TeX directory tree structure, and this might not be the practice of some OS, which, for example, might locate different resources on different branches of the system directory structure. Some OS distributions are very particular about this.
I cannot understand the thrust of this thread.
It appears that the only issue for now concerns the distribution of the luametatex source tree. This is not yet the case as luametatex has been undergoing much experimentation. A classic opensource depository would disrupt this experimentation as more people get involved in wanting to make modifications. I believe the intention is to make a release once luametatex development settles into a normal state.
Alan
Note that each system is different.
- FreeBSD is posix and follows different packaging conventions from
various linux distributions.
- MacOS has MacPorts as well as Brew, different systems with different
packaging conventions.
etc.
A package maintainer knows the requirements of the system being
maintained, not upstream developers.
Alan
On Thu, 18 Aug 2022 13:53:41 +0000
"amano.kenji"
Imagine installation instructions given by linux from scratch.
install.sh is like `apt-get install ConTeXt`.
Linux from scratch would document the following commands.
``` tar xf luametatex-2022.06.tar.xz cd /path/to/luametatex-2022.06 make cp luametatex /usr/bin
tar xf context-2022.06.tar.xz cd /path/to/context-2022.06 cp -r font /path/to/usr/share/texmf-dist ... ```
I want something like this.
------- Original Message ------- On Thursday, August 18th, 2022 at 1:16 PM, Alan
wrote: On Wed, 17 Aug 2022 17:42:18 +0200 Hans Hagen via ntg-context ntg-context@ntg.nl wrote:
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
OS distribution packages are the responsibility of maintainers. "Upstream" developers can, and do, respond to requests for changes that might make packaging for a particular OS easier, but this is not directly the responsibility of developers.
Most OS packages require patches for particularities of that OS environment. LMTX Context, being minimal and fully portable, should be very easy to package as most paths, fonts, etc. are determined dynamically. The Context distribution follows the TeX directory tree structure, and this might not be the practice of some OS, which, for example, might locate different resources on different branches of the system directory structure. Some OS distributions are very particular about this.
I cannot understand the thrust of this thread.
It appears that the only issue for now concerns the distribution of the luametatex source tree. This is not yet the case as luametatex has been undergoing much experimentation. A classic opensource depository would disrupt this experimentation as more people get involved in wanting to make modifications. I believe the intention is to make a release once luametatex development settles into a normal state.
Alan
Sorry for spamming the list a little bit.
If there was something like https://www.linuxfromscratch.org/lfs/view/stable/chapter06/ncurses.html for ConTeXt and luametatex (binary), then distribution maintainers can make packages for ConTeXt easily.
I don't know TeX/TeXLive/kpathsea/ConTeXt directory structure conventions. Linux package maintainers don't know, either. I have packaged hundreds of programs, and TeX derivatives are monsters.
Most users just install texlive OS package, use TexLive upstream installer, or use ConTeXt upstream install.sh.
------- Original Message -------
On Thursday, August 18th, 2022 at 1:16 PM, Alan
On Wed, 17 Aug 2022 17:42:18 +0200 Hans Hagen via ntg-context ntg-context@ntg.nl wrote:
sorry, i just can't spent time on all the possible variant ways of installation .. that is up to volunteers
OS distribution packages are the responsibility of maintainers. "Upstream" developers can, and do, respond to requests for changes that might make packaging for a particular OS easier, but this is not directly the responsibility of developers.
Most OS packages require patches for particularities of that OS environment. LMTX Context, being minimal and fully portable, should be very easy to package as most paths, fonts, etc. are determined dynamically. The Context distribution follows the TeX directory tree structure, and this might not be the practice of some OS, which, for example, might locate different resources on different branches of the system directory structure. Some OS distributions are very particular about this.
I cannot understand the thrust of this thread.
It appears that the only issue for now concerns the distribution of the luametatex source tree. This is not yet the case as luametatex has been undergoing much experimentation. A classic opensource depository would disrupt this experimentation as more people get involved in wanting to make modifications. I believe the intention is to make a release once luametatex development settles into a normal state.
Alan
On 8/18/2022 4:08 PM, amano.kenji wrote:
Sorry for spamming the list a little bit.
If there was something like https://www.linuxfromscratch.org/lfs/view/stable/chapter06/ncurses.html for ConTeXt and luametatex (binary), then distribution maintainers can make packages for ConTeXt easily.
I don't know TeX/TeXLive/kpathsea/ConTeXt directory structure conventions. Linux package maintainers don't know, either. I have packaged hundreds of programs, and TeX derivatives are monsters.
Most users just install texlive OS package, use TexLive upstream installer, or use ConTeXt upstream install.sh. The problem with something context is that there are basically only two components:
- a tex tree with fonts and macros - a few binaries (just one for lmtx) while in texlive one has quite some choices. We made these minimals actually in order to not end up with complex system dependent installations, also because most users just install context this way (it is fast too). So, as Alan explained, anyone can wrap differently based on that. And if something is needed, we can provide it. But I'm not going to install something else than what i have for testing it. My develop and work machine is windows pro + linux sub system, the servers run opensuse. On all I just install under /data/context and that makes it system wide. I don't need to set up something apart from adding a binary to the path (or when I run from e.g. a web service I just use a fully quialified path to mtxrun) .. it cannot be simpler than that. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
You don't have to install anything.
What I'm asking is documentation of offline installation instructions. Offline installation means downloading all required archives in advance and then installing them without internet access.
Translation of what install.sh roughly does into a documentation that any OS package maintainer can read and adapt to one's operating system.
What would you tell a system admin to do if instructions contained in install.sh have to be done manually by hand?
For example, you can add a plain text file called INSTALL that has a list of commands that build or install ConTeXt into any directory structure. If you provide instructions for installing ConTeXt into an arbitrary directory structure and how to adjust contextcnf.lua to the new directory structure, package maintainers can adapt.
------- Original Message -------
On Thursday, August 18th, 2022 at 5:16 PM, Hans Hagen
On 8/18/2022 4:08 PM, amano.kenji wrote:
Sorry for spamming the list a little bit.
If there was something like https://www.linuxfromscratch.org/lfs/view/stable/chapter06/ncurses.html for ConTeXt and luametatex (binary), then distribution maintainers can make packages for ConTeXt easily.
I don't know TeX/TeXLive/kpathsea/ConTeXt directory structure conventions. Linux package maintainers don't know, either. I have packaged hundreds of programs, and TeX derivatives are monsters.
Most users just install texlive OS package, use TexLive upstream installer, or use ConTeXt upstream install.sh.
The problem with something context is that there are basically only two components:
- a tex tree with fonts and macros - a few binaries (just one for lmtx)
while in texlive one has quite some choices. We made these minimals actually in order to not end up with complex system dependent installations, also because most users just install context this way (it is fast too).
So, as Alan explained, anyone can wrap differently based on that. And if something is needed, we can provide it. But I'm not going to install something else than what i have for testing it. My develop and work machine is windows pro + linux sub system, the servers run opensuse. On all I just install under /data/context and that makes it system wide. I don't need to set up something apart from adding a binary to the path (or when I run from e.g. a web service I just use a fully quialified path to mtxrun) .. it cannot be simpler than that.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 8/19/2022 2:51 PM, amano.kenji wrote:
You don't have to install anything.
What I'm asking is documentation of offline installation instructions. Offline installation means downloading all required archives in advance and then installing them without internet access.
Translation of what install.sh roughly does into a documentation that any OS package maintainer can read and adapt to one's operating system.
What would you tell a system admin to do if instructions contained in install.sh have to be done manually by hand?
For example, you can add a plain text file called INSTALL that has a list of commands that build or install ConTeXt into any directory structure. If you provide instructions for installing ConTeXt into an arbitrary directory structure and how to adjust contextcnf.lua to the new directory structure, package maintainers can adapt. The problem is that there are two methods:
(1) install texlive and unzip the latest context zip if you want the latest greatest (2) for lmtx get the right zips (main one + platform one) and just unzip However, we have currently no list of the platform ones (they can of course be guessed) simply because we assume the installer; the main reason for that is that the minimals also just rsynced files depending on platform (that each were somewhat different) It is till undecided if we will post zips with bins or let users compile if they install on their own ... it also depends on how we set up the garden for lmtx ... keep in mind that lmtx is still experimental although it is now moving slower. So, in due time I guess there will be some install.rme file but then we also need to have pointers to the platform bins (in tree format). Of course you're free to write an installation guide as starting point. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Wait. Are you actually saying that no one who has write access to ConTeXt source is going to write documentation that describes manual offline installation for package distributors?
------- Original Message -------
On Thursday, August 18th, 2022 at 5:16 PM, Hans Hagen
On 8/18/2022 4:08 PM, amano.kenji wrote:
Sorry for spamming the list a little bit.
If there was something like https://www.linuxfromscratch.org/lfs/view/stable/chapter06/ncurses.html for ConTeXt and luametatex (binary), then distribution maintainers can make packages for ConTeXt easily.
I don't know TeX/TeXLive/kpathsea/ConTeXt directory structure conventions. Linux package maintainers don't know, either. I have packaged hundreds of programs, and TeX derivatives are monsters.
Most users just install texlive OS package, use TexLive upstream installer, or use ConTeXt upstream install.sh.
The problem with something context is that there are basically only two components:
- a tex tree with fonts and macros - a few binaries (just one for lmtx)
while in texlive one has quite some choices. We made these minimals actually in order to not end up with complex system dependent installations, also because most users just install context this way (it is fast too).
So, as Alan explained, anyone can wrap differently based on that. And if something is needed, we can provide it. But I'm not going to install something else than what i have for testing it. My develop and work machine is windows pro + linux sub system, the servers run opensuse. On all I just install under /data/context and that makes it system wide. I don't need to set up something apart from adding a binary to the path (or when I run from e.g. a web service I just use a fully quialified path to mtxrun) .. it cannot be simpler than that.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 8/19/2022 3:03 PM, amano.kenji wrote:
Wait. Are you actually saying that no one who has write access to ConTeXt source is going to write documentation that describes manual offline installation for package distributors? Not sure what you mean here but basically a (future) installation is:
- unzip the main zip file - goto the source subtree - run build.sh (assumes compiler and cmake installed) - move the binary file to the relevant bin location - set symlinks from luametatex to mtsrun and context - copy mtxrun.lua and context.lue there too - adapt your path - maybe add texmf-fonts and texmf-projects - and you're done so, something like that, or ... use the online installer instead. And how a packager then use that is upto the packager .. we don't prescript something at all. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Okay. An installation guide for package distributors may appear in the future. But, it's not going to appear anytime soon.
For now, I'm going to fix up texmfcnf.lua in Gentoo Linux texlive package for using stable releases of ConTeXt and use install.sh for testing the latest changes.
------- Original Message -------
On Friday, August 19th, 2022 at 1:11 PM, Hans Hagen
On 8/19/2022 3:03 PM, amano.kenji wrote:
Wait. Are you actually saying that no one who has write access to ConTeXt source is going to write documentation that describes manual offline installation for package distributors?
Not sure what you mean here but basically a (future) installation is:
- unzip the main zip file - goto the source subtree - run build.sh (assumes compiler and cmake installed) - move the binary file to the relevant bin location - set symlinks from luametatex to mtsrun and context - copy mtxrun.lua and context.lue there too - adapt your path - maybe add texmf-fonts and texmf-projects - and you're done
so, something like that, or ... use the online installer instead.
And how a packager then use that is upto the packager .. we don't prescript something at all.
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 8/19/2022 3:18 PM, amano.kenji wrote:
Okay. An installation guide for package distributors may appear in the future. But, it's not going to appear anytime soon.
For now, I'm going to fix up texmfcnf.lua in Gentoo Linux texlive package for using stable releases of ConTeXt and use install.sh for testing the latest changes. Actually you can find some in
followingup-stubs.tex which has been in the context distribution for a while. It also explains the difference between running the two engines. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
From my perspective, a few optimizations for system installation need to happen for ConTeXt.
contextcnf.lua needs to support system installation paths.
Arch Linux texlive-core packages has its own patched version of texmfcnf.lua that sets TEXMFSYSVAR=/var/lib/texmf, TEXMFOS=/usr/share, TEXMFDIST=/usr/share/texmf-dist, and TEXMFSYSCONFIG=/etc/texmf.
TexLive's own version of texmfcnf.lua is not suitable for system-wide installation.
contexcnf.lua assumes all paths are relative to /path/to/extracted-archive which is definitely not a system-wide installation.
A system-wide installation is installed to absolute paths.
On top of that, there needs to be a document called INSTALLATION or BUILD that offers a simplified version of build/installation instructions contained in install.sh, mtx-install.lua, and mtxrun.lua. It seems mtxrun can be used to build and install ConTeXt without internet access as long as all dependencies are already present.
If ConTeXt is optimized for system-wide installation by modifying contextcnf.lua and adding INSTALL or BUILD, then all POSIX-like operating systems will be able to easily make packages for ConTeXt. Not just Gentoo Linux.
Can anyone help me with optimizing ConTeXt for system-wide installation?
------- Original Message -------
On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks
On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK
I believe that you are missing the point of LMTX. LMTX Context is intended to be a self-contained AND PORTABLE directory tree. It does not need system installation paths and such and is designed to happily co-exist with system installed TeX (using packages) or TeXlive or others, without interference. The LMTX directory tree is very light-weight and indeed many production users might keep a separate copy with EACH major TeX project, thus ensuring that the project will continue to compile without changes as LMTX evolves. This strategy can be a successful insurance that very old projects will continue to compile yielding the same results many years later. Not that you need to go that far. Many users install LMTX for a system-wide use in some commonly accessible location. This is totally portable: only the PATH needs to be set to find the correct context executable. LMTX does not go the route of system packages as this relies on package maintainers. ConTeXt mkiv with luatex continues to be made available and updated with TeXlive, so any system packages that provide TeXlive can provide ConTeXt. Alan On 15/08/2022 07:54, amano.kenji via ntg-context wrote:
From my perspective, a few optimizations for system installation need to happen for ConTeXt.
contextcnf.lua needs to support system installation paths.
Arch Linux texlive-core packages has its own patched version of texmfcnf.lua that sets TEXMFSYSVAR=/var/lib/texmf, TEXMFOS=/usr/share, TEXMFDIST=/usr/share/texmf-dist, and TEXMFSYSCONFIG=/etc/texmf.
TexLive's own version of texmfcnf.lua is not suitable for system-wide installation.
contexcnf.lua assumes all paths are relative to /path/to/extracted-archive which is definitely not a system-wide installation.
A system-wide installation is installed to absolute paths.
On top of that, there needs to be a document called INSTALLATION or BUILD that offers a simplified version of build/installation instructions contained in install.sh, mtx-install.lua, and mtxrun.lua. It seems mtxrun can be used to build and install ConTeXt without internet access as long as all dependencies are already present.
If ConTeXt is optimized for system-wide installation by modifying contextcnf.lua and adding INSTALL or BUILD, then all POSIX-like operating systems will be able to easily make packages for ConTeXt. Not just Gentoo Linux.
Can anyone help me with optimizing ConTeXt for system-wide installation?
------- Original Message ------- On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks
wrote: On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- -- Alan
The problem is that I read that ConTeXt Mark IV will be phased out in favor of ConTeXt LMTX.
If TexLive ConTeXt is outdated, I will want to use ConTeXt LMTX.
I want ConTeXt installed as a linux distribution package.
I think LMTX should accommodate linux distributions as well as portable installation.
------- Original Message -------
On Monday, August 15th, 2022 at 6:46 PM, Alan Braslau
I believe that you are missing the point of LMTX.
LMTX Context is intended to be a self-contained AND PORTABLE directory tree. It does not need system installation paths and such and is designed to happily co-exist with system installed TeX (using packages) or TeXlive or others, without interference. The LMTX directory tree is very light-weight and indeed many production users might keep a separate copy with EACH major TeX project, thus ensuring that the project will continue to compile without changes as LMTX evolves. This strategy can be a successful insurance that very old projects will continue to compile yielding the same results many years later.
Not that you need to go that far.
Many users install LMTX for a system-wide use in some commonly accessible location. This is totally portable: only the PATH needs to be set to find the correct context executable.
LMTX does not go the route of system packages as this relies on package maintainers. ConTeXt mkiv with luatex continues to be made available and updated with TeXlive, so any system packages that provide TeXlive can provide ConTeXt.
Alan
On 15/08/2022 07:54, amano.kenji via ntg-context wrote:
From my perspective, a few optimizations for system installation need to happen for ConTeXt.
contextcnf.lua needs to support system installation paths.
Arch Linux texlive-core packages has its own patched version of texmfcnf.lua that sets TEXMFSYSVAR=/var/lib/texmf, TEXMFOS=/usr/share, TEXMFDIST=/usr/share/texmf-dist, and TEXMFSYSCONFIG=/etc/texmf.
TexLive's own version of texmfcnf.lua is not suitable for system-wide installation.
contexcnf.lua assumes all paths are relative to /path/to/extracted-archive which is definitely not a system-wide installation.
A system-wide installation is installed to absolute paths.
On top of that, there needs to be a document called INSTALLATION or BUILD that offers a simplified version of build/installation instructions contained in install.sh, mtx-install.lua, and mtxrun.lua. It seems mtxrun can be used to build and install ConTeXt without internet access as long as all dependencies are already present.
If ConTeXt is optimized for system-wide installation by modifying contextcnf.lua and adding INSTALL or BUILD, then all POSIX-like operating systems will be able to easily make packages for ConTeXt. Not just Gentoo Linux.
Can anyone help me with optimizing ConTeXt for system-wide installation?
------- Original Message ------- On Monday, August 15th, 2022 at 12:12 PM, Bruce Horrocks ntg@scorecrow.com wrote:
On 15 Aug 2022, at 13:03, amano.kenji via ntg-context ntg-context@ntg.nl wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Install instructions for LMTX on Linux are here: https://wiki.contextgarden.net/Installation
It's pre-built so there are no make steps.
Try it and ask again if you have problems. :-)
— Bruce Horrocks Hampshire, UK ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
-- -- Alan
On Mon Aug 15, 2022 at 2:03 PM CEST, amano.kenji via ntg-context wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Some of the problems were mentioned in previous discussions. Like: - you would need to maintain your own "snapshots" of the current ConTeXt (or make use of the public git mirror) - you currently can't build luametatex binary from source, you would have to download it prebuilt (and also keep snapshots of it) - different directory structure expected by Linux distributions (FHS, "file hierarchy standard") vs TeX (TDS, "TeX directory structure") In addition, there are still many uncertain things, like how you want to handle fonts: - install some with ConTeXt? (In that case you might distribute fonts already available in your Linux distribution) - use system ones? (Then your documents may be subject to breakages from uncoordinated updates - ConTeXt has goodie files tuned to particular versions of fonts) Also, AFAIK, packages are diligent with keeping license information and documentation, you would have to decide how that information would be kept (this is mostly the directory structure problem). With that said, taking Hans' instructions as a start: On Fri Aug 19, 2022 at 3:11 PM CEST, Hans Hagen via ntg-context wrote:
Not sure what you mean here but basically a (future) installation is:
- unzip the main zip file - goto the source subtree - run build.sh (assumes compiler and cmake installed) - move the binary file to the relevant bin location - set symlinks from luametatex to mtsrun and context - copy mtxrun.lua and context.lue there too - adapt your path - maybe add texmf-fonts and texmf-projects - and you're done
You need two things from ConTeXt: texmf directories (there are two provided by ConTeXt "texmf-context" - what you really need, "texmf" - mostly fonts) and the luametatex binary. For simplicity let's only include "texmf-context": In that case you need to extract "mtxrun" (rename to "luametatex") from http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip and download the "texmf-context" texmf tree from http://lmtx.pragma-ade.nl/install-lmtx/texmf-context.zip. This is how you get luametatex to execute script like mtxrun or context: - luametatex binary gets executed with name (argv[0]) <script> - <script>.lua from the same directory gets executed If you setup paths correctly, you can run all ConTeXt scripts with mtxrun --script <script> E.g. mtxrun --script context Is equivalent to `context`. So having mtxrun is enough. But you need to tell it how to find the files from texmf. `texmfcnf.lua` configuration file is used for that. ConTeXt has a few hardcoded directories where it looks for these files [1], but you can use the `TEXMFCNF` environment variable to override this (usually variables can be also looked up from config files, but there is a bit of bootstrapping problem here - ConTeXt allows setting of TEXMFCNF also in config files, but then it gets a bit hairy and I didn't investigate that). I may have got the wrong impression, but I didn't get multiple configuration files working. In the config file, you can see the settings of some special variables like TEXINPUTS (this one tells TeX where to look for .tex files). You should keep them like they are, since they implement the TDS. They all refer to the TEXMF variable, where I advise changing things. You can structure TEXMF trees in any way you like and would probably have to decide what is the best way for Gentoo. [1]: https://github.com/vlasakm/context/blob/419cacd966ab0adcb9451b60c9fd98790cce... It seems that getting file finding to work is everything you need. ConTeXt automatically generates the file finding caches, format files, etc. I prepared a proof of concept, that I am ready to take down immediately at Hans' request, since I don't handle license information properly, and texmf-context is stripped down (just so that the downloads are not too big for proof of concept). https://github.com/vlasakm/context There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space), "luametatex" (copy the binary from installation zip or download from build farm) and texmcnf.lua (copy of the fallback contextcnf.lua where I made modifications to leverage TEXMFDOTDIR and TEXMF even as a user interface). The rest is the `mtxrun` shell script which is what the user runs. This is what runs luametatex with the name `mtxrun` (using "exec -a"). Normally you would just symlink mtxrun to luametatex, but I also had some trouble setting TEXMFCNF otherwise, so I just put both things in this one script. After this, mtxrun.lua is executed, which is symlinked by the Makefile - the last thing in the repository. This is essentially what you wanted, a possibility to `make install` ConTeXt. I didn't script the downloading and unzipping part. The install target just copies things to /bin and /share and symlinks mtxrun.lua from /bin to /share. Standard `PREFIX` and `DESTDIR` variables are used (I believe they originate from the "GNU coding standards", if you are not familiar with them). I pushed a release, so you can download a tarball from a convenient address: https://github.com/vlasakm/context/releases/tag/v20220821 I am not really familiar with ebuild, but I am sure you can get it working. Though the crucial parts for you mtxrun, and partly texmfcnf.lua, you still have to do (and mainly decide) things yourself. I got it working with Debian, RPM and Arch Linux packaging tools / formats: https://build.opensuse.org/package/show/home:lahcim8/context Essentially the following needs to run somewhere in the build scripts: make DESTDIR=... PREFIX=... install Downloads for a couple of distros are available here: https://software.opensuse.org/download.html?project=home%3Alahcim8&package=context Although from brief testing only Arch Linux works correctly, Debian can't find system fonts and on Fedora even file finding doesn't work. A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.). Good luck. Michal Vlasák
Wuh. That's a bit complex.
For distribution packages that depend on context for generation of PDF documents, having context as a system package is essential.
And, distribution maintainers can make things work if they understand TeX directory structure and texmfcnf.lua.
It comes down to care. If they care and they have installation guide, they will make it work.
------- Original Message -------
On Sunday, August 21st, 2022 at 7:13 PM, Michal Vlasák
On Mon Aug 15, 2022 at 2:03 PM CEST, amano.kenji via ntg-context wrote:
TexLive has texmfcnf.lua that doesn't really work with texlive-context installed by linux distributions.
Arch Linux has its own patched version of texmfcnf.lua.
It seems I'd be better off with a linux package for ConTeXt LMTX.
How can I build and install ConTeXt LMTX on Gentoo Linux or any linux distribution?
I wish it was as simple as ./configure, make, and make install.
Some of the problems were mentioned in previous discussions. Like:
- you would need to maintain your own "snapshots" of the current ConTeXt (or make use of the public git mirror) - you currently can't build luametatex binary from source, you would have to download it prebuilt (and also keep snapshots of it) - different directory structure expected by Linux distributions (FHS, "file hierarchy standard") vs TeX (TDS, "TeX directory structure")
In addition, there are still many uncertain things, like how you want to handle fonts:
- install some with ConTeXt? (In that case you might distribute fonts already available in your Linux distribution) - use system ones? (Then your documents may be subject to breakages from uncoordinated updates - ConTeXt has goodie files tuned to particular versions of fonts)
Also, AFAIK, packages are diligent with keeping license information and documentation, you would have to decide how that information would be kept (this is mostly the directory structure problem).
With that said, taking Hans' instructions as a start:
On Fri Aug 19, 2022 at 3:11 PM CEST, Hans Hagen via ntg-context wrote:
Not sure what you mean here but basically a (future) installation is:
- unzip the main zip file - goto the source subtree - run build.sh (assumes compiler and cmake installed) - move the binary file to the relevant bin location - set symlinks from luametatex to mtsrun and context - copy mtxrun.lua and context.lue there too - adapt your path - maybe add texmf-fonts and texmf-projects - and you're done
You need two things from ConTeXt: texmf directories (there are two provided by ConTeXt "texmf-context" - what you really need, "texmf" - mostly fonts) and the luametatex binary.
For simplicity let's only include "texmf-context":
In that case you need to extract "mtxrun" (rename to "luametatex") from http://lmtx.pragma-ade.nl/install-lmtx/context-linux-64.zip and download the "texmf-context" texmf tree from http://lmtx.pragma-ade.nl/install-lmtx/texmf-context.zip.
This is how you get luametatex to execute script like mtxrun or context:
- luametatex binary gets executed with name (argv[0]) <script>
- <script>.lua from the same directory gets executed
If you setup paths correctly, you can run all ConTeXt scripts with
mtxrun --script <script>
E.g.
mtxrun --script context
Is equivalent to `context`. So having mtxrun is enough.
But you need to tell it how to find the files from texmf. `texmfcnf.lua` configuration file is used for that. ConTeXt has a few hardcoded directories where it looks for these files [1], but you can use the `TEXMFCNF` environment variable to override this (usually variables can be also looked up from config files, but there is a bit of bootstrapping problem here - ConTeXt allows setting of TEXMFCNF also in config files, but then it gets a bit hairy and I didn't investigate that). I may have got the wrong impression, but I didn't get multiple configuration files working. In the config file, you can see the settings of some special variables like TEXINPUTS (this one tells TeX where to look for .tex files). You should keep them like they are, since they implement the TDS. They all refer to the TEXMF variable, where I advise changing things. You can structure TEXMF trees in any way you like and would probably have to decide what is the best way for Gentoo.
[1]: https://github.com/vlasakm/context/blob/419cacd966ab0adcb9451b60c9fd98790cce...
It seems that getting file finding to work is everything you need. ConTeXt automatically generates the file finding caches, format files, etc.
I prepared a proof of concept, that I am ready to take down immediately at Hans' request, since I don't handle license information properly, and texmf-context is stripped down (just so that the downloads are not too big for proof of concept).
https://github.com/vlasakm/context
There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space), "luametatex" (copy the binary from installation zip or download from build farm) and texmcnf.lua (copy of the fallback contextcnf.lua where I made modifications to leverage TEXMFDOTDIR and TEXMF even as a user interface).
The rest is the `mtxrun` shell script which is what the user runs. This is what runs luametatex with the name `mtxrun` (using "exec -a"). Normally you would just symlink mtxrun to luametatex, but I also had some trouble setting TEXMFCNF otherwise, so I just put both things in this one script. After this, mtxrun.lua is executed, which is symlinked by the Makefile - the last thing in the repository.
This is essentially what you wanted, a possibility to `make install` ConTeXt. I didn't script the downloading and unzipping part. The install target just copies things to /bin and /share and symlinks mtxrun.lua from /bin to /share. Standard `PREFIX` and `DESTDIR` variables are used (I believe they originate from the "GNU coding standards", if you are not familiar with them).
I pushed a release, so you can download a tarball from a convenient address:
https://github.com/vlasakm/context/releases/tag/v20220821
I am not really familiar with ebuild, but I am sure you can get it working. Though the crucial parts for you mtxrun, and partly texmfcnf.lua, you still have to do (and mainly decide) things yourself.
I got it working with Debian, RPM and Arch Linux packaging tools / formats:
https://build.opensuse.org/package/show/home:lahcim8/context
Essentially the following needs to run somewhere in the build scripts:
make DESTDIR=... PREFIX=... install
Downloads for a couple of distros are available here:
https://software.opensuse.org/download.html?project=home%3Alahcim8&package=context
Although from brief testing only Arch Linux works correctly, Debian can't find system fonts and on Fedora even file finding doesn't work.
A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.).
Good luck.
Michal Vlasák
Hi Amano,
Wuh. That's a bit complex.
Not really. From a user perspective, all that you need to run is make install
From a developer perspective, this is essentially just the base ConTeXt files, a modified texmfcnf.lua, and a fairly basic makefile.
For distribution packages that depend on context for generation of PDF documents, having context as a system package is essential.
I'd say that ConTeXt *is* available in nearly every package manager, via TeX Live. Very very few package managers would have no TeX Live. TeX Live only includes MkIV, the "stable" version, but most users won't notice many differences from MkXL/LMTX, the "experimental" version. By policy, TeX Live only updates its binaries once per year. This would be pretty much unworkable with LuaMetaTeX due to its frequent upgrades. At some point when LuaMetaTeX is stable, the source will be released and almost certainly be incorporated in TeX Live.
And, distribution maintainers can make things work if they understand TeX directory structure and texmfcnf.lua.
Packaging/installing ConTeXt is actually much easier than doing so for other TeX systems. With other systems, you need to fiddle around with fonts and packages, but with ConTeXt, you can pretty much just unpack a few files. Here's a short paper that should give you an overview of how hard packaging TeX can be: https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf
It comes down to care. If they care and they have installation guide, they will make it work.
I'm not sure who you're talking about here. If you're talking about end- users, then yes, it's pretty simple to install ConTeXt. I personally find ConTeXt much easier to install than TeX Live. If you're talking about packagers, then packaging ConTeXt is no more complex than packaging TeX Live (which of course includes ConTeXt MkIV). The installer documentation for ConTeXt LMTX certainly isn't as detailed as it is for TeX Live, but LMTX is still beta software. If you're trying to say that the ConTeXt developers don't care, then you may be "right" in a sense, but missing the point entirely. There is no one who is paid to work on ConTeXt: all of the developers work on it either as volunteers or to support their own business needs. The current installer works for them and for many other users. This isn't to say that they don't care about the users, but rather that they are unlikely to spend much time making a package for a fairly unpopular distro where the official installer already works.
On Sunday, August 21st, 2022 at 7:13 PM, Michal Vlasák <lahcim8 at gmail.com> wrote:
Hi Michal,
I prepared a proof of concept, that I am ready to take down immediately at Hans' request, since I don't handle license information properly, and texmf-context is stripped down (just so that the downloads are not too big for proof of concept).
That's quite impressive!
There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space),
One suggestion: instead of unpacking and committing "texmf-context.zip", I'd recommend adding https://github.com/contextgarden/context-mirror/ as a git submodule. That way, it's easy to keep the files up-to-date, your repo will use less space, and there's a clearer separation between your package files and ConTeXt itself.
A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.).
Well packaging the files into .rpm/.deb isn't really a bad idea; what's bad is the weird modifications that distros make, plus the fact that nearly every distro delays updates by quite some time. I generally agree that installing TeX straight from the source is better, although I can see why some users prefer to install from their distro repos. Thanks, -- Max
they are unlikely to spend much time making a package for a fairly unpopular distro where the official installer already works.
If someone adds something like installation.md to the root directory of ConTeXt source archive or git commit, anyone can read it and translate it into one's OS package. installation.md would be one generalized set of instructions that apply to windows, Mac, linux distributions, BSDs, and all other operating systems.
------- Original Message -------
On Tuesday, August 23rd, 2022 at 1:11 AM, Max Chernoff
Hi Amano,
Wuh. That's a bit complex.
Not really. From a user perspective, all that you need to run is
make install
From a developer perspective, this is essentially just the base ConTeXt files, a modified texmfcnf.lua, and a fairly basic makefile.
For distribution packages that depend on context for generation of PDF documents, having context as a system package is essential.
I'd say that ConTeXt is available in nearly every package manager, via TeX Live. Very very few package managers would have no TeX Live. TeX Live only includes MkIV, the "stable" version, but most users won't notice many differences from MkXL/LMTX, the "experimental" version.
By policy, TeX Live only updates its binaries once per year. This would be pretty much unworkable with LuaMetaTeX due to its frequent upgrades. At some point when LuaMetaTeX is stable, the source will be released and almost certainly be incorporated in TeX Live.
And, distribution maintainers can make things work if they understand TeX directory structure and texmfcnf.lua.
Packaging/installing ConTeXt is actually much easier than doing so for other TeX systems. With other systems, you need to fiddle around with fonts and packages, but with ConTeXt, you can pretty much just unpack a few files.
Here's a short paper that should give you an overview of how hard packaging TeX can be:
https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf
It comes down to care. If they care and they have installation guide, they will make it work.
I'm not sure who you're talking about here. If you're talking about end- users, then yes, it's pretty simple to install ConTeXt. I personally find ConTeXt much easier to install than TeX Live.
If you're talking about packagers, then packaging ConTeXt is no more complex than packaging TeX Live (which of course includes ConTeXt MkIV). The installer documentation for ConTeXt LMTX certainly isn't as detailed as it is for TeX Live, but LMTX is still beta software.
If you're trying to say that the ConTeXt developers don't care, then you may be "right" in a sense, but missing the point entirely. There is no one who is paid to work on ConTeXt: all of the developers work on it either as volunteers or to support their own business needs. The current installer works for them and for many other users. This isn't to say that they don't care about the users, but rather that they are unlikely to spend much time making a package for a fairly unpopular distro where the official installer already works.
On Sunday, August 21st, 2022 at 7:13 PM, Michal Vlasák <lahcim8 at gmail.com> wrote:
Hi Michal,
I prepared a proof of concept, that I am ready to take down immediately at Hans' request, since I don't handle license information properly, and texmf-context is stripped down (just so that the downloads are not too big for proof of concept).
That's quite impressive!
There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space),
One suggestion: instead of unpacking and committing "texmf-context.zip", I'd recommend adding
https://github.com/contextgarden/context-mirror/
as a git submodule. That way, it's easy to keep the files up-to-date, your repo will use less space, and there's a clearer separation between your package files and ConTeXt itself.
A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.).
Well packaging the files into .rpm/.deb isn't really a bad idea; what's bad is the weird modifications that distros make, plus the fact that nearly every distro delays updates by quite some time. I generally agree that installing TeX straight from the source is better, although I can see why some users prefer to install from their distro repos.
Thanks, -- Max
Somebody needed to update TeX Live on Gentoo Linux. I'm going to read it.
From a developer perspective, this is essentially just the base ConTeXt files, a modified texmfcnf.lua, and a fairly basic makefile.
I'm going to read https://github.com/vlasakm/context soon. Until then, I would feel confused and disoriented.
------- Original Message -------
On Tuesday, August 23rd, 2022 at 1:11 AM, Max Chernoff
Hi Amano,
Wuh. That's a bit complex.
Not really. From a user perspective, all that you need to run is
make install
From a developer perspective, this is essentially just the base ConTeXt files, a modified texmfcnf.lua, and a fairly basic makefile.
For distribution packages that depend on context for generation of PDF documents, having context as a system package is essential.
I'd say that ConTeXt is available in nearly every package manager, via TeX Live. Very very few package managers would have no TeX Live. TeX Live only includes MkIV, the "stable" version, but most users won't notice many differences from MkXL/LMTX, the "experimental" version.
By policy, TeX Live only updates its binaries once per year. This would be pretty much unworkable with LuaMetaTeX due to its frequent upgrades. At some point when LuaMetaTeX is stable, the source will be released and almost certainly be incorporated in TeX Live.
And, distribution maintainers can make things work if they understand TeX directory structure and texmfcnf.lua.
Packaging/installing ConTeXt is actually much easier than doing so for other TeX systems. With other systems, you need to fiddle around with fonts and packages, but with ConTeXt, you can pretty much just unpack a few files.
Here's a short paper that should give you an overview of how hard packaging TeX can be:
https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf
It comes down to care. If they care and they have installation guide, they will make it work.
I'm not sure who you're talking about here. If you're talking about end- users, then yes, it's pretty simple to install ConTeXt. I personally find ConTeXt much easier to install than TeX Live.
If you're talking about packagers, then packaging ConTeXt is no more complex than packaging TeX Live (which of course includes ConTeXt MkIV). The installer documentation for ConTeXt LMTX certainly isn't as detailed as it is for TeX Live, but LMTX is still beta software.
If you're trying to say that the ConTeXt developers don't care, then you may be "right" in a sense, but missing the point entirely. There is no one who is paid to work on ConTeXt: all of the developers work on it either as volunteers or to support their own business needs. The current installer works for them and for many other users. This isn't to say that they don't care about the users, but rather that they are unlikely to spend much time making a package for a fairly unpopular distro where the official installer already works.
On Sunday, August 21st, 2022 at 7:13 PM, Michal Vlasák <lahcim8 at gmail.com> wrote:
Hi Michal,
I prepared a proof of concept, that I am ready to take down immediately at Hans' request, since I don't handle license information properly, and texmf-context is stripped down (just so that the downloads are not too big for proof of concept).
That's quite impressive!
There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space),
One suggestion: instead of unpacking and committing "texmf-context.zip", I'd recommend adding
https://github.com/contextgarden/context-mirror/
as a git submodule. That way, it's easy to keep the files up-to-date, your repo will use less space, and there's a clearer separation between your package files and ConTeXt itself.
A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.).
Well packaging the files into .rpm/.deb isn't really a bad idea; what's bad is the weird modifications that distros make, plus the fact that nearly every distro delays updates by quite some time. I generally agree that installing TeX straight from the source is better, although I can see why some users prefer to install from their distro repos.
Thanks, -- Max
On Tue Aug 23, 2022 at 3:11 AM CEST, Max Chernoff wrote:
On Sunday, August 21st, 2022 at 7:13 PM, Michal Vlasák <lahcim8 at gmail.com> wrote:
There is documentation about how it can be used. I hope its obvious how I got "texmf" (texmf-context.zip, unzip, delete some files I didn't want to take up space),
One suggestion: instead of unpacking and committing "texmf-context.zip", I'd recommend adding
https://github.com/contextgarden/context-mirror/
as a git submodule. That way, it's easy to keep the files up-to-date, your repo will use less space, and there's a clearer separation between your package files and ConTeXt itself.
Yes, you are right that would be much better. Unfortunately it seems that git submodules are not included in archives created by `git archive` (which is also what Github uses for the automatic release zip / tars that I have linked above). As I wanted the published tarballs / zips self-contained ("offline only"), I would need to use some script to generate custom archives that I would upload to Github as release assets. This would require special care both from me and the hypothetical packagers who would have to use the less discoverable asset instead of the standard "git(hub) archive" way. Anyway I think that a much better solution can be made once luametatex source code becomes available - then there wouldn't be a reason to resort to commiting binaries into version control and/or unnecessarily restrict to Linux only. Or rather no solution would be needed at all, since the "mtxrun" and "context" wrapper commands and "texmfcnf.lua" files will be probably specific for each packaging target (different directories on different distros, and Unix vs Windows), and thus the matter of packagers. And copying a binary and a directory with runtime files is the usual task of an install step of "package descriptions", so maybe even a Makefile like I had wouldn't be needed.
A bit of a disclaimer: I don't really recommend pursuing this further. Some time ago I was also that foolish to try to package TeX for Linux distributions. Unfortunately I think that the result will never by optimal - as demonstrated by the previous discussions, the usual purposes of packages (to integrate software into the system) don't apply much to TeX / ConTeXt - there one wants something more or less self contained (so that updates are under control, no random non-essential libraries brake things, etc.).
Well packaging the files into .rpm/.deb isn't really a bad idea; what's bad is the weird modifications that distros make, plus the fact that nearly every distro delays updates by quite some time. I generally agree that installing TeX straight from the source is better, although I can see why some users prefer to install from their distro repos.
One benefit of the fact that ConTeXt LMTX is not packaged anywhere came to my mind: when someone has a problem with ConTeXt there is a very high chance that it isn't because they are using a very old version. In contrast to MkIV where one can imagine up to 4 year old installs (say up to 1 year delay in TeX Live and 3 years in the distro for the "stable" ones). Michal
On 8/24/2022 10:21 PM, Michal Vlasák via ntg-context wrote:
Or rather no solution would be needed at all, since the "mtxrun" and "context" wrapper commands and "texmfcnf.lua" files will be probably specific for each packaging target (different directories on different distros, and Unix vs Windows), and thus the matter of packagers. And copying a binary and a directory with runtime files is the usual task of an install step of "package descriptions", so maybe even a Makefile like I had wouldn't be needed.
just a note: the mtxrun[.exe] and context[.exe] commands are not really wrappers but symlinks to the binary luametatex[.exe] (i didn't test if mtxrun.lua and context.lua can be symlinks but that are to be in the same path in order to be seen) one can actually use the default texmf.cnf if one sets TEXMF or one of its companions .. they default to be autoparent which is natural for tds Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On Wed Aug 24, 2022 at 11:32 PM CEST, Hans Hagen wrote:
On 8/24/2022 10:21 PM, Michal Vlasák via ntg-context wrote:
Or rather no solution would be needed at all, since the "mtxrun" and "context" wrapper commands and "texmfcnf.lua" files will be probably specific for each packaging target (different directories on different distros, and Unix vs Windows), and thus the matter of packagers. And copying a binary and a directory with runtime files is the usual task of an install step of "package descriptions", so maybe even a Makefile like I had wouldn't be needed.
just a note: the mtxrun[.exe] and context[.exe] commands are not really wrappers but symlinks to the binary luametatex[.exe] (i didn't test if mtxrun.lua and context.lua can be symlinks but that are to be in the same path in order to be seen)
Yes, sorry I should have been clearer. What is necessary for luametatex to run a Lua script is to run it with another name (argv[0]). This can be done with symlinks, or with `exec -a mtxrun luametatex`. And even mtxrun.lua and context.lua can be symlinks, it works, I used it.
one can actually use the default texmf.cnf if one sets TEXMF or one of its companions .. they default to be autoparent which is natural for tds
Thanks, indeed the config file sets the paths nicely, so it isn't necessary to have another file if one sets TEXMF, very nice! One addition I had was the use of $TEXMFDOTDIR instead of "." as the first path in most variables, e.g.: TEXINPUTS = "$TEXMFDOTDIR;$TEXMF/tex/{context,plain/base,generic}//", instead of TEXINPUTS = ".;$TEXMF/tex/{context,plain/base,generic}//", I quite like it for adding directories with my macros / bib files etc. that are not structured as TDS tree, but rather are "flat". It's originally from TeX Live: https://github.com/TeX-Live/texlive-source/commit/f1dfa7b7670fa28451c386fb08... It lists ".//" as another possible use. Could you also add it? I updated the repo: https://github.com/vlasakm/context Now also `context` is an executable (two more symlinks, so now 4 symlinks and one binary in total). There is no longer a configuration file by me (the fallback contextcnf.lua gets used or user provides one), the drawback being that I set some variables in the environment and the user now can't override them from config file only from environment, AFAIK. Also mtxrun --variables doesn't work now (maybe other things) though I won't investigate further for now. Anyway, thanks for the clarifications and suggestions! Michal
On Mon, 22 Aug 2022, amano.kenji via ntg-context wrote:
Wuh. That's a bit complex.
If you are packaging any flavor of TeX, you need to understand TDS (TeX Directory Structure): https://tug.org/tds/ ConTeXt distributions are TDS compatible, but simplify certain aspects. Essentially, context LMTX is distributed as a collection of TDS trees (texmf, texmf-context, texmf-linux, etc.) which separate the files according to their role. The purpose of texmfcnf.lua is to tell the binary about the location of the different trees. Aditya
That's great, bro.
------- Original Message -------
On Tuesday, August 23rd, 2022 at 7:13 PM, Aditya Mahajan via ntg-context
On Mon, 22 Aug 2022, amano.kenji via ntg-context wrote:
Wuh. That's a bit complex.
If you are packaging any flavor of TeX, you need to understand TDS (TeX Directory Structure):
ConTeXt distributions are TDS compatible, but simplify certain aspects. Essentially, context LMTX is distributed as a collection of TDS trees (texmf, texmf-context, texmf-linux, etc.) which separate the files according to their role. The purpose of texmfcnf.lua is to tell the binary about the location of the different trees.
Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___________________________________________________________________________________
participants (8)
-
Aditya Mahajan
-
Alan
-
Alan Braslau
-
amano.kenji
-
Bruce Horrocks
-
Hans Hagen
-
Max Chernoff
-
Michal Vlasák