Files
nix-config/packages/python/python-nanokvm/default.nix
mjallen18 bd799661b9 fix avahi
2026-03-31 13:33:42 -05:00

71 lines
1.5 KiB
Nix

{
lib,
namespace,
pkgs,
python3Packages,
...
}:
let
inherit (lib.trivial) importJSON;
inherit (lib.${namespace}) selectVariant mkAllSources;
versionSpec = importJSON ./version.json;
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources."python-nanokvm";
in
python3Packages.buildPythonPackage {
pname = "nanokvm";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
format = "pyproject";
src = sources."python-nanokvm";
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;
}