guix_mirror_bot pushed a commit to branch javascript-team in repository guix.
commit d5abc9d4b1d8165b078e1c9802107bd8a3089ca5 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
