/[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.8 - (hide annotations) (download)
Sun May 26 12:17:05 2013 UTC (17 months, 4 weeks ago) by blueness
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +4 -1 lines
Respect AR, bug #468114, thanks Michael Mair-Keimberger

(Portage version: 2.1.11.62/cvs/Linux x86_64, signed Manifest commit with key 0xF52D4BBA)

1 blueness 1.2 # Copyright 1999-2013 Gentoo Foundation
2 blueness 1.1 # Distributed under the terms of the GNU General Public License v2
3 blueness 1.8 # $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.8.1.ebuild,v 1.7 2013/05/07 17:48:28 ago Exp $
4 blueness 1.1
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 ago 1.7 KEYWORDS="-* amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
15 blueness 1.1 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 blueness 1.2 # Fix for glibc 2.18, bug #458326
41     epatch "${FILESDIR}"/${PN}-3.8.1-glibc-2.17.patch
42    
43 blueness 1.1 # Regenerate autotools files
44     eautoreconf
45     }
46    
47     src_configure() {
48     local myconf
49    
50 blueness 1.8 # Respect ar, bug #468114
51     tc-export AR
52    
53 blueness 1.1 # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression"
54     # while compiling insn_sse.c in none/tests/x86
55     # -fpie valgrind seemingly hangs when built with pie on
56     # amd64 (bug #102157)
57     # -fstack-protector more undefined references to __guard and __stack_smash_handler
58     # because valgrind doesn't link to glibc (bug #114347)
59     # -m64 -mx32 for multilib-portage, bug #398825
60     # -ggdb3 segmentation fault on startup
61     filter-flags -fomit-frame-pointer
62     filter-flags -fpie
63     filter-flags -fstack-protector
64     filter-flags -m64 -mx32
65     replace-flags -ggdb3 -ggdb2
66    
67     if use amd64 || use ppc64; then
68     ! has_multilib_profile && myconf="${myconf} --enable-only64bit"
69     fi
70    
71     # Force bitness on darwin, bug #306467
72     use x86-macos && myconf="${myconf} --enable-only32bit"
73     use x64-macos && myconf="${myconf} --enable-only64bit"
74    
75     # Don't use mpicc unless the user asked for it (bug #258832)
76     if ! use mpi; then
77     myconf="${myconf} --without-mpicc"
78     fi
79    
80     econf ${myconf}
81     }
82    
83     src_install() {
84     emake DESTDIR="${D}" install
85     dodoc AUTHORS FAQ.txt NEWS README*
86    
87     pax-mark m "${ED}"/usr/$(get_libdir)/valgrind/*-*-linux
88    
89     if [[ ${CHOST} == *-darwin* ]] ; then
90     # fix install_names on shared libraries, can't turn them into bundles,
91     # as dyld won't load them any more then, bug #306467
92     local l
93     for l in "${ED}"/usr/lib/valgrind/*.so ; do
94     install_name_tool -id "${EPREFIX}"/usr/lib/valgrind/${l##*/} "${l}"
95     done
96     fi
97     }
98    
99     pkg_postinst() {
100 blueness 1.3 elog "Valgrind will not work if glibc does not have debug symbols."
101     elog "To fix this you can add splitdebug to FEATURES in make.conf"
102     elog "and remerge glibc. See:"
103     elog "https://bugs.gentoo.org/show_bug.cgi?id=214065"
104     elog "https://bugs.gentoo.org/show_bug.cgi?id=274771"
105     elog "https://bugs.gentoo.org/show_bug.cgi?id=388703"
106 blueness 1.1 }

  ViewVC Help
Powered by ViewVC 1.1.20