1{
2 lib,
3 fetchFromGitHub,
4 buildDunePackage,
5 ocaml,
6 ocaml-syntax-shims,
7 alcotest,
8 bigstringaf,
9 ppx_let,
10 gitUpdater,
11}:
12
13buildDunePackage rec {
14 pname = "angstrom";
15 version = "0.16.1";
16
17 minimalOCamlVersion = "4.04";
18
19 src = fetchFromGitHub {
20 owner = "inhabitedtype";
21 repo = pname;
22 rev = version;
23 hash = "sha256-EPqDK+7RU2vHEHvuoTXb8V2FkdXQ6tGu0ghbNPS3gZ4=";
24 };
25
26 checkInputs = [
27 alcotest
28 ppx_let
29 ];
30 buildInputs = [ ocaml-syntax-shims ];
31 propagatedBuildInputs = [ bigstringaf ];
32 doCheck = lib.versionAtLeast ocaml.version "4.08";
33
34 passthru.updateScript = gitUpdater { };
35
36 meta = {
37 homepage = "https://github.com/inhabitedtype/angstrom";
38 description = "OCaml parser combinators built for speed and memory efficiency";
39 license = lib.licenses.bsd3;
40 maintainers = with lib.maintainers; [ sternenseemann ];
41 };
42}