1{
2 lib,
3 fetchFromGitHub,
4 fetchpatch,
5 buildOasisPackage,
6 ounit,
7 tcslib,
8 ocaml-sat-solvers,
9}:
10
11buildOasisPackage rec {
12 pname = "pgsolver";
13 version = "4.1";
14
15 src = fetchFromGitHub {
16 owner = "tcsprojects";
17 repo = "pgsolver";
18 rev = "v${version}";
19 sha256 = "16skrn8qql9djpray25xv66rjgfl20js5wqnxyq1763nmyizyj8a";
20 };
21
22 # Compatibility with ocaml-sat-solvers 0.8
23 patches = fetchpatch {
24 url = "https://github.com/tcsprojects/pgsolver/commit/e57a4fc5c8050b8d4ada5583a6c65ecf8cd65141.patch";
25 hash = "sha256-QFKxWByptnCl1SfleNASyXmKM2gkh1OE66L8PAZX+TU=";
26 includes = [
27 "src/solvers/*.ml"
28 "src/tools/*.ml"
29 ];
30 };
31
32 buildInputs = [ ounit ];
33 propagatedBuildInputs = [
34 tcslib
35 ocaml-sat-solvers
36 ];
37
38 meta = {
39 description = "Collection of tools for generating, manipulating and - most of all - solving parity games";
40 homepage = "https://github.com/tcsprojects/pgsolver";
41 license = lib.licenses.bsd3;
42 maintainers = with lib.maintainers; [ mgttlinger ];
43 mainProgram = "pgsolver-bin";
44 };
45}