From b4b2d7230a1055241df9a3ff6358bc684442004d Mon Sep 17 00:00:00 2001 From: Matteo Pacini Date: Fri, 23 May 2025 22:17:15 +0100 Subject: [PATCH 1/2] gdevelop: added update script --- pkgs/by-name/gd/gdevelop/darwin.nix | 8 ++++++- pkgs/by-name/gd/gdevelop/linux.nix | 2 ++ pkgs/by-name/gd/gdevelop/package.nix | 3 +++ pkgs/by-name/gd/gdevelop/update.sh | 33 ++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100755 pkgs/by-name/gd/gdevelop/update.sh diff --git a/pkgs/by-name/gd/gdevelop/darwin.nix b/pkgs/by-name/gd/gdevelop/darwin.nix index 9415ee4d4d37..3126b72c43a9 100644 --- a/pkgs/by-name/gd/gdevelop/darwin.nix +++ b/pkgs/by-name/gd/gdevelop/darwin.nix @@ -6,9 +6,15 @@ pname, version, meta, + passthru, }: stdenvNoCC.mkDerivation (finalAttrs: { - inherit pname version meta; + inherit + pname + version + meta + passthru + ; src = fetchurl { url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip"; diff --git a/pkgs/by-name/gd/gdevelop/linux.nix b/pkgs/by-name/gd/gdevelop/linux.nix index fcc51b141110..9817ec1b6b2c 100644 --- a/pkgs/by-name/gd/gdevelop/linux.nix +++ b/pkgs/by-name/gd/gdevelop/linux.nix @@ -6,6 +6,7 @@ version, pname, meta, + passthru, }: let src = @@ -29,6 +30,7 @@ appimageTools.wrapType2 { version src meta + passthru ; extraInstallCommands = '' diff --git a/pkgs/by-name/gd/gdevelop/package.nix b/pkgs/by-name/gd/gdevelop/package.nix index c8f07e752541..5ab41784a71e 100644 --- a/pkgs/by-name/gd/gdevelop/package.nix +++ b/pkgs/by-name/gd/gdevelop/package.nix @@ -20,6 +20,7 @@ let mainProgram = "gdevelop"; platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin; }; + passthru.updateScript = ./update.sh; in if stdenv.hostPlatform.isDarwin then callPackage ./darwin.nix { @@ -27,6 +28,7 @@ if stdenv.hostPlatform.isDarwin then pname version meta + passthru ; } else @@ -35,5 +37,6 @@ else pname version meta + passthru ; } diff --git a/pkgs/by-name/gd/gdevelop/update.sh b/pkgs/by-name/gd/gdevelop/update.sh new file mode 100755 index 000000000000..ac91a41916db --- /dev/null +++ b/pkgs/by-name/gd/gdevelop/update.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq gnused + +set -euo pipefail + +cd "$(dirname "$0")" || exit 1 + +# Grab latest version from the GitHub repository +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//')" +CURRENT_VER="$(grep -oP 'version = "\K[^"]+' package.nix)" + +if [[ "$LATEST_VER" == "$CURRENT_VER" ]]; then + echo "gdevelop is up-to-date" + exit 0 +fi + +echo "Updating gdevelop from $CURRENT_VER to $LATEST_VER" + +# Update the version +sed -i "s#version = \".*\";#version = \"$LATEST_VER\";#g" package.nix + +# Update hashes +# - Linux + +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")")" +sed -i "s#hash = \".*\"#hash = \"$LINUX_HASH\"#g" linux.nix + +# - Darwin + +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")")" +sed -i "s#hash = \".*\"#hash = \"$DARWIN_HASH\"#g" darwin.nix + +echo "Updated gdevelop to $LATEST_VER" From b0f6bd05f44e90fb7ca7ad749d4c72b1f1e12c75 Mon Sep 17 00:00:00 2001 From: Matteo Pacini Date: Fri, 23 May 2025 22:18:34 +0100 Subject: [PATCH 2/2] gdevelop: 5.5.229 -> 5.5.231 --- pkgs/by-name/gd/gdevelop/darwin.nix | 2 +- pkgs/by-name/gd/gdevelop/linux.nix | 2 +- pkgs/by-name/gd/gdevelop/package.nix | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gd/gdevelop/darwin.nix b/pkgs/by-name/gd/gdevelop/darwin.nix index 3126b72c43a9..b9be44d4d918 100644 --- a/pkgs/by-name/gd/gdevelop/darwin.nix +++ b/pkgs/by-name/gd/gdevelop/darwin.nix @@ -18,7 +18,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchurl { url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}-universal-mac.zip"; - hash = "sha256-0FT4JHGJKy6UapuV2tXKzWm0Esr6DPqu38PllUbUtrY="; + hash = "sha256-zvPum8vTEXS0LbwBpzGNmcsm3s7u2oAJBhGYvlV1PWw="; }; sourceRoot = "."; diff --git a/pkgs/by-name/gd/gdevelop/linux.nix b/pkgs/by-name/gd/gdevelop/linux.nix index 9817ec1b6b2c..8d32c18c0f52 100644 --- a/pkgs/by-name/gd/gdevelop/linux.nix +++ b/pkgs/by-name/gd/gdevelop/linux.nix @@ -13,7 +13,7 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://github.com/4ian/GDevelop/releases/download/v${version}/GDevelop-5-${version}.AppImage"; - hash = "sha256-KV6gzPiu/45ibdzMG707vd10F6qLcm+afwJWa6WlywU="; + hash = "sha256-RjpiIy4NqZ9QCevwWR6cKLobbsFjneq+Vhr/t0JfvgU="; } else throw "${pname}-${version} is not supported on ${stdenv.hostPlatform.system}"; diff --git a/pkgs/by-name/gd/gdevelop/package.nix b/pkgs/by-name/gd/gdevelop/package.nix index 5ab41784a71e..57a9427762bc 100644 --- a/pkgs/by-name/gd/gdevelop/package.nix +++ b/pkgs/by-name/gd/gdevelop/package.nix @@ -5,7 +5,7 @@ ... }: let - version = "5.5.229"; + version = "5.5.231"; pname = "gdevelop"; meta = { description = "Graphical Game Development Studio";