1{ lib
2, buildGoModule
3, fetchFromGitHub
4, installShellFiles
5, testers
6, go-task
7}:
8
9buildGoModule rec {
10 pname = "go-task";
11 version = "3.25.0";
12
13 src = fetchFromGitHub {
14 owner = pname;
15 repo = "task";
16 rev = "refs/tags/v${version}";
17 hash = "sha256-XeybiKK0VywVqRqJgnp2+ZwgqwgBDVM9wcB5Md5pzM0=";
18 };
19
20 vendorHash = "sha256-irXCHPKQFcq2C84n9aFjKnV9f8AzBrIuuV1BkTrDK4s=";
21
22 doCheck = false;
23
24 nativeBuildInputs = [ installShellFiles ];
25
26 subPackages = [ "cmd/task" ];
27
28 ldflags = [
29 "-s"
30 "-w"
31 "-X=github.com/go-task/task/v3/internal/version.version=${version}"
32 ];
33
34 postInstall = ''
35 ln -s $out/bin/task $out/bin/go-task
36
37 installShellCompletion completion/{bash,fish,zsh}/*
38 '';
39
40 passthru.tests = {
41 version = testers.testVersion {
42 package = go-task;
43 };
44 };
45
46 meta = with lib; {
47 homepage = "https://taskfile.dev/";
48 description = "A task runner / simpler Make alternative written in Go";
49 changelog = "https://github.com/go-task/task/blob/v${version}/CHANGELOG.md";
50 license = licenses.mit;
51 maintainers = with maintainers; [ parasrah ];
52 };
53}