/[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 - (show annotations) (download)
Sun May 26 12:17:05 2013 UTC (15 months, 3 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 # Copyright 1999-2013 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.1.ebuild,v 1.7 2013/05/07 17:48:28 ago 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 ~x64-macos ~x86-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 # Fix for glibc 2.18, bug #458326
41 epatch "${FILESDIR}"/${PN}-3.8.1-glibc-2.17.patch
42
43 # Regenerate autotools files
44 eautoreconf
45 }
46
47 src_configure() {
48 local myconf
49
50 # Respect ar, bug #468114
51 tc-export AR
52
53 # -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 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 }

  ViewVC Help
Powered by ViewVC 1.1.20