1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 # build-system
6 setuptools,
7 # dependencies
8 distlib,
9 empy,
10 packaging,
11 python-dateutil,
12 pyyaml,
13 # tests
14 pytestCheckHook,
15 pytest-cov-stub,
16 pytest-repeat,
17 pytest-rerunfailures,
18 scspell,
19 writableTmpDirAsHomeHook,
20}:
21
22buildPythonPackage rec {
23 pname = "colcon-core";
24 version = "0.19.0";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "colcon";
29 repo = "colcon-core";
30 tag = version;
31 hash = "sha256-R/TVHPT305PwaVSisP0TtbgjCFBwCZkXOAgkYhCKpyY=";
32 };
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 empy
38 distlib
39 packaging
40 python-dateutil
41 pyyaml
42 ];
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 pytest-cov-stub
47 pytest-repeat
48 pytest-rerunfailures
49 scspell
50 writableTmpDirAsHomeHook
51 ];
52
53 disabledTestPaths = [
54 # Skip the linter tests that require additional dependencies
55 "test/test_flake8.py"
56 # Skip failing Python build tests
57 "test/test_build_python.py"
58 ];
59
60 pythonImportsCheck = [ "colcon_core" ];
61
62 pythonRemoveDeps = [
63 # We use pytest-cov-stub instead (and it is not a runtime dependency anyways)
64 "pytest-cov"
65 ];
66
67 meta = {
68 description = "Command line tool to build sets of software packages";
69 homepage = "https://github.com/colcon/colcon-core";
70 license = lib.licenses.asl20;
71 maintainers = with lib.maintainers; [ guelakais ];
72 mainProgram = "colcon";
73 };
74}