1{ lib, stdenv, fetchFromGitHub
2, cmake
3, CoreServices
4, curlHTTP3
5}:
6
7stdenv.mkDerivation rec {
8 pname = "nghttp3";
9 version = "1.2.0";
10
11 src = fetchFromGitHub {
12 owner = "ngtcp2";
13 repo = pname;
14 rev = "v${version}";
15 hash = "sha256-kJt4aQGNiJ0XhlEKunR8jYKytv3rh23jRrNelCDe/Kk=";
16 fetchSubmodules = true;
17 };
18
19 outputs = [ "out" "dev" "doc" ];
20
21 nativeBuildInputs = [ cmake ];
22 buildInputs = lib.optionals stdenv.isDarwin [
23 CoreServices
24 ];
25
26 cmakeFlags = [
27 (lib.cmakeBool "ENABLE_STATIC_LIB" false)
28 ];
29
30 doCheck = true;
31
32 passthru.tests = {
33 inherit curlHTTP3;
34 };
35
36 meta = with lib; {
37 homepage = "https://github.com/ngtcp2/nghttp3";
38 description = "nghttp3 is an implementation of HTTP/3 mapping over QUIC and QPACK in C.";
39 license = licenses.mit;
40 platforms = platforms.unix;
41 maintainers = with maintainers; [ izorkin ];
42 };
43}