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