gnu: node: Update to 6.8.0.

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

* gnu/packages/node.scm (node): Update to 6.8.0.
  (node)[arguments]: Disabled more tests. Remove custom 'patch-shebangs'
  phase. Manually patch npm script shebang in new 'patch-npm-shebang'
  phase.
* gnu/packages/patches/node-9077.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add patches.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
master
Al McElrath 2016-10-14 16:39:44 -07:00 committed by Ludovic Courtès
parent a8de0d1ec4
commit dd04f56a2b
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
3 changed files with 46 additions and 19 deletions

View File

@ -725,6 +725,7 @@ dist_patch_DATA = \
%D%/packages/patches/ngircd-no-dns-in-tests.patch \ %D%/packages/patches/ngircd-no-dns-in-tests.patch \
%D%/packages/patches/ninja-tests.patch \ %D%/packages/patches/ninja-tests.patch \
%D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-9077.patch \
%D%/packages/patches/nss-pkgconfig.patch \ %D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \

View File

@ -25,6 +25,7 @@
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
@ -37,14 +38,16 @@
(define-public node (define-public node
(package (package
(name "node") (name "node")
(version "6.0.0") (version "6.8.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version (uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz")) "/node-v" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0cpw7ng193jgfbw2g1fd0kcglmjjkbj4xb89g00z8zz0lj0nvdbd")))) "0lj3250hglz4w5ic4svd7wlg2r3qc49hnasvbva1v69l8yvx98m8"))
;; https://github.com/nodejs/node/pull/9077
(patches (search-patches "node-9077.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; TODO: Package http_parser and add --shared-http-parser. ;; TODO: Package http_parser and add --shared-http-parser.
@ -78,10 +81,10 @@
;; FIXME: These tests fail in the build container, but they don't ;; FIXME: These tests fail in the build container, but they don't
;; seem to be indicative of real problems in practice. ;; seem to be indicative of real problems in practice.
(for-each delete-file (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-cluster-master-kill.js"
"test/parallel/test-npm-install.js" "test/parallel/test-npm-install.js"
"test/parallel/test-stdout-close-unref.js"
"test/sequential/test-child-process-emfile.js")) "test/sequential/test-child-process-emfile.js"))
#t)) #t))
(replace 'configure (replace 'configure
@ -101,22 +104,15 @@
(string-append (assoc-ref inputs "python") (string-append (assoc-ref inputs "python")
"/bin/python") "/bin/python")
"configure" flags))))) "configure" flags)))))
(replace 'patch-shebangs (add-after 'patch-shebangs 'patch-npm-shebang
(lambda* (#:key outputs #:allow-other-keys #:rest all) (lambda* (#:key outputs #:allow-other-keys)
;; Work around <http://bugs.gnu.org/23723>. (let* ((bindir (string-append (assoc-ref outputs "out")
(let* ((patch (assoc-ref %standard-phases 'patch-shebangs)) "/bin"))
(npm (string-append (assoc-ref outputs "out") (npm (string-append bindir "/npm"))
"/bin/npm"))
(target (readlink npm))) (target (readlink npm)))
(and (apply patch all) (with-directory-excursion bindir
(with-directory-excursion (dirname npm) (patch-shebang target (list bindir))
;; Turn NPM into a symlink to TARGET again, which 'npm' #t)))))))
;; relies on for the resolution of relative file names
;; in JS files.
(delete-file target)
(rename-file npm target)
(symlink target npm)
#t))))))))
(native-inputs (native-inputs
`(("python" ,python-2) `(("python" ,python-2)
("perl" ,perl) ("perl" ,perl)

View File

@ -0,0 +1,30 @@
From fc164acbbb700fd50ab9c04b47fc1b2687e9c0f4 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradleythughes@fastmail.fm>
Date: Thu, 13 Oct 2016 07:38:38 +0000
Subject: [PATCH] build: add -DZLIB_CONST when building with --shared-zlib
Commit 782620f added the define only when building with the bundled
zlib. Using a shared zlib results in build breakage:
../src/inspector_agent.cc:179:16: error: assigning to 'Bytef *' (aka 'unsigned char *') from incompatible type
'const uint8_t *' (aka 'const unsigned char *')
strm.next_in = PROTOCOL_JSON + 3;
^ ~~~~~~~~~~~~~~~~~
1 error generated.
---
node.gyp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/node.gyp b/node.gyp
index fa98547..d799ba1 100644
--- a/node.gyp
+++ b/node.gyp
@@ -480,6 +480,8 @@
}],
[ 'node_shared_zlib=="false"', {
'dependencies': [ 'deps/zlib/zlib.gyp:zlib' ],
+ }, {
+ 'defines': [ 'ZLIB_CONST' ],
}],
[ 'node_shared_http_parser=="false"', {