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

This commit is contained in:
OTABI Tomoya 2024-09-05 11:25:22 +09:00 committed by GitHub
commit 455cbe4198
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 83 additions and 22 deletions

View File

@ -0,0 +1,52 @@
{
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" ];
};
}

View File

@ -1,45 +1,54 @@
{
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=";
};
postPatch = ''
substituteInPlace setup.py \
--replace '["pytest-runner"],' '[],'
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 ];
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"
];
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
];
};
}