nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 33 lines 1.4 kB view raw
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p curl jq common-updater-scripts 3 4set -euo pipefail 5 6currentVersion="$(nix-instantiate --eval --raw -A session-desktop.version)" 7latestVersion="$( 8 curl -s https://api.github.com/repos/session-foundation/session-desktop/releases/latest \ 9 ${GITHUB_TOKEN:+--user ":$GITHUB_TOKEN"} \ 10 | jq -r .tag_name | sed 's/^v//' 11)" 12if [ "$currentVersion" = "$latestVersion" ]; then 13 echo "Already up-to-date" 14 exit 0 15fi 16 17yarnLock="$(curl -s https://raw.githubusercontent.com/session-foundation/session-desktop/v$latestVersion/yarn.lock)" 18depVersion() { 19 name="$(echo "$1" | sed 's/\//\\&/g')" 20 echo "$yarnLock" | awk '/^"?'"$name"'@/ {flag=1; next} flag && /^ version "[^"]+"/ {match($0, /^ version "([^"]+)"/, a); print a[1]; exit}' - 21} 22 23update-source-version session-desktop.passthru.libsession-util.nodejs "$(depVersion libsession_util_nodejs)" 24 25downloadJs="$(curl -s https://raw.githubusercontent.com/signalapp/better-sqlite3/v$(depVersion @signalapp/better-sqlite3)/deps/download.js)" 26sqlDepVersion() { 27 echo "$downloadJs" | awk "match(\$0, /^const ${1}_VERSION = '([0-9.]+)['-]/, a) {print a[1]}" - 28} 29 30update-source-version session-desktop.passthru.sqlcipher-src "$(sqlDepVersion SQLCIPHER)" 31update-source-version session-desktop.passthru.signal-sqlcipher-extension "$(sqlDepVersion EXTENSION)" 32 33update-source-version session-desktop "$latestVersion"