39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -i bash -p curl nix-prefetch-github jq gnused
|
|
|
|
set -e
|
|
|
|
owner=Floorp-Projects
|
|
repo=Floorp
|
|
dirname="$(dirname "$0")"
|
|
|
|
updateVersion() {
|
|
sed -i "s/packageVersion = \"[0-9.]*\";/packageVersion = \"$1\";/g" "$dirname/default.nix"
|
|
}
|
|
|
|
updateBaseVersion() {
|
|
local base
|
|
base=$(curl -s "https://raw.githubusercontent.com/$owner/$repo/v$1/browser/config/version.txt")
|
|
sed -i "s/version = \"[0-9.]*\";/version = \"$base\";/g" "$dirname/default.nix"
|
|
}
|
|
|
|
updateHash() {
|
|
local hash
|
|
hash=$(nix-prefetch-github --fetch-submodules --rev "v$1" $owner $repo | jq -r .hash)
|
|
sed -i "s|hash = \"[a-zA-Z0-9\/+-=]*\";|hash = \"$hash\";|g" "$dirname/default.nix"
|
|
}
|
|
|
|
currentVersion=$(cd "$dirname" && nix eval --raw -f ../../../../.. floorp.version)
|
|
|
|
latestTag=$(curl -s https://api.github.com/repos/Floorp-Projects/Floorp/releases/latest | jq -r ".tag_name")
|
|
latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
|
|
|
|
if [[ "$currentVersion" == "$latestVersion" ]]; then
|
|
echo "Floorp is up-to-date: ${currentVersion}"
|
|
exit 0
|
|
fi
|
|
|
|
updateVersion "$latestVersion"
|
|
updateBaseVersion "$latestVersion"
|
|
updateHash "$latestVersion"
|