diff options
author | Christoph Heiss <christoph@c8h4.io> | 2024-03-26 14:07:55 +0100 |
---|---|---|
committer | Christoph Heiss <christoph@c8h4.io> | 2024-03-26 14:07:55 +0100 |
commit | 1901177c9e601beff5071e32be0c1da517b0cf9b (patch) | |
tree | a60548acf44b9e3d2b670d1685e413fa67ff7737 /pkgs/applications/networking/browsers/floorp | |
parent | 9304c9ae3a38d1418c755d38d3ee6cc8cb157cad (diff) |
floorp: add `updateScript`
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
Diffstat (limited to 'pkgs/applications/networking/browsers/floorp')
-rw-r--r-- | pkgs/applications/networking/browsers/floorp/default.nix | 2 | ||||
-rwxr-xr-x | pkgs/applications/networking/browsers/floorp/update.sh | 38 |
2 files changed, 40 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix index 941accbd9434b..3824d7dee449a 100644 --- a/pkgs/applications/networking/browsers/floorp/default.nix +++ b/pkgs/applications/networking/browsers/floorp/default.nix @@ -31,6 +31,8 @@ "--with-unsigned-addon-scopes=app,system" ]; + updateScript = ./update.sh; + meta = { description = "A fork of Firefox, focused on keeping the Open, Private and Sustainable Web alive, built in Japan"; homepage = "https://floorp.app/"; diff --git a/pkgs/applications/networking/browsers/floorp/update.sh b/pkgs/applications/networking/browsers/floorp/update.sh new file mode 100755 index 0000000000000..08216123c54c0 --- /dev/null +++ b/pkgs/applications/networking/browsers/floorp/update.sh @@ -0,0 +1,38 @@ +#!/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 .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" |