pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/59531: comms/py-esptool: Update to 5.0.1
>Number: 59531
>Category: pkg
>Synopsis: comms/py-esptool: Update to 5.0.1
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Jul 19 21:00:00 +0000 2025
>Originator: Frédéric Fauberteau
>Release: Darwin 24.5.0
>Organization:
>Environment:
System: Darwin arbiter.local 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:48:46 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T8103 arm64
Architecture: arm
Machine: arm64
>Description:
esptool uses devel/py-click for argument parsing starting from 5.0.0. It requires client<8.2.0 but devel/py-click is 8.2.1. The fix below includes a patch to make esptool working with devel/py-click.
>How-To-Repeat:
>Fix:
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/comms/py-esptool/Makefile,v
retrieving revision 1.19
diff -u -r1.19 Makefile
--- Makefile 5 Jul 2025 11:44:09 -0000 1.19
+++ Makefile 19 Jul 2025 20:42:19 -0000
@@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.19 2025/07/05 11:44:09 wiz Exp $
-DISTNAME= esptool-4.8.1
+DISTNAME= esptool-5.0.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= comms python
MASTER_SITES= ${MASTER_SITE_PYPI:=e/esptool/}
@@ -11,11 +11,11 @@
LICENSE= gnu-gpl-v2
TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
-DEPENDS+= ${PYPKGPREFIX}-argcomplete>=3:../../devel/py-argcomplete
DEPENDS+= ${PYPKGPREFIX}-bitstring>=4.2.1:../../devel/py-bitstring
-DEPENDS+= ${PYPKGPREFIX}-ecdsa>=0.16.0:../../security/py-ecdsa
+DEPENDS+= ${PYPKGPREFIX}-click-[0-9]*:../../devel/py-click
DEPENDS+= ${PYPKGPREFIX}-intelhex-[0-9]*:../../devel/py-intelhex
DEPENDS+= ${PYPKGPREFIX}-reedsolo>=1.5.3:../../converters/py-reedsolo
+DEPENDS+= ${PYPKGPREFIX}-rich-click-[0-9]*:../../devel/py-rich-click
DEPENDS+= ${PYPKGPREFIX}-serial>=3.3:../../comms/py-serial
DEPENDS+= ${PYPKGPREFIX}-yaml>=5.1:../../textproc/py-yaml
@@ -23,7 +23,7 @@
PYTHON_SELF_CONFLICT= yes
-PYTHON_VERSIONS_INCOMPATIBLE= 39 310
+PYTHON_VERSIONS_INCOMPATIBLE= 39
PYTHON_VERSIONED_DEPENDENCIES+= cryptography
.include "../../lang/python/versioned_dependencies.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/comms/py-esptool/PLIST,v
retrieving revision 1.10
diff -u -r1.10 PLIST
--- PLIST 15 Apr 2025 15:42:11 -0000 1.10
+++ PLIST 19 Jul 2025 20:42:19 -0000
@@ -1,13 +1,12 @@
-@comment $NetBSD: PLIST,v 1.10 2025/04/15 15:42:11 adam Exp $
+@comment $NetBSD$
+bin/esp_rfc2217_server
bin/esp_rfc2217_server.py
+bin/espefuse
bin/espefuse.py
+bin/espsecure
bin/espsecure.py
+bin/esptool
bin/esptool.py
-${PYSITELIB}/${WHEEL_INFODIR}/METADATA
-${PYSITELIB}/${WHEEL_INFODIR}/RECORD
-${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
-${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
-${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/esp_rfc2217_server/__init__.py
${PYSITELIB}/esp_rfc2217_server/__init__.pyc
${PYSITELIB}/esp_rfc2217_server/__init__.pyo
@@ -26,6 +25,9 @@
${PYSITELIB}/espefuse/__main__.py
${PYSITELIB}/espefuse/__main__.pyc
${PYSITELIB}/espefuse/__main__.pyo
+${PYSITELIB}/espefuse/cli_util.py
+${PYSITELIB}/espefuse/cli_util.pyc
+${PYSITELIB}/espefuse/cli_util.pyo
${PYSITELIB}/espefuse/efuse/__init__.py
${PYSITELIB}/espefuse/efuse/__init__.pyc
${PYSITELIB}/espefuse/efuse/__init__.pyo
@@ -101,21 +103,6 @@
${PYSITELIB}/espefuse/efuse/esp32c5/operations.py
${PYSITELIB}/espefuse/efuse/esp32c5/operations.pyc
${PYSITELIB}/espefuse/efuse/esp32c5/operations.pyo
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.py
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.pyc
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/__init__.pyo
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.py
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.pyc
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/emulate_efuse_controller.pyo
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.py
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.pyc
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/fields.pyo
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.py
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.pyc
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/mem_definition.pyo
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.py
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.pyc
-${PYSITELIB}/espefuse/efuse/esp32c5beta3/operations.pyo
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.py
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.pyc
${PYSITELIB}/espefuse/efuse/esp32c6/__init__.pyo
@@ -161,21 +148,36 @@
${PYSITELIB}/espefuse/efuse/esp32h2/operations.py
${PYSITELIB}/espefuse/efuse/esp32h2/operations.pyc
${PYSITELIB}/espefuse/efuse/esp32h2/operations.pyo
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.py
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.pyc
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/__init__.pyo
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.py
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.pyc
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/emulate_efuse_controller.pyo
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.py
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.pyc
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/fields.pyo
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.py
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.pyc
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/mem_definition.pyo
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.py
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.pyc
-${PYSITELIB}/espefuse/efuse/esp32h2beta1/operations.pyo
+${PYSITELIB}/espefuse/efuse/esp32h21/__init__.py
+${PYSITELIB}/espefuse/efuse/esp32h21/__init__.pyc
+${PYSITELIB}/espefuse/efuse/esp32h21/__init__.pyo
+${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.py
+${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.pyc
+${PYSITELIB}/espefuse/efuse/esp32h21/emulate_efuse_controller.pyo
+${PYSITELIB}/espefuse/efuse/esp32h21/fields.py
+${PYSITELIB}/espefuse/efuse/esp32h21/fields.pyc
+${PYSITELIB}/espefuse/efuse/esp32h21/fields.pyo
+${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.py
+${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.pyc
+${PYSITELIB}/espefuse/efuse/esp32h21/mem_definition.pyo
+${PYSITELIB}/espefuse/efuse/esp32h21/operations.py
+${PYSITELIB}/espefuse/efuse/esp32h21/operations.pyc
+${PYSITELIB}/espefuse/efuse/esp32h21/operations.pyo
+${PYSITELIB}/espefuse/efuse/esp32h4/__init__.py
+${PYSITELIB}/espefuse/efuse/esp32h4/__init__.pyc
+${PYSITELIB}/espefuse/efuse/esp32h4/__init__.pyo
+${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.py
+${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.pyc
+${PYSITELIB}/espefuse/efuse/esp32h4/emulate_efuse_controller.pyo
+${PYSITELIB}/espefuse/efuse/esp32h4/fields.py
+${PYSITELIB}/espefuse/efuse/esp32h4/fields.pyc
+${PYSITELIB}/espefuse/efuse/esp32h4/fields.pyo
+${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.py
+${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.pyc
+${PYSITELIB}/espefuse/efuse/esp32h4/mem_definition.pyo
+${PYSITELIB}/espefuse/efuse/esp32h4/operations.py
+${PYSITELIB}/espefuse/efuse/esp32h4/operations.pyc
+${PYSITELIB}/espefuse/efuse/esp32h4/operations.pyo
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.py
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.pyc
${PYSITELIB}/espefuse/efuse/esp32p4/__init__.pyo
@@ -221,21 +223,6 @@
${PYSITELIB}/espefuse/efuse/esp32s3/operations.py
${PYSITELIB}/espefuse/efuse/esp32s3/operations.pyc
${PYSITELIB}/espefuse/efuse/esp32s3/operations.pyo
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.py
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.pyc
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/__init__.pyo
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.py
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.pyc
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/emulate_efuse_controller.pyo
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.py
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.pyc
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/fields.pyo
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.py
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.pyc
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/mem_definition.pyo
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.py
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.pyc
-${PYSITELIB}/espefuse/efuse/esp32s3beta2/operations.pyo
${PYSITELIB}/espefuse/efuse/mem_definition_base.py
${PYSITELIB}/espefuse/efuse/mem_definition_base.pyc
${PYSITELIB}/espefuse/efuse/mem_definition_base.pyo
@@ -246,13 +233,18 @@
${PYSITELIB}/espefuse/efuse_defs/esp32c2.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32c3.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32c5.yaml
-${PYSITELIB}/espefuse/efuse_defs/esp32c5beta3.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32c6.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32c61.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32h2.yaml
+${PYSITELIB}/espefuse/efuse_defs/esp32h21.yaml
+${PYSITELIB}/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml
+${PYSITELIB}/espefuse/efuse_defs/esp32h4.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32p4.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32s2.yaml
${PYSITELIB}/espefuse/efuse_defs/esp32s3.yaml
+${PYSITELIB}/espefuse/efuse_interface.py
+${PYSITELIB}/espefuse/efuse_interface.pyc
+${PYSITELIB}/espefuse/efuse_interface.pyo
${PYSITELIB}/espsecure/__init__.py
${PYSITELIB}/espsecure/__init__.pyc
${PYSITELIB}/espsecure/__init__.pyo
@@ -265,6 +257,12 @@
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.py
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.pyc
${PYSITELIB}/espsecure/esp_hsm_sign/exceptions.pyo
+${PYSITELIB}/${WHEEL_INFODIR}/METADATA
+${PYSITELIB}/${WHEEL_INFODIR}/RECORD
+${PYSITELIB}/${WHEEL_INFODIR}/WHEEL
+${PYSITELIB}/${WHEEL_INFODIR}/entry_points.txt
+${PYSITELIB}/${WHEEL_INFODIR}/licenses/LICENSE
+${PYSITELIB}/${WHEEL_INFODIR}/top_level.txt
${PYSITELIB}/esptool/__init__.py
${PYSITELIB}/esptool/__init__.pyc
${PYSITELIB}/esptool/__init__.pyo
@@ -274,6 +272,9 @@
${PYSITELIB}/esptool/bin_image.py
${PYSITELIB}/esptool/bin_image.pyc
${PYSITELIB}/esptool/bin_image.pyo
+${PYSITELIB}/esptool/cli_util.py
+${PYSITELIB}/esptool/cli_util.pyc
+${PYSITELIB}/esptool/cli_util.pyo
${PYSITELIB}/esptool/cmds.py
${PYSITELIB}/esptool/cmds.pyc
${PYSITELIB}/esptool/cmds.pyo
@@ -283,6 +284,9 @@
${PYSITELIB}/esptool/loader.py
${PYSITELIB}/esptool/loader.pyc
${PYSITELIB}/esptool/loader.pyo
+${PYSITELIB}/esptool/logger.py
+${PYSITELIB}/esptool/logger.pyc
+${PYSITELIB}/esptool/logger.pyo
${PYSITELIB}/esptool/reset.py
${PYSITELIB}/esptool/reset.pyc
${PYSITELIB}/esptool/reset.pyo
@@ -301,27 +305,21 @@
${PYSITELIB}/esptool/targets/esp32c5.py
${PYSITELIB}/esptool/targets/esp32c5.pyc
${PYSITELIB}/esptool/targets/esp32c5.pyo
-${PYSITELIB}/esptool/targets/esp32c5beta3.py
-${PYSITELIB}/esptool/targets/esp32c5beta3.pyc
-${PYSITELIB}/esptool/targets/esp32c5beta3.pyo
${PYSITELIB}/esptool/targets/esp32c6.py
${PYSITELIB}/esptool/targets/esp32c6.pyc
${PYSITELIB}/esptool/targets/esp32c6.pyo
${PYSITELIB}/esptool/targets/esp32c61.py
${PYSITELIB}/esptool/targets/esp32c61.pyc
${PYSITELIB}/esptool/targets/esp32c61.pyo
-${PYSITELIB}/esptool/targets/esp32c6beta.py
-${PYSITELIB}/esptool/targets/esp32c6beta.pyc
-${PYSITELIB}/esptool/targets/esp32c6beta.pyo
${PYSITELIB}/esptool/targets/esp32h2.py
${PYSITELIB}/esptool/targets/esp32h2.pyc
${PYSITELIB}/esptool/targets/esp32h2.pyo
-${PYSITELIB}/esptool/targets/esp32h2beta1.py
-${PYSITELIB}/esptool/targets/esp32h2beta1.pyc
-${PYSITELIB}/esptool/targets/esp32h2beta1.pyo
-${PYSITELIB}/esptool/targets/esp32h2beta2.py
-${PYSITELIB}/esptool/targets/esp32h2beta2.pyc
-${PYSITELIB}/esptool/targets/esp32h2beta2.pyo
+${PYSITELIB}/esptool/targets/esp32h21.py
+${PYSITELIB}/esptool/targets/esp32h21.pyc
+${PYSITELIB}/esptool/targets/esp32h21.pyo
+${PYSITELIB}/esptool/targets/esp32h4.py
+${PYSITELIB}/esptool/targets/esp32h4.pyc
+${PYSITELIB}/esptool/targets/esp32h4.pyo
${PYSITELIB}/esptool/targets/esp32p4.py
${PYSITELIB}/esptool/targets/esp32p4.pyc
${PYSITELIB}/esptool/targets/esp32p4.pyo
@@ -331,28 +329,21 @@
${PYSITELIB}/esptool/targets/esp32s3.py
${PYSITELIB}/esptool/targets/esp32s3.pyc
${PYSITELIB}/esptool/targets/esp32s3.pyo
-${PYSITELIB}/esptool/targets/esp32s3beta2.py
-${PYSITELIB}/esptool/targets/esp32s3beta2.pyc
-${PYSITELIB}/esptool/targets/esp32s3beta2.pyo
${PYSITELIB}/esptool/targets/esp8266.py
${PYSITELIB}/esptool/targets/esp8266.pyc
${PYSITELIB}/esptool/targets/esp8266.pyo
+${PYSITELIB}/esptool/targets/stub_flasher/1/.DS_Store
${PYSITELIB}/esptool/targets/stub_flasher/1/README.md
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c2.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c3.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c5.json
-${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c5beta3.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c6.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c61.json
-${PYSITELIB}/esptool/targets/stub_flasher/1/esp32c6beta.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2.json
-${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2beta1.json
-${PYSITELIB}/esptool/targets/stub_flasher/1/esp32h2beta2.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32p4.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s2.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s3.json
-${PYSITELIB}/esptool/targets/stub_flasher/1/esp32s3beta2.json
${PYSITELIB}/esptool/targets/stub_flasher/1/esp8266.json
${PYSITELIB}/esptool/targets/stub_flasher/2/LICENSE-APACHE
${PYSITELIB}/esptool/targets/stub_flasher/2/LICENSE-MIT
@@ -360,10 +351,14 @@
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c2.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c3.json
+${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c5.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c6.json
+${PYSITELIB}/esptool/targets/stub_flasher/2/esp32c61.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32h2.json
+${PYSITELIB}/esptool/targets/stub_flasher/2/esp32p4.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32s2.json
${PYSITELIB}/esptool/targets/stub_flasher/2/esp32s3.json
+${PYSITELIB}/esptool/targets/stub_flasher/2/esp8266.json
${PYSITELIB}/esptool/uf2_writer.py
${PYSITELIB}/esptool/uf2_writer.pyc
${PYSITELIB}/esptool/uf2_writer.pyo
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/comms/py-esptool/distinfo,v
retrieving revision 1.13
diff -u -r1.13 distinfo
--- distinfo 15 Apr 2025 15:42:11 -0000 1.13
+++ distinfo 19 Jul 2025 20:42:19 -0000
@@ -1,5 +1,6 @@
$NetBSD: distinfo,v 1.13 2025/04/15 15:42:11 adam Exp $
-BLAKE2s (esptool-4.8.1.tar.gz) = 202045bc330c4cd76c2d4e26fcb1fb9211cc2ece7899f9598bb8bcfe4dabe307
-SHA512 (esptool-4.8.1.tar.gz) = 584d73d2ca501194db782cdb1bc3655e8f7655c4dcbf461877900dc5e0f85934b97712ce9be908d8ee44d8bcca233c6cfc91e63e54305bc9bc08d565eb515b5a
-Size (esptool-4.8.1.tar.gz) = 409512 bytes
+BLAKE2s (esptool-5.0.1.tar.gz) = 2169c6115850ba1ecb8979baa19d5936c6974d5ce920078cf93d9aa70702b30f
+SHA512 (esptool-5.0.1.tar.gz) = dc57f1a36ae0689c878d69c97e207e71f3dfc0b6cb551cc2425c0890329d6b2f1200158150c9a3c1f1d310296f07af4db47fe11b85f76e00140e49ade82eb7a2
+Size (esptool-5.0.1.tar.gz) = 373632 bytes
+SHA1 (patch-esptool_cli__util.py) = ed6379945e98a30343df9e3c873a6c563e7ad6ed
Index: patches/patch-esptool_cli__util.py
===================================================================
RCS file: patches/patch-esptool_cli__util.py
diff -N patches/patch-esptool_cli__util.py
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-esptool_cli__util.py 19 Jul 2025 20:42:19 -0000
@@ -0,0 +1,24 @@
+$NetBSD$
+
+Fix use of click >= 8.2.0.
+
+--- esptool/cli_util.py.orig 2025-07-19 20:28:53.595125845 +0000
++++ esptool/cli_util.py
+@@ -155,7 +155,7 @@ class AddrFilenamePairType(click.Path):
+
+ name = "addr-filename-pair"
+
+- def get_metavar(self, param):
++ def get_metavar(self, param, ctx=None):
+ return "<address> <filename>"
+
+ def convert(
+@@ -294,7 +294,7 @@ class OptionEatAll(click.Option):
+ self._eat_all_parser = None
+ # Set the metavar dynamically based on the type's metavar
+ if self.type and hasattr(self.type, "name"):
+- self.metavar = f"[{self.type.get_metavar(None) or self.type.name.upper()}]"
++ self.metavar = f"[{self.type.get_metavar(None, None) or self.type.name.upper()}]"
+
+ def add_to_parser(self, parser, ctx):
+ def parser_process(value, state):
Home |
Main Index |
Thread Index |
Old Index