guix-devel
[Top][All Lists]
Advanced

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

[PATCH 1/4] gnu: node: Add http-parser.


From: Jelle Licht
Subject: [PATCH 1/4] gnu: node: Add http-parser.
Date: Sat, 27 Aug 2016 13:23:30 +0200

* gnu/packages/node.scm (http-parser): New variable.
* gnu/packages/node.scm (define-module): Import gnu packages tls with
  tls: prefix
---
 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"))
+              (sha256 (base32 
"1cw6nf8xy4jhib1w0jd2y0gpqjbdasg8b7pkl2k2vpp54k9rlh3h"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:make-flags (list "CC=gcc" (string-append "DESTDIR=" (assoc-ref 
%outputs "out")))
+       #:test-target "test-valgrind"
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-before 'build 'patch-makefile
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+              (substitute* '("Makefile")
+                (("/usr/local") ""))))
+         (replace 'build
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "library" make-flags))))
+         )))
+    (inputs '())
+    (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
-- 
2.9.3




reply via email to

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