108 lines
2.1 KiB
Nix
108 lines
2.1 KiB
Nix
{
|
|
lib,
|
|
fetchFromGitHub,
|
|
git,
|
|
nodejs,
|
|
python3,
|
|
}:
|
|
|
|
let
|
|
py = python3.override {
|
|
packageOverrides = final: prev: {
|
|
# Requires "pydot >= 1.4.1, <3",
|
|
pydot = prev.pydot.overridePythonAttrs (old: rec {
|
|
version = "2.0.0";
|
|
src = old.src.override {
|
|
inherit version;
|
|
hash = "sha256-YCRq8hUSP6Bi8hzXkb5n3aI6bygN8J9okZ5jeh5PMjU=";
|
|
};
|
|
doCheck = false;
|
|
});
|
|
};
|
|
};
|
|
in
|
|
with py.pkgs;
|
|
|
|
py.pkgs.buildPythonApplication rec {
|
|
pname = "cwltool";
|
|
version = "3.1.20250110105449";
|
|
pyproject = true;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "common-workflow-language";
|
|
repo = "cwltool";
|
|
tag = version;
|
|
hash = "sha256-V0CQiNkIw81s6e9224qcfbsOqBvMo34q+lRURpRetKs=";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace setup.py \
|
|
--replace-fail "prov == 1.5.1" "prov" \
|
|
--replace-fail '"schema-salad >= 8.7, < 9",' '"schema-salad",' \
|
|
--replace-fail "PYTEST_RUNNER + " ""
|
|
'';
|
|
|
|
build-system = with py.pkgs; [
|
|
setuptools
|
|
setuptools-scm
|
|
];
|
|
|
|
nativeBuildInputs = [ git ];
|
|
|
|
dependencies = with py.pkgs; [
|
|
argcomplete
|
|
bagit
|
|
coloredlogs
|
|
cwl-utils
|
|
mypy
|
|
mypy-extensions
|
|
prov
|
|
psutil
|
|
pydot
|
|
rdflib
|
|
requests
|
|
rich-argparse
|
|
ruamel-yaml
|
|
schema-salad
|
|
shellescape
|
|
spython
|
|
toml
|
|
types-psutil
|
|
types-requests
|
|
typing-extensions
|
|
];
|
|
|
|
nativeCheckInputs = with py.pkgs; [
|
|
mock
|
|
nodejs
|
|
pytest-mock
|
|
pytest-httpserver
|
|
pytest-xdist
|
|
pytestCheckHook
|
|
];
|
|
|
|
disabledTests = [
|
|
"test_content_types"
|
|
"test_env_filtering"
|
|
"test_http_path_mapping"
|
|
"test_modification_date"
|
|
];
|
|
|
|
disabledTestPaths = [
|
|
"tests/test_udocker.py"
|
|
"tests/test_provenance.py"
|
|
];
|
|
|
|
pythonImportsCheck = [
|
|
"cwltool"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Common Workflow Language reference implementation";
|
|
homepage = "https://www.commonwl.org";
|
|
changelog = "https://github.com/common-workflow-language/cwltool/releases/tag/${version}";
|
|
license = licenses.asl20;
|
|
maintainers = with maintainers; [ veprbl ];
|
|
mainProgram = "cwltool";
|
|
};
|
|
}
|