1{
2 lib,
3 buildDunePackage,
4 fetchFromGitHub,
5 stdlib-shims,
6}:
7
8buildDunePackage rec {
9 pname = "bdd";
10 version = "0.5";
11
12 src = fetchFromGitHub {
13 owner = "backtracking";
14 repo = "ocaml-bdd";
15 tag = version;
16 hash = "sha256-bhgKpo7gGkjbI75pzckfQulZnTstj6G5QcErLgIGneU=";
17 };
18
19 # Fix build with OCaml 4.02
20 postPatch = ''
21 substituteInPlace lib/bdd.ml \
22 --replace-fail "Buffer.truncate Format.stdbuf 0;" "Buffer.clear Format.stdbuf;"
23 '';
24
25 propagatedBuildInputs = [
26 stdlib-shims
27 ];
28
29 meta = {
30 description = "Quick implementation of a Binary Decision Diagrams (BDD) library for OCaml";
31 homepage = "https://github.com/backtracking/ocaml-bdd";
32 license = lib.licenses.lgpl21Only;
33 maintainers = with lib.maintainers; [ wegank ];
34 };
35}