this repo has no description
1#!/bin/bash
2
3if [ -d "zig/$ZIG_VERSION" ]; then
4 echo "Zig $ZIG_VERSION is already installed."
5 exit 0
6fi
7
8JSON=$(curl -s https://ziglang.org/download/index.json)
9
10# Determine the architecture:
11if [ "$(uname -m)" = 'arm64' ] || [ "$(uname -m)" = 'aarch64' ]; then
12 ZIG_ARCH="aarch64"
13else
14 ZIG_ARCH="x86_64"
15fi
16
17# Determine the operating system:
18case "$(uname)" in
19 Linux)
20 ZIG_OS="linux"
21 ;;
22 Darwin)
23 ZIG_OS="macos"
24 ;;
25 CYGWIN*)
26 ZIG_OS="windows"
27 ;;
28 *)
29 echo "Unknown OS"
30 exit 1
31 ;;
32esac
33
34ZIG_TARGET="$ZIG_ARCH-$ZIG_OS"
35
36URL=$(echo "$JSON" | jq -r ".$ZIG_VERSION.\"$ZIG_TARGET\".tarball")
37EXPECTED_SHA=$(echo "$JSON" | jq -r ".$ZIG_VERSION.\"$ZIG_TARGET\".shasum")
38
39curl -O "$URL"
40
41ACTUAL_SHA=$(sha256sum zig*.tar.xz | awk '{print $1}')
42if [ "$EXPECTED_SHA" != "$ACTUAL_SHA" ]; then
43 echo "SHA checksum verification failed."
44 echo "Expected: $EXPECTED_SHA"
45 echo "Actual: $ACTUAL_SHA"
46 exit 1
47fi
48
49if [ ! -d "zig/$ZIG_VERSION" ]; then
50 mkdir zig/$ZIG_VERSION
51fi
52
53CWD=$(pwd)
54
55tar -xf zig*.tar.xz -C zig/master --strip-components=1
56ln -s "$CWD/zig/master/zig" "$CWD/zig/zig"
57rm zig*.tar.xz