Skip to content

Commit d923745

Browse files
author
gdt
committed
py-esptool: Update to 5.0.1
Packaged in wip by Frédéric Fauberteau pkgsrc changes: --------------- * Adjust dependencies per upstream changes: - require modern py-cryptography, dropping py-ecdsa - add click and rich-click, dropping argcomplete * Add patch to use up-to-date click (as found in pkgsrc), vs upstream's expectation of old click. * Adjust python versions; upstream requires >= 3.10 upstream changes: ----------------- v5.0.1 (2025-07-15) Bug Fixes * elf2image: validate ELF section types and addresses before processing (Jaroslav Burian - 97a1546) * elf2image: handle PREINIT_ARRAY section type in ESP32-P4 elf file properly (Jaroslav Burian - ec84a75) * elf2image: Fix incorrect logger call (Marek Matej - 637f0e6) v5.0.0 (2025-07-02) Breaking changes * The .py suffix is deprecated for the following scripts: o esptool o espefuse o espsecure o esp_rfc2217_server (Peter Dragun - 635cde1) * execute-scripts command is removed (Peter Dragun - ff72b26) New Features * espefuse: Use the esptool logger, more concise messages (Radim Karniš - 983338f) * espefuse: Replace execute-scripts with public API (Peter Dragun - ff72b26) * espefuse: Add public API for espefuse (Peter Dragun - d7da0f8) * espefuse: Rename all commands to use dashes and add tests for deprecated commands (Peter Dragun - ade3088) * espefuse: Add support for chaining commands with click parser (Peter Dragun - 0a2ea69) * espefuse: Refactor CLI and use click for parsing arguments (Peter Dragun - aa80001) * espefuse: Adds efuse calculation fields for ESP32-C5 (Konstantin Kondrashov - 9104038) * espefuse: Adds 3-bit field for wafer major version in ESP32-P4 (Konstantin Kondrashov - c102510) * verbosity: Allow setting silent or verbose output levels (Radim Karniš - 90e3770) * efuse: Adds efuses for ESP32-C61 ECO3 (Konstantin Kondrashov - 6146410) * espefuse: Support efuse for ESP32-C5 ECO2 (v1.0) (Konstantin Kondrashov - 3726726) * espsecure: Use esptool logger, unify output format of messages (Radim Karniš - 905249c) * stub_flasher: Support for >16MB flash on P4 and >16MB encrypted writes on S3 (Radim Karniš - 4e6803e) * espsecure: Drop ecdsa module, use cryptography instead (Radim Karniš - e132f6f) * espsecure: Unify all commands and options to use dash instead of underscore (Peter Dragun - 36325fd) * espsecure: Use rich click for CLI parsing (Peter Dragun - 9c7ddc1) * targets: Update chip features lists with more info (Radim Karniš - 3c776aa) * logging: Add collapsible output stages and ASCII progress bars (Radim Karniš - f3cf107) * trace: Update --trace with more info and more readable formatting (Radim Karniš - 0beee77) * cli: Commands and options use dashes instead of underscores for uniformity (Peter Dragun - 3cecd6d) * cmds: Expand input of all functions to file paths, bytes, or file-like objects (Radim Karniš - 46a9e31) * cmds: Allow all functions to both return bytes and write to files (Radim Karniš - 03b84a1) * cmds: Polish the public API, unify arg names, pack some args (Radim Karniš - 37a13a9) * cmds: Encapsulate logic for running the stub flasher in run_stub (Radim Karniš - 063d9d5) * cli: Add click-based CLI interface (Peter Dragun - d40fefa) * cmds: Allow commands to output bytes, as well as write to a file (Radim Karniš - 0153b79) * cmds: Rework the public API to work as a Python module (Radim Karniš - ba36933) * flash_attach: Encapsulate logic for flash attaching and configuration (Radim Karniš - 6e959ef) * esp32h4: update the ESP32H4StubLoader (Chen Jichang - f7c78f8) * espefuse: Updates esp32h4 efuse table and fixes tests (Konstantin Kondrashov - 3da8c57) * esp32h4: add ESP32H4 esptool support (Chen Jichang - bcf5c6e) * esp32h21: Add Microsoft UF2 family ID (Radim Karniš - cb0d334) * errors: Print errors to STDERR, catch KeyboardInterrupt (Radim Karniš - 0864e17) * write_flash: Remove the superfluous --verify option (Radim Karniš - dbf3d1c) * logger: Add a custom logger, allow output redirection (Radim Karniš - 1ce02db) * image_info: Deprecate the --version 1 output format (Radim Karniš - 3f625c3) * Remove .py suffix from scripts (Peter Dragun - 635cde1) * detect flash size of Adesto flash chips (Jaroslav Burian - 0b56f85) * Add support for k, M suffix for flash size (Peter Dragun - 6f0d779) * Rename reset modes to use dash instead of underscore (Peter Dragun - 851919f) Removals * make_image: Remove the make_image command in favor of other workflows (Radim Karniš - 955a7c8) * beta_targets: Removed support for beta chip targets (Radim Karniš - 8f1c206) * Deprecate Python versions 3.7, 3.8 and 3.9 (Peter Dragun - 19f1bee) v4.9.0 (2025-06-19) New Features * espefuse: Add eFuses for ESP32-C61 ECO3 (Radim Karniš - 98688ab) * espefuse: Support efuse for ESP32-C5 ECO2 (v1.0) (Konstantin Kondrashov - ce16054) * stub_flasher: Support for >16MB flash on P4 and >16MB encrypted writes on S3 (Radim Karniš - 0110514) * espefuse: Updates esp32h4 efuse table and fixes tests (Konstantin Kondrashov - 777c505) * esp32h4: add ESP32H4 esptool support (Chen Jichang - edb99bd) * esp32h21: Add Microsoft UF2 family ID (Radim Karniš - 74d27ae) * watchdog_reset: Add a new watchdog_reset option working even in USB modes (Radim Karniš - d37c38a) * espsecure: Improves an error message for encrypt_flash_data and decrypt_flash_data (Konstantin Kondrashov - ef407ed) * espefuse: Clean up efuse code for ESP32H2 (Konstantin Kondrashov - 4e922fe) * espefuse: Support different efuse table versions for ESP32H2 (Konstantin Kondrashov - d51ecbe) * espefuse: Adds efuses for esp32h2 eco5 (Konstantin Kondrashov - 9b74df6) * esp32h21: add ESP32H21 esptool support (gaoxu - 92ceff2) * esp32-p4: add support for flasher stub in USB OTG mode (Peter Dragun - 804f2db) * esp32-c5: Add ECO1 magic number (Radim Karniš - 6cc002c) * esp_rfc2217: Improved the logger message format (Jakub Kocka - 39a12a4) * espefuse: Adds 3 bit for PSRAM_CAP efuse field (Konstantin Kondrashov - ab2e0bf) * espefuse: Adds API for getting block and wafer versions (Konstantin Kondrashov - 111c6c0) * espefuse: Adds ADC calibration data for ESP32-C61 (Konstantin Kondrashov - 36d9735) * espefuse: Adds ADC calibration data for ESP32-C5 (Konstantin Kondrashov - a903812) * espefuse: Adds ADC calibration data for ESP32-P4 (Konstantin Kondrashov - 215e4b8) * erase_region: Enable erasing in ROM bootloader and SDM (Radim Karniš - e0deeac) * hard_reset: Support custom hard reset sequence configuration (Radim Karniš - 1b15738) * print usb mode when output chip info (Jan Beran - 749d1ad) * Add new app description segments (Jaroslav Burian - b23e60f) * add filtering based on serial number (Jaroslav Burian - 88319db) * Add support for Python 3.13 (Radim Karniš - 6abd05d)
1 parent bf33a1b commit d923745

4 files changed

Lines changed: 109 additions & 84 deletions

File tree

comms/py-esptool/Makefile

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# $NetBSD: Makefile,v 1.19 2025/07/05 11:44:09 wiz Exp $
1+
# $NetBSD: Makefile,v 1.20 2025/07/22 19:13:18 gdt Exp $
22

3-
DISTNAME= esptool-4.8.1
3+
DISTNAME= esptool-5.0.1
44
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
55
CATEGORIES= comms python
66
MASTER_SITES= ${MASTER_SITE_PYPI:=e/esptool/}
@@ -11,21 +11,24 @@ COMMENT= Firmware tool for ESP8266/ESP32
1111
LICENSE= gnu-gpl-v2
1212

1313
TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
14-
DEPENDS+= ${PYPKGPREFIX}-argcomplete>=3:../../devel/py-argcomplete
1514
DEPENDS+= ${PYPKGPREFIX}-bitstring>=4.2.1:../../devel/py-bitstring
16-
DEPENDS+= ${PYPKGPREFIX}-ecdsa>=0.16.0:../../security/py-ecdsa
17-
DEPENDS+= ${PYPKGPREFIX}-intelhex-[0-9]*:../../devel/py-intelhex
18-
DEPENDS+= ${PYPKGPREFIX}-reedsolo>=1.5.3:../../converters/py-reedsolo
15+
PYTHON_VERSIONED_DEPENDENCIES+= cryptography
1916
DEPENDS+= ${PYPKGPREFIX}-serial>=3.3:../../comms/py-serial
17+
DEPENDS+= ${PYPKGPREFIX}-reedsolo>=1.5.3:../../converters/py-reedsolo
2018
DEPENDS+= ${PYPKGPREFIX}-yaml>=5.1:../../textproc/py-yaml
19+
DEPENDS+= ${PYPKGPREFIX}-intelhex-[0-9]*:../../devel/py-intelhex
20+
DEPENDS+= ${PYPKGPREFIX}-rich-click-[0-9]*:../../devel/py-rich-click
21+
DEPENDS+= ${PYPKGPREFIX}-click-[0-9]*:../../devel/py-click
2122

2223
USE_LANGUAGES= # none
2324

2425
PYTHON_SELF_CONFLICT= yes
2526

26-
PYTHON_VERSIONS_INCOMPATIBLE= 39 310
27+
# esptool requires >= 3.10
28+
# \todo Should 3.10 be explicitly in ACCEPTED?
29+
# \todo If 39 is not added to accepted, do we need to put it in INCOMPATIBLE?
30+
PYTHON_VERSIONS_INCOMPATIBLE= 39
2731

28-
PYTHON_VERSIONED_DEPENDENCIES+= cryptography
2932
.include "../../lang/python/versioned_dependencies.mk"
3033
.include "../../lang/python/wheel.mk"
3134
.include "../../mk/bsd.pkg.mk"

comms/py-esptool/PLIST

Lines changed: 67 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
@comment $NetBSD: PLIST,v 1.10 2025/04/15 15:42:11 adam Exp $
1+
@comment $NetBSD: PLIST,v 1.11 2025/07/22 19:13:18 gdt Exp $
2+
bin/esp_rfc2217_server
23
bin/esp_rfc2217_server.py
4+
bin/espefuse
35
bin/espefuse.py
6+
bin/espsecure
47
bin/espsecure.py
8+
bin/esptool
59
bin/esptool.py
6-
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
7-
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
8-
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
9-
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
10-
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
1110
${PYSITELIB}/esp_rfc2217_server/__init__.py
1211
${PYSITELIB}/esp_rfc2217_server/__init__.pyc
1312
${PYSITELIB}/esp_rfc2217_server/__init__.pyo
@@ -26,6 +25,9 @@ ${PYSITELIB}/espefuse/__init__.pyo
2625
${PYSITELIB}/espefuse/__main__.py
2726
${PYSITELIB}/espefuse/__main__.pyc
2827
${PYSITELIB}/espefuse/__main__.pyo
28+
${PYSITELIB}/espefuse/cli_util.py
29+
${PYSITELIB}/espefuse/cli_util.pyc
30+
${PYSITELIB}/espefuse/cli_util.pyo
2931
${PYSITELIB}/espefuse/efuse/__init__.py
3032
${PYSITELIB}/espefuse/efuse/__init__.pyc
3133
${PYSITELIB}/espefuse/efuse/__init__.pyo
@@ -101,21 +103,6 @@ ${PYSITELIB}/espefuse/efuse/esp32c5/mem_definition.pyo
101103
${PYSITELIB}/espefuse/efuse/esp32c5/operations.py
102104
${PYSITELIB}/espefuse/efuse/esp32c5/operations.pyc
103105
${PYSITELIB}/espefuse/efuse/esp32c5/operations.pyo
104-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.py
105-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.pyc
106-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.pyo
107-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.py
108-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.pyc
109-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.pyo
110-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.py
111-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.pyc
112-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.pyo
113-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.py
114-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.pyc
115-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.pyo
116-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.py
117-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.pyc
118-
${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.pyo
119106
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.py
120107
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.pyc
121108
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.pyo
@@ -161,21 +148,36 @@ ${PYSITELIB}/espefuse/efuse/esp32h2/mem_definition.pyo
161148
${PYSITELIB}/espefuse/efuse/esp32h2/operations.py
162149
${PYSITELIB}/espefuse/efuse/esp32h2/operations.pyc
163150
${PYSITELIB}/espefuse/efuse/esp32h2/operations.pyo
164-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.py
165-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.pyc
166-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.pyo
167-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.py
168-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.pyc
169-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.pyo
170-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.py
171-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.pyc
172-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.pyo
173-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.py
174-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.pyc
175-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.pyo
176-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.py
177-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.pyc
178-
${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.pyo
151+
${PYSITELIB}/espefuse/efuse/esp32h21/__init__.py
152+
${PYSITELIB}/espefuse/efuse/esp32h21/__init__.pyc
153+
${PYSITELIB}/espefuse/efuse/esp32h21/__init__.pyo
154+
${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.py
155+
${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.pyc
156+
${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.pyo
157+
${PYSITELIB}/espefuse/efuse/esp32h21/fields.py
158+
${PYSITELIB}/espefuse/efuse/esp32h21/fields.pyc
159+
${PYSITELIB}/espefuse/efuse/esp32h21/fields.pyo
160+
${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.py
161+
${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.pyc
162+
${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.pyo
163+
${PYSITELIB}/espefuse/efuse/esp32h21/operations.py
164+
${PYSITELIB}/espefuse/efuse/esp32h21/operations.pyc
165+
${PYSITELIB}/espefuse/efuse/esp32h21/operations.pyo
166+
${PYSITELIB}/espefuse/efuse/esp32h4/__init__.py
167+
${PYSITELIB}/espefuse/efuse/esp32h4/__init__.pyc
168+
${PYSITELIB}/espefuse/efuse/esp32h4/__init__.pyo
169+
${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.py
170+
${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.pyc
171+
${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.pyo
172+
${PYSITELIB}/espefuse/efuse/esp32h4/fields.py
173+
${PYSITELIB}/espefuse/efuse/esp32h4/fields.pyc
174+
${PYSITELIB}/espefuse/efuse/esp32h4/fields.pyo
175+
${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.py
176+
${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.pyc
177+
${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.pyo
178+
${PYSITELIB}/espefuse/efuse/esp32h4/operations.py
179+
${PYSITELIB}/espefuse/efuse/esp32h4/operations.pyc
180+
${PYSITELIB}/espefuse/efuse/esp32h4/operations.pyo
179181
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.py
180182
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.pyc
181183
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.pyo
@@ -221,21 +223,6 @@ ${PYSITELIB}/espefuse/efuse/esp32s3/mem_definition.pyo
221223
${PYSITELIB}/espefuse/efuse/esp32s3/operations.py
222224
${PYSITELIB}/espefuse/efuse/esp32s3/operations.pyc
223225
${PYSITELIB}/espefuse/efuse/esp32s3/operations.pyo
224-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.py
225-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.pyc
226-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.pyo
227-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.py
228-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.pyc
229-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.pyo
230-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.py
231-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.pyc
232-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.pyo
233-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.py
234-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.pyc
235-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.pyo
236-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.py
237-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.pyc
238-
${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.pyo
239226
${PYSITELIB}/espefuse/efuse/mem_definition_base.py
240227
${PYSITELIB}/espefuse/efuse/mem_definition_base.pyc
241228
${PYSITELIB}/espefuse/efuse/mem_definition_base.pyo
@@ -246,13 +233,18 @@ ${PYSITELIB}/espefuse/efuse_defs/esp32.yaml
246233
${PYSITELIB}/espefuse/efuse_defs/esp32c2.yaml
247234
${PYSITELIB}/espefuse/efuse_defs/esp32c3.yaml
248235
${PYSITELIB}/espefuse/efuse_defs/esp32c5.yaml
249-
${PYSITELIB}/espefuse/efuse_defs/esp32c5beta3.yaml
250236
${PYSITELIB}/espefuse/efuse_defs/esp32c6.yaml
251237
${PYSITELIB}/espefuse/efuse_defs/esp32c61.yaml
252238
${PYSITELIB}/espefuse/efuse_defs/esp32h2.yaml
239+
${PYSITELIB}/espefuse/efuse_defs/esp32h21.yaml
240+
${PYSITELIB}/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml
241+
${PYSITELIB}/espefuse/efuse_defs/esp32h4.yaml
253242
${PYSITELIB}/espefuse/efuse_defs/esp32p4.yaml
254243
${PYSITELIB}/espefuse/efuse_defs/esp32s2.yaml
255244
${PYSITELIB}/espefuse/efuse_defs/esp32s3.yaml
245+
${PYSITELIB}/espefuse/efuse_interface.py
246+
${PYSITELIB}/espefuse/efuse_interface.pyc
247+
${PYSITELIB}/espefuse/efuse_interface.pyo
256248
${PYSITELIB}/espsecure/__init__.py
257249
${PYSITELIB}/espsecure/__init__.pyc
258250
${PYSITELIB}/espsecure/__init__.pyo
@@ -265,6 +257,12 @@ ${PYSITELIB}/espsecure/esp_hsm_sign/__init__.pyo
265257
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.py
266258
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.pyc
267259
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.pyo
260+
${PYSITELIB}/${WHEEL_INFODIR}/METADATA
261+
${PYSITELIB}/${WHEEL_INFODIR}/RECORD
262+
${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
263+
${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
264+
${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
265+
${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
268266
${PYSITELIB}/esptool/__init__.py
269267
${PYSITELIB}/esptool/__init__.pyc
270268
${PYSITELIB}/esptool/__init__.pyo
@@ -274,6 +272,9 @@ ${PYSITELIB}/esptool/__main__.pyo
274272
${PYSITELIB}/esptool/bin_image.py
275273
${PYSITELIB}/esptool/bin_image.pyc
276274
${PYSITELIB}/esptool/bin_image.pyo
275+
${PYSITELIB}/esptool/cli_util.py
276+
${PYSITELIB}/esptool/cli_util.pyc
277+
${PYSITELIB}/esptool/cli_util.pyo
277278
${PYSITELIB}/esptool/cmds.py
278279
${PYSITELIB}/esptool/cmds.pyc
279280
${PYSITELIB}/esptool/cmds.pyo
@@ -283,6 +284,9 @@ ${PYSITELIB}/esptool/config.pyo
283284
${PYSITELIB}/esptool/loader.py
284285
${PYSITELIB}/esptool/loader.pyc
285286
${PYSITELIB}/esptool/loader.pyo
287+
${PYSITELIB}/esptool/logger.py
288+
${PYSITELIB}/esptool/logger.pyc
289+
${PYSITELIB}/esptool/logger.pyo
286290
${PYSITELIB}/esptool/reset.py
287291
${PYSITELIB}/esptool/reset.pyc
288292
${PYSITELIB}/esptool/reset.pyo
@@ -301,27 +305,21 @@ ${PYSITELIB}/esptool/targets/esp32c3.pyo
301305
${PYSITELIB}/esptool/targets/esp32c5.py
302306
${PYSITELIB}/esptool/targets/esp32c5.pyc
303307
${PYSITELIB}/esptool/targets/esp32c5.pyo
304-
${PYSITELIB}/esptool/targets/esp32c5beta3.py
305-
${PYSITELIB}/esptool/targets/esp32c5beta3.pyc
306-
${PYSITELIB}/esptool/targets/esp32c5beta3.pyo
307308
${PYSITELIB}/esptool/targets/esp32c6.py
308309
${PYSITELIB}/esptool/targets/esp32c6.pyc
309310
${PYSITELIB}/esptool/targets/esp32c6.pyo
310311
${PYSITELIB}/esptool/targets/esp32c61.py
311312
${PYSITELIB}/esptool/targets/esp32c61.pyc
312313
${PYSITELIB}/esptool/targets/esp32c61.pyo
313-
${PYSITELIB}/esptool/targets/esp32c6beta.py
314-
${PYSITELIB}/esptool/targets/esp32c6beta.pyc
315-
${PYSITELIB}/esptool/targets/esp32c6beta.pyo
316314
${PYSITELIB}/esptool/targets/esp32h2.py
317315
${PYSITELIB}/esptool/targets/esp32h2.pyc
318316
${PYSITELIB}/esptool/targets/esp32h2.pyo
319-
${PYSITELIB}/esptool/targets/esp32h2beta1.py
320-
${PYSITELIB}/esptool/targets/esp32h2beta1.pyc
321-
${PYSITELIB}/esptool/targets/esp32h2beta1.pyo
322-
${PYSITELIB}/esptool/targets/esp32h2beta2.py
323-
${PYSITELIB}/esptool/targets/esp32h2beta2.pyc
324-
${PYSITELIB}/esptool/targets/esp32h2beta2.pyo
317+
${PYSITELIB}/esptool/targets/esp32h21.py
318+
${PYSITELIB}/esptool/targets/esp32h21.pyc
319+
${PYSITELIB}/esptool/targets/esp32h21.pyo
320+
${PYSITELIB}/esptool/targets/esp32h4.py
321+
${PYSITELIB}/esptool/targets/esp32h4.pyc
322+
${PYSITELIB}/esptool/targets/esp32h4.pyo
325323
${PYSITELIB}/esptool/targets/esp32p4.py
326324
${PYSITELIB}/esptool/targets/esp32p4.pyc
327325
${PYSITELIB}/esptool/targets/esp32p4.pyo
@@ -331,39 +329,36 @@ ${PYSITELIB}/esptool/targets/esp32s2.pyo
331329
${PYSITELIB}/esptool/targets/esp32s3.py
332330
${PYSITELIB}/esptool/targets/esp32s3.pyc
333331
${PYSITELIB}/esptool/targets/esp32s3.pyo
334-
${PYSITELIB}/esptool/targets/esp32s3beta2.py
335-
${PYSITELIB}/esptool/targets/esp32s3beta2.pyc
336-
${PYSITELIB}/esptool/targets/esp32s3beta2.pyo
337332
${PYSITELIB}/esptool/targets/esp8266.py
338333
${PYSITELIB}/esptool/targets/esp8266.pyc
339334
${PYSITELIB}/esptool/targets/esp8266.pyo
335+
${PYSITELIB}/esptool/targets/stub_flasher/1/.DS_Store
340336
${PYSITELIB}/esptool/targets/stub_flasher/1/README.md
341337
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32.json
342338
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c2.json
343339
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c3.json
344340
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c5.json
345-
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c5beta3.json
346341
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c6.json
347342
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c61.json
348-
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c6beta.json
349343
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2.json
350-
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2beta1.json
351-
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2beta2.json
352344
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32p4.json
353345
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s2.json
354346
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s3.json
355-
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s3beta2.json
356347
${PYSITELIB}/esptool/targets/stub_flasher/1/esp8266.json
357348
${PYSITELIB}/esptool/targets/stub_flasher/2/LICENSE-APACHE
358349
${PYSITELIB}/esptool/targets/stub_flasher/2/LICENSE-MIT
359350
${PYSITELIB}/esptool/targets/stub_flasher/2/README.md
360351
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32.json
361352
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c2.json
362353
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c3.json
354+
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c5.json
363355
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c6.json
356+
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c61.json
364357
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32h2.json
358+
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32p4.json
365359
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32s2.json
366360
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32s3.json
361+
${PYSITELIB}/esptool/targets/stub_flasher/2/esp8266.json
367362
${PYSITELIB}/esptool/uf2_writer.py
368363
${PYSITELIB}/esptool/uf2_writer.pyc
369364
${PYSITELIB}/esptool/uf2_writer.pyo

comms/py-esptool/distinfo

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
$NetBSD: distinfo,v 1.13 2025/04/15 15:42:11 adam Exp $
1+
$NetBSD: distinfo,v 1.14 2025/07/22 19:13:18 gdt Exp $
22

3-
BLAKE2s (esptool-4.8.1.tar.gz) = 202045bc330c4cd76c2d4e26fcb1fb9211cc2ece7899f9598bb8bcfe4dabe307
4-
SHA512 (esptool-4.8.1.tar.gz) = 584d73d2ca501194db782cdb1bc3655e8f7655c4dcbf461877900dc5e0f85934b97712ce9be908d8ee44d8bcca233c6cfc91e63e54305bc9bc08d565eb515b5a
5-
Size (esptool-4.8.1.tar.gz) = 409512 bytes
3+
BLAKE2s (esptool-5.0.1.tar.gz) = 2169c6115850ba1ecb8979baa19d5936c6974d5ce920078cf93d9aa70702b30f
4+
SHA512 (esptool-5.0.1.tar.gz) = dc57f1a36ae0689c878d69c97e207e71f3dfc0b6cb551cc2425c0890329d6b2f1200158150c9a3c1f1d310296f07af4db47fe11b85f76e00140e49ade82eb7a2
5+
Size (esptool-5.0.1.tar.gz) = 373632 bytes
6+
SHA1 (patch-esptool_cli__util.py) = c65229eee5104d55b007fc7c38b4663a3ba37c16
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$NetBSD: patch-esptool_cli__util.py,v 1.1 2025/07/22 19:13:18 gdt Exp $
2+
3+
Adjust click usage for >= 8.2.0, vs upstream's expecation of old click.
4+
5+
https://github.com/espressif/esptool/pull/1104
6+
7+
--- esptool/cli_util.py.orig 2025-07-19 20:28:53.595125845 +0000
8+
+++ esptool/cli_util.py
9+
@@ -155,7 +155,7 @@ class AddrFilenamePairType(click.Path):
10+
11+
name = "addr-filename-pair"
12+
13+
- def get_metavar(self, param):
14+
+ def get_metavar(self, param, ctx=None):
15+
return "<address> <filename>"
16+
17+
def convert(
18+
@@ -294,7 +294,7 @@ class OptionEatAll(click.Option):
19+
self._eat_all_parser = None
20+
# Set the metavar dynamically based on the type's metavar
21+
if self.type and hasattr(self.type, "name"):
22+
- self.metavar = f"[{self.type.get_metavar(None) or self.type.name.upper()}]"
23+
+ self.metavar = f"[{self.type.get_metavar(None, None) or self.type.name.upper()}]"
24+
25+
def add_to_parser(self, parser, ctx):
26+
def parser_process(value, state):

0 commit comments

Comments
 (0)