summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2010-08-05 23:40:37 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2010-08-05 23:40:37 +0000
commit88a322ddcb74ebd65f209930d1ef47bd6647b6e2 (patch)
treee052530b57ddc01fde4b2ed2980c2e5fcaa85763 /dev-util/google-perftools
parentFix linking with xfce4-panel >= 4.7. (diff)
downloadgentoo-2-88a322ddcb74ebd65f209930d1ef47bd6647b6e2.tar.gz
gentoo-2-88a322ddcb74ebd65f209930d1ef47bd6647b6e2.tar.bz2
gentoo-2-88a322ddcb74ebd65f209930d1ef47bd6647b6e2.zip
Version bump; improve ebuild to not build tests; add USE flags for debug, minimal and the (new) largepages option; don't even install the documentation with the original build system, so that we don't have to remove it; only build shared libraries, and remove .la files — build time is vastly reduced this way.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'dev-util/google-perftools')
-rw-r--r--dev-util/google-perftools/ChangeLog12
-rw-r--r--dev-util/google-perftools/google-perftools-1.4.ebuild33
-rw-r--r--dev-util/google-perftools/google-perftools-1.6.ebuild67
-rw-r--r--dev-util/google-perftools/metadata.xml19
4 files changed, 97 insertions, 34 deletions
diff --git a/dev-util/google-perftools/ChangeLog b/dev-util/google-perftools/ChangeLog
index ab95fc8b316f..9abef00e1e33 100644
--- a/dev-util/google-perftools/ChangeLog
+++ b/dev-util/google-perftools/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for dev-util/google-perftools
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/google-perftools/ChangeLog,v 1.3 2010/01/31 00:33:24 flameeyes Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/google-perftools/ChangeLog,v 1.4 2010/08/05 23:40:37 flameeyes Exp $
+
+*google-perftools-1.6 (05 Aug 2010)
+
+ 05 Aug 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+ -google-perftools-1.4.ebuild, +google-perftools-1.6.ebuild, metadata.xml:
+ Version bump; improve ebuild to not build tests; add USE flags for debug,
+ minimal and the (new) largepages option; don't even install the
+ documentation with the original build system, so that we don't have to
+ remove it; only build shared libraries, and remove .la files — build
+ time is vastly reduced this way.
*google-perftools-1.5 (31 Jan 2010)
diff --git a/dev-util/google-perftools/google-perftools-1.4.ebuild b/dev-util/google-perftools/google-perftools-1.4.ebuild
deleted file mode 100644
index 43df6d016d5d..000000000000
--- a/dev-util/google-perftools/google-perftools-1.4.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2009 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/google-perftools/google-perftools-1.4.ebuild,v 1.2 2009/10/26 18:01:40 swegener Exp $
-
-DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools"
-HOMEPAGE="http://code.google.com/p/google-perftools/"
-SRC_URI="http://google-perftools.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="sys-libs/libunwind"
-RDEPEND="${DEPEND}"
-
-# tests get stuck in a deadlock due to sandbox interactions.
-# bug #290249.
-RESTRICT=test
-
-src_install() {
- emake install DESTDIR="${D}" || die "emake install failed"
-
- # Remove the already-installed documentation, since it does not
- # follow our guidelines (doesn't use ${PF}, is not configurable
- # and so on so forth).
- rm -r "${D}"/usr/share/doc/${P} || die
-
- dodoc README AUTHORS ChangeLog TODO README.windows || die
- pushd doc
- dohtml -r * || die
- popd
-}
diff --git a/dev-util/google-perftools/google-perftools-1.6.ebuild b/dev-util/google-perftools/google-perftools-1.6.ebuild
new file mode 100644
index 000000000000..26092e3c5da7
--- /dev/null
+++ b/dev-util/google-perftools/google-perftools-1.6.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/google-perftools/google-perftools-1.6.ebuild,v 1.1 2010/08/05 23:40:37 flameeyes Exp $
+
+EAPI=2
+
+inherit toolchain-funcs
+
+DESCRIPTION="Fast, multi-threaded malloc() and nifty performance analysis tools"
+HOMEPAGE="http://code.google.com/p/google-perftools/"
+SRC_URI="http://google-perftools.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="largepages +debug minimal" # test"
+
+DEPEND="sys-libs/libunwind"
+RDEPEND="${DEPEND}"
+
+# tests get stuck in a deadlock due to sandbox interactions.
+# bug #290249.
+RESTRICT=test
+
+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_configure() {
+ use largepages && append-cppflags -DTCMALLOC_LARGE_PAGES
+
+ econf \
+ --disable-static \
+ --disable-dependency-tracking \
+ --enable-fast-install \
+ $(use_enable debug debugalloc) \
+ $(use_enable minimal)
+}
+
+src_compile() {
+ emake ${makeopts} || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install ${makeopts} || die "emake install failed"
+
+ # Remove libtool files since we dropped the static libraries
+ find "${D}" -name '*.la' -delete
+
+ dodoc README AUTHORS ChangeLog TODO NEWS || die
+ pushd doc
+ dohtml -r * || die
+ popd
+}
diff --git a/dev-util/google-perftools/metadata.xml b/dev-util/google-perftools/metadata.xml
index 2d083ce3bc66..5470e6606cb0 100644
--- a/dev-util/google-perftools/metadata.xml
+++ b/dev-util/google-perftools/metadata.xml
@@ -5,4 +5,23 @@
<maintainer>
<email>flameeyes@gentoo.org</email>
</maintainer>
+
+ <use>
+ <flag name="largepages">
+ Use (experimental) larger pages for tcmalloc, this increases
+ memory usage, but should speed up the allocation/free
+ operations.
+ </flag>
+
+ <flag name="debug">
+ Build a set of libraries with debug support (so-called
+ debugalloc). These are available by default but are not needed
+ unless you're actually developing using tcmalloc.
+ </flag>
+
+ <flag name="minimal">
+ Only build the tcmalloc_minimal library, ignoring the heap
+ checker and the profilers.
+ </flag>
+ </use>
</pkgmetadata>