esphome: 2026.3.3 -> 2026.4.3 (#513695)

This commit is contained in:
Martin Weinelt
2026-05-02 12:15:51 +00:00
committed by GitHub
3 changed files with 30 additions and 11 deletions
+2 -2
View File
@@ -13,14 +13,14 @@
buildPythonPackage (finalAttrs: {
pname = "esphome-dashboard";
version = "20260210.0";
version = "20260408.1";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "dashboard";
tag = finalAttrs.version;
hash = "sha256-Edd2ZOSBAZSrGVjbncyPhhjFjE0CxBHz16ZHXyzx9LI=";
hash = "sha256-OY7s/b0rWmjI9QfmEwj3VxbTFrj99fyf9x1tPl24RbI=";
};
npmDeps = fetchNpmDeps {
+15 -9
View File
@@ -31,16 +31,16 @@ let
};
};
in
python.pkgs.buildPythonApplication rec {
python.pkgs.buildPythonApplication (finalAttrs: {
pname = "esphome";
version = "2026.3.3";
version = "2026.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "esphome";
tag = version;
hash = "sha256-yMPHz6IZIGM4oJw1wspEL3lIIiPv4WZALUJ7J1UWukY=";
tag = finalAttrs.version;
hash = "sha256-+esSczOBIT4dJEyzqmEv6YMU4wGkN4lFGmuZKRp5/bo=";
};
patches = [
@@ -49,6 +49,10 @@ python.pkgs.buildPythonApplication rec {
# own python environment through `python -m esptool` and then fails to find
# the esptool library.
./esp32-post-build-esptool-reference.patch
# Call the platformio binary directly instead of `python -m
# esphome.platformio_runner`, which tries to import platformio as a Python
# module.
./platformio-binary-reference.patch
];
build-system = with python.pkgs; [
@@ -119,7 +123,7 @@ python.pkgs.buildPythonApplication rec {
}"
# The dashboard requires esphome to be importable
# dependencies are added to show better error messages
"--prefix PYTHONPATH : $out/${python.sitePackages}:${python.pkgs.makePythonPath dependencies}"
"--prefix PYTHONPATH : $out/${python.sitePackages}:${python.pkgs.makePythonPath finalAttrs.passthru.dependencies}"
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ stdenv.cc.cc ]}"
"--set ESPHOME_USE_SUBPROCESS ''"
# https://github.com/NixOS/nixpkgs/issues/362193
@@ -173,9 +177,10 @@ python.pkgs.buildPythonApplication rec {
"test_clean_all"
"test_clean_all_partial_exists"
# tries to use esptool, which is wrapped in an fhsenv
"test_upload_using_esptool_path_conversion"
"test_upload_using_esptool_with_file_path"
"test_upload_using_esptool_passes_crystal_callback"
"test_upload_using_esptool_path_conversion"
"test_upload_using_esptool_skips_missing_extra_flash_images"
"test_upload_using_esptool_with_file_path"
# AssertionError: Expected 'run_external_command' to have been called once. Called 0 times.
"test_run_platformio_cli_sets_environment_variables"
# Expects a full git clone
@@ -190,7 +195,7 @@ python.pkgs.buildPythonApplication rec {
};
meta = {
changelog = "https://github.com/esphome/esphome/releases/tag/${version}";
changelog = "https://github.com/esphome/esphome/releases/tag/${finalAttrs.src.tag}";
description = "Make creating custom firmwares for ESP32/ESP8266 super easy";
homepage = "https://esphome.io/";
license = with lib.licenses; [
@@ -201,7 +206,8 @@ python.pkgs.buildPythonApplication rec {
hexa
picnoir
thanegill
karlbeecken
];
mainProgram = "esphome";
};
}
})
@@ -0,0 +1,13 @@
diff --git a/esphome/platformio_api.py b/esphome/platformio_api.py
index fc21977f..e5059f1d 100644
--- a/esphome/platformio_api.py
+++ b/esphome/platformio_api.py
@@ -63,7 +63,7 @@ def run_platformio_cli(*args, **kwargs) -> str | int:
os.environ.setdefault("PYTHONWARNINGS", "ignore::SyntaxWarning")
# Increase uv retry count to handle transient network errors (default is 3)
os.environ.setdefault("UV_HTTP_RETRIES", "10")
- cmd = [sys.executable, "-m", "esphome.platformio_runner"] + list(args)
+ cmd = ["platformio"] + list(args)
return run_external_process(*cmd, **kwargs)