summary refs log tree commit diff
path: root/pkgs/os-specific/linux/bcc
diff options
context:
space:
mode:
authorJörg Thalheim <joerg@thalheim.io>2019-12-11 05:33:02 +0000
committerJörg Thalheim <joerg@thalheim.io>2019-12-11 05:50:56 +0000
commitecbe18dd3beed21f0beb681105d7115537872184 (patch)
treea3b74693b9c81cd9d1dbf57e6a46e22f97a78cf7 /pkgs/os-specific/linux/bcc
parent9e58ecd4ad0fffd5c71ddf17b26bd519810f02bb (diff)
downloadnixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar.gz
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar.bz2
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar.lz
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar.xz
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.tar.zst
nixpkgs-ecbe18dd3beed21f0beb681105d7115537872184.zip
bcc: 0.11.0 -> 0.12.0
- fix bash shebangs
- fix reference to $out/share/bcc/tools/lib when scripts are started from $out/bin
- use submodules to download libbpf
Diffstat (limited to 'pkgs/os-specific/linux/bcc')
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix41
1 files changed, 12 insertions, 29 deletions
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index 449f8e3d40b..ffb14e9c3c1 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -1,38 +1,25 @@
 { stdenv, fetchFromGitHub, makeWrapper, cmake, llvmPackages, kernel
 , flex, bison, elfutils, python, luajit, netperf, iperf, libelf
-, systemtap
+, systemtap, bash
 }:
 
 python.pkgs.buildPythonApplication rec {
-  version = "0.11.0";
+  version = "0.12.0";
   name = "bcc-${version}";
 
-  srcs = [
-    (fetchFromGitHub {
-      owner  = "iovisor";
-      repo   = "bcc";
-      rev    = "v${version}";
-      sha256 = "1v2gzdd4k58f3yxmq4z97a7xh5vyd84flzzfr9k2cm29i93cwcam";
-      name   = "bcc";
-    })
-
-    # note: keep this in sync with the version that was used at the time of the
-    # tagged release!
-    (fetchFromGitHub {
-      owner  = "libbpf";
-      repo   = "libbpf";
-      rev    = "a30df5c09fb3941fc42c4570ed2545e7057bf82a";
-      sha256 = "088vb9sfs1zazlqi6abb3ia1xgpmwiz5pmz6y3a6gbh0zdrgh6px";
-      name   = "libbpf";
-    })
-  ];
-  sourceRoot = "bcc";
+  src = fetchFromGitHub {
+    owner  = "iovisor";
+    repo   = "bcc";
+    rev    = "v${version}";
+    sha256 = "1r2yjxam23k56prsvjhqf8i8d3irhcvmy0bly6x23h1jc3zc6yym";
+    fetchSubmodules = true;
+  };
   format = "other";
 
   buildInputs = with llvmPackages; [
     llvm clang-unwrapped kernel
     elfutils luajit netperf iperf
-    systemtap.stapBuild flex
+    systemtap.stapBuild flex bash
   ];
 
   patches = [
@@ -58,12 +45,6 @@ python.pkgs.buildPythonApplication rec {
     patch -p1 < libbcc-path.patch
   '';
 
-  preConfigure = ''
-    chmod -R u+w ../libbpf/
-    rmdir src/cc/libbpf
-    (cd src/cc && ln -svf ../../../libbpf/ libbpf)
-  '';
-
   postInstall = ''
     mkdir -p $out/bin $out/share
     rm -r $out/share/bcc/tools/old
@@ -76,6 +57,8 @@ python.pkgs.buildPythonApplication rec {
       if [ ! -e $bin ]; then
         ln -s $f $bin
       fi
+      substituteInPlace "$f" \
+        --replace '$(dirname $0)/lib' "$out/share/bcc/tools/lib"
     done
 
     sed -i -e "s!lib=.*!lib=$out/bin!" $out/bin/{java,ruby,node,python}gc