at release-16.03-start 52 lines 1.9 kB view raw
1{stdenv, fetchurl, cmake, luajit, kernel, zlib, ncurses, perl, jsoncpp, libb64, openssl, curl}: 2let 3 inherit (stdenv.lib) optional optionalString; 4 s = rec { 5 baseName="sysdig"; 6 version = "0.8.0"; 7 name="${baseName}-${version}"; 8 url="https://github.com/draios/sysdig/archive/${version}.tar.gz"; 9 sha256 = "1939k3clwxg09m1bn0szqiy2nxg66srl72n7476jc58hgaraq3dr"; 10 }; 11 buildInputs = [ 12 cmake zlib luajit ncurses perl jsoncpp libb64 openssl curl 13 ]; 14in 15stdenv.mkDerivation { 16 inherit (s) name version; 17 inherit buildInputs; 18 src = fetchurl { 19 inherit (s) url sha256; 20 }; 21 22 cmakeFlags = [ 23 "-DUSE_BUNDLED_DEPS=OFF" 24 ] ++ optional (kernel == null) "-DBUILD_DRIVER=OFF"; 25 preConfigure = '' 26 export INSTALL_MOD_PATH="$out" 27 '' + optionalString (kernel != null) '' 28 export KERNELDIR="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 29 ''; 30 postInstall = optionalString (kernel != null) '' 31 make install_driver 32 kernel_dev=${kernel.dev} 33 kernel_dev=''${kernel_dev#/nix/store/} 34 kernel_dev=''${kernel_dev%%-linux*dev*} 35 if test -f "$out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko"; then 36 sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 37 else 38 xz -d $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko.xz 39 sed -i "s#$kernel_dev#................................#g" $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 40 xz $out/lib/modules/${kernel.modDirVersion}/extra/sysdig-probe.ko 41 fi 42 ''; 43 44 meta = with stdenv.lib; { 45 inherit (s) version; 46 description = ''A tracepoint-based system tracing tool for Linux (with clients for other OSes)''; 47 license = licenses.gpl2; 48 maintainers = [maintainers.raskin]; 49 platforms = platforms.linux ++ platforms.darwin; 50 downloadPage = "https://github.com/draios/sysdig/releases"; 51 }; 52}