Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1#!/usr/bin/env nix-shell 2#!nix-shell -i bash -p git curl jq common-updater-scripts prefetch-npm-deps 3 4set -eou pipefail 5 6nixpkgs="$(git rev-parse --show-toplevel)" 7path="$nixpkgs/pkgs/by-name/op/open-webui/package.nix" 8version="$(curl --silent "https://api.github.com/repos/open-webui/open-webui/releases" | jq '.[0].tag_name' --raw-output)" 9 10update-source-version open-webui "${version:1}" --file="$path" 11 12# Fetch npm deps and pyodide 13tmpdir=$(mktemp -d) 14curl -O --output-dir $tmpdir "https://raw.githubusercontent.com/open-webui/open-webui/refs/tags/${version}/package-lock.json" 15curl -O --output-dir $tmpdir "https://raw.githubusercontent.com/open-webui/open-webui/refs/tags/${version}/package.json" 16pushd $tmpdir 17npm_hash=$(prefetch-npm-deps package-lock.json) 18sed -i 's#npmDepsHash = "[^"]*"#npmDepsHash = "'"$npm_hash"'"#' "$path" 19pyodide_version=$(sed -rn 's/^.*pyodide.*\^([0-9.]*)\".*$/\1/p' package.json) 20popd 21update-source-version open-webui.frontend "${pyodide_version}" --file="$path" --version-key=pyodideVersion --source-key=pyodide 22rm -rf $tmpdir