Skip to content

disgoorg/godave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Reference Go Report Go Version License GoDave Version DisGo Discord

discord gopher

GoDave

GoDave is a library that provides Go bindings for libdave and provides a generic DAVE interface allowing for different implementations in the future.

Summary

  1. Libdave Installation
  2. Installation Script (Recommended)
  3. Manual Build
  4. Example Usage
  5. License

Libdave Installation

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).

Installation Script (Recommended)

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.

Manual Build

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.

Example Usage

For an example of how to use GoDave, please see here

License

Distributed under the License. See LICENSE for more information.