unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alex Kost <alezost@gmail.com>
To: Jelle Licht <jlicht@fsfe.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 1/4] gnu: node: Add http-parser.
Date: Sat, 27 Aug 2016 23:33:57 +0300	[thread overview]
Message-ID: <87eg5adk96.fsf@gmail.com> (raw)
In-Reply-To: <20160827112333.1759-2-jlicht@fsfe.org> (Jelle Licht's message of "Sat, 27 Aug 2016 13:23:30 +0200")

Jelle Licht (2016-08-27 14:23 +0300) wrote:

> * gnu/packages/node.scm (http-parser): New variable.
> * gnu/packages/node.scm (define-module): Import gnu packages tls with
>   tls: prefix

These are 2 independent things, so I think it should be 2 separate
patches, but actually why is it needed to prefix tls?

> ---
>  gnu/packages/node.scm | 39 +++++++++++++++++++++++++++++++++++++--
>  1 file changed, 37 insertions(+), 2 deletions(-)
>
>
> diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
> index 2b27774..545aaaa 100644
> --- a/gnu/packages/node.scm
> +++ b/gnu/packages/node.scm
> @@ -32,7 +32,42 @@
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages python)
> -  #:use-module (gnu packages tls))
> +  #:use-module ((gnu packages tls) #:prefix tls:)
> +  #:use-module (gnu packages valgrind))
> +
> +(define-public http-parser
> +  (package
> +    (name "http-parser")
> +    (version "2.7.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "https://github.com/nodejs/http-parser/archive/v"
> +                                  version ".tar.gz"))

Here the following line is needed:
                 (file-name (string-append name "-" version ".tar.gz"))

Without it the source tarball will have "...-v2.7.1.tar.gz" name, which
is not very understandable.

> +              (sha256 (base32 "1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:make-flags (list "CC=gcc" (string-append "DESTDIR=" (assoc-ref %outputs "out")))

Does it work if it will be PREFIX instead of DESTDIR?  I forgot the
exact reason, but we try to avoid using DESTDIR directly, and prefer to
set PREFIX instead.

Also please don't make such long lines :-)

> +       #:test-target "test-valgrind"
> +       #:phases
> +       (modify-phases %standard-phases
> +         (delete 'configure)
> +         (add-before 'build 'patch-makefile
> +           (lambda* (#:key inputs outputs #:allow-other-keys)

Just (lambda _ ...)  Keywords are not needed here

> +              (substitute* '("Makefile")
> +                (("/usr/local") ""))))

Please add #t in the end of this phase: succeeded phases should return
non-false value, and the return value of 'substitute*' is not specified.

> +         (replace 'build
> +           (lambda* (#:key make-flags #:allow-other-keys)
> +             (zero? (apply system* "make" "library" make-flags))))
> +         )))

Please move these lonely parentheses to the previous line.

> +    (inputs '())

This line is not needed as the empty list is the default value.

> +    (native-inputs `(("valgrind" ,valgrind)))
> +    (home-page "https://github.com/nodejs/http-parser")
> +    (synopsis "HTTP request/response parser for C")
> +    (description "HTTP parser is a parser for HTTP messages written in C.  It
> +parses both requests and responses.  The parser is designed to be used in
> +performance HTTP applications.  It does not make any syscalls nor allocations,
> +it does not buffer data, it can be interrupted at anytime.")
> +    (license expat)))
>  
>  (define-public node
>    (package
> @@ -118,7 +153,7 @@
>         ("which" ,which)))
>      (inputs
>       `(("libuv" ,libuv)
> -       ("openssl" ,openssl)
> +       ("openssl" ,tls:openssl)
>         ("zlib" ,zlib)))
>      (synopsis "Evented I/O for V8 JavaScript")
>      (description "Node.js is a platform built on Chrome's JavaScript runtime

-- 
Alex

  reply	other threads:[~2016-08-27 20:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 11:23 [PATCH 0/4] Unbundle node dependencies patch series Jelle Licht
2016-08-27 11:23 ` [PATCH 1/4] gnu: node: Add http-parser Jelle Licht
2016-08-27 20:33   ` Alex Kost [this message]
2016-08-27 11:23 ` [PATCH 2/4] gnu: node: Add search path specification for 'NODE_PATH' Jelle Licht
2016-08-27 11:23 ` [PATCH 3/4] gnu: node: Do not use bundled dependencies Jelle Licht
2016-08-27 20:38   ` Alex Kost
2016-08-28 19:38     ` Jelle Licht
2016-08-29  8:30       ` Alex Kost
2016-08-27 11:23 ` [PATCH 4/4] gnu: node: Use compression: prefix Jelle Licht
2016-08-27 20:42   ` Alex Kost
2016-09-01 12:43   ` Ludovic Courtès

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87eg5adk96.fsf@gmail.com \
    --to=alezost@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=jlicht@fsfe.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).