bcc: 0.26.0 -> 0.28.0 (#240520)

* bcc: 0.26.0 -> 0.28.0

update now calls setuptool through cmake which installs an egg file,
this apparently requires setting a PYTHONPATH which includes the
output dir to work.

While here, make it clear we only support python3 as 'python' in
nixpkgs is still python2 even if it's no longer usable...

* bcc/bpftrace: use llvm 16

authored by Dominique Martinet and committed by GitHub 184dfbc8 87dfa279

+37 -13
+35 -10
pkgs/os-specific/linux/bcc/default.nix
··· 1 - { lib, stdenv, fetchFromGitHub 2 - , makeWrapper, cmake, llvmPackages 3 - , flex, bison, elfutils, python, luajit, netperf, iperf, libelf 4 - , bash, libbpf, nixosTests 5 - , audit 1 + { audit 2 + , bash 3 + , bison 4 + , cmake 5 + , elfutils 6 + , fetchFromGitHub 7 + , flex 8 + , iperf 9 + , lib 10 + , libbpf 11 + , llvmPackages 12 + , luajit 13 + , makeWrapper 14 + , netperf 15 + , nixosTests 16 + , python3 17 + , stdenv 18 + , zip 6 19 }: 7 20 8 - python.pkgs.buildPythonApplication rec { 21 + python3.pkgs.buildPythonApplication rec { 9 22 pname = "bcc"; 10 - version = "0.26.0"; 23 + version = "0.28.0"; 11 24 12 25 disabled = !stdenv.isLinux; 13 26 ··· 15 28 owner = "iovisor"; 16 29 repo = "bcc"; 17 30 rev = "v${version}"; 18 - sha256 = "sha256-zx38tPwuuGU6px9pRNN5JtvBysK9fStOvoqe7cLo7LM="; 31 + sha256 = "sha256-+ecSaVroDC2bWbio4JsuwEvHQdCMpxLt7hIkeREMJs8="; 19 32 }; 20 33 format = "other"; 21 34 ··· 31 44 ./fix-deadlock-detector-import.patch 32 45 ]; 33 46 34 - propagatedBuildInputs = [ python.pkgs.netaddr ]; 35 - nativeBuildInputs = [ makeWrapper cmake flex bison llvmPackages.llvm.dev ]; 47 + propagatedBuildInputs = [ python3.pkgs.netaddr ]; 48 + nativeBuildInputs = [ 49 + bison 50 + cmake 51 + flex 52 + llvmPackages.llvm.dev 53 + makeWrapper 54 + python3.pkgs.setuptools 55 + zip 56 + ]; 36 57 37 58 cmakeFlags = [ 38 59 "-DBCC_KERNEL_MODULES_DIR=/run/booted-system/kernel-modules/lib/modules" ··· 59 80 --replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ 60 81 ''; 61 82 83 + preInstall = '' 84 + # required for setuptool during install 85 + export PYTHONPATH=$out/${python3.sitePackages}:$PYTHONPATH 86 + ''; 62 87 postInstall = '' 63 88 mkdir -p $out/bin $out/share 64 89 rm -r $out/share/bcc/tools/old
+2 -3
pkgs/top-level/all-packages.nix
··· 18474 18474 bpftools = callPackage ../os-specific/linux/bpftools { }; 18475 18475 18476 18476 bcc = callPackage ../os-specific/linux/bcc { 18477 - python = python3; 18478 - llvmPackages = llvmPackages_14; 18477 + llvmPackages = llvmPackages_16; 18479 18478 }; 18480 18479 18481 18480 bpftrace = callPackage ../os-specific/linux/bpftrace { 18482 - llvmPackages = llvmPackages_14; 18481 + llvmPackages = llvmPackages_16; 18483 18482 }; 18484 18483 18485 18484 bpm-tools = callPackage ../tools/audio/bpm-tools { };