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