1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 pyyaml,
11 rich,
12
13 # tests
14 esptool,
15 jsonschema,
16 pytestCheckHook,
17 distutils,
18}:
19
20buildPythonPackage rec {
21 pname = "esp-idf-size";
22 version = "2.0.0";
23 pyproject = true;
24
25 src = fetchFromGitHub {
26 owner = "espressif";
27 repo = "esp-idf-size";
28 tag = "v${version}";
29 hash = "sha256-LnaS6lm2/fy9aWiV/MuRKegDAmjljQFvp+uI8FmEpdI=";
30 };
31
32 build-system = [ setuptools ];
33
34 dependencies = [
35 pyyaml
36 rich
37 ];
38
39 doCheck = false; # requires ESP-IDF
40
41 nativeCheckInputs = [
42 distutils
43 esptool
44 jsonschema
45 pytestCheckHook
46 ];
47
48 pythonImportsCheck = [
49 "esp_idf_size"
50 ];
51
52 meta = {
53 description = "";
54 homepage = "https://github.com/espressif/esp-idf-size";
55 changelog = "https://github.com/espressif/esp-idf-size/blob/${src.tag}/CHANGELOG.md";
56 license = lib.licenses.asl20;
57 maintainers = with lib.maintainers; [ hexa ];
58 };
59}