home-assistant: 2025.1.4 -> 2025.2.0

https://www.home-assistant.io/blog/2025/02/05/release-20252/
This commit is contained in:
Martin Weinelt
2025-02-06 18:55:27 +01:00
parent ad01ba93c5
commit 332adea498
5 changed files with 190 additions and 162 deletions
File diff suppressed because it is too large Load Diff
+35 -26
View File
@@ -4,7 +4,6 @@
callPackage,
fetchFromGitHub,
fetchPypi,
fetchpatch2,
python313,
substituteAll,
ffmpeg-headless,
@@ -88,6 +87,37 @@ let
];
});
async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec {
version = "4.0.3";
src = fetchFromGitHub {
owner = "aio-libs";
repo = "async-timeout";
tag = "v${version}";
hash = "sha256-gJGVRm7YMWnVicz2juHKW8kjJBxn4/vQ/kc2kQyl1i4=";
};
});
eq3btsmart = super.eq3btsmart.overridePythonAttrs (oldAttrs: rec {
version = "1.4.1";
src = fetchFromGitHub {
owner = "EuleMitKeule";
repo = "eq3btsmart";
tag = version;
hash = "sha256-FRnCnSMtsiZ1AbZOMwO/I5UoFWP0xAFqRZsnrHG9WJA=";
};
build-system = with self; [ poetry-core ];
});
govee-local-api = super.govee-local-api.overridePythonAttrs (oldAttrs: rec {
version = "1.5.3";
src = fetchFromGitHub {
owner = "Galorhallen";
repo = "govee-local-api";
tag = "v${version}";
hash = "sha256-qBT0Xub+eL7rfF+lQWlheBJSahEKWjREGJQD6sHjTPk=";
};
});
gspread = super.gspread.overridePythonAttrs (oldAttrs: rec {
version = "5.12.4";
src = fetchFromGitHub {
@@ -255,22 +285,6 @@ let
doCheck = false;
});
slack-sdk = super.slack-sdk.overridePythonAttrs (oldAttrs: rec {
version = "2.5.0";
src = fetchFromGitHub {
owner = "slackapi";
repo = "python-slackclient";
rev = "refs/tags/${version}";
hash = "sha256-U//HUe6e41wOOzoaDl4yXPnEASCzpGBIScHStWMN8tk=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "pytest-runner" ""
'';
pythonImportsCheck = [ "slack" ];
doCheck = false; # Tests changed a lot for > 3
});
vulcan-api = super.vulcan-api.overridePythonAttrs (oldAttrs: rec {
version = "2.3.2";
src = fetchFromGitHub {
@@ -320,7 +334,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2025.1.4";
hassVersion = "2025.2.0";
in
python.pkgs.buildPythonApplication rec {
@@ -341,13 +355,13 @@ python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-QqWF/uvFQbf0tdJMzFV3hAt9Je5sFR5z+aAPtCxycbM=";
hash = "sha256-TGlfqvmYUPA5wdvZWD89z6lfvDr+K/1kgu6NjkRpNxs=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-yzX4Wgo468On/WuK32Xdl0O3en/WFRdykvfvHNEU1S0=";
hash = "sha256-+dkS6AuqyzvC2NiGCGkDAGxF/kS/LuKkMFXWXjC3I8Y=";
};
build-system = with python.pkgs; [
@@ -395,12 +409,6 @@ python.pkgs.buildPythonApplication rec {
src = ./patches/ffmpeg-path.patch;
ffmpeg = "${lib.getExe ffmpeg-headless}";
})
(fetchpatch2 {
# python-matter-server 7.0 compat
url = "https://github.com/home-assistant/core/commit/ea4931ca3a91920b66a747a18a2dece2c8215d4f.patch";
hash = "sha256-evfMdBdEYsVSu2iDZ5xgNTg/QljJ+MXrV69g9liNcN4=";
})
];
postPatch = ''
@@ -414,6 +422,7 @@ python.pkgs.buildPythonApplication rec {
aiodns
aiohasupervisor
aiohttp
aiohttp-asyncmdnsresolver
aiohttp-cors
aiohttp-fast-zlib
aiozoneinfo
+2 -2
View File
@@ -8,7 +8,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 = "20250109.2";
version = "20250205.0";
format = "wheel";
src = fetchPypi {
@@ -16,7 +16,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-jE8+QzYUftQFuGgJuvFYIzZ9DsEFoNpPS94Wjmk73Ss=";
hash = "sha256-9P2OqnPNPydBi4k9iN0hSyGTyBW4PohdgJwQqa8MlYg=";
};
# there is nothing to strip in this package
@@ -1,13 +0,0 @@
diff --git a/homeassistant/components/network/__init__.py b/homeassistant/components/network/__init__.py
index b3ef88e7ab..b7a8471e1a 100644
--- a/homeassistant/components/network/__init__.py
+++ b/homeassistant/components/network/__init__.py
@@ -30,7 +30,7 @@ async def async_get_source_ip(
) -> str:
"""Get the source ip for a target ip."""
adapters = await async_get_adapters(hass)
- all_ipv4s = []
+ all_ipv4s = ["127.0.0.1"]
for adapter in adapters:
if adapter["enabled"] and (ipv4s := adapter["ipv4"]):
all_ipv4s.extend([ipv4["address"] for ipv4 in ipv4s])
+8 -43
View File
@@ -14,6 +14,9 @@ let
ibeacon-ble
];
hassio = getComponentDeps "homeassistant_yellow";
homeassistant_hardware = getComponentDeps "zha";
homeassistant_sky_connect = getComponentDeps "zha";
homeassistant_yellow = getComponentDeps "zha";
husqvarna_automower_ble = getComponentDeps "gardena_bluetooth";
lovelace = [
pychromecast
@@ -36,6 +39,7 @@ let
songpal = [
isal
];
swiss_public_transport = getComponentDeps "cookidoo";
system_log = [
isal
];
@@ -52,6 +56,10 @@ let
};
extraDisabledTestPaths = {
overseerr = [
# imports broken future module
"tests/components/overseerr/test_event.py"
];
};
extraDisabledTests = {
@@ -59,10 +67,6 @@ let
# tries to retrieve file from github
"test_non_text_stdout_capture"
];
sma = [
# missing operating_status attribute in entity
"test_sensor_entities"
];
websocket_api = [
# AssertionError: assert 'unknown_error' == 'template_error'
"test_render_template_with_timeout"
@@ -70,46 +74,20 @@ let
};
extraPytestFlagsArray = {
conversation = [
# Expected: Sorry, I am not aware of any device called missing entity on ground floor
# Actually: Sorry, I am not aware of any area called ground floor
"--deselect tests/components/conversation/test_default_agent.py::test_error_no_device_on_floor"
];
dnsip = [
# Tries to resolve DNS entries
"--deselect tests/components/dnsip/test_config_flow.py::test_options_flow"
];
honeywell = [
# Failed: Unused ignore translations: component.honeywell.config.abort.reauth_successful. Please remove them from the ignore_translations fixture.
"--deselect=tests/components/honeywell/test_config_flow.py::test_reauth_flow"
];
jellyfin = [
# AssertionError: assert 'audio/x-flac' == 'audio/flac'
"--deselect tests/components/jellyfin/test_media_source.py::test_resolve"
"--deselect tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve"
# AssertionError: assert [+ received] == [- snapshot]
"--deselect tests/components/jellyfin/test_media_source.py::test_music_library"
];
jewish_calendar = [
# Failed: Unused ignore translations: component.jewish_calendar.config.abort.reconfigure_successful. Please remove them from the ignore_translations fixture.
"--deselect tests/components/jewish_calendar/test_config_flow.py::test_reconfigure"
];
modem_callerid = [
# aioserial mock produces wrong state
"--deselect tests/components/modem_callerid/test_init.py::test_setup_entry"
];
nina = [
# Failed: Unused ignore translations: component.nina.options.error.unknown. Please remove them from the ignore_translations fixture.
"--deselect tests/components/nina/test_config_flow.py::test_options_flow_unexpected_exception"
];
sql = [
"-W"
"ignore::sqlalchemy.exc.SAWarning"
];
vicare = [
# Snapshot 'test_all_entities[sensor.model0_electricity_consumption_today-entry]' does not exist!
"--deselect=tests/components/vicare/test_sensor.py::test_all_entities"
];
};
in
lib.listToAttrs (
@@ -140,19 +118,6 @@ lib.listToAttrs (
++ extraPytestFlagsArray.${component} or [ ]
++ [ "tests/components/${component}" ];
preCheck =
old.preCheck
+
lib.optionalString
(builtins.elem component [
"emulated_hue"
"songpal"
"system_log"
])
''
patch -p1 < ${./patches/tests-mock-source-ip.patch}
'';
meta = old.meta // {
broken = lib.elem component [ ];
# upstream only tests on Linux, so do we.