debian-hexagon-cross.docker (1646B)
1 # 2 # Docker Hexagon cross-compiler target 3 # 4 # This docker target is used for building hexagon tests. As it also 5 # needs to be able to build QEMU itself in CI we include its 6 # build-deps. 7 # 8 FROM docker.io/library/debian:11-slim 9 10 # Install common build utilities 11 RUN apt update && \ 12 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 13 DEBIAN_FRONTEND=noninteractive eatmydata \ 14 apt install -y --no-install-recommends \ 15 bison \ 16 ca-certificates \ 17 clang \ 18 cmake \ 19 flex \ 20 gcc \ 21 lld \ 22 make \ 23 ninja-build \ 24 python3 \ 25 rsync \ 26 wget \ 27 xz-utils 28 29 ENV TOOLCHAIN_INSTALL /usr/local 30 ENV ROOTFS /usr/local 31 32 ENV LLVM_URL https://github.com/llvm/llvm-project/archive/bfcd21876adc3498065e4da92799f613e730d475.tar.gz 33 ENV MUSL_URL https://github.com/quic/musl/archive/aff74b395fbf59cd7e93b3691905aa1af6c0778c.tar.gz 34 ENV LINUX_URL https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.6.18.tar.xz 35 36 ADD build-toolchain.sh /root/hexagon-toolchain/build-toolchain.sh 37 38 RUN cd /root/hexagon-toolchain && ./build-toolchain.sh 39 40 FROM docker.io/library/debian:11-slim 41 # Duplicate deb line as deb-src 42 RUN cat /etc/apt/sources.list | sed "s/^deb\ /deb-src /" >> /etc/apt/sources.list 43 # Install QEMU build deps for use in CI 44 RUN apt update && \ 45 DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ 46 DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy bison flex git ninja-build && \ 47 DEBIAN_FRONTEND=noninteractive eatmydata \ 48 apt build-dep -yy --arch-only qemu 49 COPY --from=0 /usr/local /usr/local 50 ENV PATH $PATH:/usr/local/bin/