/[gentoo-x86]/dev-util/valgrind/valgrind-3.6.1-r1.ebuild
Gentoo

Contents of /dev-util/valgrind/valgrind-3.6.1-r1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Thu Jun 9 20:38:30 2011 UTC (3 years, 1 month ago) by blueness
Branch: MAIN
Fixed to build against linux-3.x, bug #370857

(Portage version: 2.1.9.42/cvs/Linux x86_64)

1 blueness 1.1 # Copyright 1999-2011 Gentoo Foundation
2     # Distributed under the terms of the GNU General Public License v2
3     # $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.6.1.ebuild,v 1.4 2011/05/22 23:56:30 josejx Exp $
4    
5     EAPI=2
6     inherit autotools eutils flag-o-matic toolchain-funcs multilib pax-utils
7    
8     DESCRIPTION="An open-source memory debugger for GNU/Linux"
9     HOMEPAGE="http://www.valgrind.org"
10     SRC_URI="http://www.valgrind.org/downloads/${P}.tar.bz2"
11    
12     LICENSE="GPL-2"
13     SLOT="0"
14     KEYWORDS="-* ~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
15     IUSE="mpi qt4"
16    
17     DEPEND="mpi? ( virtual/mpi )"
18     RDEPEND="${DEPEND}"
19    
20     src_prepare() {
21     # Respect CFLAGS, LDFLAGS
22     sed -i -e '/^CPPFLAGS =/d' -e '/^CFLAGS =/d' -e '/^LDFLAGS =/d' \
23     mpi/Makefile.am || die
24    
25     # Changing Makefile.all.am to disable SSP
26     sed -i -e 's:^AM_CFLAGS_BASE = :AM_CFLAGS_BASE = -fno-stack-protector :' \
27     Makefile.all.am || die
28    
29     # Correct hard coded doc location
30     sed -i -e "s:doc/valgrind:doc/${PF}:" \
31     docs/Makefile.am || die
32    
33     # Yet more local labels, this time for ppc32 & ppc64
34     epatch "${FILESDIR}"/${PN}-3.6.0-local-labels.patch
35    
36     # Don't build in empty assembly files for other platforms or we'll get a QA
37     # warning about executable stacks.
38     epatch "${FILESDIR}"/${PN}-3.6.0-non-exec-stack.patch
39    
40     # Fix up some suppressions that were not general enough for glibc versions
41     # with more than just a major and minor number.
42     epatch "${FILESDIR}"/${PN}-3.4.1-glibc-2.10.1.patch
43    
44     # Remove automagic dependency on qt4
45     epatch "${FILESDIR}"/${PN}-3.6.1-user-enable-qt4.patch
46    
47     # Allow valgrind to build against linux-3, bug #370857
48     epatch "${FILESDIR}"/${PN}-3.6.1-linux-3.patch
49    
50     # Regenerate autotools files
51     eautoreconf
52     }
53    
54     src_configure() {
55     local myconf
56    
57     # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression"
58     # while compiling insn_sse.c in none/tests/x86
59     # -fpie valgrind seemingly hangs when built with pie on
60     # amd64 (bug #102157)
61     # -fstack-protector more undefined references to __guard and __stack_smash_handler
62     # because valgrind doesn't link to glibc (bug #114347)
63     # -ggdb3 segmentation fault on startup
64     filter-flags -fomit-frame-pointer
65     filter-flags -fpie
66     filter-flags -fstack-protector
67     replace-flags -ggdb3 -ggdb2
68    
69     if use amd64 || use ppc64; then
70     ! has_multilib_profile && myconf="${myconf} --enable-only64bit"
71     fi
72    
73     # Don't use mpicc unless the user asked for it (bug #258832)
74     if ! use mpi; then
75     myconf="${myconf} --without-mpicc"
76     fi
77    
78     if ! use qt4; then
79     myconf="${myconf} --disable-qtcore"
80     fi
81    
82     econf ${myconf}
83     }
84    
85     src_install() {
86     emake DESTDIR="${D}" install || die
87     dodoc AUTHORS FAQ.txt NEWS README*
88    
89     pax-mark m "${D}"/usr/$(get_libdir)/valgrind/*-*-linux
90     }
91    
92     pkg_postinst() {
93     if use ppc || use ppc64 || use amd64 ; then
94     ewarn "Valgrind will not work on ppc, ppc64 or amd64 if glibc does not have"
95     ewarn "debug symbols (see https://bugs.gentoo.org/show_bug.cgi?id=214065"
96     ewarn "and http://bugs.gentoo.org/show_bug.cgi?id=274771)."
97     ewarn "To fix this you can add splitdebug to FEATURES in make.conf and"
98     ewarn "remerge glibc."
99     fi
100     }

  ViewVC Help
Powered by ViewVC 1.1.20