Commit aed5dea5 authored by aucub's avatar aucub
Browse files

pilipalax: add update script

parent 81859204
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -39,12 +39,12 @@
}:
flutter324.buildFlutterApplication rec {
  pname = "pilipalax";
  version = "1.0.22-beta.12+174";
  version = "1.0.22-beta.12";

  src = fetchFromGitHub {
    owner = "orz12";
    repo = "PiliPalaX";
    tag = version;
    tag = "${version}+174";
    hash = "sha256-Qjqyg9y5R70hODGfVClS505dJwexL0BbUm6lXSHzhJs=";
  };

@@ -113,6 +113,8 @@ flutter324.buildFlutterApplication rec {
    --prefix LD_LIBRARY_PATH : "$out/app/${pname}/lib"
  '';

  passthru.updateScript = ./update.sh;

  meta = {
    description = "Third-party BiliBili client developed with Flutter";
    homepage = "https://github.com/orz12/PiliPalaX";
+24 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq yq nixVersions.latest bash coreutils common-updater-scripts

set -eou pipefail

ROOT="$(dirname "$(readlink -f "$0")")"

latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/orz12/PiliPalaX/releases/latest | jq --raw-output .tag_name)
latestVersion=$(echo "$latestTag" | awk -F'+' '{print $1}')
RunNumber=$(echo "$latestTag" | grep -o '[^+]*$')

currentVersion=$(nix-instantiate --eval -E "with import ./. {}; pilipalax.version or (lib.getVersion pilipalax)" | tr -d '"')

if [[ "$currentVersion" == "$latestVersion" ]]; then
    echo "package is up-to-date: $currentVersion"
    exit 0
fi

sed -i "s/\(tag = \"\${version}+\)[0-9]\+/\1${RunNumber}/" "$ROOT/package.nix"

hash=$(nix hash convert --hash-algo sha256 --to sri $(nix-prefetch-url --unpack "https://github.com/orz12/PiliPalaX/archive/refs/tags/${latestTag}.tar.gz"))
update-source-version pilipalax $latestVersion $hash

curl https://raw.githubusercontent.com/orz12/PiliPalaX/${latestTag}/pubspec.lock | yq . >$ROOT/pubspec.lock.json