From 329b0da5bad4b69affc7d544b9a090bb62ce5359 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Wed, 24 Aug 2022 07:31:13 +0100 Subject: [PATCH] bpftools: use binutils-2.38 for linux before 5.19 Without the change bpftools build fails on binutils-2.39 due to API change: jit_disasm.c:105:17: error: too few arguments to function 'init_disassemble_info' 105 | init_disassemble_info(&info, stdout, | ^~~~~~~~~~~~~~~~~~~~~ --- pkgs/os-specific/linux/bpftools/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/bpftools/default.nix b/pkgs/os-specific/linux/bpftools/default.nix index b4621feeb31f..5a02a1022d59 100644 --- a/pkgs/os-specific/linux/bpftools/default.nix +++ b/pkgs/os-specific/linux/bpftools/default.nix @@ -1,15 +1,20 @@ { lib, stdenv -, libopcodes, libbfd, elfutils, readline +, libopcodes, libopcodes_2_38 +, libbfd, libbfd_2_38 +, elfutils, readline , linuxPackages_latest, zlib , python3, bison, flex }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "bpftools"; inherit (linuxPackages_latest.kernel) version src; nativeBuildInputs = [ python3 bison flex ]; - buildInputs = [ libopcodes libbfd elfutils zlib readline ]; + buildInputs = (if (lib.versionAtLeast version "5.20") + then [ libopcodes libbfd ] + else [ libopcodes_2_38 libbfd_2_38 ]) + ++ [ elfutils zlib readline ]; preConfigure = '' patchShebangs scripts/bpf_doc.py