1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 6 # build-system 7 setuptools, 8 9 # dependencies 10 pyocd, 11 pyocd-pemicro, 12 spsdk, 13 14 # tests 15 pytestCheckHook, 16 writableTmpDirAsHomeHook, 17 18 # passthru 19 spsdk-pyocd, 20}: 21 22buildPythonPackage rec { 23 pname = "spsdk-pyocd"; 24 version = "0.3.3"; 25 pyproject = true; 26 27 # Latest tag missing on GitHub 28 src = fetchPypi { 29 pname = "spsdk_pyocd"; 30 inherit version; 31 hash = "sha256-Uu5QbvDd2U9evZiY2Gg4kSPRMGpFBXpxwYVgsa5M/SI="; 32 }; 33 34 build-system = [ 35 setuptools 36 ]; 37 38 pythonRelaxDeps = [ 39 "pyocd" 40 ]; 41 42 dependencies = [ 43 pyocd 44 ]; 45 46 optional-dependencies = { 47 pemicro = [ 48 pyocd-pemicro 49 ]; 50 }; 51 52 nativeCheckInputs = [ 53 pytestCheckHook 54 spsdk 55 writableTmpDirAsHomeHook 56 ]; 57 58 # Cyclic dependency with spsdk 59 doCheck = false; 60 61 passthru.tests = { 62 pytest = spsdk-pyocd.overridePythonAttrs { 63 pythonImportsCheck = [ "spsdk_pyocd" ]; 64 65 doCheck = true; 66 }; 67 }; 68 69 meta = { 70 description = "Debugger probe plugin for SPSDK"; 71 homepage = "https://pypi.org/project/spsdk-pyocd"; 72 license = lib.licenses.bsd3; 73 maintainers = with lib.maintainers; [ GaetanLepage ]; 74 }; 75}