aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLee Packham2012-08-21 14:51:37 +0100
committerAdam Vandenberg2012-09-09 11:28:33 -0700
commit8b890f6a6f813ff291ef648114aa69e2ffdf878f (patch)
tree2e3b69d1ecee70f7948204311f79ab311f26868f
parent732a2f11c45987146814fd3f94f5274f53869afe (diff)
downloadhomebrew-8b890f6a6f813ff291ef648114aa69e2ffdf878f.tar.bz2
Python: add DTrace support
Makes use of a patch from http://bugs.python.org/issue13405 with the first part modified to remove the .hgignore patch. This ends up providing full probes in OSX just like you have with built-in Python. Closes #14343. Signed-off-by: Adam Vandenberg <flangy@gmail.com>
-rw-r--r--Library/Formula/python.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/Library/Formula/python.rb b/Library/Formula/python.rb
index 49c3c3bde..c9358db43 100644
--- a/Library/Formula/python.rb
+++ b/Library/Formula/python.rb
@@ -40,6 +40,11 @@ class Python < Formula
option :universal
option 'quicktest', 'Run `make quicktest` after the build'
+ # --with-dtrace relies on CLT as the patch from
+ # http://bugs.python.org/issue13405 requires it.
+ # A note is added upstream about the CLT requirement.
+ option 'with-dtrace', 'Install with DTrace support' if MacOS::CLT.installed?
+
# Skip binaries so modules will load; skip lib because it is mostly Python files
skip_clean ['bin', 'lib']
@@ -47,6 +52,10 @@ class Python < Formula
prefix/"Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages"
end
+ def patches
+ 'https://raw.github.com/gist/3415636/2365dea8dc5415daa0148e98c394345e1191e4aa/pythondtrace-patch.diff'
+ end if build.include? 'with-dtrace'
+
# The HOMEBREW_PREFIX location of site-packages.
def site_packages
HOMEBREW_PREFIX/"lib/python2.7/site-packages"
@@ -76,6 +85,7 @@ class Python < Formula
]
args << '--without-gcc' if ENV.compiler == :clang
+ args << '--with-dtrace' if build.include? 'with-dtrace'
# Further, Python scans all "-I" dirs but not "-isysroot", so we add
# the needed includes with "-I" here to avoid this err: