On Sat, 20 Jan 2024, Nick Hastings wrote:

>I'll likely not even try packaging 0.11 or newer until it can once again
>bootstrap. However I don't expect that to happen anytime soon.

You can do it like OpenJDK does.

First, package 0.10.x which can be bootstrapped from C with
just the included code. Get that accepted.

Then, package a newer version which has Build-Depends: zig
(build-depending on itself) and uses the already-accepted
0.10.x to build the newer version (completely skipping the
new webassembly-based “bootstrapping” method).

If 0.10.x cannot build the then-latest zig version, choose
any older one that *can*, then get that accepted, then continue
raising the versions until you reach at the current one.

This will then only be a problem for bootstrapping new
architectures but once it’s in on one architecture, as it
supports cross-compiling, that can also be used to cross-
bootstrap it instead.

Additionally, once it’s in, it can be used to recreate the
webassembly stage compiler which *THEN* can be used for
bootstrapping on other architectures. (Incidentally, iff
the webassembly stage as built by the compiler as packaged
in Debian is bytewise identical to the one provided by up‐
stream, it can also be used, but that needs checking and
talking with ftpmasters first. But for that, you first have
to succeed with the normal bootstrapping.)

bye,
//mirabilos

PS: Googlemail is unsuitable for FOSS collaboration. I fully
    expect this eMail to not reach Googlemail users and/or
    their replies to not always reach me. Please get a proper
    eMail provider if you plan to work with FOSS.
-- 
In traditional syntax ' is ignored, but in c99 everything between two ' is
handled as character constant.  Therefore you cannot use ' in a preproces-
sing file in c99 mode.  -- Ragge
No faith left in ISO C99, undefined behaviour, etc.

Reply via email to