2025-08-18 23:21:08 +00:00

52 lines
1.0 KiB
Nix

{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
gotools,
}:
buildGoModule rec {
pname = "mtail";
version = "3.2.12";
src = fetchFromGitHub {
owner = "jaqx0r";
repo = "mtail";
rev = "v${version}";
hash = "sha256-G2yDTIAz39PwmJkHHMZDKfocmJgio8sArxkQwMCOdf8=";
};
vendorHash = "sha256-+Ym+vn7yHUSS7So7m53cCUNSmznwgyvg+Xj4nKUbD7U=";
nativeBuildInputs = [
gotools # goyacc
];
ldflags = [
"-X=main.Branch=main"
"-X=main.Version=${version}"
"-X=main.Revision=${src.rev}"
];
# fails on darwin with: write unixgram -> <tmpdir>/rsyncd.log: write: message too long
doCheck = !stdenv.hostPlatform.isDarwin;
checkFlags = [
# can only be executed under bazel
"-skip=TestExecMtail"
];
preBuild = ''
GOOS= GOARCH= go generate ./...
'';
meta = {
description = "Tool for extracting metrics from application logs";
homepage = "https://github.com/jaqx0r/mtail";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ nickcao ];
mainProgram = "mtail";
};
}