![Guillaume Girol](/assets/img/avatar_default.png)
checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
86 lines
1.9 KiB
Nix
86 lines
1.9 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, python3
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "snakemake";
|
|
version = "7.14.2";
|
|
format = "setuptools";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "snakemake";
|
|
repo = pname;
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-4XduybmDmlux3zvjbN1ouaJ1PkNO8h6vHuxgZ3YLBrw=";
|
|
};
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
appdirs
|
|
configargparse
|
|
connection-pool
|
|
datrie
|
|
docutils
|
|
filelock
|
|
gitpython
|
|
jinja2
|
|
jsonschema
|
|
nbformat
|
|
networkx
|
|
psutil
|
|
pulp
|
|
pygraphviz
|
|
pyyaml
|
|
ratelimiter
|
|
requests
|
|
retry
|
|
smart-open
|
|
stopit
|
|
tabulate
|
|
toposort
|
|
wrapt
|
|
yte
|
|
];
|
|
|
|
# See
|
|
# https://github.com/snakemake/snakemake/blob/main/.github/workflows/main.yml#L99
|
|
# for the current basic test suite. Tibanna and Tes require extra
|
|
# setup.
|
|
|
|
nativeCheckInputs = with python3.pkgs; [
|
|
pandas
|
|
pytestCheckHook
|
|
requests-mock
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
"tests/test_tes.py"
|
|
"tests/test_tibanna.py"
|
|
"tests/test_linting.py"
|
|
];
|
|
|
|
disabledTests = [
|
|
# Tests require network access
|
|
"test_github_issue1396"
|
|
"test_github_issue1460"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"snakemake"
|
|
];
|
|
|
|
meta = with lib; {
|
|
homepage = "https://snakemake.github.io";
|
|
license = licenses.mit;
|
|
description = "Python-based execution environment for make-like workflows";
|
|
longDescription = ''
|
|
Snakemake is a workflow management system that aims to reduce the complexity of
|
|
creating workflows by providing a fast and comfortable execution environment,
|
|
together with a clean and readable specification language in Python style. Snakemake
|
|
workflows are essentially Python scripts extended by declarative code to define
|
|
rules. Rules describe how to create output files from input files.
|
|
'';
|
|
maintainers = with maintainers; [ helkafen renatoGarcia veprbl ];
|
|
};
|
|
}
|