biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / science / misc / cwltool / default.nix
blob1c616866a173dc59ef798f8832520680b9a504f9
1 { lib
2 , fetchFromGitHub
3 , git
4 , nodejs
5 , python3
6 }:
8 python3.pkgs.buildPythonApplication rec {
9   pname = "cwltool";
10   version = "3.1.20240708091337";
11   pyproject = true;
13   src = fetchFromGitHub {
14     owner = "common-workflow-language";
15     repo = "cwltool";
16     rev = "refs/tags/${version}";
17     hash = "sha256-Umxh8sRBy7fC6+GrcN1q4iO0KVpmUhGPtnqZZK/6c9M=";
18   };
20   postPatch = ''
21     substituteInPlace setup.py \
22       --replace "ruamel.yaml >= 0.16, < 0.19" "ruamel.yaml" \
23       --replace "prov == 1.5.1" "prov" \
24       --replace '"schema-salad >= 8.4.20230426093816, < 9",' "" \
25       --replace "PYTEST_RUNNER + " ""
26     substituteInPlace pyproject.toml \
27       --replace "ruamel.yaml>=0.16.0,<0.18" "ruamel.yaml" \
28       --replace "mypy==1.10.0" "mypy==1.10.*"
29   '';
31   nativeBuildInputs = [
32     git
33   ] ++ (with python3.pkgs; [
34     setuptools
35     setuptools-scm
36   ]);
38   propagatedBuildInputs = with python3.pkgs; [
39     argcomplete
40     bagit
41     coloredlogs
42     cwl-utils
43     mypy
44     mypy-extensions
45     prov
46     psutil
47     pydot
48     rdflib
49     requests
50     ruamel-yaml
51     schema-salad
52     shellescape
53     spython
54     toml
55     types-psutil
56     types-requests
57     typing-extensions
58   ];
60   nativeCheckInputs = with python3.pkgs; [
61     mock
62     nodejs
63     pytest-mock
64     pytest-httpserver
65     pytest-xdist
66     pytestCheckHook
67   ];
69   disabledTests = [
70     "test_content_types"
71     "test_env_filtering"
72     "test_http_path_mapping"
73     "test_modification_date"
74   ];
76   disabledTestPaths = [
77     "tests/test_udocker.py"
78     "tests/test_provenance.py"
79   ];
81   pythonImportsCheck = [
82     "cwltool"
83   ];
85   meta = with lib; {
86     description = "Common Workflow Language reference implementation";
87     mainProgram = "cwltool";
88     homepage = "https://www.commonwl.org";
89     changelog = "https://github.com/common-workflow-language/cwltool/releases/tag/${version}";
90     license = with licenses; [ asl20 ];
91     maintainers = with maintainers; [ veprbl ];
92   };