Unverified Commit 0c288176 authored by Gavin John's avatar Gavin John
Browse files

python3Packages.dendropy: 4.5.1 -> 5.0.2

parent 2b8abed1
Loading
Loading
Loading
Loading
+31 −22
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  buildPythonPackage,
  fetchFromGitHub,
  pytestCheckHook,
  pythonOlder,
  nix-update-script,
  setuptools,
  paup,
  paupIntegration ? false,
}:

let
  paupPath = if paupIntegration then lib.getExe paup else "NONE";
in
buildPythonPackage rec {
  pname = "dendropy";
  version = "4.5.1";
  format = "setuptools";
  version = "5.0.2";

  disabled = pythonOlder "3.7";
  pyproject = true;
  build-system = [ setuptools ];

  src = fetchFromGitHub {
    owner = "jeetsukumaran";
    repo = pname;
    rev = "v${version}";
    hash = "sha256-FP0+fJkkFtSysPxoHXjyMgF8pPin7aRyzmHe9bH8LlM=";
    repo = "dendropy";
    rev = "refs/tags/v${version}";
    hash = "sha256-OiFei/6226FDtL4w1XrXL2OVn3/hfQwnIhTzM4OneKc=";
  };

  nativeCheckInputs = [ pytestCheckHook ];
  postPatch = ''
    substituteInPlace setup.py \
      --replace '["pytest-runner"],' '[],'

  disabledTests = [
    # FileNotFoundError: [Errno 2] No such file or directory: 'paup'
    "test_basic_split_count_with_incorrect_rootings_raises_error"
    "test_basic_split_count_with_incorrect_weight_treatment_raises_error"
    "test_basic_split_counting_under_different_rootings"
    "test_group1"
    # AssertionError: 6 != 5
    "test_by_num_lineages"
    # AttributeError: module 'collections' has no attribute 'Iterable'
    "test_findall_multiple"
  ];
    substituteInPlace src/dendropy/interop/paup.py \
      --replace 'PAUP_PATH = os.environ.get(metavar.DENDROPY_PAUP_PATH_ENVAR, "paup")' 'PAUP_PATH = os.environ.get(metavar.DENDROPY_PAUP_PATH_ENVAR, "${paupPath}")'
  '';

  nativeCheckInputs = [ pytestCheckHook ];

  pythonImportsCheck = [ "dendropy" ];

  meta = with lib; {
  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Python library for phylogenetic computing";
    homepage = "https://dendropy.org/";
    license = licenses.bsd3;
    maintainers = with maintainers; [ unode ];
    homepage = "https://jeetsukumaran.github.io/DendroPy/";
    license = lib.licenses.bsd3;
    maintainers = with lib.maintainers; [
      unode
      pandapip1
    ];
  };
}