about summary refs log tree commit diff
path: root/pkgs/development/tools/go-task/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/go-task/default.nix')
-rw-r--r--pkgs/development/tools/go-task/default.nix28
1 files changed, 24 insertions, 4 deletions
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index c744f2ee43186..09cb7e2a7462c 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
+, fetchpatch
 , installShellFiles
 , testers
 , go-task
@@ -8,16 +9,26 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.37.2";
+  version = "3.39.2";
 
   src = fetchFromGitHub {
-    owner = pname;
+    owner = "go-task";
     repo = "task";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yVQR7D3zpReBlYyuZNMBVs3lgWBR54doMUjRMhfgUJw=";
+    hash = "sha256-B5o3oAey7zJg5JBf4GO69cLmVbnkKedkjWP108XRGR8=";
   };
 
-  vendorHash = "sha256-iugFWBIKt/Rm5ccQnIFR75P1AVZbbFhWN97dvr8DoBs=";
+  vendorHash = "sha256-P9J69WJ2C2xgdU9xydiaY8iSKB7ZfexLNYi7dyHDTIk=";
+
+  patches = [
+    # fix version resolution when passed in though ldflags
+    # remove on next release
+    (fetchpatch {
+      name = "fix-ldflags-version.patch";
+      url = "https://github.com/go-task/task/commit/9ee4f21d62382714ac829df6f9bbf1637406eb5b.patch?full_index=1";
+      hash = "sha256-wu5//aZ/vzuObb03AjUUlVFjPr175mn1vVAZgqSGIZ0=";
+    })
+  ];
 
   doCheck = false;
 
@@ -31,10 +42,19 @@ buildGoModule rec {
     "-X=github.com/go-task/task/v3/internal/version.version=${version}"
   ];
 
+  CGO_ENABLED = 0;
+
   postInstall = ''
     ln -s $out/bin/task $out/bin/go-task
 
     installShellCompletion completion/{bash,fish,zsh}/*
+
+    substituteInPlace $out/share/bash-completion/completions/task.bash \
+      --replace-fail 'complete -F _task task' 'complete -F _task task go-task'
+    substituteInPlace $out/share/fish/vendor_completions.d/task.fish \
+      --replace-fail 'complete -c $GO_TASK_PROGNAME' 'complete -c $GO_TASK_PROGNAME -c go-task'
+    substituteInPlace $out/share/zsh/site-functions/_task \
+      --replace-fail '#compdef task' '#compdef task go-task'
   '';
 
   passthru.tests = {