Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e96e5f0976f8
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1155bb1c2f81
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Oct 29, 2019

  1. Copy the full SHA
    45b1b9d View commit details
  2. Copy the full SHA
    1155bb1 View commit details
Showing with 63 additions and 49 deletions.
  1. +14 −12 pkgs/servers/home-assistant/component-packages.nix
  2. +49 −37 pkgs/servers/home-assistant/default.nix
26 changes: 14 additions & 12 deletions pkgs/servers/home-assistant/component-packages.nix
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
# Do not edit!

{
version = "0.99.2";
version = "0.100.3";
components = {
"abode" = ps: with ps; [ ];
"acer_projector" = ps: with ps; [ pyserial ];
@@ -158,6 +158,7 @@
"dlna_dmr" = ps: with ps; [ ];
"dnsip" = ps: with ps; [ aiodns ];
"dominos" = ps: with ps; [ aiohttp-cors ];
"doods" = ps: with ps; [ ];
"doorbird" = ps: with ps; [ ];
"dovado" = ps: with ps; [ ];
"downloader" = ps: with ps; [ ];
@@ -213,7 +214,6 @@
"familyhub" = ps: with ps; [ ];
"fan" = ps: with ps; [ ];
"fastdotcom" = ps: with ps; [ ];
"fedex" = ps: with ps; [ ];
"feedreader" = ps: with ps; [ ];
"ffmpeg" = ps: with ps; [ ha-ffmpeg ];
"ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
@@ -301,6 +301,7 @@
"hdmi_cec" = ps: with ps; [ ];
"heatmiser" = ps: with ps; [ ];
"heos" = ps: with ps; [ ];
"here_travel_time" = ps: with ps; [ ];
"hikvision" = ps: with ps; [ ];
"hikvisioncam" = ps: with ps; [ ];
"hipchat" = ps: with ps; [ ];
@@ -338,7 +339,7 @@
"iglo" = ps: with ps; [ ];
"ign_sismologia" = ps: with ps; [ ];
"ihc" = ps: with ps; [ defusedxml ];
"image_processing" = ps: with ps; [ aiohttp-cors ];
"image_processing" = ps: with ps; [ aiohttp-cors pillow ];
"imap" = ps: with ps; [ ];
"imap_email_content" = ps: with ps; [ ];
"incomfort" = ps: with ps; [ ];
@@ -362,9 +363,11 @@
"isy994" = ps: with ps; [ ];
"itach" = ps: with ps; [ ];
"itunes" = ps: with ps; [ ];
"izone" = ps: with ps; [ ];
"jewish_calendar" = ps: with ps; [ ];
"joaoapps_join" = ps: with ps; [ ];
"juicenet" = ps: with ps; [ ];
"kaiterra" = ps: with ps; [ ];
"kankun" = ps: with ps; [ ];
"keba" = ps: with ps; [ ];
"keenetic_ndms2" = ps: with ps; [ ];
@@ -391,7 +394,6 @@
"light" = ps: with ps; [ ];
"lightwave" = ps: with ps; [ ];
"limitlessled" = ps: with ps; [ limitlessled ];
"linksys_ap" = ps: with ps; [ beautifulsoup4 ];
"linksys_smart" = ps: with ps; [ ];
"linky" = ps: with ps; [ ];
"linode" = ps: with ps; [ linode-api ];
@@ -412,7 +414,7 @@
"london_underground" = ps: with ps; [ ];
"loopenergy" = ps: with ps; [ ];
"lovelace" = ps: with ps; [ ];
"luci" = ps: with ps; [ packaging ];
"luci" = ps: with ps; [ ];
"luftdaten" = ps: with ps; [ luftdaten ];
"lupusec" = ps: with ps; [ ];
"lutron" = ps: with ps; [ ];
@@ -516,6 +518,7 @@
"octoprint" = ps: with ps; [ ];
"oem" = ps: with ps; [ ];
"ohmconnect" = ps: with ps; [ defusedxml ];
"ombi" = ps: with ps; [ ];
"onboarding" = ps: with ps; [ aiohttp-cors ];
"onewire" = ps: with ps; [ ];
"onkyo" = ps: with ps; [ onkyo-eiscp ];
@@ -558,7 +561,7 @@
"pjlink" = ps: with ps; [ ];
"plaato" = ps: with ps; [ aiohttp-cors ];
"plant" = ps: with ps; [ ];
"plex" = ps: with ps; [ ];
"plex" = ps: with ps; [ aiohttp-cors ];
"plugwise" = ps: with ps; [ ];
"plum_lightpad" = ps: with ps; [ ];
"pocketcasts" = ps: with ps; [ ];
@@ -628,6 +631,7 @@
"russound_rio" = ps: with ps; [ ];
"russound_rnet" = ps: with ps; [ ];
"sabnzbd" = ps: with ps; [ ];
"saj" = ps: with ps; [ ];
"samsungtv" = ps: with ps; [ wakeonlan ];
"satel_integra" = ps: with ps; [ ];
"scene" = ps: with ps; [ ];
@@ -676,6 +680,7 @@
"solaredge" = ps: with ps; [ stringcase ];
"solaredge_local" = ps: with ps; [ ];
"solax" = ps: with ps; [ ];
"soma" = ps: with ps; [ ];
"somfy" = ps: with ps; [ ];
"somfy_mylink" = ps: with ps; [ ];
"sonarr" = ps: with ps; [ ];
@@ -692,7 +697,6 @@
"spotify" = ps: with ps; [ aiohttp-cors ];
"sql" = ps: with ps; [ sqlalchemy ];
"squeezebox" = ps: with ps; [ ];
"srp_energy" = ps: with ps; [ ];
"ssdp" = ps: with ps; [ netdisco ];
"starlingbank" = ps: with ps; [ ];
"startca" = ps: with ps; [ xmltodict ];
@@ -723,7 +727,6 @@
"system_health" = ps: with ps; [ aiohttp-cors ];
"system_log" = ps: with ps; [ aiohttp-cors ];
"systemmonitor" = ps: with ps; [ psutil ];
"sytadin" = ps: with ps; [ beautifulsoup4 ];
"tado" = ps: with ps; [ ];
"tahoma" = ps: with ps; [ ];
"tank_utility" = ps: with ps; [ ];
@@ -739,7 +742,7 @@
"telnet" = ps: with ps; [ ];
"temper" = ps: with ps; [ ];
"template" = ps: with ps; [ ];
"tensorflow" = ps: with ps; [ numpy pillow protobuf tensorflow ];
"tensorflow" = ps: with ps; [ numpy protobuf tensorflow ];
"tesla" = ps: with ps; [ ];
"tfiac" = ps: with ps; [ ];
"thermoworks_smoke" = ps: with ps; [ stringcase ];
@@ -791,12 +794,10 @@
"upcloud" = ps: with ps; [ ];
"updater" = ps: with ps; [ distro ];
"upnp" = ps: with ps; [ ];
"ups" = ps: with ps; [ ];
"uptime" = ps: with ps; [ ];
"uptimerobot" = ps: with ps; [ ];
"uscis" = ps: with ps; [ ];
"usgs_earthquakes_feed" = ps: with ps; [ ];
"usps" = ps: with ps; [ ];
"utility_meter" = ps: with ps; [ ];
"uvc" = ps: with ps; [ ];
"vacuum" = ps: with ps; [ ];
@@ -838,7 +839,7 @@
"wink" = ps: with ps; [ ];
"wirelesstag" = ps: with ps; [ ];
"withings" = ps: with ps; [ aiohttp-cors ];
"workday" = ps: with ps; [ ];
"workday" = ps: with ps; [ holidays ];
"worldclock" = ps: with ps; [ ];
"worldtidesinfo" = ps: with ps; [ ];
"worxlandroid" = ps: with ps; [ ];
@@ -859,6 +860,7 @@
"yale_smart_alarm" = ps: with ps; [ ];
"yamaha" = ps: with ps; [ ];
"yamaha_musiccast" = ps: with ps; [ ];
"yandex_transport" = ps: with ps; [ ];
"yandextts" = ps: with ps; [ ];
"yeelight" = ps: with ps; [ ];
"yeelightsunflower" = ps: with ps; [ ];
86 changes: 49 additions & 37 deletions pkgs/servers/home-assistant/default.nix
Original file line number Diff line number Diff line change
@@ -11,13 +11,7 @@
# Applied after defaultOverrides
, packageOverrides ? self: super: {
# TODO: Remove this override after updating to cryptography 2.8:
cryptography = super.cryptography.overridePythonAttrs (oldAttrs: {
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ super.asn1crypto ];
patches = [ (fetchpatch {
url = "https://github.com/pyca/cryptography/commit/e575e3d482f976c4a1f3203d63ea0f5007a49a2a.patch";
sha256 = "0vg9prqsizd6gzh5j7lscsfxzxlhz7pacvzhgqmj1vhdhjwbblcp";
}) ];
});

}

# Skip pip install of required packages on startup
@@ -27,36 +21,34 @@ let

defaultOverrides = [
# Override the version of some packages pinned in Home Assistant's setup.py
(mkOverride "aiohttp" "3.5.4"
"9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf")
(mkOverride "astral" "1.10.1"
"d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1")
(mkOverride "async-timeout" "3.0.1"
"0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f")
(mkOverride "attrs" "19.1.0"
"f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399")
(mkOverride "bcrypt" "3.1.7"
"0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42")
(mkOverride "pyjwt" "1.7.1"
"8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
(mkOverride "cryptography" "2.7" # TODO for 2.8: Remove the override above
# (mkOverride "aiohttp" "3.5.4"
# "9c4c83f4fa1938377da32bc2d59379025ceeee8e24b89f72fcbccd8ca22dc9bf")
# (mkOverride "astral" "1.10.1"
# "d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1")
# (mkOverride "async-timeout" "3.0.1"
# "0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f")
# (mkOverride "bcrypt" "3.1.7"
# "0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42")
# (mkOverride "pyjwt" "1.7.1"
# "8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
(mkOverride "cryptography" "2.7" # TODO for 2.8: Remove the override below
"e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6")
(mkOverride "cryptography_vectors" "2.7" # required by cryptography==2.7
"f12dfb9bd669a68004074cb5b26df6e93ed1a95ebd1a999dff0a840212ff68bc")
(mkOverride "importlib-metadata" "0.18"
"cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db")
(mkOverride "python-slugify" "3.0.2"
"57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758")
(mkOverride "pyyaml" "5.1.1"
"b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955")
(mkOverride "requests" "2.22.0"
"11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4")
(mkOverride "ruamel_yaml" "0.15.97"
"17dbf6b7362e7aee8494f7a0f5cffd44902a6331fe89ef0853b855a7930ab845")
(mkOverride "voluptuous" "0.11.5"
"567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
(mkOverride "voluptuous-serialize" "2.1.0"
"d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f")
# (mkOverride "importlib-metadata" "0.18"
# "cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db")
(mkOverride "python-slugify" "3.0.4"
"0dv97yi5fq074q5qyqbin09pmi8ixg36caf5nkpw2bqkd8jh6pap")
# (mkOverride "pyyaml" "5.1.1"
# "b4bb4d3f5e232425e25dda21c070ce05168a786ac9eda43768ab7f3ac2770955")
# (mkOverride "requests" "2.22.0"
# "11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4")
# (mkOverride "ruamel_yaml" "0.15.97"
# "17dbf6b7362e7aee8494f7a0f5cffd44902a6331fe89ef0853b855a7930ab845")
# (mkOverride "voluptuous" "0.11.5"
# "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
# (mkOverride "voluptuous-serialize" "2.1.0"
# "d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f")

# used by auth.mfa_modules.totp
(mkOverride "pyotp" "2.2.7"
@@ -74,6 +66,19 @@ let
};
})

(self: super: {
# TODO: Remove this override after updating to cryptography 2.8
cryptography = super.cryptography.overridePythonAttrs (oldAttrs: {
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ super.asn1crypto ];
patches = [
(fetchpatch {
url = "https://github.com/pyca/cryptography/commit/e575e3d482f976c4a1f3203d63ea0f5007a49a2a.patch";
sha256 = "0vg9prqsizd6gzh5j7lscsfxzxlhz7pacvzhgqmj1vhdhjwbblcp";
})
];
});
})

# hass-frontend does not exist in python3.pkgs
(self: super: {
hass-frontend = self.callPackage ./frontend.nix { };
@@ -107,7 +112,7 @@ let
extraBuildInputs = extraPackages py.pkgs;

# Don't forget to run parse-requirements.py after updating
hassVersion = "0.99.2";
hassVersion = "0.100.3";

in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant";
@@ -122,7 +127,7 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant";
repo = "home-assistant";
rev = version;
sha256 = "0qxdsr7zh2yqzignbhi8gcp67ba6gcp2yiyr1rww33a42r4fi0g5";
sha256 = "1rrv71h91qjq5sii4wfcdjvrcpid2aci1dwadrcd35363ff0w200";
};

propagatedBuildInputs = [
@@ -138,10 +143,17 @@ in with py.pkgs; buildPythonApplication rec {
asynctest pytest pytest-aiohttp requests-mock pydispatcher aiohue
];

postPatch = ''
substituteInPlace setup.py \
--replace "aiohttp==3.6.1" "aiohttp" \
--replace "attrs==19.2.0" "attrs" \
--replace "ruamel.yaml==0.15.100" "ruamel.yaml"
'';

checkPhase = ''
# The components' dependencies are not included, so they cannot be tested
# test_webhook_create_cloudhook imports hass_nabucasa and is thus excluded
py.test --ignore tests/components -k "not test_webhook_create_cloudhook"
py.test --ignore tests/components -k "not test_webhook_create_cloudhook and not test_webhook_config_flow_registers_webhook"
# Some basic components should be tested however
py.test \
tests/components/{api,config,configurator,demo,discovery,frontend,group,history,history_graph} \