forked from catthehacker/docker_images
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrust.sh
More file actions
executable file
·57 lines (39 loc) · 1.56 KB
/
rust.sh
File metadata and controls
executable file
·57 lines (39 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
# shellcheck disable=SC1091
set -Eeuxo pipefail
. /etc/environment
. /imagegeneration/installers/helpers/os.sh
export RUSTUP_HOME=/usr/share/rust/.rustup
export CARGO_HOME=/usr/share/rust/.cargo
printf "\n\t🐋 Installing dependencies 🐋\t\n"
apt-get -yq update
apt-get -yq install build-essential llvm libssl-dev
printf "\n\t🐋 Installing Rust 🐋\t\n"
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain=stable --profile=minimal
source "${CARGO_HOME}/env"
rustup component add rustfmt clippy
printf "\n\t🐋 Installing cargo-binstall 🐋\t\n"
# Pinned to commit-hash for latest release v1.4.7 to prevent accidental problems
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/f6a95fa733be466c0e66c360f52e1d6998e47f25/install-from-binstall-release.sh | bash
cargo binstall -y bindgen-cli cbindgen cargo-audit cargo-outdated
chmod -R 777 "$(dirname "${RUSTUP_HOME}")"
# cleanup
rm -rf "${CARGO_HOME}/registry/*"
sed "s|PATH=|PATH=${CARGO_HOME}/bin:|g" -i /etc/environment
cd /root
ln -sf "${CARGO_HOME}" .cargo
ln -sf "${RUSTUP_HOME}" .rustup
{
echo "RUSTUP_HOME=${RUSTUP_HOME}"
echo "CARGO_HOME=${CARGO_HOME}"
} | tee -a /etc/environment
printf "\n\t🐋 Installed RUSTUP 🐋\t\n"
rustup -V
printf "\n\t🐋 Installed CARGO 🐋\t\n"
cargo -V
printf "\n\t🐋 Installed RUSTC 🐋\t\n"
rustc -V
printf "\n\t🐋 Cleaning image 🐋\t\n"
apt-get clean
rm -rf /var/cache/* /var/log/* /var/lib/apt/lists/* /tmp/* || echo 'Failed to delete directories'
printf "\n\t🐋 Cleaned up image 🐋\t\n"