nixpkgs/pkgs/development/python-modules/aiovban/default.nix

57 lines
1.2 KiB
Nix

{
lib,
aiovban-pyaudio,
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
textual,
uv-build,
music-assistant,
}:
buildPythonPackage (finalAttrs: {
pname = "aiovban";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "wmbest2";
repo = "aiovban";
tag = "v${finalAttrs.version}";
hash = "sha256-yPp4+aQGJISTIFI/OoO7+mAR8daEytxrQn21SsFWEyc=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "uv_build>=0.10.0,<0.11.0" "uv_build"
'';
build-system = [ uv-build ];
dependencies = [ textual ];
# avoid infinite recursion with aiovban-pyaudio
doCheck = false;
nativeCheckInputs = [
aiovban-pyaudio
pytestCheckHook
]
++ aiovban-pyaudio.optional-dependencies.cli;
pythonImportsCheck = [
"aiovban"
];
passthru.tests = finalAttrs.finalPackage.overrideAttrs (_: {
doInstallCheck = true;
});
meta = {
changelog = "https://github.com/wmbest2/aiovban/releases/tag/${finalAttrs.src.tag}";
description = "Asyncio VBAN Protocol Wrapper";
homepage = "https://github.com/wmbest2/aiovban";
license = lib.licenses.mit;
inherit (music-assistant.meta) maintainers;
};
})