homebrew-core/Formula/ansible.rb

92 lines
3 KiB
Ruby
Raw Normal View History

require 'formula'
class Ansible < Formula
homepage 'http://www.ansible.com/home'
url 'http://releases.ansible.com/ansible/ansible-1.5.5.tar.gz'
sha1 '9a065eac0d15413284c8c7f9f5047d7b1249f16c'
2014-02-06 19:27:43 +00:00
head 'https://github.com/ansible/ansible.git', :branch => 'devel'
depends_on :python
depends_on 'libyaml'
option 'with-accelerate', "Enable accelerated mode"
2013-10-30 18:59:06 +00:00
resource 'pycrypto' do
url 'https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.tar.gz'
sha1 'c17e41a80b3fbf2ee4e8f2d8bb9e28c5d08bbb84'
end
resource 'pyyaml' do
url 'https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz'
sha1 '476dcfbcc6f4ebf3c06186229e8e2bd7d7b20e73'
end
resource 'paramiko' do
url 'https://pypi.python.org/packages/source/p/paramiko/paramiko-1.11.0.tar.gz'
sha1 'fd925569b9f0b1bd32ce6575235d152616e64e46'
end
resource 'markupsafe' do
url 'https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.18.tar.gz'
sha1 '9fe11891773f922a8b92e83c8f48edeb2f68631e'
end
resource 'jinja2' do
url 'https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.1.tar.gz'
sha1 'a9b24d887f2be772921b3ee30a0b9d435cffadda'
end
if build.with? 'accelerate'
resource 'python-keyczar' do
url 'https://pypi.python.org/packages/source/p/python-keyczar/python-keyczar-0.71b.tar.gz'
sha1 '20c7c5d54c0ce79262092b4cc691aa309fb277fa'
end
end
def install
2014-01-04 13:01:30 +00:00
ENV.prepend_create_path 'PYTHONPATH', libexec+'lib/python2.7/site-packages'
2014-05-01 16:08:37 +00:00
# HEAD additionally requires this to be present in PYTHONPATH, or else
# ansible's own setup.py will fail.
ENV.prepend_create_path 'PYTHONPATH', prefix+'lib/python2.7/site-packages'
install_args = [ "setup.py", "install", "--prefix=#{libexec}" ]
# pycrypto's C bindings use flags unrecognized by clang,
# but since it doesn't use a makefile arg refurbishment
# is normally not enabled.
# See https://github.com/Homebrew/homebrew/issues/27639
ENV.append 'HOMEBREW_CCCFG', 'O'
2014-01-04 13:01:30 +00:00
resource('pycrypto').stage { system "python", *install_args }
resource('pyyaml').stage { system "python", *install_args }
resource('paramiko').stage { system "python", *install_args }
resource('markupsafe').stage { system "python", *install_args }
resource('jinja2').stage { system "python", *install_args }
if build.with? 'accelerate'
resource('python-keyczar').stage { system "python", *install_args }
end
inreplace 'lib/ansible/constants.py' do |s|
s.gsub! '/usr/share/ansible', share+'ansible'
s.gsub! '/etc/ansible', etc+'ansible'
end
2014-01-04 13:01:30 +00:00
system "python", "setup.py", "install", "--prefix=#{prefix}"
2014-05-01 16:08:37 +00:00
# HEAD version installs some conflicting extra cruft
if build.head?
rm Dir["#{bin}/easy_install*"]
rm "#{lib}/python2.7/site-packages/site.py"
rm Dir["#{lib}/python2.7/site-packages/*.pth"]
end
man1.install Dir['docs/man/man1/*.1']
2014-01-04 13:01:30 +00:00
bin.env_script_all_files(libexec+'bin', :PYTHONPATH => ENV['PYTHONPATH'])
end
2014-01-04 13:01:30 +00:00
test do
system "#{bin}/ansible", "--version"
end
end