summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYixun Lan <dlan@gentoo.org>2016-06-08 14:26:05 +0800
committerYixun Lan <dlan@gentoo.org>2016-06-08 14:27:19 +0800
commite95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c (patch)
tree3a6a1e98d64eecb933127ea2fe0ceeba1516ce92
parentdev-ruby/systemu: add ruby23 (diff)
downloadgentoo-e95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c.tar.gz
gentoo-e95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c.tar.bz2
gentoo-e95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c.zip
dev-util/google-perftools: version bump 2.5
also add multilib support Gentoo-Bug: 498912, 573608 Package-Manager: portage-2.3.0_rc1
-rw-r--r--dev-util/google-perftools/Manifest1
-rw-r--r--dev-util/google-perftools/google-perftools-2.5.ebuild79
-rw-r--r--dev-util/google-perftools/metadata.xml3
3 files changed, 83 insertions, 0 deletions
diff --git a/dev-util/google-perftools/Manifest b/dev-util/google-perftools/Manifest
index a23f5df01a6..faf191f9f96 100644
--- a/dev-util/google-perftools/Manifest
+++ b/dev-util/google-perftools/Manifest
@@ -1,2 +1,3 @@
DIST google-perftools-1.8.3.tar.gz 1265062 SHA256 6ad744b34abb24312631740d9912f4667993b02e5f59b91246c31a2a911a9d59 SHA512 c6938391d182982ba6a87cd3d023e5fdf3501c42aecb951504e2fc97ce9e5bb2a6e6a577504ddbe89220b45ae47e58ce3e68f84aa45ff238d949dee4fc765b51 WHIRLPOOL 70ef15f25451a0f3eddb92e948e6d7d2e46a7ee8684636ddff312d5f0dda1429a7fe3f1f6756f0a979e4957b09c47513ddad9504415795e9e82ba51188672fdc
DIST gperftools-2.0.tar.gz 1261243 SHA256 7de3dd91f018825b1e7d332af1edace15c6211f430186febede1835069861080 SHA512 61bf7a26974058912a4165cbc363351bc735599d36ab569dc7e84a75a690adbc17a4178512a57469fc7c17befaad2a271ef4ea5c29a36b664153938939269926 WHIRLPOOL 4f49a7da976040cacdecb8e18294b09fbfe276422ba35058476a14a3c1df072f8748d70f738adafa03a3a445701ed32b6232f13962d8ec8c5a968652414797a6
+DIST gperftools-2.5.tar.gz 895753 SHA256 0256331e67e8be12995b57183ec6affd071231f997bfcb5d5b050f86d4ad577e SHA512 974b86eadebe0437f4b7cf51de84afa315390cdcd2a88c8ccc8448b0b3e98c2241d89b4987b5fca1937102ae00a43802d9d06d7b11272e3dfeeaa23cf58ad68d WHIRLPOOL 4fc82910585107a2a879cae1b83afdcf98a39c3c7cbce3e8ba28b7b00ea1f638bb795213b7a6330bb311dd399bd7bcf34b3705cb8f75921ac1fd9ce3c0d1e8fd
diff --git a/dev-util/google-perftools/google-perftools-2.5.ebuild b/dev-util/google-perftools/google-perftools-2.5.ebuild
new file mode 100644
index 00000000000..bb3355a61db
--- /dev/null
+++ b/dev-util/google-perftools/google-perftools-2.5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+MY_P="gperftools-${PV}"
+inherit toolchain-funcs eutils flag-o-matic vcs-snapshot autotools-multilib
+
+DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE="http://code.google.com/p/gperftools/"
+SRC_URI="https://github.com/gperftools/gperftools/tarball/${MY_P} -> ${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/4"
+# contains ASM code, with support for
+# freebsd x86/amd64
+# linux x86/amd64/ppc/ppc64/arm
+# OSX ppc/amd64
+# AIX ppc/ppc64
+KEYWORDS="-* ~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="largepages +debug minimal optimisememory test static-libs"
+
+DEPEND="sys-libs/libunwind"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+HTML_DOCS="doc"
+
+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+=" noinst_PROGRAMS= "
+}
+
+multilib_src_configure() {
+ use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES
+ use optimisememory && append-cppflags -DTCMALLOC_SMALL_BUT_SLOW
+ append-flags -fno-strict-aliasing -fno-omit-frame-pointer
+
+ local myeconfargs=(
+ --htmldir=/usr/share/doc/${PF}/html
+ $(use_enable debug debugalloc)
+ )
+
+ if [[ ${ABI} == x32 ]]; then
+ myeconfargs+=( --enable-minimal )
+ else
+ myeconfargs+=( $(use_enable minimal) )
+ fi
+ autotools-utils_src_configure
+}
+
+src_test() {
+ case "${LD_PRELOAD}" in
+ *libsandbox*)
+ ewarn "Unable to run tests when sandbox is enabled."
+ ewarn "See https://bugs.gentoo.org/290249"
+ return 0
+ ;;
+ esac
+
+ autotools-multilib_src_test
+}
+
+# abi_x86_x32 forces minimal, which installs fewer headers
+# so override the header check with a no-op
+multilib_check_headers() {
+ :
+}
diff --git a/dev-util/google-perftools/metadata.xml b/dev-util/google-perftools/metadata.xml
index ea0e3840763..4771dbd7497 100644
--- a/dev-util/google-perftools/metadata.xml
+++ b/dev-util/google-perftools/metadata.xml
@@ -19,6 +19,9 @@
Only build the tcmalloc_minimal library, ignoring the heap
checker and the profilers.
</flag>
+ <flag name="optimisememory">
+ To build libtcmalloc with smaller internal caches.
+ </flag>
</use>
<upstream>
<remote-id type="github">gperftools/gperftools</remote-id>