lol
1{ lib
2, fetchFromGitHub
3, git
4, nodejs
5, python3
6}:
7
8python3.pkgs.buildPythonApplication rec {
9 pname = "cwltool";
10 version = "3.1.20230213100550";
11 format = "setuptools";
12
13 src = fetchFromGitHub {
14 owner = "common-workflow-language";
15 repo = pname;
16 rev = "refs/tags/${version}";
17 hash = "sha256-BtHkIVadcccnYYX8lRqiCzO+/qFeBaZfdUuu6qrjysk=";
18 };
19
20 postPatch = ''
21 substituteInPlace setup.py \
22 --replace "ruamel.yaml >= 0.15, < 0.17.22" "ruamel.yaml" \
23 --replace "prov == 1.5.1" "prov" \
24 --replace "setup_requires=PYTEST_RUNNER," ""
25 '';
26
27 nativeBuildInputs = [
28 git
29 ];
30
31 propagatedBuildInputs = with python3.pkgs; [
32 argcomplete
33 bagit
34 coloredlogs
35 cwl-utils
36 mypy-extensions
37 prov
38 psutil
39 pydot
40 rdflib
41 requests
42 ruamel-yaml
43 schema-salad
44 shellescape
45 typing-extensions
46 ];
47
48 nativeCheckInputs = with python3.pkgs; [
49 mock
50 nodejs
51 pytest-mock
52 pytest-httpserver
53 pytest-xdist
54 pytestCheckHook
55 ];
56
57 disabledTests = [
58 "test_content_types"
59 "test_env_filtering"
60 "test_http_path_mapping"
61 "test_modification_date"
62 ];
63
64 disabledTestPaths = [
65 "tests/test_udocker.py"
66 "tests/test_provenance.py"
67 ];
68
69 pythonImportsCheck = [
70 "cwltool"
71 ];
72
73 meta = with lib; {
74 description = "Common Workflow Language reference implementation";
75 homepage = "https://www.commonwl.org";
76 changelog = "https://github.com/common-workflow-language/cwltool/releases/tag/${version}";
77 license = with licenses; [ asl20 ];
78 maintainers = with maintainers; [ veprbl ];
79 };
80}