add some new dependecies
This commit is contained in:
4
dev-util/google-perftools/Manifest
Normal file
4
dev-util/google-perftools/Manifest
Normal file
@@ -0,0 +1,4 @@
|
||||
AUX gperftools-2.0+glibc-2.16.patch 604 SHA256 abb19fd87ce092fc0cb0a4a5964834ec97b12d2462bc2b8bd8668c4ca71fcea5 SHA512 aa9b94c4712227b6414fc34a47154f416b120004c81704ab181c7985b6dce60bf1d98e4175678fb445cd59bb6c85d4d7bb0a093e186ecc9f115bc841d27cb964 WHIRLPOOL 75866b1e0e17ccc206459b31e284f7892d7e03c4cd862f8f6d66b374887aab938e9d79115228b7a7258f6bddd2439348fb48f67581744b9fdad1b4f6ae8079ef
|
||||
AUX gperftools-2.0-32bit-barrier.patch 792 SHA256 224776d529f1a1d11a036f16f04d4f01e3fd805d6fdd361c7d4b714f5bfbb87c SHA512 a39fd183d76a76e5c4cb3915f966e008250b4c72098bd2a9d13f10e01efd8dd1e36a51e0d4ef5f712d20398fa8605aa40e2529af085e80f918a1e227d7c92def WHIRLPOOL dafa07810d202816462603457395491a7d5901c0faf3134383635ef9a267aeba9f6635e687659dd1634ef7219970334a485350d6f8cad33f6792d87b779c21a3
|
||||
DIST gperftools-2.0.tar.gz 1261243 SHA256 7de3dd91f018825b1e7d332af1edace15c6211f430186febede1835069861080 SHA512 61bf7a26974058912a4165cbc363351bc735599d36ab569dc7e84a75a690adbc17a4178512a57469fc7c17befaad2a271ef4ea5c29a36b664153938939269926 WHIRLPOOL 4f49a7da976040cacdecb8e18294b09fbfe276422ba35058476a14a3c1df072f8748d70f738adafa03a3a445701ed32b6232f13962d8ec8c5a968652414797a6
|
||||
EBUILD google-perftools-2.0-r2.ebuild 2171 SHA256 cdc8804dd40b9888a4a299abdbb383e5e6cb1f4771b6a34ad396aacdfafc5cb0 SHA512 360d6ecda38d2f61b4375a0df0c5f4f285e250bda3fc089da5f8eea96966746ac9aa265b04575cf3ce8215a8363fdece4662c3cfd4590b3b909cc8c3f6b93ee7 WHIRLPOOL efe0cabc4c399af5794c06dd525a0e08d3e9af49982e729afa4afe234cb0226616e0104ea9c8b0926c2c92f0a40e077b7f6113c9f8398999fda84c4c2536932b
|
||||
@@ -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) {
|
||||
@@ -0,0 +1,17 @@
|
||||
Atomic64 not available on all architectures.
|
||||
Use AtomicWord instead.
|
||||
|
||||
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
|
||||
|
||||
diff -Nuar gperftools-2.0.orig/src/base/spinlock_internal.cc gperftools-2.0/src/base/spinlock_internal.cc
|
||||
--- gperftools-2.0.orig/src/base/spinlock_internal.cc 2012-02-02 21:36:23.000000000 +0000
|
||||
+++ gperftools-2.0/src/base/spinlock_internal.cc 2013-01-20 23:44:01.629077919 +0000
|
||||
@@ -80,7 +80,7 @@
|
||||
static int SuggestedDelayNS(int loop) {
|
||||
// Weak pseudo-random number generator to get some spread between threads
|
||||
// when many are spinning.
|
||||
- static base::subtle::Atomic64 rand;
|
||||
+ static AtomicWord rand;
|
||||
uint64 r = base::subtle::NoBarrier_Load(&rand);
|
||||
r = 0x5deece66dLL * r + 0xb; // numbers from nrand48()
|
||||
base::subtle::NoBarrier_Store(&rand, r);
|
||||
86
dev-util/google-perftools/google-perftools-2.0-r2.ebuild
Normal file
86
dev-util/google-perftools/google-perftools-2.0-r2.ebuild
Normal file
@@ -0,0 +1,86 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-util/google-perftools/google-perftools-2.0-r1.ebuild,v 1.1 2013/01/20 23:48:29 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
MY_P="gperftools-${PV}"
|
||||
|
||||
inherit toolchain-funcs eutils flag-o-matic
|
||||
|
||||
DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools"
|
||||
HOMEPAGE="http://code.google.com/p/gperftools/"
|
||||
SRC_URI="http://gperftools.googlecode.com/files/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
# contains ASM code, with support for
|
||||
# freebsd x86/amd64
|
||||
# linux x86/amd64/ppc/ppc64/arm
|
||||
# OSX ppc/amd64
|
||||
# AIX ppc/ppc64
|
||||
KEYWORDS="-* ~arm ~amd64 ~ppc64 ~x86 ~x86-fbsd"
|
||||
IUSE="largepages debug minimal test"
|
||||
|
||||
DEPEND="sys-libs/libunwind"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
# set up the make options in here so that we can actually make use
|
||||
# of them on both compile and install.
|
||||
|
||||
# Avoid building the unit testing if we're not going to execute
|
||||
# tests; this trick here allows us to ignore the tests without
|
||||
# touching the build system (and thus without rebuilding
|
||||
# autotools). Keep commented as long as it's restricted.
|
||||
use test || \
|
||||
makeopts="${makeopts} noinst_PROGRAMS= "
|
||||
|
||||
# don't install _anything_ from the documentation, since it would
|
||||
# install it in non-standard locations, and would just waste time.
|
||||
makeopts="${makeopts} dist_doc_DATA= "
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${MY_P}+glibc-2.16.patch"
|
||||
epatch "${FILESDIR}/${MY_P}-32bit-barrier.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES
|
||||
|
||||
append-flags -fno-strict-aliasing -fno-omit-frame-pointer
|
||||
|
||||
econf \
|
||||
--disable-dependency-tracking \
|
||||
--enable-fast-install \
|
||||
$(use_enable debug debugalloc) \
|
||||
$(use_enable minimal)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake ${makeopts}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
case "${LD_PRELOAD}" in
|
||||
*libsandbox*)
|
||||
ewarn "Unable to run tests when sanbox is enabled."
|
||||
ewarn "See http://bugs.gentoo.org/290249"
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install ${makeopts}
|
||||
|
||||
dodoc README AUTHORS ChangeLog TODO NEWS
|
||||
pushd doc
|
||||
dohtml -r *
|
||||
popd
|
||||
}
|
||||
Reference in New Issue
Block a user