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