1{
2 lib,
3 buildPythonPackage,
4 colcon,
5 cargo,
6 fetchFromGitHub,
7 scspell,
8 setuptools,
9 pythonOlder,
10 pytestCheckHook,
11 rustfmt,
12 toml,
13 writableTmpDirAsHomeHook,
14}:
15buildPythonPackage rec {
16 pname = "colcon-cargo";
17 version = "0.1.3";
18 pyproject = true;
19
20 disabled = pythonOlder "3.10";
21
22 src = fetchFromGitHub {
23 owner = "colcon";
24 repo = "colcon-cargo";
25 tag = version;
26 hash = "sha256-Do8i/Z1nn8wsj0xzCQdSaaXoDf9N34SiMb/GIe4YOs4=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 colcon
33 toml
34 ];
35
36 nativeCheckInputs = [
37 cargo
38 pytestCheckHook
39 scspell
40 rustfmt
41 writableTmpDirAsHomeHook
42 ];
43
44 disabledTestPaths = [
45 # Skip the linter tests
46 "test/test_flake8.py"
47 ];
48
49 pythonImportsCheck = [
50 "colcon_cargo"
51 ];
52
53 meta = {
54 description = "Extension for colcon-core to support Rust packages built with Cargo";
55 homepage = "https://github.com/colcon/colcon-cargo";
56 license = lib.licenses.asl20;
57 maintainers = with lib.maintainers; [ guelakais ];
58 };
59}