Re: [NEW] net/simplexmq and net/simplex-chat
David Uhden Collado <[email protected]> Tue, 28 Jul 2026 21:46:00 +0000
| Newsgroups | gmane.os.openbsd.ports |
|---|---|
| Message-ID | <[email protected]> |
David Uhden Collado wrote:
> Hello ports@,
>
> These are new ports for:
>
> net/simplexmq -- SimpleX Messaging Protocol server
> net/simplex-chat -- SimpleX Chat terminal client
>
> simplexmq provides the SMP message broker and the XFTP file-transfer
> server. simplex-chat is the terminal client. Both use devel/cabal
> and are restricted to amd64 and arm64 (GHC bootstrap is not
> available on other architectures).
>
> The ports target the latest stable upstream releases: simplexmq
> v6.5.5.0 (commit 92598c2d) and simplex-chat v6.5.6 (tag v6.5.6).
>
> Patches applied:
> - LibreSSL paths, ED448 fallback in XFTP server init
> - GHC 9.10+ and http2 5.x compatibility (TypeLits,
> DuplicateRecordFields, Config -> defaultConfig API migration)
> - OpenBSD-style config and log directories under /etc/simplex/ and
> /var/simplex/
> - crypton/ram bytearray migration (memory -> ram, asn1-* ->
> crypton-asn1-*)
> - HSEC-2026-0007 backport for aeson 2.2.1.0
> - Service authentication moved from TLS client credentials to the
> SMP handshake
> - SPDX license identifiers and mdoc(7) man pages for the three
> binaries
> - dos2unix normalization of upstream sources before patching
>
> User/group:
> I am requesting UID 906 for _simplexmq. The pid file patch is
> included in the port. See infrastructure/db/user.list diff attached.
>
> Open items I would like feedback on:
>
> 1. Test failures in simplexmq
> The simplexmq test suite starts local SMP and XFTP servers to run
> integration tests. Most tests pass, but the XFTP transfer tests
> fail with a connect error ("end of file") when client tests try
> to connect to the XFTP test server on localhost:8000. The TLS
> handshake terminates immediately.
>
> This may be a LibreSSL compatibility issue in the test server's
> TLS setup, or a port-binding race. I have not yet determined the
> root cause. If it turns out to be a test-infrastructure issue
> that does not affect runtime server behavior, it may be safe to
> mark the test suite as known-failing on OpenBSD. Feedback from
> anyone familiar with the TLS/crypton stack on OpenBSD would be
> very helpful here.
>
> 2. Test conflicts between simplexmq and simplex-chat
> Both test suites start local SMP/XFTP servers on fixed ports.
> Running `make test` in one port while the other is installed or
> running will cause port conflicts. For now, the tests should be
> run sequentially and on a clean system. I have not yet
> implemented randomized port selection for the test servers;
> patches welcome.
>
> 3. Vendored dependencies
> Both ports carry vendored Haskell dependencies via DIST_TUPLE
> (aeson, hs-socks, direct-sqlcipher, sqlcipher-simple, warp,
> warp-tls, terminal, android-support, zip, blst, libbbs). These
> are upstream forks pinned to specific commits. The cabal.inc
> manifests are regenerated via `make cabal-inc`, which requires
> cabal-bundler from Hackage.
>
> Build test: cabal-inc, build, fake, package on amd64-current with
> GHC 9.10.3 and LibreSSL.
>
> Feedback welcome, especially on the test-failure diagnosis and
> whether a known-failing annotation is acceptable.
I've updated the net/simplexmq and net/simplex-chat ports to the latest
stable release, 7.0.0.
The Haskell direct-sqlcipher and simple-sqlcipher dependencies now link
against the OpenBSD sqlcipher port instead of building their vendored
copy. I made the same change for zlib. I also updated the existing
patches and reorganized the rather large Makefile to make it easier to
maintain.
I'm still having trouble with the simplexmq test suite. I would
appreciate any help identifying the cause of the failures.
For simplex-chat, I'm currently using the latest 7.0.0 beta tag because
there were no CLI changes between beta 6 and the final 7.0.0 release.
net-makefile.patch
(text/x-patch, 288 B)
Index: net/Makefile
--- net/Makefile.orig
+++ net/Makefile
@@ -709,6 +709,8 @@
SUBDIR += silc-server
SUBDIR += silc-server,operops
SUBDIR += sing
+ SUBDIR += simplex-chat
+ SUBDIR += simplexmq
SUBDIR += sipcalc
SUBDIR += sipsak
SUBDIR += slurm
simplex-chat.tar.gz
(application/gzip, 45.2 KB) - not displayed
simplexmq.tar.gz
(application/gzip, 48.6 KB) - not displayed
user.list.patch
(text/x-patch, 281 B)
Index: infrastructure/db/user.list --- infrastructure/db/user.list.orig +++ infrastructure/db/user.list @@ -414,3 +414,4 @@ 903 _iaxmodem _iaxmodem telephony/iaxmodem 904 _neighbot _neighbot net/neighbot 905 _pgweb _pgweb www/pgweb +906 _simplexmq _simplexmq net/simplexmq