diff options
Diffstat (limited to 'pkgs/development/libraries/http-parser/default.nix')
-rw-r--r-- | pkgs/development/libraries/http-parser/default.nix | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix new file mode 100644 index 00000000000..bb1f6b63084 --- /dev/null +++ b/pkgs/development/libraries/http-parser/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, gyp, utillinux, python, fixDarwinDylibNames }: + +let + version = "2.2.1"; +in stdenv.mkDerivation { + name = "http-parser-${version}"; + + src = fetchurl { + url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz"; + sha256 = "0p8wmchqsj9kwa8pg2is7v0h83q5lqns3vnm6sxrld7gaz979zh5"; + }; + + patches = [ ./build-shared.patch ]; + + configurePhase = "gyp -f make --depth=`pwd` http_parser.gyp"; + + buildFlags = [ "BUILDTYPE=Release" ]; + + buildInputs = + [ gyp ] + ++ stdenv.lib.optional stdenv.isLinux utillinux + ++ stdenv.lib.optionals stdenv.isDarwin [ python fixDarwinDylibNames ]; + + doCheck = !stdenv.isDarwin; + + checkPhase = '' + out/Release/test-nonstrict + out/Release/test-strict + ''; + + installPhase = '' + mkdir -p $out/lib + mv out/Release/${if stdenv.isDarwin then "*.dylib" else "lib.target/*"} $out/lib + + mkdir -p $out/include + mv http_parser.h $out/include + ''; + + meta = { + description = "An HTTP message parser written in C"; + + homepage = https://github.com/joyent/http-parser; + + license = stdenv.lib.licenses.mit; + + maintainers = [ stdenv.lib.maintainers.shlevy ]; + }; +} |