diff options
Diffstat (limited to 'abs/extra/valgrind/PKGBUILD')
-rw-r--r-- | abs/extra/valgrind/PKGBUILD | 125 |
1 files changed, 61 insertions, 64 deletions
diff --git a/abs/extra/valgrind/PKGBUILD b/abs/extra/valgrind/PKGBUILD index 61e18d5..2151db8 100644 --- a/abs/extra/valgrind/PKGBUILD +++ b/abs/extra/valgrind/PKGBUILD @@ -3,107 +3,104 @@ # Contributor: Allan McRae <allan@archlinux.org> pkgname=valgrind -pkgver=3.13.0 -pkgrel=6 +_commit=d772e25995c3400eecf2b6070e0bf3411447c3d1 +pkgver=3.15.0+269+gd772e2599 +pkgrel=1 pkgdesc='Tool to help find memory-management problems in programs' arch=('x86_64') license=('GPL') url='http://valgrind.org/' -depends=('glibc=2.26' 'perl') -makedepends=('gdb' 'openmpi' 'lib32-glibc' 'lib32-gcc-libs') +depends=('glibc' 'perl') +makedepends=('gdb' 'lib32-glibc' 'lib32-gcc-libs' 'git' 'docbook-xml' + 'docbook-xsl' 'docbook-sgml') checkdepends=('procps-ng') -optdepends=('openmpi: MPI support' - 'lib32-glibc: 32-bit ABI support') +optdepends=('lib32-glibc: 32-bit ABI support') 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 +source=("git+https://repo.or.cz/valgrind.git#commit=$_commit" valgrind-3.7.0-respect-flags.patch) -md5sums=('817dd08f1e8a66336b9ff206400a5369' - '0b13c1a080260497e6159bef4401ac1a' - '183a51089321fcf117f0f723e8e1940a' - '47728e356bb24a34eae52e932dd56c9f' - '02ce4a4f96b2dd649b36a7b8b19bd9d1' +md5sums=('SKIP' '470d9881870aacc210b7a6efb64cc9a9') -sha512sums=('34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009' - '610c1e74a38d5e56a41eb59b25709ad40840e8c50d0d30bea20e9959cd65b99ae44626baf8a77505e5cd2ce70d120ae429a6861165546771395b00e534c3296b' - '1cff77e987e2d20ce1563c96d76431c60c142c42afa978e32d3a8c8dda17d0f3c1ba29fe3d0fcf0e7445fa5ca9558690ecdaad259fb9d23f435dcdc0baa9175d' - '5cb1643a8eab47ba2daa1438c50f1d29457d5aef69b6902fe3f1c72176ffa82d8048aac03ebc060ab6510cb8f59a9d41cfa1b80cf9661204b54120ee1961a607' - 'd993b7af3debdbae1e0d997f8fe47a01f83975575a125bee425dfe6f474c6ec72a0c5252e88a762cc4e866dfcb2cb1bf5bab9fead8fb5393faf049fb4aefba4f' +sha512sums=('SKIP' 'e0cec39381cefeca09ae4794cca309dfac7c8693e6315e137e64f5c33684598726d41cfbb4edf764fe985503b13ff596184ca5fc32b159d500ec092e4cf8838c') +pkgver() { + cd valgrind + git describe --tags --always|sed -e 's|-|+|g' -e 's|VALGRIND_||g' -e 's|_|.|g' +} + prepare() { - cd ${pkgname}-${pkgver} + cd valgrind 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 + sed -i 's|sgml/docbook/xsl-stylesheets|xml/docbook/xsl-stylesheets-1.79.2|' docs/Makefile.am + + autoreconf -ifv } build() { - # valgrind does not like stack protector flags + # valgrind does not like some of our flags CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/} - CFLAGS=${CFLAGS/-fstack-protector-strong -fno-plt/} - CXXFLAGS=${CXXFLAGS/-fstack-protector-strong -fno-plt/} + CFLAGS=${CFLAGS/-fno-plt/} + CXXFLAGS=${CXXFLAGS/-fno-plt/} - cd ${pkgname}-${pkgver} + cd valgrind ./configure \ --prefix=/usr \ - --mandir=/usr/share/man \ - --with-mpicc=mpicc + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man make + make -C docs man-pages } check() { - cd ${pkgname}-${pkgver} + cd valgrind # 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="" + # Make sure no extra FLAGS leak through, the testsuite + # sets all flags necessary. See also configure above. + make check CPPFLAGS= 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 || : + # # 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=============== + # # Make sure test failures show up in build.log + # # Gather up the diffs (at most the first 20 lines for each one) + # local f max_lines=20 diff_files=() + # mapfile -d '' diff_files < <(find . -name '*.diff' -print0 | sort -z) + # if (( ${#diff_files[@]} == 0 )); then + # echo "Congratulations, all tests passed!" + # else + # warning "Some tests failed!" + # for f in "${diff_files[@]}"; do + # echo "=================================================" + # echo "${f}" + # echo "=================================================" + # if (( $(wc -l < "${f}") < ${max_lines} )); then + # cat "${f}" + # else + # head -n ${max_lines} "${f}" + # echo "<truncated beyond ${max_lines} lines>" + # fi + # done | tee diffs + # fi + # echo "===============END TESTING===============" } package() { - cd ${pkgname}-${pkgver} + cd valgrind make DESTDIR="${pkgdir}" install + install -Dm644 docs/*.1 -t "$pkgdir/usr/share/man/man1" + if check_option 'debug' n; then - find "${pkgdir}/usr/bin" -type f -executable -exec strip $STRIP_BINARIES {} + || true + find "${pkgdir}/usr/bin" -type f -executable -exec strip $STRIP_BINARIES {} + || : fi } |