| # | 
 | # Docker toolchain cross-compiler | 
 | # | 
 | # This dockerfile is used for building a cross-compiler toolchain. | 
 | # The script for building the toolchain is supplied via extra-files. | 
 | # | 
 | FROM docker.io/library/debian:11-slim | 
 |  | 
 | # Install build utilities for building gcc and glibc. | 
 | # ??? The build-dep isn't working, missing a number of | 
 | # minimal build dependiencies, e.g. libmpc. | 
 |  | 
 | RUN apt update && \ | 
 |     DEBIAN_FRONTEND=noninteractive apt install -yy eatmydata && \ | 
 |     DEBIAN_FRONTEND=noninteractive eatmydata \ | 
 |     apt install -y --no-install-recommends \ | 
 |         bison \ | 
 |         ca-certificates \ | 
 |         flex \ | 
 |         gawk \ | 
 |         libmpc-dev \ | 
 |         libmpfr-dev \ | 
 |         rsync \ | 
 |         wget && \ | 
 |     DEBIAN_FRONTEND=noninteractive eatmydata \ | 
 |     apt build-dep -yy --arch-only gcc glibc | 
 |  | 
 | ADD build-toolchain.sh /root/build-toolchain.sh | 
 |  | 
 | RUN cd /root && ./build-toolchain.sh | 
 |  | 
 | # Throw away the extra toolchain build deps, the downloaded source, | 
 | # and the build trees by restoring the original image, | 
 | # then copying the built toolchain from stage 0. | 
 | FROM docker.io/library/debian:11-slim | 
 | COPY --from=0 /usr/local /usr/local | 
 | # As a final step configure the user (if env is defined) | 
 | ARG USER | 
 | ARG UID | 
 | RUN if [ "${USER}" ]; then \ | 
 |   id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi |