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