Hello David,
On Sat, Oct 17, 2026 at 04:53:00AM +0000, David Uhden Collado wrote:
> Hello,
>
> Please find attached two new ports:
>
> - net/simplexmq 7.0.1
> - net/simplex-chat 7.0.4
>
> Upstream:
> https://github.com/simplex-chat/simplexmq
> https://github.com/simplex-chat/simplex-chat
>
> SimpleXMQ provides the SMP messaging server and XFTP file transfer
> server. SimpleX Chat is a terminal-based client supporting end-to-end
> encrypted messaging, group chats and file transfers without requiring
> global user identifiers.
>
> Both ports use devel/cabal and include compatibility patches for
> OpenBSD, GHC 9.10, LibreSSL, SQLCipher and several Haskell dependencies.
> The patches also address asynchronous cancellation, thread cleanup,
> database consistency and test reliability.
>
> The SimpleXMQ port includes:
>
> - Two rc.d services: smp_server and xftp_server.
> - A dedicated _simplexmq user and group (UID/GID 907).
> - Configuration under /etc/simplex and state under /var/simplex.
> - Initialization instructions in pkg/README.
> - ED25519 as the default XFTP certificate algorithm, since LibreSSL
> does not support ED448.
Worth keeping in mind:
eqr6$ pax -zf tmp/ports/simplexmq-v7.0.1.tar.gz | wc -l
102
eqr6$ pax -zf tmp/ports/simplex-chat-v7.0.4.tar.gz | wc -l
96
I took a look at only the first 10 out of 55 patches in simplexmq. The
ones dropping "opt" from paths are alright. The others include diverging
behaviour from upstream that doesn't belong to OpenBSD (all of
patch-src_Simplex_FileTransfer_*, for example). If that needs to be
fixed, it should happen with upstream. If it's integrated but not yet
released (and does fix some critical), reference the upstream commit.
Otherwise, in general, it doesn't really belong in the ports tree.
simplexmq Makefile has its executable bit set. Also it's 281 lines long.
Now, I don't really know the cabal module (I've never ported anything
Haskell-based), but all the users of it in-tree have makefiles with 56
lines or less. That's a smell.
I believe it's the only port using the files/ directory for patches. As
an example, editors/neovim successfully uses DIST_TUPLE and patches for
the extra depedencies.
There are no explanations for deviating from upstream required versions.
> The services run as _simplexmq and must be initialized and explicitly
> enabled by the administrator.
>
> I have also attached the corresponding net/Makefile and
> infrastructure/db/user.list patches.
>
> Both ports were built and their test suites executed on OpenBSD 8.0-current
> amd64 with GHC 9.10.3:
>
> simplexmq 7.0.1:
> 822 examples, 0 failures, 38 pending
>
> simplex-chat 7.0.4:
> 981 examples, 0 failures, 39 pending
>
> Both test suites passed. The pending examples are not counted as
> successful tests, and arm64 remains untested.
>
> I would appreciate review and additional testing, particularly of
> the OpenBSD compatibility patches and rc.d integration.
>
> Thank you for your time and consideration.
I don't think this remotely in shape for being accepted, and I refuse
to spend more time reviewing the current version.
Lucas