![stuebinm](/assets/img/avatar_default.png)
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, buildPythonPackage
|
|
, python
|
|
, graphviz
|
|
, pythonOlder
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "gprof2dot";
|
|
version = "2022.07.29";
|
|
format = "setuptools";
|
|
|
|
disabled = pythonOlder "3.7";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "jrfonseca";
|
|
repo = "gprof2dot";
|
|
rev = "refs/tags/${version}";
|
|
hash = "sha256-nIsBO6KTyG2VZZRXrkU/T/a9Ki1x6hda5Vv3rZv/mJM=";
|
|
};
|
|
|
|
makeWrapperArgs = [
|
|
"--prefix PATH : ${lib.makeBinPath [ graphviz ]}"
|
|
];
|
|
|
|
# Needed so dot is on path of the test script
|
|
nativeCheckInputs = [
|
|
graphviz
|
|
];
|
|
|
|
checkPhase = ''
|
|
runHook preCheck
|
|
|
|
# if options not specified, will use unwrapped gprof2dot from original source
|
|
${python.interpreter} tests/test.py --python bash --gprof2dot $out/bin/gprof2dot
|
|
|
|
runHook postCheck
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Python script to convert the output from many profilers into a dot graph";
|
|
mainProgram = "gprof2dot";
|
|
homepage = "https://github.com/jrfonseca/gprof2dot";
|
|
changelog = "https://github.com/jrfonseca/gprof2dot/releases/tag/${version}";
|
|
license = licenses.lgpl3Plus;
|
|
maintainers = with maintainers; [ pmiddend ];
|
|
};
|
|
}
|