2023-11-17 10:00:25 +00:00
|
|
|
FROM imgrep/musl:latest as musl
|
|
|
|
FROM imgrep/bootstrap:latest as build
|
2023-11-08 22:39:09 +00:00
|
|
|
|
2023-11-09 13:41:25 +00:00
|
|
|
ENV GCC_SITE https://mirrors.kernel.org/gnu/gcc
|
2023-11-08 22:39:09 +00:00
|
|
|
ENV GCC_VERSION 13.2.0
|
2023-11-09 13:41:25 +00:00
|
|
|
ENV GCC_HASH e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
|
2023-11-08 22:39:09 +00:00
|
|
|
|
2023-11-09 13:41:25 +00:00
|
|
|
RUN wget ${GCC_SITE}/gcc-$GCC_VERSION/gcc-$GCC_VERSION.tar.xz
|
|
|
|
RUN echo "${GCC_HASH} gcc-${GCC_VERSION}.tar.xz" | sha256sum -c
|
|
|
|
RUN tar -xf gcc-${GCC_VERSION}.tar.xz
|
|
|
|
WORKDIR gcc-${GCC_VERSION}
|
2023-11-08 22:39:09 +00:00
|
|
|
RUN set -ex; \
|
|
|
|
./contrib/download_prerequisites; \
|
2023-11-09 13:41:25 +00:00
|
|
|
{ rm *.tar.* || true; }
|
2023-11-13 06:09:30 +00:00
|
|
|
|
2023-11-09 13:41:25 +00:00
|
|
|
RUN set -ex; \
|
|
|
|
./configure \
|
2023-11-13 06:09:30 +00:00
|
|
|
--build="x86_64-linux-musl" \
|
|
|
|
--host="x86_64-linux-musl" \
|
2023-11-08 22:39:09 +00:00
|
|
|
--disable-multilib \
|
2023-11-09 13:41:25 +00:00
|
|
|
--enable-languages=c,c++ \
|
|
|
|
--prefix /rootfs \
|
2023-11-08 22:39:09 +00:00
|
|
|
; \
|
|
|
|
make -j "$(nproc)"; \
|
2023-11-09 13:41:25 +00:00
|
|
|
make install-strip
|
2023-11-13 06:09:30 +00:00
|
|
|
COPY --from=musl /lib /libmusl
|
|
|
|
RUN mv /libmusl/* /rootfs/lib/
|
2023-11-08 22:39:09 +00:00
|
|
|
|
|
|
|
FROM scratch
|
2023-11-09 13:41:25 +00:00
|
|
|
COPY --from=build /rootfs /
|
2023-11-08 22:39:09 +00:00
|
|
|
ENTRYPOINT ["/bin/gcc"]
|
|
|
|
CMD ["--version"]
|