anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / development / libraries / ngtcp2 / default.nix
blob932728355d090ef925f65809f7edf0c9e24271d9
1 { lib, stdenv, fetchFromGitHub
2 , cmake
3 , brotli, libev, nghttp3, quictls
4 , apple-sdk_11
5 , withJemalloc ? false, jemalloc
6 , curlHTTP3
7 }:
9 stdenv.mkDerivation rec {
10   pname = "ngtcp2";
11   version = "1.8.1";
13   src = fetchFromGitHub {
14     owner = "ngtcp2";
15     repo = pname;
16     rev = "v${version}";
17     hash = "sha256-wNHaoZ6N9sJhsjlZEQ4iRHA3wvVxQE4cg8W2XeRx0LQ=";
18     fetchSubmodules = true;
19   };
21   outputs = [ "out" "dev" "doc" ];
23   nativeBuildInputs = [ cmake ];
24   buildInputs = [
25     brotli
26     libev
27     nghttp3
28     quictls
29   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
30     apple-sdk_11
31   ] ++ lib.optional withJemalloc jemalloc;
33   cmakeFlags = [
34     (lib.cmakeBool "ENABLE_STATIC_LIB" false)
35   ];
37   doCheck = true;
39   passthru.tests = {
40     inherit curlHTTP3;
41   };
43   meta = with lib; {
44     homepage = "https://github.com/ngtcp2/ngtcp2";
45     description = "ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization";
46     license = licenses.mit;
47     platforms = platforms.unix;
48     maintainers = with maintainers; [ izorkin ];
49   };