diff options
author | Yixun Lan <dlan@gentoo.org> | 2016-06-08 14:26:05 +0800 |
---|---|---|
committer | Yixun Lan <dlan@gentoo.org> | 2016-06-08 14:27:19 +0800 |
commit | e95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c (patch) | |
tree | 3a6a1e98d64eecb933127ea2fe0ceeba1516ce92 /dev-util/google-perftools | |
parent | dev-ruby/systemu: add ruby23 (diff) | |
download | gentoo-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
Diffstat (limited to 'dev-util/google-perftools')
-rw-r--r-- | dev-util/google-perftools/Manifest | 1 | ||||
-rw-r--r-- | dev-util/google-perftools/google-perftools-2.5.ebuild | 79 | ||||
-rw-r--r-- | dev-util/google-perftools/metadata.xml | 3 |
3 files changed, 83 insertions, 0 deletions
diff --git a/dev-util/google-perftools/Manifest b/dev-util/google-perftools/Manifest index a23f5df01a65..faf191f9f963 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 000000000000..bb3355a61db7 --- /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 ea0e3840763b..4771dbd74970 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> |