diff options
-rw-r--r-- | gnu/packages/node.scm | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index eb8c83d831..dbc9282441 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -39,20 +39,21 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages tls) #:use-module (gnu packages web)) (define-public node (package (name "node") - (version "10.19.0") + (version "12.16.2") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "0sginvcsf7lrlzsnpahj4bj1f673wfvby8kaxgvzlrbb7sy229v2")) + "0y5yd6h13fr34byi7h5xdjaivgcxiz0ykcmpk9nm5ra01b54fp2m")) (modules '((guix build utils))) (snippet `(begin @@ -65,16 +66,31 @@ "deps/openssl" "deps/uv" "deps/zlib")) + ;; Remove references to bundled software. (substitute* "Makefile" - ;; Remove references to bundled software. (("deps/http_parser/http_parser.gyp") "") (("deps/uv/include/\\*.h") "") (("deps/uv/uv.gyp") "") (("deps/zlib/zlib.gyp") "")) + (substitute* "deps/uvwasi/uvwasi.gyp" + (("'\\.\\.\\/uv\\/uv\\.gyp:libuv',") "")) + (substitute* "node.gypi" + ;; Using the shared-http-parser removes the dependency on + ;; llhhtp, so add another condition to specify that + ;; dependency + (("node_shared_http_parser") + "node_shared_http_parser==\"true\"', { + 'dependencies': [ + 'deps/llhttp/llhttp.gyp:llhttp' + ], + } ], + + [ 'node_shared_http_parser") + (("'deps\\/uv\\/uv\\.gyp:libuv'") "")) #t)))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--shared-cares" + `(#:configure-flags `("--shared-cares" "--shared-http-parser" "--shared-libuv" "--shared-nghttp2" @@ -110,11 +126,14 @@ (for-each delete-file '("test/parallel/test-cluster-master-error.js" "test/parallel/test-cluster-master-kill.js" + "test/parallel/test-vm-module-dynamic-import.js" + "test/parallel/test-fs-write-sigxfsz.js" ;; See also <https://github.com/nodejs/node/issues/25903>. - "test/sequential/test-performance.js")) + "test/sequential/test-perf-hooks.js")) ;; This requires a DNS resolver. (delete-file "test/parallel/test-dns.js") + (delete-file "test/parallel/test-dns-promises-lookupService.js") ;; FIXME: This test fails randomly: ;; https://github.com/nodejs/node/issues/31213 @@ -143,8 +162,6 @@ "test/parallel/test-tls-server-verify.js")) #t)) (replace 'configure - ;; Node's configure script is actually a python script, so we can't - ;; run it with bash. (lambda* (#:key outputs (configure-flags '()) inputs #:allow-other-keys) (let* ((prefix (assoc-ref outputs "out")) @@ -170,6 +187,7 @@ #t))))))) (native-inputs `(("python" ,python-2) + ("python-gyp" ,python-gyp) ("perl" ,perl) ("pkg-config" ,pkg-config) ("procps" ,procps) |