diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 5aaf59e..0000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM debian:trixie -RUN apt update -RUN apt upgrade - -ENV DISPLAY=:0 - -# Install chicken -RUN apt install -y build-essential git -RUN apt install -y chicken-bin - -# Install chicken tools -RUN chicken-install beaker csm - -# Install raylib -RUN apt install -y libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev libwayland-dev libxkbcommon-dev -RUN git clone --depth 1 https://github.com/raysan5/raylib.git raylib && \ -cd raylib/src/ && \ -make PLATFORM=PLATFORM_DESKTOP && \ -make install - -# Install egg dependencies -RUN chicken-install -from-list deps.lock \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 3cd4515..0000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "Imugi Dev Container", - "build": { - "dockerfile": "Dockerfile" - }, - "runArgs": [ - "--net", "host", - "-e", "DISPLAY=:0", - "-e", "XAUTHORITY=/tmp/.Xauthority", - "-v", "${localEnv:HOME}/.Xauthority:/tmp/.Xauthority" - ] -} diff --git a/COLLABORATION.org b/COLLABORATION.org deleted file mode 100644 index 36a7956..0000000 --- a/COLLABORATION.org +++ /dev/null @@ -1,26 +0,0 @@ -#+title: 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 [[https://docs.docker.com/engine/install/][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 ..~ to build a particular module, the ~./~ 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. - diff --git a/README.org b/README.org index c1ba429..b81e1ec 100644 --- a/README.org +++ b/README.org @@ -184,3 +184,16 @@ Functions for evaluating the render queues. ~evaluate-render-queue~ evaluates a (create-window process: (next-frame) close-predicate: (window-should-close?)) #+end_src ~create-window~ creates a window using the window parameters described above, sets the target frames per second, then enters a loop which runs the ~process:~ function (~next-frame~ by default) on each frame, unless ~close-predicate:~ (Raylib's ~window-should-close~ function by default) returns true, in which case the window is closed. + +* Dependencies +The following Chicken dependencies are required: +- raylib +- SRFI-99 +- SRFI-113 +- SRFI-69 +- csm +- SRFI-78 + +* Running +From the ~build~ directory, run ~csm -program test.engine .. && ./test.engine~ to run engine tests. + diff --git a/all.options b/all.options index a6db636..4efc2d9 100644 --- a/all.options +++ b/all.options @@ -1 +1 @@ --static -L /usr/local/lib/libraylib.a -L -lX11 -L -lXrandr -L -lXi -L -lXcursor -L -lXinerama -L -lXext -L -lGL -L -lm -L -lpthread -L -ldl -L -lrt \ No newline at end of file +-static -L /usr/local/lib64/libraylib.a \ No newline at end of file diff --git a/deps.lock b/deps.lock deleted file mode 100644 index 5740b68..0000000 --- a/deps.lock +++ /dev/null @@ -1,14 +0,0 @@ -("raylib" "1.2.0") -("srfi-1" "0.5.1") -("r7rs" "1.0.12") -("srfi-69" "0.4.3") -("matchable" "1.2") -("srfi-113" "2.0.0") -("foreigners" "1.5") -("srfi-99" "1.4.5") -("srfi-14" "0.2.1") -("miscmacros" "1.0") -("srfi-78" "0.5") -("srfi-42" "1.76") -("srfi-128" "0.11") -("srfi-13" "0.3.4")