P2P event streams
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench
bin
docs
lib Keep lib directory so chicken-install -s doesn't create with incorrec… Feb 25, 2017
src
tests
.gitignore
LICENSE
README.org
dust.meta
dust.setup

README.org

Dust

A daemon for disseminating events over a peer-to-peer network.

Install

Requirements

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

Build and install

chicken-install -s

OpenBSD

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.

Run tests

Install test dependencies.

chicken-install -s test test-generative data-generators

Run the unit tests.

csi -s tests/run.scm