[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: |
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
- [bug#51838] [PATCH 00/11] guix: node-build-system: Support compiling add-ons with node-gyp.,
Philip McGrath <=
- [bug#51838] [PATCH 01/11] gnu: node: Avoid duplicating build phases., Philip McGrath, 2021/11/14
- [bug#51838] [PATCH 02/11] gnu: node: Update to 10.24.1 for bootstrapping., Philip McGrath, 2021/11/14
- [bug#51838] [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp., Philip McGrath, 2021/11/14
- [bug#51838] [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp., Liliana Marie Prikler, 2021/11/14
- [bug#51838] [PATCH 03/11] guix: node-build-system: Support compiling add-ons with node-gyp., Philip McGrath, 2021/11/19
- [bug#51838] [PATCH v2 01/26] gnu: node: Avoid duplicating build phases., Philip McGrath, 2021/11/19
- [bug#51838] [PATCH v2 06/26] gnu: node-semver-bootstrap: Use #:absent-dependencies., Philip McGrath, 2021/11/19
- [bug#51838] [PATCH v2 06/26] gnu: node-semver-bootstrap: Use #:absent-dependencies., Liliana Marie Prikler, 2021/11/20
- [bug#51838] [PATCH v2 03/26] gnu: node: Patch shebangs in node_modules., Philip McGrath, 2021/11/19
- [bug#51838] [PATCH v2 07/26] gnu: node-ms-bootstrap: Use #:absent-dependencies., Philip McGrath, 2021/11/19