nixpkgs/pkgs/development/libraries/http-parser/default.nix
Graham Christensen 5022978474
Revert "http-parser: Broken on Darwin"
This reverts commit ea14f5c86dd1e28e4cf367c311353efb713e1a9e.

LnL on IRC says it builds without without CommandLineTools, and
disabling this on darwin breaks large swaths of packages. In
particular we're seeing all of rust broken.

We're not sure why it was broken on hydra, but we're pretty sure
disabling it straight out was the wrong fix.
2016-10-31 09:30:39 -04:00

48 lines
1.2 KiB
Nix

{ stdenv, fetchurl, python2Packages, utillinux, fixDarwinDylibNames }:
let
version = "2.7.0";
in stdenv.mkDerivation {
name = "http-parser-${version}";
src = fetchurl {
url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
sha256 = "0rqij6v6wv1giwx4prfa082kw1nka5d9vlb06zkc8mwszq1vzidh";
};
patches = [ ./build-shared.patch ];
configurePhase = "gyp -f make --depth=`pwd` http_parser.gyp";
buildFlags = [ "BUILDTYPE=Release" ];
buildInputs =
[ python2Packages.gyp ]
++ stdenv.lib.optional stdenv.isLinux utillinux
++ stdenv.lib.optionals stdenv.isDarwin [ python2Packages.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;
platforms = stdenv.lib.platforms.unix;
};
}