From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jelle Licht Subject: [PATCH 1/4] gnu: node: Add http-parser. Date: Sat, 27 Aug 2016 13:23:30 +0200 Message-ID: <20160827112333.1759-2-jlicht@fsfe.org> References: <20160827112333.1759-1-jlicht@fsfe.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44516) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bdbiV-0003MH-QV for guix-devel@gnu.org; Sat, 27 Aug 2016 07:24:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bdbiT-0002Ee-Kf for guix-devel@gnu.org; Sat, 27 Aug 2016 07:24:02 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:32858) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bdbiT-0002EV-Ec for guix-devel@gnu.org; Sat, 27 Aug 2016 07:24:01 -0400 Received: by mail-wm0-f66.google.com with SMTP id o80so2875103wme.0 for ; Sat, 27 Aug 2016 04:24:01 -0700 (PDT) In-Reply-To: <20160827112333.1759-1-jlicht@fsfe.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * 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