# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 PortGroup mpi 1.0 name valgrind categories devel platforms darwin supported_archs i386 x86_64 license GPL-2 maintainers raimue \ openmaintainer description A powerful open-source memory debugger long_description \ Valgrind is a powerful open-source memory debugger. When valgrind is \ attached to a program, it intercepts calls to malloc/new/free/delete and \ all memory operations are checked for invalid read or write. homepage http://valgrind.org master_sites http://valgrind.org/downloads/ compilers.choose cc cxx mpi.setup -gcc44 -gcc45 -gcc46 depends_build bin:perl:perl5 # Ignore trace reports about boost, Qt and OpenMP # as they are only used for tests configure.args --without-mpicc if {${build_arch} eq "i386"} { configure.args-append --enable-only32bit } elseif {${build_arch} eq "x86_64"} { configure.args-append --enable-only64bit } # valgrind sets up -arch by itself, adding our own interferes with the build configure.cc_archflags {} configure.ld_archflags {} variant universal { configure.args-delete --enable-only32bit --enable-only64bit configure.universal_cflags {} configure.universal_cxxflags {} configure.universal_ldflags {} pre-configure { if {${build_arch} eq "i386"} { # See #25684 and https://bugs.kde.org/show_bug.cgi?id=243362 ui_error "${subport} does not build +universal on a 32-bit only CPU!" return -code error "unsupported CPU" } } } pre-patch { if {[gcc_variant_isset]} { patchfiles-append patch-gcc.diff } } pre-configure { if {[mpi_variant_isset]} { configure.args-delete --without-mpicc configure.args-append --with-mpicc=${mpi.cc} } } if {$subport eq $name} { version 3.12.0 revision 0 conflicts valgrind-devel checksums md5 6eb03c0c10ea917013a7622e483d61bb \ sha256 67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1 \ rmd160 25d413bc0594bdf4d26ff19d031151a4dfe87920 use_bzip2 yes # Avoid conflict of faq.html and FAQ.html, #30541 extract.post_args-append --exclude=${distname}/docs/html/FAQ.html pre-fetch { if {${os.platform} eq "darwin" && (${os.major} < 9 || ${os.major} > 16)} { ui_error "${subport} @${version} is only compatible with macOS versions from 10.5 up to 10.12." return -code error "incompatible macOS version" } } patchfiles-append patch-bzero.diff livecheck.type regex livecheck.url ${homepage} livecheck.regex ${name}-(\\d(?:\\.\\d+)+) } subport valgrind-devel { svn.revision 16104 set vex_revision 3283 version 3.13.0-r${svn.revision} revision 0 conflicts valgrind fetch.type svn svn.url svn://svn.valgrind.org/valgrind/trunk svn.args --ignore-externals worksrcdir trunk post-fetch { system -W ${worksrcpath} "${svn.cmd} ${svn.pre_args} ${svn.method} svn://svn.valgrind.org/vex/trunk@${vex_revision} VEX" } pre-fetch { if {${os.platform} eq "darwin" && (${os.major} < 9 || ${os.major} > 16)} { ui_error "${subport} @${version} is only compatible with macOS versions from 10.5 up to 10.12." return -code error "incompatible macOS version" } } use_autoreconf yes livecheck.type none }