aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/pip.rb
blob: 1a08e6b84d34f0029d71bafa365052a7271fdbf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
require 'formula'

class Pip <Formula
  url 'http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz'
  homepage 'http://pip.openplans.org/'
  md5 'cfe73090aaa0d3b0c104179a627859d1'

  depends_on 'setuptools'

  def script lib_path
    <<-EOS
#!/usr/bin/env python
"""
This is the Homebrew pip wrapper
"""
import sys
sys.path.insert(0, '#{lib_path}')
from pip import main

if __name__ == '__main__':
    main()
    EOS
  end

  def patches
    # better default paths for build, source-cache and log locations
    DATA
  end

  def install
    dest = prefix+"lib/pip"

    # make sure we use the right python (distutils rewrites the shebang)
    # also adds the pip lib path to the PYTHONPATH
    (bin+'pip').write(script(dest))

    # FIXME? If we use /usr/bin/env python in the pip script
    # then should we be hardcoding this version? I dunno.
    python_version = `python -V 2>&1`.match('Python (\d+\.\d+)').captures.at(0)

    dest.install('pip')
    cp 'pip.egg-info/PKG-INFO', "#{dest}/pip-#{version}-py#{python_version}.egg-info"
  end

  def two_line_instructions
    "pip installs packages. Python packages.\n"+
    "Run 'pip help' to see a list of commands."
  end

  def caveats
    # I'm going to add a proper two_line_instructions formula function at some point
    two_line_instructions
  end
end

__END__
diff --git a/pip/baseparser.py b/pip/baseparser.py
index 149c52d..82ffa46 100755
--- a/pip/baseparser.py
+++ b/pip/baseparser.py
@@ -186,7 +186,7 @@ parser.add_option(
     '--local-log', '--log-file',
     dest='log_file',
     metavar='FILENAME',
-    default=default_log_file,
+    default=os.path.expanduser(os.path.join('~', 'Library', 'Logs', 'pip.log')),
     help=optparse.SUPPRESS_HELP)
 
 parser.add_option(
diff --git a/pip/locations.py b/pip/locations.py
index bd70d92..e517292 100755
--- a/pip/locations.py
+++ b/pip/locations.py
@@ -4,19 +4,20 @@ import sys
 import os
 from distutils import sysconfig
 
+user_dir = os.path.expanduser('~')
+
 if getattr(sys, 'real_prefix', None):
     ## FIXME: is build/ a good name?
     build_prefix = os.path.join(sys.prefix, 'build')
     src_prefix = os.path.join(sys.prefix, 'src')
 else:
-    ## FIXME: this isn't a very good default
-    build_prefix = os.path.join(os.getcwd(), 'build')
-    src_prefix = os.path.join(os.getcwd(), 'src')
+    build_prefix = user_dir + '/.pip/build'
+    src_prefix = user_dir + '/.pip/sources'
 
 # FIXME doesn't account for venv linked to global site-packages
 
 site_packages = sysconfig.get_python_lib()
-user_dir = os.path.expanduser('~')
+
 if sys.platform == 'win32':
     bin_py = os.path.join(sys.prefix, 'Scripts')
     # buildout uses 'bin' on Windows too?