1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl gnused gawk nix-prefetch common-updater-scripts jq ripgrep
3
4set -euo pipefail
5
6ROOT="$(dirname "$(readlink -f "$0")")"
7NIX_DRV="$ROOT/package.nix"
8if [ ! -f "$NIX_DRV" ]; then
9 echo "ERROR: cannot find package.nix in $ROOT"
10 exit 1
11fi
12
13fetch_arch() {
14 VER="$1"; ARCH="$2"
15 URL="https://github.com/tailwindlabs/tailwindcss/releases/download/v${VER}/tailwindcss-${ARCH}"
16 nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "$URL")"
17}
18
19replace_hash() {
20 sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
21}
22
23VER=$(list-git-tags --url=https://github.com/tailwindlabs/tailwindcss | rg 'v4[0-9\.]*$' | sed -e 's/^v//' | sort -V | tail -n 1)
24
25LINUX_X64_HASH=$(fetch_arch "$VER" "linux-x64")
26LINUX_AARCH64_HASH=$(fetch_arch "$VER" "linux-arm64")
27DARWIN_X64_HASH=$(fetch_arch "$VER" "macos-x64")
28DARWIN_AARCH64_HASH=$(fetch_arch "$VER" "macos-arm64")
29
30sed -i "s/version = \".*\"/version = \"$VER\"/" "$NIX_DRV"
31
32replace_hash "x86_64-linux" "$LINUX_X64_HASH"
33replace_hash "aarch64-linux" "$LINUX_AARCH64_HASH"
34replace_hash "x86_64-darwin" "$DARWIN_X64_HASH"
35replace_hash "aarch64-darwin" "$DARWIN_AARCH64_HASH"