diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2023-01-12 06:06:41 +0100 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2023-01-26 01:00:17 +0100 |
commit | 7a73ad278fe1db625c1459d27ef3ccc34a93dbcb (patch) | |
tree | 4aeb007aaa034d0e421dc31712cfb15b9214bf1a /pkgs/servers | |
parent | 4ac0c94384f3fa86725e64473cfcda773f771b55 (diff) |
home-assistant.intents: init at 2023.1.25
Diffstat (limited to 'pkgs/servers')
-rw-r--r-- | pkgs/servers/home-assistant/default.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/intents.nix | 67 |
2 files changed, 70 insertions, 1 deletions
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index b1af7ca2e4aed..024c023d35052 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -297,8 +297,9 @@ let }; }); - # home-assistant-frontend does not exist in python3.pkgs + # internal python packages only consumed by home-assistant itself home-assistant-frontend = self.callPackage ./frontend.nix { }; + home-assistant-intents = self.callPackage ./intents.nix { }; }) ]; @@ -496,6 +497,7 @@ in python.pkgs.buildPythonApplication rec { getPackages python supportedComponentsWithTests; + intents = python.pkgs.home-assistant-intents; tests = { nixos = nixosTests.home-assistant; components = callPackage ./tests.nix { }; diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix new file mode 100644 index 0000000000000..d7ed384e8d537 --- /dev/null +++ b/pkgs/servers/home-assistant/intents.nix @@ -0,0 +1,67 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, setuptools + +# build +, hassil +, jinja2 +, pyyaml +, regex +, voluptuous +, python + +# tests +, pytest-xdist +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "home-assistant-intents"; + version = "2023.1.25"; + format = "pyproject"; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "home-assistant"; + repo = "intents"; + rev = "refs/tags/${version}"; + hash = "sha256-nMEcN2b0XHF4yRRsHKMplxqcMLl+gJcPAdvwnySN+ug="; + }; + + sourceRoot = "source/package"; + + nativeBuildInputs = [ + hassil + jinja2 + pyyaml + regex + setuptools + voluptuous + ]; + + postInstall = '' + pushd .. + # https://github.com/home-assistant/intents/blob/main/script/package#L18 + ${python.interpreter} -m script.intentfest merged_output $out/${python.sitePackages}/home-assistant-intents/home_assistant_intents/data + popd + ''; + + checkInputs = [ + pytest-xdist + pytestCheckHook + ]; + + pytestFlagsArray = [ + "../tests" + ]; + + meta = with lib; { + description = "Intents to be used with Home Assistant"; + homepage = "https://github.com/home-assistant/intents"; + license = licenses.cc-by-40; + maintainers = teams.home-assistant.members; + }; +} |