Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 48 lines 1.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 perl, 6}: 7 8stdenv.mkDerivation { 9 pname = "perf-tools"; 10 version = "unstable-2017-12-19"; 11 12 src = fetchFromGitHub { 13 owner = "brendangregg"; 14 repo = "perf-tools"; 15 rev = "98d42a2a1493d2d1c651a5c396e015d4f082eb20"; 16 sha256 = "09qnss9pd4kr6qadvp62m2g8sfrj86fksi1rr8m8w4314pzfb93c"; 17 }; 18 19 buildInputs = [ perl ]; 20 21 patchPhase = '' 22 for i in execsnoop iolatency iosnoop kernel/funcslower killsnoop opensnoop; do 23 substituteInPlace $i \ 24 --replace /usr/bin/gawk "$(type -p gawk)" \ 25 --replace /usr/bin/mawk /no-such-path \ 26 --replace /usr/bin/getconf "$(type -p getconf)" \ 27 --replace awk=awk "awk=$(type -p gawk)" 28 done 29 30 rm -rf examples deprecated 31 ''; 32 33 installPhase = '' 34 d=$out/libexec/perf-tools 35 mkdir -p $d $out/share 36 cp -prvd . $d/ 37 ln -s $d/bin $out/bin 38 mv $d/man $out/share/ 39 ''; 40 41 meta = with lib; { 42 platforms = platforms.linux; 43 homepage = "https://github.com/brendangregg/perf-tools"; 44 description = "Performance analysis tools based on Linux perf_events (aka perf) and ftrace"; 45 maintainers = [ ]; 46 license = licenses.gpl2Plus; 47 }; 48}