On 04/13/2018 11:14 PM, Mojca Miklavec wrote: > On 11 April 2018 at 22:37, Hans Hagen wrote: >> On 4/11/2018 10:08 PM, Brian Hunt wrote: >> >>> 3. Add texlua (and texluac?) to >>> a. the setup rsync bin/ directories >>> b. the tex/texmf-linuxmusl(|-ppc|-64) >> >> we don't use texluac, don't need texlua on windows and on linux texlua is >> just a symlink > > This was entirely my fault which has been fixed in the meantime. > >> if musl needs different bin then there should be a different initial >> download i think because basically we're now talking of: windows, osx, >> linux, linuxmusl (a different species) > > Exactly. We have that. And most bits and pieces are in place to allow > that, except for the problem with mtxrun not being able to determine > the platform correctly.
Actually, the musl detection only has to be peformed for downloading binaries. Once those binaries are installed, they behave exactly like the linux-64 binaries. I would suggest to simply drop musl binaries in the texmf-linux-64 folder as well. (Who has ConTeXt for multiple platforms on their computer anyway?) That would render all the funny business of calling ldd in mtxrun superfluous. > >>> 4. Update mtxrun >>> >>> Here's code that ought to work for detecting musl in mtxrun. Around line >>> 3721 of the mtxrun add: >>> >>> if find(architecture,"x86_64",1,true) then >>> platform="linux-64" >>> elseif find(architecture,"ppc",1,true) then >>> platform="linux-ppc" >>> else >>> platform="linux" >>> end >>> + if resultof("ldd --version 2>&1"):find("musl") ~= nil then >>> + platform = platform:gsub("linux", "linuxmusl") >>> + end >> >> >> that's not going to happen, some system call 9each run) in order to >> determine what linux species we run ... (there are a few calls but these are >> never used becasue we use HOSTTYPE (if needed we can set one ourselves on >> these platforms) >> >> isn't there some magic env var that tels if musl is used? do programs and >> scripts really have to jumpo through such loops > > Hans, we don't really need this code for the sake of minimals > themselves, it is part of ConTeXt code that needs it and fails. > > The problem is that even if I properly detect the platform upfront, > your code (mtx-update) will refuse to respect the setting. When > calling > ./bin/mtxrun --script ./bin/mtx-update.lua --force --update --make > --context=beta --platform=linuxmusl-64 --texroot="/some/path" > from musl linux, the mtx-update will insist in always installing and > using linux-64 binaries even if they don't work, no matter what else > we try. > > I still believe that a string like "x86_64-linuxmusl" is something > that luatex itself should be able to return when asked about what > platform it is running on (what platform it has been compiled for). > We've discussed this with Taco many years ago, but this has never been > implemented. > > Mojca > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ > ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________