APKBUILD 1.68 KB
Newer Older
1 2
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=valgrind
3
pkgver=3.4.1
4
pkgrel=1
5 6 7 8 9
pkgdesc="A tool to help find memory-management problems in programs"
url="http://valgrind.org/"
license="GPL"
depends="uclibc"
# it seems like busybox sed works but the configure script requires GNU sed
10 11 12 13 14 15 16
makedepends="sed paxctl pax-utils"
# from README_PACKAGERS:
#   Don't strip the debug info off lib/valgrind/$platform/vgpreload*.so
#   in the installation tree.  Either Valgrind won't work at all, or it
#   will still work if you do, but will generate less helpful error
#   messages. 
options="!strip"
17 18 19 20 21 22 23 24 25 26 27 28 29 30
subpackages="$pkgname-dev $pkgname-doc"
source="http://$pkgname.org/downloads/$pkgname-$pkgver.tar.bz2
	$pkgname-3.4.0-uclibc.patch
	"

build() {
	local i
	cd "$srcdir/$pkgname-$pkgver"
	for i in ../*.patch; do
		msg "Applying $i"
		patch -p1 < $i || return 1
	done

	# make sure our CFLAGS are respected
31
	sed -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long -fno-stack-protector":' \
32
		-i configure.in
33

34 35 36 37 38 39
	./configure --prefix=/usr \
		 --without-mpicc \
		--mandir=/usr/share/man || return 1

	make || return 1
	make DESTDIR="$pkgdir" install || return 1
40 41 42 43 44 45 46 47 48 49 50 51

	# we have options=!strip above so we strip the /usr/bin/* manually
	strip "$pkgdir"/usr/bin/valgrind \
		"$pkgdir"/usr/bin/no_op_client_for_valgrind \
		"$pkgdir"/usr/bin/valgrind-listener \
		"$pkgdir"/usr/bin/cg_merge 

	# pax causes some issues
	# http://marc.info/?l=gentoo-hardened&m=119512627126298&w=2
	scanelf "$pkgdir"/usr/lib/valgrind/x86-linux \
		| awk '$1 == "ET_EXEC" {print $2}' | xargs paxctl -c -m

52 53
}

54
md5sums="b5f039dd2271aaf9ae570ab4116f87c7  valgrind-3.4.1.tar.bz2
55
37bc90d0783bc0f8ba5754c8407e3dcc  valgrind-3.4.0-uclibc.patch"