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