From: Ashvith Shetty <ashvithshetty10@gmail.com>
To: Jelle Licht <jlicht@fsfe.org>
Cc: 71581@debbugs.gnu.org
Subject: [bug#71581] [PATCH 11/11] gnu: Remove node-bootstrap.
Date: Wed, 19 Jun 2024 10:52:24 +0000 [thread overview]
Message-ID: <CA+n6Bx9JSn154+8Af00y1LWULnoJzrcNM-t7+x3=YXWRP517ww@mail.gmail.com> (raw)
In-Reply-To: <87ed8tuzkj.fsf@fsfe.org>
Hello,
I'm not really an expert in build, so I'd really appreciate someone
guiding me with this. Also unfortunately, I cannot diagnose NodeJS
properly, because building it takes almost more than a day on my
potato PC, only for the build to fail because some parallel tests
don't work on Guix. So far, the minor bump to 18.20.0 has worked fine
for me, and I was planning to leave it to the last version, so that
anyone else looking for NodeJS 18 could use inferiors to package their
project. I grew tired of having to do this every time, so right now,
I'm packing all the dependencies - `simdutf`, `uvwasi`, `ngtcp2`,
while also removing dependencies in NodeJS that also exist in Guix,
like for example, sqlite.
One advantage I see to this is that the builds will be cached for a
particular dependency, and also shared between them - at least in my
idea, this would be great for Electron, Chromium forks, Node and also
Deno.
Right now, there's a few roadblocks:
- V8 shared library support was removed around 2015, meaning that I'd
have to use a patch to get around this.
- Support for shared libraries for tinier dependencies like simdutf,
uvwasi and ada does not exist in the file `configure.py`
- There's no way to build a project that uses bazel, because it does
not exist on Guix at the moment.
The first two issues can probably be dealt with, using patches over
nodejs. However, I'm pretty sure working on the third one would
require working on adding bazel as a build system and at least for the
time being, we will have to use internal v8. For JS-based dependencies
like acorn, acorn-walk, undici, etc, is it not possible to use
txiki.js instead? I was thinking of eliminating all node-based
bootstraps, using this tiny JS runtime to build main dependencies.
That, or perhaps, a node-minimal package that is free of extra,
unneeded stuff.
Regards,
Ashvith
prev parent reply other threads:[~2024-06-19 10:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <361a358ac968efb4148512054e62f0f211abf7f7.1718737412.git.ashvithshetty10@gmail.com>
2024-06-18 19:05 ` [bug#71581] [PATCH 11/11] gnu: Remove node-bootstrap Ashvith Shetty
2024-06-19 8:06 ` Jelle Licht
2024-06-19 10:52 ` Ashvith Shetty [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CA+n6Bx9JSn154+8Af00y1LWULnoJzrcNM-t7+x3=YXWRP517ww@mail.gmail.com' \
--to=ashvithshetty10@gmail.com \
--cc=71581@debbugs.gnu.org \
--cc=jlicht@fsfe.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.