summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-credential-manager/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/git-credential-manager/update.sh')
-rwxr-xr-xpkgs/applications/version-management/git-credential-manager/update.sh32
1 files changed, 12 insertions, 20 deletions
diff --git a/pkgs/applications/version-management/git-credential-manager/update.sh b/pkgs/applications/version-management/git-credential-manager/update.sh
index e87352a3652..fc9ef419967 100755
--- a/pkgs/applications/version-management/git-credential-manager/update.sh
+++ b/pkgs/applications/version-management/git-credential-manager/update.sh
@@ -1,23 +1,15 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq nix-prefetch nix coreutils gnused
-
-cd "$(dirname "$0")"
-
-set -euo pipefail
-
-latestVersion="$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
-currentVersion="$(nix-instantiate --eval -E "with import ../../../.. {}; git-credential-manager.version" | tr -d '"')"
-
-if [[ "$latestVersion" == "$currentVersion" ]]; then
-    echo "up to date"
-    exit 0
+#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
+set -eo pipefail
+cd "$(dirname "${BASH_SOURCE[0]}")"
+
+new_version="$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases?per_page=1" | jq -r '.[0].name' | sed 's|^GCM ||')"
+old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
+if [[ "$new_version" == "$old_version" ]]; then
+  echo "Up to date"
+  exit 0
 fi
 
-echo "updating $currentVersion -> $latestVersion"
-
-sed -i -e "s/version = \"${currentVersion}\"/version = \"${latestVersion}\"/" default.nix
-hash="$(nix-prefetch -f "$(pwd)/../../../.." git-credential-manager)"
-sed -i -Ee "s/hash = \"sha256-[A-Za-z0-9/+=]{44}\"/hash = \"${hash}\"/" default.nix
-
-
-$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link)
+cd ../../../..
+update-source-version git-credential-manager "$new_version"
+$(nix-build -A git-credential-manager.fetch-deps --no-out-link)