diff options
Diffstat (limited to 'gnu/packages/node.scm')
-rw-r--r-- | gnu/packages/node.scm | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 982d3f905c..976d0c048a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -31,9 +31,11 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) + #:use-module (gnu packages icu4c) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages web)) @@ -41,23 +43,43 @@ (define-public node (package (name "node") - (version "9.4.0") + (version "9.8.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "0rx947ibcfpa0lf93nayfrmjls7r7svqsq87z0xmjzf8fb9361r4")))) + "1mjr1rm5w26c0yb4zq6z5yv3zbvqk18lwbswhwn1sha8hapinjp8")) + (modules '((guix build utils))) + (snippet + `(begin + ;; Remove bundled software. + (for-each delete-file-recursively + '("deps/cares" + "deps/http_parser" + "deps/icu-small" + "deps/nghttp2" + "deps/openssl" + "deps/uv" + "deps/zlib")) + (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") "")))))) (build-system gnu-build-system) (arguments ;; TODO: Purge the bundled copies from the source. - '(#:configure-flags '("--shared-openssl" - "--shared-zlib" - "--shared-libuv" - "--shared-cares" + '(#:configure-flags '("--shared-cares" "--shared-http-parser" - "--without-snapshot") + "--shared-libuv" + "--shared-nghttp2" + "--shared-openssl" + "--shared-zlib" + "--without-snapshot" + "--with-intl=system-icu") #:phases (modify-phases %standard-phases (add-before 'configure 'patch-files @@ -77,29 +99,13 @@ (("'/usr/bin/env'") (string-append "'" (which "env") "'"))) - - ;; test-make-doc needs doc-only target, which is inhibited below - (for-each delete-file - '("test/doctool/test-make-doc.js")) ;; FIXME: These tests depend on being able to install eslint. ;; See https://github.com/nodejs/node/issues/17098. (for-each delete-file - '("test/parallel/test-eslint-crypto-check.js" - "test/parallel/test-eslint-alphabetize-errors.js" + '("test/parallel/test-eslint-alphabetize-errors.js" "test/parallel/test-eslint-buffer-constructor.js" "test/parallel/test-eslint-documented-errors.js" - "test/parallel/test-eslint-inspector-check.js" - "test/parallel/test-eslint-lowercase-name-for-primitive.js" - "test/parallel/test-eslint-no-unescaped-regexp-dot.js" - "test/parallel/test-eslint-no-let-in-for-declaration.js" - "test/parallel/test-eslint-number-isnan.js" - "test/parallel/test-eslint-prefer-assert-iferror.js" - "test/parallel/test-eslint-prefer-assert-methods.js" - "test/parallel/test-eslint-prefer-common-expectserror.js" - "test/parallel/test-eslint-prefer-common-mustnotcall.js" - "test/parallel/test-eslint-prefer-util-format-errors.js" - "test/parallel/test-eslint-require-buffer.js" - "test/parallel/test-eslint-required-modules.js")) + "test/parallel/test-eslint-inspector-check.js")) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -135,14 +141,6 @@ (string-append (assoc-ref inputs "python") "/bin/python") "configure" flags))))) - (add-before 'check 'skip-check-doc-only - (lambda _ - (substitute* "Makefile" - ;; requires js-yaml, which is not part of the distribution, - ;; and falls back to using npm to download it - (("\\$\\(MAKE\\) doc-only" all) - (string-append "#" all))) - #t)) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) (let* ((bindir (string-append (assoc-ref outputs "out") @@ -155,6 +153,7 @@ (native-inputs `(("python" ,python-2) ("perl" ,perl) + ("pkg-config" ,pkg-config) ("procps" ,procps) ("util-linux" ,util-linux) ("which" ,which))) @@ -165,7 +164,9 @@ (inputs `(("c-ares" ,c-ares) ("http-parser" ,http-parser) + ("icu4c" ,icu4c) ("libuv" ,libuv) + ("nghttp2" ,nghttp2 "lib") ("openssl" ,openssl) ("zlib" ,zlib))) (synopsis "Evented I/O for V8 JavaScript") |