guix_mirror_bot pushed a commit to branch master
in repository guix.
commit 09b47ee408840fc1c1e2ac208940deabebabfbbe
Author: Jelle Licht <[email protected]>
AuthorDate: Fri Sep 4 10:59:26 2026 +0200
gnu: node-lts: Fix cross-compilation.
* gnu/packages/node.scm (node-lts)[native-inputs]: Add brotli,
llhttpish, nghttp3, ngtcp2, uvwasi-for-node-lts, and `(,zstd "lib") so host
binaries can find shared libraries during cross-compilation.
[arguments]<#:phases>{set-bootstrap-host-rpath}: Add llhttpish, nghttp3,
ngtcp2, uvwasi, and zstd to rpath. Add node_js2c to host-binaries list.
---
gnu/packages/node.scm | 39 +++++++++++++++++++++++++++------------
1 file changed, 27 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 441f7cdc6df..1092d3f69fc 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -439,18 +439,24 @@ parser definition into a C output.")
(add-before 'configure 'set-bootstrap-host-rpath
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(let* ((inputs (or native-inputs inputs))
- (c-ares (assoc-ref inputs "c-ares"))
(brotli (assoc-ref inputs "brotli"))
+ (c-ares (assoc-ref inputs "c-ares"))
(icu4c (assoc-ref inputs "icu4c"))
+ (libuv (assoc-ref inputs "libuv"))
+ (llhttpish (assoc-ref inputs "llhttpish"))
(nghttp2 (assoc-ref inputs "nghttp2"))
+ (nghttp3 (assoc-ref inputs "nghttp3"))
+ (ngtcp2 (assoc-ref inputs "ngtcp2"))
(openssl (assoc-ref inputs "openssl"))
- (libuv (assoc-ref inputs "libuv"))
+ (uvwasi (assoc-ref inputs "uvwasi"))
(zlib (assoc-ref inputs "zlib"))
+ (zstd (assoc-ref inputs "zstd"))
(host-binaries '("torque"
"bytecode_builtins_list_generator"
"gen-regexp-special-case"
"node_mksnapshot"
- "mksnapshot")))
+ "mksnapshot"
+ "node_js2c")))
(substitute* '("node.gyp" "tools/v8_gypfiles/v8.gyp")
(((string-append "'target_name': '("
(string-join host-binaries "|")
@@ -458,13 +464,18 @@ parser definition into a C output.")
target)
(string-append target
"'ldflags': ['-Wl,-rpath="
- c-ares "/lib:"
brotli "/lib:"
+ c-ares "/lib:"
icu4c "/lib:"
+ libuv "/lib:"
+ llhttpish "/lib:"
nghttp2 "/lib:"
+ nghttp3 "/lib:"
+ ngtcp2 "/lib:"
openssl "/lib:"
- libuv "/lib:"
- zlib "/lib"
+ uvwasi "/lib:"
+ zlib "/lib:"
+ zstd "/lib"
"'],"))))))
(replace 'configure
;; Node's configure script is actually a python script, so we can't
@@ -590,14 +601,18 @@ parser definition into a C output.")
"/bin/npx"))))))))
(native-inputs
(list ;; Runtime dependencies for binaries used as a bootstrap.
- c-ares-for-node-lts
brotli
+ c-ares-for-node-lts
icu4c-78
libuv-for-node-lts
+ llhttpish
`(,nghttp2-for-node-lts "lib")
+ nghttp3
+ ngtcp2
openssl
+ uvwasi-for-node-lts
zlib
- ; ngtcp2? nghttp3?
+ `(,zstd "lib")
;; Regular build-time dependencies.
perl
pkg-config
@@ -610,18 +625,18 @@ parser definition into a C output.")
(files '("lib/node_modules")))))
(inputs
(list bash-minimal
+ brotli
coreutils
c-ares-for-node-lts
icu4c-78
libuv-for-node-lts
llhttpish
- brotli
- ngtcp2
- nghttp3
`(,nghttp2-for-node-lts "lib")
+ nghttp3
+ ngtcp2
openssl
- zlib
uvwasi-for-node-lts
+ zlib
`(,zstd "lib")))
(synopsis "Evented I/O for V8 JavaScript")
(description