Subject: Re: [RFC PATCH v4 00/19] Modernize the build system

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 12 Nov 2024 16:56:09 +0100

On Tue, Nov 12, 2024 at 11:48:31AM +0100, Patrick Steinhardt wrote:
> On Mon, Nov 11, 2024 at 04:48:14PM -0500, Eli Schwartz wrote:
> > On 11/11/24 5:36 AM, Patrick Steinhardt wrote:
> > > On Sat, Nov 09, 2024 at 04:58:56AM -0800, David Aguilar wrote:
> > >> The one thing that no one has mentioned is dependencies.
> > >>
> > >> CMake has less dependencies. Python is arguably a liability in the build
> > >> system arena, and Meson requires it.
> > > 
> > > Eli has menitoned [muon](https://muon.build/), which is a drop-in
> > > replacement for Meson written in plain C99. I don't know whether it is
> > > currently able to compile the Git project, but if this is going to be a
> > > concern for people I can try to make sure that it does.
> > 
> > I was wondering whether I should say something, because I don't really
> > feel the criticism was on-target to begin with. But...
> > 
> > I am delighted to be able to confirm, that muon works quite well here.
> > 
> > It did require two small tweaks for not yet implemented features in
> > muon, that meson had and which this patch series depends on:
> > 
> > the iconv special dependency, which I provided a patch for:
> > 
> > https://git.sr.ht/~lattis/muon/commit/75d33f6b6d482344d969e4ad6ce1527353f91cce
> > 
> > using fallback from gnu99 to c11 for the sake of MSVC, which I reported
> > and got the muon developer to implement:
> > 
> > https://git.sr.ht/~lattis/muon/commit/a70e9687f3bfb8b9c21baf9acdfe84f97a42b11f
> > 
> > 
> > (Note the commit author dates by the way. I had the same general thought
> > about whether muon could satisfy git users such as, frankly, ones more
> > interesting to me than "python has too many dependencies". Such as
> > perhaps HPE NonStop users, and I tried muon out a month ago. Yes -- even
> > though I am a *meson* maintainer, I consider this a useful alternative
> > to have. Meson's FAQ includes discussion about whether it makes sense to
> > require Python, and notes that we specifically avoided providing any
> > "provide your own python extensions" functionality because it would
> > prevent being able to ever rewrite in another not-python language. We
> > also document muon as an alternative in our FAQ.)
> > 
> > 
> > With these two small changes, muon compiles git successfully, and passes
> > all tests but one:
> 
> Thanks, I'll have a look at the test failure.

I couldn't reproduce the test failures on my system reliably. I did
notice that some of the tests are quite flaky, and that seems mostly to
be attributed to file descriptor exhaustion. These problems go away when
running `muon test -j1`.

So maybe there is an issue to how file descriptor are allocated? That's
just a guess though.

Patrick