FROM docker.io/emscripten/emsdk:3.1.53 as builder

RUN apt-get update && \
    apt-get install -y --no-install-recommends make cmake git && \
    apt-get autoremove -y && apt-get clean

RUN userdel emscripten -r
USER root
ENV BUILD_DIR=build-wasm

WORKDIR /

RUN git clone https://github.com/corwinkuiper/mgba.git --filter=tree:0 -b wasm
RUN mkdir /mgba/build-wasm
WORKDIR /mgba/build-wasm
RUN git checkout 3e29f3ae39f59faeb1d69e03e2f9ea1d5e176a1e


RUN emcmake cmake .. && make -j`nproc` install DESTDIR=install


FROM scratch
COPY --from=builder /mgba/build-wasm/wasm/mgba.js .
COPY --from=builder /mgba/build-wasm/wasm/mgba.wasm .
COPY --from=builder /mgba/build-wasm/wasm/mgba.d.ts .
