Re: context --version output is not what expected
On Tue, Dec 27, 2011 at 04:03:32PM +, Edd Barrett wrote: Please test. OK? Any opinions? -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
Re: context --version output is not what expected
On Mon, Dec 26, 2011 at 11:04:02PM +0100, frantisek holop wrote: ConTeXt is a pure TeX macro package and it does not need any of texlive's 'overhead', Well, that's not strictly true; it requires luatex and metapost. Kili has suggested pulling context out of texlive and building a current conTeXt against luatex and metapost provided by texlive, but I am reluctant to do so as there is no guarantee that versions will be compatible (as you say, these tools move quickly). Another option is to maintain separate ports of luatex, metapost and context which are separate from texlive entirely -- magic would be required in order to have multiple versions of shared objects installed. Either way, I do not use conTeXt. If someone wants to pursue either of the above, then be my guest, but I don't think it is a trivial task (feel free to prove me wrong). My advice -- wait until these tools mature and use TeX Live in the meantime. If you really need more than what TeX Live can offer, build the stuff you need manually into /opt. Sorry. The attached (gzipped) diff: * Fixes conTeXt found in TeX Live 2011. * Separates conTeXt into it's own sub-package (texlive_texmf-context). * Patches in correct paths for texmfcnf.lua * Creates the luatex cache at install time of texlive_texmf-context. * Updates documentation relating to the above. * Use %D in all hashing @exec/@unexec. * Fix a bogus LOCALBASE, which should have been a TRUEPREFIX. * Small tidy ups. Please test. OK? -- Best Regards Edd Barrett http://www.theunixzoo.co.uk context-split.diff.gz Description: application/gunzip
Re: context --version output is not what expected
hmm, on Tue, Dec 27, 2011 at 04:03:32PM +, Edd Barrett said that On Mon, Dec 26, 2011 at 11:04:02PM +0100, frantisek holop wrote: ConTeXt is a pure TeX macro package and it does not need any of texlive's 'overhead', Well, that's not strictly true; it requires luatex and metapost. that is not overhead, that is basics :] (as far as i know, there wouldn't be luatex without ConTeXt) Kili has suggested pulling context out of texlive and building a current conTeXt against luatex and metapost provided by texlive, but I am reluctant to do so as there is no guarantee that versions will be compatible (as you say, these tools move quickly). the problem with context is, that it's at a crossroads that makes creating a package for it very difficult (and that's not the only reason). mark II, the ruby version goes hand in hand with pdftex. mark IV, the lua version was written with luatex in mind from the start. context users are a bit like openbsd users who use snapshots. it's nice to have a 'release' (texlive) version of context but serious users update often ('snapshots'), and thus texlive is not a viable distribution channel -- the whole point behind the context standalone project. i started putting together ports for the programs needed by the standalone project (e.g. luatex, metapost, xetex, complete list in their wiki), but it's not easy for me, and their infrastructure in their current incarnation is not based on packages in any form so it's not exactly a hand-glove situation.. as there is no vocal userbase, and using the linux version is so easy, investing time into a proper port is simply not a priority.. My advice -- wait until these tools mature and use TeX Live in the meantime. If you really need more than what TeX Live can offer, build the stuff you need manually into /opt. Sorry. my advice: if you plan to use ConTeXt exclusively, go with the ConTeXt standalone project, instructions for openbsd is on the contextgarden wiki.. -f -- part-time musicians are semiconductors.
Re: context --version output is not what expected
hmm, on Fri, Dec 16, 2011 at 12:06:50PM +, Edd Barrett said that Given that few people are using context on OpenBSD, I am going to reccommend adding stage two as a manually run step a user can undertake *if* they want to use context. Is it about time ConTeXt has it's own port? This is what I am going to reccommend in the long term. But not right now. I am CCing kili@ and espie@, who may have opinions on this. Jiri, as a workaround, can you compile context with texexec? This has always been the traditional way to compile context docs. of course it would be great to have a working ConTeXt in texlive, however ConTeXt itself is an insanely fast moving target, on the verge of a big internal shift (pdftex - luatex) and as such texlive with it's annual release model has no chance but to include what is by ConTeXt standards an ancient version. ConTeXt is a pure TeX macro package and it does not need any of texlive's 'overhead', so i have been working on and off (more off) on a seperate standalone ConTeXt openbsd package since 2006 :] as there is no peer/user pressure, obviously the results are what they are: i am a happy context user on my own box and went with the path of least resistance. http://wiki.contextgarden.net/OpenBSD_installation -f -- many would be cowards if they had enough courage.
Re: context --version output is not what expected
On Mon, Dec 19, 2011 at 10:28:53PM +0100, Matthias Kilian wrote: Sadly, IIRC, it looks like context uses a single database file under texmf-var, although i would have to check this (currently on a train). I did some digging. Two pieces of good news. ConTeXt puts one hash per texmf tree under $LOCALBASE/share/texmf-var/... But also, due breakage in their selfauto code, the only reason that hashing took so long and used so much memory, was because we were hashing teh whole of /usr; including my ports tree, src tree, ... By fixing the texmflocal path manually, the process is fairly quick (10 seconds on my amd64) and uses about 25MB of RAM. This could even run on zaurus if you are sick. Given this, how about this: - fix texmfcnf.lua and the bogus selfauto path. - take all context macros and bundle them into their own texmf package: texlive_texmf-context. - In this new package: @exec mtxrun --generate (context's equivilent to mklsr). This means only people who want to use context do the extra hashing step. I find this the least offensive solution. -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
Re: context --version output is not what expected
I looked into what would need to be done to package separately. It still needs metapost and luatex, which makes it a pain to separate. Making ls-R at fake time might be possible, but how would you deal with different subsets being installed? As long as we make sure external ports only ever install into texmf-local, we can dump a full ls-R in for texmf and texmf-dist and hash only texmf-local at install time when it changes? Sadly, IIRC, it looks like context uses a single database file under texmf-var, although i would have to check this (currently on a train). On Dec 18, 2011 8:52 PM, Matthias Kilian k...@outback.escape.de wrote: On Sun, Dec 18, 2011 at 01:00:01AM +, Edd Barrett wrote: For context, I assume it lives in one specific package, so you could prepare it and stuff it in the package. I was not working under this assumption, but you might get away with it. If new packages start installing context crap, then we would have to change our plan ofcourse... Also I will look into making a separate port. Kili, what do you think about all of this? I don't know about context, but if it's so special that it not even uses libkpathsea, it should really go at least into a separate package and (if possible) live outside of the texmf* hierarchies of the texlive packages. For generating any `databases' (like the ls-R files in the texmf directories), it would be nice if this could be done at the fake stage, so the ls-R files are just perfectly ordinary files in the plist. For other (non-texlive) stuff, we already have texmf-local, right? Ciao, Kili
Re: context --version output is not what expected
Hi, On Mon, Dec 19, 2011 at 05:40:35PM +, Edd Barrett wrote: I looked into what would need to be done to package separately. It still needs metapost and luatex, which makes it a pain to separate. It could just depend (run- and/or build-, whatever is needed) on the texlive packages containing the metapost and luatex stuff. Making ls-R at fake time might be possible, but how would you deal with different subsets being installed? First, the (currently) three texlive-texmf_* packages shouldn't share anything searched by libkpathsea (i.e. any of the directories in share/texmf-* that contain ls-R files). If -main, -full and -docs would use different hierarchies, every package could use its own static ls-R file created at fake time. I don't know how much changed in the web2c file search magic during the past 20 years, but I'd be surprised if this couldn't be done by tweaking texmf.cnf a little bit, even if it references some directories which only exist if certain packages like texlive-texmf_full are installed. As long as we make sure external ports only ever install into texmf-local, we can dump a full ls-R in for texmf and texmf-dist and hash only texmf-local at install time when it changes? Yes, this should be possible. If all else fails, just run ls -R on texmf-local with an @exec entry. Or, if libkpathsea really needs the silly comment on top of the ls-R file: { echo '% ls-R -- filename database for kpathsea; do not change this line.'; ls -R %D/share/texmf-local } %D/share/texmf-local/ls-R Sadly, IIRC, it looks like context uses a single database file under texmf-var, although i would have to check this (currently on a train). Be careful, trains are dangerous. Our leader kim jong il died on a train. Ciao, Kili
Re: context --version output is not what expected
On Sun, Dec 18, 2011 at 01:00:01AM +, Edd Barrett wrote: Also I will look into making a separate port. I know nothing about tex, texlive etc... But isn't texlive a distribution of various tex related apps? Then if you would create separate context port what would happen with context included inside texlive? jirib
Re: context --version output is not what expected
On Mon, Dec 19, 2011 at 05:11:14PM -0500, Jiri B wrote: On Sun, Dec 18, 2011 at 01:00:01AM +, Edd Barrett wrote: Also I will look into making a separate port. I know nothing about tex, texlive etc... But isn't texlive a distribution of various tex related apps? Then if you would create separate context port what would happen with context included inside texlive? It would be removed from the texlive packages. There's nothing dictating to include everything from upstream texlive. We can't rip off everything (because upstream texlive is a collection of lots of tools with certain versions, and there are no older versions of the components of upstream texlive available), but we can rip off certain parts of it. I hope, context is such a part. Ciao, Kili
Re: context --version output is not what expected
On Sun, Dec 18, 2011 at 01:00:01AM +, Edd Barrett wrote: For context, I assume it lives in one specific package, so you could prepare it and stuff it in the package. I was not working under this assumption, but you might get away with it. If new packages start installing context crap, then we would have to change our plan ofcourse... Also I will look into making a separate port. Kili, what do you think about all of this? I don't know about context, but if it's so special that it not even uses libkpathsea, it should really go at least into a separate package and (if possible) live outside of the texmf* hierarchies of the texlive packages. For generating any `databases' (like the ls-R files in the texmf directories), it would be nice if this could be done at the fake stage, so the ls-R files are just perfectly ordinary files in the plist. For other (non-texlive) stuff, we already have texmf-local, right? Ciao, Kili
Re: context --version output is not what expected
For context, I assume it lives in one specific package, so you could prepare it and stuff it in the package. I was not working under this assumption, but you might get away with it. If new packages start installing context crap, then we would have to change our plan ofcourse... Also I will look into making a separate port. Kili, what do you think about all of this?
Re: context --version output is not what expected
On Wed, Dec 14, 2011 at 05:05:49PM -0500, Jiri B wrote: On Wed, Dec 14, 2011 at 12:49:16AM +, Edd Barrett wrote: Try installing texmf-full. $ pkg_info | grep texlive texlive_base-2011p0 base binaries for TeXLive typesetting distribution texlive_texmf-full-2011 texlive texmf for XeTeX/ConTeXt and extra macros texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' Right heres the lowdown: ConTeXt no longer uses libkpse to locate files. So they have their own database separate from the ls-R styled one. To fix this we need to: 1) Patch the correct paths into /usr/local/share/texmf/web2c/texmfcnf.lua 2) Generate the hashes: (as root, mtxrun --generate) Now context is ready to work: ---8-- # context --version mtx-context | main context file: /usr/local/share/texmf-dist/tex/context/base/context.mkiv mtx-context | current version: 2011.05.18 18:04 ---8-- Sadly step two takes a long time and uses a *lot* of memory (the normal user login class is not enough heap). Given that few people are using context on OpenBSD, I am going to reccommend adding stage two as a manually run step a user can undertake *if* they want to use context. Is it about time ConTeXt has it's own port? This is what I am going to reccommend in the long term. But not right now. I am CCing kili@ and espie@, who may have opinions on this. Jiri, as a workaround, can you compile context with texexec? This has always been the traditional way to compile context docs. Thanks -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
Re: context --version output is not what expected
On Fri, Dec 16, 2011 at 12:06:50PM +, Edd Barrett wrote: On Wed, Dec 14, 2011 at 05:05:49PM -0500, Jiri B wrote: On Wed, Dec 14, 2011 at 12:49:16AM +, Edd Barrett wrote: Try installing texmf-full. $ pkg_info | grep texlive texlive_base-2011p0 base binaries for TeXLive typesetting distribution texlive_texmf-full-2011 texlive texmf for XeTeX/ConTeXt and extra macros texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' Right heres the lowdown: ConTeXt no longer uses libkpse to locate files. So they have their own database separate from the ls-R styled one. To fix this we need to: 1) Patch the correct paths into /usr/local/share/texmf/web2c/texmfcnf.lua 2) Generate the hashes: (as root, mtxrun --generate) Now context is ready to work: Why isn't the basic database part of the package ? If it takes a long time to run and consumes resources, just put it in the right package, possibly as a @sample file or something, you haven't given me a reason this has to happen during pkg_add time...
Re: context --version output is not what expected
For the same reason we don't include ls-R in packages. We don't know what will be in the texmf tree. Packages can install extra crap and users can make system-local additions which all need to be hashed. On Dec 16, 2011 2:30 PM, Marc Espie es...@nerim.net wrote: On Fri, Dec 16, 2011 at 12:06:50PM +, Edd Barrett wrote: On Wed, Dec 14, 2011 at 05:05:49PM -0500, Jiri B wrote: On Wed, Dec 14, 2011 at 12:49:16AM +, Edd Barrett wrote: Try installing texmf-full. $ pkg_info | grep texlive texlive_base-2011p0 base binaries for TeXLive typesetting distribution texlive_texmf-full-2011 texlive texmf for XeTeX/ConTeXt and extra macros texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' Right heres the lowdown: ConTeXt no longer uses libkpse to locate files. So they have their own database separate from the ls-R styled one. To fix this we need to: 1) Patch the correct paths into /usr/local/share/texmf/web2c/texmfcnf.lua 2) Generate the hashes: (as root, mtxrun --generate) Now context is ready to work: Why isn't the basic database part of the package ? If it takes a long time to run and consumes resources, just put it in the right package, possibly as a @sample file or something, you haven't given me a reason this has to happen during pkg_add time...
Re: context --version output is not what expected
On Fri, Dec 16, 2011 at 05:40:33PM +, Edd Barrett wrote: For the same reason we don't include ls-R in packages. We don't know what will be in the texmf tree. Packages can install extra crap and users can make system-local additions which all need to be hashed. Those are bad reasons. ls-R is done during installs because there are various texmf packages, and we don't know which one got installed. For context, I assume it lives in one specific package, so you could prepare it and stuff it in the package. Also, if a tool is bad enough to require that much memory to just create an index, well, this should be looked at... If the user has extra stuff, they can rerun it afterwards. There are reasons why we have keywords like @sample or @option no checksum you know...
Re: context --version output is not what expected
On Wed, Dec 14, 2011 at 12:49:16AM +, Edd Barrett wrote: Try installing texmf-full. $ pkg_info | grep texlive texlive_base-2011p0 base binaries for TeXLive typesetting distribution texlive_texmf-full-2011 texlive texmf for XeTeX/ConTeXt and extra macros texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' jirib
Re: context --version output is not what expected
Alright. Its on my todo list. On Dec 14, 2011 10:10 PM, Jiri B ji...@devio.us wrote: On Wed, Dec 14, 2011 at 12:49:16AM +, Edd Barrett wrote: Try installing texmf-full. $ pkg_info | grep texlive texlive_base-2011p0 base binaries for TeXLive typesetting distribution texlive_texmf-full-2011 texlive texmf for XeTeX/ConTeXt and extra macros texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' jirib
context --version output is not what expected
Hello, I've started to learn TEX etc... and when I tried this I probably have found an error. $ pkg_info | grep texlive_texmf-minimal texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' It doesn't look like report of installed context version :) jirib
Re: context --version output is not what expected
Try installing texmf-full. On Dec 13, 2011 11:56 PM, Jiri B ji...@devio.us wrote: Hello, I've started to learn TEX etc... and when I tried this I probably have found an error. $ pkg_info | grep texlive_texmf-minimal texlive_texmf-minimal-2011 texlive texmf for laTeX/PdfTeX $ context --version mtxrun | unknown script 'context.lua' or 'mtx-context.lua' It doesn't look like report of installed context version :) jirib