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.
We provide helpful scripts under scripts/ to allow you to download pre-built binaries of build them yourself, depending on your needs. Please audit them before executing!
Note
Due to the nature of this project, it might be necessary to re-install libdave when updating to a new GoDave version.
The version that require this may be indicated with a minor bump (for reference: mayor.minor.patch).
You can see what version is required by checking this file
Open a terminal and execute the following commands:
# Set CC/CXX variables to change the compiler used (ie, for clang
#export CC=/usr/bin/clang CXX=/usr/bin/clang
./libdave_install.sh v1.1.0If you want to build a MUSL version of libdave, you can execute the following commands:
export VCPKG_FORCE_SYSTEM_BINARIES=1
export CC=/usr/bin/gcc CXX=/usr/bin/g++
export CXXFLAGS="-Wno-error=maybe-uninitialized"
# Install necessary packages
apk add build-base cmake ninja zip unzip curl git pkgconfig perl nams go
# FORCE_BUILD=1 as Discord do not provide pre-built binaries
FORCE_BUILD=1 ./libdave_install.sh v1.1.0Open Powershell and execute the following commands:
Set-ExecutionPolicy RemoteSigned –Scope Process
.\libdave_install.ps1 v1.1.0For an example of how to use GoDave, please see here