gdevelop: added update script

+45 -1
+7 -1
pkgs/by-name/gd/gdevelop/darwin.nix
··· 6 pname, 7 version, 8 meta, 9 }: 10 stdenvNoCC.mkDerivation (finalAttrs: { 11 - inherit pname version meta; 12 13 src = fetchurl { 14 url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip";
··· 6 pname, 7 version, 8 meta, 9 + passthru, 10 }: 11 stdenvNoCC.mkDerivation (finalAttrs: { 12 + inherit 13 + pname 14 + version 15 + meta 16 + passthru 17 + ; 18 19 src = fetchurl { 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 version, 7 pname, 8 meta, 9 }: 10 let 11 src = ··· 29 version 30 src 31 meta 32 ; 33 34 extraInstallCommands = ''
··· 6 version, 7 pname, 8 meta, 9 + passthru, 10 }: 11 let 12 src = ··· 30 version 31 src 32 meta 33 + passthru 34 ; 35 36 extraInstallCommands = ''
+3
pkgs/by-name/gd/gdevelop/package.nix
··· 20 mainProgram = "gdevelop"; 21 platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; 22 }; 23 in 24 if stdenv.hostPlatform.isDarwin then 25 callPackage ./darwin.nix { ··· 27 pname 28 version 29 meta 30 ; 31 } 32 else ··· 35 pname 36 version 37 meta 38 ; 39 }
··· 20 mainProgram = "gdevelop"; 21 platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; 22 }; 23 + passthru.updateScript = ./update.sh; 24 in 25 if stdenv.hostPlatform.isDarwin then 26 callPackage ./darwin.nix { ··· 28 pname 29 version 30 meta 31 + passthru 32 ; 33 } 34 else ··· 37 pname 38 version 39 meta 40 + passthru 41 ; 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"