FROM scratch AS base ENV VERSION=0.4.40 ENV SRC_HASH=550da7ff02ef62c60db6e813b6dbae65b9ed3d491186ea74929536feaceea94b ENV SRC_FILE=mdBook-${VERSION}.tar.gz ENV SRC_SITE=https://codeload.github.com/rust-lang/mdBook/tar.gz/refs/tags/v${VERSION} FROM base AS fetch ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} COPY --from=stagex/rust . / COPY --from=stagex/busybox . / COPY --from=stagex/musl . / COPY --from=stagex/gcc . / COPY --from=stagex/llvm16 . / COPY --from=stagex/libunwind . / COPY --from=stagex/openssl . / COPY --from=stagex/zlib . / COPY --from=stagex/ca-certificates . / RUN tar xf ${SRC_FILE} WORKDIR mdBook-${VERSION} RUN cargo fetch FROM fetch AS build COPY --from=stagex/binutils . / ENV RUST_BACKTRACE=1 ENV RUSTFLAGS='-C codegen-units=1 -C target-feature=+crt-static' RUN --network=none \ cargo build \ --frozen \ --release \ --target x86_64-unknown-linux-musl \ --bin mdbook FROM build AS install RUN <<-EOF set -eux mkdir -p /rootfs/usr/bin cp target/x86_64-unknown-linux-musl/release/mdbook /rootfs/usr/bin/mdbook EOF FROM stagex/filesystem AS package COPY --from=install /rootfs/. /