1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchFromGitHub,
6 pytestCheckHook,
7 pythonOlder,
8 nix-update-script,
9 setuptools,
10 paup-cli,
11 paupIntegration ? false,
12}:
13
14let
15 paupPath = if paupIntegration then lib.getExe paup-cli else "NONE";
16in
17buildPythonPackage rec {
18 pname = "dendropy";
19 version = "5.0.8";
20
21 pyproject = true;
22 build-system = [ setuptools ];
23
24 src = fetchFromGitHub {
25 owner = "jeetsukumaran";
26 repo = "dendropy";
27 tag = "v${version}";
28 hash = "sha256-AmKm9V4XZQRuAfe0R5r5/wicno9iTZ6nbwHyHvMijz0=";
29 };
30
31 postPatch = ''
32 substituteInPlace setup.py \
33 --replace '["pytest-runner"],' '[],'
34
35 substituteInPlace src/dendropy/interop/paup.py \
36 --replace 'PAUP_PATH = os.environ.get(metavar.DENDROPY_PAUP_PATH_ENVAR, "paup")' 'PAUP_PATH = os.environ.get(metavar.DENDROPY_PAUP_PATH_ENVAR, "${paupPath}")'
37 '';
38
39 nativeCheckInputs = [ pytestCheckHook ];
40
41 pythonImportsCheck = [ "dendropy" ];
42
43 passthru.updateScript = nix-update-script { };
44
45 meta = {
46 description = "Python library for phylogenetic computing";
47 homepage = "https://jeetsukumaran.github.io/DendroPy/";
48 license = lib.licenses.bsd3;
49 maintainers = with lib.maintainers; [
50 unode
51 pandapip1
52 ];
53 };
54}