github.com/prysmaticlabs/prysm@v1.4.4/tools/cross-toolchain/Dockerfile (about) 1 # Prysmatic Labs Remote Build Execution Image with Cross Compile Support. 2 # 3 # Update instructions. 4 # - Build the docker image. 5 # - Push to gcr.io. 6 # - Update _PRYSM_BUILD_IMAGE_DIGEST in //tools/cross-toolchain/rbe_toolchains_config.bzl 7 # - Run ./tools/cross-toolchain/regenerate.sh 8 # - Add and commit the newly generated configs. 9 # - Done! 10 # 11 # docker build -t gcr.io/prysmaticlabs/rbe-worker:latest . 12 # gcloud docker -- push gcr.io/prysmaticlabs/rbe-worker:latest 13 14 FROM debian:buster-slim as build 15 16 # install gnu/gcc cross-build toolchain (gcc 8.3) 17 ENV DOCKER_CLI_EXPERIMENTAL=enabled 18 RUN apt-get update && \ 19 apt-get install -y \ 20 curl xz-utils \ 21 gcc g++ mingw-w64 \ 22 gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \ 23 cmake libssl-dev libxml2-dev vim apt-transport-https \ 24 zip unzip libtinfo5 patch zlib1g-dev autoconf libtool \ 25 pkg-config make docker.io gnupg2 libgmp-dev python 26 27 # install llvm/clang cross-build toolchains 28 ENV INSTALL_LLVM_VERSION=10.0.0 29 ADD install_clang_cross10.sh /tmp/install_clang_cross.sh 30 RUN /tmp/install_clang_cross.sh 31 32 # install osxcross 33 ADD install_osxcross.sh /tmp/install_osxcross.sh 34 RUN /tmp/install_osxcross.sh 35 36 # containerized development environment 37 FROM build as devel 38 RUN mkdir /workdir 39 WORKDIR /workdir 40 RUN echo 'PS1="\[$(tput setaf 3)$(tput bold)[\]devel@\\h:\\W]#\[$(tput sgr0) \]"' >> /root/.bashrc