A daemon for disseminating events over a peer-to-peer network.
sudo apt-get install chicken-bin libsodium-dev liblmdb-dev libminiupnpc-dev
Currently (until https://bugs.call-cc.org/ticket/1352 is resolved), a patched version of the unix-sockets egg is required. Please fetch the source for this egg by doing:
chicken-install -r unix-sockets
Then apply the patch from the ticket and, in the unix-sockets directory, do:
chicken-install -s
chicken-install -s
On OpenBSD 6.1, I install these packages:
doas pkg_add chicken sodium miniupnpc
Then install LMDB from source:
git clone git://github.com/LMDB/lmdb
cd lmdb
git checkout LMDB_0.9.19
make
# "make install" doesn't work for me as the expected binaries don't all build
doas cp liblmdb.so /usr/local/lib/
doas cp liblmdb.a /usr/local/lib/
doas cp lmdb.h /usr/local/include/
Then build and install dust:
cd dust
CPATH=/usr/local/include doas chicken-install
Note: LMDB has to be used in MDB_WRITEMAP mode on OpenBSD due to the lack of a unified buffer cache. LMDB environments will reserve their full mapsize instead of growing as entries are added and nested transactions will not be supported.
Install test dependencies.
chicken-install -s test test-generative data-generators
Run the unit tests.
csi -s tests/run.scm