nixpkgs/pkgs/development/ocaml-modules/phylogenetics/default.nix
2023-12-13 06:18:54 +01:00

62 lines
1.2 KiB
Nix

{ lib
, ocaml
, buildDunePackage
, fetchFromGitHub
, ppx_deriving
, bppsuite
, alcotest
, angstrom-unix
, biocaml
, core
, gsl
, lacaml
, menhir
, menhirLib
, printbox-text
}:
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
"phylogenetics is not compatible with OCaml ${ocaml.version}"
buildDunePackage rec {
pname = "phylogenetics";
version = "unstable-2022-05-06";
src = fetchFromGitHub {
owner = "biocaml";
repo = pname;
rev = "cd7c624d0f98e31b02933ca4511b9809b26d35b5";
sha256 = "sha256:0w0xyah3hj05hxg1rsa40hhma3dm1cyq0zvnjrihhf22laxap7ga";
};
minimalOCamlVersion = "4.08";
nativeCheckInputs = [ bppsuite ];
checkInputs = [ alcotest ];
nativeBuildInputs = [ menhir ];
propagatedBuildInputs = [
angstrom-unix
biocaml
core
gsl
lacaml
menhirLib
ppx_deriving
printbox-text
];
checkPhase = ''
runHook preCheck
dune build @app/fulltest
runHook postCheck
'';
doCheck = true;
meta = with lib; {
description = "Algorithms and datastructures for phylogenetics";
homepage = "https://github.com/biocaml/phylogenetics";
license = licenses.cecill-b;
maintainers = [ maintainers.bcdarwin ];
mainProgram = "phylosim";
};
}