diff options
Diffstat (limited to 'Library/Formula')
| -rw-r--r-- | Library/Formula/libxml2.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Library/Formula/libxml2.rb b/Library/Formula/libxml2.rb index 31053a0dd..dcc0afcf9 100644 --- a/Library/Formula/libxml2.rb +++ b/Library/Formula/libxml2.rb @@ -19,6 +19,15 @@ class Libxml2 < Formula ] end + def patches + # Libxml2 is a dupe and now we see why that's a bad idea. + # Python's distutils are so smart to remember the LD command from + # when python was built and therefore finds the libxml2 in Xcode first. + # The LDFLAGS don't help, because python puts them _after_ the remembered + # flags. + DATA unless MacOS::CLT.installed? + end + def install ENV.universal_binary if ARGV.build_universal? @@ -41,6 +50,11 @@ class Libxml2 < Formula ENV.append 'CFLAGS', arch_flags ENV.append 'LDFLAGS', arch_flags + unless MacOS::CLT.installed? + # For Xcode-only systems, the libiconv headers are inside of Xcode. + # We can replace /opt/include with our path to achieve that + inreplace 'setup.py', '"/opt/include",', "\"#{MacOS.sdk_path}/usr/include\"," + end system "python", "setup.py", "install_lib", "--install-dir=#{python_lib}" end @@ -51,3 +65,19 @@ class Libxml2 < Formula "python" + `python -c 'import sys;print(sys.version[:3])'`.strip end end + +__END__ +diff --git a/python/setup.py.in b/python/setup.py.in +index b985979..d6ccf2e 100755 +--- a/python/setup.py.in ++++ b/python/setup.py.in +@@ -13,6 +13,9 @@ ROOT = r'@prefix@' + # Thread-enabled libxml2 + with_threads = @WITH_THREADS@ + ++import distutils.sysconfig as sc ++sc.get_config_vars()['LDSHARED']=os.environ['LD'] + ' -bundle -undefined dynamic_lookup -L' + ROOT + '/lib ' + os.environ['LDFLAGS'] ++ + # If this flag is set (windows only), + # a private copy of the dlls are included in the package. + # If this flag is not set, the libxml2 and libxslt |
