about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/vivaldi
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-03-13 20:13:18 +0200
committerGitHub <noreply@github.com>2023-03-13 20:13:18 +0200
commitb29350a3eab5031017663c4ce070fe1be8255422 (patch)
tree625c27f54fb3fd666cbcf72234a5d3de7f80d3c7 /pkgs/applications/networking/browsers/vivaldi
parentd0c9a536331227ab883b4f6964be638fa436d81f (diff)
parenteeb6008cdc7d73a9685bc27fcbaceb6e8d78ceb8 (diff)
Merge pull request #220917 from wegank/vivaldi-update
vivaldi: add updateScript
Diffstat (limited to 'pkgs/applications/networking/browsers/vivaldi')
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix2
-rwxr-xr-xpkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh16
-rwxr-xr-xpkgs/applications/networking/browsers/vivaldi/update.sh15
3 files changed, 24 insertions, 9 deletions
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index d28e7d151370a..c7da4deb456ed 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -108,6 +108,8 @@ in stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update-vivaldi.sh;
+
   meta = with lib; {
     description = "A Browser for our Friends, powerful and personal";
     homepage    = "https://vivaldi.com";
diff --git a/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh b/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh
new file mode 100755
index 0000000000000..6e1d68f13994b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/vivaldi/update-vivaldi.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl common-updater-scripts
+
+set -eu -o pipefail
+
+version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)-1_amd64\.deb.*/\1/p')
+
+update_hash() {
+    url="https://downloads.vivaldi.com/stable/vivaldi-stable_$version-1_$2.deb"
+    hash=$(nix hash to-sri --type sha256 $(nix-prefetch-url --type sha256 "$url"))
+    update-source-version vivaldi 0 sha256-BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB= --system=$1
+    update-source-version vivaldi "$version" "$hash" --system=$1
+}
+
+update_hash aarch64-linux arm64
+update_hash x86_64-linux amd64
diff --git a/pkgs/applications/networking/browsers/vivaldi/update.sh b/pkgs/applications/networking/browsers/vivaldi/update.sh
index ec8a9d7d66240..56b0e10352bfd 100755
--- a/pkgs/applications/networking/browsers/vivaldi/update.sh
+++ b/pkgs/applications/networking/browsers/vivaldi/update.sh
@@ -14,26 +14,23 @@ version() {
 vivaldi_version_old=$(version vivaldi)
 vivaldi_version=$(curl -sS https://vivaldi.com/download/ | sed -rne 's/.*vivaldi-stable_([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)-1_amd64\.deb.*/\1/p')
 
-if [[ "$vivaldi_version" = "$vivaldi_version_old" ]]; then
-  echo "vivaldi is already up-to-date"
+if [[ ! "$vivaldi_version" = "$vivaldi_version_old" ]]; then
+  echo "vivaldi is not up-to-date, not updating codecs"
+  (cd "$root" && nix-shell maintainers/scripts/update.nix --argstr package vivaldi)
   exit
 fi
 
-# Download vivaldi and save hash and file path.
+echo "vivaldi is up-to-date, updating codecs"
+
+# Download vivaldi and save file path.
 url="https://downloads.vivaldi.com/stable/vivaldi-stable_${vivaldi_version}-1_amd64.deb"
 mapfile -t prefetch < <(nix-prefetch-url --print-path "$url")
-hash=${prefetch[0]}
 path=${prefetch[1]}
 
 nixpkgs="$(git rev-parse --show-toplevel)"
 default_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix"
 ffmpeg_nix="$nixpkgs/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix"
 
-(cd "$root" && update-source-version vivaldi "$vivaldi_version" "$hash")
-
-git add "${default_nix}"
-git commit -m "vivaldi: ${vivaldi_version_old} -> ${vivaldi_version}"
-
 # Check vivaldi-ffmpeg-codecs version.
 chromium_version_old=$(version vivaldi-ffmpeg-codecs)
 ffmpeg_update_script=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/update-ffmpeg)