nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 python,
6 graphviz,
7}:
8
9buildPythonPackage rec {
10 pname = "gprof2dot";
11 version = "2025.04.14";
12 format = "setuptools";
13
14 src = fetchFromGitHub {
15 owner = "jrfonseca";
16 repo = "gprof2dot";
17 tag = version;
18 hash = "sha256-kX/DCXO/qwm1iF44gG7aBSUpG4Vf2Aer0zwrtq4YNHo=";
19 };
20
21 makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ graphviz ]}" ];
22
23 # Needed so dot is on path of the test script
24 nativeCheckInputs = [ graphviz ];
25
26 checkPhase = ''
27 runHook preCheck
28
29 # if options not specified, will use unwrapped gprof2dot from original source
30 ${python.interpreter} tests/test.py --python bash --gprof2dot $out/bin/gprof2dot
31
32 runHook postCheck
33 '';
34
35 meta = {
36 description = "Python script to convert the output from many profilers into a dot graph";
37 mainProgram = "gprof2dot";
38 homepage = "https://github.com/jrfonseca/gprof2dot";
39 changelog = "https://github.com/jrfonseca/gprof2dot/releases/tag/${src.tag}";
40 license = lib.licenses.lgpl3Plus;
41 maintainers = with lib.maintainers; [ pmiddend ];
42 };
43}