Unverified Commit 455cbe41 authored by OTABI Tomoya's avatar OTABI Tomoya Committed by GitHub
Browse files

python3Packages.dendropy: 4.5.1 -> 5.0.2 (#326199)

parents 1c2654f6 0c288176
Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
{
  lib,
  stdenvNoCC,
  fetchurl,
  autoPatchelfHook,
  curl,
  gfortran,
  zlib,
}:

stdenvNoCC.mkDerivation {
  pname = "paup";
  version = "4.0a168";

  src = fetchurl {
    url = "http://phylosolutions.com/paup-test/paup4a168_centos64.gz";
    hash = "sha256-41dZswlrIQ05f1zJzId78DKmPf0QH1SfrexzvCAUxq8=";
  };

  unpackPhase = ''
    runHook preUnpack

    gunzip -c $src > paup

    runHook postUnpack
  '';

  nativeBuildInputs = [ autoPatchelfHook ];
  buildInputs = [
    curl
    gfortran
    zlib
  ];

  installPhase = ''
    runHook preInstall

    install -Dm755 paup -t $out/bin

    runHook postInstall
  '';

  meta = {
    description = "A software package for inferring evolutionary trees";
    homepage = "http://phylosolutions.com/paup-test/";
    license = lib.licenses.unfree;
    sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
    maintainers = with lib.maintainers; [ pandapip1 ];
    mainProgram = "paup";
    platforms = [ "x86_64-linux" ];
  };
}
+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
    ];
  };
}