1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
(define-module (gn packages cwl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gn packages python)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages node)
#:use-module (gnu packages rdf)
#:use-module (gnu packages serialization)
#:use-module (gnu packages time)
#:use-module (gnu packages xml))
(define-public cwltool
(package
(name "cwltool")
(version "3.0.20200710214758")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cwltool" version))
(sha256
(base32
"1qbqkhinkhzg98jf24d5gnafsw23kng76rbi2hfvzl18bdsp1zz5"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'loosen-version-restrictions
(lambda _
(substitute* "setup.py"
(("== 1.5.1") ">=1.5.1"))
#t))
(add-after 'unpack 'modify-tests
(lambda _
;; Tries to connect to the internet.
(delete-file "tests/test_udocker.py")
(substitute* "tests/test_http_input.py"
(("https://raw.githubusercontent.com/common-workflow-language/cwltool/main")
"."))
(substitute* "tests/test_load_tool.py"
(("def test_load_graph_fragment_from_packed")
"@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_load_graph_fragment_from_packed"))
(substitute* "tests/test_examples.py"
(("def test_env_filtering")
"@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_env_filtering"))
;; Tries to use cwl-runners.
(substitute* "tests/test_examples.py"
(("def test_v1_0_arg_empty_prefix_separate_false")
"@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_v1_0_arg_empty_prefix_separate_false"))
#t)))))
(propagated-inputs
`(("python-bagit" ,python-bagit)
("python-coloredlogs" ,python-coloredlogs)
("python-mypy-extensions" ,python-mypy-extensions)
("python-prov" ,python-prov)
("python-psutil" ,python-psutil)
("python-rdflib" ,python-rdflib)
("python-requests" ,python-requests)
("python-ruamel.yaml" ,python-ruamel.yaml)
("python-schema-salad" ,python-schema-salad)
("python-setuptools" ,python-setuptools)
("python-shellescape" ,python-shellescape)
("python-typing-extensions" ,python-typing-extensions)
;; Not listed as needed but seems to be necessary:
("node" ,node)
("python-cachecontrol" ,python-cachecontrol-0.11)
("python-dateutil" ,python-dateutil)
("python-lxml" ,python-lxml)
("python-networkx" ,python-networkx)))
(native-inputs
`(("python-arcp" ,python-arcp)
("python-humanfriendly" ,python-humanfriendly)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest-runner" ,python-pytest-runner)
("python-rdflib-jsonld" ,python-rdflib-jsonld)))
(home-page
"https://github.com/common-workflow-language/common-workflow-language")
(synopsis "Common workflow language reference implementation")
(description
"Common workflow language reference implementation.")
(license license:asl2.0)))
(define-public cwl-runner
(package
(name "cwl-runner")
(version "1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cwl_runner" version))
(sha256
(base32
"0011am2xqwchysdznayrmwhg4bfjl4wlq6m4k20z1m7gccyzjgw0"))))
(build-system python-build-system)
(propagated-inputs
`(("cwltool" ,cwltool)))
(home-page
"https://github.com/common-workflow-language/common-workflow-language")
(synopsis "Common workflow language reference implementation")
(description
"Common workflow language reference implementation.")
(license license:asl2.0)))
|