{ stdenv, lib, fetchFromGitHub, autoreconfHook, ocaml, findlib, menhir }: if !lib.versionAtLeast ocaml.version "4.03" then throw "psmt2-frontend is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { version = "0.2"; name = "ocaml${ocaml.version}-psmt2-frontend-${version}"; src = fetchFromGitHub { owner = "Coquera"; repo = "psmt2-frontend"; rev = version; sha256 = "097zmbrx4gp2gnrxdmsm9lkkp5450gwi0blpxqy3833m6k5brx3n"; }; prefixKey = "-prefix "; nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ ocaml findlib menhir ]; createFindlibDestdir = true; installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ]; meta = { description = "A simple parser and type-checker for polomorphic extension of the SMT-LIB 2 language"; license = lib.licenses.asl20; maintainers = [ lib.maintainers.vbgl ]; inherit (src.meta) homepage; inherit (ocaml.meta) platforms; }; }