depot/third_party/nixpkgs/pkgs/development/ocaml-modules/lem/default.nix

58 lines
1.2 KiB
Nix

{
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;
};
}