diff --git a/packages/rust/Containerfile b/packages/rust/Containerfile index 3089acc..d7e2ff1 100644 --- a/packages/rust/Containerfile +++ b/packages/rust/Containerfile @@ -1,5 +1,5 @@ FROM scratch AS base -ARG VERSION=1.76.0 +ARG VERSION=1.81.0 ENV SRC_SITE=https://static.rust-lang.org/dist ENV MRUSTC_VERSION=16d744fd62e74a2d4356df864b5850bf782918da ENV MRUSTC_SRC_HASH=88d5d022875d279a75fa1e9c95d0de779cb3ad3bb587f2edeb85e6f59e99d528 @@ -28,6 +28,11 @@ ENV SRC_HASH_1_73_0=96d62e6d1f2d21df7ac8acb3b9882411f9e7c7036173f7f2ede9e1f1f6b1 ENV SRC_HASH_1_74_0=882b584bc321c5dcfe77cdaa69f277906b936255ef7808fcd5c7492925cf1049 ENV SRC_HASH_1_75_0=5b739f45bc9d341e2d1c570d65d2375591e22c2d23ef5b8a37711a0386abc088 ENV SRC_HASH_1_76_0=9e5cff033a7f0d2266818982ad90e4d3e4ef8f8ee1715776c6e25073a136c021 +ENV SRC_HASH_1_77_0=0d6ccd1fa845fe3456b9ed4d483fc06acf9bbae9417e396b5144488c1a522d87 +ENV SRC_HASH_1_78_0=ff544823a5cb27f2738128577f1e7e00ee8f4c83f2a348781ae4fc355e91d5a9 +ENV SRC_HASH_1_79_0=172ecf3c7d1f9d9fb16cd2a628869782670416ded0129e524a86751f961448c0 +ENV SRC_HASH_1_80_0=6f606c193f230f6b2cae4576f7b24d50f5f9b25dff11dbf9b22f787d3521d672 +ENV SRC_HASH_1_81_0=872448febdff32e50c3c90a7e15f9bb2db131d13c588fe9071b0ed88837ccfa7 FROM base AS fetch COPY --from=stagex/busybox . / @@ -55,6 +60,11 @@ ADD --checksum=sha256:${SRC_HASH_1_73_0} ${SRC_SITE}/rustc-1.73.0-src.tar.gz . ADD --checksum=sha256:${SRC_HASH_1_74_0} ${SRC_SITE}/rustc-1.74.0-src.tar.gz . ADD --checksum=sha256:${SRC_HASH_1_75_0} ${SRC_SITE}/rustc-1.75.0-src.tar.gz . ADD --checksum=sha256:${SRC_HASH_1_76_0} ${SRC_SITE}/rustc-1.76.0-src.tar.gz . +ADD --checksum=sha256:${SRC_HASH_1_77_0} ${SRC_SITE}/rustc-1.77.0-src.tar.gz . +ADD --checksum=sha256:${SRC_HASH_1_78_0} ${SRC_SITE}/rustc-1.78.0-src.tar.gz . +ADD --checksum=sha256:${SRC_HASH_1_79_0} ${SRC_SITE}/rustc-1.79.0-src.tar.gz . +ADD --checksum=sha256:${SRC_HASH_1_80_0} ${SRC_SITE}/rustc-1.80.0-src.tar.gz . +ADD --checksum=sha256:${SRC_HASH_1_81_0} ${SRC_SITE}/rustc-1.81.0-src.tar.gz . FROM fetch AS build-base COPY --from=stagex/binutils . / @@ -176,23 +186,35 @@ RUN sh build.sh 1.66.0 1.65.0 RUN sh build.sh 1.67.0 1.66.0 RUN sh build.sh 1.68.0 1.67.0 -FROM build-script AS build +FROM build-script AS build-llvm16 COPY --from=stagex/llvm16 . / -COPY --from=build-llvm13 /rust-1.68.0 /rust-1.68.0 COPY --from=stagex/llvm13 /usr/lib/libLLVM-13.so /usr/lib/ +COPY --from=build-llvm13 /rust-1.68.0 /rust-1.68.0 RUN sh build.sh 1.69.0 1.68.0 RUN sh build.sh 1.70.0 1.69.0 RUN sh build.sh 1.71.0 1.70.0 RUN sh build.sh 1.72.0 1.71.0 RUN sh build.sh 1.73.0 1.72.0 RUN sh build.sh 1.74.0 1.73.0 - # HACK: Required by Rust 1.75.0 +# https://github.com/rust-lang/rust/issues/117885 RUN mkdir -p $HOME/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ RUN sh build.sh 1.75.0 1.74.0 +RUN sh build.sh 1.76.0 1.75.0 +RUN sh build.sh 1.77.0 1.76.0 + +FROM build-script AS build +COPY --from=stagex/llvm . / +COPY --from=stagex/llvm16 /usr/lib/libLLVM-16.so /usr/lib/ +COPY --from=build-llvm16 /rust-1.77.0 /rust-1.77.0 +RUN sh build.sh 1.78.0 1.77.0 +RUN sh build.sh 1.79.0 1.78.0 +RUN sh build.sh 1.80.0 1.79.0 ADD no-default-static.patch . -RUN sh build.sh 1.76.0 1.75.0 cargo,clippy,rustdoc,rustfmt,rust-demangler no-default-static +COPY --from=stagex/ninja . / +COPY --from=stagex/ca-certificates . / +RUN sh build.sh 1.81.0 1.80.0 cargo,clippy,rustdoc,rustfmt,rust-demangler no-default-static FROM build AS install RUN <<-EOF