about summary refs log tree commit diff
path: root/pkgs/by-name/db
diff options
context:
space:
mode:
authorGutyina Gergő <gutyina.gergo.2@gmail.com>2024-05-24 12:59:53 +0200
committerGutyina Gergő <gutyina.gergo.2@gmail.com>2024-05-24 13:09:38 +0200
commit07fd54a4a230b6a52b86b3b6775cfcf1fd91d94f (patch)
tree9b44961d7a6760de2a2c4b5c0f0551bd56dd76a2 /pkgs/by-name/db
parent5710852ba686cc1fd0d3b8e22b3117d43ba374c2 (diff)
dbeaver-bin: add update script
Diffstat (limited to 'pkgs/by-name/db')
-rw-r--r--pkgs/by-name/db/dbeaver-bin/package.nix2
-rwxr-xr-xpkgs/by-name/db/dbeaver-bin/update.sh25
2 files changed, 27 insertions, 0 deletions
diff --git a/pkgs/by-name/db/dbeaver-bin/package.nix b/pkgs/by-name/db/dbeaver-bin/package.nix
index ddf67faca43c3..65aaff55a7a4d 100644
--- a/pkgs/by-name/db/dbeaver-bin/package.nix
+++ b/pkgs/by-name/db/dbeaver-bin/package.nix
@@ -61,6 +61,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     runHook postInstall
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     homepage = "https://dbeaver.io/";
     description = "Universal SQL Client for developers, DBA and analysts. Supports MySQL, PostgreSQL, MariaDB, SQLite, and more";
diff --git a/pkgs/by-name/db/dbeaver-bin/update.sh b/pkgs/by-name/db/dbeaver-bin/update.sh
new file mode 100755
index 0000000000000..ad09144f9a4b0
--- /dev/null
+++ b/pkgs/by-name/db/dbeaver-bin/update.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=./. -i bash -p curl jq
+
+latestVersion=$(curl "https://api.github.com/repos/dbeaver/dbeaver/tags" | jq -r '.[0].name')
+currentVersion=$(nix-instantiate --eval -E "with import ./. {}; dbeaver-bin.version" | tr -d '"')
+
+echo "latest  version: $latestVersion"
+echo "current version: $currentVersion"
+
+if [[ "$latestVersion" == "$currentVersion" ]]; then
+    echo "package is up-to-date"
+    exit 0
+fi
+
+for i in \
+    "x86_64-linux linux.gtk.x86_64-nojdk.tar.gz" \
+    "aarch64-linux linux.gtk.aarch64-nojdk.tar.gz"
+do
+    set -- $i
+    prefetch=$(nix-prefetch-url "https://github.com/dbeaver/dbeaver/releases/download/$latestVersion/dbeaver-ce-$latestVersion-$2")
+    hash=$(nix-hash --type sha256 --to-sri $prefetch)
+
+    update-source-version dbeaver-bin 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" --system=$1
+    update-source-version dbeaver-bin $latestVersion $hash --system=$1
+done