forked from rjocoleman/homebrew-apache
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mod_wsgi.rb
67 lines (55 loc) · 1.99 KB
/
mod_wsgi.rb
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
require 'formula'
class ModWsgi < Formula
homepage 'http://modwsgi.readthedocs.org/en/latest/'
url 'https://github.com/GrahamDumpleton/mod_wsgi/archive/3.5.tar.gz'
sha1 '57552287ced75e5fd0b2b00fb186f963f9c4236b'
head 'https://github.com/GrahamDumpleton/mod_wsgi.git'
option 'with-brewed-httpd22', 'Use Homebrew Apache httpd 2.2'
option 'with-brewed-httpd24', 'Use Homebrew Apache httpd 2.4'
option 'with-brewed-python', 'Use Homebrew python'
depends_on 'httpd22' if build.with? 'brewed-httpd22'
depends_on 'httpd24' if build.with? 'brewed-httpd24'
depends_on 'python' if build.with? 'brewed-python'
def apache_apxs
if build.with? 'brewed-httpd22'
['sbin', 'bin'].each do |dir|
if File.exist?(location = "#{Formula['httpd22'].opt_prefix}/#{dir}/apxs")
return location
end
end
elsif build.with? 'brewed-httpd24'
['sbin', 'bin'].each do |dir|
if File.exist?(location = "#{Formula['httpd24'].opt_prefix}/#{dir}/apxs")
return location
end
end
else
'/usr/sbin/apxs'
end
end
def apache_configdir
if build.with? 'brewed-httpd22'
"#{etc}/apache2/2.2"
elsif build.with? 'brewed-httpd24'
"#{etc}/apache2/2.4"
else
'/etc/apache2'
end
end
def install
args = "--prefix=#{prefix}", '--disable-framework'
args << "--with-apxs=#{apache_apxs}"
args << "--with-python=#{HOMEBREW_PREFIX}/bin/python" if build.with? 'brewed-python'
system './configure', *args
system 'make'
libexec.install '.libs/mod_wsgi.so'
end
def caveats; <<-EOS.undent
You must manually edit #{apache_configdir}/httpd.conf to include
LoadModule wsgi_module #{libexec}/mod_wsgi.so
NOTE: If you're _NOT_ using --with-brewed-httpd22 or --with-brewed-httpd24 and having
installation problems relating to a missing `cc` compiler and `OSX#{MACOS_VERSION}.xctoolchain`,
read the "Troubleshooting" section of https://github.com/Homebrew/homebrew-apache
EOS
end
end