diff options
Diffstat (limited to 'dev-util/exmap/exmap-0.10-r1.ebuild')
-rw-r--r-- | dev-util/exmap/exmap-0.10-r1.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-util/exmap/exmap-0.10-r1.ebuild b/dev-util/exmap/exmap-0.10-r1.ebuild new file mode 100644 index 000000000000..4c25abe48413 --- /dev/null +++ b/dev-util/exmap/exmap-0.10-r1.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 + +inherit eutils linux-mod + +DESCRIPTION="A memory analysis kernel module with userland tool" +HOMEPAGE="http://www.berthels.co.uk/exmap/" +SRC_URI="http://www.berthels.co.uk/${PN}/download/${P}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gtk" + +RDEPEND="dev-libs/libpcre + gtk? ( dev-cpp/gtkmm:2.4 + x11-libs/gtk+:2 )" +DEPEND="${RDEPEND} + dev-libs/boost + virtual/pkgconfig" + +MODULE_NAMES="exmap(misc:${S}/kernel)" +BUILD_TARGETS="clean kernel_modules" + +src_prepare() { + # patch find_task_by_pid to pid_task and &proc_root to NULL + epatch "${FILESDIR}/${P}-kernel.patch" + + # use $(MAKE), remove -g on CXXFLAGS, clean up CXX/LD invocations + # remove -Werror, bug 468246 + epatch "${FILESDIR}/${PF}-makefiles.patch" + + # somthing strange between linux-mod supplied ARCH and old kernels + # which leads to arch/x86/Makefile: file/dir x86 not found + if kernel_is lt 2 6 25 ; then + sed -i -e 's:\$(MAKE):unset ARCH ; \$(MAKE):' kernel/Makefile || die + fi + + # new gcc include behavior + epatch "${FILESDIR}/${P}-gcc.patch" + + # gcc4.5 fails on return false as std::string + epatch "${FILESDIR}/${P}-gcc45.patch" + + # fix for 64bit from http://www.kdedevelopers.org/node/4166 + epatch "${FILESDIR}/${P}-fix64bit.patch" + + # fix underlinking with -Wl,--as-needed + epatch "${FILESDIR}/${P}-as-needed.patch" + + # no longer call make clean in kernel source dir + epatch "${FILESDIR}/${P}-kernel-3.5.patch" + + rm -v src/{*.so,munged-ls-threeloads,prelinked-amule} || die +} + +src_compile() { + export KERNEL_DIR + linux-mod_src_compile + + emake CXX="$(tc-getCXX)" LD="$(tc-getLD)" -C jutil || die + emake CXX="$(tc-getCXX)" LD="$(tc-getLD)" -C src $(use gtk || echo exmtool) || die +} + +src_install() { + linux-mod_src_install + + dobin src/exmtool || die + use gtk && { dobin src/gexmap || die ; } + dodoc TODO README || die +} + +pkg_postinst() { + linux-mod_pkg_postinst + + elog "Please load the exmap kernel module before running exmtool or gexmap." +} |