summary refs log tree commit diff
path: root/pkgs/os-specific/linux/bpftools
diff options
context:
space:
mode:
authorMilan Pässler <milan@petabyte.dev>2021-05-03 00:55:49 +0200
committerMilan Pässler <milan@petabyte.dev>2021-05-03 00:59:50 +0200
commitc4bd0719e31e4e8d07aeecf4fcc578bd666fcb59 (patch)
tree2890b1fac6a62fa709b069fe54938a7a6835f0c3 /pkgs/os-specific/linux/bpftools
parentc47fc06de15a806a9e6c280236c7d34b694a26ef (diff)
downloadnixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar.gz
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar.bz2
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar.lz
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar.xz
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.tar.zst
nixpkgs-c4bd0719e31e4e8d07aeecf4fcc578bd666fcb59.zip
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.nix38
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 00000000000..3e20efa9f01
--- /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 ];
+  };
+}