mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-28 10:50:15 +00:00
37 lines
1.1 KiB
Bash
Executable File
37 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p curl coreutils common-updater-scripts
|
|
set -eu -o pipefail
|
|
|
|
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; iterm2.version or (lib.getVersion iterm2)" | tr -d '"')
|
|
|
|
downloadUrls=$(
|
|
curl -sL "https://iterm2.com/downloads.html" |
|
|
grep -o -E 'href="[^"]*iTerm2[^"]*\.zip"' |
|
|
sed 's/href="//;s/"//'
|
|
)
|
|
downloadUrl=$(echo "$downloadUrls" | head -1)
|
|
|
|
if [[ -z "$downloadUrl" ]]; then
|
|
echo >&2 "Failed to extract download url from iTerm2 downloads page"
|
|
exit 1
|
|
fi
|
|
|
|
version=$(echo "$downloadUrl" | sed -E '
|
|
s/.*iTerm2-?// # Remove iTerm2 link prefix from download url
|
|
s/[vV]// # Remove version "v" prefix
|
|
s/\.zip$// # Remove .zip extension
|
|
s/_/./g # Convert underscores to dots
|
|
')
|
|
|
|
# iterm2 is already up to date
|
|
if [[ "$version" == "$currentVersion" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Update package version
|
|
#
|
|
source=$(nix-prefetch-url "$downloadUrl" --unpack --name "iterm2-$version")
|
|
hash=$(nix-hash --to-sri --type sha256 "$source")
|
|
|
|
update-source-version iterm2 $version $hash --ignore-same-version --ignore-same-hash
|