guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#51838] [PATCH 00/11] guix: node-build-system: Support compiling add


From: Philip McGrath
Subject: [bug#51838] [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.
Date: Thu, 2 Dec 2021 17:22:26 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1

Hi,

On 11/28/21 14:59, Timothy Sample wrote:
Pierre Langlois <pierre.langlois@gmx.com> writes:
The overall approach looks good to me, it's better than what I
originally proposed for sure :-).  That being said, I'm not very
familiar with the Node.js ecosystem so I don't know if it's necessarily
the right way, but I suspect the correct way for node isn't very Guix-y
so I'm not too worried about that.

The whole Node.js bundles NPM, which bundles node-gyp, which bundles a
fork of GYP [1] is not very Guix-y at all, no.  :/  This is one of those
problems (like bootstrapping GCC) that will take years of incremental
improvements and side projects and all that.

It's something of a tangent, but, as I discussed briefly with Pierre in e.g. <https://issues.guix.gnu.org/49946#73>, I think it would make a lot of sense, even if we can't unbundle/bootstrap everything, to make the 355 dependencies of npm we are already distributing available as Guix packages. For example, I think I found a bootstrapping cycle with the Unicode data packages: even if the version we're currently using is messy, letting other packages use it, too, might unlock much more of the JavaScript universe. I've experimented a bit (partially looking at what Debian does), and I may look at that some time after this.


I have an idea to simplify the patch series a bit: if we can answer my
question here <https://issues.guix.gnu.org/51838#57> and come to a
conclusion about deleting lock files
<https://issues.guix.gnu.org/51838#58>, I could merge the
‘#:absent-dependencies’ part of the patch series.  I think this might
make future re-rolls easier and help rein in the scope a bit.

That sounds like a great approach! I had not expected this patch series to end up touching every JavaScript package in Guix :)

I was offline a bit for holidays here, and just before that I'd noticed a problem with npm generating implicit build commands that tried to rebuild node-gyp packages when they are installed. I'll page this stuff back in and send a v3 soon that hopefully has at least the '#:absent-dependencies' part ready to merge.

-Philip







reply via email to

[Prev in Thread] Current Thread [Next in Thread]