GNU bug report logs - #51838
[PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.

Previous Next

Package: guix-patches;

Reported by: Philip McGrath <philip <at> philipmcgrath.com>

Date: Sun, 14 Nov 2021 12:43:01 UTC

Severity: normal

Tags: patch

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Philip McGrath <philip <at> philipmcgrath.com>
To: 51838 <at> debbugs.gnu.org
Cc: Philip McGrath <philip <at> philipmcgrath.com>, Pierre Langlois <pierre.langlois <at> gmx.com>
Subject: [bug#51838] [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.
Date: Sun, 14 Nov 2021 07:41:51 -0500
This patch series adds support to `node-build-system` for building native
add-ons using `node-gyp`. To confirm that the changes to the build system
work, the patch series also adds two packages (plus a few dependencies)
representing two major ways of writing Node.js native add-ons:

 1. `node-openzwave-shared` uses `node-nan`: “Native Abstractions for Node.js”.

 2. `node-sqlite3` uses the Node-API via `node-addon-api`.

The patches are adapted from part of a series by Pierre Langlois
at <https://issues.guix.gnu.org/49946>: you can find discussion of an earlier
version of this spun-off series from <https://issues.guix.gnu.org/49946#71>
to <https://issues.guix.gnu.org/49946#83>.
They are also available in a Git repository
at <https://gitlab.com/philip1/guix-patches/-/tree/wip-node-npm-gyp-hist-9>.

In the earlier discussion, Pierre and I both thought it was quite confusing
that the Scheme variable `node` refers to the bootstrap Node.js, while
`node-lts` refers to the newer Node.js that a package specification of
`"node"` would resolve to. My analysis is
at <https://issues.guix.gnu.org/49946#75> (tl;dr it seems like an unintentional
mistake), and Pierre suggested a solution
in <https://issues.guix.gnu.org/49946#81>. I haven't taken that on in this patch
series, but I do think its worth considering.

Philip McGrath (11):
  gnu: node: Avoid duplicating build phases.
  gnu: node: Update to 10.24.1 for bootstrapping.
  guix: node-build-system: Support compiling add-ons with node-gyp.
  gnu: Add node-inherits.
  gnu: Add node-safe-buffer.
  gnu: Add node-string-decoder.
  gnu: Add node-readable-stream.
  gnu: Add node-nan.
  gnu: Add node-openzwave-shared.
  gnu: Add node-addon-api.
  gnu: Add node-sqlite3.

 gnu/packages/node-xyz.scm        | 335 +++++++++++++++++++++++++++++++
 gnu/packages/node.scm            | 143 +++++--------
 gnu/packages/zwave.scm           |  55 +++++
 guix/build-system/node.scm       |  11 +-
 guix/build/node-build-system.scm |  23 +++
 5 files changed, 473 insertions(+), 94 deletions(-)

-- 
2.32.0





This bug report was last modified 3 years and 195 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.