Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl libxml2
3
4XML_URL="https://persistent.oaistatic.com/sidekick/public/sparkle_public_appcast.xml"
5
6XML_DATA=$(curl -s $XML_URL)
7
8LATEST_VERSION=$(echo "$XML_DATA" | xmllint --xpath '/rss/channel/item[1]/*[local-name()="shortVersionString"]/text()' -)
9DOWNLOAD_URL=$(echo "$XML_DATA" | xmllint --xpath 'string(//item[1]/enclosure/@url)' -)
10
11HASH=$(nix-prefetch-url $DOWNLOAD_URL | xargs nix --extra-experimental-features nix-command hash convert --hash-algo sha256)
12
13SOURCE_NIX="$(dirname ${BASH_SOURCE[0]})/source.nix"
14
15cat > "${SOURCE_NIX}" << _EOF_
16{
17 version = "$LATEST_VERSION";
18 src = {
19 url = "$DOWNLOAD_URL";
20 hash = "$HASH";
21 };
22}
23_EOF_