about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-24 11:04:41 +0100
commit5423cabbbf2b6dec5568f1ecabd288d5d9a642ec (patch)
treef316a6a921bfefd3a63bd4502c2eb50ff1644f67 /nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh
parent46a88117a05c3469af5d99433af140c3de8ca088 (diff)
parent8aa81f34981add12aecada6c702ddbbd0375ca36 (diff)
downloadnixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.gz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.bz2
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.lz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.xz
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.tar.zst
nixlib-5423cabbbf2b6dec5568f1ecabd288d5d9a642ec.zip
Merge branch 'nixos-unstable-small' of https://github.com/NixOS/nixpkgs
Diffstat (limited to 'nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh')
-rwxr-xr-xnixpkgs/pkgs/by-name/wa/warp-terminal/update.sh37
1 files changed, 26 insertions, 11 deletions
diff --git a/nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh b/nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh
index d60e0f1f5aa9..2c9c69dc0cec 100755
--- a/nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh
+++ b/nixpkgs/pkgs/by-name/wa/warp-terminal/update.sh
@@ -1,20 +1,22 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq moreutils nix-prefetch
+#!nix-shell -i bash -p cacert curl jq nix moreutils --pure
 #shellcheck shell=bash
 set -eu -o pipefail
 
-dirname="$(dirname "$0")"
+cd "$(dirname "$0")"
+nixpkgs=../../../../.
 
 err() {
     echo "$*" >&2
+    exit 1
 }
 
 json_get() {
-    jq -r "$1" < "$dirname/versions.json"
+    jq -r "$1" < "./versions.json"
 }
 
 json_set() {
-    jq --arg x "$2" "$1 = \$x" < "$dirname/versions.json" | sponge "$dirname/versions.json"
+    jq --arg x "$2" "$1 = \$x" < "./versions.json" | sponge "./versions.json"
 }
 
 resolve_url() {
@@ -31,7 +33,6 @@ resolve_url() {
             ;;
         *)
             err "Unexpected download type: $1"
-            exit 1
             ;;
     esac
     url="https://app.warp.dev/download?package=${pkg}"
@@ -40,7 +41,7 @@ resolve_url() {
         url=$(curl -s -o /dev/null -w '%{redirect_url}' "${url}")
         [[ ${url} != *.${sfx} ]] || break
     done
-    ((i < max_redirects)) || { err "too many redirects"; exit 1; }
+    ((i < max_redirects)) || { err "too many redirects"; }
     echo "${url}"
 }
 
@@ -48,13 +49,27 @@ get_version() {
     echo "$1" | grep -oP -m 1 '(?<=/v)[\d.\w]+(?=/)'
 }
 
+# nix-prefect-url seems to be uncompressing the archive then taking the hash
+# so just get the hash from fetchurl
+sri_get() {
+    local ouput sri
+    output=$(nix-build  --expr \
+        "with import $nixpkgs {};
+         fetchurl {
+           url = \"$1\";
+         }" 2>&1 || true)
+    sri=$(echo "$output" | awk '/^\s+got:\s+/{ print $2 }')
+    [[ -z "$sri" ]] && err "$output"
+    echo "$sri"
+}
+
+
 for sys in darwin linux; do
     url=$(resolve_url ${sys})
     version=$(get_version "${url}")
-    if [[ ${version} != "$(json_get ".${sys}.version")" ]];
-        then
-            sri=$(nix hash to-sri --type sha256 "$(nix-prefetch-url --type sha256 "${url}")")
-            json_set ".${sys}.version" "${version}"
-            json_set ".${sys}.hash" "${sri}"
+    if [[ ${version} != "$(json_get ".${sys}.version")" ]]; then
+        sri=$(sri_get "${url}")
+        json_set ".${sys}.version" "${version}"
+        json_set ".${sys}.hash" "${sri}"
     fi
 done