about summary refs log tree commit diff
path: root/pkgs/applications/networking/breitbandmessung/update.sh
blob: da982adf933bb48f1bed6ee0ee0d914a5fcc2d9e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq nix ripgrep

set -xeu -o pipefail

PACKAGE_DIR="$(realpath "$(dirname "$0")")"

current="$(nix eval -f "$PACKAGE_DIR/sources.nix" --raw version || :)"
latest="$(curl -sS https://breitbandmessung.de/desktop-app | \
  rg '.*Aktuelle Version der Desktop-App lautet:\s*([.0-9]+).*' -r '$1')"

if [[ $current != $latest ]]; then
  linux_hash="$(nix store prefetch-file --json https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-linux.deb | jq -r .hash)"
  darwin_hash="$(nix store prefetch-file --json https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-mac.dmg | jq -r .hash)"

  cat <<EOF >"$PACKAGE_DIR/sources.nix"
{
  version = "${latest}";
  x86_64-linux = {
    url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-linux.deb";
    sha256 = "${linux_hash}";
  };
  x86_64-darwin = {
    url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${latest}-mac.dmg";
    sha256 = "${darwin_hash}";
  };
}
EOF
fi