guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCHES] Update NodeJS to 5.10.0


From: Efraim Flashner
Subject: Re: [PATCHES] Update NodeJS to 5.10.0
Date: Tue, 5 Apr 2016 20:35:18 +0300
User-agent: Mutt/1.6.0 (2016-04-01)

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 <address@hidden>
> 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 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=" prefix)
> -                               configure-flags)))
> -             (format #t "build directory: ~s~%" (getcwd))
> -             (format #t "configure flags: ~s~%" flags)
> -             ;; Node's configure script expects the CC environment variable 
> 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-options.js"
> +                            "test/parallel/test-child-process-env.js"
> +                            "test/parallel/test-child-process-exec-env.js")
> +               (("'/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=" prefix)
> +                                 configure-flags)))
> +               (format #t "build directory: ~s~%" (getcwd))
> +               (format #t "configure flags: ~s~%" flags)
> +               ;; Node's configure script expects the CC environment 
> variable 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))))))))
>      (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   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]