|
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
[Prev in Thread] | Current Thread | [Next in Thread] |