43 lines
1.4 KiB
Docker
43 lines
1.4 KiB
Docker
FROM docker.io/library/debian:stable-slim
|
|
|
|
# Gather dependencies
|
|
RUN dpkg --add-architecture i386
|
|
RUN apt-get update -y
|
|
RUN apt-get install git wine wine64 wine32 wget unzip pip -y
|
|
|
|
ENV WINEPREFIX=/wineprefix
|
|
# Silence debug warnings in wine (creates noise during compile)
|
|
ENV WINEDEBUG="-all"
|
|
|
|
COPY set-env.reg /tmp/set-env.reg
|
|
|
|
# Create and initialize Wine prefix
|
|
RUN mkdir -p $WINEPREFIX && \
|
|
wineboot --init && \
|
|
# wait for wineboot to finish
|
|
wineserver -w && \
|
|
wine regedit /S /tmp/set-env.reg && \
|
|
# wait for regedit to finish
|
|
wineserver -w
|
|
|
|
# Install MSVC 4.20 and CMake for Windows
|
|
RUN git clone https://github.com/itsmattkc/MSVC420 $WINEPREFIX/drive_c/msvc
|
|
|
|
# Install CMake for Windows
|
|
RUN wget --quiet https://github.com/Kitware/CMake/releases/download/v3.26.6/cmake-3.26.6-windows-i386.zip
|
|
RUN unzip -q cmake-3.26.6-windows-i386.zip -d $WINEPREFIX/drive_c
|
|
RUN mv $WINEPREFIX/drive_c/cmake-3.26.6-windows-i386 $WINEPREFIX/drive_c/cmake
|
|
RUN rm cmake-3.26.6-windows-i386.zip
|
|
|
|
# Install Ninja for Windows
|
|
RUN wget --quiet https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-win.zip
|
|
RUN unzip -q ninja-win.zip -d $WINEPREFIX/drive_c/ninja
|
|
RUN rm ninja-win.zip
|
|
|
|
# Install reccmp
|
|
RUN pip install --break-system-packages git+https://github.com/isledecomp/reccmp
|
|
|
|
# Set up entrypoint script to perform the build
|
|
COPY entrypoint.sh entrypoint.sh
|
|
ENTRYPOINT [ "./entrypoint.sh" ]
|