waylyrics: 0.3.16 -> 0.3.20 (#364626)
[NixPkgs.git] / pkgs / development / tools / profiling / oprofile / default.nix
blobb49f7a68420e8c6de45f0d3785e93339f20abaf1
2   lib,
3   stdenv,
4   buildPackages,
5   fetchurl,
6   pkg-config,
7   libbfd,
8   popt,
9   zlib,
10   linuxHeaders,
11   libiberty_static,
14 stdenv.mkDerivation rec {
15   pname = "oprofile";
16   version = "1.4.0";
18   src = fetchurl {
19     url = "mirror://sourceforge/oprofile/${pname}-${version}.tar.gz";
20     sha256 = "04m46ni0ryk4sqmzd6mahwzp7iwhwqzfbmfi42fki261sycnz83v";
21   };
23   postPatch = ''
24     substituteInPlace opjitconv/opjitconv.c \
25       --replace "/bin/rm" "${buildPackages.coreutils}/bin/rm" \
26       --replace "/bin/cp" "${buildPackages.coreutils}/bin/cp"
27   '';
29   nativeBuildInputs = [ pkg-config ];
30   buildInputs = [
31     libbfd
32     zlib
33     popt
34     linuxHeaders
35     libiberty_static
36   ];
38   configureFlags = [
39     "--with-kernel=${linuxHeaders}"
40     "--disable-shared" # needed because only the static libbfd is available
41   ];
43   meta = {
44     description = "System-wide profiler for Linux";
45     longDescription = ''
46       OProfile is a system-wide profiler for Linux systems, capable of
47       profiling all running code at low overhead.  It consists of a
48       kernel driver and a daemon for collecting sample data, and
49       several post-profiling tools for turning data into information.
51       OProfile leverages the hardware performance counters of the CPU
52       to enable profiling of a wide variety of interesting statistics,
53       which can also be used for basic time-spent profiling. All code
54       is profiled: hardware and software interrupt handlers, kernel
55       modules, the kernel, shared libraries, and applications.
56     '';
57     license = lib.licenses.gpl2;
58     homepage = "http://oprofile.sourceforge.net/";
60     platforms = lib.platforms.linux;
61     maintainers = [ ];
62   };