summaryrefslogtreecommitdiffstats
path: root/abs/extra/valgrind/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/valgrind/PKGBUILD')
-rw-r--r--abs/extra/valgrind/PKGBUILD125
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
}