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
parent
a8de0d1ec4
commit
dd04f56a2b
|
@ -725,6 +725,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ngircd-no-dns-in-tests.patch \
|
||||
%D%/packages/patches/ninja-tests.patch \
|
||||
%D%/packages/patches/ninja-zero-mtime.patch \
|
||||
%D%/packages/patches/node-9077.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
#:use-module (guix derivations)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
@ -37,14 +38,16 @@
|
|||
(define-public node
|
||||
(package
|
||||
(name "node")
|
||||
(version "6.0.0")
|
||||
(version "6.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://nodejs.org/dist/v" version
|
||||
"/node-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cpw7ng193jgfbw2g1fd0kcglmjjkbj4xb89g00z8zz0lj0nvdbd"))))
|
||||
"0lj3250hglz4w5ic4svd7wlg2r3qc49hnasvbva1v69l8yvx98m8"))
|
||||
;; https://github.com/nodejs/node/pull/9077
|
||||
(patches (search-patches "node-9077.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; 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
|
||||
;; 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 +104,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)
|
||||
|
|
|
@ -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"', {
|
Reference in New Issue