···
-
{ lib, stdenv, fetchpatch, kernel, elfutils, python2, python3, python3Packages, perl, newt, slang, asciidoc, xmlto, makeWrapper
-
, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils-unwrapped
-
, libiberty, audit, libbfd, libbfd_2_38, libopcodes, libopcodes_2_38, openssl, systemtap, numactl
-
, withGtk ? false, gtk2
-
, withZstd ? true, zstd
-
, withLibcap ? true, libcap
···
./5.19-binutils-2.39-support.patch
···
-
makeFlags = ["prefix=$(out)" "WERROR=0"] ++ kernel.makeFlags;
hardeningDisable = [ "format" ];
# perf refers both to newt and slang
-
asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-
flex bison libiberty audit makeWrapper pkg-config python3
-
elfutils newt slang libunwind zlib openssl systemtap.stapBuild numactl
] ++ (if (lib.versionAtLeast kernel.version "5.19")
-
then [ libbfd libopcodes ]
-
else [ libbfd_2_38 libopcodes_2_38 ])
-
++ lib.optional withGtk gtk2
-
++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
-
++ lib.optional withZstd zstd
-
++ lib.optional withLibcap libcap
-
++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3Packages.setuptools;
NIX_CFLAGS_COMPILE = toString [
···
"-Wno-error=deprecated-declarations"
"-Wno-error=stringop-truncation"
-
patchShebangs scripts tools/perf/pmu-events/jevents.py
doCheck = false; # requires "sparse"
doInstallCheck = false; # same
···
+
d3-flame-graph-templates = stdenv.mkDerivation rec {
+
pname = "d3-flame-graph-templates";
+
url = "https://registry.npmjs.org/d3-flame-graph/-/d3-flame-graph-${version}.tgz";
+
sha256 = "sha256-W5/Vh5jarXUV224aIiTB2TnBFYT3naEIcG2945QjY8Q=";
+
install -D -m 0755 -t $out/share/d3-flame-graph/ ./dist/templates/*
···
./5.19-binutils-2.39-support.patch
+
patchShebangs scripts tools/perf/pmu-events/jevents.py
+
substituteInPlace tools/perf/scripts/python/flamegraph.py \
+
--replace "/usr/share/d3-flame-graph/d3-flamegraph-base.html" \
+
"${d3-flame-graph-templates}/share/d3-flame-graph/d3-flamegraph-base.html"
···
+
makeFlags = [ "prefix=$(out)" "WERROR=0" ] ++ kernel.makeFlags;
hardeningDisable = [ "format" ];
# perf refers both to newt and slang
] ++ (if (lib.versionAtLeast kernel.version "5.19")
+
then [ libbfd libopcodes ]
+
else [ libbfd_2_38 libopcodes_2_38 ])
+
++ lib.optional withGtk gtk2
+
++ (if (lib.versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ])
+
++ lib.optional withZstd zstd
+
++ lib.optional withLibcap libcap
+
++ lib.optional (lib.versionAtLeast kernel.version "6.0") python3Packages.setuptools;
NIX_CFLAGS_COMPILE = toString [
···
"-Wno-error=deprecated-declarations"
"-Wno-error=stringop-truncation"
doCheck = false; # requires "sparse"
doInstallCheck = false; # same