| # debian.sh --arch 'amd64' out/ 'trixie' '@1785715200' |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit |
| LABEL org.opencontainers.image.source=https://github.com/rust-lang/docker-rust |
| ENV RUSTUP_HOME=/usr/local/rustup CARGO_HOME=/usr/local/cargo PATH=/usr/local/cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin RUST_VERSION=1.98.0 |
| RUN /bin/sh -c set -eux; arch="$(dpkg --print-architecture)"; case "$arch" in 'amd64') rustArch='x86_64-unknown-linux-gnu'; rustupSha256='4acc9acc76d5079515b46346a485974457b5a79893cfb01112423c89aeb5aa10'; ;; 'armhf') rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='124e02253af9128f9e27ea1ac929cbb73cf44cf35469d0f594a1b62f7b71fea1'; ;; 'arm64') rustArch='aarch64-unknown-linux-gnu'; rustupSha256='9732d6c5e2a098d3521fca8145d826ae0aaa067ef2385ead08e6feac88fa5792'; ;; 'i386') rustArch='i686-unknown-linux-gnu'; rustupSha256='5140e82096f96d1d8077f00eb312648e0e5106d101c9918d086f72cbc69bb3a1'; ;; 'ppc64el') rustArch='powerpc64le-unknown-linux-gnu'; rustupSha256='4bfff85bd3967d988e14567aa9cc6ab0ea386f0ffeff0f9f14d23f0103bf1f97'; ;; 's390x') rustArch='s390x-unknown-linux-gnu'; rustupSha256='66c2c132428b6b77803facb02cbdf33b89d20c00bd20da142be8cb651f2e7cd8'; ;; 'riscv64') rustArch='riscv64gc-unknown-linux-gnu'; rustupSha256='7e43f2b2e6307d61da17a4dff61e6bceef408b8189822df64e1094590d2a70f9'; ;; *) echo >&2 "unsupported architecture: $arch"; exit 1; ;; esac; url="https://static.rust-lang.org/rustup/archive/1.29.0/${rustArch}/rustup-init"; wget --progress=dot:giga "$url"; echo "${rustupSha256} *rustup-init" | sha256sum -c -; chmod +x rustup-init; ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host ${rustArch}; rm rustup-init; chmod -R a+w $RUSTUP_HOME $CARGO_HOME; rustup --version; cargo --version; rustc --version; # buildkit |
| /bin/sh -c cargo install --locked git-cliff |
| /bin/sh -c cargo install --locked flip-link |
| /bin/sh -c cargo install --locked cargo-semver-checks |
| /bin/sh -c cargo install --locked release-plz |
| /bin/sh -c dpkg --add-architecture arm64 && dpkg --add-architecture i386 && apt update && apt upgrade -y && apt install -y build-essential libssl-dev pkg-config ca-certificates git curl nodejs ed xxd jq rsync lftp lld clang binutils-arm-none-eabi musl-tools libclang-dev libgtk-3-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libusb-1.0-0-dev libftdi1-dev libudev-dev libssl-dev libwayland-dev libasound2-dev gcc-aarch64-linux-gnu gcc-mingw-w64 libc6:arm64 libc6-dev:arm64 linux-libc-dev:arm64 libudev-dev:arm64 libusb-1.0-0-dev:arm64 libssl-dev:arm64 zlib1g-dev:arm64 xvfb wine32:i386 && rm -rf /var/lib/apt/lists/* |
| ARG COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer |
| ARG TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu |
| |2 COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu /bin/sh -c rustup install stable --component $COMPONENTS --target $TARGETS && rustup default stable && rustup update && rm -r /usr/local/rustup/toolchains/1.* # remove 1.xx toolchain |
| |2 COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu /bin/sh -c rustup install nightly-$(date +"%Y-%m-01") --component $COMPONENTS --target $TARGETS |
| |2 COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu /bin/sh -c rustup install nightly-$(date +"%Y-%m-01" --date="1 month ago") --component $COMPONENTS --target $TARGETS |
| |2 COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu /bin/sh -c rustup install nightly-$(date +"%Y-%m-01" --date="2 months ago") --component $COMPONENTS --target $TARGETS |
| |2 COMPONENTS=rust-src,rustc-dev,rustfmt,clippy,llvm-tools,rust-analyzer TARGETS=x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu,thumbv7em-none-eabihf,x86_64-pc-windows-gnu /bin/sh -c git config --global user.name "forgejo-actions" && git config --global user.email "actions@forgejo" |
| COPY file:94a12a11d60612455c812c4fcc68d134f2f682c9baa81f9d730c6677d07713e2 in /cross-aarch64.sh |