about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh')
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh
new file mode 100755
index 000000000000..6e7e75e66bce
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/element/seshat/update.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn nix-prefetch nix-prefetch-github
+
+if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
+  echo "Regenerates packaging data for the seshat package."
+  echo "Usage: $0 [git release tag]"
+  exit 1
+fi
+
+version="$1"
+
+set -euo pipefail
+
+if [ -z "$version" ]; then
+  version="$(wget -O- "https://api.github.com/repos/matrix-org/seshat/tags" | jq -r '.[] | .name' | sort --version-sort | tail -1)"
+fi
+
+SRC="https://raw.githubusercontent.com/matrix-org/seshat/$version"
+
+tmpdir=$(mktemp -d)
+trap 'rm -rf "$tmpdir"' EXIT
+
+pushd $tmpdir
+wget "$SRC/seshat-node/yarn.lock"
+yarn_hash=$(prefetch-yarn-deps yarn.lock)
+popd
+
+src_hash=$(nix-prefetch-github matrix-org seshat --rev ${version} | jq -r .hash)
+
+cat > pin.json << EOF
+{
+  "version": "$version",
+  "srcHash": "$src_hash",
+  "yarnHash": "$yarn_hash",
+  "cargoHash": "0000000000000000000000000000000000000000000000000000"
+}
+EOF
+
+cargo_hash=$(nix-prefetch "{ sha256 }: (import ../../../../../.. {}).element-desktop.seshat.cargoDeps")
+
+cat > pin.json << EOF
+{
+  "version": "$version",
+  "srcHash": "$src_hash",
+  "yarnHash": "$yarn_hash",
+  "cargoHash": "$cargo_hash"
+}
+EOF
+