1{
2 buildDunePackage,
3 fetchFromGitHub,
4 hpack,
5 angstrom,
6 faraday,
7 base64,
8 psq,
9 httpun-types,
10 alcotest,
11 yojson,
12 hex,
13}:
14
15let
16 http2-frame-test-case = fetchFromGitHub {
17 owner = "http2jp";
18 repo = "http2-frame-test-case";
19 rev = "5c67db0d4d68e1fb7d3a241d6e01fc04d981f465";
20 sha256 = "16yyb37f8mk9saw7ndjs5is67yq7qa6b6y7k0c75ibxi4n9aw1r3";
21 };
22in
23
24buildDunePackage {
25 pname = "h2";
26
27 inherit (hpack)
28 version
29 src
30 ;
31
32 propagatedBuildInputs = [
33 angstrom
34 faraday
35 base64
36 psq
37 hpack
38 httpun-types
39 ];
40
41 doCheck = true;
42 preCheck = ''
43 ln -s "${http2-frame-test-case}" lib_test/http2-frame-test-case
44 '';
45 checkInputs = [
46 alcotest
47 yojson
48 hex
49 ];
50
51 meta = hpack.meta // {
52 description = "High-performance, memory-efficient, and scalable HTTP/2 library for OCaml";
53 };
54}