this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 57 lines 1.2 kB view raw
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