Merge pull request #129644 from NixOS/home-assistant
This commit is contained in:
commit
b09661d41f
@ -313,6 +313,7 @@ in {
|
||||
"w800rf32"
|
||||
"xbee"
|
||||
"zha"
|
||||
"zwave"
|
||||
];
|
||||
in {
|
||||
ExecStart = "${package}/bin/hass --runner --config '${cfg.configDir}'";
|
||||
|
@ -50,19 +50,25 @@ let
|
||||
}
|
||||
)
|
||||
|
||||
# Octoprint needs zeroconf >=0.24 <0.25. While this should be done in
|
||||
# the mkOverride aboves, this package also has broken tests, so we need
|
||||
# a proper override.
|
||||
# Octoprint needs zeroconf >=0.24 <0.25. This can't be done via mkOverride, because in zeroconf 0.32
|
||||
# the super package was migrated to fetchFromGitHub.
|
||||
(
|
||||
self: super: {
|
||||
zeroconf = super.zeroconf.overrideAttrs (oldAttrs: rec {
|
||||
version = "0.24.5";
|
||||
src = oldAttrs.src.override {
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9";
|
||||
};
|
||||
buildInputs = [ self.nose ];
|
||||
checkPhase = "nosetests";
|
||||
pythonImportsCheck = [
|
||||
"zeroconf"
|
||||
];
|
||||
buildInputs = with self; [
|
||||
pytestCheckHook
|
||||
nose
|
||||
];
|
||||
pytestFlagsArray = [ "zeroconf/test.py" ];
|
||||
});
|
||||
}
|
||||
)
|
||||
|
@ -1,22 +1,34 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, isPy3k, attrs, protobuf, zeroconf }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, fetchPypi
|
||||
, protobuf
|
||||
, zeroconf
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aioesphomeapi";
|
||||
version = "2.9.0";
|
||||
version = "4.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = !isPy3k;
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "11259cd1f115d31b91512a209779fa813dded747408100805bc8ecf7c1c1fa82";
|
||||
sha256 = "0210l2d5g76pllr2vh990k9shfv3zrknx5d2dmgqb5y90142cp76";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ attrs protobuf zeroconf ];
|
||||
propagatedBuildInputs = [
|
||||
protobuf
|
||||
zeroconf
|
||||
];
|
||||
|
||||
# no tests implemented
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "aioesphomeapi" ];
|
||||
pythonImportsCheck = [
|
||||
"aioesphomeapi"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Client for ESPHome native API";
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiohomekit";
|
||||
version = "0.3.0";
|
||||
version = "0.4.2";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jc2k";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-chRUQyCDXW4of0XBdmKuQEzUE3Gt4A2uGlPNy+oEoco=";
|
||||
sha256 = "12v9szalh3yzfqgmspk4ch8l38kzmhwzjn9jvsq632n4zhjd7qg4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bellows";
|
||||
version = "0.24.0";
|
||||
version = "0.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "bellows";
|
||||
rev = version;
|
||||
sha256 = "00sa4x1qzv861z9d83lk4lp1g2pqiv9hpawj92w4qn1wnqxbz6rw";
|
||||
sha256 = "1836wm8whbryp31zdaj3b6w40sx1wjsxgpjdb1x9rgmwff4d1hc0";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
|
32
pkgs/development/python-modules/dacite/default.nix
Normal file
32
pkgs/development/python-modules/dacite/default.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, buildPythonPackage
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dacite";
|
||||
version = "1.6.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "konradhalas";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0nv2bnj3bq2v08ac4p583cnpjq2d6bv5isycgji5i5wg1y082a3d";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "dacite" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python helper to create data classes from dictionaries";
|
||||
homepage = "https://github.com/konradhalas/dacite";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
36
pkgs/development/python-modules/fritzprofiles/default.nix
Normal file
36
pkgs/development/python-modules/fritzprofiles/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, lxml
|
||||
, requests
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fritzprofiles";
|
||||
version = "0.6.1";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1bd4sa3i1ldkg6lnsvg004csgqklvi5xk71y971qyjvsbdbwgbn3";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
lxml
|
||||
requests
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"fritzprofiles"
|
||||
];
|
||||
|
||||
# no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to switch the online time of profiles in the AVM Fritz!Box";
|
||||
homepage = "https://github.com/AaronDavidSchneider/fritzprofiles";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ hexa ];
|
||||
};
|
||||
}
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gios";
|
||||
version = "1.0.1";
|
||||
version = "1.0.2";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bieniu";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "031z5j1j961pcw8s4ajj5z2xn2jxb2hyfn3x3bxbaagwl9a5qkvn";
|
||||
sha256 = "sha256-7+np1lUbBFSTJNAD6OT5k89MM+kzEj90JlulXGm36k8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -17,15 +17,15 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hap-python";
|
||||
version = "3.5.0";
|
||||
disabled = pythonOlder "3.5";
|
||||
version = "3.5.1";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
# pypi package does not include tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "ikalchev";
|
||||
repo = "HAP-python";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vzlfx0gpidl0rzv4z94pziwm6rj4lrilly5pykgq984y708pcqf";
|
||||
sha256 = "sha256-ZHTqlb7LIDp8MFNW8MFg6jX7QwaxT40cLi3H13ONLCI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,13 +7,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hatasmota";
|
||||
version = "0.2.14";
|
||||
version = "0.2.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "emontnemery";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-sCGUlEN1ejWhc2+9JRQ7UPqueq30u8gGSPRxbs4cnLE=";
|
||||
sha256 = "sha256-h1idJJd2lPV3+tAE59gzITa7jmtBhcEpRuyflf76EAk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -2,6 +2,7 @@
|
||||
, aiohttp
|
||||
, aioresponses
|
||||
, buildPythonPackage
|
||||
, dacite
|
||||
, fetchFromGitHub
|
||||
, pytest-asyncio
|
||||
, pytest-error-for-skips
|
||||
@ -11,18 +12,19 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nettigo-air-monitor";
|
||||
version = "0.2.6";
|
||||
version = "1.0.0";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bieniu";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0zs14g02m1ahyrhl2ihk74fp390g4672r1jjiaawmkxrvib07dvp";
|
||||
sha256 = "sha256-VTKIUo3rR/HyEW/d/Nm0fm7wbgSdLGf02i8R3om1oCE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
dacite
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
|
@ -9,14 +9,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "PlexAPI";
|
||||
version = "4.5.2";
|
||||
version = "4.6.1";
|
||||
disabled = isPy27;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pkkid";
|
||||
repo = "python-plexapi";
|
||||
rev = version;
|
||||
sha256 = "sha256-9rdpisEuLUO7oO7+7SQb4fXqRG30rf4R7bSFY+QpMhM=";
|
||||
sha256 = "sha256-WL5UBsvAdtfOCkVX9NI0Z2fJ2CAO+NwD8wvkvkJ2uww=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
61
pkgs/development/python-modules/py17track/default.nix
Normal file
61
pkgs/development/python-modules/py17track/default.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, aiohttp
|
||||
, aresponses
|
||||
, async-timeout
|
||||
, attrs
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pytest-asyncio
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, pytz
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "py17track";
|
||||
version = "3.3.0";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1rnq9ybzj2l3699mjyplc29mxla8fayh52x52cnsz21ixlfd9fky";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
async-timeout
|
||||
attrs
|
||||
pytz
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
aresponses
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace ">=19.3,<21.0" ">=19.3,<22.0"
|
||||
'';
|
||||
|
||||
# Ignore the examples directory as the files are prefixed with test_
|
||||
disabledTestPaths = [ "examples/" ];
|
||||
|
||||
pythonImportsCheck = [ "py17track" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python library to track package info from 17track.com";
|
||||
homepage = "https://github.com/bachya/py17track";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ fab ];
|
||||
};
|
||||
}
|
@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pydeconz";
|
||||
version = "79";
|
||||
version = "80";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kane610";
|
||||
repo = "deconz";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-I29UIyHjsIymZxcE084hQoyaEMTXIIQPFcB8lsxY+UI=";
|
||||
sha256 = "sha256-om1Nhqu2CU+W2k2PGP1+6jLRJihacSQDayOfTzblZKo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -8,14 +8,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyeight";
|
||||
version = "0.1.7";
|
||||
version = "0.1.9";
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mezz64";
|
||||
repo = "pyEight";
|
||||
rev = version;
|
||||
sha256 = "sha256-kTxd6nRsPvCjrXApjKcoghOISIMho5x9/kK7OvHjKQM=";
|
||||
sha256 = "1ybhs09wyzzaryghd6ijxhajp3677x63c4qzqsgln1mmxhj8wm5k";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pysma";
|
||||
version = "0.6.0";
|
||||
version = "0.6.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "8e997cf28c3ae7ccc90caa84aa3a3ed9245fac3e9cf76efb1467e4f4800143dc";
|
||||
sha256 = "sha256-nKnOWVPRFmylwUeb0yApMHdW8vGvPCLlOGkZGNYC128=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,25 +1,40 @@
|
||||
{ lib, fetchPypi, buildPythonPackage, python, text-unidecode }:
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pytestCheckHook
|
||||
, python
|
||||
, pythonOlder
|
||||
, text-unidecode
|
||||
, unidecode
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-slugify";
|
||||
version = "4.0.1";
|
||||
pname = "python-slugify";
|
||||
version = "5.0.2";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270";
|
||||
};
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-8TODoLn8vmSaGJK5yOtPjqsdbYS4S7emJDF6+pgVnKs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ text-unidecode ];
|
||||
propagatedBuildInputs = [
|
||||
text-unidecode
|
||||
unidecode
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} test.py
|
||||
'';
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/un33k/python-slugify";
|
||||
description = "A Python Slugify application that handles Unicode";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ vrthra ];
|
||||
};
|
||||
pytestFlagsArray = [ "test.py" ];
|
||||
|
||||
pythonImportsCheck = [ "slugify" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python Slugify application that handles Unicode";
|
||||
homepage = "https://github.com/un33k/python-slugify";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ vrthra ];
|
||||
};
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "simplisafe-python";
|
||||
version = "10.0.0";
|
||||
version = "11.0.1";
|
||||
format = "pyproject";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "bachya";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-VF8R+dty54GuWvYs/OqWhfGtOVieuxtfndQUxHhu5lc=";
|
||||
sha256 = "04fn65iwzgvxi44kgvgvxjr3nzi2f4hwlqrjxfvc5yda96qp347c";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
@ -5,26 +5,29 @@
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
version = "0.1.2";
|
||||
version = "1.0.1";
|
||||
pname = "vultr";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spry-group";
|
||||
repo = "python-vultr";
|
||||
rev = version;
|
||||
sha256 = "1qjvvr2v9gfnwskdl0ayazpcmiyw9zlgnijnhgq9mcri5gq9jw5h";
|
||||
owner = "spry-group";
|
||||
repo = "python-vultr";
|
||||
rev = "v${version}";
|
||||
sha256 = "00lc5hdhchvm0472p03019bp9541d8y2773xkjy8vblq9qhys8q7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
];
|
||||
|
||||
# Tests disabled. They fail because they try to access the network
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [ "vultr" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Vultr.com API Client";
|
||||
homepage = "https://github.com/spry-group/python-vultr";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ lihop ];
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "wled";
|
||||
version = "0.6.0";
|
||||
version = "0.7.1";
|
||||
disabled = pythonOlder "3.8";
|
||||
format = "pyproject";
|
||||
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "frenck";
|
||||
repo = "python-wled";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aFBcSGPCT49TbqzjUv/d8agdPOCC090rNxDnE9y91Pk=";
|
||||
sha256 = "02xrml9mpq3akwyryg1m7xjmgnlgi5kjvx7vkq6110ai0f9hzpwi";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,32 +1,41 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, ifaddr
|
||||
, pytest-asyncio
|
||||
, pythonOlder
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zeroconf";
|
||||
version = "0.31.0";
|
||||
version = "0.32.1";
|
||||
format = "setuptools";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-U6GAJIRxxvgb0f/8vOA+2T19jq8QkFyRIaweqZbRmEQ=";
|
||||
# no tests in pypi sdist
|
||||
src = fetchFromGitHub {
|
||||
owner = "jstasiak";
|
||||
repo = "python-zeroconf";
|
||||
rev = version;
|
||||
sha256 = "02fvh5ii73rf6pg9x93pc0sl1isx2ivg3d80l6s8h35w2f4g4azf";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ ifaddr ];
|
||||
propagatedBuildInputs = [
|
||||
ifaddr
|
||||
];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
|
||||
pytestFlagsArray = [ "zeroconf/test.py" ];
|
||||
checkInputs = [
|
||||
pytest-asyncio
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# disable tests that expect some sort of networking in the build container
|
||||
# tests that require network interaction
|
||||
"test_close_multiple_times"
|
||||
"test_launch_and_close"
|
||||
"test_launch_and_close_context_manager"
|
||||
"test_launch_and_close_v4_v6"
|
||||
"test_launch_and_close_v6_only"
|
||||
"test_integration_with_listener_ipv6"
|
||||
@ -36,7 +45,10 @@ buildPythonPackage rec {
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
pythonImportsCheck = [ "zeroconf" ];
|
||||
pythonImportsCheck = [
|
||||
"zeroconf"
|
||||
"zeroconf.asyncio"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python implementation of multicast DNS service discovery";
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zha-quirks";
|
||||
version = "0.0.58";
|
||||
version = "0.0.59";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zha-device-handlers";
|
||||
rev = version;
|
||||
sha256 = "sha256-QU5ssbnT3/gioQ3vM9zvlbwxqSWyKIylsV9NuFkNe+Q=";
|
||||
sha256 = "1x6s44apl393as847ghbqr26h0y0h4w3wp53bs0m2nfbzjwin3i7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -4,6 +4,7 @@
|
||||
, buildPythonPackage
|
||||
, coloredlogs
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, jsonschema
|
||||
, pyserial
|
||||
, pyserial-asyncio
|
||||
@ -27,6 +28,14 @@ buildPythonPackage rec {
|
||||
sha256 = "152d803jfrvkj4namni41fnbbnq85wd7zsqjhmkwrrmn2gvqjiln";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Fixes tests/application/test_joining.py::test_new_device_join_and_bind_complex[FormedLaunchpadCC26X2R1]
|
||||
url = "https://github.com/zigpy/zigpy-znp/commit/582cffb68fdf0c5bc14d55efca2a683222d7fed7.patch";
|
||||
sha256 = "0qsfziqqjnnf21gdqv3wwk50vni46i0h1liw5ysq641yjfnas9az";
|
||||
})
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
async-timeout
|
||||
coloredlogs
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "zigpy";
|
||||
version = "0.33.0";
|
||||
version = "0.35.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zigpy";
|
||||
repo = "zigpy";
|
||||
rev = version;
|
||||
sha256 = "sha256-oEf4GnvbQ6LY4NaNFWRmnNz1TK2tMpIVUxskhU38g4w=";
|
||||
sha256 = "0y5sv8zzlkjwimknpld3fakl22cfkqv0cnw0immb7k4zb9xmls2v";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -40,6 +40,21 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# RuntimeError: coroutine 'test_remigrate_forcibly_downgraded_v4' was never awaited
|
||||
"test_remigrate_forcibly_downgraded_v4"
|
||||
# RuntimeError: Event loop is closed
|
||||
"test_startup"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"zigpy.application"
|
||||
"zigpy.config"
|
||||
"zigpy.exceptions"
|
||||
"zigpy.types"
|
||||
"zigpy.zcl"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Library implementing a ZigBee stack";
|
||||
homepage = "https://github.com/zigpy/zigpy";
|
||||
|
@ -0,0 +1,27 @@
|
||||
From 3e3f5c37252a33ea1e71c39f2ca0f13940c261ad Mon Sep 17 00:00:00 2001
|
||||
From: Martin Weinelt <hexa@darmstadt.ccc.de>
|
||||
Date: Sat, 17 Jul 2021 16:11:23 +0200
|
||||
Subject: [PATCH] tests: ignore OSErrors in hass fixture
|
||||
|
||||
The nix sandbox will cause OSErrors due to limitations imposed on
|
||||
network interaction. This change makes it so we forgive these cases.
|
||||
---
|
||||
tests/conftest.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index 1f5ffc80d0..b284727a0f 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -168,6 +168,8 @@ def hass(loop, load_registries, hass_storage, request):
|
||||
continue
|
||||
if isinstance(ex, ServiceNotFound):
|
||||
continue
|
||||
+ if isinstance(ex, OSError):
|
||||
+ continue
|
||||
raise ex
|
||||
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Do not edit!
|
||||
|
||||
{
|
||||
version = "2021.6.6";
|
||||
version = "2021.7.0";
|
||||
components = {
|
||||
"abode" = ps: with ps; [ abodepy ];
|
||||
"accuweather" = ps: with ps; [ accuweather ];
|
||||
@ -27,6 +27,7 @@
|
||||
"almond" = ps: with ps; [ aiohttp-cors pyalmond ];
|
||||
"alpha_vantage" = ps: with ps; [ alpha-vantage ];
|
||||
"amazon_polly" = ps: with ps; [ boto3 ];
|
||||
"ambee" = ps: with ps; [ ambee ];
|
||||
"ambiclimate" = ps: with ps; [ aiohttp-cors ambiclimate ];
|
||||
"ambient_station" = ps: with ps; [ aioambient ];
|
||||
"amcrest" = ps: with ps; [ amcrest ha-ffmpeg ];
|
||||
@ -90,7 +91,7 @@
|
||||
"blueprint" = ps: with ps; [ ];
|
||||
"bluesound" = ps: with ps; [ xmltodict ];
|
||||
"bluetooth_le_tracker" = ps: with ps; [ pygatt ];
|
||||
"bluetooth_tracker" = ps: with ps; [ bt_proximity pybluez ];
|
||||
"bluetooth_tracker" = ps: with ps; [ bt-proximity pybluez ];
|
||||
"bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
|
||||
"bme680" = ps: with ps; [ bme680 smbus-cffi ];
|
||||
"bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
|
||||
@ -157,7 +158,7 @@
|
||||
"deconz" = ps: with ps; [ pydeconz ];
|
||||
"decora" = ps: with ps; [ bluepy ]; # missing inputs: decora
|
||||
"decora_wifi" = ps: with ps; [ ]; # missing inputs: decora_wifi
|
||||
"default_config" = ps: with ps; [ pynacl aiodiscover aiohttp-cors async-upnp-client defusedxml distro emoji hass-nabucasa home-assistant-frontend ifaddr netdisco pillow scapy sqlalchemy zeroconf ];
|
||||
"default_config" = ps: with ps; [ pynacl aiodiscover aiohttp-cors async-upnp-client defusedxml distro emoji hass-nabucasa home-assistant-frontend ifaddr pillow scapy sqlalchemy zeroconf ];
|
||||
"delijn" = ps: with ps; [ pydelijn ];
|
||||
"deluge" = ps: with ps; [ deluge-client ];
|
||||
"demo" = ps: with ps; [ aiohttp-cors ];
|
||||
@ -276,6 +277,7 @@
|
||||
"folder" = ps: with ps; [ ];
|
||||
"folder_watcher" = ps: with ps; [ watchdog ];
|
||||
"foobot" = ps: with ps; [ foobot-async ];
|
||||
"forecast_solar" = ps: with ps; [ forecast-solar ];
|
||||
"forked_daapd" = ps: with ps; [ ]; # missing inputs: pyforked-daapd pylibrespot-java
|
||||
"fortios" = ps: with ps; [ fortiosapi ];
|
||||
"foscam" = ps: with ps; [ libpyfoscam ];
|
||||
@ -283,7 +285,8 @@
|
||||
"free_mobile" = ps: with ps; [ ]; # missing inputs: freesms
|
||||
"freebox" = ps: with ps; [ freebox-api ];
|
||||
"freedns" = ps: with ps; [ ];
|
||||
"fritz" = ps: with ps; [ fritzconnection ];
|
||||
"freedompro" = ps: with ps; [ pyfreedompro ];
|
||||
"fritz" = ps: with ps; [ aiohttp-cors fritzconnection fritzprofiles ifaddr xmltodict ];
|
||||
"fritzbox" = ps: with ps; [ pyfritzhome ];
|
||||
"fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
|
||||
"fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
|
||||
@ -520,6 +523,7 @@
|
||||
"mochad" = ps: with ps; [ ]; # missing inputs: pymochad
|
||||
"modbus" = ps: with ps; [ pymodbus ];
|
||||
"modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
|
||||
"modern_forms" = ps: with ps; [ aiomodernforms ];
|
||||
"mold_indicator" = ps: with ps; [ ];
|
||||
"monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
|
||||
"moon" = ps: with ps; [ ];
|
||||
@ -732,6 +736,7 @@
|
||||
"scsgate" = ps: with ps; [ ]; # missing inputs: scsgate
|
||||
"search" = ps: with ps; [ aiohttp-cors ];
|
||||
"season" = ps: with ps; [ ephem ];
|
||||
"select" = ps: with ps; [ ];
|
||||
"sendgrid" = ps: with ps; [ sendgrid ];
|
||||
"sense" = ps: with ps; [ sense-energy ];
|
||||
"sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat
|
||||
@ -742,7 +747,7 @@
|
||||
"serial_pm" = ps: with ps; [ pmsensor ];
|
||||
"sesame" = ps: with ps; [ ]; # missing inputs: pysesame2
|
||||
"seven_segments" = ps: with ps; [ pillow ];
|
||||
"seventeentrack" = ps: with ps; [ ]; # missing inputs: py17track
|
||||
"seventeentrack" = ps: with ps; [ py17track ];
|
||||
"sharkiq" = ps: with ps; [ sharkiqpy ];
|
||||
"shell_command" = ps: with ps; [ ];
|
||||
"shelly" = ps: with ps; [ aioshelly ];
|
||||
@ -788,7 +793,7 @@
|
||||
"somfy_mylink" = ps: with ps; [ somfy-mylink-synergy ];
|
||||
"sonarr" = ps: with ps; [ sonarr ];
|
||||
"songpal" = ps: with ps; [ python-songpal ];
|
||||
"sonos" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
|
||||
"sonos" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr plexapi plexauth plexwebsocket pysonos zeroconf ];
|
||||
"sony_projector" = ps: with ps; [ ]; # missing inputs: pysdcp
|
||||
"soundtouch" = ps: with ps; [ aiohttp-cors ifaddr libsoundtouch zeroconf ];
|
||||
"spaceapi" = ps: with ps; [ aiohttp-cors ];
|
||||
@ -800,7 +805,7 @@
|
||||
"sql" = ps: with ps; [ sqlalchemy ];
|
||||
"squeezebox" = ps: with ps; [ pysqueezebox ];
|
||||
"srp_energy" = ps: with ps; [ srpenergy ];
|
||||
"ssdp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr netdisco zeroconf ];
|
||||
"ssdp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr zeroconf ];
|
||||
"starline" = ps: with ps; [ starline ];
|
||||
"starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
|
||||
"startca" = ps: with ps; [ xmltodict ];
|
||||
@ -907,7 +912,7 @@
|
||||
"upc_connect" = ps: with ps; [ connect-box ];
|
||||
"upcloud" = ps: with ps; [ upcloud-api ];
|
||||
"updater" = ps: with ps; [ distro ];
|
||||
"upnp" = ps: with ps; [ async-upnp-client ];
|
||||
"upnp" = ps: with ps; [ aiohttp-cors async-upnp-client defusedxml ifaddr zeroconf ];
|
||||
"uptime" = ps: with ps; [ ];
|
||||
"uptimerobot" = ps: with ps; [ ]; # missing inputs: pyuptimerobot
|
||||
"uscis" = ps: with ps; [ ]; # missing inputs: uscisstatus
|
||||
@ -972,13 +977,13 @@
|
||||
"xeoma" = ps: with ps; [ pyxeoma ];
|
||||
"xiaomi" = ps: with ps; [ ha-ffmpeg ];
|
||||
"xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors ifaddr netdisco zeroconf ];
|
||||
"xiaomi_miio" = ps: with ps; [ construct python-miio ];
|
||||
"xiaomi_miio" = ps: with ps; [ construct micloud python-miio ];
|
||||
"xiaomi_tv" = ps: with ps; [ pymitv ];
|
||||
"xmpp" = ps: with ps; [ slixmpp ];
|
||||
"xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client
|
||||
"yale_smart_alarm" = ps: with ps; [ yalesmartalarmclient ];
|
||||
"yamaha" = ps: with ps; [ rxv ];
|
||||
"yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
|
||||
"yamaha_musiccast" = ps: with ps; [ aiomusiccast ];
|
||||
"yandex_transport" = ps: with ps; [ aioymaps ];
|
||||
"yandextts" = ps: with ps; [ ];
|
||||
"yeelight" = ps: with ps; [ yeelight ];
|
||||
|
@ -22,19 +22,7 @@
|
||||
let
|
||||
defaultOverrides = [
|
||||
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
|
||||
|
||||
# Pinned due to API changes in aiopvpc>=2.2.0, remove after 2021.7.0
|
||||
(self: super: {
|
||||
aiopvpc = super.aiopvpc.overridePythonAttrs (oldAttr: rec {
|
||||
version = "2.1.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "azogue";
|
||||
repo = "aiopvpc";
|
||||
rev = "v${version}";
|
||||
sha256 = "0s8ki46dh39kw6qvsjcfcxa0gblyi33m3hry137kbi4lw5ws6qhr";
|
||||
};
|
||||
});
|
||||
})
|
||||
(mkOverride "python-slugify" "4.0.1" "69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270")
|
||||
|
||||
# Pinned due to API changes in iaqualink>=2.0, remove after
|
||||
# https://github.com/home-assistant/core/pull/48137 was merged
|
||||
@ -70,19 +58,6 @@ let
|
||||
(mkOverride "ring-doorbell" "0.6.2"
|
||||
"fbd537722a27b3b854c26506d894b7399bb8dc57ff36083285971227a2d46560")
|
||||
|
||||
# Pinned due to API changes in pyatmo>=5.1.0
|
||||
(self: super: {
|
||||
pyatmo = super.pyatmo.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "5.0.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jabesq";
|
||||
repo = "pyatmo";
|
||||
rev = "v${version}";
|
||||
sha256 = "0can9v602iqfn0l01fd7gr63qzvcngfm0qka4s1x0pldh6avxmfh";
|
||||
};
|
||||
});
|
||||
})
|
||||
|
||||
# Pinned due to API changes in pyatv>=0.8.0
|
||||
(self: super: {
|
||||
pyatv = super.pyatv.overridePythonAttrs (olAttrs: rec {
|
||||
@ -149,8 +124,6 @@ let
|
||||
});
|
||||
})
|
||||
|
||||
(mkOverride "pysma" "0.4.3" "sha256-vriMnJFS7yfTyDT1f4sx1xEBTQjqc4ZHmkdHp1vcd+Q=")
|
||||
|
||||
# Pinned due to API changes in eebrightbox>=0.0.5
|
||||
(self: super: {
|
||||
eebrightbox = super.eebrightbox.overridePythonAttrs (oldAttrs: rec {
|
||||
@ -197,7 +170,7 @@ let
|
||||
extraBuildInputs = extraPackages py.pkgs;
|
||||
|
||||
# Don't forget to run parse-requirements.py after updating
|
||||
hassVersion = "2021.6.6";
|
||||
hassVersion = "2021.7.0";
|
||||
|
||||
in with py.pkgs; buildPythonApplication rec {
|
||||
pname = "homeassistant";
|
||||
@ -214,11 +187,12 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
owner = "home-assistant";
|
||||
repo = "core";
|
||||
rev = version;
|
||||
sha256 = "0r8l2qya9pdl65kq3xrnb1vhmbnxm3bj12hn1wyxmw56l8m9l5d5";
|
||||
sha256 = "1dx1pmi0w265pyajmmvd7k6vb5z7s77a7b161zd0n4zsb989dil6";
|
||||
};
|
||||
|
||||
# leave this in, so users don't have to constantly update their downstream patch handling
|
||||
patches = [
|
||||
./0001-tests-ignore-OSErrors-in-hass-fixture.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -673,7 +647,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"somfy_mylink"
|
||||
"sonarr"
|
||||
"songpal"
|
||||
"sonos"
|
||||
# disable sonos components test because they rely on ssdp, which doesn't work in our sandbox
|
||||
# "sonos"
|
||||
"soundtouch"
|
||||
"spaceapi"
|
||||
"speedtestdotnet"
|
||||
@ -735,7 +710,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"upb"
|
||||
"upcloud"
|
||||
"updater"
|
||||
"upnp"
|
||||
# disabled, because it tries to join a multicast group and fails to find a usable network interface
|
||||
# "upnp"
|
||||
"uptime"
|
||||
"usgs_earthquakes_feed"
|
||||
"utility_meter"
|
||||
@ -751,7 +727,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"vizio"
|
||||
"voicerss"
|
||||
"volumio"
|
||||
"vultr"
|
||||
# disabled, becaused AttributeError: <class 'vultr.vultr.Vultr'> does not have the attribute 'server_list'
|
||||
# "vultr"
|
||||
"wake_on_lan"
|
||||
"wallbox"
|
||||
"water_heater"
|
||||
@ -776,7 +753,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"yandex_transport"
|
||||
"yandextts"
|
||||
"yeelight"
|
||||
"zeroconf"
|
||||
# disabled, because it tries to join a multicast group and fails to find a usable network interface
|
||||
# "zeroconf"
|
||||
"zerproc"
|
||||
"zha"
|
||||
"zodiac"
|
||||
@ -826,6 +804,8 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
# wallbox/test_config_flow.py: Tries to connect to api.wall-box.cim: Failed to establish a new connection: [Errno -2] Name or service not known
|
||||
"--deselect tests/components/wallbox/test_config_flow.py::test_form_invalid_auth"
|
||||
"--deselect tests/components/wallbox/test_config_flow.py::test_form_cannot_connect"
|
||||
# tests/components/default_config/test_init.py: Tries to check for updates and fails ungracefully without network access
|
||||
"--deselect tests/components/default_config/test_init.py::test_setup"
|
||||
# tests are located in tests/
|
||||
"tests"
|
||||
# dynamically add packages required for component tests
|
||||
@ -861,6 +841,10 @@ in with py.pkgs; buildPythonApplication rec {
|
||||
"test_onboarding_core_no_rpi_power"
|
||||
# hue/test_sensor_base.py: Race condition when counting events
|
||||
"test_hue_events"
|
||||
# homekit/test_homekit.py: Tries to use zeroconf, which tries to join a multicast group
|
||||
"test_homekit_uses_system_zeroconf"
|
||||
# august/test_lock.py: AssertionError: assert 'unlocked' == 'locked'
|
||||
"test_lock_update_via_pubnub"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
|
@ -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 = "20210603.0";
|
||||
version = "20210707.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-2UhbtaxEcOkD9Z5g9gZs+QjuVLXZGCEcmKoxRtIEYxw=";
|
||||
sha256 = "sha256-6RR+T4+vS6g00+MS1ty8aFVx6WM2dE+c17+wDoPxnGg=";
|
||||
};
|
||||
|
||||
# there is nothing to strip in this package
|
||||
|
@ -23,10 +23,16 @@ sed -i -e "s/version =.*/version = \"${TARGET_VERSION}\";/" \
|
||||
sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \
|
||||
default.nix
|
||||
|
||||
./parse-requirements.py
|
||||
(
|
||||
# update the frontend before running parse-requirements, so it doesn't get shown as outdated
|
||||
cd ../../..
|
||||
nix-update --version "$FRONTEND_VERSION" home-assistant.python.pkgs.home-assistant-frontend
|
||||
)
|
||||
|
||||
./parse-requirements.py
|
||||
|
||||
(
|
||||
cd ../../..
|
||||
nix-update --version "$TARGET_VERSION" --build home-assistant
|
||||
)
|
||||
|
||||
|
@ -23978,6 +23978,8 @@ in
|
||||
|
||||
fritzing = libsForQt5.callPackage ../applications/science/electronics/fritzing { };
|
||||
|
||||
fritzprofiles = with python3.pkgs; toPythonApplication fritzprofiles;
|
||||
|
||||
fsv = callPackage ../applications/misc/fsv {
|
||||
autoreconfHook = buildPackages.autoreconfHook269;
|
||||
};
|
||||
|
@ -1770,6 +1770,8 @@ in {
|
||||
|
||||
d2to1 = callPackage ../development/python-modules/d2to1 { };
|
||||
|
||||
dacite = callPackage ../development/python-modules/dacite { };
|
||||
|
||||
daemonize = callPackage ../development/python-modules/daemonize { };
|
||||
|
||||
daemonocle = callPackage ../development/python-modules/daemonocle { };
|
||||
@ -2734,6 +2736,8 @@ in {
|
||||
|
||||
fritzconnection = callPackage ../development/python-modules/fritzconnection { };
|
||||
|
||||
fritzprofiles = callPackage ../development/python-modules/fritzprofiles { };
|
||||
|
||||
frozendict = callPackage ../development/python-modules/frozendict { };
|
||||
|
||||
frozenlist = callPackage ../development/python-modules/frozenlist { };
|
||||
@ -5692,6 +5696,8 @@ in {
|
||||
|
||||
py-ubjson = callPackage ../development/python-modules/py-ubjson { };
|
||||
|
||||
py17track = callPackage ../development/python-modules/py17track { };
|
||||
|
||||
py2bit = callPackage ../development/python-modules/py2bit { };
|
||||
|
||||
py3buddy = toPythonModule (callPackage ../development/python-modules/py3buddy { });
|
||||
|
Loading…
Reference in New Issue
Block a user