# -*- 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 PortSystem 1.0 PortGroup mpi 1.0 PortGroup compiler_blacklist_versions 1.0 name valgrind categories devel platforms darwin supported_archs i386 x86_64 license GPL-2 maintainers {raimue @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 https://sourceware.org/pub/valgrind/ # older clangs identify as applellvm-4.2 and are rejected # https://trac.macports.org/ticket/53525 compiler.blacklist-append \ { clang < 426 } # priv/guest_s390_toIR.c:2056:39: error: invalid suffix "b00010000" on integer constant compiler.blacklist-append \ llvm-gcc-4.2 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.16.1 revision 0 conflicts valgrind-devel valgrind-macos-devel checksums rmd160 f06068b1f2aa9f6c2377816a0af809459da2c5a8 \ sha256 c91f3a2f7b02db0f3bc99479861656154d241d2fdb265614ba918cc6720a33ca \ size 16262776 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} > 17)} { ui_error "${subport} @${version} is only compatible with macOS versions from 10.5 up to 10.13." ui_error "Consider installing valgrind-macos-devel on newer macOS systems." return -code error "incompatible macOS version" } } livecheck.type regex livecheck.url ${homepage} livecheck.regex ${name}-(\\d(?:\\.\\d+)+) } subport valgrind-devel { epoch 1 set date 2020-12-17 version 3.16.1-r${date} conflicts valgrind valgrind-macos-devel fetch.type git git.url http://repo.or.cz/valgrind.git git.branch 04cdc29b007594a0e58ffef0c9dd87df3ea595ea pre-fetch { if {${os.platform} eq "darwin" && ${os.major} < 9 } { ui_error "${subport} @${version} is only compatible with macOS versions from 10.5 up." return -code error "incompatible macOS version" } if {${os.platform} eq "darwin" && ${os.major} > 17 } { ui_error "${subport} @${version} is not presently compatible with macOS Mojave or newer" ui_error "Consider installing valgrind-macos-devel on newer macOS systems." return -code error "incompatible macOS version" } } use_autoreconf yes livecheck.type none } subport valgrind-macos-devel { set date 2023-10-29 version 3.22.0-r${date} conflicts valgrind valgrind-devel fetch.type git git.url https://github.com/LouisBrunner/valgrind-macos.git git.branch d14be1d4f76466560ed6515d0f314f0925522456 description A powerful memory debugger with latest macOS support use_autoreconf yes livecheck.type none }