OpenRiot v8.0.3: The Switchboard Reopens
“The switchboard did not care who owned the wires. It cared whether the call reached the room you asked for. The exchange could be a basement, a storefront, or a closet behind a bakery. What mattered was the pair of copper lines and the person at the other end. Then the companies arrived and said the switchboard was a service, the wires were a subscription, and the room was whatever they decided to remember about you. We kept the copper. We kept the room.” – The OpenRiot Crew, v8.0.3
Release Overview
OpenRiot 8.0.3 reopens two lines that had gone quiet on OpenBSD 8.0: Signal and Monero.
The Signal client moves to gurk 0.10.2. The wallet moves to Monero GUI 0.18.5.4. Neither was a simple version bump. OpenBSD 8.0 brought Clang 22, Boost 1.91, protobuf 7 with abseil, hidapi 0.15, and a Qt5 tree that installs its CMake files somewhere CMake does not look by default. The build scripts had to learn the new exchange.
The wallet bundle is now copied back into the repository after every
build, and the installer always extracts the bundle that shipped with
the release instead of trusting whatever binary is already in
~/.local/bin.
Total changes: two private clients renewed, one build chain rewired, and one stale-binary trap removed.
The Signal Arrives
gurk is the terminal Signal client behind the Signal entry in the
launcher. It now builds from v0.10.2.
The upstream release brings voice-note display, a fix for quotes in
private notes, a fix for the Ctrl+L crash, and a date-line fix that
kept the timestamp one message off. The OpenBSD patch disables
notify-rust, which reaches for /proc/self/exe and takes the
process down when a message arrives.
The script also learned an old lesson: a checkout cannot overwrite
the patched working tree. It fetches tags and forces the checkout
before reapplying the patch. The tracked binary in config/bin/gurk
is rebuilt to match.
A messenger that needs a data center to remember you is not a messenger. It is a ledger with a chat window.
The Wallet Reopens
Monero GUI 0.18.5.4 now builds on the 8.0 toolchain. The wallet is the same local, private client it has always been. The road to get there was mostly plumbing.
OpenBSD 8.0 puts Qt5 CMake files under:
/usr/local/lib/qt5/cmake
CMake does not search that path by default. The script now passes
each module directory explicitly, points at lrelease, and adds
/usr/local/lib/qt5 to the linker path.
Two source patches keep the wallet compiling:
- Boost 1.91 and Clang 22 reject
boost::make_unsignedon enums because the enum cannot represent-1. The varint path now uses the enum’s underlying type. - hidapi 0.15 renamed
hid_init(). The device layer now callshidapi_hid_init()on new hidapi and keeps the old call for older versions.
The bundle dropped from 25.0M to 10.2M. The new tarball is copied
into config/monero so the next release carries it, not the old one.
Trezor remains disabled. Upstream’s probe compiles with C++11, while OpenBSD’s protobuf and abseil require C++17. The wallet works; the hardware-wallet path does not.
The Exchange Rewires Itself
Both build scripts now force the checkout and resync submodules before applying patches. The old flow assumed a clean tree. The patched tree was not clean, so the next tag could not land.
The Monero installer changed too. It used to skip whenever
~/.local/bin/monero-wallet-gui existed. That preserved a May build
linked against Boost .so.26.0 after OpenBSD moved to .so.27.0.
The result was a loader failure at launch and no update path. The
installer now extracts the bundle whenever it exists, and skips only
when the bundle is missing.
A switchboard that refuses new calls because a call once connected is not a switchboard. It is a museum.
🧾 Files Changed
| File | Change |
|---|---|
scripts/gurk.sh |
gurk v0.10.2, forced checkout |
config/bin/gurk |
Rebuilt for 0.10.2 |
scripts/monero.sh |
Monero v0.18.5.4 |
Qt5 paths, linker path, lrelease |
|
| Forced checkout, submodule sync | |
| Trezor disabled explicitly | |
Copies bundle back to config/monero |
|
scripts/monero-submodule-patch.diff |
NEW Boost enum and hidapi fixes |
scripts/monero-patch.diff |
C++17 and OpenBSD root build |
config/monero/monero.tgz |
Rebuilt, 25.0M to 10.2M |
install/packages.yaml |
Always extract shipped Monero bundle |
🗣️ Final Words
“The line went quiet because the exchange changed the shape of the plug and told everyone the old calls were unsupported. So we filed the plug, traced the pair, and rang the room again. The voice on the other end had not moved. The wires had not moved. Only the company in the middle had decided to sell the silence. We kept the line.” – The OpenRiot Crew, v8.0.3