diff --git a/automation/Dockerfile b/automation/Dockerfile index c18657da..1ce554a9 100644 --- a/automation/Dockerfile +++ b/automation/Dockerfile @@ -5,7 +5,7 @@ RUN apt-get --yes upgrade #tzdata is a dependency, won't install otherwise ARG DEBIAN_FRONTEND=noninteractive -RUN apt-get --yes install ca-certificates clang cmake doxygen g++ gcc git graphviz iputils-ping lcov make msitools nano ninja-build pip python3 python3-simplejson python3-six qemu-system-arm rsync valgrind wget winbind wine64-development +RUN apt-get --yes install ca-certificates clang cmake doxygen g++ gcc git graphviz iputils-ping lcov make msitools nano ninja-build pip python3 python3-simplejson python3-six qemu-system-arm rsync valgrind wget winbind RUN python3 -m pip install sphinx breathe @@ -26,8 +26,17 @@ RUN git clone https://github.com/ETLCPP/etl.git && \ RUN wget -qO- https://buggy.irs.uni-stuttgart.de/rtems_releases/rtems6-12.2.1.tar.bz2 | tar -xj -C /opt/ ENV PATH="$PATH:/opt/rtems/6/bin" +# install modern wine for MSVC, removing a conflicting file +RUN dpkg --add-architecture i386 && \ + mkdir -pm755 /etc/apt/keyrings && \ + wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key && \ + wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources && \ + apt-get update && \ + apt-get --yes install winehq-stable +# silence wine +ENV WINEDEBUG=-all -# install msvc using https://github.com/mstorsjo/msvc-wine +# install MSVC using https://github.com/mstorsjo/msvc-wine # see msvc-wine/LICENSE.txt COPY msvc-wine/lowercase msvc-wine/fixinclude msvc-wine/install.sh msvc-wine/vsdownload.py ./ COPY msvc-wine/wrappers/* ./wrappers/ @@ -35,7 +44,6 @@ RUN PYTHONUNBUFFERED=1 ./vsdownload.py --accept-license --dest /opt/msvc && \ ./install.sh /opt/msvc && \ rm lowercase fixinclude install.sh vsdownload.py && \ rm -rf wrappers -COPY msvc-wine/msvcenv-native.sh /opt/msvc RUN wine64 wineboot --init && \ while pgrep wineserver > /dev/null; do sleep 1; done