aboutsummaryrefslogtreecommitdiffstats
path: root/main/valgrind/APKBUILD
blob: 8728790bdd7b849f8652c2f3fc5e240434d63542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=valgrind
pkgver=3.12.0
pkgrel=1
pkgdesc="A tool to help find memory-management problems in programs"
url="http://valgrind.org/"
arch="x86 x86_64 armhf ppc64le s390x"
license="GPL2+"
depends=""
# it seems like busybox sed works but the configure script requires GNU sed
makedepends="sed paxmark perl bash autoconf automake libtool"
# 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"
subpackages="$pkgname-dev $pkgname-doc"
source="http://$pkgname.org/downloads/$pkgname-$pkgver.tar.bz2
	uclibc.patch
	musl-fixes.patch
	arm.patch"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
	aclocal && autoconf && automake --add-missing || return 1
	echo '#include <linux/a.out.h>' > include/a.out.h
}

build() {
	cd "$_builddir"
	# fails to build with ccache
	export CC="gcc"
	export CFLAGS="$CFLAGS -fno-stack-protector -no-pie"
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstatedir=/var \
		--without-mpicc \
		|| return 1
	make || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1

	# we have options=!strip above so we strip the /usr/bin/* manually
	if [ -z "$DEBUG" ]; then
		strip "$pkgdir"/usr/bin/valgrind \
			"$pkgdir"/usr/bin/valgrind-di-server \
			"$pkgdir"/usr/bin/vgdb \
			"$pkgdir"/usr/bin/valgrind-listener \
			"$pkgdir"/usr/bin/cg_merge
	fi

	# pax causes some issues
	# http://marc.info/?l=gentoo-hardened&m=119512627126298&w=2
	# http://bugs.alpinelinux.org/issues/999
	paxmark -m "$pkgdir"/usr/lib/valgrind/*-*-linux
}

md5sums="6eb03c0c10ea917013a7622e483d61bb  valgrind-3.12.0.tar.bz2
c29b4572a070eb0d3a6a977be586c771  uclibc.patch
6a5ab2ceaa4b5b907730fec90fdd4946  musl-fixes.patch
751d4eff90f997b0131e63dede131cf2  arm.patch"
sha256sums="67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1  valgrind-3.12.0.tar.bz2
fab5afea5cb7abec79ff68088d97ccc188613c733b4dfc8ede029cb818ec397f  uclibc.patch
1a9e76609ebb2b9c178fe28d2b1f6e75cc0d82351b916e4dfdd7178a9554a3a1  musl-fixes.patch
d23df431a8e60e074aa2838441a77799c3079af4a2a1bdc48d4848e3239628c4  arm.patch"
sha512sums="2c083f7c2e74dc58600397726d9d3af7a2cea40fe3d8733149886d1d77867e6c09996e5be1c58dd932f3662acf7363e04eeadbc0f9c8f0dac089e605024229be  valgrind-3.12.0.tar.bz2
d59a10db9037e120df2ee94a103402ca95a79abee9d8be63e4e1bca29c82dca775cc402a79b854ec11a2160a4d2da202c237369418e221d1925267ea2613fd5d  uclibc.patch
47735294a0641208c6bcbc51203019da18ec16d51316ca6437d0f9eba14d9acc09d82f65149b8b1d56aba90825397ef0c215e8036eccd0dce1287c58ee3ccda2  musl-fixes.patch
9ee297d1b2b86891584443ad0caadc4977e1447979611ccf1cc55dbee61911b0b063bc4ad936d86c451cedae410cb3219b5a088b2ad0aa17df182d564fe36cfe  arm.patch"