diff options
author | Hilton Chain <hako@ultrarare.space> | 2023-04-26 22:29:24 +0200 |
---|---|---|
committer | Jelle Licht <jlicht@fsfe.org> | 2023-05-06 13:53:22 +0200 |
commit | 8cc0ed453694ab74346db7dc644092ab10556cdb (patch) | |
tree | 9a046419a18c2a9233d8b1a3299c2a3f3216644f /gnu/packages | |
parent | bd3f19c8746af8df32801c7dd0ee763994f72c18 (diff) | |
download | guix-8cc0ed453694ab74346db7dc644092ab10556cdb.tar.gz guix-8cc0ed453694ab74346db7dc644092ab10556cdb.zip |
gnu: node-lts: Update to 18.16.0.
* gnu/packages/node.scm (node-lts): Update to 18.16.0.
[snippet]: Keep file deps/openssl/nodejs-openssl.cnf.
[arguments]<#:configure-flags>: Enable v8 snapshot compression.
<#:phases>: Adjust problematic tests to delete accordingly.
Patch additional file with hardcoded references to /bin/sh.
[native-inputs,inputs]: Replace openssl-1.1 with openssl.
Replace libuv-for-node with libuv.
Replace nghttp2-for-node with nghttp2.
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
Co-authored-by: Jelle Licht <jlicht@fsfe.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/node.scm | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2ed60fbf38..3106f01779 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com> +;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space> ;;; ;;; This file is part of GNU Guix. ;;; @@ -737,23 +738,28 @@ source files.") (define-public node-lts (package (inherit node) - (version "14.19.3") + (version "18.16.0") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version - "/node-v" version ".tar.xz")) + "/node-v" version ".tar.gz")) (sha256 (base32 - "15691j5zhiikyamiwwd7f282g6d9acfhq91nrwx54xya38gmpx2w")) + "0vcc132z7lkxnw5clmiz6sp6ccmw35pyb69hczphrig5frfmqkva")) (modules '((guix build utils))) (snippet `(begin + ;; openssl.cnf is required for build. + (for-each delete-file-recursively + (find-files "deps/openssl" + (lambda (file stat) + (if (string-contains file "nodejs-openssl.cnf") + #f #t)))) ;; Remove bundled software, where possible (for-each delete-file-recursively '("deps/cares" "deps/icu-small" "deps/nghttp2" - "deps/openssl" "deps/zlib")) (substitute* "Makefile" ;; Remove references to bundled software. @@ -769,7 +775,9 @@ source files.") "--shared-openssl" "--shared-zlib" "--shared-brotli" - "--with-intl=system-icu")) + "--with-intl=system-icu" + ;;Needed for correct snapshot checksums + "--v8-enable-snapshot-compression")) ((#:phases phases) `(modify-phases ,phases (replace 'set-bootstrap-host-rpath @@ -802,23 +810,31 @@ source files.") libuv "/lib:" zlib "/lib" "'],")))))) + (add-after 'patch-hardcoded-program-references + 'patch-additional-hardcoded-program-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "test/parallel/test-stdin-from-file-spawn.js" + (("'/bin/sh'") (string-append + "'" (search-input-file inputs "/bin/sh") + "'"))))) (replace 'delete-problematic-tests (lambda* (#:key inputs #:allow-other-keys) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-file - '("test/parallel/test-cluster-master-error.js" - "test/parallel/test-cluster-master-kill.js")) + '("test/parallel/test-cluster-primary-error.js" + "test/parallel/test-cluster-primary-kill.js")) ;; These require a DNS resolver. (for-each delete-file '("test/parallel/test-dns.js" - "test/parallel/test-dns-lookupService-promises.js")) + "test/parallel/test-dns-lookupService-promises.js" + "test/parallel/test-net-socket-connect-without-cb.js" + "test/parallel/test-tcp-wrap-listen.js")) ;; These tests require networking. (for-each delete-file - '("test/parallel/test-https-agent-unref-socket.js" - "test/parallel/test-corepack-yarn-install.js")) + '("test/parallel/test-https-agent-unref-socket.js")) ;; This test is timing-sensitive, and fails sporadically on ;; slow, busy, or even very fast machines. @@ -866,9 +882,9 @@ source files.") c-ares-for-node brotli icu4c - libuv-for-node - `(,nghttp2-for-node "lib") - openssl-1.1 + libuv + `(,nghttp2 "lib") + openssl zlib ;; Regular build-time dependencies. perl @@ -881,11 +897,11 @@ source files.") coreutils c-ares-for-node icu4c - libuv-for-node + libuv llhttp-bootstrap brotli - `(,nghttp2-for-node "lib") - openssl-1.1 + `(,nghttp2 "lib") + openssl zlib)))) (define-public libnode |