diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix index 465e30e76157..d1d6bc1cb101 100644 --- a/pkgs/tools/misc/esptool/default.nix +++ b/pkgs/tools/misc/esptool/default.nix @@ -2,17 +2,31 @@ python3.pkgs.buildPythonApplication rec { pname = "esptool"; - version = "2.7"; + version = "3.0"; src = fetchFromGitHub { owner = "espressif"; repo = "esptool"; rev = "v${version}"; - sha256 = "1p5hx0rhs986ffqz78rdxg7jayndsq632399xby39k17kvd3mb31"; + sha256 = "1y022qlcdgdx5a88lkc3sqavklz494afbfyh100lp7xfk3f2mjln"; }; - checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order openssl ]; - propagatedBuildInputs = with python3.pkgs; [ pyserial pyaes ecdsa ]; + checkInputs = with python3.pkgs; + [ flake8 flake8-future-import flake8-import-order openssl ]; + propagatedBuildInputs = with python3.pkgs; + [ pyserial pyaes ecdsa reedsolo bitstring cryptography ]; + + # wrapPythonPrograms will overwrite esptool.py with a bash script, + # but espefuse.py tries to import it. Since we don't add any binary paths, + # use patchPythonScript directly. + dontWrapPythonPrograms = true; + postFixup = '' + buildPythonPath "$out $pythonPath" + for f in $out/bin/*.py; do + echo "Patching $f" + patchPythonScript "$f" + done + ''; meta = with stdenv.lib; { description = "ESP8266 and ESP32 serial bootloader utility";