[NTG-context] Build for Alpine Linux

Henri Menke henrimenke at gmail.com
Fri Apr 13 13:42:45 CEST 2018

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 at 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
> ___________________________________________________________________________________

More information about the ntg-context mailing list