diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/home-assistant')
5 files changed, 39 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch b/nixpkgs/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch index 52d2daf80b08..e1cf8ada016a 100644 --- a/nixpkgs/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch +++ b/nixpkgs/pkgs/servers/home-assistant/0001-setup.py-relax-dependencies.patch @@ -1,4 +1,4 @@ -From 80f39643bb4d25f8ffcbd92804844961b303f4d0 Mon Sep 17 00:00:00 2001 +From 55cb3ba4458bd43588e7921906d091d001130ab0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io> Date: Thu, 9 Apr 2020 07:20:46 +0100 Subject: [PATCH] setup.py: relax dependencies @@ -8,14 +8,14 @@ Content-Transfer-Encoding: 8bit Signed-off-by: Jörg Thalheim <joerg@thalheim.io> --- - setup.py | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + setup.py | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py -index f53af0ee1..ff4227487 100755 +index 0c56e89b67..ba04546130 100755 --- a/setup.py +++ b/setup.py -@@ -32,10 +32,10 @@ PROJECT_URLS = { +@@ -32,24 +32,24 @@ PROJECT_URLS = { PACKAGES = find_packages(exclude=["tests", "tests.*"]) REQUIRES = [ @@ -26,9 +26,16 @@ index f53af0ee1..ff4227487 100755 - "attrs==19.3.0", + "attrs>=19.3.0", "bcrypt==3.1.7", - "certifi>=2019.11.28", +- "certifi>=2020.4.5.1", ++ "certifi>=2019.11.28", "ciso8601==2.1.3", -@@ -47,9 +47,9 @@ REQUIRES = [ +- "importlib-metadata==1.6.0", ++ "importlib-metadata>=1.5.0", + "jinja2>=2.11.1", + "PyJWT==1.7.1", + # PyJWT has loose dependency. We want the latest one. +- "cryptography==2.9", ++ "cryptography>=2.9", "pip>=8.0.3", "python-slugify==4.0.0", "pytz>=2019.03", @@ -42,5 +49,5 @@ index f53af0ee1..ff4227487 100755 "voluptuous-serialize==2.3.0", ] -- -2.25.1 +2.26.1 diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix index d19b70c426ea..96ca0c83898d 100644 --- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix +++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "0.108.2"; + version = "0.109.6"; components = { "abode" = ps: with ps; [ ]; # missing inputs: abodepy "acer_projector" = ps: with ps; [ pyserial]; @@ -42,11 +42,13 @@ "arduino" = ps: with ps; [ ]; # missing inputs: PyMata "arest" = ps: with ps; [ ]; "arlo" = ps: with ps; [ ha-ffmpeg]; # missing inputs: pyarlo + "arris_tg2492lg" = ps: with ps; [ ]; # missing inputs: arris-tg2492lg "aruba" = ps: with ps; [ pexpect]; "arwn" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt]; "asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox "asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox "asuswrt" = ps: with ps; [ ]; # missing inputs: aioasuswrt + "atag" = ps: with ps; [ ]; # missing inputs: pyatag "aten_pe" = ps: with ps; [ ]; # missing inputs: atenpdu "atome" = ps: with ps; [ ]; # missing inputs: pyatome "august" = ps: with ps; [ ]; # missing inputs: py-august @@ -86,7 +88,7 @@ "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280 "bmw_connected_drive" = ps: with ps; [ ]; # missing inputs: bimmer_connected "bom" = ps: with ps; [ ]; # missing inputs: bomradarloop - "braviatv" = ps: with ps; [ bravia-tv getmac]; + "braviatv" = ps: with ps; [ bravia-tv]; "broadlink" = ps: with ps; [ broadlink]; "brother" = ps: with ps; [ ]; # missing inputs: brother "brottsplatskartan" = ps: with ps; [ ]; # missing inputs: brottsplatskartan @@ -139,7 +141,7 @@ "datadog" = ps: with ps; [ datadog]; "ddwrt" = ps: with ps; [ ]; "deconz" = ps: with ps; [ ]; # missing inputs: pydeconz - "decora" = ps: with ps; [ ]; # missing inputs: bluepy decora + "decora" = ps: with ps; [ bluepy]; # missing inputs: decora "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi "default_config" = ps: with ps; [ pynacl aiohttp-cors defusedxml distro hass-nabucasa netdisco sqlalchemy zeroconf]; # missing inputs: home-assistant-frontend "delijn" = ps: with ps; [ ]; # missing inputs: pydelijn @@ -327,7 +329,7 @@ "hive" = ps: with ps; [ ]; # missing inputs: pyhiveapi "hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16 "homeassistant" = ps: with ps; [ ]; - "homekit" = ps: with ps; [ HAP-python]; + "homekit" = ps: with ps; [ HAP-python pyqrcode aiohttp-cors]; # missing inputs: base36 fnvhash "homekit_controller" = ps: with ps; [ ]; # missing inputs: aiohomekit[IP] "homematic" = ps: with ps; [ pyhomematic]; "homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip @@ -467,7 +469,7 @@ "microsoft_face" = ps: with ps; [ aiohttp-cors]; "microsoft_face_detect" = ps: with ps; [ aiohttp-cors]; "microsoft_face_identify" = ps: with ps; [ aiohttp-cors]; - "miflora" = ps: with ps; [ ]; # missing inputs: bluepy miflora + "miflora" = ps: with ps; [ bluepy]; # missing inputs: miflora "mikrotik" = ps: with ps; [ ]; # missing inputs: librouteros "mill" = ps: with ps; [ ]; # missing inputs: millheater "min_max" = ps: with ps; [ ]; @@ -548,6 +550,7 @@ "openalpr_cloud" = ps: with ps; [ ]; "openalpr_local" = ps: with ps; [ ]; "opencv" = ps: with ps; [ numpy]; # missing inputs: opencv-python-headless + "openerz" = ps: with ps; [ ]; # missing inputs: openerz-api "openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi "openexchangerates" = ps: with ps; [ ]; "opengarage" = ps: with ps; [ ]; @@ -567,7 +570,7 @@ "otp" = ps: with ps; [ pyotp]; "owntracks" = ps: with ps; [ pynacl aiohttp-cors]; "panasonic_bluray" = ps: with ps; [ ]; # missing inputs: panacotta - "panasonic_viera" = ps: with ps; [ wakeonlan]; # missing inputs: panasonic_viera + "panasonic_viera" = ps: with ps; [ ]; # missing inputs: panasonic_viera "pandora" = ps: with ps; [ pexpect]; "panel_custom" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend "panel_iframe" = ps: with ps; [ aiohttp-cors]; # missing inputs: home-assistant-frontend @@ -576,6 +579,7 @@ "persistent_notification" = ps: with ps; [ ]; "person" = ps: with ps; [ ]; "philips_js" = ps: with ps; [ ]; # missing inputs: ha-philipsjs + "pi4ioe5v9xxxx" = ps: with ps; [ ]; # missing inputs: pi4ioe5v9xxxx "pi_hole" = ps: with ps; [ ]; # missing inputs: hole "picotts" = ps: with ps; [ ]; "piglow" = ps: with ps; [ ]; # missing inputs: piglow @@ -603,7 +607,6 @@ "pulseaudio_loopback" = ps: with ps; [ ]; "push" = ps: with ps; [ aiohttp-cors]; "pushbullet" = ps: with ps; [ pushbullet]; - "pushetta" = ps: with ps; [ ]; # missing inputs: pushetta "pushover" = ps: with ps; [ pushover-complete]; "pushsafer" = ps: with ps; [ ]; "pvoutput" = ps: with ps; [ ]; @@ -761,8 +764,8 @@ "syncthru" = ps: with ps; [ ]; # missing inputs: pysyncthru "synology" = ps: with ps; [ ]; # missing inputs: py-synology "synology_chat" = ps: with ps; [ ]; + "synology_dsm" = ps: with ps; [ ]; # missing inputs: python-synology "synology_srm" = ps: with ps; [ ]; # missing inputs: synology-srm - "synologydsm" = ps: with ps; [ ]; # missing inputs: python-synology "syslog" = ps: with ps; [ ]; "system_health" = ps: with ps; [ aiohttp-cors]; "system_log" = ps: with ps; [ aiohttp-cors]; @@ -912,7 +915,6 @@ "yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS "yi" = ps: with ps; [ aioftp ha-ffmpeg]; "yr" = ps: with ps; [ xmltodict]; - "yweather" = ps: with ps; [ yahooweather]; "zabbix" = ps: with ps; [ ]; # missing inputs: pyzabbix "zamg" = ps: with ps; [ ]; "zengge" = ps: with ps; [ ]; # missing inputs: zengge diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix index 51b6d94860cc..9471a5faad8a 100644 --- a/nixpkgs/pkgs/servers/home-assistant/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/default.nix @@ -1,4 +1,4 @@ -{ lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6 +{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, python3, protobuf3_6 # Look up dependencies of specified components in component-packages.nix , extraComponents ? [ ] @@ -67,7 +67,7 @@ let extraBuildInputs = extraPackages py.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "0.108.2"; + hassVersion = "0.109.6"; in with py.pkgs; buildPythonApplication rec { pname = "homeassistant"; @@ -86,7 +86,7 @@ in with py.pkgs; buildPythonApplication rec { owner = "home-assistant"; repo = "home-assistant"; rev = version; - sha256 = "0v4i1ak7pkpycas0mzdmxgc42xgfymwx2b0a2a4h13c4z46pbs2l"; + sha256 = "133l6n165yivnc9qmrahk423hmns0hn0dbnx4ys7yaw3x5hqwyns"; }; propagatedBuildInputs = [ @@ -98,6 +98,9 @@ in with py.pkgs; buildPythonApplication rec { sqlalchemy aiohttp-cors hass-frontend pyotp pyqrcode ciso8601 ] ++ componentBuildInputs ++ extraBuildInputs; + # upstream only tests on Linux, so do we. + doCheck = stdenv.isLinux; + checkInputs = [ asynctest pytest pytest-aiohttp requests-mock hass-nabucasa netdisco pydispatcher ]; @@ -118,6 +121,10 @@ in with py.pkgs; buildPythonApplication rec { makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip"; + passthru = { + inherit (py.pkgs) hass-frontend; + }; + meta = with lib; { homepage = "https://home-assistant.io/"; description = "Open-source home automation platform running on Python 3"; diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix index 9e12016320c9..9fb543d06ce2 100644 --- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix +++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix @@ -4,11 +4,11 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20200407.2"; + version = "20200505.0"; src = fetchPypi { inherit pname version; - sha256 = "0krwn67bkybjb69daik6dki5hm36xs4nbfwqkh0q7ami1xr1f56d"; + sha256 = "0h19ddgnws5l49fwr4b0j99j4xkhpxkwdsmq71q36akd4s5lj0ll"; }; # no Python tests implemented diff --git a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py index 1467c3b528c6..f802485d6c62 100755 --- a/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py +++ b/nixpkgs/pkgs/servers/home-assistant/parse-requirements.py @@ -80,7 +80,7 @@ def parse_components(version: str = "master"): # Recursively get the requirements of a component and its dependencies def get_reqs(components, component): - requirements = set(components[component]["requirements"]) + requirements = set(components[component].get("requirements", [])) deps = components[component].get("dependencies", []) for dependency in deps: requirements.update(get_reqs(components, dependency)) |