# We might want to switch to alpine, but it is not stable enough yet. FROM ubuntu:14.04 ENV TZ=Europe/Moscow RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # Install crosstool-ng deps. RUN apt-get update RUN apt-get install -y curl gcc git g++ gperf bison flex texinfo help2man make libncurses5-dev \ python3-dev autoconf automake libtool gawk wget bzip2 xz-utils unzip \ patch libstdc++6 rsync # Put a fix for strip. COPY patches/github_pull_1244.patch . # Install crosstool-ng. RUN git clone --branch crosstool-ng-1.24.0 --depth 1 https://github.com/crosstool-ng/crosstool-ng.git && \ cd crosstool-ng && \ git checkout b2151f1dba2b20c310adfe7198e461ec4469172b && \ git apply ../github_pull_1244.patch && \ ./bootstrap && ./configure && make && make install && \ cd .. && rm -rf crosstool-ng # Create a user. ARG USERNAME=ct RUN groupadd -g 1000 $USERNAME RUN useradd -r -u 1000 --create-home -g $USERNAME $USERNAME USER $USERNAME WORKDIR /home/$USERNAME # Download zlib sources. RUN curl -LO https://zlib.net/zlib-1.2.11.tar.gz && \ tar -xf zlib-1.2.11.tar.gz && \ rm zlib-1.2.11.tar.gz # Save crosstool-ng config files. COPY toolchains toolchains # Used by crosstool-ng. RUN mkdir src ENV TARGET=x86_64-unknown-linux-gnu ENV VERSION=gcc-8.3.0-glibc-2.19-kernel-4.9 ENV TOOLCHAIN_VERSION_SUFFIX="" # Add entry point. COPY build_toolchain.sh . ENTRYPOINT "/bin/bash" "build_toolchain.sh" ${TARGET} ${VERSION} ${TOOLCHAIN_VERSION_SUFFIX}