2018-01-06 20:32:44 +00:00
|
|
|
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
|
|
|
|
# Contributor: Dan McGee <dan@archlinux.org>
|
|
|
|
# Contributor: Allan McRae <allan@archlinux.org>
|
2012-06-06 20:28:35 +00:00
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
2015-10-27 03:46:58 +00:00
|
|
|
# - hold for toolchain update, only build for v7/v8
|
2017-10-27 13:03:57 +00:00
|
|
|
# - patch from Fedora for AArch64
|
2018-01-06 20:32:44 +00:00
|
|
|
# - removed lib32 package make/optdepends
|
2013-08-15 12:37:29 +00:00
|
|
|
|
2015-10-27 03:46:58 +00:00
|
|
|
buildarch=12
|
2018-01-06 20:32:44 +00:00
|
|
|
#noautobuild=1
|
2014-02-10 04:08:27 +00:00
|
|
|
|
2012-06-06 20:28:35 +00:00
|
|
|
pkgname=valgrind
|
2017-06-20 04:58:33 +00:00
|
|
|
pkgver=3.13.0
|
2018-04-24 12:17:36 +00:00
|
|
|
pkgrel=7
|
2018-01-06 20:32:44 +00:00
|
|
|
pkgdesc='Tool to help find memory-management problems in programs'
|
|
|
|
arch=('x86_64')
|
|
|
|
license=('GPL')
|
2014-04-06 02:27:51 +00:00
|
|
|
url='http://valgrind.org/'
|
2018-04-24 12:17:36 +00:00
|
|
|
depends=('glibc' 'perl')
|
2018-01-06 20:32:44 +00:00
|
|
|
makedepends=('gdb' 'openmpi')
|
|
|
|
checkdepends=('procps-ng')
|
2014-09-19 19:17:55 +00:00
|
|
|
optdepends=('openmpi: MPI support')
|
2018-01-06 20:32:44 +00:00
|
|
|
provides=('valgrind-multilib')
|
|
|
|
replaces=('valgrind-multilib')
|
|
|
|
options=('!emptydirs' '!strip')
|
|
|
|
source=(https://sourceware.org/pub/valgrind/valgrind-${pkgver}.tar.bz2
|
|
|
|
valgrind-fix-xml-socket.patch
|
|
|
|
valgrind-3.13.0-test-fixes.patch
|
|
|
|
valgrind-3.13.0-amd64-eflags-tests.patch
|
|
|
|
valgrind-3.13.0-gdb-8-testfix.patch
|
|
|
|
valgrind-3.7.0-respect-flags.patch
|
|
|
|
valgrind-3.13.0-arm64-hwcap.patch)
|
2017-10-27 13:03:57 +00:00
|
|
|
md5sums=('817dd08f1e8a66336b9ff206400a5369'
|
2018-01-06 20:32:44 +00:00
|
|
|
'0b13c1a080260497e6159bef4401ac1a'
|
|
|
|
'183a51089321fcf117f0f723e8e1940a'
|
|
|
|
'47728e356bb24a34eae52e932dd56c9f'
|
|
|
|
'02ce4a4f96b2dd649b36a7b8b19bd9d1'
|
|
|
|
'470d9881870aacc210b7a6efb64cc9a9'
|
2017-10-27 13:03:57 +00:00
|
|
|
'b7c24e58fa058578c9bf6fef4ccdd47d')
|
|
|
|
sha512sums=('34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009'
|
2018-01-06 20:32:44 +00:00
|
|
|
'610c1e74a38d5e56a41eb59b25709ad40840e8c50d0d30bea20e9959cd65b99ae44626baf8a77505e5cd2ce70d120ae429a6861165546771395b00e534c3296b'
|
|
|
|
'1cff77e987e2d20ce1563c96d76431c60c142c42afa978e32d3a8c8dda17d0f3c1ba29fe3d0fcf0e7445fa5ca9558690ecdaad259fb9d23f435dcdc0baa9175d'
|
|
|
|
'5cb1643a8eab47ba2daa1438c50f1d29457d5aef69b6902fe3f1c72176ffa82d8048aac03ebc060ab6510cb8f59a9d41cfa1b80cf9661204b54120ee1961a607'
|
|
|
|
'd993b7af3debdbae1e0d997f8fe47a01f83975575a125bee425dfe6f474c6ec72a0c5252e88a762cc4e866dfcb2cb1bf5bab9fead8fb5393faf049fb4aefba4f'
|
|
|
|
'e0cec39381cefeca09ae4794cca309dfac7c8693e6315e137e64f5c33684598726d41cfbb4edf764fe985503b13ff596184ca5fc32b159d500ec092e4cf8838c'
|
2017-10-27 13:03:57 +00:00
|
|
|
'5af853399c6abdf8016fd1c2be854b3952b7d7e9ca16c870f84eed72e606e639d5f64de32e60105899f5201b53156380ae460111e05209e843301492742c9bfd')
|
|
|
|
|
|
|
|
prepare() {
|
2018-01-06 20:32:44 +00:00
|
|
|
cd ${pkgname}-${pkgver}
|
|
|
|
patch -Np1 < ../valgrind-3.7.0-respect-flags.patch
|
|
|
|
patch -Np1 < ../valgrind-3.13.0-test-fixes.patch
|
|
|
|
patch -Np1 < ../valgrind-3.13.0-amd64-eflags-tests.patch
|
|
|
|
patch -Np1 < ../valgrind-3.13.0-gdb-8-testfix.patch
|
|
|
|
patch -Np1 < ../valgrind-fix-xml-socket.patch
|
|
|
|
patch -Np1 < ../valgrind-3.13.0-arm64-hwcap.patch
|
2017-10-27 13:03:57 +00:00
|
|
|
}
|
2014-02-10 04:08:27 +00:00
|
|
|
|
|
|
|
build() {
|
2017-03-11 03:43:42 +00:00
|
|
|
# valgrind does not like stack protector flags
|
|
|
|
CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
|
2018-01-06 20:32:44 +00:00
|
|
|
CFLAGS=${CFLAGS/-fstack-protector-strong -fno-plt/}
|
|
|
|
CXXFLAGS=${CXXFLAGS/-fstack-protector-strong -fno-plt/}
|
2015-10-02 00:26:51 +00:00
|
|
|
|
2018-01-06 20:32:44 +00:00
|
|
|
cd ${pkgname}-${pkgver}
|
|
|
|
./configure \
|
|
|
|
--prefix=/usr \
|
|
|
|
--mandir=/usr/share/man \
|
|
|
|
--with-mpicc=mpicc
|
2012-06-06 20:28:35 +00:00
|
|
|
make
|
|
|
|
}
|
|
|
|
|
2018-01-06 20:32:44 +00:00
|
|
|
check() {
|
|
|
|
cd ${pkgname}-${pkgver}
|
|
|
|
|
|
|
|
# Make sure a basic binary runs. There should be no errors.
|
|
|
|
./vg-in-place --error-exitcode=1 /bin/true
|
|
|
|
|
|
|
|
# Make sure no extra CFLAGS, CXXFLAGS or LDFLAGS leak through,
|
|
|
|
# the testsuite sets all flags necessary. See also configure above.
|
|
|
|
make check CFLAGS="" CXXFLAGS="" LDFLAGS=""
|
|
|
|
|
|
|
|
# XXX: run full regtest but only report issues some tests fail duo
|
|
|
|
# current toolchain and expectations, take a manual look if its fine
|
|
|
|
echo ===============TESTING===================
|
|
|
|
make regtest || :
|
|
|
|
|
|
|
|
# Make sure test failures show up in build.log
|
|
|
|
# Gather up the diffs (at most the first 20 lines for each one)
|
|
|
|
MAX_LINES=20
|
|
|
|
diff_files=$(find . -name '*.diff' | sort)
|
|
|
|
if [ z"${diff_files}" = z ] ; then
|
|
|
|
echo "Congratulations, all tests passed!"
|
|
|
|
else
|
|
|
|
warning "Some tests failed!"
|
|
|
|
for f in ${diff_files} ; do
|
|
|
|
echo "=================================================" >> diffs
|
|
|
|
echo "${f}" >> diffs
|
|
|
|
echo "=================================================" >> diffs
|
|
|
|
if [ "$(wc -l < "${f}")" -le ${MAX_LINES} ] ; then
|
|
|
|
cat "${f}" >> diffs
|
|
|
|
else
|
|
|
|
head -n ${MAX_LINES} "${f}" >> diffs
|
|
|
|
echo "<truncated beyond ${MAX_LINES} lines>" >> diffs
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
fi
|
|
|
|
cat diffs
|
|
|
|
echo ===============END TESTING===============
|
|
|
|
}
|
|
|
|
|
2012-06-06 20:28:35 +00:00
|
|
|
package() {
|
2018-01-06 20:32:44 +00:00
|
|
|
cd ${pkgname}-${pkgver}
|
|
|
|
make DESTDIR="${pkgdir}" install
|
|
|
|
find "${pkgdir}/usr/bin" -type f -executable -exec strip $STRIP_BINARIES {}+ || true
|
2012-06-06 20:28:35 +00:00
|
|
|
}
|
2018-01-06 20:32:44 +00:00
|
|
|
|
|
|
|
# vim: ts=2 sw=2 et:
|