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