GoDave is a library that provides Go bindings for libdave and provides a generic DAVE interface allowing for different implementations in the future.
This library uses CGO and dynamic linking to use libdave. As such, it needs to be installed in the system beforehand to build this library.
Note
Due to the nature of this project, it might be necessary to re-install libdave when updating to a new GoDave version.
Versions requiring this will be denoted with a bump in the major version (for reference: major.minor.patch).
We provide helpful scripts in scripts/ to simplify installing
a compatible libdave version. Grab whichever one is applicable to your OS (.sh for Linux and MacOS; ps1 for
Windows PowerShell) and (after auditing its contents) run it and follow any instructions it might output.
Once that step is complete, you can continue with the installation of GoDave.
For a manual build, please clone https://github.com/discord/libdave and use revision
74979cb33febf4ddef0c2b66e57520b339550c17.
Note
We provide no guarantees for this version of GoDave to run for other revisions other than that the one mentioned above.
As the library evolves and new versions of libdave are released, the above revision will be updated to match the GoDave version
Once checked out, please follow the
build instructions and
setup the appropriate pkg-config file and configuration to allow for discovery at compilation time.
For an example of how to use GoDave, please see here

