Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 buildPythonPackage,
4 cwl-upgrader,
5 cwlformat,
6 fetchFromGitHub,
7 jsonschema,
8 packaging,
9 pytest-mock,
10 pytest-xdist,
11 pytestCheckHook,
12 rdflib,
13 requests,
14 ruamel-yaml,
15 schema-salad,
16 setuptools,
17}:
18
19buildPythonPackage rec {
20 pname = "cwl-utils";
21 version = "0.40";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "common-workflow-language";
26 repo = "cwl-utils";
27 tag = "v${version}";
28 hash = "sha256-A9+JvtSTPfXK/FGJ8pplT06kkuatZu1fgjjmg74oTvE=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 cwl-upgrader
35 packaging
36 rdflib
37 requests
38 ruamel-yaml
39 schema-salad
40 ];
41
42 nativeCheckInputs = [
43 cwlformat
44 jsonschema
45 pytest-mock
46 pytest-xdist
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [ "cwl_utils" ];
51
52 disabledTests = [
53 # Don't run tests which require Node.js
54 "test_context_multiple_regex"
55 "test_value_from_two_concatenated_expressions"
56 "test_graph_split"
57 "test_caches_js_processes"
58 "test_load_document_with_remote_uri"
59 # Don't run tests which require network access
60 "test_remote_packing"
61 "test_remote_packing_github_soft_links"
62 "test_cwl_inputs_to_jsonschema"
63 ];
64
65 disabledTestPaths = [
66 # Tests require podman
67 "tests/test_docker_extract.py"
68 # Tests requires singularity
69 "tests/test_js_sandbox.py"
70 # Circular dependencies
71 "tests/test_graph_split.py"
72 ];
73
74 meta = {
75 description = "Utilities for CWL";
76 homepage = "https://github.com/common-workflow-language/cwl-utils";
77 changelog = "https://github.com/common-workflow-language/cwl-utils/releases/tag/v${version}";
78 license = lib.licenses.asl20;
79 maintainers = with lib.maintainers; [ fab ];
80 };
81}