about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2024-04-02 12:53:25 +0200
committerGitHub <noreply@github.com>2024-04-02 12:53:25 +0200
commitc19daec1e8386996caf0d2b442871373816c332a (patch)
tree8042235bf8ede53aac1f9f3f9dc44ae79db1c1f3 /pkgs/applications/networking/browsers
parentf85da471d935ce0eabb3b0ec2c5377456be8b083 (diff)
parent1901177c9e601beff5071e32be0c1da517b0cf9b (diff)
Merge pull request #299183 from christoph-heiss/floorp-11.11
floorp: 11.10.5 -> 11.11.2
Diffstat (limited to 'pkgs/applications/networking/browsers')
-rw-r--r--pkgs/applications/networking/browsers/floorp/default.nix8
-rwxr-xr-xpkgs/applications/networking/browsers/floorp/update.sh38
2 files changed, 43 insertions, 3 deletions
diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix
index 6bb01b63e5cda..3824d7dee449a 100644
--- a/pkgs/applications/networking/browsers/floorp/default.nix
+++ b/pkgs/applications/networking/browsers/floorp/default.nix
@@ -7,7 +7,7 @@
 
 ((buildMozillaMach rec {
   pname = "floorp";
-  packageVersion = "11.10.5";
+  packageVersion = "11.11.2";
   applicationName = "Floorp";
   binaryName = "floorp";
   branding = "browser/branding/official";
@@ -15,14 +15,14 @@
   allowAddonSideload = true;
 
   # Must match the contents of `browser/config/version.txt` in the source tree
-  version = "115.8.0";
+  version = "115.10.0";
 
   src = fetchFromGitHub {
     owner = "Floorp-Projects";
     repo = "Floorp";
     fetchSubmodules = true;
     rev = "v${packageVersion}";
-    hash = "sha256-uKgN74xn0v86E/YfqbJNnMIR3gS+3dhdgLJ5VUerurQ=";
+    hash = "sha256-a9f4+t2w8aOOLNaKkr+FuY0ENa/Nkukg9pvJTiUMfWk=";
   };
 
   extraConfigureFlags = [
@@ -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"