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

Contents of /dev-util/valgrind/valgrind-3.8.1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download)
Thu Sep 20 20:49:50 2012 UTC (19 months ago) by blueness
Branch: MAIN
Version bump

(Portage version: 2.1.11.9/cvs/Linux x86_64)

1 # Copyright 1999-2012 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.8.0.ebuild,v 1.1 2012/08/18 08:47:52 blueness Exp $
4
5 EAPI="4"
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 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x64-macos"
15 IUSE="mpi"
16
17 DEPEND="mpi? ( virtual/mpi )"
18 RDEPEND="${DEPEND}"
19
20 src_prepare() {
21 # Correct hard coded doc location
22 sed -i -e "s:doc/valgrind:doc/${PF}:" docs/Makefile.am || die
23
24 # Don't force multiarch stuff on OSX, bug #306467
25 sed -i -e 's:-arch \(i386\|x86_64\)::g' Makefile.all.am || die
26
27 # Respect CFLAGS, LDFLAGS
28 epatch "${FILESDIR}"/${PN}-3.7.0-respect-flags.patch
29
30 # Changing Makefile.all.am to disable SSP
31 epatch "${FILESDIR}"/${PN}-3.7.0-fno-stack-protector.patch
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.8.0-non-exec-stack.patch
39
40 # Regenerate autotools files
41 eautoreconf
42 }
43
44 src_configure() {
45 local myconf
46
47 # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression"
48 # while compiling insn_sse.c in none/tests/x86
49 # -fpie valgrind seemingly hangs when built with pie on
50 # amd64 (bug #102157)
51 # -fstack-protector more undefined references to __guard and __stack_smash_handler
52 # because valgrind doesn't link to glibc (bug #114347)
53 # -m64 -mx32 for multilib-portage, bug #398825
54 # -ggdb3 segmentation fault on startup
55 filter-flags -fomit-frame-pointer
56 filter-flags -fpie
57 filter-flags -fstack-protector
58 filter-flags -m64 -mx32
59 replace-flags -ggdb3 -ggdb2
60
61 if use amd64 || use ppc64; then
62 ! has_multilib_profile && myconf="${myconf} --enable-only64bit"
63 fi
64
65 # Force bitness on darwin, bug #306467
66 use x86-macos && myconf="${myconf} --enable-only32bit"
67 use x64-macos && myconf="${myconf} --enable-only64bit"
68
69 # Don't use mpicc unless the user asked for it (bug #258832)
70 if ! use mpi; then
71 myconf="${myconf} --without-mpicc"
72 fi
73
74 econf ${myconf}
75 }
76
77 src_install() {
78 emake DESTDIR="${D}" install
79 dodoc AUTHORS FAQ.txt NEWS README*
80
81 pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux
82
83 if [[ ${CHOST} == *-darwin* ]] ; then
84 # fix install_names on shared libraries, can't turn them into bundles,
85 # as dyld won't load them any more then, bug #306467
86 local l
87 for l in "${ED}"/usr/lib/valgrind/*.so ; do
88 install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}"
89 done
90 fi
91 }
92
93 pkg_postinst() {
94 ewarn "Valgrind will not work if glibc does not have debug symbols."
95 ewarn "To fix this you can add splitdebug to FEATURES in make.conf"
96 ewarn "and remerge glibc. See:"
97 ewarn "https://bugs.gentoo.org/show_bug.cgi?id=214065"
98 ewarn "https://bugs.gentoo.org/show_bug.cgi?id=274771"
99 ewarn "https://bugs.gentoo.org/show_bug.cgi?id=388703"
100 }

  ViewVC Help
Powered by ViewVC 1.1.20