diff --git a/pkgs/by-name/pa/paup/package.nix b/pkgs/by-name/pa/paup/package.nix new file mode 100644 index 000000000000..62bb5206587a --- /dev/null +++ b/pkgs/by-name/pa/paup/package.nix @@ -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" ]; + }; +} diff --git a/pkgs/development/python-modules/dendropy/default.nix b/pkgs/development/python-modules/dendropy/default.nix index f17acbdc4b95..8cc15b7210c7 100644 --- a/pkgs/development/python-modules/dendropy/default.nix +++ b/pkgs/development/python-modules/dendropy/default.nix @@ -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 + ]; }; }