43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -x
|
|
apt-get update && apt-get install -y jq curl
|
|
|
|
pushd $(mktemp -d)
|
|
|
|
# Install minisign
|
|
wget -nv https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz -O - | tar --strip-components 2 -C /usr/local/bin/ -vxzf - minisign-linux/x86_64/minisign
|
|
|
|
# Installing zig, checking its validity
|
|
mkdir -p /usr/local/bin
|
|
wget -nv https://ziglang.org/download/index.json -O zig-versions.json
|
|
|
|
echo "$(jq -r '.master."x86_64-linux".shasum' zig-versions.json) zig.tar.xz" > zig.tar.xz.shasum
|
|
wget -nv -c $(jq -r '.master."x86_64-linux".tarball' zig-versions.json) -O zig.tar.xz
|
|
wget -nv -c "$(jq -r '.master."x86_64-linux".tarball' zig-versions.json).minisig" -O zig.tar.xz.minisig
|
|
sha256sum -c zig.tar.xz.shasum
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error in SHA256 hash!"
|
|
exit 1
|
|
else
|
|
echo "SHA256 hash OK"
|
|
fi
|
|
|
|
minisign -P 'RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U' -Vm zig.tar.xz
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "Error in signature!"
|
|
exit 1
|
|
else
|
|
echo "Signature OK"
|
|
fi
|
|
|
|
tar -C /usr/local/bin --strip-components 1 -xf zig.tar.xz
|
|
|
|
rm -rf zig*
|
|
|
|
# Installing binstall and zigbuild
|
|
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
|
cargo binstall -y cargo-zigbuild
|
|
|
|
popd |