forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / servers / home-assistant / intents.nix
bloba88446e8acba0cab4fbe98be44d276460308409e
1 { lib
2 , buildPythonPackage
3 , fetchFromGitHub
4 , pythonOlder
6 # build-system
7 , setuptools
9 # codegen
10 , hassil
11 , python
12 , pyyaml
13 , voluptuous
14 , regex
15 , jinja2
17 # tests
18 , pytest-xdist
19 , pytestCheckHook
22 buildPythonPackage rec {
23   pname = "home-assistant-intents";
24   version = "2024.11.6";
25   pyproject = true;
27   disabled = pythonOlder "3.9";
29   src = fetchFromGitHub {
30     owner = "home-assistant";
31     repo = "intents-package";
32     rev = "refs/tags/${version}";
33     fetchSubmodules = true;
34     hash = "sha256-C2q0mUdA6VGKPHtG2g9Zi0nPvwWP1LAdepJCRkF4ky8=";
35   };
37   build-system = [
38     setuptools
40     # build-time codegen; https://github.com/home-assistant/intents/blob/main/requirements.txt#L1-L5
41     hassil
42     pyyaml
43     voluptuous
44     regex
45     jinja2
46   ];
48   postInstall = ''
49     # https://github.com/home-assistant/intents-package/blob/main/script/package#L23-L24
50     PACKAGE_DIR=$out/${python.sitePackages}/home_assistant_intents
51     ${python.pythonOnBuildForHost.interpreter} script/merged_output.py $PACKAGE_DIR/data
52     ${python.pythonOnBuildForHost.interpreter} script/write_languages.py $PACKAGE_DIR/data > $PACKAGE_DIR/languages.py
53   '';
55   nativeCheckInputs = [
56     pytest-xdist
57     pytestCheckHook
58   ];
60   pytestFlagsArray = [
61     "intents/tests"
62   ];
64   meta = with lib; {
65     changelog = "https://github.com/home-assistant/intents/releases/tag/${version}";
66     description = "Intents to be used with Home Assistant";
67     homepage = "https://github.com/home-assistant/intents";
68     license = licenses.cc-by-40;
69     maintainers = teams.home-assistant.members;
70   };