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}:
19buildPythonPackage rec {
20 pname = "colcon-core";
21 version = "0.19.0";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "colcon";
26 repo = "colcon-core";
27 tag = version;
28 hash = "sha256-R/TVHPT305PwaVSisP0TtbgjCFBwCZkXOAgkYhCKpyY=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 empy
35 distlib
36 packaging
37 python-dateutil
38 pyyaml
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pytest-cov-stub
44 pytest-repeat
45 pytest-rerunfailures
46 ];
47
48 disabledTestPaths = [
49 # Skip the linter and spell check tests that require additional dependencies
50 "test/test_flake8.py"
51 "test/test_spell_check.py"
52 ];
53
54 pythonImportsCheck = [ "colcon_core" ];
55
56 pythonRemoveDeps = [
57 # We use pytest-cov-stub instead (and it is not a runtime dependency anyways)
58 "pytest-cov"
59 ];
60
61 meta = {
62 description = "Command line tool to build sets of software packages";
63 homepage = "https://github.com/colcon/colcon-core";
64 license = lib.licenses.asl20;
65 maintainers = with lib.maintainers; [ guelakais ];
66 mainProgram = "colcon";
67 };
68}