{ lib, stdenv, fetchFromGitHub , ocaml, findlib, pkg-config , gmp }: if !lib.versionAtLeast ocaml.version "4.04" then throw "zarith is not available for OCaml ${ocaml.version}" else stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-zarith"; version = "1.12"; src = fetchFromGitHub { owner = "ocaml"; repo = "Zarith"; rev = "release-${version}"; sha256 = "1jslm1rv1j0ya818yh23wf3bb6hz7qqj9pn5fwl45y9mqyqa01s9"; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ ocaml findlib ]; propagatedBuildInputs = [ gmp ]; dontAddPrefix = true; configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ]; preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs"; meta = with lib; { description = "Fast, arbitrary precision OCaml integers"; homepage = "http://forge.ocamlcore.org/projects/zarith"; license = licenses.lgpl2; inherit (ocaml.meta) platforms; maintainers = with maintainers; [ thoughtpolice vbgl ]; }; }