diff options
author | Milan Pässler <milan@petabyte.dev> | 2021-05-03 00:55:49 +0200 |
---|---|---|
committer | Milan Pässler <milan@petabyte.dev> | 2021-05-03 00:59:50 +0200 |
commit | c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59 (patch) | |
tree | 2890b1fac6a62fa709b069fe54938a7a6835f0c3 /pkgs/os-specific/linux/bpftools | |
parent | c47fc06de15a806a9e6c280236c7d34b694a26ef (diff) |
bpftools: build bpf_asm, bpf_dbg
I needed some other bpf-related tools located in the kernel source tree, so I hijacked the bpftool package, renamed it to bpftools and added those programs.
Diffstat (limited to 'pkgs/os-specific/linux/bpftools')
-rw-r--r-- | pkgs/os-specific/linux/bpftools/default.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/bpftools/default.nix b/pkgs/os-specific/linux/bpftools/default.nix new file mode 100644 index 0000000000000..3e20efa9f0122 --- /dev/null +++ b/pkgs/os-specific/linux/bpftools/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv +, libopcodes, libbfd, libelf, readline +, linuxPackages_latest, zlib +, python3, bison, flex +}: + +stdenv.mkDerivation { + pname = "bpftools"; + inherit (linuxPackages_latest.kernel) version src; + + nativeBuildInputs = [ python3 bison flex ]; + buildInputs = [ libopcodes libbfd libelf zlib readline ]; + + preConfigure = '' + patchShebangs scripts/bpf_helpers_doc.py + + cd tools/bpf + substituteInPlace ./bpftool/Makefile \ + --replace '/usr/local' "$out" \ + --replace '/usr' "$out" \ + --replace '/sbin' '/bin' + ''; + + buildFlags = [ "bpftool" "bpf_asm" "bpf_dbg" ]; + + installPhase = '' + make -C bpftool install + install -Dm755 -t $out/bin bpf_asm + install -Dm755 -t $out/bin bpf_dbg + ''; + + meta = with lib; { + description = "Debugging/program analysis tools for the eBPF subsystem"; + license = [ licenses.gpl2 licenses.bsd2 ]; + platforms = platforms.linux; + maintainers = with maintainers; [ thoughtpolice ]; + }; +} |