60 lines
956 B
Nix
60 lines
956 B
Nix
|
{ buildDunePackage
|
||
|
, lib
|
||
|
, fetchFromGitHub
|
||
|
, ocaml
|
||
|
, hpack
|
||
|
, angstrom
|
||
|
, faraday
|
||
|
, base64
|
||
|
, psq
|
||
|
, httpaf
|
||
|
, alcotest
|
||
|
, yojson
|
||
|
, hex
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
http2-frame-test-case = fetchFromGitHub {
|
||
|
owner = "http2jp";
|
||
|
repo = "http2-frame-test-case";
|
||
|
rev = "5c67db0d4d68e1fb7d3a241d6e01fc04d981f465";
|
||
|
sha256 = "16yyb37f8mk9saw7ndjs5is67yq7qa6b6y7k0c75ibxi4n9aw1r3";
|
||
|
};
|
||
|
in
|
||
|
|
||
|
buildDunePackage rec {
|
||
|
pname = "h2";
|
||
|
|
||
|
inherit (hpack)
|
||
|
version
|
||
|
src
|
||
|
useDune2
|
||
|
;
|
||
|
|
||
|
minimumOCamlVersion = "4.06";
|
||
|
|
||
|
propagatedBuildInputs = [
|
||
|
angstrom
|
||
|
faraday
|
||
|
base64
|
||
|
psq
|
||
|
hpack
|
||
|
httpaf
|
||
|
];
|
||
|
|
||
|
# Tests fail with 4.06
|
||
|
doCheck = lib.versionAtLeast ocaml.version "4.07";
|
||
|
preCheck = ''
|
||
|
ln -s "${http2-frame-test-case}" lib_test/http2-frame-test-case
|
||
|
'';
|
||
|
checkInputs = [
|
||
|
alcotest
|
||
|
yojson
|
||
|
hex
|
||
|
];
|
||
|
|
||
|
meta = hpack.meta // {
|
||
|
description = "A high-performance, memory-efficient, and scalable HTTP/2 library for OCaml";
|
||
|
};
|
||
|
}
|