nixpkgs/pkgs/applications/networking/browsers/floorp/update.sh

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"