Merge pull request #193565 from NixOS/home-assistant

This commit is contained in:
Martin Weinelt 2022-09-30 18:00:37 +02:00 committed by GitHub
commit 656e267275
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 166 additions and 64 deletions

View File

@ -415,7 +415,7 @@ in {
# Empty string first, so we will never accidentally have an empty capability bounding set
# https://github.com/NixOS/nixpkgs/issues/120617#issuecomment-830685115
""
] ++ lib.optionals (builtins.any useComponent [ "bluetooth" "bluetooth_le_tracker" "bluetooth_tracker" "eq3btsmart" "fjaraskupan" "govee_ble" "homekit_controller" "inkbird" "moat" "sensorpush" "switchbot" "xiaomi_ble" ]) [
] ++ lib.optionals (builtins.any useComponent componentsUsingBluetooth) [
# Required for interaction with hci devices and bluetooth sockets, identified by bluetooth-adapters dependency
# https://www.home-assistant.io/integrations/bluetooth_le_tracker/#rootless-setup-on-core-installs
"CAP_NET_ADMIN"
@ -432,8 +432,30 @@ in {
]);
componentsUsingBluetooth = [
# Components that require the AF_BLUETOOTH address family
"bluetooth_tracker"
"august"
"bluemaestro"
"bluetooth"
"bluetooth_le_tracker"
"bluetooth_tracker"
"bthome"
"default_config"
"eq3btsmart"
"esphome"
"fjaraskupan"
"govee_ble"
"homekit_controller"
"inkbird"
"led_ble"
"melnor"
"moat"
"qingping"
"sensorpro"
"sensorpush"
"switchbot"
"thermobeacon"
"thermopro"
"xiaomi_ble"
"yalexs_ble"
];
componentsUsingPing = [
# Components that require the capset syscall for the ping wrapper
@ -450,7 +472,6 @@ in {
# mostly the ones using config flows already.
"acer_projector"
"alarmdecoder"
"arduino"
"blackbird"
"deconz"
"dsmr"
@ -464,7 +485,6 @@ in {
"insteon"
"kwb"
"lacrosse"
"mhz19"
"modbus"
"modem_callerid"
"mysensors"
@ -480,7 +500,6 @@ in {
"usb"
"velbus"
"w800rf32"
"xbee"
"zha"
"zwave"
"zwave_js"

View File

@ -1,4 +1,5 @@
{ lib
, async-timeout
, buildPythonPackage
, dnspython
, fetchFromGitHub
@ -12,7 +13,7 @@
buildPythonPackage rec {
pname = "aiodiscover";
version = "1.4.11";
version = "1.4.13";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,10 +22,11 @@ buildPythonPackage rec {
owner = "bdraco";
repo = pname;
rev = "v${version}";
sha256 = "sha256-s5g8otQSWTAOkN4q1LrM/FxVlOnGSv8XKtIDkdwcHMg=";
sha256 = "sha256-tIbLb4Jk3vR1hVcdUPuYJrse7BcfE4Z/dXShs/uBDBo=";
};
propagatedBuildInputs = [
async-timeout
dnspython
netifaces
pyroute2

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "aiohomekit";
version = "1.5.2";
version = "1.5.12";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "Jc2k";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-2EU7Um3uxGP1LBt/PEg2s6v7iny60NHCg8ixX+lIsZY=";
hash = "sha256-v29esQUrrpF8PGafu9LF/rN/W8xRSIe+H9V+R4toPxk=";
};
nativeBuildInputs = [

View File

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "airthings-ble";
version = "0.5.1";
version = "0.5.2";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -18,12 +18,12 @@ buildPythonPackage rec {
owner = "vincegio";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-polhWyEyu7ZaJ0fgXOhai+I/XhI8FTYYQGrRxiqAOPc=";
hash = "sha256-EPzYIPoT5yAdobmdfaehOYhYeKM6NMpcNZWVR2Dac8k=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'bleak = "^0.15.1"' 'bleak = "*"'
--replace 'bleak-retry-connector = "^0.15.1"' 'bleak = "*"'
'';
nativeBuildInputs = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "bleak-retry-connector";
version = "1.16.0";
version = "2.1.3";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-IDfamUZB9WJH+ybZ0ULBSEd1koMHTZ1/DaFTf6oviM8=";
hash = "sha256-fEdyo6QBmHWgl5o/ZIu/HM8GWp5t88awhb+7SPWngf0=";
};
postPatch = ''

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "bleak";
version = "0.17.0";
version = "0.18.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "hbldh";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-AnH23AWrLw2jq6gSbx9VoGD8QXeCH5dN7FSVVdj4b3w=";
hash = "sha256-2/jJ2C2TudwCAshDBLUQjNMbYa2j4XfW8bXmeWrAyrA=";
};
nativeBuildInputs = [

View File

@ -2,6 +2,7 @@
, aioconsole
, bleak
, buildPythonPackage
, dbus-next
, fetchFromGitHub
, numpy
, pytestCheckHook
@ -24,6 +25,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [
bleak
dbus-next
];
checkInputs = [

View File

@ -4,7 +4,8 @@
, fetchFromGitHub
, poetry-core
, async-timeout
, dbus-next
, bleak
, dbus-fast
, myst-parser
, pytestCheckHook
, sphinxHook
@ -13,7 +14,7 @@
buildPythonPackage rec {
pname = "bluetooth-adapters";
version = "0.3.6";
version = "0.5.2";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -22,7 +23,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-mekruNzoix61idaGv/BIgb1fwKcA/+UGOnjX85jQWDQ=";
hash = "sha256-SyEe/auJaagRl3wg7JjBkLAgHyAeCeesEXvWXE733M4=";
};
postPatch = ''
@ -44,7 +45,8 @@ buildPythonPackage rec {
propagatedBuildInputs = [
async-timeout
dbus-next
bleak
dbus-fast
];
pythonImportsCheck = [

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "led-ble";
version = "0.7.1";
version = "0.10.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-WjSMyuxxScJMtrQAvCHX98IXzbO2dWAsAaOwXf6TEDg=";
hash = "sha256-GyVj9g4tqPaR5Gd8N76TtkldaAATnEBsSs/F+2iQqGM=";
};
postPatch = ''

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "xiaomi-ble";
version = "0.9.2";
version = "0.10.0";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-FitHVfl/N2Q9bixmJFyADBytuM3T4A/D+/36lAU9vls=";
hash = "sha256-qpGw9c7O8MC6AEutRIqCEdZncJSQKesaHFRQjOxpa2U=";
};
nativeBuildInputs = [

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "yalexs-ble";
version = "1.6.4";
version = "1.9.2";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = pname;
rev = "v${version}";
hash = "sha256-aE8JrGNfsNeJdpoKzyxd/ixYO1WSKCPgXpiV0+HQOcI=";
hash = "sha256-ypZ0VDGgQcwlMS1POW+lvTlmd02P7bPR2Qo0lDyBYUw=";
};
nativeBuildInputs = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "zha-quirks";
version = "0.0.79";
version = "0.0.80";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zha-device-handlers";
rev = "refs/tags/${version}";
hash = "sha256-7qE0HLp/ehwHdwVWb0H4eCwCCTUUySAPoZewLYE/MUw=";
hash = "sha256-tmXOkOUW2d3Kntx1wgzN3J4l5jrSfz2q9YT1gfHjtro=";
};
propagatedBuildInputs = [

View File

@ -2,6 +2,7 @@
, asynctest
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pyserial
, pyserial-asyncio
, pytest-asyncio
@ -38,9 +39,8 @@ buildPythonPackage rec {
];
disabledTests = [
# assertion failure
# E assert ff:ff:ff:ff:ff:ff:ff:ff is None
"test_startup_api_mode_config_fails"
# https://github.com/zigpy/zigpy-xbee/issues/126
"test_form_network"
];
meta = with lib; {

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "zigpy";
version = "0.50.2";
version = "0.50.3";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "zigpy";
repo = "zigpy";
rev = "refs/tags/${version}";
hash = "sha256-0Ha2CgJLLLZjMEEj07GL6kbKcM+x0YblVIjABiaAhXg=";
hash = "sha256-Od5BEi5Cu1Gzd4ZkPc2lfmsEZoqsxqiUKqZ2vkW/8sE=";
};
propagatedBuildInputs = [

View File

@ -2,7 +2,7 @@
# Do not edit!
{
version = "2022.9.1";
version = "2022.9.7";
components = {
"abode" = ps: with ps; [
abodepy
@ -192,9 +192,11 @@
];
"august" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
yalexs-ble
@ -284,10 +286,12 @@
];
"bluemaestro" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluemaestro-ble
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
];
@ -298,17 +302,21 @@
];
"bluetooth" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
];
"bluetooth_le_tracker" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
];
@ -354,10 +362,12 @@
]; # missing inputs: btsmarthub_devicelist
"bthome" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
bthome-ble
dbus-fast
pyserial
pyudev
];
@ -525,9 +535,11 @@
aiodiscover
aiohttp-cors
async-upnp-client
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
fnvhash
hass-nabucasa
home-assistant-frontend
@ -691,6 +703,7 @@
]; # missing inputs: py-sucks
"ecowitt" = ps: with ps; [
aioecowitt
aiohttp-cors
];
"eddystone_temperature" = ps: with ps; [
construct
@ -782,10 +795,12 @@
]; # missing inputs: epsonprinter
"eq3btsmart" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
construct
dbus-fast
pyserial
pyudev
]; # missing inputs: python-eq3bt
@ -795,9 +810,11 @@
"esphome" = ps: with ps; [
aioesphomeapi
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
ifaddr
pyserial
pyudev
@ -887,9 +904,11 @@
];
"fjaraskupan" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
fjaraskupan
pyserial
pyudev
@ -1088,9 +1107,11 @@
];
"govee_ble" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
govee-ble
pyserial
pyudev
@ -1236,9 +1257,11 @@
"homekit_controller" = ps: with ps; [
aiohomekit
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
ifaddr
pyserial
pyudev
@ -1343,9 +1366,11 @@
];
"inkbird" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
inkbird-ble
pyserial
pyudev
@ -1516,9 +1541,11 @@
];
"led_ble" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
led-ble
pyserial
pyudev
@ -1681,9 +1708,11 @@
]; # missing inputs: py-melissa-climate
"melnor" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
]; # missing inputs: melnor-bluetooth
@ -1752,9 +1781,11 @@
];
"moat" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
moat-ble
pyserial
pyudev
@ -2255,9 +2286,11 @@
]; # missing inputs: python-qbittorrent
"qingping" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
qingping-ble
@ -2503,18 +2536,22 @@
];
"sensorpro" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
sensorpro-ble
];
"sensorpush" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
sensorpush-ble
@ -2789,9 +2826,11 @@
"switchbot" = ps: with ps; [
pyswitchbot
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
];
@ -2893,18 +2932,22 @@
]; # missing inputs: pytfiac
"thermobeacon" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
thermobeacon-ble
];
"thermopro" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
thermopro-ble
@ -3281,9 +3324,11 @@
];
"xiaomi_ble" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
xiaomi-ble
@ -3306,9 +3351,11 @@
];
"yalexs_ble" = ps: with ps; [
aiohttp-cors
bleak-retry-connector
bleak
bluetooth-adapters
bluetooth-auto-recovery
dbus-fast
pyserial
pyudev
yalexs-ble

View File

@ -30,17 +30,6 @@ let
defaultOverrides = [
# Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
(self: super: {
advantage-air = super.advantage-air.overridePythonAttrs (oldAttrs: rec {
version = "0.3.1";
src = super.fetchPypi {
pname = "advantage_air";
inherit version;
hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
};
});
})
(self: super: {
backoff = super.backoff.overridePythonAttrs (oldAttrs: rec {
version = "1.11.1";
@ -67,6 +56,53 @@ let
});
})
(self: super: {
bleak = super.bleak.overridePythonAttrs (oldAttrs: rec {
version = "0.17.0";
src = fetchFromGitHub {
owner = "hbldh";
repo = "bleak";
rev = "refs/tags/v${version}";
hash = "sha256-AnH23AWrLw2jq6gSbx9VoGD8QXeCH5dN7FSVVdj4b3w=";
};
});
bleak-retry-connector = super.bleak-retry-connector.overridePythonAttrs (oldAttrs: rec {
version = "1.17.1";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bleak-retry-connector";
rev = "refs/tags/v${version}";
hash = "sha256-FoQ1cDORQaJcr6y9JaO4MigqV6jiBbwKNIIdYDgFNxQ=";
};
});
})
(self: super: {
blebox-uniapi = super.blebox-uniapi.overridePythonAttrs (oldAttrs: rec {
version = "2.0.2";
src = fetchFromGitHub {
owner = "blebox";
repo = "blebox_uniapi";
rev = "refs/tags/v${version}";
hash = "sha256-0Yiooy7YSUFjqqcyH2fPQ6AWuR0EJxfRRZTw/6JGcMA=";
};
});
})
(self: super: {
bluetooth-adapters = super.bluetooth-adapters.overridePythonAttrs (oldAttrs: rec {
version = "0.4.1";
propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ super.dbus-fast ];
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluetooth-adapters";
rev = "refs/tags/v${version}";
hash = "sha256-LAT4r6RHJWTkrZvuL1aSQDiztvXiOJwGmNQKGFnvFB8=";
};
});
})
(self: super: {
gridnet = super.gridnet.overridePythonAttrs (oldAttrs: rec {
version = "4.0.0";
@ -268,18 +304,6 @@ let
});
})
(self: super: {
xiaomi-ble = super.xiaomi-ble.overridePythonAttrs (oldAttrs: rec {
version = "0.9.0";
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "xiaomi-ble";
rev = "refs/tags/v${version}";
hash = "sha256-xdh8WHrSkbuOGqSiIiufjiVaO719DMDYzbprE3s2kmQ=";
};
});
})
# home-assistant-frontend does not exist in python3.pkgs
(self: super: {
home-assistant-frontend = self.callPackage ./frontend.nix { };
@ -309,7 +333,7 @@ let
extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
# Don't forget to run parse-requirements.py after updating
hassVersion = "2022.9.1";
hassVersion = "2022.9.7";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@ -327,7 +351,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = version;
hash = "sha256-JXMLIMiwM1givdV6HcSGHI9v3zh8gMiF9khaGWR5e9I=";
hash = "sha256-V6/y5HnJh8AVwkSg3uanYQRNvDcD1P0L+wBu98NpDek=";
};
# leave this in, so users don't have to constantly update their downstream patch handling

View File

@ -4,7 +4,7 @@ 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 = "20220907.0";
version = "20220907.2";
format = "wheel";
src = fetchPypi {
@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
sha256 = "sha256-G/2lOUffxKnEmd4mz/qAlNkzTNAUTfjKaGgvj6vG9ro=";
sha256 = "sha256-ykId53EMPRXmMmoS55ZtjF6UR/JVPtBXFqjwuK2E2F4=";
};
# there is nothing to strip in this package

View File

@ -52,6 +52,10 @@ let
# Sandbox network limitations, fails with unexpected error
"--deselect tests/components/asuswrt/test_config_flow.py::test_on_connect_failed"
];
dnsip = [
# AssertionError: assert <FlowResultType.FORM: 'form'> == <FlowResultTy...create_entry'>
"--deselect tests/components/dnsip/test_config_flow.py::test_options_flow"
];
history_stats = [
# Flaky: AssertionError: assert '0.0' == '12.0'
"--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed"
@ -66,6 +70,10 @@ let
"--deselect tests/components/stream/test_recorder.py::test_recorder_log"
"--deselect tests/components/stream/test_worker.py::test_get_image"
];
zha = [
# AssertionError: assert 'manual_pick_radio_type' == 'choose_serial_port'
"--deselect tests/components/zha/test_config_flow.py::test_options_flow_restarts_running_zha_if_cancelled"
];
};
in lib.listToAttrs (map (component: lib.nameValuePair component (
home-assistant.overridePythonAttrs (old: {
@ -96,9 +104,7 @@ in lib.listToAttrs (map (component: lib.nameValuePair component (
meta = old.meta // {
broken = lib.elem component [
"blebox" # all tests fail with: AttributeError: Mock object has no attribute 'async_from_host'
"dnsip"
"ssdp"
"modem_callerid"
"subaru"
];
# upstream only tests on Linux, so do we.