signalbackup-tools: 20241220 -> 20250106 (#371523)
[NixPkgs.git] / pkgs / development / libraries / ngtcp2 / default.nix
blob7ddfc135fa1892a1447e3d74542b1c7e6724fcc4
1 { lib, stdenv, fetchFromGitHub
2 , cmake
3 , brotli, libev, nghttp3, quictls
4 , withJemalloc ? false, jemalloc
5 , curlHTTP3
6 }:
8 stdenv.mkDerivation rec {
9   pname = "ngtcp2";
10   version = "1.10.0";
12   src = fetchFromGitHub {
13     owner = "ngtcp2";
14     repo = pname;
15     rev = "v${version}";
16     hash = "sha256-W9DLG9PXXuXe3rdtrbAvZZU2d7WsZ9vw/A6c3cFHBFM=";
17     fetchSubmodules = true;
18   };
20   outputs = [ "out" "dev" "doc" ];
22   nativeBuildInputs = [ cmake ];
23   buildInputs = [
24     brotli
25     libev
26     nghttp3
27     quictls
28   ] ++ lib.optional withJemalloc jemalloc;
30   cmakeFlags = [
31     (lib.cmakeBool "ENABLE_STATIC_LIB" false)
32   ];
34   doCheck = true;
36   passthru.tests = {
37     inherit curlHTTP3;
38   };
40   meta = with lib; {
41     homepage = "https://github.com/ngtcp2/ngtcp2";
42     description = "ngtcp2 project is an effort to implement QUIC protocol which is now being discussed in IETF QUICWG for its standardization";
43     license = licenses.mit;
44     platforms = platforms.unix;
45     maintainers = with maintainers; [ izorkin ];
46   };