1#!/usr/bin/env bash
2set -euo pipefail
3
4# All rust-related downloads can be found at
5# https://static.rust-lang.org/dist/index.html. To find the date on
6# which a particular thing was last updated, look for the *-date.txt
7# file, e.g.
8# https://static.rust-lang.org/dist/channel-rust-beta-date.txt
9
10PLATFORMS=(
11 i686-unknown-linux-gnu
12 x86_64-unknown-linux-gnu
13 x86_64-unknown-linux-musl
14 arm-unknown-linux-gnueabihf
15 armv7-unknown-linux-gnueabihf
16 aarch64-unknown-linux-gnu
17 aarch64-unknown-linux-musl
18 x86_64-apple-darwin
19 aarch64-apple-darwin
20 powerpc64-unknown-linux-gnu
21 powerpc64le-unknown-linux-gnu
22 riscv64gc-unknown-linux-gnu
23 s390x-unknown-linux-gnu
24 loongarch64-unknown-linux-gnu
25 loongarch64-unknown-linux-musl
26 x86_64-unknown-freebsd
27)
28BASEURL=https://static.rust-lang.org/dist
29VERSION=${1:-}
30DATE=${2:-}
31
32if [[ -z $VERSION ]]
33then
34 echo "No version supplied"
35 exit -1
36fi
37
38if [[ -n $DATE ]]
39then
40 BASEURL=$BASEURL/$DATE
41fi
42
43for PLATFORM in "${PLATFORMS[@]}"
44do
45 URL="$BASEURL/rust-$VERSION-$PLATFORM.tar.gz.sha256"
46 SHA256=$(curl -sSfL $URL | cut -d ' ' -f 1)
47 echo "$PLATFORM = \"$SHA256\";"
48done