all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: "Thompson, David" <dthompson2@worcester.edu>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCHES] Update NodeJS to 5.10.0
Date: Tue, 5 Apr 2016 20:35:18 +0300	[thread overview]
Message-ID: <20160405173518.GB14293@debian-netbook> (raw)
In-Reply-To: <CAJ=RwfZyJj-TEb838FwS1NHm256qGD5-=RsDbDCXL9HoT8MEzw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 6142 bytes --]

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 <dthompson@vistahigherlearning.com>
> 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   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2016-04-05 17:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-05 16:50 [PATCHES] Update NodeJS to 5.10.0 Thompson, David
2016-04-05 16:52 ` Thompson, David
2016-04-05 17:35   ` Efraim Flashner [this message]
2016-04-07 16:00     ` Thompson, David

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160405173518.GB14293@debian-netbook \
    --to=efraim@flashner.co.il \
    --cc=dthompson2@worcester.edu \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.