summary refs log tree commit diff
path: root/pkgs/servers/home-assistant/default.nix
diff options
context:
space:
mode:
authorRobert Schütz <robert.schuetz@stud.uni-heidelberg.de>2018-02-01 13:42:07 +0100
committerRobert Schütz <robert.schuetz@stud.uni-heidelberg.de>2018-02-02 09:48:50 +0100
commit78c2ca326e4320ca9b53d2dc7eca8b385d2681af (patch)
treee2c1bf9db14fca3f3fd81c474066ee34630bdcbe /pkgs/servers/home-assistant/default.nix
parent356b5532392a0d6df2c99f28964803d989e31f89 (diff)
downloadnixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar.gz
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar.bz2
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar.lz
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar.xz
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.tar.zst
nixpkgs-78c2ca326e4320ca9b53d2dc7eca8b385d2681af.zip
home-assistant: compute extraComponents from config
Diffstat (limited to 'pkgs/servers/home-assistant/default.nix')
-rw-r--r--pkgs/servers/home-assistant/default.nix20
1 files changed, 16 insertions, 4 deletions
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 9ec314e5c73..bce0369cb52 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub, python3
+, extraComponents ? []
 , extraPackages ? ps: []
 , skipPip ? true }:
 
@@ -24,14 +25,25 @@ let
     };
   };
 
+  componentPackages = import ./component-packages.nix;
+
+  availableComponents = builtins.attrNames componentPackages.components;
+
+  getPackages = component: builtins.getAttr component componentPackages.components;
+
+  componentBuildInputs = map (component: getPackages component py.pkgs) extraComponents;
+
   # Ensure that we are using a consistent package set
   extraBuildInputs = extraPackages py.pkgs;
 
+  # Don't forget to run parse-requirements.py after updating
+  hassVersion = "0.62.1";
+
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
-  version = "0.62.1";
+  version = assert (componentPackages.version == hassVersion); hassVersion;
 
-  diabled = !isPy3k;
+  inherit availableComponents;
 
   # PyPI tarball is missing tests/ directory
   src = fetchFromGitHub {
@@ -45,8 +57,8 @@ in with py.pkgs; buildPythonApplication rec {
     # From setup.py
     requests pyyaml pytz pip jinja2 voluptuous typing aiohttp yarl async-timeout chardet astral certifi
     # From the components that are part of the default configuration.yaml
-    sqlalchemy aiohttp-cors hass-frontend user-agents distro mutagen xmltodict netdisco 
-  ] ++ extraBuildInputs;
+    sqlalchemy aiohttp-cors hass-frontend user-agents distro mutagen xmltodict netdisco
+  ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
     pytest requests-mock pydispatcher pytest-aiohttp