From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: [PATCHES] Update NodeJS to 5.10.0 Date: Tue, 5 Apr 2016 20:35:18 +0300 Message-ID: <20160405173518.GB14293@debian-netbook> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="GID0FwUMdk1T2AWN" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1anUsw-00075A-MX for guix-devel@gnu.org; Tue, 05 Apr 2016 13:35:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1anUss-0007pp-BG for guix-devel@gnu.org; Tue, 05 Apr 2016 13:35:26 -0400 Received: from flashner.co.il ([178.62.234.194]:49910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1anUss-0007pl-0z for guix-devel@gnu.org; Tue, 05 Apr 2016 13:35:22 -0400 Content-Disposition: inline In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: "Thompson, David" Cc: guix-devel --GID0FwUMdk1T2AWN Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Still building, so here are my notes about the patch: libuv looks straightforward. On Tue, Apr 05, 2016 at 12:52:12PM -0400, Thompson, David wrote: > Sorry, patch 0002 is wrong. Attached is the correct one. > From 6c6aeacf32163f41efcc00c0da1b64a690cab42a Mon Sep 17 00:00:00 2001 > From: David Thompson > Date: Tue, 5 Apr 2016 12:11:49 -0400 > Subject: [PATCH 2/2] gnu: node: Update to 5.10.0. > > * gnu/packages/node.scm (node): Update to 5.10.0. > --- > gnu/packages/node.scm | 78 +++++++++++++++++++++++++++++++++++++--------= ------ > 1 file changed, 57 insertions(+), 21 deletions(-) > > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm > index bde1e1e..f973bcd 100644 > --- a/gnu/packages/node.scm > +++ b/gnu/packages/node.scm > @@ -36,41 +36,77 @@ > (define-public node > (package > (name "node") > - (version "0.12.7") > + (version "5.10.0") > (source (origin > (method url-fetch) > (uri (string-append "http://nodejs.org/dist/v" version > "/node-v" version ".tar.gz")) > (sha256 > (base32 > - "17gk29zbw58l0sjjfw86acp39pkiblnq0gsq1jdrd70w0pgn8gdj"))= )) > + "0avn25j04q172ri8mksrryyg4g95k7x2pqzsbmp1nr6ybfpvkblg"))= )) > (build-system gnu-build-system) > (arguments > ;; TODO: Package http_parser and add --shared-http-parser. > - '(#:configure-flags '("--shared-openssl" "--shared-zlib" "--shared-= libuv") > + '(#:configure-flags '("--shared-openssl" > + "--shared-zlib" > + "--shared-libuv" > + "--without-snapshot") > #:phases > (modify-phases %standard-phases > - (replace 'configure > - ;; Node's configure script is actually a python script, so we c= an't > - ;; run it with bash. > - (lambda* (#:key outputs (configure-flags '()) inputs > - #:allow-other-keys) > - (let* ((prefix (assoc-ref outputs "out")) > - (flags (cons (string-append "--prefix=3D" prefix) > - configure-flags))) > - (format #t "build directory: ~s~%" (getcwd)) > - (format #t "configure flags: ~s~%" flags) > - ;; Node's configure script expects the CC environment varia= ble to > - ;; be set. > - (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/= gcc")) > - (zero? (apply system* > - (string-append (assoc-ref inputs "python") > - "/bin/python") > - "./configure" flags)))))))) > + (add-before 'configure 'patch-files > + (lambda* (#:key inputs #:allow-other-keys) > + ;; Fix hardcoded /bin/sh references. > + (substitute* '("lib/child_process.js" > + "lib/internal/v8_prof_polyfill.js" > + "test/parallel/test-stdio-closed.js") > + (("'/bin/sh'") > + (string-append "'" (which "bash") "'"))) > + > + ;; Fix hardcoded /usr/bin/env references. > + (substitute* '("test/parallel/test-child-process-default-op= tions.js" > + "test/parallel/test-child-process-env.js" > + "test/parallel/test-child-process-exec-env.j= s") > + (("'/usr/bin/env'") > + (string-append "'" (which "env") "'"))) > + > + ;; Having the build fail because of linter errors is insane! > + (substitute* '("Makefile") > + ((" \\$\\(MAKE\\) jslint") > + "") Could this be on the previous line? > + ((" \\$\\(MAKE\\) cpplint\n") > + "")) This one too ------^ > + > + ;; 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-cluster-master-kill.js" > + "test/parallel/test-npm-install.js" > + "test/parallel/test-stdout-close-unref.js" > + "test/sequential/test-child-process-emfile.js")) > + I know you like blank lines for readability but I don't think you need this one :) > + #t)) > + (replace 'configure > + ;; Node's configure script is actually a python script, so we= can't > + ;; run it with bash. > + (lambda* (#:key outputs (configure-flags '()) inputs > + #:allow-other-keys) > + (let* ((prefix (assoc-ref outputs "out")) > + (flags (cons (string-append "--prefix=3D" prefix) > + configure-flags))) > + (format #t "build directory: ~s~%" (getcwd)) > + (format #t "configure flags: ~s~%" flags) > + ;; Node's configure script expects the CC environment var= iable to > + ;; be set. > + (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bi= n/gcc")) > + (zero? (apply system* > + (string-append (assoc-ref inputs "python") > + "/bin/python") > + "configure" flags)))))))) > (native-inputs > `(("python" ,python-2) > ("perl" ,perl) > - ("gcc" ,gcc-4.9) > + ("procps" ,procps) > ("util-linux" ,util-linux) > ("which" ,which))) > (inputs > -- > 2.7.3 > -- Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --GID0FwUMdk1T2AWN Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCgAGBQJXA/dSAAoJEPTB05F+rO6T15IP/iSj3su/CwjHWhxA2NYOs8Eq xVi5vugXXuG0uXvBziu8n0AQ6o215cL6a6POIeKvbH44IFIBM4S+/rs7Wxdl13cX UYzGntuc2BdkzNa+8b8W6KOm0cZh1h71Xa1IWexZPTQzwAI+Gvnlx+cc9VozTHkQ F9gkPG4R0vv5pq007p7eGTWRr+VSE328rBkxJ03ULW5H5CIACGZ03gdO9PtdIcT8 o1kONrF8pL6CKQ/jpDGRlB7yIAeYUQtOGQdLa8xigZXc5qnG5evXH4NoaR+fB+Kq yGAc9AYZRIGCF56wyvwxfe1SJMr4R4u9bM0LbXcCcl3I9qw0/2jwfTWLnyH0Cyxe hYZr6DLUQw8UW6Fi1EqmdvCSJFyL2hyMZD3PhcA57I6/YSsGuQS0H8CJfVgg2LIo 8+s573FrZuh3/SBo+AG2oLgh7ARNdPhK8+Nz95N9cWLrl7sAvUHwfypNkaWzxGn8 e2ZJ+KhkQhgaMCdEoMbJ2DQki41isGpwl2FI4NazWLn10VHxswhCGmqvp/oNw0Fa 2pKCPfhTHZVkqQ+R56HN1OUJCk317J91om7u/wIBcf282YgXVLt8JCmTpFk1XFpZ X7aiF/nHwzDTriFfCMOksuUeyxhFXq0jTif3veut2YzozVYuBSMHUzdhvL9sXMuc rkP1pmuix4UFd6C0OkBi =8Cei -----END PGP SIGNATURE----- --GID0FwUMdk1T2AWN--