diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-01-28 13:48:35 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-01-28 17:19:01 +0100 |
commit | 35af62f99899132c2a83cbec9baaf2f012ee8429 (patch) | |
tree | d50bdeed565075f882a89cc528cb0983c28b637c /pkgs/development/libraries/gperftools | |
parent | 67de843bce289e616183c0ec5ce8b24b670ee9bc (diff) |
gperftools: Update to 2.0 and fix build
http://hydra.nixos.org/build/3875478
Diffstat (limited to 'pkgs/development/libraries/gperftools')
-rw-r--r-- | pkgs/development/libraries/gperftools/default.nix | 22 | ||||
-rw-r--r-- | pkgs/development/libraries/gperftools/glibc-2.16.patch | 13 |
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix new file mode 100644 index 0000000000000..76d1d8c41f750 --- /dev/null +++ b/pkgs/development/libraries/gperftools/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, libunwind }: + +stdenv.mkDerivation rec { + name = "gperftools-2.0"; + + src = fetchurl { + url = "https://gperftools.googlecode.com/files/${name}.tar.gz"; + sha1 = "da7181a7ba9b5ee7302daf6c16e886c179fe8d1b"; + }; + + patches = [ ./glibc-2.16.patch ]; + + buildInputs = [ libunwind ]; + + enableParallelBuilding = true; + + meta = { + homepage = https://code.google.com/p/gperftools/; + description = "Fast, multi-threaded malloc() and nifty performance analysis tools"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/gperftools/glibc-2.16.patch b/pkgs/development/libraries/gperftools/glibc-2.16.patch new file mode 100644 index 0000000000000..b17e0d57f5fb0 --- /dev/null +++ b/pkgs/development/libraries/gperftools/glibc-2.16.patch @@ -0,0 +1,13 @@ +Index: gperftools-2.0/src/base/linuxthreads.cc +=================================================================== +--- gperftools-2.0.orig/src/base/linuxthreads.cc ++++ gperftools-2.0/src/base/linuxthreads.cc +@@ -193,7 +193,7 @@ static volatile int *sig_pids, sig_num_t + /* Signal handler to help us recover from dying while we are attached to + * other threads. + */ +-static void SignalHandler(int signum, siginfo_t *si, void *data) { ++static void SignalHandler(int signum, struct siginfo *si, void *data) { + if (sig_pids != NULL) { + if (signum == SIGABRT) { + while (sig_num_threads-- > 0) { |