From dc1fa5209cfc2fa9bff595fc1fbc29c55250e839 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Sat, 17 Apr 2010 11:50:15 -0700 Subject: Add a formula for Python 3 (specifically 3.1.2). Based off of the Python 2.6.5 formula. Minor comment tweaks along with adding an extra performance flag that works under both gcc and LLVM. Signed-off-by: Adam Vandenberg --- Library/Formula/python3.rb | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Library/Formula/python3.rb (limited to 'Library/Formula/python3.rb') diff --git a/Library/Formula/python3.rb b/Library/Formula/python3.rb new file mode 100644 index 000000000..8de3c297f --- /dev/null +++ b/Library/Formula/python3.rb @@ -0,0 +1,44 @@ +# Lightly modified from the Python 2.6.5 formula. +require 'formula' + +class Python3 :optional # Prefer over OS X's libedit. + depends_on 'sqlite' => :optional # Prefer over OS X's copy. + depends_on 'gdbm' => :optional + # With all dependencies installed should only have ossaudiodev and spwd not + # built from the stdlib. + + def options + [ + ["--framework", "Do a 'Framework' build instead of a UNIX-style build."], + ["--universal", "Build for both 32 & 64 bit Intel."] + ] + end + + # XXX Overriding skip_clean? is deprecated + def skip_clean? path + # Need to keep the versioned binaries. + # Also, don't strip out pre-compiled # bytecode files. + path == bin+'python3' or path == bin+'python3.1' or + path == lib+'python3.1' + end + + def install + # --with-computed-gotos requires addressable labels in C; + # both gcc and LLVM support this, so switch it on. + args = ["--prefix=#{prefix}", "--with-computed-gotos"] + + args << "--enable-framework" if ARGV.include? '--framework' + if ARGV.include? '--universal' + args.push "--enable-universalsdk=/", "--with-universal-archs=intel" + end + + system "./configure", *args + system "make" + system "make install" + end +end -- cgit v1.2.3