1.8 KiB
Collaboration
Imugi can be easily built without any local chicken scheme installation by using the devcontainer spec included in this repository.
Using the Devcontainers CLI
First, run npm install -g @devcontainers/cli to install the devcontainers CLI tool.
This requires a working Docker installation, the steps to which can be found here. Also assign your user to the docker group to avoid having to use sudo with docker and devcontainer commands.
Once both of the above are installed, the devcontainer can be started with devcontainer up --workspace-folder . in the repository root. This will build a Debian Trixie container including all Chicken dependencies, and also build Raylib as a static library. We prefer to build with static linking in order to make distribution less annoying.
Once the devcontainer is running, enter it with devcontainer exec --workspace-folder . bash. This will put you at the repository root.
Dependencies
The deps.lock file contains the versions of eggs used in this repository. They can be installed with chicken-install -from-list deps.lock.
Collaborating with Emacs
The .dir-locals.el file automatically sets the Geiser Scheme implementation to Chicken, for any Scheme source file in this directory.
Running Tests & Samples
From the build directory, run csm -program <module> .. to build a particular module, the ./<module> to run it.
Any module defined in the samples or test directory can be run like this, either to show an example game or to run tests for a particular engine module.
If you are running the devcontainer on an X11 Linux host, running the compiled module should forward the window to your hosts X11 display. YMMV for Wayland and non-Linux hosts.