1{
2 lib,
3 buildPythonPackage,
4 cwl-upgrader,
5 cwlformat,
6 fetchFromGitHub,
7 packaging,
8 pytest-mock,
9 pytest-xdist,
10 pytestCheckHook,
11 pythonOlder,
12 rdflib,
13 requests,
14 ruamel-yaml,
15 schema-salad,
16 setuptools,
17}:
18
19buildPythonPackage rec {
20 pname = "cwl-utils";
21 version = "0.33";
22 pyproject = true;
23
24 disabled = pythonOlder "3.8";
25
26 src = fetchFromGitHub {
27 owner = "common-workflow-language";
28 repo = "cwl-utils";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-+GvG5Uu2nQWYCcuAkBkegsmMCWhf269jH6Zcex99I4M=";
31 };
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 cwl-upgrader
37 packaging
38 rdflib
39 requests
40 ruamel-yaml
41 schema-salad
42 ];
43
44 nativeCheckInputs = [
45 cwlformat
46 pytest-mock
47 pytest-xdist
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [ "cwl_utils" ];
52
53 disabledTests = [
54 # Don't run tests which require Node.js
55 "test_context_multiple_regex"
56 "test_value_from_two_concatenated_expressions"
57 "test_graph_split"
58 "test_caches_js_processes"
59 "test_load_document_with_remote_uri"
60 # Don't run tests which require network access
61 "test_remote_packing"
62 "test_remote_packing_github_soft_links"
63 ];
64
65 meta = with lib; {
66 description = "Utilities for CWL";
67 homepage = "https://github.com/common-workflow-language/cwl-utils";
68 changelog = "https://github.com/common-workflow-language/cwl-utils/releases/tag/v${version}";
69 license = licenses.asl20;
70 maintainers = with maintainers; [ fab ];
71 };
72}