diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2010-08-05 23:40:37 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2010-08-05 23:40:37 +0000 |
commit | 88a322ddcb74ebd65f209930d1ef47bd6647b6e2 (patch) | |
tree | e052530b57ddc01fde4b2ed2980c2e5fcaa85763 | |
parent | Fix linking with xfce4-panel >= 4.7. (diff) | |
download | gentoo-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)
-rw-r--r-- | dev-util/google-perftools/ChangeLog | 12 | ||||
-rw-r--r-- | dev-util/google-perftools/google-perftools-1.4.ebuild | 33 | ||||
-rw-r--r-- | dev-util/google-perftools/google-perftools-1.6.ebuild | 67 | ||||
-rw-r--r-- | dev-util/google-perftools/metadata.xml | 19 |
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> |