From 456158dfbfa2d9a493b6762eb661a327c8d00c56 Mon Sep 17 00:00:00 2001 From: RoGreat Date: Tue, 10 Mar 2026 15:31:39 -0500 Subject: [PATCH] home-assistant-custom-components.cable_modem_monitor: init at 3.14.0-beta.6 --- .../cable_modem_monitor/package.nix | 98 +++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 pkgs/servers/home-assistant/custom-components/cable_modem_monitor/package.nix diff --git a/pkgs/servers/home-assistant/custom-components/cable_modem_monitor/package.nix b/pkgs/servers/home-assistant/custom-components/cable_modem_monitor/package.nix new file mode 100644 index 000000000000..16f176672760 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/cable_modem_monitor/package.nix @@ -0,0 +1,98 @@ +{ + beautifulsoup4, + buildHomeAssistantComponent, + buildPythonPackage, + cryptography, + defusedxml, + fetchFromGitHub, + hatchling, + lib, + nix-update-script, + pydantic, + pytestCheckHook, + pytest-cov-stub, + pytest-homeassistant-custom-component, + pytest-socket, + pyyaml, + requests, +}: +let + version = "3.14.0-beta.6"; + src = fetchFromGitHub { + owner = "solentlabs"; + repo = "cable_modem_monitor"; + tag = "v${version}"; + hash = "sha256-1Mkowy23ct8QGKe5m6XIyEE4SfAbRLlOmTzTsPHY+iw="; + fetchLFS = true; + }; + + core = buildPythonPackage (finalAttrs: { + inherit src version; + pname = "solentlabs-cable-modem-monitor-core"; + pyproject = true; + + sourceRoot = "${finalAttrs.src.name}/packages/cable_modem_monitor_core"; + + build-system = [ hatchling ]; + + dependencies = [ + beautifulsoup4 + defusedxml + pydantic + pyyaml + requests + ]; + + nativeCheckInputs = [ + cryptography + pytestCheckHook + pytest-cov-stub + pytest-socket + ]; + }); + + catalog = buildPythonPackage (finalAttrs: { + inherit src version; + pname = "solentlabs-cable-modem-monitor-catalog"; + pyproject = true; + + sourceRoot = "${finalAttrs.src.name}/packages/cable_modem_monitor_catalog"; + + build-system = [ hatchling ]; + + dependencies = [ + core + ]; + + nativeCheckInputs = [ + cryptography + pytestCheckHook + pytest-socket + ]; + }); +in +buildHomeAssistantComponent rec { + inherit src version; + owner = "solentlabs"; + domain = "cable_modem_monitor"; + + dependencies = [ + catalog + core + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-homeassistant-custom-component + ]; + + passthru.updateScript = nix-update-script { extraArgs = [ "--version=unstable" ]; }; + + meta = { + description = "Home Assistant integration for monitoring cable modem signal quality"; + homepage = "https://solentlabs.io/cable-modem-monitor"; + changelog = "https://github.com/solentlabs/cable_modem_monitor/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ RoGreat ]; + }; +}