From 1b294105d757810e0c1b2e6dc3313431d70a3f78 Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Mon, 26 May 2014 01:25:28 +0200 Subject: [PATCH 1/2] libpfm & rr: Add packages. --- pkgs/development/libraries/libpfm/default.nix | 26 +++++++++++++++++ .../development/tools/analysis/rr/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 3 files changed, 59 insertions(+) create mode 100644 pkgs/development/libraries/libpfm/default.nix create mode 100644 pkgs/development/tools/analysis/rr/default.nix diff --git a/pkgs/development/libraries/libpfm/default.nix b/pkgs/development/libraries/libpfm/default.nix new file mode 100644 index 00000000000..cbb314a7bb7 --- /dev/null +++ b/pkgs/development/libraries/libpfm/default.nix @@ -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; + }; +} \ No newline at end of file diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix new file mode 100644 index 00000000000..797fce755cc --- /dev/null +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip, cmake, libpfm }: + +stdenv.mkDerivation rec { + version = "1.3.0"; + name = "rr-${version}"; + + src = fetchurl { + url = "https://github.com/mozilla/rr/archive/${version}.zip"; + sha256 = "c7b7efac77f00805a26b0530e0bca4076b4b058374e5501328ec17cf0fa27021"; + }; + + buildInputs = [ unzip cmake libpfm ]; + 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" ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c2a793189be..36f56da07b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4686,6 +4686,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 @@ -6101,6 +6103,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 From 8caa0ea5253006f5ae66d531c13e3981ceddce90 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Wed, 22 Oct 2014 15:09:16 +0200 Subject: [PATCH 2/2] rr: Bump to version 2.0.0 and fetch it from github. --- pkgs/development/tools/analysis/rr/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index 797fce755cc..c2ab7a334fe 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -1,15 +1,17 @@ -{ stdenv, fetchurl, unzip, cmake, libpfm }: +{ stdenv, fetchFromGitHub, cmake, libpfm, zlib }: stdenv.mkDerivation rec { - version = "1.3.0"; + version = "2.0.0"; name = "rr-${version}"; - src = fetchurl { - url = "https://github.com/mozilla/rr/archive/${version}.zip"; - sha256 = "c7b7efac77f00805a26b0530e0bca4076b4b058374e5501328ec17cf0fa27021"; + src = fetchFromGitHub { + owner = "mozilla"; + repo = "rr"; + rev = version; + sha256 = "0mlxkj35zmm15dgnc7rfynnh2s2hpym01147vwc8pwv8qgab903s"; }; - buildInputs = [ unzip cmake libpfm ]; + buildInputs = [ cmake libpfm zlib ]; cmakeFlags = "-DCMAKE_C_FLAGS_RELEASE:STRING= -DCMAKE_CXX_FLAGS_RELEASE:STRING="; meta = {