c961a0ffdc
As discussed on IRC this simplifies the Python packaging strategy of Homebrew. It's a modified version of the hints given on http://bit.ly/HomebrewPython and renders them unnecessary. setuptools and pip will be installed separately from Python's site-packages (e.g. "#{prefix}/lib/pip") but will install other packages in the Python's site-packages directory and *not* inside their own directories. In case the Python brew is removed or unlinked all packages installed with pip will be removed or unlinked, too. When using the non-framework install of Python (e.g. not the OS X' default) these restrictions also apply in case of the installation of a new version of Python.
27 lines
912 B
Ruby
27 lines
912 B
Ruby
require 'formula'
|
|
|
|
class Setuptools <Formula
|
|
url 'http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz'
|
|
homepage 'http://pypi.python.org/pypi/setuptools'
|
|
md5 '7df2a529a074f613b509fb44feefe74e'
|
|
version '0.6c11'
|
|
|
|
def install
|
|
dest=prefix+'lib/setuptools'
|
|
FileUtils.mkdir_p dest
|
|
ENV.append 'PYTHONPATH', dest, ":"
|
|
system "python", "setup.py", "install", "--prefix=#{prefix}", "--install-lib=#{dest}"
|
|
|
|
site_packages = `python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"`.chomp
|
|
pth = Pathname.new site_packages+'/homebrew.pth'
|
|
ohai "Writing #{pth} to enable setuptools"
|
|
data = DATA.read
|
|
data.sub! "HOMEBREW_SETUPTOOLS_PATH", dest
|
|
pth.unlink if pth.exist?
|
|
pth.write data
|
|
end
|
|
end
|
|
|
|
__END__
|
|
# Please dont't modify this file, Homebrew will overwrite it.
|
|
import site; site.addsitedir('HOMEBREW_SETUPTOOLS_PATH')
|