{ stdenv , fetchFromGitHub , lib , makeWrapper , ocamlbuild , findlib , ocaml , num , zarith }: lib.throwIfNot (lib.versionAtLeast ocaml.version "4.07") "lem is not available for OCaml ${ocaml.version}" stdenv.mkDerivation rec { pname = "ocaml${ocaml.version}-lem"; version = "2022-12-10"; src = fetchFromGitHub { owner = "rems-project"; repo = "lem"; rev = version; hash = "sha256-ZQgcuIVRkJS0KtpzjbO4OPHGg6B0TadWA6XpRir30y8="; }; nativeBuildInputs = [ makeWrapper ocamlbuild findlib ocaml ]; propagatedBuildInputs = [ zarith num ]; installFlags = [ "INSTALL_DIR=$(out)" ]; createFindlibDestdir = true; postInstall = '' wrapProgram $out/bin/lem --set LEMLIB $out/share/lem/library ''; meta = with lib; { homepage = "https://github.com/rems-project/lem"; description = "Tool for lightweight executable mathematics"; mainProgram = "lem"; maintainers = with maintainers; [ genericnerdyusername ]; license = with licenses; [ bsd3 gpl2 ]; platforms = ocaml.meta.platforms; }; }