homebrew-core/Formula/valgrind.rb

69 lines
2.1 KiB
Ruby

class Valgrind < Formula
desc "Dynamic analysis tools (memory, debug, profiling)"
homepage "http://www.valgrind.org/"
stable do
url "http://valgrind.org/downloads/valgrind-3.12.0.tar.bz2"
sha256 "67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1"
# SVN r16103:
# "bzero is non-POSIX (deprecated), accordingly __bzero template required
# for all macOS versions. n-i-bz."
#
# Fixes build on macOS 10.12 (at least). Otherwise we would get undefined
# symbols error for __bzero.
patch :p0 do
url "https://raw.githubusercontent.com/Homebrew/formula-patches/54d59bf/valgrind/bzero.diff"
sha256 "48de4054dba20c27ef6089d3ea7832e48dcbbb5368ac4316394b8be55ffe93a2"
end
end
bottle do
sha256 "ab3ef2be621bc6b0619d2a87a263d8d7a99056101305b3f4116d4c98049bd782" => :el_capitan
sha256 "641cd92b8fa21863db3fadc5be6054477933eba9d2fcee6b54ed797ae5b01f63" => :yosemite
end
head do
url "svn://svn.valgrind.org/valgrind/trunk"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
end
# https://bugs.kde.org/show_bug.cgi?id=365327#c2
# https://github.com/Homebrew/homebrew-core/pull/6231#issuecomment-255779374
depends_on MaximumMacOSRequirement => :el_capitan
# Valgrind needs vcpreload_core-*-darwin.so to have execute permissions.
# See #2150 for more information.
skip_clean "lib/valgrind"
def install
args = %W[
--disable-dependency-tracking
--prefix=#{prefix}
]
if MacOS.prefer_64_bit?
args << "--enable-only64bit" << "--build=amd64-darwin"
else
args << "--enable-only32bit"
end
system "./autogen.sh" if build.head?
# Look for headers in the SDK on Xcode-only systems: https://bugs.kde.org/show_bug.cgi?id=295084
unless MacOS::CLT.installed?
inreplace "coregrind/Makefile.in", %r{(\s)(?=/usr/include/mach/)}, '\1'+MacOS.sdk_path.to_s
end
system "./configure", *args
system "make"
system "make", "install"
end
test do
system "#{bin}/valgrind", "ls", "-l"
end
end