Package: guix-patches;
Reported by: Mathieu Lirzin <mthl <at> gnu.org>
Date: Sun, 8 Jul 2018 15:18:02 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
Message #30 received at 32095 <at> debbugs.gnu.org (full text, mbox):
From: Marius Bakke <mbakke <at> fastmail.com> To: Mathieu Lirzin <mthl <at> gnu.org>, Ludovic Courtès <ludo <at> gnu.org> Cc: 32095 <at> debbugs.gnu.org Subject: Re: [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0. Date: Fri, 07 Sep 2018 13:21:07 +0200
[Message part 1 (text/plain, inline)]
Hello! Mathieu Lirzin <mthl <at> gnu.org> writes: > Hello, > > ludo <at> gnu.org (Ludovic Courtès) writes: > >> Mathieu Lirzin <mthl <at> gnu.org> skribis: >> >>> * gnu/packages/node.scm (node): Update to 10.6.0. >> >> I have it fail its tests like this: >> >> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/load-long-path >> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/make-callback >> Building addon in /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/make-callback-domain-warning >> /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/tools/build-addons.js:58 >> main(process.argv[3]).catch((err) => setImmediate(() => { throw err; })); >> ^ >> >> Error: Command failed: /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/bin/node-gyp.js rebuild --directory=/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/addons/buffer-free-callback >> Traceback (most recent call last): >> File "/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in <module> >> import gyp >> File "/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in <module> >> import gyp.input >> EOFError: EOF read where object expected >> >> at ChildProcess.exithandler (child_process.js:291:12) >> at ChildProcess.emit (events.js:182:13) >> at maybeClose (internal/child_process.js:961:16) >> at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5) >> make[1]: *** [Makefile:345: test/addons/.buildstamp] Error 1 >> make: *** [Makefile:266: test] Error 2 >> >> Does this test pass for you? > > I am pretty confident it worked before sending the patch. But now it > fails with some crypto related errors during ‘make -s jstest’. > > --8<---------------cut here---------------start------------->8--- > === release test-crypto-scrypt === > Path: parallel/test-crypto-scrypt > /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:752 > throw new assert.AssertionError({ > ^ > > AssertionError [ERR_ASSERTION]: Input A expected to strictly equal input B: > + expected - actual ... Lines skipped > > Comparison { > - message: 'error:060B50AC:digital envelope routines:EVP_PBE_scrypt:memory limit exceeded', > + code: 'ERR_CRYPTO_SCRYPT_INVALID_PARAMETER', > + message: 'Invalid scrypt parameter', > type: [Function: Error] { > ... > } > } > at new AssertionError (internal/assert.js:268:11) > at Object.innerFn (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:752:15) > at expectedException (assert.js:489:19) > at expectsError (assert.js:577:16) > at Function.throws (assert.js:608:3) > at Object.expectsError (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/common/index.js:764:12) > at Object.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-crypto-scrypt.js:126:10) > at Module._compile (internal/modules/cjs/loader.js:689:30) > at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) > at Module.load (internal/modules/cjs/loader.js:599:32) > Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-crypto-scrypt.js > === release test-tls-passphrase === > Path: parallel/test-tls-passphrase > assert.js:578 > throw actual; > ^ > > Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt > at Object.createSecureContext (_tls_common.js:144:17) > at Object.exports.connect (_tls_wrap.js:1119:48) > at /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js:228:7 > at getActual (assert.js:497:5) > at Function.throws (assert.js:608:24) > at Object.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js:227:8) > at Module._compile (internal/modules/cjs/loader.js:689:30) > at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) > at Module.load (internal/modules/cjs/loader.js:599:32) > at tryModuleLoad (internal/modules/cjs/loader.js:538:12) > Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-passphrase.js > === release test-tls-server-verify === > Path: parallel/test-tls-server-verify > 0 0 connecting with agent1 > 0 1 connecting with agent2 > 0 2 connecting with agent3 > 0 3 connecting with nocert > 1 0 connecting with agent1 > 1 1 connecting with agent2 > 1 2 connecting with agent3 > 1 3 connecting with nocert > 2 0 connecting with agent1 > 2 1 connecting with agent2 > 2 2 connecting with agent3 > 2 3 connecting with nocert > 3 0 connecting with agent1 > 3 1 connecting with agent2 > 3 2 connecting with agent3 > 3 3 connecting with nocert > 4 0 connecting with agent1 > 4 1 connecting with agent2 > 4 2 connecting with agent3 > 4 3 connecting with nocert > 5 0 connecting with agent1 > 5 1 connecting with agent2 > 5 2 connecting with agent3 > 5 3 connecting with agent4 > 5 4 connecting with nocert > 0 Running 'Do not request certs. Everyone is unauthorized.' > 0 - unauthed connection: null > 0 - unauthed connection: null > 0 - unauthed connection: null > 0 0 * unauthed > 0 1 * unauthed > 0 2 * unauthed > 0 - unauthed connection: null > 0 3 * unauthed > 1 Running 'Allow both authed and unauthed connections with CA1' > 1 - authed connection: agent1 > 1 - unauthed connection: DEPTH_ZERO_SELF_SIGNED_CERT > 1 - unauthed connection: UNABLE_TO_VERIFY_LEAF_SIGNATURE > 1 0 * authed > 1 1 * unauthed > 1 2 * unauthed > 1 - unauthed connection: UNABLE_TO_GET_ISSUER_CERT > 1 3 * unauthed > 2 Running 'Do not request certs at connection. Do that later' > 2 - connected, renegotiating > 2 - authed connection: agent1 > 2 0 * authed > 2 - unauthed connection: null > 2 1 * unauthed > 2 - unauthed connection: null > 2 2 * unauthed > 2 - unauthed connection: null > 2 3 * unauthed > 3 Running 'Allow only authed connections with CA1' > 3 - authed connection: agent1 > 3 0 * authed > 4 Running 'Allow only authed connections with CA1 and CA2' > 4 - authed connection: agent1 > 4 0 * authed > 4 - authed connection: agent3 > 4 2 * authed > 5 Running 'Allow only certs signed by CA2 but not in the CRL' > assert.js:79 > throw new AssertionError(obj); > ^ > > AssertionError [ERR_ASSERTION]: 5 2 agent3 rejected, but should NOT have been > at ChildProcess.<anonymous> (/tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-server-verify.js:232:14) > at ChildProcess.emit (events.js:182:13) > at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12) > Command: out/Release/node /tmp/guix-build-node-10.6.0.drv-0/node-v10.6.0/test/parallel/test-tls-server-verify.js > [18:56|% 100|+ 2306|- 3]: Done > make[1]: *** [Makefile:256: jstest] Error 1 > make: *** [Makefile:270: test] Error 2 > --8<---------------cut here---------------end--------------->8--- > > I have tried to build 10.9.0 which has been released and the test suite > fails because of network access. > > --8<---------------cut here---------------start------------->8--- > make -s build-addons > touch d9f90e808e8e700c15c35c2d7be302e61a333778.intermediate > touch 6843310704f7b860e12805ed03c0ca2ab1bcdadb.intermediate > LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../.; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/node/inspector/protocol; python tools/inspector_protocol/CodeGenerator.py --jinja_dir tools/inspector_protocol/.. --output_base "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/" --config "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/node_protocol_config.json" > LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/gypfiles; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/inspector/protocol /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/include/inspector; python ../third_party/inspector_protocol/CodeGenerator.py --jinja_dir ../third_party --output_base "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/src/inspector" --config ../src/inspector/inspector_protocol_config.json > touch f70a2bc83365ae821b54e7787433d4a600b5cf5e.intermediate > LD_LIBRARY_PATH=/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.host:/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/gypfiles; mkdir -p /tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/torque-generated; "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/torque" ../src/builtins/base.tq ../src/builtins/array.tq ../src/builtins/typed-array.tq -o "/tmp/guix-build-node-10.9.0.drv-0/node-v10.9.0/out/Release/obj/gen/torque-generated" > npm ERR! code ENOTFOUND > npm ERR! errno ENOTFOUND > npm ERR! network request to https://registry.npmjs.org/rehype-raw failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443 > npm ERR! network This is a problem related to network connectivity. > npm ERR! network In most cases you are behind a proxy or have bad network settings. > npm ERR! network > npm ERR! network If you are behind a proxy, please make sure that the > npm ERR! network 'proxy' config is set properly. See: 'npm help config' > make[1]: *** [Makefile:1075: tools/doc/node_modules] Error 1 > make: *** [Makefile:271: test] Error 2 > > Test suite failed, dumping logs. > --8<---------------cut here---------------end--------------->8--- > > Anyway I am giving up. > > Sorry for the delay. I was able to build node on 'core-updates' with this patch:
[0001-gnu-node-Update-to-10.9.0.patch (text/x-patch, inline)]
From 3f745249f965dce2bc36abc21095b75bb902d11a Mon Sep 17 00:00:00 2001 From: Marius Bakke <mbakke <at> fastmail.com> Date: Thu, 23 Aug 2018 14:54:32 +0200 Subject: [PATCH] gnu: node: Update to 10.9.0. * gnu/packages/node.scm (node): Update to 10.9.0. [source](uri): Use ".xz" tarball. [arguments]: Set #:test-target. [inputs]: Change OPENSSL to OPENSSL-NEXT. --- gnu/packages/node.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index d1de7a536..046c61c6d 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -44,14 +44,14 @@ (define-public node (package (name "node") - (version "9.11.1") + (version "10.9.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")) + "00hdachbmcf9pyd1iksprsi5mddwp6z59mb3lr81z8ynfbmzhzni")) (modules '((guix build utils))) (snippet `(begin @@ -82,6 +82,9 @@ "--shared-zlib" "--without-snapshot" "--with-intl=system-icu") + ;; Run only the CI tests. The default check target requires additional + ;; add-ons from NPM not distributed with the source. + #:test-target "test-ci-js" #:phases (modify-phases %standard-phases (add-before 'configure 'patch-files @@ -169,7 +172,7 @@ ("icu4c" ,icu4c) ("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 -- 2.18.0
[Message part 3 (text/plain, inline)]
I did not push it yet because I was hoping someone with more knowledge of node internals knew what's up with the NPM requirement (and forgot to ping this bug!). On 'master', I think this also requires a newer version of 'libuv'. Can you try it Mathieu?
[signature.asc (application/pgp-signature, inline)]
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.