1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, mypy-extensions
5, pytest-xdist
6, pytestCheckHook
7, pythonOlder
8, ruamel-yaml
9, schema-salad
10}:
11
12buildPythonPackage rec {
13 pname = "cwl-upgrader";
14 version = "1.2.8";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "common-workflow-language";
21 repo = pname;
22 rev = "refs/tags/v${version}";
23 hash = "sha256-DwXwzhsv92t6PU4emmG7xlIU7uj3rcHh4+o9NqBMA+A=";
24 };
25
26 postPatch = ''
27 substituteInPlace setup.py \
28 --replace "ruamel.yaml >= 0.15, < 0.17.22" "ruamel.yaml" \
29 --replace "setup_requires=PYTEST_RUNNER," ""
30 sed -i "/ruamel.yaml/d" setup.py
31 '';
32
33 propagatedBuildInputs = [
34 mypy-extensions
35 ruamel-yaml
36 schema-salad
37 ];
38
39 nativeCheckInputs = [
40 pytest-xdist
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [
45 "cwlupgrader"
46 ];
47
48 meta = with lib; {
49 description = "Library to interface with Yolink";
50 homepage = "https://github.com/common-workflow-language/cwl-utils";
51 changelog = "https://github.com/common-workflow-language/cwl-utils/releases/tag/v${version}";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ fab ];
54 };
55}