require 'formula' class Python :recommended # http://docs.python.org/library/gdbm.html depends_on 'gdbm' => :optional # http://docs.python.org/library/sqlite3.html depends_on 'sqlite' => :optional def patches # don't append space after completion {:p0 => ["http://bugs.python.org/file14599/python-2.6-readline.patch"]} end def options [ ["--framework", "Do a 'Framework' build instead of a UNIX-style build."], ["--universal", "Build for both 32 & 64 bit Intel."] ] end def skip_clean? path path == bin+'python' or path == bin+'python2.6' or # if you strip these, it can't load modules path == lib+'python2.6' # save a lot of time end def install args = ["--prefix=#{prefix}"] args << "--enable-framework" if ARGV.include? '--framework' # Note --intel is an old flag, supported here for back compat. but not documented in options. if ARGV.include? '--universal' or ARGV.include? '--intel' args << "--with-universal-archs=intel" << "--enable-universalsdk=/" << "--enable-universal-archs=all" end # Speed up creation of libpython.a, backported from Unladen Swallow: # http://code.google.com/p/unladen-swallow/source/detail?r=856 inreplace "Makefile.pre.in", "$(AR) cr", "$(AR) cqS" system "./configure", *args system "make" system "make install" end end