summary refs log tree commit diff
path: root/pkgs/tools/misc/esptool
diff options
context:
space:
mode:
authorYorick van Pelt <yorick@yorickvanpelt.nl>2020-11-12 16:24:42 +0100
committerYorick van Pelt <yorick@yorickvanpelt.nl>2020-12-22 11:46:37 +0100
commit9a9ad8c78b77aded99d0b652368bea177c297da4 (patch)
tree5ca7ead38d952851924c83a8076cb4a6caa99b44 /pkgs/tools/misc/esptool
parentf62fcde81af30a26e1d1a2e901c0f1328fb01c2b (diff)
downloadnixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar.gz
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar.bz2
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar.lz
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar.xz
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.tar.zst
nixpkgs-9a9ad8c78b77aded99d0b652368bea177c297da4.zip
esptool: 2.7 -> 3.0, fix #82965
Diffstat (limited to 'pkgs/tools/misc/esptool')
-rw-r--r--pkgs/tools/misc/esptool/default.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index 465e30e7615..d1d6bc1cb10 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";