about summary refs log tree commit diff
path: root/pkgs/applications/version-management/git-credential-manager
diff options
context:
space:
mode:
authoréclairevoyant <848000+eclairevoyant@users.noreply.github.com>2023-11-13 19:55:05 -0500
committeréclairevoyant <848000+eclairevoyant@users.noreply.github.com>2023-11-13 19:55:16 -0500
commit703e27175c9a524ae7ac8dc1e0a765f1ec7239cd (patch)
treefa5652e3c79e1df3676d035dd3e8c1657cd4e39c /pkgs/applications/version-management/git-credential-manager
parentc0fdd850d9366a5eb857290d876c0bdf0eb82f32 (diff)
git-credential-manager: fix update script
copied the majority of the script from discordchatexporter-cli.
current script fails with:

```
at /nix/store/c7h4qb73ghvx2bgbm1dk6lyh7vnb8icc-nix-prefetch-0.4.1/lib/nix-prefetch/prelude.nix:3:46:
...
error: experimental Nix feature 'flakes' is disabled; use '--extra-experimental-features flakes' to override
```
Diffstat (limited to 'pkgs/applications/version-management/git-credential-manager')
-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 e87352a36521e..fc9ef4199678d 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)