ARG BASE_IMAGE_TAG=debian11
ARG PREMAKE_VERSION=5.0.0-beta6
ARG LIBEVENT_VERSION=2.1.12-stable

FROM git-registry.moenext.com/mycard/docker-runner-base:${BASE_IMAGE_TAG} as premake-builder

ARG PREMAKE_VERSION
WORKDIR /usr/src
RUN wget -O premake.zip https://github.com/premake/premake-core/releases/download/v${PREMAKE_VERSION}/premake-${PREMAKE_VERSION}-src.zip && \
    7z x -y premake.zip && \
    mv premake-${PREMAKE_VERSION}-src premake && \
    cd premake/build/gmake.unix && \
    make -j$(nproc)

FROM git-registry.moenext.com/mycard/docker-runner-base:${BASE_IMAGE_TAG} as libevent-builder

ARG LIBEVENT_VERSION
WORKDIR /usr/src
RUN wget -O - https://github.com/libevent/libevent/releases/download/release-${LIBEVENT_VERSION}/libevent-${LIBEVENT_VERSION}.tar.gz | tar zfx - && \
    cd libevent-${LIBEVENT_VERSION} && \
    ./configure --prefix=/usr/share/libevent-stable --disable-openssl --enable-static=yes --enable-shared=no && \
    make -j$(nproc) && \
    make install

FROM git-registry.moenext.com/mycard/docker-runner-base:${BASE_IMAGE_TAG}

RUN apt update && \
    apt -y install git build-essential libgl1-mesa-dev libglu-dev libxxf86vm-dev emscripten && \
    rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /var/tmp/* /var/log/*

COPY --from=premake-builder /usr/src/premake/bin/release/premake5 /usr/bin/premake5
COPY --from=libevent-builder /usr/share/libevent-stable /usr/share/libevent-stable
