This commit is contained in:
mjallen18
2026-03-20 17:24:19 -05:00
parent 93aaf52b7e
commit 27790713be
11 changed files with 535 additions and 27 deletions

View File

@@ -1,10 +1,71 @@
{
buildHomeAssistantComponent,
fetchFromGitHub,
pkgs,
namespace,
home-assistant,
...
}:
let
python3Packages = home-assistant.python.pkgs;
python-nanokvm = python3Packages.buildPythonPackage rec {
pname = "nanokvm";
version = "0.1.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "puddly";
repo = "python-${pname}";
rev = "v${version}";
sha256 = "sha256-vIxvQtjaInnWQce7syiOWpP2kaw0IVw03HPovnB2J5M=";
};
prePatch = ''
rm -f pyproject.toml
cat > pyproject.toml << 'EOF'
[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "nanokvm"
version = "0.1.0"
description = "Async client for NanoKVM devices."
urls = {repository = "https://github.com/puddly/python-nanokvm"}
authors = [
{name = "puddly", email = "puddly3@gmail.com"}
]
readme = "README.md"
license = {text = "Apache-2.0"}
requires-python = ">=3.11"
dependencies = [
"aiohttp",
"cryptography",
"yarl",
"pillow",
"pydantic",
"paramiko",
]
[tool.setuptools.packages.find]
exclude = ["tests", "tests.*"]
EOF
'';
buildInputs = with python3Packages; [
setuptools
];
propagatedBuildInputs = with python3Packages; [
aiohttp
cryptography
yarl
pillow
pydantic
paramiko
];
doCheck = false;
};
in
buildHomeAssistantComponent rec {
owner = "Wouter0100";
domain = "nanokvm";
@@ -17,12 +78,10 @@ buildHomeAssistantComponent rec {
hash = "sha256-S6g9mfPEixqeGQkXVK8PZJ/dnEC5ThKtbELAIAhCANM=";
};
propogatedBuildInputs = with pkgs.${namespace}; [
propagatedBuildInputs = [
python-nanokvm
];
buildInputs = propogatedBuildInputs;
postPatch = ''
substituteInPlace custom_components/nanokvm/manifest.json \
--replace-fail '"nanokvm>=0.0.4"' '"nanokvm"'