[3/4] gnu: node: Do not use bundled dependencies.

Message ID 20160827112333.1759-4-jlicht@fsfe.org
State New
Headers

Commit Message

Jelle Licht Aug. 27, 2016, 11:23 a.m. UTC
  The Node build system was previously building its own copies of
C-ares and http-parser.

* gnu/packages/node.scm (node)[inputs]: Add c-ares and http-parser.
[arguments]: Add configure flags for using system libraries.
---
 gnu/packages/node.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Comments

Alex Kost Aug. 27, 2016, 8:38 p.m. UTC | #1
Jelle Licht (2016-08-27 14:23 +0300) wrote:

> The Node build system was previously building its own copies of
> C-ares and http-parser.
>
> * gnu/packages/node.scm (node)[inputs]: Add c-ares and http-parser.
> [arguments]: Add configure flags for using system libraries.
> ---
>  gnu/packages/node.scm | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
>
> diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
> index d1c5e1b..7c020e6 100644
> --- a/gnu/packages/node.scm
> +++ b/gnu/packages/node.scm
> @@ -25,6 +25,7 @@
>    #:use-module (guix derivations)
>    #:use-module (guix download)
>    #:use-module (guix build-system gnu)
> +  #:use-module (gnu packages adns)
>    #:use-module (gnu packages base)
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages gcc)
> @@ -86,6 +87,8 @@ it does not buffer data, it can be interrupted at anytime.")
>       '(#:configure-flags '("--shared-openssl"
>                             "--shared-zlib"
>                             "--shared-libuv"
> +                           "--shared-cares"
> +                           "--shared-http-parser"
>                             "--without-snapshot")
>         #:phases
>         (modify-phases %standard-phases
> @@ -158,7 +161,9 @@ it does not buffer data, it can be interrupted at anytime.")
>      (inputs
>       `(("libuv" ,libuv)
>         ("openssl" ,tls:openssl)
> -       ("zlib" ,zlib)))
> +       ("zlib" ,compression:zlib)

This change shouldn't belong this patch: here you use 'compression'
prefix which is introduced by the next patch.  This would leave the git
repo in a broken state on this commit.

> +       ("http-parser" ,http-parser)
> +       ("c-ares" ,c-ares)))
>      (synopsis "Evented I/O for V8 JavaScript")
>      (description "Node.js is a platform built on Chrome's JavaScript runtime
>  for easily building fast, scalable network applications.  Node.js uses an
  
Jelle Licht Aug. 28, 2016, 7:38 p.m. UTC | #2
2016-08-27 22:38 GMT+02:00 Alex Kost <alezost@gmail.com>:

> Jelle Licht (2016-08-27 14:23 +0300) wrote:
>
> > The Node build system was previously building its own copies of
> > C-ares and http-parser.
> >
> > * gnu/packages/node.scm (node)[inputs]: Add c-ares and http-parser.
> > [arguments]: Add configure flags for using system libraries.
> > ---
> >  gnu/packages/node.scm | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> >
> >
> > diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
> > index d1c5e1b..7c020e6 100644
> > --- a/gnu/packages/node.scm
> > +++ b/gnu/packages/node.scm
> > @@ -25,6 +25,7 @@
> >    #:use-module (guix derivations)
> >    #:use-module (guix download)
> >    #:use-module (guix build-system gnu)
> > +  #:use-module (gnu packages adns)
> >    #:use-module (gnu packages base)
> >    #:use-module (gnu packages compression)
> >    #:use-module (gnu packages gcc)
> > @@ -86,6 +87,8 @@ it does not buffer data, it can be interrupted at
> anytime.")
> >       '(#:configure-flags '("--shared-openssl"
> >                             "--shared-zlib"
> >                             "--shared-libuv"
> > +                           "--shared-cares"
> > +                           "--shared-http-parser"
> >                             "--without-snapshot")
> >         #:phases
> >         (modify-phases %standard-phases
> > @@ -158,7 +161,9 @@ it does not buffer data, it can be interrupted at
> anytime.")
> >      (inputs
> >       `(("libuv" ,libuv)
> >         ("openssl" ,tls:openssl)
> > -       ("zlib" ,zlib)))
> > +       ("zlib" ,compression:zlib)
>
> This change shouldn't belong this patch: here you use 'compression'
> prefix which is introduced by the next patch.  This would leave the git
> repo in a broken state on this commit.
>
> > +       ("http-parser" ,http-parser)
> > +       ("c-ares" ,c-ares)))
> >      (synopsis "Evented I/O for V8 JavaScript")
> >      (description "Node.js is a platform built on Chrome's JavaScript
> runtime
> >  for easily building fast, scalable network applications.  Node.js uses
> an
>
> --
> Alex
>

I probably put the wrong things together when rebasing. Should I provide
updated
patches in these threads, or should I just send in a new patch series?

- Jelle
  
Alex Kost Aug. 29, 2016, 8:30 a.m. UTC | #3
Jelle Licht (2016-08-28 22:38 +0300) wrote:

> I probably put the wrong things together when rebasing. Should I
> provide updated
> patches in these threads, or should I just send in a new patch
> series?

I think a new patch series is better (especially since there may be
another number of patches).  Also please answer why prefixing
'compression' and 'tls' modules is needed, thanks.
  

Patch

diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index d1c5e1b..7c020e6 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -25,6 +25,7 @@ 
   #:use-module (guix derivations)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (gnu packages adns)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
@@ -86,6 +87,8 @@  it does not buffer data, it can be interrupted at anytime.")
      '(#:configure-flags '("--shared-openssl"
                            "--shared-zlib"
                            "--shared-libuv"
+                           "--shared-cares"
+                           "--shared-http-parser"
                            "--without-snapshot")
        #:phases
        (modify-phases %standard-phases
@@ -158,7 +161,9 @@  it does not buffer data, it can be interrupted at anytime.")
     (inputs
      `(("libuv" ,libuv)
        ("openssl" ,tls:openssl)
-       ("zlib" ,zlib)))
+       ("zlib" ,compression:zlib)
+       ("http-parser" ,http-parser)
+       ("c-ares" ,c-ares)))
     (synopsis "Evented I/O for V8 JavaScript")
     (description "Node.js is a platform built on Chrome's JavaScript runtime
 for easily building fast, scalable network applications.  Node.js uses an