I just checked in a big update to the opam front end for depict (https://pagure.io/depict). It now handles complex boolean dependencies much better. Try this to see a dependency graph for Facebook's Infer, assuming you have a git checkout of opam-repository at ~/src/opam-repository:
python3 -m depict --input=json examples/opam.js --input=opam --exclude mirage-xen:mirage-xen-ocaml:ocamlfind-secondary --stop ocaml --repository ~/src/opam-repository async ANSITerminal apron atdgen base64 cmdliner core conf-autoconf conf-gmp conf-mpfr conf-sqlite3 conf-zlib ctypes dune elina javalib mlgmpidl mtime ocamlfind ocamlgraph ounit parmap ppx_deriving ppx_fields_conv ppx_let sawja sqlite3 utop xmlm yojson zarith --graph=dag --output=dot infer.dot --output=layered -
ocaml-devel@lists.fedoraproject.org