diff --git a/.gitmodules b/.gitmodules index e69de29bb..938d8d86f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "automation/msvc-wine"] + path = automation/msvc-wine + url = https://github.com/mstorsjo/msvc-wine diff --git a/automation/Dockerfile b/automation/Dockerfile index 0404bde92..c18657da5 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 gcc g++ cmake make lcov git valgrind nano iputils-ping python3 pip doxygen graphviz rsync wget qemu-system-arm +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 python3 -m pip install sphinx breathe @@ -21,13 +21,28 @@ RUN git clone https://github.com/ETLCPP/etl.git && \ cmake -B build . && \ cmake --install build/ + +# install our own rtems build 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 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/ +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 + + #ssh needs a valid user to work RUN adduser -q --uid 114 jenkins #add documentation server to known hosts RUN echo "|1|/LzCV4BuTmTb2wKnD146l9fTKgQ=|NJJtVjvWbtRt8OYqFgcYRnMQyVw= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL8ssTonYtgiR/6RRlSIK9WU1ywOcJmxFTLcEblAwH7oifZzmYq3XRfwXrgfMpylEfMFYfCU8JRqtmi19xc21A=" >> /etc/ssh/ssh_known_hosts -RUN echo "|1|CcBvBc3EG03G+XM5rqRHs6gK/Gg=|oGeJQ+1I8NGI2THIkJsW92DpTzs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL8ssTonYtgiR/6RRlSIK9WU1ywOcJmxFTLcEblAwH7oifZzmYq3XRfwXrgfMpylEfMFYfCU8JRqtmi19xc21A=" >> /etc/ssh/ssh_known_hosts \ No newline at end of file +RUN echo "|1|CcBvBc3EG03G+XM5rqRHs6gK/Gg=|oGeJQ+1I8NGI2THIkJsW92DpTzs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL8ssTonYtgiR/6RRlSIK9WU1ywOcJmxFTLcEblAwH7oifZzmYq3XRfwXrgfMpylEfMFYfCU8JRqtmi19xc21A=" >> /etc/ssh/ssh_known_hosts diff --git a/automation/msvc-wine b/automation/msvc-wine new file mode 160000 index 000000000..2d2d7db0b --- /dev/null +++ b/automation/msvc-wine @@ -0,0 +1 @@ +Subproject commit 2d2d7db0b55b0f061eca5f4f1c149608d5501ec6