{
buildGoModule,
fetchFromGitHub,
lib,
stdenv,
}:
buildGoModule rec {
pname = "parca-agent";
version = "0.36.0";
src = fetchFromGitHub {
owner = "parca-dev";
repo = "parca-agent";
tag = "v${version}";
hash = "sha256-06TrG4cDf5RjwScIhX4zEjcx4zlFCjnWySpZHmaXT7E=";
fetchSubmodules = true;
};
proxyVendor = true;
vendorHash = "sha256-6PD2qd0Qeqb1yQiQcOw0nRX6lWjLsWcLDTlmbz0T5+k=";
buildInputs = [
stdenv.cc.libc.static
];
ldflags = [
"-X=main.version=${version}"
"-X=main.commit=${src.rev}"
"-extldflags=-static"
tags = [
"osusergo"
"netgo"
meta = {
description = "eBPF based, always-on profiling agent";
homepage = "https://github.com/parca-dev/parca-agent";
changelog = "https://github.com/parca-dev/parca-agent/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jnsgruk ];
platforms = lib.platforms.linux;
mainProgram = "parca-agent";
}