1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonRelaxDepsHook
5, asn1crypto
6, astunparse
7, bincopy
8, bitstring
9, click
10, click-command-tree
11, click-option-group
12, cmsis-pack-manager
13, commentjson
14, crcmod
15, cryptography
16, deepmerge
17, fastjsonschema
18, hexdump
19, importlib-metadata
20, jinja2
21, libusbsio
22, oscrypto
23, pycryptodome
24, pyftdi
25, pylink-square
26, pyocd
27, pypemicro
28, pyserial
29, ruamel-yaml
30, sly
31, spsdk
32, testers
33, typing-extensions
34, pytestCheckHook
35, voluptuous
36}:
37
38buildPythonPackage rec {
39 pname = "spsdk";
40 version = "1.11.0";
41
42 src = fetchFromGitHub {
43 owner = "nxp-mcuxpresso";
44 repo = pname;
45 rev = "refs/tags/${version}";
46 hash = "sha256-B3qedAXSG3A8rcWu1O2GnZ1ZqHN+7fQK43qXzGnDEY0=";
47 };
48
49 nativeBuildInputs = [
50 pythonRelaxDepsHook
51 ];
52
53 pythonRelaxDeps = [
54 "bincopy"
55 "bitstring"
56 "cmsis-pack-manager"
57 "deepmerge"
58 "jinja2"
59 "pycryptodome"
60 "pylink-square"
61 "pyocd"
62 "typing-extensions"
63 ];
64
65 pythonRemoveDeps = [
66 "pyocd-pemicro"
67 ];
68
69 propagatedBuildInputs = [
70 asn1crypto
71 astunparse
72 bincopy
73 bitstring
74 click
75 click-command-tree
76 click-option-group
77 cmsis-pack-manager
78 commentjson
79 crcmod
80 cryptography
81 deepmerge
82 fastjsonschema
83 hexdump
84 importlib-metadata
85 jinja2
86 libusbsio
87 oscrypto
88 pycryptodome
89 pylink-square
90 pyocd
91 pypemicro
92 pyserial
93 ruamel-yaml
94 sly
95 typing-extensions
96 ];
97
98 nativeCheckInputs = [
99 pyftdi
100 pytestCheckHook
101 voluptuous
102 ];
103
104 pythonImportsCheck = [ "spsdk" ];
105
106 passthru.tests.version = testers.testVersion { package = spsdk; };
107
108 meta = with lib; {
109 changelog = "https://github.com/nxp-mcuxpresso/spsdk/blob/${src.rev}/docs/release_notes.rst";
110 description = "NXP Secure Provisioning SDK";
111 homepage = "https://github.com/nxp-mcuxpresso/spsdk";
112 license = licenses.bsd3;
113 maintainers = with maintainers; [ frogamic sbruder ];
114 mainProgram = "spsdk";
115 };
116}