FROM scratch AS build COPY --from=stagex/rust . / COPY --from=stagex/busybox . / COPY --from=stagex/musl . / COPY --from=stagex/gcc . / COPY --from=stagex/llvm . / COPY --from=stagex/libunwind . / COPY --from=stagex/openssl . / COPY --from=stagex/zlib . / COPY --from=stagex/ca-certificates . / COPY --from=stagex/clang . / COPY --from=stagex/linux-headers . / COPY --from=stagex/gmp . / COPY --from=stagex/nettle . / COPY --from=stagex/pcsc-lite . / COPY --from=stagex/pkgconf . / COPY --from=stagex/binutils . / ADD . /src WORKDIR /src ADD <<-EOF /.cargo/config.toml [registries.distrust] index = "https://git.distrust.co/public/_cargo-index.git" EOF RUN cargo fetch ENV NETTLE_STATIC=yes ENV PCSC_LIB_NAME=static=pcsclite ENV RUSTFLAGS='-C codegen-units=1' RUN --network=none \ cargo build \ --frozen \ --release \ --features static \ --target x86_64-unknown-linux-musl \ --bin keyfork FROM scratch AS package COPY --from=build keyfork/target/release/keyfork /keyfork