cursed-ping/flake.nix
Alexey Novikov fa756500d3
initial
2025-02-07 13:32:34 +03:00

65 lines
1.7 KiB
Nix

{
description = "cursed ping";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
nixpkgs,
flake-utils,
...
}:
{
overlays.default = final: prev: {
inherit (self.packages.${prev.system}) bpf2go;
};
} // flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in {
packages = {
bpf2go = pkgs.buildGoModule rec {
pname = "bpf2go";
version = "0.17.2";
src = pkgs.fetchFromGitHub {
owner = "cilium";
repo = "ebpf";
rev = "v${version}";
hash = "sha256-lIJsITwdt6PuTMEHXJekBKM2rgCdPJF+i+QHt0jBgp8=";
};
vendorHash = "sha256-Ygljpp5GVM2EbD51q1ufqA6z5yJnrXVEfVLIPrxfm18=";
subPackages = [ "cmd/bpf2go" ];
doCheck = false;
};
pinger = pkgs.buildGoModule rec {
pname = "cursed-ping";
version = "1";
src = ./.;
vendorHash = "sha256-RxmMgiMATpO31VP85dlkOXl/nLbVD5W1dfWHhuGKcME=";
deleteVendor = true;
ldflags = ["-s -w"];
env.CGO_ENABLED = 0;
nativeBuildInputs = with pkgs; [clang bpftools libllvm linuxHeaders bpf2go glibc_multi libbpf];
hardeningDisable = [ "all" ];
buildInputs = nativeBuildInputs;
postConfigure = ''
go generate ./...
'';
meta = with pkgs.lib; {
description = "cursed ping";
license = licenses.wtfpl;
};
};
};
formatter = pkgs.alejandra;
});
}