diff --git a/Library/Formula/povray.rb b/Library/Formula/povray.rb index fe75174fa735..cab2f619790a 100644 --- a/Library/Formula/povray.rb +++ b/Library/Formula/povray.rb @@ -1,37 +1,64 @@ require 'formula' +class NeedsLion < Requirement + fatal true + satisfy MacOS.version >= :lion + + def message; <<-EOS.undent + PovRay 3.7.0.RC6 requires Mac OS X 10.7 or newer. + To install on Leopard or Snow Leopard: + brew tap homebrew/versions + brew install povray36 + EOS + end +end + class Povray < Formula - url 'http://www.povray.org/ftp/pub/povray/Official/Unix/povray-3.6.1.tar.bz2' homepage 'http://www.povray.org/' - sha1 '1fab3ccbdedafbf77e3a66087709bbdf60bc643d' - - depends_on 'libtiff' => :optional - depends_on 'jpeg' => :optional + url 'http://www.povray.org/beta/source/povray-3.7.0.RC6.tar.gz' + version '3.7.0.RC6' + sha256 '374957bdb90fb7be5f36f839b3f04ab0a4340f6e8cf369f658d6592a342803e3' - # TODO give this a build number (2326?) - fails_with :llvm do - cause "povray fails with 'terminate called after throwing an instance of int'" - end if MacOS.version == :leopard + depends_on NeedsLion.new + depends_on :libpng + depends_on 'boost' + depends_on 'jpeg' + depends_on 'libtiff' + depends_on 'openexr' => :optional def patches - # povray has issues determining libpng version; can't get it to compile - # against system libpng, but it works with its internal libpng. - # Look at this again on the next povray version bump! - {:p0 => "https://trac.macports.org/export/97719/trunk/dports/graphics/povray/files/patch-configure"} + {:p0 => [ + "http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-boost-1.50.diff", + "http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-configure-stat.diff", + "http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-lseek64.diff", + "http://svn.macports.org/repository/macports/trunk/dports/graphics/povray/files/patch-vfe-uint.diff" + ]} end def install - system "./configure", "--disable-debug", "--disable-dependency-tracking", - "COMPILED_BY=homebrew", - "--prefix=#{prefix}", - "--mandir=#{man}" + + # while this is RC6, the code still says RC5, so update to reflect that + inreplace [ 'VERSION', 'configure' ], '3.7.0.RC5', '3.7.0.RC6' + + # include the boost system library to resolve compilation conflicts + ENV["LIBS"] = "-lboost_system-mt" + + args = [ + "COMPILED_BY=homebrew", + "--disable-debug", + "--disable-dependency-tracking", + "--prefix=#{prefix}", + "--mandir=#{man}", + ] + + args << "--with-openexr=${HOMEBREW_PREFIX}" if build.include? "use-openexr" + + system "./configure", *args system "make install" end - def test + test do ohai "Rendering all test scenes; this may take a while" - mktemp do - system "#{share}/povray-3.6/scripts/allscene.sh", "-o", "." - end + system "#{share}/povray-3.7/scripts/allscene.sh", "-o", "." end end