gdevelop: added update script

+45 -1
+7 -1
pkgs/by-name/gd/gdevelop/darwin.nix
··· 6 6 pname, 7 7 version, 8 8 meta, 9 + passthru, 9 10 }: 10 11 stdenvNoCC.mkDerivation (finalAttrs: { 11 - inherit pname version meta; 12 + inherit 13 + pname 14 + version 15 + meta 16 + passthru 17 + ; 12 18 13 19 src = fetchurl { 14 20 url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
+2
pkgs/by-name/gd/gdevelop/linux.nix
··· 6 6 version, 7 7 pname, 8 8 meta, 9 + passthru, 9 10 }: 10 11 let 11 12 src = ··· 29 30 version 30 31 src 31 32 meta 33 + passthru 32 34 ; 33 35 34 36 extraInstallCommands = ''
+3
pkgs/by-name/gd/gdevelop/package.nix
··· 20 20 mainProgram = "gdevelop"; 21 21 platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; 22 22 }; 23 + passthru.updateScript = ./update.sh; 23 24 in 24 25 if stdenv.hostPlatform.isDarwin then 25 26 callPackage ./darwin.nix { ··· 27 28 pname 28 29 version 29 30 meta 31 + passthru 30 32 ; 31 33 } 32 34 else ··· 35 37 pname 36 38 version 37 39 meta 40 + passthru 38 41 ; 39 42 }
+33
pkgs/by-name/gd/gdevelop/update.sh
··· 1 + #!/usr/bin/env nix-shell 2 + #!nix-shell -i bash -p curl jq gnused 3 + 4 + set -euo pipefail 5 + 6 + cd "$(dirname "$0")" || exit 1 7 + 8 + # Grab latest version from the GitHub repository 9 + LATEST_VER="$(curl --fail -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/4ian/GDevelop/releases" | jq -r '.[0].tag_name' | sed 's/^v//')" 10 + CURRENT_VER="$(grep -oP 'version = "\K[^"]+' package.nix)" 11 + 12 + if [[ "$LATEST_VER" == "$CURRENT_VER" ]]; then 13 + echo "gdevelop is up-to-date" 14 + exit 0 15 + fi 16 + 17 + echo "Updating gdevelop from $CURRENT_VER to $LATEST_VER" 18 + 19 + # Update the version 20 + sed -i "s#version = \".*\";#version = \"$LATEST_VER\";#g" package.nix 21 + 22 + # Update hashes 23 + # - Linux 24 + 25 + LINUX_HASH="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/4ian/GDevelop/releases/download/v${LATEST_VER}/GDevelop-5-${LATEST_VER}.AppImage")")" 26 + sed -i "s#hash = \".*\"#hash = \"$LINUX_HASH\"#g" linux.nix 27 + 28 + # - Darwin 29 + 30 + DARWIN_HASH="$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url --type sha256 "https://github.com/4ian/GDevelop/releases/download/v${LATEST_VER}/GDevelop-5-${LATEST_VER}-universal-mac.zip")")" 31 + sed -i "s#hash = \".*\"#hash = \"$DARWIN_HASH\"#g" darwin.nix 32 + 33 + echo "Updated gdevelop to $LATEST_VER"