[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