unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: "Mathieu Lirzin" <mthl@gnu.org>, "Ludovic Courtès" <ludo@gnu.org>
Cc: 32095@debbugs.gnu.org
Subject: [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0.
Date: Fri, 07 Sep 2018 13:21:07 +0200	[thread overview]
Message-ID: <87a7oteeos.fsf@fastmail.com> (raw)
In-Reply-To: <87pnxqus5x.fsf@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 10467 bytes --]

Hello!

Mathieu Lirzin <mthl@gnu.org> writes:

> Hello,
>
> ludo@gnu.org (Ludovic Courtès) writes:
>
>> Mathieu Lirzin <mthl@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:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-node-Update-to-10.9.0.patch --]
[-- Type: text/x-patch, Size: 2096 bytes --]

From 3f745249f965dce2bc36abc21095b75bb902d11a Mon Sep 17 00:00:00 2001
From: Marius Bakke <mbakke@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


[-- Attachment #1.3: Type: text/plain, Size: 256 bytes --]


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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2018-09-07 11:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-08 15:16 [bug#32095] [PATCH 0/2] Update libuv and node Mathieu Lirzin
2018-07-08 15:20 ` [bug#32095] [PATCH 1/2] gnu: libuv: Update to 1.21.0 Mathieu Lirzin
2018-07-08 15:20   ` [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0 Mathieu Lirzin
2018-07-09 14:59     ` Ludovic Courtès
2018-09-06 23:23       ` Mathieu Lirzin
2018-09-07 11:21         ` Marius Bakke [this message]
2018-07-09 14:58   ` [bug#32095] [PATCH 1/2] gnu: libuv: Update to 1.21.0 Ludovic Courtès
2018-07-09 15:08   ` Ludovic Courtès
2018-09-07 15:13 ` [bug#32095] [PATCH 2/2] gnu: node: Update to 10.6.0 Mathieu Lirzin
2018-09-22 15:08   ` Mathieu Lirzin
2018-09-22 15:32     ` Marius Bakke
2018-09-22 16:36       ` Mathieu Lirzin
2018-09-23 13:22         ` Marius Bakke
2018-09-23 14:03           ` Mathieu Lirzin
2018-09-25 22:45             ` bug#32095: " Marius Bakke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a7oteeos.fsf@fastmail.com \
    --to=mbakke@fastmail.com \
    --cc=32095@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=mthl@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).