diff --git a/comms/meshcore-cli/Makefile b/comms/meshcore-cli/Makefile index e48afae463ae..93ea8145e5d3 100644 --- a/comms/meshcore-cli/Makefile +++ b/comms/meshcore-cli/Makefile @@ -1,25 +1,24 @@ PORTNAME= meshcore_cli -PORTVERSION= 1.4.1 -PORTREVISION= 1 +PORTVERSION= 1.4.2 CATEGORIES= comms python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= samm@FreeBSD.org COMMENT= CLI interface to MeshCore companion app over TCP or Serial WWW= https://github.com/meshcore-dev/meshcore-cli LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}meshcore>=2.2.8:comms/py-meshcore@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}prompt-toolkit>0:devel/py-prompt-toolkit@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pycryptodome>0:security/py-pycryptodome@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} USES= python:3.10+ USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include diff --git a/comms/meshcore-cli/distinfo b/comms/meshcore-cli/distinfo index 616838279e80..af2c677310b1 100644 --- a/comms/meshcore-cli/distinfo +++ b/comms/meshcore-cli/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1770763659 -SHA256 (meshcore_cli-1.4.1.tar.gz) = e3b4a2a27b44b07193fe1907eedd20620bfbb7be85ae8302d46859d374133943 -SIZE (meshcore_cli-1.4.1.tar.gz) = 44929 +TIMESTAMP = 1771277214 +SHA256 (meshcore_cli-1.4.2.tar.gz) = 3b5e1451b1c9035f26237574ddab32e6b713ea8998b52bd58c33650ce0921d62 +SIZE (meshcore_cli-1.4.2.tar.gz) = 45272 diff --git a/comms/meshcore-cli/files/patch-src_meshcore__cli_meshcore__cli.py b/comms/meshcore-cli/files/patch-src_meshcore__cli_meshcore__cli.py deleted file mode 100644 index 1e4a332117b6..000000000000 --- a/comms/meshcore-cli/files/patch-src_meshcore__cli_meshcore__cli.py +++ /dev/null @@ -1,94 +0,0 @@ ---- src/meshcore_cli/meshcore_cli.py.orig 2020-02-02 00:00:00 UTC -+++ src/meshcore_cli/meshcore_cli.py -@@ -9,8 +9,6 @@ import time, datetime - import getopt, json, shlex, re - import logging - import requests --from bleak import BleakScanner, BleakClient --from bleak.exc import BleakError, BleakDBusError - import serial.tools.list_ports - from pathlib import Path - import traceback -@@ -27,6 +25,13 @@ from prompt_toolkit.document import Document - from Crypto.Cipher import AES - from Crypto.Hash import HMAC, SHA256 - -+try: -+ from bleak import BleakScanner, BleakClient -+ from bleak.exc import BleakError, BleakDBusError -+ BLEAK_AVAILABLE = True -+except ImportError: -+ BLEAK_AVAILABLE = False -+ - import re - - from meshcore import MeshCore, EventType, logger -@@ -4307,16 +4312,17 @@ async def main(argv): - case "-q": # quiet (turns logger to ERROR only) - quiet = True - case "-l" : -- print("BLE devices:") -- try : -- devices = await BleakScanner.discover(timeout=timeout) -- if len(devices) == 0: -- print(" No ble device found") -- for d in devices : -- if not d.name is None and d.name.startswith("MeshCore-"): -- print(f" {d.address} {d.name}") -- except (BleakError, BleakDBusError): -- print(" No BLE HW") -+ if BLEAK_AVAILABLE: -+ print("BLE devices:") -+ try : -+ devices = await BleakScanner.discover(timeout=timeout) -+ if len(devices) == 0: -+ print(" No ble device found") -+ for d in devices : -+ if not d.name is None and d.name.startswith("MeshCore-"): -+ print(f" {d.address} {d.name}") -+ except (BleakError, BleakDBusError): -+ print(" No BLE HW") - print("\nSerial ports:") - ports = serial.tools.list_ports.comports() - for port, desc, hwid in sorted(ports): -@@ -4325,13 +4331,14 @@ async def main(argv): - case "-S" : - choices = [] - -- try : -- devices = await BleakScanner.discover(timeout=timeout) -- for d in devices: -- if not d.name is None and d.name.startswith("MeshCore-"): -- choices.append(({"type":"ble","device":d}, f"{d.address:<22} {d.name}")) -- except (BleakError, BleakDBusError): -- logger.info("No BLE Device") -+ if BLEAK_AVAILABLE: -+ try : -+ devices = await BleakScanner.discover(timeout=timeout) -+ for d in devices: -+ if not d.name is None and d.name.startswith("MeshCore-"): -+ choices.append(({"type":"ble","device":d}, f"{d.address:<22} {d.name}")) -+ except (BleakError, BleakDBusError): -+ logger.info("No BLE Device") - - ports = serial.tools.list_ports.comports() - for port, desc, hwid in sorted(ports): -@@ -4388,7 +4395,7 @@ async def main(argv): - mc = await MeshCore.create_tcp(host=hostname, port=port, debug=debug, only_error=json_output) - elif not serial_port is None : # connect via serial port - mc = await MeshCore.create_serial(port=serial_port, baudrate=baudrate, debug=debug, only_error=json_output) -- else : #connect via ble -+ elif BLEAK_AVAILABLE : #connect via ble - client = None - if device or address and len(address.split(":")) == 6 : - pass -@@ -4471,6 +4478,9 @@ async def main(argv): - f.write(device.address) - elif not address is None: - f.write(address) -+ -+ if mc is None: -+ return - - handle_message.mc = mc # connect meshcore to handle_message - handle_advert.mc = mc