2025-08-15 20:12:02 +00:00

53 lines
1.1 KiB
Nix

{
lib,
fetchFromGitHub,
python3Packages,
versionCheckHook,
}:
python3Packages.buildPythonApplication rec {
pname = "smpmgr";
version = "0.13.2";
pyproject = true;
src = fetchFromGitHub {
owner = "intercreate";
repo = "smpmgr";
tag = version;
hash = "sha256-0yb6PNrC6+u/iX/5xVvXq5gdLF7Hol8VOsmY22Ka8B8=";
};
build-system = with python3Packages; [
poetry-core
poetry-dynamic-versioning
];
pythonRelaxDeps = [
"typer"
"smpclient"
];
dependencies = with python3Packages; [
readchar
smpclient
typer
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
versionCheckHook
];
versionCheckProgramArg = "--version";
pythonImportsCheck = [ "smpmgr" ];
meta = {
description = "Simple Management Protocol (SMP) Manager for remotely managing MCU firmware";
homepage = "https://github.com/intercreate/smpmgr";
changelog = "https://github.com/intercreate/smpmgr/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ otavio ];
mainProgram = "smpmgr";
};
}