commit:     e95cd61e3d7cab55d6d3b6a2b7a7386ffcb4263c
Author:     Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  8 06:26:05 2016 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Wed Jun  8 06:27:19 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e95cd61e

dev-util/google-perftools: version bump 2.5

also add multilib support

Gentoo-Bug: 498912, 573608

Package-Manager: portage-2.3.0_rc1

 dev-util/google-perftools/Manifest                 |  1 +
 .../google-perftools/google-perftools-2.5.ebuild   | 79 ++++++++++++++++++++++
 dev-util/google-perftools/metadata.xml             |  3 +
 3 files changed, 83 insertions(+)

diff --git a/dev-util/google-perftools/Manifest 
b/dev-util/google-perftools/Manifest
index a23f5df..faf191f 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 0000000..bb3355a
--- /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 ea0e384..4771dbd 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>

Reply via email to