summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/perf/perf-2.6.32_rc5.ebuild')
-rw-r--r--dev-util/perf/perf-2.6.32_rc5.ebuild113
1 files changed, 113 insertions, 0 deletions
diff --git a/dev-util/perf/perf-2.6.32_rc5.ebuild b/dev-util/perf/perf-2.6.32_rc5.ebuild
new file mode 100644
index 000000000000..d9817855f368
--- /dev/null
+++ b/dev-util/perf/perf-2.6.32_rc5.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/perf/perf-2.6.32_rc5.ebuild,v 1.1 2009/10/30 22:18:21 flameeyes Exp $
+
+EAPI=2
+
+inherit versionator eutils toolchain-funcs linux-info
+
+MY_PV="${PV/_/-}"
+MY_PV="${MY_PV/-pre/-git}"
+
+
+DESCRIPTION="Userland tools for Linux Performance Counters"
+HOMEPAGE="http://perf.wiki.kernel.org/"
+
+if [ ${PV/_rc} != ${PV} ]; then
+ LINUX_VER=$(get_version_component_range 1-2).$(($(get_version_component_range 3)-1))
+ PATCH_VERSION=$(get_version_component_range 1-3)
+ LINUX_PATCH=patch-${PV//_/-}.bz2
+ SRC_URI="mirror://kernel/linux/kernel/testing/${LINUX_PATCH}
+ mirror://kernel/linux/kernel/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
+else
+ LINUX_VER=${PV}
+fi
+
+LINUX_SOURCES=linux-${LINUX_VER}.tar.bz2
+SRC_URI="${SRC_URI} mirror://kernel/linux/kernel/v$(get_version_component_range 1-2)/${LINUX_SOURCES}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+demangle"
+
+RDEPEND="demangle? ( sys-devel/binutils )
+ dev-libs/elfutils"
+DEPEND="${RDEPEND}"
+
+if [[ -n ${LINUX_PATH} ]]; then
+ DEPEND="${DEPEND}
+ dev-util/patchutils"
+fi
+
+S="${WORKDIR}/linux-${LINUX_VER}/tools/perf"
+
+CONFIG_CHECK="PERF_EVENTS KALLSYMS"
+
+src_unpack() {
+ local _tarpattern=
+ local _filterdiff=
+ for _pattern in {tools/perf,include,lib,"arch/*/include"}; do
+ _tarpattern="${_tarpattern} linux-${LINUX_VER}/${_pattern}"
+ _filterdiff="${_filterdiff} -i ${_pattern}/*"
+ done
+
+ # We expect the tar implementation to support the -j option (both
+ # GNU tar and libarchive's tar support that).
+ tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} ${_tarpattern} || die
+ filterdiff ${_filterdiff} -z "${DISTDIR}"/${LINUX_PATCH} > ${P}.patch || die
+
+ MY_A=
+ for _AFILE in ${A}; do
+ [[ ${_AFILE} == ${LINUX_SOURCES} ]] && continue
+ [[ ${_AFILE} == ${LINUX_PATCH} ]] && continue
+ MY_A="${MY_A} ${_AFILE}"
+ done
+ [[ -n ${MY_A} ]] && unpack ${MY_A}
+}
+
+src_prepare() {
+ # Drop some upstream too-developer-oriented flags and fix the
+ # Makefile in general
+ sed -i \
+ -e 's:-Werror::' \
+ -e 's:-ggdb3::' \
+ -e 's:-fstack-protector-all::' \
+ -e 's:^LDFLAGS =:EXTLIBS +=:' \
+ -e '/-x c - /s:\$(ALL_LDFLAGS):\0 $(EXTLIBS):' \
+ -e '/^ALL_CFLAGS =/s:$: $(CFLAGS_OPTIMIZE):' \
+ -e '/^ALL_LDFLAGS =/s:$: $(LDFLAGS_OPTIMIZE):' \
+ "${S}"/Makefile
+
+ if [[ -n ${LINUX_PATCH} ]]; then
+ epatch "${WORKDIR}"/${P}.patch
+ fi
+}
+
+src_compile() {
+ local makeargs=
+
+ use demangle || makeargs="${makeargs} NO_DEMANGLE= "
+
+ emake ${makeargs} \
+ CC="$(tc-getCC)" AR="$(tc-getAR)" \
+ prefix="/usr" bindir_relative="sbin" \
+ CFLAGS_OPTIMIZE="${CFLAGS}" \
+ LDFLAGS_OPTIMIZE="${LDFLAGS}" || die
+}
+
+src_test() {
+ :
+}
+
+src_install() {
+ # Don't use make install or it'll be re-building the stuff :(
+ dosbin perf || die
+
+ dodoc CREDITS || die
+}
+
+pkg_postinst() {
+ elog "We currently provide no documentation with perf; we're sorry"
+ elog "but there will be no man page nor --help output."
+}