diff options
Diffstat (limited to 'pkgs/os-specific/linux/sysdig/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/sysdig/default.nix | 49 |
1 files changed, 29 insertions, 20 deletions
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix index 59577eb8d51..23e78dd848e 100644 --- a/pkgs/os-specific/linux/sysdig/default.nix +++ b/pkgs/os-specific/linux/sysdig/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchFromGitHub, cmake, kernel -, luajit, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, c-ares, protobuf, grpc +{ lib, stdenv, fetchFromGitHub, cmake, kernel, installShellFiles +, luajit, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc }: -with stdenv.lib; +with lib; stdenv.mkDerivation rec { pname = "sysdig"; - version = "0.26.7"; + version = "0.27.1"; src = fetchFromGitHub { owner = "draios"; repo = "sysdig"; rev = version; - sha256 = "09m6j2cl70jxb0k4ydsgrida381bipf0v026xz661152cy23r3ff"; + sha256 = "sha256-lYjMvxMIReANNwMr62u881Nugrs9piOaN3EmrvGzRns="; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl installShellFiles ]; buildInputs = [ - zlib luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb c-ares protobuf grpc + luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb protobuf grpc ] ++ optionals (kernel != null) kernel.moduleBuildDependencies; hardeningDisable = [ "pic" ]; @@ -38,19 +38,28 @@ stdenv.mkDerivation rec { export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ''; - postInstall = optionalString (kernel != null) '' - make install_driver - kernel_dev=${kernel.dev} - kernel_dev=''${kernel_dev#/nix/store/} - kernel_dev=''${kernel_dev%%-linux*dev*} - if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - else - xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz - sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko - fi - ''; + postInstall = + '' + # Fix the bash completion location + installShellCompletion --bash $out/etc/bash_completion.d/sysdig + rm $out/etc/bash_completion.d/sysdig + rmdir $out/etc/bash_completion.d + rmdir $out/etc + '' + + optionalString (kernel != null) '' + make install_driver + kernel_dev=${kernel.dev} + kernel_dev=''${kernel_dev#/nix/store/} + kernel_dev=''${kernel_dev%%-linux*dev*} + if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + else + xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz + sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko + fi + ''; + meta = { description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; |