-*- mode: org -*- Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared library. The bindings are written in pure Scheme by using Guile's foreign function interface. * Requirements Guile-SDL2 currently depends on the following packages: - GNU Guile >= 2.0.9 - SDL2 >= 2.0.0 - SDL2_image >= 2.0.0 - SDL2_mixer >= 2.0.0 - SDL2_ttf >= 2.0.0 - GNU Make - GNU pkg-config When building from a Git checkout, the following additional packages are required: - GNU Autoconf - GNU Automake * Installing Guile-sdl2 uses the standard GNU build system, so installation requires the usual incantations: # ./configure # make # make install When building from a Git checkout, the following spell is necessary before running the above commands: # ./bootstrap GNU Guix users may install the current development snapshot described in =guix.scm= with the following command: # guix package -f guix.scm * Usage Guile-SDL2 provides modules in the '(sdl2 ...)' namespace, roughly organized how the SDL2 C header files are organized. See the =examples= directory for practical examples. Low-level bindings are available in the '(sdl2 bindings ...)' namespace, but these are not recommended for normal usage. Additionally, SDL2 extension library bindings are available in the following modules: - SDL2_image: (sdl2 image) - SDL2_mixer: (sdl2 mixer) - SDL2_ttf: (sdl2 ttf) * Developing To build the source code from a Git checkout, run the following: # ./bootstrap # ./configure # make To start a Guile REPL with a pre-configured load path for using guile-sdl2, use the =pre-inst-env= script: # ./pre-inst-env guile GNU Guix users may create a development environment with all of the necessary dependencies by running the following command: # guix environment -l guix.scm * Contact Bug reports and patches may be sent to . The maintainer of this library hangs out in the #guile channel on irc.freenode.net, so help and general discussion may also be found there.