blob: 246fbec2e780b40bece343a98042c92cd11652d0 (
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
|
require "language/python"
class PythonDependency < Requirement
fatal true
default_formula "python"
satisfy :build_env => false do
python = which_python
next unless python
version = python_short_version
next unless version
# Always use Python 2.7 for consistency on older versions of OSX.
version == Version.new("2.7")
end
def modify_build_environment
if system_python?
if python_binary == "python"
version = python_short_version
ENV["PYTHONPATH"] = "#{HOMEBREW_PREFIX}/lib/python#{version}/site-packages"
end
elsif which_python
ENV.prepend_path "PATH", which_python.dirname
end
end
def python_short_version
@short_version ||= Language::Python.major_minor_version which_python
end
def which_python
python = which python_binary
return unless python
executable = `#{python} -c "import sys; print(sys.executable)"`.strip
return unless executable
Pathname.new executable
end
def system_python; "/usr/bin/#{python_binary}" end
def system_python?; system_python == which_python.to_s end
def python_binary; "python" end
# Deprecated
alias_method :to_s, :python_binary
end
class Python3Dependency < PythonDependency
fatal true
default_formula "python3"
satisfy(:build_env => false) { which_python }
def python_binary; "python3" end
end
|