Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildGoModule 3, fetchFromGitHub 4, fetchpatch 5, installShellFiles 6, testers 7, go-task 8}: 9 10buildGoModule rec { 11 pname = "go-task"; 12 version = "3.38.0"; 13 14 src = fetchFromGitHub { 15 owner = pname; 16 repo = "task"; 17 rev = "refs/tags/v${version}"; 18 hash = "sha256-mz/07DONaO3kCxOXEnvWglY0b9JXxCXjTrVIEbsbl98="; 19 }; 20 21 vendorHash = "sha256-2M/FrXip0Tz0wguCd81qbBDW3XIJlAWwVzD+hIFm6sw="; 22 23 patches = [ 24 # fix version resolution when passed in though ldflags 25 # remove on next release 26 (fetchpatch { 27 name = "fix-ldflags-version.patch"; 28 url = "https://github.com/go-task/task/commit/9ee4f21d62382714ac829df6f9bbf1637406eb5b.patch?full_index=1"; 29 hash = "sha256-wu5//aZ/vzuObb03AjUUlVFjPr175mn1vVAZgqSGIZ0="; 30 }) 31 ]; 32 33 doCheck = false; 34 35 nativeBuildInputs = [ installShellFiles ]; 36 37 subPackages = [ "cmd/task" ]; 38 39 ldflags = [ 40 "-s" 41 "-w" 42 "-X=github.com/go-task/task/v3/internal/version.version=${version}" 43 ]; 44 45 postInstall = '' 46 ln -s $out/bin/task $out/bin/go-task 47 48 installShellCompletion completion/{bash,fish,zsh}/* 49 ''; 50 51 passthru.tests = { 52 version = testers.testVersion { 53 package = go-task; 54 }; 55 }; 56 57 meta = with lib; { 58 homepage = "https://taskfile.dev/"; 59 description = "Task runner / simpler Make alternative written in Go"; 60 changelog = "https://github.com/go-task/task/blob/v${version}/CHANGELOG.md"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ parasrah ]; 63 }; 64}