diff options
Diffstat (limited to 'pkgs/os-specific/linux/kernel/perf.nix')
-rw-r--r-- | pkgs/os-specific/linux/kernel/perf.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix new file mode 100644 index 000000000000..ba32362b6e8b --- /dev/null +++ b/pkgs/os-specific/linux/kernel/perf.nix @@ -0,0 +1,37 @@ +{ stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto +, docbook_xsl, docbook_xml_dtd_45, libxslt }: + +stdenv.mkDerivation { + name = "perf-linux-${kernel.version}"; + + inherit (kernel) src; + + preConfigure = '' + cd tools/perf + sed -i s,/usr/include/elfutils,$elfutils/include/elfutils, Makefile + export makeFlags="DESTDIR=$out $makeFlags" + ''; + + # perf refers both to newt and slang + buildNativeInputs = [ asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt ]; + buildInputs = [ elfutils python perl newt slang ]; + + installFlags = "install install-man ASCIIDOC8=1"; + + inherit elfutils; + + crossAttrs = { + /* I don't want cross-python or cross-perl - + I don't know if cross-python even works */ + propagatedBuildInputs = [ elfutils.hostDrv newt.hostDrv ]; + makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-"; + elfutils = elfutils.hostDrv; + }; + + meta = { + homepage = https://perf.wiki.kernel.org/; + description = "Linux tools to profile with performance counters"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} |