1#! /usr/bin/env nix-shell
2#! nix-shell -i bash -p nix nix-prefetch jq
3# shellcheck shell=bash
4set -eo pipefail
5
6families=(
7 "serif"
8 "sans"
9 "sans-condensed"
10 "sans-arabic"
11 "sans-devanagari"
12 "sans-thai"
13 "sans-thai-looped"
14 "sans-sc"
15 "sans-tc"
16 "sans-kr"
17 "sans-jp"
18 "sans-hebrew"
19 "mono"
20 "math"
21)
22
23version=$(curl --silent 'https://api.github.com/repos/IBM/plex/releases/latest' | jq -r '.tag_name | sub("^@ibm/[\\w-]+@"; "")')
24
25dirname="$(dirname "$0")"
26echo \""${version}"\" >"$dirname/version-new.nix"
27if diff -q "$dirname/version-new.nix" "$dirname/version.nix"; then
28 echo No new version available, current: "$version"
29 rm "$dirname/version-new.nix"
30 exit 0
31else
32 echo Updated to version "$version"
33 mv "$dirname/version-new.nix" "$dirname/version.nix"
34fi
35
36printf '{\n' > "$dirname/hashes.nix"
37
38for family in "${families[@]}"; do
39 url="https://github.com/IBM/plex/releases/download/%40ibm%2Fplex-${family}%40${version}/ibm-plex-${family}.zip"
40 printf ' "%s" = "%s";\n' "$family" "$(nix-prefetch-url --unpack "$url" | xargs nix --extra-experimental-features nix-command hash convert --hash-algo sha256)" >>"$dirname/hashes.nix"
41done
42
43printf '}\n' >> "$dirname/hashes.nix"