From 55333e69a74338127c40fac6ed9177e8b92bb1da Mon Sep 17 00:00:00 2001 From: Gongqi Huang Date: Wed, 28 May 2025 23:09:40 -0400 Subject: [PATCH] typst: Update typst packages in typst update script Co-authored-by: emaryn --- pkgs/by-name/ty/typst/package.nix | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ty/typst/package.nix b/pkgs/by-name/ty/typst/package.nix index eda1ea51344f..e7b3c02efe20 100644 --- a/pkgs/by-name/ty/typst/package.nix +++ b/pkgs/by-name/ty/typst/package.nix @@ -5,7 +5,9 @@ installShellFiles, pkg-config, openssl, - nix-update-script, + writeShellScript, + nix-update, + gitMinimal, versionCheckHook, callPackage, }: @@ -60,7 +62,25 @@ rustPlatform.buildRustPackage (finalAttrs: { versionCheckProgramArg = "--version"; passthru = { - updateScript = nix-update-script { }; + updateScript = { + command = [ + (writeShellScript "update-typst.sh" '' + currentVersion=$(nix-instantiate --eval -E "with import ./. {}; typst.version or (lib.getVersion typst)" | tr -d '"') + ${lib.getExe nix-update} typst > /dev/null + latestVersion=$(nix-instantiate --eval -E "with import ./. {}; typst.version or (lib.getVersion typst)" | tr -d '"') + changes=() + if [[ "$currentVersion" != "$latestVersion" ]]; then + changes+=("{\"attrPath\":\"typst\",\"oldVersion\":\"$currentVersion\",\"newVersion\":\"$latestVersion\",\"files\":[\"pkgs/by-name/ty/typst/package.nix\"]}") + fi + maintainers/scripts/update-typst-packages.py --output pkgs/by-name/ty/typst/typst-packages-from-universe.toml > /dev/null + ${lib.getExe gitMinimal} diff --quiet HEAD -- pkgs/by-name/ty/typst/typst-packages-from-universe.toml || changes+=("{\"attrPath\":\"typstPackages\",\"oldVersion\":\"0\",\"newVersion\":\"1\",\"files\":[\"pkgs/by-name/ty/typst/typst-packages-from-universe.toml\"]}") + echo -n "[" + IFS=,; echo -n "''${changes[*]}" + echo "]" + '') + ]; + supportedFeatures = [ "commit" ]; + }; packages = callPackage ./typst-packages.nix { }; withPackages = callPackage ./with-packages.nix { }; };