diff options
Diffstat (limited to 'dev-util/oprofile/oprofile-0.9.6-r1.ebuild')
-rw-r--r-- | dev-util/oprofile/oprofile-0.9.6-r1.ebuild | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/dev-util/oprofile/oprofile-0.9.6-r1.ebuild b/dev-util/oprofile/oprofile-0.9.6-r1.ebuild new file mode 100644 index 000000000000..dd388d349b1e --- /dev/null +++ b/dev-util/oprofile/oprofile-0.9.6-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/oprofile/oprofile-0.9.6-r1.ebuild,v 1.1 2011/06/20 05:23:29 pva Exp $ + +EAPI=4 +inherit eutils linux-info + +DESCRIPTION="A transparent low-overhead system-wide profiler" +HOMEPAGE="http://oprofile.sourceforge.net" +SRC_URI="mirror://sourceforge/oprofile/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="" + +DEPEND=">=dev-libs/popt-1.7-r1 + >=sys-devel/binutils-2.14.90.0.6-r3 + >=sys-libs/glibc-2.3.2-r1" +RDEPEND="${DEPEND}" + +pkg_setup() { + linux-info_pkg_setup + if ! linux_config_exists || ! linux_chkconfig_present OPROFILE; then + elog "In order for oprofile to work, you need to configure your kernel" + elog "with CONFIG_OPROFILE set to 'm' or 'y'." + fi +} + +src_prepare() { + epatch "${FILESDIR}/${P}-mutable.patch" + epatch "${FILESDIR}/${P}-Ensure-that-save-only-saves-things-in-SESSION_DIR.patch" + epatch "${FILESDIR}/${P}-Fix-opcontrol-status-to-show-accurate-information.patch" + epatch "${FILESDIR}/${P}-Avoid-blindly-source-SETUP_FILE-with.patch" + epatch "${FILESDIR}/${P}-Add-argument-checking-for-numerical-arguments.patch" + epatch "${FILESDIR}/${P}-Avoid-using-bash.patch" + epatch "${FILESDIR}/${P}-Do-additional-checks-on-user-supplied-arguments.patch" +} + +src_configure() { + local myconf="--with-qt-dir=/void --with-x" + + case ${KV_FULL} in + 2.2.*|2.4.*) myconf="${myconf} --with-linux=${KV_DIR}";; + 2.5.*|2.6.*) myconf="${myconf} --with-kernel-support";; + *) die "Kernel version '${KV_FULL}' not supported";; + esac + econf ${myconf} +} + +src_compile() { + local mymake="" + sed -i -e "s,depmod -a,:,g" Makefile + emake ${mymake} || die +} + +src_install() { + local myinst="" + + myinst="${myinst} MODINSTALLDIR=${ED}/lib/modules/${KV_FULL}" + make DESTDIR="${D}" ${myinst} htmldir="/usr/share/doc/${PF}" install + + dodoc ChangeLog* README TODO +} + +pkg_postinst() { + if [[ ${ROOT} == / ]] ; then + [[ -x /sbin/update-modules ]] && /sbin/update-modules || /sbin/modules-update + fi + + echo + elog "Now load the oprofile module by running:" + elog " # opcontrol --init" + elog "Then read manpages and this html doc:" + elog " /usr/share/doc/${PF}/oprofile.html" + echo +} |