Hello,
A lot has been going on recently for the Reticulum ecosystem.
Here are updates for the 3 ports already in the tree:
- net/py-rns 1.1.2
- net/py-lxmf 0.9.3
- net/nomadnet 0.9.7
These recent versions ship with new features and bug fixes.
The attached patches are relatively simple, and with them the ports build and
run fine, at least on amd64.
For py-rns, 'make test' fails (error message below) but it does not prevent the
port from working as expected.
Best regards,
SF
--
It seems 'make test' fails because the tests directory is not created, I don't
know why:
===> py3-rns-1.1.2 depends on: py3-serial-* -> py3-serial-3.5p0
===> py3-rns-1.1.2 depends on: py3-cryptography-* -> py3-cryptography-46.0.3
===> py3-rns-1.1.2 depends on: py3-test-* -> py3-test-9.0.2
===> Regression tests for py3-rns-1.1.2
============================= test session starts ==============================
platform openbsd7 -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 --
/usr/local/bin/python3.13
cachedir: .pytest_cache
hypothesis profile 'default'
rootdir: /usr/ports/pobj/py-rns-1.1.2/rns-1.1.2
plugins: hypothesis-6.138.14
collecting ... ERROR: file or directory not found: tests/all.py
collected 0 items
============================ no tests ran in 0.97s =============================
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/py-rns/Makefile,v
diff -u -p -r1.4 Makefile
--- Makefile 17 Jul 2025 16:26:32 -0000 1.4
+++ Makefile 9 Jan 2026 18:19:30 -0000
@@ -1,6 +1,6 @@
COMMENT = cryptography-based networking stack
-MODPY_DISTV = 1.0.0
+MODPY_DISTV = 1.1.2
DISTNAME= rns-${MODPY_DISTV}
PKGNAME = py-${DISTNAME}
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/py-rns/distinfo,v
diff -u -p -r1.3 distinfo
--- distinfo 17 Jul 2025 16:26:32 -0000 1.3
+++ distinfo 9 Jan 2026 18:19:30 -0000
@@ -1,2 +1,2 @@
-SHA256 (rns-1.0.0.tar.gz) = nxxZTk6r1k3qTBvVmtG5KR5qKLHYq1aJoZcI8TEAc1s=
-SIZE (rns-1.0.0.tar.gz) = 6695768
+SHA256 (rns-1.1.2.tar.gz) = /yr1ZJDAZa3MXziu8HCBsZuzVRAUBtENdo7FT3g6MMM=
+SIZE (rns-1.1.2.tar.gz) = 388058
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/py-rns/pkg/PLIST,v
diff -u -p -r1.5 PLIST
--- pkg/PLIST 23 Oct 2025 13:20:08 -0000 1.5
+++ pkg/PLIST 9 Jan 2026 18:19:30 -0000
@@ -3,6 +3,7 @@ bin/rnid
bin/rnir
bin/rnodeconf
bin/rnpath
+bin/rnpkg
bin/rnprobe
bin/rnsd
bin/rnstatus
@@ -85,6 +86,7 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/Cryptography/pure25519/ed25519_oop.py
lib/python${MODPY_VERSION}/site-packages/RNS/Cryptography/pure25519/eddsa.py
lib/python${MODPY_VERSION}/site-packages/RNS/Destination.py
+lib/python${MODPY_VERSION}/site-packages/RNS/Discovery.py
lib/python${MODPY_VERSION}/site-packages/RNS/Identity.py
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/AX25KISSInterface.py
@@ -114,6 +116,7 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/SerialInterface.py
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/TCPInterface.py
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/UDPInterface.py
+lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/WeaveInterface.py
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/__init__.py
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}AX25KISSInterface.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -142,6 +145,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}TCPInterface.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}UDPInterface.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}UDPInterface.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}WeaveInterface.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}WeaveInterface.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Interfaces/util/
@@ -173,6 +178,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnodeconf.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnpath.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnpath.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnpkg.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnpkg.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnprobe.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnprobe.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/${MODPY_PYCACHE}rnsd.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -186,6 +193,7 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnir.py
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnodeconf.py
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnpath.py
+lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnpkg.py
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnprobe.py
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnsd.py
lib/python${MODPY_VERSION}/site-packages/RNS/Utilities/rnstatus.py
@@ -198,6 +206,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Channel.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Destination.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Destination.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Discovery.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Discovery.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Identity.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Identity.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/RNS/${MODPY_PYCACHE}Link.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/py-lxmf/Makefile,v
diff -u -p -r1.4 Makefile
--- Makefile 17 Jul 2025 16:26:56 -0000 1.4
+++ Makefile 9 Jan 2026 18:20:13 -0000
@@ -1,6 +1,6 @@
COMMENT = lightweight extensible message format
-MODPY_DISTV = 0.8.0
+MODPY_DISTV = 0.9.3
DISTNAME= lxmf-${MODPY_DISTV}
PKGNAME = py-${DISTNAME}
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/py-lxmf/distinfo,v
diff -u -p -r1.3 distinfo
--- distinfo 17 Jul 2025 16:26:56 -0000 1.3
+++ distinfo 9 Jan 2026 18:20:13 -0000
@@ -1,2 +1,2 @@
-SHA256 (lxmf-0.8.0.tar.gz) = Elz26v5jFwY4XMKpCqqtvlZFVxQklee/GV3xFWqb7q4=
-SIZE (lxmf-0.8.0.tar.gz) = 60022
+SHA256 (lxmf-0.9.3.tar.gz) = 5aZ7Ev+F5bXVl3IY/Qih0MsT77ToInx1t7NKQ8bbcyg=
+SIZE (lxmf-0.9.3.tar.gz) = 68630
Index: Makefile
===================================================================
RCS file: /cvs/ports/net/nomadnet/Makefile,v
diff -u -p -r1.5 Makefile
--- Makefile 17 Jul 2025 16:27:21 -0000 1.5
+++ Makefile 9 Jan 2026 18:20:46 -0000
@@ -1,6 +1,6 @@
COMMENT = Reticulum based mesh communication
-MODPY_DISTV = 0.8.0
+MODPY_DISTV = 0.9.7
DISTNAME= nomadnet-${MODPY_DISTV}
PKGNAME = ${DISTNAME}
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/nomadnet/distinfo,v
diff -u -p -r1.3 distinfo
--- distinfo 17 Jul 2025 16:27:21 -0000 1.3
+++ distinfo 9 Jan 2026 18:20:46 -0000
@@ -1,2 +1,2 @@
-SHA256 (nomadnet-0.8.0.tar.gz) = wQnt0klt+/aSuNEL5tipI3x/yxRyWw3piZA7IfMpeRw=
-SIZE (nomadnet-0.8.0.tar.gz) = 506664
+SHA256 (nomadnet-0.9.7.tar.gz) = FkXk/TWAmaqQIPh8kmAjXGUzOa9Oz4zvrENxVrIQfao=
+SIZE (nomadnet-0.9.7.tar.gz) = 510728
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/nomadnet/pkg/PLIST,v
diff -u -p -r1.4 PLIST
--- pkg/PLIST 23 Oct 2025 13:20:06 -0000 1.4
+++ pkg/PLIST 9 Jan 2026 18:20:46 -0000
@@ -28,6 +28,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/nomadnet/${MODPY_PYCACHE}_version.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/${MODPY_PYCACHE}nomadnet.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/nomadnet/${MODPY_PYCACHE}nomadnet.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/nomadnet/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/nomadnet/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/_version.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/examples/
lib/python${MODPY_VERSION}/site-packages/nomadnet/examples/messageboard/
@@ -65,6 +67,7 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Directory.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Extras.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Guide.py
+lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Helpers.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Interfaces.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Log.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/Main.py
@@ -85,6 +88,8 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Extras.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Guide.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Guide.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Helpers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Helpers.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Interfaces.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Interfaces.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Log.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -99,6 +104,7 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}Network.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/nomadnet/ui/textui/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/nomadnet/util.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/vendor/
lib/python${MODPY_VERSION}/site-packages/nomadnet/vendor/AsciiChart.py
lib/python${MODPY_VERSION}/site-packages/nomadnet/vendor/Scrollable.py