aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorChristopher Currie2011-03-29 21:29:41 -0700
committerAdam Vandenberg2011-06-08 20:08:30 -0700
commit30342571b5193a418c2643fdaff6021595633cc7 (patch)
tree752226c47e9670f0d7142dc970724aacc8d7f0f2 /Library/Formula
parent081f98dbbba756ba7b51b69d11bae7427c4c9699 (diff)
downloadhomebrew-30342571b5193a418c2643fdaff6021595633cc7.tar.bz2
Add Python bindings for wxmac
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/wxmac.rb106
1 files changed, 102 insertions, 4 deletions
diff --git a/Library/Formula/wxmac.rb b/Library/Formula/wxmac.rb
index d54a6b24b..467bc75fb 100644
--- a/Library/Formula/wxmac.rb
+++ b/Library/Formula/wxmac.rb
@@ -1,24 +1,122 @@
require 'formula'
+def build_python?; ARGV.include? "--python"; end
+
+def which_python
+ if ARGV.include? '--system-python'
+ '/usr/bin/python'
+ else
+ 'python'
+ end
+end
+
+class Wxpython < Formula
+ url 'http://downloads.sourceforge.net/wxpython/wxPython-src-2.8.11.0.tar.bz2'
+ md5 '63f73aae49e530852db56a31b57529fa'
+end
+
class Wxmac < Formula
url 'http://downloads.sourceforge.net/project/wxwindows/2.8.11/wxMac-2.8.11.tar.bz2'
homepage 'http://www.wxwidgets.org'
md5 '8d84bfdc43838e2d2f75031f62d1864f'
- def caveats; <<-EOS.undent
- wxWidgets 2.8.x builds 32-bit only, so you probably won't be able to use it
- for other Homebrew-installed softare on Snow Leopard (like Erlang).
+ def options
+ [
+ ['--python', 'Build Python bindings'],
+ ['--system-python', 'Build against the OS X Python instead of whatever is in the path.']
+ ]
+ end
+
+ def test_python_arch
+ system "arch -i386 #{which_python} --version"
+ rescue
+ onoe "No python on path or default python does not support 32-bit."
+ puts <<-EOS.undent
+ Your default python (if any) does not support 32-bit execution, which is
+ required for the wxmac python bindings. You can install the Homebrew
+ python with 32-bit support by running:
+
+ brew install python --universal --framework
+
EOS
+ exit 99
+ end
+
+ def install_wx_python
+ opts = [
+ # Reference our wx-config
+ "WX_CONFIG=#{bin}/wx-config",
+ # At this time Wxmac is installed ANSI only
+ "UNICODE=0",
+ # And thus we have no need for multiversion support
+ "INSTALL_MULTIVERSION=0",
+ # TODO: see if --with-opengl can work on the wxmac build
+ "BUILD_GLCANVAS=0",
+ # Contribs that I'm not sure anyone cares about, but
+ # wxPython tries to build them by default
+ "BUILD_STC=0",
+ "BUILD_GIZMOS=0"
+ ]
+ Dir.chdir "wxPython" do
+ system "arch", "-i386",
+ which_python,
+ "setup.py",
+ "build_ext",
+ *opts
+
+ system "arch", "-i386",
+ which_python,
+ "setup.py",
+ "install",
+ "--prefix=#{prefix}",
+ *opts
+ end
end
def install
+ test_python_arch if build_python?
+
# Force i386
%w{ CFLAGS CXXFLAGS LDFLAGS OBJCFLAGS OBJCXXFLAGS }.each do |compiler_flag|
ENV.remove compiler_flag, "-arch x86_64"
ENV.append compiler_flag, "-arch i386"
end
- system "./configure", "--prefix=#{prefix}", "--disable-debug", "--disable-dependency-tracking", "--enable-unicode"
+ system "./configure", "--disable-debug", "--disable-dependency-tracking",
+ "--prefix=#{prefix}",
+ "--enable-unicode"
system "make install"
+
+ if build_python?
+ ENV['WXWIN'] = Dir.getwd
+ Wxpython.new.brew { install_wx_python }
+ end
+ end
+
+ def caveats
+ s = <<-EOS.undent
+ wxWidgets 2.8.x builds 32-bit only, so you probably won''t be able to use it
+ for other Homebrew-installed softare on Snow Leopard (like Erlang).
+
+ EOS
+
+ if build_python?
+ s += <<-EOS.undent
+ Python bindings require that Python be built as a Framework; this is the
+ default for Mac OS provided Python but not for Homebrew python (compile
+ using the --framework option).
+
+ You will also need 32-bit support for Python. If you are on a 64-bit
+ platform, you will need to run Python in 32-bit mode:
+
+ arch -i386 python [args]
+
+ Homebrew Python does not support this by default (compile using the
+ --universal option)
+
+ EOS
+ end
+
+ return s
end
end