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-08-21 02:27:55 +0200
committerRobin Gloster <mail@glob.in>2018-08-21 19:26:54 +0200
commit33be3c463022748449c46e4027d23ceb3d74671c (patch)
treee2f7b408ba8577d2a3fcaa0f3a99d999b1852ca5 /pkgs/servers/home-assistant/default.nix
parent41c13780cbce8ce5020b36d54150924461272964 (diff)
downloadnixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar.gz
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar.bz2
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar.lz
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar.xz
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.tar.zst
nixpkgs-33be3c463022748449c46e4027d23ceb3d74671c.zip
home-assistant: 0.75.2 -> 0.76.1
Also simplify the way overrides are defined for better readability
and use the opportunity to introduce a packageOverrides option.
Diffstat (limited to 'pkgs/servers/home-assistant/default.nix')
-rw-r--r--pkgs/servers/home-assistant/default.nix93
1 files changed, 46 insertions, 47 deletions
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 5446398aa8b..9950c7bb81b 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -6,60 +6,59 @@
 # Additional packages to add to propagatedBuildInputs
 , extraPackages ? ps: []
 
+# Override Python packages using
+# self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
+# Applied after defaultOverrides
+, packageOverrides ? self: super: { }
+
 # Skip pip install of required packages on startup
 , skipPip ? true }:
 
 let
 
-  py = python3.override {
+  defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py
-    packageOverrides = self: super: {
-      aiohttp = super.aiohttp.overridePythonAttrs (oldAttrs: rec {
-        version = "3.3.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "f20deec7a3fbaec7b5eb7ad99878427ad2ee4cc16a46732b705e8121cbb3cc12";
-        };
-      });
-      requests = super.requests.overridePythonAttrs (oldAttrs: rec {
-        version = "2.19.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a";
-        };
-      });
-      voluptuous = super.voluptuous.overridePythonAttrs (oldAttrs: rec {
-        version = "0.11.5";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef";
-        };
-      });
-      attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
-        version = "18.1.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b";
-        };
-      });
-      astral = super.astral.overridePythonAttrs (oldAttrs: rec {
-        version = "1.6.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d";
-        };
-      });
-      # used by check_config script
-      # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
-      colorlog = super.colorlog.overridePythonAttrs (oldAttrs: rec {
-        version = "3.1.4";
+    (mkOverride "aiohttp" "3.3.2"
+      "f20deec7a3fbaec7b5eb7ad99878427ad2ee4cc16a46732b705e8121cbb3cc12")
+    (mkOverride "astral" "1.6.1"
+      "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d")
+    (mkOverride "attrs" "18.1.0"
+      "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b")
+    (mkOverride "pyjwt" "1.6.4"
+      "4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176")
+    (mkOverride "cryptography" "2.3.1"
+      "8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6")
+    (mkOverride "cryptography_vectors" "2.3.1" # required by cryptography==2.3.1
+      "bf4d9b61dce69c49e830950aa36fad194706463b0b6dfe81425b9e0bc6644d46")
+    (mkOverride "requests" "2.19.1"
+      "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a")
+    (mkOverride "voluptuous" "0.11.5"
+      "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
+
+    # used by check_config script
+    # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
+    (mkOverride "colorlog" "3.1.4"
+      "418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d")
+
+    # hass-frontend does not exist in python3.pkgs
+    (self: super: {
+      hass-frontend = self.callPackage ./frontend.nix { };
+    })
+  ];
+
+  mkOverride = attrname: version: sha256:
+    self: super: {
+      ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
+        inherit version;
         src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d";
+          inherit version sha256;
         };
       });
-      hass-frontend = super.callPackage ./frontend.nix { };
     };
+    
+  py = python3.override {
+    # Put packageOverrides at the start so they are applied after defaultOverrides
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ packageOverrides ] ++ defaultOverrides);
   };
 
   componentPackages = import ./component-packages.nix;
@@ -74,7 +73,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.75.2";
+  hassVersion = "0.76.1";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -89,12 +88,12 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "1ib76wz3f6jfi7a0w2v561g8vf5w4p2b2d79667api6ynvbw2l9d";
+    sha256 = "0bqvb6wsbv1irp92ijdvx62vqicsqhyk301ixf8yb2d1dwwwmid3";
   };
 
   propagatedBuildInputs = [
     # From setup.py
-    requests pyyaml pytz pip jinja2 voluptuous typing aiohttp async-timeout astral certifi attrs
+    aiohttp astral async-timeout attrs certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous
     # From http, frontend, recorder and config.config_entries components
     sqlalchemy aiohttp-cors hass-frontend voluptuous-serialize
   ] ++ componentBuildInputs ++ extraBuildInputs;