FROM debian:bullseye

RUN apt-get update -y && apt-get upgrade -y && apt-get install -y build-essential git cmake python3

WORKDIR /
RUN git clone -b 4.0.21 --depth 1 https://github.com/emscripten-core/emsdk.git emsdk

WORKDIR /emsdk/
RUN ./emsdk install 4.0.21
RUN ./emsdk activate 4.0.21

WORKDIR /
RUN git clone -b v0.3.4 --depth 1 https://github.com/supertux/supertux supertux

WORKDIR /supertux/
RUN git clone --depth 1 https://github.com/icculus/physfs physfs
COPY patch-0.3.4.patch .
RUN git apply patch-0.3.4.patch
RUN bash -c 'source /emsdk/emsdk_env.sh && emcmake cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-sUSE_BOOST_HEADERS=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -sUSE_SDL=1 -sUSE_SDL_IMAGE=1 -sUSE_OGG=1 -sUSE_VORBIS -std=c++03 -sNO_DISABLE_EXCEPTION_CATCHING" -DCMAKE_EXE_LINKER_FLAGS="-sUSE_BOOST_HEADERS=1 -sUSE_OGG=1 -sUSE_VORBIS=1 -sUSE_SDL=1 -sUSE_SDL_IMAGE=1 -sUSE_OGG=1 -sUSE_VORBIS -std=c++03 --preload-file "/supertux/data" --use-preload-plugins -sNO_DISABLE_EXCEPTION_CATCHING -sASSERTIONS=0 -sINITIAL_MEMORY=134217728 -sALLOW_MEMORY_GROWTH=1 -sASYNCIFY=1 -s EXPORTED_RUNTIME_METHODS=[\"ccall\",\"cwrap\"]" -DCMAKE_EXECUTABLE_SUFFIX=.html -DENABLE_OPENGL=OFF -DAPPDATADIR=/supertux/data -DSUPERTUX_VERSION=0.3.4 -B . -S . && emmake make -j$(nproc)'
