diff --git a/pkgs/by-name/ty/typescript-go/package.nix b/pkgs/by-name/ty/typescript-go/package.nix index 69fff12763fa..510084be1b3f 100644 --- a/pkgs/by-name/ty/typescript-go/package.nix +++ b/pkgs/by-name/ty/typescript-go/package.nix @@ -1,26 +1,31 @@ { lib, - buildGo125Module, + buildGo126Module, fetchFromGitHub, + _experimental-update-script-combinators, nix-update-script, + writeShellApplication, + nix, + gnugrep, + gnused, }: let - buildGoModule = buildGo125Module; + buildGoModule = buildGo126Module; in buildGoModule { pname = "typescript-go"; - version = "0-unstable-2026-02-11"; + version = "0-unstable-2026-04-08"; src = fetchFromGitHub { owner = "microsoft"; repo = "typescript-go"; - rev = "08cb84c68ae83b9def5e0132e05362e5061342ab"; - hash = "sha256-IvR7zHSl7kUmamQkGGrzdKJrdypnQe2a0X1YUyRYYTU="; + rev = "2a5e1cf9fe2261f2ad56871a6d2ed12d6ac34083"; + hash = "sha256-vG53leoltVF7jXnf7AJRUIkbytqsqheoKG7bt7oB/h4="; fetchSubmodules = false; }; - vendorHash = "sha256-QNKXJ9HA8WlLlTxflLt0a/Y2Lt8NG1AnNmBOESYFyRI="; + vendorHash = "sha256-YmKVn9fc7dKMBiXnutI15mg/BFCyvyXntr7QaxJ7qU8="; ldflags = [ "-s" @@ -44,9 +49,33 @@ buildGoModule { ''; passthru = { - updateScript = nix-update-script { - extraArgs = [ "--version=branch" ]; - }; + updateScript = _experimental-update-script-combinators.sequence [ + (nix-update-script { + extraArgs = [ + "--version=branch" + "--src-only" + ]; + }) + + (lib.getExe (writeShellApplication { + name = "typescript-go-go-version-updater"; + runtimeInputs = [ + nix + gnugrep + gnused + ]; + text = '' + new_src="$(nix-build --attr 'pkgs.typescript-go.src' --no-out-link)" + new_go_major_minor="$(grep --only-matching --perl-regexp '^go \K([0-9]+\.[0-9]+)' "$new_src/go.mod")" + sed -i -E "s/buildGo[0-9]+Module/buildGo''${new_go_major_minor//./}Module/g" '${toString ./package.nix}' + ''; + })) + + # Update vendorHash + (nix-update-script { + extraArgs = [ "--version=skip" ]; + }) + ]; }; meta = {