Subject: Re: [bug#66723] [PATCH 0/3] gnu: zig-0.10: Inherit from zig-0.9.

From: Ekaitz Zarraga <[email-masked]>
Date: Thu, 23 Nov 2023 17:23:11 +0100

Hi,

On 11/23/23 16:23, Hilton Chain wrote:
> Hi,
> 
> On Sun, 19 Nov 2023 19:35:13 +0800, Nguyễn Gia Phong wrote:
>>
>> Should we keep Zig 0.9?  All currently packaged Zig programs requires it
>> anymore AFAICT, and the language is immature enough I'd argue we should only
>> keep older versions when necessary.
>>
>> Your patchset adding LLVM 16 has been applied BTW, I can't wait for Zig 0.11!
> 
> 
> I didn't realise that Zig 0.11 includes a binary file when sending the cover
> letter.  So I haven't bootstrapped it yet, sorry that I didn't mention this
> earlier...
> 
> Though Zig 0.11 is not bootstrapped, here's a patch to use it at the moment:
> https://paste.sr.ht/~hako/c6fb3a872c1e91a09500bf1288e128215ca80d12
> 
> 
> I have no experience in both bootstrapping and Zig, so I don't know exactly what
> to do further.

We can talk about how to do it, I'm not sure about it yet.

> (Cc-ed Ekaitz since they are more familiar with the topic)

Thanks for keeping me on the loop. I missed this thread.

> For Zig I think the first step is to create a path from the last commit that has
> a stage1:
>      4e2a960b523070c7f8fddf0ea9b6e2a94e31dafe (std.fs: fix openDirAbsolute)
> to the addition of the binary file:
>      20d86d9c63476b6312b87dc5b0e4aa4822eb7717 (add zig1.wasm.zst)
> 
> But for now I'm not sure how.
> 
> 
> On Wed, 22 Nov 2023 20:12:43 +0800, Ludovic Courtès wrote:
>>
>> Hi Hilton,
>>
>> Hilton Chain <[email-masked]> skribis:
>>
>>> This series applies gexp to package arguments of [email-masked] and [email-masked], and
>>> makes the latter inherit from the former.
>>>
>>> I have already packaged [email-masked], which depends on LLVM 16
>>> (https://issues.guix.gnu.org/66701), will send the patch soon.
>>>
>>> Hilton Chain (3):
>>>    gnu: zig-0.10: Use gexp.
>>>    gnu: zig-0.9: Use gexp.
>>>    gnu: zig-0.10: Inherit from zig-0.9.
>>
>> It’s been a while, and I think this patch series can go in.
>>
>> As Nguyễn Gia Phong, we should question whether to keep zig 0.9, but that can
>> come later.
> 
> 
> Thank you!  I'll push the series this weenkend.

My 2 cents here:

I made a very similar package to this one on my own. But the tests are 
failing for cross compilation targets. This is not cool. I think you 
just disabled those but we do have an issue reported at Zig 
(https://github.com/ziglang/zig/issues/18063) that is relevant.
I don't mind to leave this as you proposed at the moment, this issue 
will take long to fix, probably.

I just read the changes diagonally but I think my research leads to the 
same resulting package so this patch series look pretty ok to me.

We need to discuss that bootstrapping issue though.
Feel free to reach me in IRC and we can find a solution together, or we 
can continue the discussion here.

I tried to avoid the webassembly thingie using an older zig version 
without it and making the bootstrapping à la rust, but as zig changes 
fast using the previous version as a stage2 compiler simply doesn't 
work. We need to catch some commit in the middle and probably make 
incremental packages until we reach the current zig. Doesn't feel 
reasonable, so we may need to find other kind of solution.

As said, we need to discuss this.

Thanks for the patches and for keeping me on the loop.

Ekaitz