FROM debian:stable-slim ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get upgrade -y RUN apt-get install wget -y RUN wget https://cdn.azul.com/zulu/bin/zulu11.41.23-ca-jdk11.0.8-linux_amd64.deb -O /tmp/install.deb 2>/dev/null RUN mkdir -p /usr/share/man/man1 RUN apt-get install /tmp/install.deb -y RUN apt-get install sudo -y RUN apt-get install maven -y RUN apt-get install gcc gperf make cmake ccache -y RUN sudo apt-get install mingw-w64 -y RUN apt-get install libssl-dev:amd64 zlib1g-dev:amd64 -y RUN apt-get install python3 -y RUN apt-get install php-fpm php-cli -y RUN apt-get install libreadline-dev git -y RUN apt install unzip -y ARG UNAME=debian ARG UID=1000 ARG GID=1000 RUN groupadd -g $GID -o $UNAME RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME RUN usermod -a -G sudo $UNAME RUN echo "$UNAME ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers USER $UNAME RUN mkdir /home/$UNAME/work RUN mkdir /home/$UNAME/output WORKDIR /home/$UNAME/work ENV CCACHE_DIR=/home/$UNAME/.ccache ENV JAVA_HOME=/usr/lib/jvm/zulu-11-amd64 ENV JAVA_INCLUDE_PATH=/usr/lib/jvm/zulu-11-amd64/include ENV JAVA_INCLUDE_PATH2=/usr/lib/jvm/zulu-11-amd64/include/linux ENV JAVA_AWT_INCLUDE_PATH=/usr/lib/jvm/zulu-11-amd64/include ENV JAVA_AWT_LIBRARY=/usr/lib/jvm/zulu-11-amd64/lib ENV JAVA_JVM_LIBRARY=/usr/lib/jvm/zulu-11-amd64/lib ENV TRAVIS_CPU_ARCH=amd64 ENV TRAVIS_OS_NAME=windows ENV TRAVIS_BUILD_DIR=/home/$UNAME/work ENV TRAVIS_OUTPUT_DIR=/home/$UNAME/output RUN sudo rm -r /home/$UNAME/openssl_cross || true RUN sudo git clone --depth 1 https://github.com/openssl/openssl.git /home/$UNAME/openssl_cross RUN sudo chown -R $UNAME:$UNAME /home/$UNAME/openssl_cross RUN sudo rm -r /home/$UNAME/zlib_cross || true RUN sudo git clone --depth 1 https://github.com/madler/zlib.git /home/$UNAME/zlib_cross RUN sudo chown -R $UNAME:$UNAME /home/$UNAME/zlib_cross RUN sudo rm -r /home/$UNAME/java11_cross || true RUN sudo mkdir /home/$UNAME/java11_cross RUN sudo chown -R $UNAME:$UNAME /home/$UNAME/java11_cross RUN cd /home/$UNAME/java11_cross && \ wget https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.8%2B10/OpenJDK11U-jdk_x64_windows_hotspot_11.0.8_10.zip -O /home/$UNAME/java11_cross/jdk.zip && \ unzip /home/$UNAME/java11_cross/jdk.zip -d /home/$UNAME/java11_cross/ && \ mv /home/$UNAME/java11_cross/jdk-11.0.8+10/ /home/$UNAME/java11_cross/jdk RUN cd /home/$UNAME/zlib_cross && \ export CC=x86_64-w64-mingw32-gcc-posix && \ nice -n 5 chrt -b 0 ./configure --prefix=/home/$UNAME/zlib_cross && \ nice -n 5 chrt -b 0 make -f win32/Makefile.gcc BINARY_PATH=/home/$UNAME/zlib_cross/bin INCLUDE_PATH=/home/$UNAME/zlib_cross/include LIBRARY_PATH=/home/$UNAME/zlib_cross/lib PREFIX=x86_64-w64-mingw32- install RUN cd /home/$UNAME/openssl_cross && \ export CC="" && \ nice -n 5 chrt -b 0 ./Configure --cross-compile-prefix=x86_64-w64-mingw32- --prefix=/home/$UNAME/openssl_cross_dir --openssldir=/home/$UNAME/openssl_cross_dir mingw64 shared no-zlib no-comp && \ nice -n 5 chrt -b 0 make 2>&1 | tee make.log && \ nice -n 5 chrt -b 0 sudo make install RUN cd /home/$UNAME/work CMD ["bash"]