From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Gerber Subject: bug#34526: Updating node.js Date: Mon, 18 Feb 2019 15:36:42 +0100 Message-ID: <87d0npb1tx.fsf@atufi.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:44316) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvkFD-0004XS-GA for bug-guix@gnu.org; Mon, 18 Feb 2019 09:50:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvkF9-0005cT-Jx for bug-guix@gnu.org; Mon, 18 Feb 2019 09:50:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:52896) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gvkF8-0005bt-Qs for bug-guix@gnu.org; Mon, 18 Feb 2019 09:50:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gvkF8-00046d-Il for bug-guix@gnu.org; Mon, 18 Feb 2019 09:50:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:44189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gvkEP-0003vY-EN for bug-guix@gnu.org; Mon, 18 Feb 2019 09:49:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gvkEO-0005Ch-06 for bug-guix@gnu.org; Mon, 18 Feb 2019 09:49:17 -0500 Received: from smtp-sh.infomaniak.ch ([128.65.195.4]:45517) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gvkEN-000580-Di for bug-guix@gnu.org; Mon, 18 Feb 2019 09:49:15 -0500 Received: from smtp7.infomaniak.ch (smtp7.infomaniak.ch [83.166.132.30]) by smtp-sh.infomaniak.ch (8.14.5/8.14.5) with ESMTP id x1IEZqo2030045 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 18 Feb 2019 15:35:52 +0100 Received: from jura (84-73-10-131.dclient.hispeed.ch [84.73.10.131]) (authenticated bits=0) by smtp7.infomaniak.ch (8.14.5/8.14.5) with ESMTP id x1IEZoYM125443 (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 18 Feb 2019 15:35:52 +0100 List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 34526@debbugs.gnu.org --=-=-= Content-Type: text/plain; format=flowed Trying to build the current upstream version, 11.10.0... --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=gnu-node-update-11.10.0-wip.patch Content-Description: WIP 11.10.0 diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a0221601d..9d35765eb 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -45,26 +45,17 @@ (define-public node (package (name "node") - (version "9.11.1") + (version "11.10.0") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version - "/node-v" version ".tar.gz")) + "/node-v" version ".tar.xz")) (sha256 (base32 - "1vjh9zvw7wkdz6b0l99ya7mqjk0l8lbg9isr1q8rxwp400dhkk32")) + "1kyi35qkg7h5nk0cjdgy8pfm5v2qmzqc7k3app2c8226mrkarhlz")) (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") "") @@ -74,7 +65,6 @@ #t)))) (build-system gnu-build-system) (arguments - ;; TODO: Purge the bundled copies from the source. '(#:configure-flags '("--shared-cares" "--shared-http-parser" "--shared-libuv" @@ -110,14 +100,6 @@ (("'/usr/bin/env'") (string-append "'" (which "env") "'"))) - ;; FIXME: These tests depend on being able to install eslint. - ;; See https://github.com/nodejs/node/issues/17098. - (for-each delete-if-exists - '("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")) - ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. (for-each delete-if-exists @@ -184,9 +166,9 @@ `(("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) - ("libuv" ,libuv-1.19) + ("libuv" ,libuv) ("nghttp2" ,nghttp2 "lib") - ("openssl" ,openssl) + ("openssl" ,openssl-next) ("zlib" ,zlib))) (synopsis "Evented I/O for V8 JavaScript") (description "Node.js is a platform built on Chrome's JavaScript runtime --=-=-= Content-Type: text/plain; format=flowed Notes on v11.10.0: - it does support openssl@1.1.1 - it ships with libuv 1.26.0 (1.24.0 in guix) - some previously bundled deps are absent from tarball - NODE_EXPERIMENTAL_HTTP is a no-op / always defined There is an issue with the alternative http parser, `llhttp`. The choice of parser is at runtime, and one compile flag, --shared-http-parser, configures both. Building fails with: ``` g++ -o /tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/obj.target/node_lib/src/node_http_parser_llhttp.o ../src/node_http_parser_llhttp.cc '-DNODE_ARCH="x64"' '-DNODE_PLATFORM="linux"' '-DNODE_WANT_INTERNALS=1' '-DV8_DEPRECATION_WARNINGS=1' '-DNODE_OPENSSL_SYSTEM_CERT_PATH=""' '-DHAVE_INSPECTOR=1' '-DNODE_REPORT' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DHAVE_OPENSSL=1' -I../src -I/tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/obj/gen -I/tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/obj/gen/include -I/tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/obj/gen/src -I../deps/histogram/src -I../deps/v8/include -I../deps/brotli/c/include -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wall -Wextra -Wno-unused-parameter -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/.deps//tmp/guix-build-node-11.10.0.drv-0/node-v11.10.0/out/Release/obj.target/node_lib/src/node_http_parser_llhttp.o.d.raw -c In file included from ../src/node_http_parser_impl.h:41:0, from ../src/node_http_parser_llhttp.cc:3: ../src/http_parser_adaptor.h:5:21: fatal error: llhttp.h: No such file or directory ``` AFAIU, either llhttp has to be made a separate package and listed in inputs, or http-parser linked statically. Or should the missing -I../deps/llhttp/include argument be passed here somehow -- maybe patching node.gypi? I have not tried to build 10.15.1(LTS), which presumably has the same issues as in #32095. Also, should previous version branches (8.x, 9.x) be kept in guix? In the meantime, these minor updates work fine: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=gnu-node-update-9.11.2.patch Content-Description: v9.11.2 diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a0221601d..8ffd60133 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -45,14 +45,14 @@ (define-public node (package (name "node") - (version "9.11.1") + (version "9.11.2") (source (origin (method url-fetch) (uri (string-append "https://nodejs.org/dist/v" version - "/node-v" version ".tar.gz")) + "/node-v" version ".tar.xz")) (sha256 (base32 - "1vjh9zvw7wkdz6b0l99ya7mqjk0l8lbg9isr1q8rxwp400dhkk32")) + "04y2dnbf6jl8j0ykfkdwhir09h274d13k843d7lqfz3bgyn4wj06")) (modules '((guix build utils))) (snippet `(begin --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=gnu-node-update-lts-8.15.0.patch Content-Description: v8.15.0(LTS) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a0221601d..c52e21cf6 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -202,11 +202,11 @@ devices.") (package (inherit node) (name "node-lts") - (version "8.12.0") + (version "8.15.0") (source (origin (inherit (package-source node)) (uri (string-append "https://nodejs.org/dist/v" version "/node-v" version ".tar.xz")) (sha256 (base32 - "16j1rrxkhmvpcw689ndw1raql1gz4jqn7n82z55zn63c05cgz7as")))))) + "0cy6lzk9sn545kkc0jviv0k0hn30kindrpkkkmv3zk2774rj71cn")))))) --=-=-=--