summary refs log tree commit diff
path: root/pkgs/development/tools/analysis/kcov/default.nix
blob: b8e456b1c1eaed142b09b26282a861089d0e1c6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{stdenv, fetchFromGitHub, cmake, pkg-config, zlib, curl, elfutils, python, libiberty, libopcodes}:

stdenv.mkDerivation rec {
  pname = "kcov";
  version = "36";

  src = fetchFromGitHub {
    owner = "SimonKagstrom";
    repo = "kcov";
    rev = "v${version}";
    sha256 = "1q1mw5mxz041lr6qc2v4280rmx13pg1bx5r3bxz9bzs941r405r3";
  };

  preConfigure = "patchShebangs src/bin-to-c-source.py";
  nativeBuildInputs = [ cmake pkg-config ];

  buildInputs = [ zlib curl elfutils python libiberty libopcodes ];

  meta = with stdenv.lib; {
    description = "Code coverage tester for compiled programs, Python scripts and shell scripts";

    longDescription = ''
      Kcov is a code coverage tester for compiled programs, Python
      scripts and shell scripts. It allows collecting code coverage
      information from executables without special command-line
      arguments, and continuosly produces output from long-running
      applications.
    '';

    homepage = "http://simonkagstrom.github.io/kcov/index.html";
    license = licenses.gpl2;

    maintainers = with maintainers; [ gal_bolle ekleog ];
    platforms = platforms.linux;
  };
}