From ac2399c6ec6f74b887b421e8820aa072e5b03da2 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Wed, 8 Feb 2023 22:05:30 +0100 Subject: gnu: node-lts: Update to 18.14.1. * gnu/packages/node.scm (node-lts): Update to 18.14.1. [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. Signed-off-by: Jelle Licht --- gnu/packages/node.scm | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index de847490a3..908b116340 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2021 Simon Tournier ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021, 2022 Philip McGrath +;;; Copyright © 2022 Hilton Chain ;;; ;;; 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.14.1") (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")) + "1wa63sxmaksxbj00hl2h4rz25knkkm2xpggjfjqi9z3gqpb7qn9f")) (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. @@ -868,7 +884,7 @@ source files.") icu4c-71 libuv-for-node `(,nghttp2 "lib") - openssl-1.1 + openssl zlib ;; Regular build-time dependencies. perl @@ -885,7 +901,7 @@ source files.") llhttp-bootstrap brotli `(,nghttp2 "lib") - openssl-1.1 + openssl python-wrapper ;; for node-gyp (supports python3) zlib)))) -- cgit 1.4.1