Chris Billington wrote:
[email protected] wrote:
På søndag 28. juni 2026 kl. 12:43, skrev Chris Billington
<[email protected]>:

(As previous mail, but with the extra logs snipped out for clarity).
Sorry, I should have done that before.

[email protected] wrote:
På torsdag 25. juni 2026 kl. 11:26, skrev Chris Billington
<[email protected]>:

Thanks- my mistake I had forgotten to re-enable that.
It takes 90 minutes or so to build on my old hardware.
Uncommenting the BUILD_DEPENDS += databases/sqlcipher should allow you
to continue testing.

Chris


Also tested on current/amd64 with privsep.

Tests:

===>  Regression tests for deltachat-rpc-server-2.53.0
warning: `panic` setting is ignored for `bench` profile

test peer_channels::tests::test_can_communicate has been running for over 60 seconds test peer_channels::tests::test_can_reconnect has been running for over 60 seconds
--
// This is as far as it goes with privsep. I'll leave it overnight to
// make sure.


1/2 parla:storage-quota OK              0.06s
2/2 parla:markdown      OK              0.02s

Ok:                2
Fail:              0
--
// Parla's 'make test' completed.

'make port-lib-depends-check check-shlib-syms' did not report anything
amiss for either package.

# TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap parla
parla-0.5.8: ok
--
// Installed fine.

Gave it a quick light test on sway# Ensure system sqlcipher used on 7.9-release/-stable
MODCARGO_ENV +=         LIBSQLITE3_SYS_USE_PKG_CONFIG=1. Ran natively.

No nits or grammar/spelling errors that I could see.

Looks fine other than the aforementioned BUILD_DEPENDS and maybe tests
for deltachat-rpc-server under privsep.

Hope this helps. May you all have a good one.
--
yaydn


Mikolaj Kucharski wrote:
Hi Chris.

Building deltachat-rpc-server failed for me with:

I see that sqlcipher is commented out in the Makefile.


On Thu, Jun 25, 2026 at 12:12:33PM +0800, Chris Billington wrote:
1    net/parla: DeltaChat email instant messaging client in GTK4/Vala

    upstream: https://github.com/trufae/parla

2    net/deltachat-rpc-server: DeltaChat JSON-RPC server in Rust
    (deltachat-rpc-server and deltachat-repl components only)

    upstream: https://github.com/chatmail/core

Delta Chat (https://delta.chat) is an encrypted instant messaging system with clients for Android/IOS/Desktop. The Desktop client uses Electron so is
not available for OpenBSD, but the JSON-RPC variant is a lighter
alternative.

It's possible to use your own email server as a relay but upstream are concentrating on providing 'chatmail' servers (default for registering new
'accounts', anonymously) to reduce support burden.

deltachat-rpc-server requires USE_NOEXECONLY to get around issues with the awc-lc-rs TLS crate used by default by rustls. It is possible to patch to use ring to avoid NOEXECONLY but I guess that's a heavier maintenance burden
pending awc-lc-sys upstream fixing the issue.

Tested on amd64 7.9-current and -stable
Testers and comments welcome




Updated deltachat-rpc-server with the following changes:

make:
- build only the deltachat-rpc-server package using MODCARGO_BUILD_ARGS.
The default build is libdeltachat only, which is a dependency of
deltachat-rpc-server.
- add MODCARGO_ENV += LIBSQLITE3_SYS_USE_PKG_CONFIG=1 otherwise builds
on 7.9-release/stable will link the bundled sqlcipher. cargo.port.mk on
current already has this.
- remove deltachat-repl (useful only for debugging) to halve build time

make fake:
- to avoid a full rebuild of both libdeltachat and deltachat-rpc-server
set MODCARGO_INSTALL= no, and do-install the deltachat-rpc-server binary
built by make

make test:
- though there is some noise interleaved with tests from sqlcipher that
pages are not being decrypted, the decryption clearly works on the final
package. Not clear which tests the messages belong to.
- make test only builds a temporary libdeltachat. No specific tests for
deltachat-rpc-server. All 1087 tests pass, but 'make test' hangs after
the last test has been completed ok.
- due to above, MODCARGO_TEST= no

Parla: no changes.
- minor bug: systemtray icon appears when set, but menu items
nonfunctional (DBus 'No such method' error). Please test.

Tested on 7.9-stable and -current amd64
Testers and comments welcome

Chris


Once more under current/amd64 with privsep.
Build date: 1782827771 - Tue Jun 30 13:56:11 UTC 2026

Did:

// Built deltachat-rpc-server parla and did tests/checks
$ cd /usr/ports/net/deltachat-rpc-server/ && make clean=all clean && make build package test ; make port-lib-depends-check check-shlib-syms

===>  Building package for deltachat-rpc-server-2.53.0
Create /usr/ports/packages/amd64/all/deltachat-rpc-server-2.53.0.tgz
Creating package deltachat-rpc-server-2.53.0
Link to /usr/ports/packages/amd64/ftp/deltachat-rpc-server-2.53.0.tgz
===>  Regression tests for deltachat-rpc-server-2.53.0
make: cannot open Makefile.
*** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3114 '/usr/ports/pobj/deltachat-rpc-server-2.53.0/.test_done': @cd /usr/ports/pob...) *** Error 2 in /usr/ports/net/deltachat-rpc-server (/usr/ports/infrastructure/mk/bsd.port.mk:2722 'test': @lock=deltachat-rpc-server-2.53.0;...)
--
// Did this thrice. Checks were fine. However, I suspect I am doing
// something wrong with 'make test'.
# Ensure system sqlcipher used on 7.9-release/-stable
MODCARGO_ENV +=         LIBSQLITE3_SYS_USE_PKG_CONFIG=1
// Reinstalled deltachat-rpc-server
# TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -Dinstalled -r deltachat-rpc-server
deltachat-rpc-server-2.53.0->2.53.0: ok
--

// Built parla and did tests/checks
$ cd /usr/ports/net/parla/ && make clean=all clean && make patch build package test ; make port-lib-depends-check check-shlib-syms

===>  Regression tests for parla-0.5.8
exec /usr/bin/env -i LC_CTYPE="en_US.UTF-8" PORTSDIR="/usr/ports" LIBTOOL="/usr/bin/libtool" PATH='/usr/ports/pobj/parla-0.5.8/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11R6/bin' PREFIX='/usr/local'  LOCALBASE='/usr/local' X11BASE='/usr/X11R6' CFLAGS='-O2 -pipe -g'  TRUEPREFIX='/usr/local' DESTDIR='' HOME='/parla-0.5.8_writes_to_HOME' PICFLAG="-fpic"  BINGRP=bin BINOWN=root BINMODE=755 NONBINMODE=644  DIRMODE=755  INSTALL_COPY=-c INSTALL_STRIP=  MANGRP=bin MANOWN=root MANMODE=644 BSD_INSTALL_PROGRAM="/usr/ports/pobj/parla-0.5.8/bin/install -c  -m 755"  BSD_INSTALL_SCRIPT="/usr/ports/pobj/parla-0.5.8/bin/install -c -m 755"  BSD_INSTALL_DATA="/usr/ports/pobj/parla-0.5.8/bin/install -c -m 644"  BSD_INSTALL_MAN="/usr/ports/pobj/parla-0.5.8/bin/install -c -m 644" BSD_INSTALL_PROGRAM_DIR="/usr/ports/pobj/parla-0.5.8/bin/install -d -m 755"  BSD_INSTALL_SCRIPT_DIR="/usr/ports/pobj/parla-0.5.8/bin/install -d -m 755" BSD_INSTALL_DATA_DIR="/usr/ports/pobj/parla-0.5.8/bin/install -d -m 755"  BSD_INSTALL_MAN_DIR="/usr/ports/pobj/parla-0.5.8/bin/install -d -m 755"   /usr/local/bin/meson test --num-processes 1 --print-errorlogs -C /usr/ports/pobj/parla-0.5.8/build-amd64
ninja: Entering directory `/usr/ports/pobj/parla-0.5.8/build-amd64'
ninja: no work to do.
1/2 parla:storage-quota OK              0.18s
2/2 parla:markdown      OK              1.45s

Ok:                2
Fail:              0
--
// The checks had no issues and the tests passed as well.

// Reinstalled parla
# TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -Dinstalled -r parla
parla-0.5.8->0.5.8: ok
--

Some space nits in the net/deltachat-rpc-server/Makefile :

.if ${MACHINE_ARCH} == "amd64"
USE_NOEXECONLY =        Yes
.endif
--

The packages built and installed fine.

Runs natively in sway. Sent some messages back and forth.

Sorry this took so long. I was making sure the other things I was
building was not part of the reason this was not testing properly
somehow. I wanted to be thorough.

Hope this helps. May you all have a good one.
--
yaydn

Thanks for testing!

The 'cannot open Makefile' with 'make test' is due to having MODCARGO_TEST = No in the Makefile. If you comment it, tests should build and run.

As mentioned above all 1077 tests pass here on -current. There are some sqlcipher errors but they seem unrelated to specific tests and the package clearly works to decrypt. But make test fails to complete, _after_ the last test passes with 'ok'. That is why I disabled tests.

Do you see the same with tests re-enabled?

The following was only added for testing on -stable. Not needed on -current due to updates in cargo.port.mk.
# Ensure system sqlcipher used on 7.9-release/-stable
MODCARGO_ENV +=         LIBSQLITE3_SYS_USE_PKG_CONFIG=1

Regards,
Chris
After enabling test debugging with MODCARGO_TEST_ARGS = -- --no-capture, I found the webxdc tests initiate a download of https://apps.testrun.org/webxdc-editor-v3.2.0.xdc

Network access is specifically blocked for the _pbuild user in pf.conf

After temporarily allowing access to the _pbuild user tests complete with 1 failure:

failures:
    tools::tools_tests::test_maybe_warn_on_outdated

test result: FAILED. 1085 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 214.78s

test_maybe_warn_on_outdated is to check if the DC library is an old version. It is a time-based test, comparing release timestamp and timestamp_now. Initial log contains a warning that a failure may be a false positive due to multi threading, but on a rerun with
MODCARGO_TEST_ARGS = -- --no-capture --test-threads 1
it still fails.

thread 'tools::tools_tests::test_maybe_warn_on_outdated' (298851) panicked at src/tools/tools_tests.rs:453:5:
assertion `left == right` failed
  left: 1
 right: 0

452    let chats = Chatlist::try_load(&t, 0, None, None).await.unwrap();
453    assert_eq!(chats.len(), 0);

Probably not catastrophic.

However, since network access during port build is not allowed, MODCARGO_TEST=no is appropriate.

Regards
Chris

Reply via email to