Merge pull request #5008 from nbp/rr

Add rr & libpfm.
This commit is contained in:
lethalman 2014-12-02 11:17:28 +01:00
commit 14ba80a6e1
3 changed files with 61 additions and 0 deletions

View File

@ -0,0 +1,26 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "4.5.0";
name = "libpfm-${version}";
src = fetchurl {
url = "mirror://sourceforge/perfmon2/libpfm4/${name}.tar.gz";
sha1 = "857eb066724e2a5b723d6802d217c8eddff79082";
};
installFlags = "DESTDIR=\${out} PREFIX= LDCONFIG=true";
meta = {
description = "Helper library to program the performance monitoring events";
longDescription = ''
This package provides a library, called libpfm4 which is used to
develop monitoring tools exploiting the performance monitoring
events such as those provided by the Performance Monitoring Unit
(PMU) of modern processors.
'';
licence = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.pierron ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub, cmake, libpfm, zlib }:
stdenv.mkDerivation rec {
version = "2.0.0";
name = "rr-${version}";
src = fetchFromGitHub {
owner = "mozilla";
repo = "rr";
rev = version;
sha256 = "0mlxkj35zmm15dgnc7rfynnh2s2hpym01147vwc8pwv8qgab903s";
};
buildInputs = [ cmake libpfm zlib ];
cmakeFlags = "-DCMAKE_C_FLAGS_RELEASE:STRING= -DCMAKE_CXX_FLAGS_RELEASE:STRING=";
meta = {
homepage = http://rr-project.org/;
description = "Records nondeterministic executions and debugs them deterministically";
longDescription = ''
rr aspires to be your primary debugging tool, replacing -- well,
enhancing -- gdb. You record a failure once, then debug the
recording, deterministically, as many times as you want. Every
time the same execution is replayed.
'';
license = "custom";
maintainers = [ stdenv.lib.maintainers.pierron ];
platforms = [ "i686-linux" ];
};
}

View File

@ -4690,6 +4690,8 @@ let
remake = callPackage ../development/tools/build-managers/remake { };
rr = callPackage_i686 ../development/tools/analysis/rr { };
saleae-logic = callPackage ../development/tools/misc/saleae-logic { };
# couldn't find the source yet
@ -6105,6 +6107,8 @@ let
libpaper = callPackage ../development/libraries/libpaper { };
libpfm = callPackage ../development/libraries/libpfm { };
libproxy = callPackage ../development/libraries/libproxy {
stdenv = if stdenv.isDarwin
then overrideGCC stdenv gcc