diff options
Diffstat (limited to 'pkgs/servers/home-assistant/default.nix')
-rw-r--r-- | pkgs/servers/home-assistant/default.nix | 97 |
1 files changed, 64 insertions, 33 deletions
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 5459606f7cb9..34478297238b 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -100,16 +100,6 @@ let ]; }); - geojson = super.geojson.overridePythonAttrs (oldAttrs: rec { - version = "2.5.0"; - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - rev = "refs/tags/${version}"; - hash = "sha256-AcImffYki1gnIaZp/1eacNjdDgjn6qinPJXq9jYtoRg="; - }; - doCheck = false; - }); - gspread = super.gspread.overridePythonAttrs (oldAttrs: rec { version = "5.12.4"; src = fetchFromGitHub { @@ -123,6 +113,13 @@ let ]; }); + inline-snapshot = super.inline-snapshot.overridePythonAttrs (oldAttrs: { + disabledTests = oldAttrs.disabledTests or [ ] ++ [ + # fixture does not expect pydantic<2 + "test_pydantic_repr" + ]; + }); + openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec { version = "2.2"; src = fetchFromGitHub { @@ -164,6 +161,15 @@ let doCheck = false; # no tests }); + plugwise = super.plugwise.overridePythonAttrs (oldAttrs: rec { + version = "1.4.4"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/v${version}"; + hash = "sha256-dlDytOSp/7npanxXH5uaDv29AP21UciEzIzDlMf6jf8="; + }; + }); + # Pinned due to API changes in 0.1.0 poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec { version = "0.0.8"; @@ -174,15 +180,6 @@ let }; }); - pyasn1 = super.pyasn1.overridePythonAttrs (oldAttrs: rec { - version = "0.4.8"; - src = fetchPypi { - inherit (oldAttrs) pname; - inherit version; - hash = "sha256-rvd8n7lKOsWI6HhBIIvexGRHHZhxvVBQoofMmkdc0Lo="; - }; - }); - # Pinned due to API changes >0.3.5.3 pyatag = super.pyatag.overridePythonAttrs (oldAttrs: rec { version = "0.3.5.3"; @@ -238,6 +235,15 @@ let }; }); + pymodbus = super.pymodbus.overridePythonAttrs (oldAttrs: rec { + version = "3.6.9"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/v${version}"; + hash = "sha256-ScqxDO0hif8p3C6+vvm7FgSEQjCXBwUPOc7Y/3OfkoI="; + }; + }); + pyoctoprintapi = super.pyoctoprintapi.overridePythonAttrs (oldAttrs: rec { version = "0.1.12"; src = fetchFromGitHub { @@ -258,6 +264,16 @@ let }; }); + # newer versions require pydantic>=2 + python-on-whales = super.python-on-whales.overridePythonAttrs (oldAttrs: rec { + version = "0.72.0"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/v${version}"; + hash = "sha256-oKI7zXfoUVmJXLQvyoDEmoCL4AwaYgaFcLKNlFFrC9o="; + }; + }); + pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec { version = "9.0.1"; src = fetchFromGitHub { @@ -323,6 +339,7 @@ let doCheck = false; # Tests changed a lot for > 3 }); + # pinned for sigstore tuf = super.tuf.overridePythonAttrs rec { version = "2.1.0"; src = fetchFromGitHub { @@ -336,9 +353,23 @@ let ]; }; - versioningit = super.versioningit.overridePythonAttrs { - doCheck = false; - }; + voip-utils = super.voip-utils.overridePythonAttrs (oldAttrs: rec { + version = "0.1.0"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/v${version}"; + hash = "sha256-PG4L6KphH9JIZO76cCN8eClFE2CneEIExlXS+x79k3U="; + }; + }); + + vulcan-api = super.vulcan-api.overridePythonAttrs (oldAttrs: rec { + version = "2.3.2"; + src = fetchFromGitHub { + inherit (oldAttrs.src) owner repo; + rev = "refs/tags/v${version}"; + hash = "sha256-ebWKcRxAAkHVqV2RaftIHBRJe/TYSUxS+5Utxb0yhtw="; + }; + }); # Pinned due to API changes ~1.0 vultr = super.vultr.overridePythonAttrs (oldAttrs: rec { @@ -408,7 +439,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.9.2"; + hassVersion = "2024.11.1"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -426,13 +457,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-qAnEdH1MDPsCKDubpYL5AswcsaPqGm+TrKdBcDD3np8="; + hash = "sha256-t8f0em5EaWPLZlr+fi/Kn3AE0dFEAyy0FpwdjJOYBCI="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-gWQU18GfnsxttRzpoN9WeNeHOgioTxF9DmG2SwNuzEY="; + hash = "sha256-e9RF1oer4FyDEYof7qLTFUkmSxDh71qi+ResNXO6G5o="; }; build-system = with python.pkgs; [ @@ -457,6 +488,7 @@ in python.pkgs.buildPythonApplication rec { "sqlalchemy" "typing-extensions" "urllib3" + "uv" "yarl" ]; @@ -478,17 +510,15 @@ in python.pkgs.buildPythonApplication rec { ]; postPatch = '' - substituteInPlace tests/test_config.py --replace-fail '"/usr"' "\"$NIX_BUILD_TOP/media\"" - - substituteInPlace pyproject.toml --replace-fail "wheel~=0.43.0" wheel + substituteInPlace tests/test_core_config.py --replace-fail '"/usr"' "\"$NIX_BUILD_TOP/media\"" sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml - sed -i 's/wheel[~=]/wheel>/' pyproject.toml ''; dependencies = with python.pkgs; [ # Only packages required in pyproject.toml aiodns + aiohasupervisor aiohttp aiohttp-cors aiohttp-fast-zlib @@ -512,7 +542,7 @@ in python.pkgs.buildPythonApplication rec { orjson packaging pillow - pip + propcache psutil-home-assistant pyjwt pyopenssl @@ -523,6 +553,7 @@ in python.pkgs.buildPythonApplication rec { typing-extensions ulid-transform urllib3 + uv voluptuous voluptuous-openapi voluptuous-serialize @@ -530,14 +561,12 @@ in python.pkgs.buildPythonApplication rec { # REQUIREMENTS in homeassistant/auth/mfa_modules/totp.py and homeassistant/auth/mfa_modules/notify.py pyotp pyqrcode - # Implicit dependency via homeassistant/requirements.py - packaging ]; makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip"; # upstream only tests on Linux, so do we. - doCheck = stdenv.isLinux; + doCheck = stdenv.hostPlatform.isLinux; nativeCheckInputs = with python.pkgs; [ # test infrastructure (selectively from requirement_test.txt) @@ -587,6 +616,8 @@ in python.pkgs.buildPythonApplication rec { "--deselect=tests/helpers/test_script.py::test_parallel_error" "--deselect=tests/helpers/test_script.py::test_propagate_error_service_not_found" "--deselect=tests/helpers/test_script.py::test_continue_on_error_automation_issue" + # checks whether pip is installed + "--deselect=tests/util/test_package.py::test_check_package_fragment" # tests are located in tests/ "tests" ]; |