homebrew-core/Formula/open-babel.rb
Fredrik Wallner e741373b6c open-babel: 2.3.2 patch to fix pybel's Molecule.draw + fix for Cairo
Added a patch that fixes Molecule.draw() in pybel.py (similar to upstream commit df59c4a630cf753723d1318c40479d48b7507e1c)
Also fixed the inclusion of the Cairo library and includes. Earlier the CMake directives were poiting to locations within the
open-babel installation. There also seemed to be a confusion between strings and arguments, giving cmake problems to understand
the directive.

Closes Homebrew/homebrew#20800.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-06-26 15:26:46 -07:00

63 lines
2.1 KiB
Ruby

require 'formula'
class OpenBabel < Formula
homepage 'http://www.openbabel.org'
url 'http://sourceforge.net/projects/openbabel/files/openbabel/2.3.2/openbabel-2.3.2.tar.gz'
sha1 'b8831a308617d1c78a790479523e43524f07d50d'
option 'with-cairo', 'Support PNG depiction'
option 'with-java', 'Compile Java language bindings'
depends_on 'pkg-config' => :build
depends_on 'cmake' => :build
depends_on :python => :optional
depends_on 'wxmac' => :optional
depends_on 'cairo' => :optional
depends_on 'eigen' if build.with?('python') || build.with?('java')
# Patch to fix Molecule.draw() in pybel in accordance with upstream commit df59c4a630cf753723d1318c40479d48b7507e1c
def patches
"https://gist.github.com/fredrikw/5858168/raw"
end
def install
args = %W[ -DCMAKE_INSTALL_PREFIX=#{prefix} ]
args << "-DJAVA_BINDINGS=ON" if build.with? 'java'
args << "-DBUILD_GUI=ON" if build.with? 'wxmac'
# Looking for Cairo in HOMEBREW_PREFIX
# setting the arguments separately, joining them in one string fails with the 'system "cmake", *args' command
args << "-DCAIRO_INCLUDE_DIRS='#{HOMEBREW_PREFIX}/include/cairo'" if build.with? 'cairo'
args << "-DCAIRO_LIBRARIES='#{HOMEBREW_PREFIX}/lib/libcairo.dylib'" if build.with? 'cairo'
python do
args << "-DPYTHON_BINDINGS=ON"
# For Xcode-only systems, the headers of system's python are inside of Xcode:
args << "-DPYTHON_INCLUDE_DIR='#{python.incdir}'"
# Cmake picks up the system's python dylib, even if we have a brewed one:
args << "-DPYTHON_LIBRARY='#{python.libdir}/lib#{python.xy}.dylib'"
args << "-DPYTHON_PACKAGES_PATH='#{python.site_packages}'"
end
args << '..'
mkdir 'build' do
system "cmake", *args
system "make"
system "make install"
end
python do
python.site_packages.install lib/'openbabel.py', lib/'pybel.py', lib/'_openbabel.so'
end
end
def caveats
s = ''
s += python.standard_caveats if python
s += <<-EOS.undent
Java libraries are installed to #{HOMEBREW_PREFIX}/lib so this path should be
included in the CLASSPATH environment variable.
EOS
end
end