aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMisty De Meo2012-12-21 10:43:01 -0600
committerMisty De Meo2012-12-21 10:57:19 -0600
commit9fc7fdacb17524dda4d76519d3fa31a62d89c9c6 (patch)
treebb4d71596227f1f361ee9e3c545da90c63513cef /Library
parentc7f3c29e992e1c477bf49d3d792a6008b95f068d (diff)
downloadhomebrew-9fc7fdacb17524dda4d76519d3fa31a62d89c9c6.tar.bz2
python: fix installing on NFS
python has a severe bug which prevents it from building, or performing certain filesystem operations, on NFS. A few functions in the shutil module, notably chflag(), will attempt to copy file metadata which includes flags. Certain filesystems, such as NFS, don't support copying flags and will raise ENOTSUP when it is attempted. Unfortunately a portion of the python build process indirectly uses chflag() to copy metadata, which results in a build failure if the install prefix is on an NFS volume. This was patched in 2010, but the patch didn't actually work on OS X. This upstream patch fixes it for real.
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/python.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/Library/Formula/python.rb b/Library/Formula/python.rb
index 07f30f0cb..b8ddc21b0 100644
--- a/Library/Formula/python.rb
+++ b/Library/Formula/python.rb
@@ -46,8 +46,14 @@ class Python < Formula
option 'with-dtrace', 'Experimental DTrace support (http://bugs.python.org/issue13405)' if MacOS::CLT.installed?
def patches
- 'https://raw.github.com/gist/3415636/2365dea8dc5415daa0148e98c394345e1191e4aa/pythondtrace-patch.diff'
- end if build.include? 'with-dtrace'
+ p = []
+ # python fails to build on NFS; patch is merged upstream, will be in next release
+ # see http://bugs.python.org/issue14662
+ p << "https://gist.github.com/raw/4349132/25662c6b382315b5db67bf949773d76471bbcee7/python-nfs-shutil.diff"
+ p << 'https://raw.github.com/gist/3415636/2365dea8dc5415daa0148e98c394345e1191e4aa/pythondtrace-patch.diff' if build.include? 'with-dtrace'
+
+ p
+ end
def site_packages_cellar
prefix/"Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages"