tdlight-java-natives-window.../jenkins/docker/win64/dockerfile
2020-10-09 02:29:37 +02:00

90 lines
3.1 KiB
Plaintext

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"]