at 18.09-beta 2.1 kB view raw
1{stdenv, fetchFromGitHub, cmake, luajit, kernel, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils}: 2 3with stdenv.lib; 4stdenv.mkDerivation rec { 5 name = "sysdig-${version}"; 6 version = "0.22.1"; 7 8 src = fetchFromGitHub { 9 owner = "draios"; 10 repo = "sysdig"; 11 rev = version; 12 sha256 = "1wbvpsalm2ccwh8xz6fa4gqviilvjd8lnwvdryixhsdsf7j8w0j0"; 13 }; 14 15 buildInputs = [ 16 cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl jq gcc elfutils 17 ] ++ optional (kernel != null) kernel.moduleBuildDependencies; 18 19 hardeningDisable = [ "pic" ]; 20 21 cmakeFlags = [ 22 "-DUSE_BUNDLED_DEPS=OFF" 23 "-DSYSDIG_VERSION=${version}" 24 ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF"; 25 26 # needed since luajit-2.1.0-beta3 27 NIX_CFLAGS_COMPILE = [ 28 "-DluaL_reg=luaL_Reg" 29 "-DluaL_getn(L,i)=((int)lua_objlen(L,i))" 30 ]; 31 32 preConfigure = '' 33 export INSTALL_MOD_PATH="$out" 34 '' + optionalString (kernel != null) '' 35 export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 36 ''; 37 38 postInstall = optionalString (kernel != null) '' 39 make install_driver 40 kernel_dev=${kernel.dev} 41 kernel_dev=''${kernel_dev#/nix/store/} 42 kernel_dev=''${kernel_dev%%-linux*dev*} 43 if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then 44 sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 45 else 46 xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz 47 sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 48 xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 49 fi 50 ''; 51 52 meta = { 53 description = "A tracepoint-based system tracing tool for Linux (with clients for other OSes)"; 54 license = licenses.gpl2; 55 maintainers = [maintainers.raskin]; 56 platforms = ["x86_64-linux"] ++ platforms.darwin; 57 downloadPage = "https://github.com/draios/sysdig/releases"; 58 }; 59}