gnu: node: Update to 6.4.0.

Message ID 87fupre7w5.fsf@gmail.com
State New
Headers

Commit Message

Jelle Licht Aug. 26, 2016, 5:55 p.m. UTC
  This patch builds reproducible, although that was also the case for me
with the previous Node 6.3.1. patch. It would be great if someone could
verify this.

This patch supercedes the 'gnu: node: Update to 6.3.1.' patch at [0].

Thanks,
Jelle

[0]: https://lists.gnu.org/archive/html/guix-devel/2016-08/msg00816.html
  

Comments

David Thompson Aug. 26, 2016, 6:45 p.m. UTC | #1
On Fri, Aug 26, 2016 at 1:55 PM, Jelle Licht <jlicht@fsfe.org> wrote:
>
> This patch builds reproducible, although that was also the case for me
> with the previous Node 6.3.1. patch. It would be great if someone could
> verify this.
>
> This patch supercedes the 'gnu: node: Update to 6.3.1.' patch at [0].

LGTM.  Thanks!

- Dave
  
Leo Famulari Aug. 30, 2016, 1:29 a.m. UTC | #2
On Fri, Aug 26, 2016 at 07:55:59PM +0200, Jelle Licht wrote:
> 
> This patch builds reproducible, although that was also the case for me
> with the previous Node 6.3.1. patch. It would be great if someone could
> verify this.
> 
> This patch supercedes the 'gnu: node: Update to 6.3.1.' patch at [0].

The tests fail for me on x86_64:

Running main() from gtest_main.cc
[==========] Running 22 tests from 2 test cases.
[----------] Global test environment set-up.
[----------] 4 tests from UtilTest
[ RUN      ] UtilTest.ListHead
[       OK ] UtilTest.ListHead (0 ms)
[ RUN      ] UtilTest.StringEqualNoCase
[       OK ] UtilTest.StringEqualNoCase (0 ms)
[ RUN      ] UtilTest.StringEqualNoCaseN
[       OK ] UtilTest.StringEqualNoCaseN (0 ms)
[ RUN      ] UtilTest.ToLower
[       OK ] UtilTest.ToLower (0 ms)
[----------] 4 tests from UtilTest (0 ms total)

[----------] 18 tests from InspectorSocketTest
[ RUN      ] InspectorSocketTest.ReadsAndWritesInspectorMessage
../test/cctest/test_inspector_socket.cc:342: Failure
Value of: (!connect.data || !connected)
  Actual: true
Expected: false
make[1]: *** [Makefile:111: cctest] Segmentation fault
make[1]: Leaving directory '/tmp/guix-build-node-6.4.0.drv-0/node-v6.4.0'
make: *** [Makefile:119: test] Error 2
phase `check' failed after 24.3 seconds
builder for `/gnu/store/k0n9p9p2jm174rjqbz63znv16m1anm2y-node-6.4.0.drv' failed with exit code 1
  

Patch

From 9765c88b70f03fdee8a1ac5c55de3b7a34af7fad Mon Sep 17 00:00:00 2001
From: Jelle Licht <jlicht@fsfe.org>
Date: Fri, 5 Aug 2016 12:51:15 +0200
Subject: [PATCH] gnu: node: Update to 6.4.0.
To: guix-devel@gnu.org

Remove <https://debbugs.gnu.org/23744> and
<https://debbugs.gnu.org/23723> workaround.

* gnu/packages/node.scm (node): Update to 6.4.0.
  (node)[arguments]: Disabled more tests. Remove custom 'patch-shebangs'
  phase. Manually patch npm script shebang in new 'patch-npm-shebang'
  phase.
---
 gnu/packages/node.scm | 31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 887ef93..2b27774 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -37,14 +37,14 @@ 
 (define-public node
   (package
     (name "node")
-    (version "6.0.0")
+    (version "6.4.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://nodejs.org/dist/v" version
                                   "/node-v" version ".tar.gz"))
               (sha256
                (base32
-                "0cpw7ng193jgfbw2g1fd0kcglmjjkbj4xb89g00z8zz0lj0nvdbd"))))
+                "1l4p2zgld68c061njx6drxm06685hmp656ijm9i0hnyg30397355"))))
     (build-system gnu-build-system)
     (arguments
      ;; TODO: Package http_parser and add --shared-http-parser.
@@ -78,10 +78,10 @@ 
              ;; FIXME: These tests fail in the build container, but they don't
              ;; seem to be indicative of real problems in practice.
              (for-each delete-file
-                       '("test/parallel/test-cluster-master-error.js"
+                       '("test/parallel/test-dgram-membership.js"
+                         "test/parallel/test-cluster-master-error.js"
                          "test/parallel/test-cluster-master-kill.js"
                          "test/parallel/test-npm-install.js"
-                         "test/parallel/test-stdout-close-unref.js"
                          "test/sequential/test-child-process-emfile.js"))
              #t))
          (replace 'configure
@@ -101,22 +101,15 @@ 
                              (string-append (assoc-ref inputs "python")
                                             "/bin/python")
                              "configure" flags)))))
-         (replace 'patch-shebangs
-           (lambda* (#:key outputs #:allow-other-keys #:rest all)
-             ;; Work around <http://bugs.gnu.org/23723>.
-             (let* ((patch  (assoc-ref %standard-phases 'patch-shebangs))
-                    (npm    (string-append (assoc-ref outputs "out")
-                                           "/bin/npm"))
+         (add-after 'patch-shebangs 'patch-npm-shebang
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((bindir (string-append (assoc-ref outputs "out")
+                                           "/bin"))
+                    (npm    (string-append bindir "/npm"))
                     (target (readlink npm)))
-               (and (apply patch all)
-                    (with-directory-excursion (dirname npm)
-                      ;; Turn NPM into a symlink to TARGET again, which 'npm'
-                      ;; relies on for the resolution of relative file names
-                      ;; in JS files.
-                      (delete-file target)
-                      (rename-file npm target)
-                      (symlink target npm)
-                      #t))))))))
+               (with-directory-excursion bindir
+                 (patch-shebang target (list bindir))
+                 #t)))))))
     (native-inputs
      `(("python" ,python-2)
        ("perl" ,perl)
-- 
2.9.3